@lwrjs/config 0.9.0-alpha.22 → 0.9.0-alpha.24

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.
@@ -94,7 +94,7 @@ var DEFAULT_ESM_BUNDLE_EXCLUSIONS = [
94
94
  "lwr/esmLoader",
95
95
  "lwr/profiler"
96
96
  ];
97
- var DEFAULT_AMD_BUNDLE_EXCLUSIONS = ["lwc", "@lwc/synthetic-shadow", "lwr/navigation", "lwr/profiler"];
97
+ var DEFAULT_AMD_BUNDLE_EXCLUSIONS = ["lwc", "lwr/navigation", "lwr/profiler"];
98
98
  var DEFAULT_ESM_BUNDLE_EXTERNALS = {};
99
99
  var DEFAULT_AMD_BUNDLE_EXTERNALS = {
100
100
  "lwr/loader": "lwr-loader-shim.bundle.min.js"
@@ -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,
@@ -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
  }
@@ -30,9 +30,11 @@ __export(exports, {
30
30
  executeStartHooks: () => import_hooks.executeStartHooks,
31
31
  getRuntimeEnvironment: () => import_runtime_config.getRuntimeEnvironment,
32
32
  loadConfig: () => import_global_config.loadConfig,
33
- normalizeConfig: () => import_global_config.resolveGlobalConfig
33
+ normalizeConfig: () => import_global_config.resolveGlobalConfig,
34
+ validateLwrAppConfig: () => import_app_config.validateLwrAppConfig
34
35
  });
35
36
  var import_package = __toModule(require("@lwrjs/config/package"));
36
37
  var import_global_config = __toModule(require("./global-config.cjs"));
37
38
  var import_runtime_config = __toModule(require("./runtime-config.cjs"));
