@lwrjs/config 0.9.0-alpha.21 → 0.9.0-alpha.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -118,6 +118,7 @@ var DEFAULT_LWR_CONFIG = {
118
118
  rootDir: DEFAULT_ROOT_DIR,
119
119
  cacheDir: DEFAULT_CACHE_FOLDER,
120
120
  serverMode: MODE,
121
+ minify: null,
121
122
  apiVersion: DEFAULT_API_VERSION,
122
123
  assets: DEFAULT_ASSETS_DIR,
123
124
  assetProviders: DEFAULT_ASSET_PROVIDERS,
@@ -139,5 +140,6 @@ var DEFAULT_LWR_CONFIG = {
139
140
  routeHandlers: {},
140
141
  bundleConfig: getDefaultBundleConfig(MODE),
141
142
  serverType: DEFAULT_SERVER_TYPE,
142
- locker: import_shared_utils.DEFAULT_LWR_LOCKER_CONFIG
143
+ locker: import_shared_utils.DEFAULT_LWR_LOCKER_CONFIG,
144
+ experimentalAllowDupeRouteIds: false
143
145
  };
@@ -29,7 +29,7 @@ __export(exports, {
29
29
  });
30
30
  var import_routes = __toModule(require("./utils/routes.cjs"));
31
31
  var import_app_config = __toModule(require("./validation/app-config.cjs"));
32
- async function executeConfigHooks(hooks, globalConfig, runtimeEnvironment, globalData) {
32
+ async function executeConfigHooks(hooks, globalConfig, runtimeEnvironment, globalData, skipValidate = false) {
33
33
  if (!hooks.length) {
34
34
  return;
35
35
  }
@@ -41,9 +41,11 @@ async function executeConfigHooks(hooks, globalConfig, runtimeEnvironment, globa
41
41
  }
42
42
  globalConfig.routes = (0, import_routes.normalizeRoutes)(globalConfig.routes, globalConfig.routeHandlers);
43
43
  globalConfig.errorRoutes = (0, import_routes.normalizeRoutes)(globalConfig.errorRoutes, globalConfig.routeHandlers);
44
- (0, import_app_config.validateLwrAppConfig)(globalConfig, "post");
44
+ if (!skipValidate) {
45
+ (0, import_app_config.validateLwrAppConfig)(globalConfig, "post");
46
+ }
45
47
  }
46
- function executeStartHooks(hooks, globalConfig) {
48
+ function executeStartHooks(hooks, globalConfig, skipValidate = false) {
47
49
  if (!hooks.length) {
48
50
  return;
49
51
  }
@@ -54,5 +56,7 @@ function executeStartHooks(hooks, globalConfig) {
54
56
  hook.onStart(globalConfig.routes);
55
57
  }
56
58
  globalConfig.routes = (0, import_routes.normalizeRoutes)(globalConfig.routes, globalConfig.routeHandlers);
57
- (0, import_app_config.validateLwrAppConfig)(globalConfig, "post");
59
+ if (!skipValidate) {
60
+ (0, import_app_config.validateLwrAppConfig)(globalConfig, "post");
61
+ }
58
62
  }
@@ -24,14 +24,17 @@ var __toModule = (module2) => {
24
24
  // packages/@lwrjs/config/src/index.ts
25
25
  __markAsModule(exports);
26
26
  __export(exports, {
27
+ LWC_VERSION: () => import_package.lwcVersion,
27
28
  LWR_VERSION: () => import_package.version,
28
29
  executeConfigHooks: () => import_hooks.executeConfigHooks,
29
30
  executeStartHooks: () => import_hooks.executeStartHooks,
30
31
  getRuntimeEnvironment: () => import_runtime_config.getRuntimeEnvironment,
31
32
  loadConfig: () => import_global_config.loadConfig,
32
- normalizeConfig: () => import_global_config.resolveGlobalConfig
33
+ normalizeConfig: () => import_global_config.resolveGlobalConfig,
34
+ validateLwrAppConfig: () => import_app_config.validateLwrAppConfig
33
35
  });
34
36
  var import_package = __toModule(require("@lwrjs/config/package"));
35
37
  var import_global_config = __toModule(require("./global-config.cjs"));
36
38
  var import_runtime_config = __toModule(require("./runtime-config.cjs"));
37
39
  var import_hooks = __toModule(require("./hooks.cjs"));
40
+ var import_app_config = __toModule(require("./validation/app-config.cjs"));
@@ -96,9 +96,11 @@ function getServerModeConfig(serverMode) {
96
96
  return selectedMode;
97
97
  }
98
98
  function getRuntimeEnvironment(config) {
99
- const {serverMode, lwrVersion, apiVersion, basePath} = config;
99
+ const {serverMode, lwrVersion, apiVersion, basePath, minify} = config;
100
+ const serverModeConfig = getServerModeConfig(config.serverMode);
100
101
  return {
101
- ...getServerModeConfig(config.serverMode),
102
+ ...serverModeConfig,
103
+ minify: minify !== null ? minify : serverModeConfig.minify,
102
104
  featureFlags: (0, import_shared_utils.getFeatureFlags)(),
103
105
  serverMode,
104
106
  lwrVersion,
@@ -70,9 +70,11 @@ var ROOT_ATTRIBUTE_KEYS = createKeys("root", [
70
70
  "routeHandlers",
71
71
  "routes",
72
72
  "serverMode",
73
+ "minify",
73
74
  "serverType",
74
75
  "viewProviders",
75
- "viewTransformers"
76
+ "viewTransformers",
77
+ "experimentalAllowDupeRouteIds"
76
78
  ]);
77
79
  var ASSET_DIR_ATTRIBUTE_KEYS = createKeys("assetDir", ["alias", "dir", "urlPath"]);
78
80
  var ASSET_FILE_ATTRIBUTE_KEYS = createKeys("assetFile", ["alias", "file", "urlPath"]);
@@ -149,7 +149,10 @@ function validateRoot(node, validationContext, preMerge) {
149
149
  !preMerge && validationContext.assertRequiredKeys(node, "root", import_app_config_context.ROOT_ATTRIBUTE_KEYS);
150
150
  const routes = (0, import_jsonc_parser.findNodeAtLocation)(node, ["routes"]);
151
151
  const errorRoutes = (0, import_jsonc_parser.findNodeAtLocation)(node, ["errorRoutes"]);
152
- validationContext.assertUniqueIds([...routes?.children || [], ...errorRoutes?.children || []], "routes");
152
+ const experimentalAllowDupeRouteIds = (0, import_jsonc_parser.findNodeAtLocation)(node, ["experimentalAllowDupeRouteIds"]);
153
+ if (experimentalAllowDupeRouteIds?.value !== true) {
154
+ validationContext.assertUniqueIds([...routes?.children || [], ...errorRoutes?.children || []], "routes");
155
+ }
153
156
  validateRoutes(routes, validationContext, preMerge);
154
157
  validateErrorRoutes(errorRoutes, validationContext);
155
158
  validateRouteHandlers((0, import_jsonc_parser.findNodeAtLocation)(node, ["routeHandlers"]), validationContext);
@@ -86,6 +86,7 @@ export const DEFAULT_LWR_CONFIG = {
86
86
  rootDir: DEFAULT_ROOT_DIR,
87
87
  cacheDir: DEFAULT_CACHE_FOLDER,
88
88
  serverMode: MODE,
89
+ minify: null,
89
90
  apiVersion: DEFAULT_API_VERSION,
90
91
  assets: DEFAULT_ASSETS_DIR,
91
92
  assetProviders: DEFAULT_ASSET_PROVIDERS,
@@ -108,5 +109,6 @@ export const DEFAULT_LWR_CONFIG = {
108
109
  bundleConfig: getDefaultBundleConfig(MODE),
109
110
  serverType: DEFAULT_SERVER_TYPE,
110
111
  locker: DEFAULT_LWR_LOCKER_CONFIG,
112
+ experimentalAllowDupeRouteIds: false,
111
113
  };
112
114
  //# sourceMappingURL=defaults.js.map
@@ -13,7 +13,7 @@ import type { GlobalData, HooksPlugin, NormalizedLwrGlobalConfig, RuntimeEnviron
13
13
  * @param runtimeEnvironment - runtime environment resolved from programmatic config and config file
14
14
  * @param globalData - resolved global data
15
15
  */
16
- export declare function executeConfigHooks(hooks: HooksPlugin[], globalConfig: NormalizedLwrGlobalConfig, runtimeEnvironment: RuntimeEnvironment, globalData: GlobalData): Promise<void>;
16
+ export declare function executeConfigHooks(hooks: HooksPlugin[], globalConfig: NormalizedLwrGlobalConfig, runtimeEnvironment: RuntimeEnvironment, globalData: GlobalData, skipValidate?: boolean): Promise<void>;
17
17
  /**
18
18
  * Run `onStart` hooks
19
19
  *
@@ -28,5 +28,5 @@ export declare function executeConfigHooks(hooks: HooksPlugin[], globalConfig: N
28
28
  * @param hooks - hooks plugins
29
29
  * @param globalConfig - global configuration
30
30
  */
31
- export declare function executeStartHooks(hooks: HooksPlugin[], globalConfig: NormalizedLwrGlobalConfig): void;
31
+ export declare function executeStartHooks(hooks: HooksPlugin[], globalConfig: NormalizedLwrGlobalConfig, skipValidate?: boolean): void;
32
32
  //# sourceMappingURL=hooks.d.ts.map
package/build/es/hooks.js CHANGED
@@ -14,7 +14,7 @@ import { validateLwrAppConfig } from './validation/app-config.js';
14
14
  * @param runtimeEnvironment - runtime environment resolved from programmatic config and config file
15
15
  * @param globalData - resolved global data
16
16
  */
17
- export async function executeConfigHooks(hooks, globalConfig, runtimeEnvironment, globalData) {
17
+ export async function executeConfigHooks(hooks, globalConfig, runtimeEnvironment, globalData, skipValidate = false) {
18
18
  if (!hooks.length) {
19
19
  return;
20
20
  }
@@ -27,7 +27,9 @@ export async function executeConfigHooks(hooks, globalConfig, runtimeEnvironment
27
27
  }
28
28
  globalConfig.routes = normalizeRoutes(globalConfig.routes, globalConfig.routeHandlers);
29
29
  globalConfig.errorRoutes = normalizeRoutes(globalConfig.errorRoutes, globalConfig.routeHandlers);
30
- validateLwrAppConfig(globalConfig, 'post');
30
+ if (!skipValidate) {
31
+ validateLwrAppConfig(globalConfig, 'post');
32
+ }
31
33
  }
32
34
  /**
33
35
  * Run `onStart` hooks
@@ -43,7 +45,7 @@ export async function executeConfigHooks(hooks, globalConfig, runtimeEnvironment
43
45
  * @param hooks - hooks plugins
44
46
  * @param globalConfig - global configuration
45
47
  */
46
- export function executeStartHooks(hooks, globalConfig) {
48
+ export function executeStartHooks(hooks, globalConfig, skipValidate = false) {
47
49
  if (!hooks.length) {
48
50
  return;
49
51
  }
@@ -54,6 +56,8 @@ export function executeStartHooks(hooks, globalConfig) {
54
56
  hook.onStart(globalConfig.routes);
55
57
  }
56
58
  globalConfig.routes = normalizeRoutes(globalConfig.routes, globalConfig.routeHandlers);
57
- validateLwrAppConfig(globalConfig, 'post');
59
+ if (!skipValidate) {
60
+ validateLwrAppConfig(globalConfig, 'post');
61
+ }
58
62
  }
59
63
  //# sourceMappingURL=hooks.js.map
@@ -1,5 +1,6 @@
1
- export { version as LWR_VERSION } from '@lwrjs/config/package';
1
+ export { version as LWR_VERSION, lwcVersion as LWC_VERSION } from '@lwrjs/config/package';
2
2
  export { loadConfig, resolveGlobalConfig as normalizeConfig } from './global-config.js';
3
3
  export { getRuntimeEnvironment } from './runtime-config.js';
4
4
  export { executeConfigHooks, executeStartHooks } from './hooks.js';
5
+ export { validateLwrAppConfig } from './validation/app-config.js';
5
6
  //# sourceMappingURL=index.d.ts.map
package/build/es/index.js CHANGED
@@ -1,5 +1,6 @@
1
- export { version as LWR_VERSION } from '@lwrjs/config/package';
1
+ export { version as LWR_VERSION, lwcVersion as LWC_VERSION } from '@lwrjs/config/package';
2
2
  export { loadConfig, resolveGlobalConfig as normalizeConfig } from './global-config.js';
3
3
  export { getRuntimeEnvironment } from './runtime-config.js';
4
4
  export { executeConfigHooks, executeStartHooks } from './hooks.js';
5
+ export { validateLwrAppConfig } from './validation/app-config.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -80,9 +80,11 @@ export function getServerModeConfig(serverMode) {
80
80
  * @returns {RuntimeEnvironment} the complete runtime environment
81
81
  */
82
82
  export function getRuntimeEnvironment(config) {
83
- const { serverMode, lwrVersion, apiVersion, basePath } = config;
83
+ const { serverMode, lwrVersion, apiVersion, basePath, minify } = config;
84
+ const serverModeConfig = getServerModeConfig(config.serverMode);
84
85
  return {
85
- ...getServerModeConfig(config.serverMode),
86
+ ...serverModeConfig,
87
+ minify: minify !== null ? minify : serverModeConfig.minify,
86
88
  featureFlags: getFeatureFlags(),
87
89
  serverMode,
88
90
  lwrVersion,
@@ -16,7 +16,7 @@ interface ConfigMap {
16
16
  bootstrap: NormalizedLwrAppBootstrapConfig;
17
17
  locker: RequiredLwrLockerConfig;
18
18
  }
19
- export declare const ROOT_ATTRIBUTE_KEYS: ["amdLoader", "apiVersion", "assets", "assetProviders", "assetTransformers", "bundleConfig", "cacheDir", "contentDir", "environment", "errorRoutes", "esmLoader", "staticSiteGenerator", "globalData", "globalDataDir", "hooks", "ignoreLwrConfigFile", "lwrConfigFile", "layoutsDir", "locker", "lwc", "lwrVersion", "moduleProviders", "port", "basePath", "resourceProviders", "rootDir", "routeHandlers", "routes", "serverMode", "serverType", "viewProviders", "viewTransformers"];
19
+ export declare const ROOT_ATTRIBUTE_KEYS: ["amdLoader", "apiVersion", "assets", "assetProviders", "assetTransformers", "bundleConfig", "cacheDir", "contentDir", "environment", "errorRoutes", "esmLoader", "staticSiteGenerator", "globalData", "globalDataDir", "hooks", "ignoreLwrConfigFile", "lwrConfigFile", "layoutsDir", "locker", "lwc", "lwrVersion", "moduleProviders", "port", "basePath", "resourceProviders", "rootDir", "routeHandlers", "routes", "serverMode", "minify", "serverType", "viewProviders", "viewTransformers", "experimentalAllowDupeRouteIds"];
20
20
  export declare const ASSET_DIR_ATTRIBUTE_KEYS: ["alias", "dir", "urlPath"];
21
21
  export declare const ASSET_FILE_ATTRIBUTE_KEYS: ["alias", "file", "urlPath"];
22
22
  export declare const LOCKER_ATTRIBUTE_KEYS: ["enabled", "trustedComponents", "clientOnly"];
@@ -36,9 +36,11 @@ export const ROOT_ATTRIBUTE_KEYS = createKeys('root', [
36
36
  'routeHandlers',
37
37
  'routes',
38
38
  'serverMode',
39
+ 'minify',
39
40
  'serverType',
40
41
  'viewProviders',
41
42
  'viewTransformers',
43
+ 'experimentalAllowDupeRouteIds',
42
44
  ]);
43
45
  export const ASSET_DIR_ATTRIBUTE_KEYS = createKeys('assetDir', ['alias', 'dir', 'urlPath']);
44
46
  export const ASSET_FILE_ATTRIBUTE_KEYS = createKeys('assetFile', ['alias', 'file', 'urlPath']);
@@ -71,6 +71,8 @@ function validateRouteCommon(node, validationContext, propPrefix) {
71
71
  function validateRoutes(node, validationContext, preMerge) {
72
72
  if (node) {
73
73
  // routes may not be defined until after config hooks are applied
74
+ // note: there are 2 "post" hooks (onConfig/onStart) that routes can be applied.
75
+ // We need to ensure that we only validate after the last one (if both are used)
74
76
  if (!preMerge) {
75
77
  validationContext.assertNotEmptyArray(node, 'routes');
76
78
  }
@@ -198,7 +200,10 @@ function validateRoot(node, validationContext, preMerge) {
198
200
  !preMerge && validationContext.assertRequiredKeys(node, 'root', ROOT_ATTRIBUTE_KEYS);
199
201
  const routes = findNode(node, ['routes']);
200
202
  const errorRoutes = findNode(node, ['errorRoutes']);
201
- validationContext.assertUniqueIds([...(routes?.children || []), ...(errorRoutes?.children || [])], 'routes');
203
+ const experimentalAllowDupeRouteIds = findNode(node, ['experimentalAllowDupeRouteIds']);
204
+ if (experimentalAllowDupeRouteIds?.value !== true) {
205
+ validationContext.assertUniqueIds([...(routes?.children || []), ...(errorRoutes?.children || [])], 'routes');
206
+ }
202
207
  validateRoutes(routes, validationContext, preMerge);
203
208
  validateErrorRoutes(errorRoutes, validationContext);
204
209
  validateRouteHandlers(findNode(node, ['routeHandlers']), validationContext);
package/package.cjs CHANGED
@@ -1,7 +1,9 @@
1
1
  const fs = require('fs');
2
2
  const path = require('path');
3
+ const resolve = require('resolve');
3
4
  const rootPath = path.join(__dirname, './');
4
5
 
6
+ // Get the LWR Version
5
7
  let version;
6
8
  if (globalThis.LWR_VERSION) {
7
9
  version = globalThis.LWR_VERSION;
@@ -9,7 +11,18 @@ if (globalThis.LWR_VERSION) {
9
11
  version = JSON.parse(fs.readFileSync(path.join(rootPath, 'package.json'), 'utf-8')).version;
10
12
  }
11
13
 
14
+ // Get the LWC Version
15
+ let lwcVersion;
16
+ if (globalThis.LWC_VERSION) {
17
+ version = globalThis.LWC_VERSION;
18
+ } else {
19
+ const packageJsonPath = resolve.sync(`lwc/package.json`);
20
+ const { version: packageVersion } = JSON.parse(fs.readFileSync(packageJsonPath), 'utf-8');
21
+ lwcVersion = packageVersion;
22
+ }
23
+
12
24
  module.exports = {
13
25
  rootPath,
14
- version
26
+ version,
27
+ lwcVersion
15
28
  };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.9.0-alpha.21",
7
+ "version": "0.9.0-alpha.23",
8
8
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
9
9
  "repository": {
10
10
  "type": "git",
@@ -36,16 +36,19 @@
36
36
  "package.cjs"
37
37
  ],
38
38
  "dependencies": {
39
- "@lwrjs/diagnostics": "0.9.0-alpha.21",
40
- "@lwrjs/shared-utils": "0.9.0-alpha.21",
39
+ "@lwrjs/diagnostics": "0.9.0-alpha.23",
40
+ "@lwrjs/shared-utils": "0.9.0-alpha.23",
41
41
  "fs-extra": "^10.1.0",
42
42
  "jsonc-parser": "^3.0.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@lwrjs/types": "0.9.0-alpha.21"
45
+ "@lwrjs/types": "0.9.0-alpha.23"
46
+ },
47
+ "peerDependencies": {
48
+ "lwc": "2.x"
46
49
  },
47
50
  "engines": {
48
51
  "node": ">=14.15.4 <19"
49
52
  },
50
- "gitHead": "a89adcac80601f657becd6fd734c765e6b2a2745"
53
+ "gitHead": "13106b8a0e5011dfd0fab2e361aa9b518f409fbb"
51
54
  }