From c68bb3b6f775762081287fc3588f3fe609d77ad6 Mon Sep 17 00:00:00 2001 From: cha0s Date: Fri, 29 Dec 2023 02:28:20 -0600 Subject: [PATCH] feat: aliasedConfig --- packages/core/src/server/flecks.js | 16 ++++++++++++++++ packages/web/src/server/index.js | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/core/src/server/flecks.js b/packages/core/src/server/flecks.js index 05723aa..522f8bf 100644 --- a/packages/core/src/server/flecks.js +++ b/packages/core/src/server/flecks.js @@ -40,6 +40,19 @@ export default class ServerFlecks extends Flecks { this.rcs = options.rcs || {}; } + get aliasedConfig() { + const aliases = this.aliases(); + return Object.fromEntries( + Object.entries( + this.config, + ) + .map(([path, config]) => [ + this.fleckIsAliased(path) ? `${path}:${aliases[path]}` : path, + config, + ]), + ); + } + aliases() { return this.constructor.aliases(this.rcs); } @@ -413,6 +426,9 @@ export default class ServerFlecks extends Flecks { resolvedPath = isAbsolute(alias) ? alias : join(resolvedRoot, alias); } else { + if (path.startsWith('.')) { + throw new Error(`non-aliased relative path '${path}' in configuration`); + } resolvedPath = path; } try { diff --git a/packages/web/src/server/index.js b/packages/web/src/server/index.js index 2c58135..0489a4b 100644 --- a/packages/web/src/server/index.js +++ b/packages/web/src/server/index.js @@ -186,7 +186,7 @@ export const hooks = { '@flecks/core.starting': (flecks) => { debug('bootstrapping flecks...'); const webFlecks = Flecks.bootstrap({ - config: flecks.config, + config: flecks.aliasedConfig, platforms: ['client', '!server'], }); debug('bootstrapped');