38
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,6 +70,7 @@ var ROOT_ATTRIBUTE_KEYS = createKeys("root", [
70
70
  "routeHandlers",
71
71
  "routes",
72
72
  "serverMode",
73
+ "minify",
73
74
  "serverType",
74
75
  "viewProviders",
75
76
  "viewTransformers"
@@ -108,7 +109,8 @@ var BOOTSTRAP_ATTRIBUTE_KEYS = createKeys("bootstrap", [
108
109
  "workers",
109
110
  "services",
110
111
  "configAsSrc",
111
- "ssr"
112
+ "ssr",
113
+ "module"
112
114
  ]);
113
115
  var SPECIFIER_REGEX = /^@?[\w-]+(\/[\w-]+)*$/;
114
116
  function isNotEmptyString(node) {
@@ -44,6 +44,7 @@ function validateBootstrap(node, validationContext, propPrefix) {
44
44
  validationContext.assertIsBoolean((0, import_jsonc_parser.findNodeAtLocation)(node, ["autoBoot"]), `${propPrefix}.autoBoot`);
45
45
  validationContext.assertIsBoolean((0, import_jsonc_parser.findNodeAtLocation)(node, ["ssr"]), `${propPrefix}.ssr`);
46
46
  validationContext.assertIsBoolean((0, import_jsonc_parser.findNodeAtLocation)(node, ["configAsSrc"]), `${propPrefix}.configAsSrc`);
47
+ validationContext.assertIsSpecifier((0, import_jsonc_parser.findNodeAtLocation)(node, ["module"]), `${propPrefix}.module`);
47
48
  validationContext.assertIsBoolean((0, import_jsonc_parser.findNodeAtLocation)(node, ["syntheticShadow"]), `${propPrefix}.syntheticShadow`);
48
49
  const workers = (0, import_jsonc_parser.findNodeAtLocation)(node, ["workers"]);
49
50
  if (workers && workers.children) {
@@ -58,7 +58,7 @@ const DEFAULT_ESM_BUNDLE_EXCLUSIONS = [
58
58
  'lwr/esmLoader',
59
59
  'lwr/profiler',
60
60
  ];
61
- const DEFAULT_AMD_BUNDLE_EXCLUSIONS = ['lwc', '@lwc/synthetic-shadow', 'lwr/navigation', 'lwr/profiler'];
61
+ const DEFAULT_AMD_BUNDLE_EXCLUSIONS = ['lwc', 'lwr/navigation', 'lwr/profiler'];
62
62
  const DEFAULT_ESM_BUNDLE_EXTERNALS = {};
63
63
  const DEFAULT_AMD_BUNDLE_EXTERNALS = {
64
64
  'lwr/loader': 'lwr-loader-shim.bundle.min.js',
@@ -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,
@@ -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
@@ -2,4 +2,5 @@ export { version as LWR_VERSION, lwcVersion as LWC_VERSION } from '@lwrjs/config
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
@@ -2,4 +2,5 @@ export { version as LWR_VERSION, lwcVersion as LWC_VERSION } from '@lwrjs/config
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,13 +16,13 @@ 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"];
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"];
23
23
  export declare const ROUTE_ATTRIBUTE_KEYS: ["bootstrap", "subRoutes", "contentTemplate", "id", "cache", "layoutTemplate", "method", "path", "rootComponent", "routeHandler", "properties"];
24
24
  export declare const ERROR_ROUTE_ATTRIBUTE_KEYS: ["bootstrap", "subRoutes", "contentTemplate", "id", "layoutTemplate", "rootComponent", "routeHandler", "status", "properties", "cache"];
25
- export declare const BOOTSTRAP_ATTRIBUTE_KEYS: ["autoBoot", "syntheticShadow", "workers", "services", "configAsSrc", "ssr"];
25
+ export declare const BOOTSTRAP_ATTRIBUTE_KEYS: ["autoBoot", "syntheticShadow", "workers", "services", "configAsSrc", "ssr", "module"];
26
26
  export declare const BASE_PATH_REGEX: RegExp;
27
27
  export declare class ValidationContext {
28
28
  diagnostics: Diagnostic[];
@@ -36,6 +36,7 @@ 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',
@@ -75,6 +76,7 @@ export const BOOTSTRAP_ATTRIBUTE_KEYS = createKeys('bootstrap', [
75
76
  'services',
76
77
  'configAsSrc',
77
78
  'ssr',
79
+ 'module',
78
80
  ]);
79
81
  const SPECIFIER_REGEX = /^@?[\w-]+(\/[\w-]+)*$/;
80
82
  function isNotEmptyString(node) {
@@ -13,7 +13,9 @@ export const SOURCE_BY_PHASE = {
13
13
  * - autoBoot: optional boolean
14
14
  * - syntheticShadow: optional boolean
15
15
  * - workers: optional map of string:specifier pairs
16
+ * - ssr: optional boolean
16
17
  * - configAsSrc: optional boolean to include the client bootstrap config as src via in-lined
18
+ * - module: optional string specifier
17
19
  */
18
20
  function validateBootstrap(node, validationContext, propPrefix) {
19
21
  if (node) {
@@ -23,6 +25,7 @@ function validateBootstrap(node, validationContext, propPrefix) {
23
25
  validationContext.assertIsBoolean(findNode(node, ['autoBoot']), `${propPrefix}.autoBoot`);
24
26
  validationContext.assertIsBoolean(findNode(node, ['ssr']), `${propPrefix}.ssr`);
25
27
  validationContext.assertIsBoolean(findNode(node, ['configAsSrc']), `${propPrefix}.configAsSrc`);
28
+ validationContext.assertIsSpecifier(findNode(node, ['module']), `${propPrefix}.module`);
26
29
  validationContext.assertIsBoolean(findNode(node, ['syntheticShadow']), `${propPrefix}.syntheticShadow`);
27
30
  // Each value in the worker map msut be a specifier
28
31
  const workers = findNode(node, ['workers']);
@@ -71,6 +74,8 @@ function validateRouteCommon(node, validationContext, propPrefix) {
71
74
  function validateRoutes(node, validationContext, preMerge) {
72
75
  if (node) {
73
76
  // routes may not be defined until after config hooks are applied
77
+ // note: there are 2 "post" hooks (onConfig/onStart) that routes can be applied.
78
+ // We need to ensure that we only validate after the last one (if both are used)
74
79
  if (!preMerge) {
75
80
  validationContext.assertNotEmptyArray(node, 'routes');
76
81
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.9.0-alpha.22",
7
+ "version": "0.9.0-alpha.24",
8
8
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
9
9
  "repository": {
10
10
  "type": "git",
@@ -36,19 +36,19 @@
36
36
  "package.cjs"
37
37
  ],
38
38
  "dependencies": {
39
- "@lwrjs/diagnostics": "0.9.0-alpha.22",
40
- "@lwrjs/shared-utils": "0.9.0-alpha.22",
39
+ "@lwrjs/diagnostics": "0.9.0-alpha.24",
40
+ "@lwrjs/shared-utils": "0.9.0-alpha.24",
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.22"
45
+ "@lwrjs/types": "0.9.0-alpha.24"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "lwc": "2.x"
49
49
  },
50
50
  "engines": {
51
- "node": ">=14.15.4 <19"
51
+ "node": ">=16.0.0 <20"
52
52
  },
53
- "gitHead": "d7e7a6e84df652a09d78b9b0fadca271a438a01c"
53
+ "gitHead": "94326d9e8c80254cfab9c17b2235b10fdee13b4d"
54
54
  }