@lwrjs/config 0.9.0-alpha.8 → 0.9.0
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.
- package/build/cjs/defaults.cjs +40 -10
- package/build/cjs/{env-config.cjs → global-config.cjs} +75 -22
- package/build/cjs/hooks.cjs +69 -0
- package/build/cjs/index.cjs +11 -3
- package/build/cjs/modules.cjs +92 -0
- package/build/cjs/runtime-config.cjs +22 -3
- package/build/cjs/utils/global-data.cjs +54 -0
- package/build/cjs/utils/merge.cjs +22 -8
- package/build/cjs/utils/routes.cjs +30 -12
- package/build/cjs/validation/app-config-context.cjs +6 -2
- package/build/cjs/validation/app-config.cjs +18 -7
- package/build/es/defaults.d.ts +7 -2
- package/build/es/defaults.js +41 -9
- package/build/es/global-config.d.ts +65 -0
- package/build/es/{env-config.js → global-config.js} +96 -16
- package/build/es/hooks.d.ts +32 -0
- package/build/es/hooks.js +70 -0
- package/build/es/index.d.ts +5 -4
- package/build/es/index.js +5 -5
- package/build/es/modules.d.ts +32 -0
- package/build/es/modules.js +92 -0
- package/build/es/runtime-config.d.ts +12 -5
- package/build/es/runtime-config.js +30 -6
- package/build/es/utils/global-data.d.ts +3 -0
- package/build/es/utils/global-data.js +29 -0
- package/build/es/utils/merge.d.ts +1 -1
- package/build/es/utils/merge.js +28 -9
- package/build/es/utils/routes.d.ts +3 -2
- package/build/es/utils/routes.js +33 -16
- package/build/es/validation/app-config-context.d.ts +4 -3
- package/build/es/validation/app-config-context.js +5 -1
- package/build/es/validation/app-config.d.ts +2 -2
- package/build/es/validation/app-config.js +25 -9
- package/package.cjs +21 -2
- package/package.json +16 -9
- package/build/es/env-config.d.ts +0 -22
package/build/cjs/defaults.cjs
CHANGED
|
@@ -26,7 +26,6 @@ __markAsModule(exports);
|
|
|
26
26
|
__export(exports, {
|
|
27
27
|
DEFAULT_AMD_LOADER: () => DEFAULT_AMD_LOADER,
|
|
28
28
|
DEFAULT_AMD_LOADER_LEGACY: () => DEFAULT_AMD_LOADER_LEGACY,
|
|
29
|
-
DEFAULT_BUNDLE_EXCLUSIONS: () => DEFAULT_BUNDLE_EXCLUSIONS,
|
|
30
29
|
DEFAULT_ESM_LOADER: () => DEFAULT_ESM_LOADER,
|
|
31
30
|
DEFAULT_GENERATOR_CONFIG: () => DEFAULT_GENERATOR_CONFIG,
|
|
32
31
|
DEFAULT_LWR_CONFIG: () => DEFAULT_LWR_CONFIG,
|
|
@@ -34,20 +33,27 @@ __export(exports, {
|
|
|
34
33
|
DEFAULT_LWR_MODULES: () => DEFAULT_LWR_MODULES,
|
|
35
34
|
DEFAULT_ROOT_DIR: () => DEFAULT_ROOT_DIR,
|
|
36
35
|
DEFAULT_SERVICE_PACKAGE_NAME: () => DEFAULT_SERVICE_PACKAGE_NAME,
|
|
37
|
-
LWR_VERSION: () => LWR_VERSION
|
|
36
|
+
LWR_VERSION: () => LWR_VERSION,
|
|
37
|
+
SSR_MODULE_PROVIDER: () => SSR_MODULE_PROVIDER,
|
|
38
|
+
SSR_VIEW_TRANSFORM_PLUGIN: () => SSR_VIEW_TRANSFORM_PLUGIN,
|
|
39
|
+
getDefaultBundleConfig: () => getDefaultBundleConfig
|
|
38
40
|
});
|
|
39
41
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
40
42
|
var import_package = __toModule(require("@lwrjs/config/package"));
|
|
43
|
+
var import_runtime_config = __toModule(require("./runtime-config.cjs"));
|
|
41
44
|
var PORT = process.env.PORT ? parseInt(process.env.PORT, 10) : 3e3;
|
|
42
|
-
var MODE = process.env.MODE || "
|
|
45
|
+
var MODE = process.env.MODE || "prod";
|
|
43
46
|
var DEFAULT_BASE_PATH = "";
|
|
44
47
|
var DEFAULT_API_VERSION = "1";
|
|
45
48
|
var LWR_VERSION = import_package.version;
|
|
46
49
|
var DEFAULT_SERVER_TYPE = "express";
|
|
47
50
|
var DEFAULT_LWR_CONFIG_JSON = "$rootDir/lwr.config.json";
|
|
48
51
|
var DEFAULT_GENERATOR_CONFIG = {
|
|
49
|
-
outputDir: "
|
|
52
|
+
outputDir: "site",
|
|
50
53
|
locales: ["en-US"],
|
|
54
|
+
skipCleanOutputDir: false,
|
|
55
|
+
skipBaseDocumentGeneration: false,
|
|
56
|
+
_additionalModules: [],
|
|
51
57
|
_additionalRoutePaths: []
|
|
52
58
|
};
|
|
53
59
|
var DEFAULT_ROOT_DIR = process.cwd();
|
|
@@ -58,11 +64,11 @@ var DEFAULT_LAYOUTS_DIR = "$rootDir/src/layouts";
|
|
|
58
64
|
var DEFAULT_DATA_DIR = "$rootDir/src/data";
|
|
59
65
|
var DEFAULT_MODULE_PROVIDERS = [
|
|
60
66
|
"@lwrjs/app-service/moduleProvider",
|
|
61
|
-
"@lwrjs/lwc-ssr/moduleProvider",
|
|
62
67
|
"@lwrjs/router/module-provider",
|
|
63
68
|
"@lwrjs/lwc-module-provider",
|
|
64
69
|
"@lwrjs/npm-module-provider"
|
|
65
70
|
];
|
|
71
|
+
var SSR_MODULE_PROVIDER = "@lwrjs/lwc-ssr/moduleProvider";
|
|
66
72
|
var DEFAULT_RESOURCE_PROVIDERS = ["@lwrjs/loader"];
|
|
67
73
|
var DEFAULT_VIEW_PROVIDERS = [
|
|
68
74
|
"@lwrjs/nunjucks-view-provider",
|
|
@@ -70,10 +76,14 @@ var DEFAULT_VIEW_PROVIDERS = [
|
|
|
70
76
|
"@lwrjs/markdown-view-provider",
|
|
71
77
|
"@lwrjs/base-view-provider"
|
|
72
78
|
];
|
|
73
|
-
var
|
|
79
|
+
var DEFAULT_BUNDLE_PROVIDERS = [
|
|
80
|
+
"@lwrjs/module-bundler/amd-bundle-provider",
|
|
81
|
+
"@lwrjs/module-bundler/esm-bundle-provider"
|
|
82
|
+
];
|
|
83
|
+
var DEFAULT_VIEW_TRANSFORM_PLUGINS = ["@lwrjs/base-view-transformer"];
|
|
84
|
+
var SSR_VIEW_TRANSFORM_PLUGIN = "@lwrjs/lwc-ssr/viewTransformer";
|
|
74
85
|
var DEFAULT_ASSET_PROVIDERS = ["@lwrjs/fs-asset-provider"];
|
|
75
86
|
var DEFAULT_ASSET_TRANSFORM_PLUGINS = ["@lwrjs/asset-transformer"];
|
|
76
|
-
var DEFAULT_TEMPLATE_ENGINE = "@lwrjs/base-template-engine";
|
|
77
87
|
var DEFAULT_AMD_LOADER = "lwr/loader";
|
|
78
88
|
var DEFAULT_AMD_LOADER_LEGACY = "lwr/loaderLegacy";
|
|
79
89
|
var DEFAULT_ESM_LOADER = "lwr/esmLoader";
|
|
@@ -86,13 +96,31 @@ var DEFAULT_LWR_MODULES = [
|
|
|
86
96
|
{npm: "@lwrjs/router"},
|
|
87
97
|
{npm: "@lwc/synthetic-shadow"}
|
|
88
98
|
];
|
|
89
|
-
var
|
|
99
|
+
var DEFAULT_ESM_BUNDLE_EXCLUSIONS = [
|
|
90
100
|
"lwc",
|
|
91
101
|
"@lwc/synthetic-shadow",
|
|
92
102
|
"lwr/navigation",
|
|
93
103
|
"lwr/esmLoader",
|
|
94
104
|
"lwr/profiler"
|
|
95
105
|
];
|
|
106
|
+
var DEFAULT_AMD_BUNDLE_EXCLUSIONS = ["lwc", "lwr/navigation"];
|
|
107
|
+
var DEFAULT_ESM_BUNDLE_EXTERNALS = {};
|
|
108
|
+
var DEFAULT_AMD_BUNDLE_EXTERNALS = {
|
|
109
|
+
"lwr/loader": "lwr-loader-shim.bundle.min.js",
|
|
110
|
+
"lwr/profiler": "lwr-loader-shim.bundle.min.js"
|
|
111
|
+
};
|
|
112
|
+
var DEFAULT_AMD_LEGACY_BUNDLE_EXTERNALS = {
|
|
113
|
+
"lwr/loaderLegacy": "lwr-loader-shim-legacy.bundle.min.js",
|
|
114
|
+
"lwr/profiler": "lwr-loader-shim-legacy.bundle.min.js"
|
|
115
|
+
};
|
|
116
|
+
function getDefaultBundleConfig(mode) {
|
|
117
|
+
const format = (0, import_runtime_config.getServerModeConfig)(mode || MODE).format;
|
|
118
|
+
const loaderLegacy = (0, import_shared_utils.getFeatureFlags)().LEGACY_LOADER;
|
|
119
|
+
return {
|
|
120
|
+
exclude: format === "esm" ? DEFAULT_ESM_BUNDLE_EXCLUSIONS : DEFAULT_AMD_BUNDLE_EXCLUSIONS,
|
|
121
|
+
external: format === "esm" ? DEFAULT_ESM_BUNDLE_EXTERNALS : loaderLegacy ? DEFAULT_AMD_LEGACY_BUNDLE_EXTERNALS : DEFAULT_AMD_BUNDLE_EXTERNALS
|
|
122
|
+
};
|
|
123
|
+
}
|
|
96
124
|
var DEFAULT_LWR_CONFIG = {
|
|
97
125
|
port: PORT,
|
|
98
126
|
ignoreLwrConfigFile: false,
|
|
@@ -101,6 +129,7 @@ var DEFAULT_LWR_CONFIG = {
|
|
|
101
129
|
rootDir: DEFAULT_ROOT_DIR,
|
|
102
130
|
cacheDir: DEFAULT_CACHE_FOLDER,
|
|
103
131
|
serverMode: MODE,
|
|
132
|
+
minify: null,
|
|
104
133
|
apiVersion: DEFAULT_API_VERSION,
|
|
105
134
|
assets: DEFAULT_ASSETS_DIR,
|
|
106
135
|
assetProviders: DEFAULT_ASSET_PROVIDERS,
|
|
@@ -111,16 +140,17 @@ var DEFAULT_LWR_CONFIG = {
|
|
|
111
140
|
globalDataDir: DEFAULT_DATA_DIR,
|
|
112
141
|
globalData: {},
|
|
113
142
|
hooks: [],
|
|
143
|
+
bundleProviders: DEFAULT_BUNDLE_PROVIDERS,
|
|
114
144
|
moduleProviders: DEFAULT_MODULE_PROVIDERS,
|
|
115
145
|
resourceProviders: DEFAULT_RESOURCE_PROVIDERS,
|
|
116
146
|
viewProviders: DEFAULT_VIEW_PROVIDERS,
|
|
117
147
|
viewTransformers: DEFAULT_VIEW_TRANSFORM_PLUGINS,
|
|
118
|
-
templateEngine: DEFAULT_TEMPLATE_ENGINE,
|
|
119
148
|
environment: {},
|
|
120
149
|
lwc: {modules: []},
|
|
121
150
|
routes: [],
|
|
122
151
|
errorRoutes: [],
|
|
123
|
-
|
|
152
|
+
routeHandlers: {},
|
|
153
|
+
bundleConfig: getDefaultBundleConfig(MODE),
|
|
124
154
|
serverType: DEFAULT_SERVER_TYPE,
|
|
125
155
|
locker: import_shared_utils.DEFAULT_LWR_LOCKER_CONFIG
|
|
126
156
|
};
|
|
@@ -21,28 +21,38 @@ var __toModule = (module2) => {
|
|
|
21
21
|
return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
// packages/@lwrjs/config/src/
|
|
24
|
+
// packages/@lwrjs/config/src/global-config.ts
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
|
-
|
|
27
|
+
applySsrConfig: () => applySsrConfig,
|
|
28
|
+
applyStaticProviderConfig: () => applyStaticProviderConfig,
|
|
29
|
+
getLwrConfigFromFile: () => getLwrConfigFromFile,
|
|
30
|
+
loadConfig: () => loadConfig,
|
|
31
|
+
resolveGlobalConfig: () => resolveGlobalConfig
|
|
28
32
|
});
|
|
29
33
|
var import_fs = __toModule(require("fs"));
|
|
30
34
|
var import_path = __toModule(require("path"));
|
|
35
|
+
var import_jsonc_parser = __toModule(require("jsonc-parser"));
|
|
31
36
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
32
37
|
var import_defaults = __toModule(require("./defaults.cjs"));
|
|
38
|
+
var import_defaults2 = __toModule(require("./defaults.cjs"));
|
|
33
39
|
var import_app_config = __toModule(require("./validation/app-config.cjs"));
|
|
34
40
|
var import_assets = __toModule(require("./utils/assets.cjs"));
|
|
35
41
|
var import_services = __toModule(require("./utils/services.cjs"));
|
|
36
42
|
var import_routes = __toModule(require("./utils/routes.cjs"));
|
|
37
43
|
var import_merge = __toModule(require("./utils/merge.cjs"));
|
|
38
44
|
var import_lwc = __toModule(require("./utils/lwc.cjs"));
|
|
39
|
-
|
|
45
|
+
var import_runtime_config = __toModule(require("./runtime-config.cjs"));
|
|
46
|
+
var import_global_data = __toModule(require("./utils/global-data.cjs"));
|
|
47
|
+
function getLwrConfigFromFile(rootDir, lwrConfigPath = import_defaults2.DEFAULT_LWR_CONFIG_JSON) {
|
|
40
48
|
const resolvedLwrConfigPath = import_path.default.resolve((0, import_shared_utils.normalizeDirectory)(lwrConfigPath, rootDir));
|
|
41
49
|
if (!import_fs.default.existsSync(resolvedLwrConfigPath)) {
|
|
42
50
|
import_shared_utils.logger.warn(`LWR Config not found on "${resolvedLwrConfigPath}"`);
|
|
43
51
|
return void 0;
|
|
44
52
|
}
|
|
45
|
-
|
|
53
|
+
const configSource = (0, import_shared_utils.readFile)(resolvedLwrConfigPath);
|
|
54
|
+
(0, import_app_config.validateLwrAppConfig)(configSource, "file");
|
|
55
|
+
return (0, import_jsonc_parser.parse)(configSource);
|
|
46
56
|
}
|
|
47
57
|
function createCacheFolder(cache, rootDir) {
|
|
48
58
|
const cacheDir = (0, import_shared_utils.normalizeDirectory)(cache, rootDir);
|
|
@@ -50,15 +60,15 @@ function createCacheFolder(cache, rootDir) {
|
|
|
50
60
|
import_fs.default.mkdirSync(import_path.default.join(absPath, import_shared_utils.ASSETS_CACHE_DIR), {recursive: true});
|
|
51
61
|
return absPath;
|
|
52
62
|
}
|
|
53
|
-
function
|
|
63
|
+
function mergeConfig(configArg) {
|
|
54
64
|
if (configArg) {
|
|
55
65
|
configArg = (0, import_merge.trimLwrConfig)(configArg);
|
|
56
|
-
(0, import_app_config.validateLwrAppConfig)(
|
|
66
|
+
(0, import_app_config.validateLwrAppConfig)(configArg, "pre");
|
|
57
67
|
}
|
|
58
|
-
const rootDir = import_path.default.resolve(configArg?.rootDir ||
|
|
68
|
+
const rootDir = import_path.default.resolve(configArg?.rootDir || import_defaults2.DEFAULT_ROOT_DIR);
|
|
59
69
|
const configFile = !configArg?.ignoreLwrConfigFile ? getLwrConfigFromFile(rootDir, configArg?.lwrConfigFile) : void 0;
|
|
60
70
|
return {
|
|
61
|
-
...
|
|
71
|
+
...import_defaults2.DEFAULT_LWR_CONFIG,
|
|
62
72
|
...configFile,
|
|
63
73
|
...configArg,
|
|
64
74
|
lwc: (0, import_merge.mergeLwcConfig)(configFile, configArg),
|
|
@@ -69,27 +79,28 @@ function loadConfig(configArg) {
|
|
|
69
79
|
};
|
|
70
80
|
}
|
|
71
81
|
function normalizeConfig(config) {
|
|
72
|
-
const amdLoader = (0, import_shared_utils.getFeatureFlags)().LEGACY_LOADER ?
|
|
82
|
+
const amdLoader = (0, import_shared_utils.getFeatureFlags)().LEGACY_LOADER ? import_defaults2.DEFAULT_AMD_LOADER_LEGACY : import_defaults2.DEFAULT_AMD_LOADER;
|
|
73
83
|
return {
|
|
74
84
|
...config,
|
|
75
85
|
amdLoader,
|
|
76
|
-
esmLoader:
|
|
77
|
-
lwrVersion:
|
|
86
|
+
esmLoader: import_defaults2.DEFAULT_ESM_LOADER,
|
|
87
|
+
lwrVersion: import_defaults2.LWR_VERSION,
|
|
78
88
|
assets: (0, import_assets.normalizeAssets)(config.assets),
|
|
79
89
|
lwc: (0, import_lwc.normalizeLwcConfig)(config.lwc),
|
|
80
90
|
hooks: (0, import_services.normalizeServices)(config.hooks),
|
|
91
|
+
bundleProviders: (0, import_services.normalizeServices)(config.bundleProviders),
|
|
81
92
|
moduleProviders: (0, import_services.normalizeServices)(config.moduleProviders),
|
|
82
93
|
assetProviders: (0, import_services.normalizeServices)(config.assetProviders),
|
|
83
94
|
assetTransformers: (0, import_services.normalizeServices)(config.assetTransformers),
|
|
84
95
|
resourceProviders: (0, import_services.normalizeServices)(config.resourceProviders),
|
|
85
96
|
viewProviders: (0, import_services.normalizeServices)(config.viewProviders),
|
|
86
97
|
viewTransformers: (0, import_services.normalizeServices)(config.viewTransformers),
|
|
87
|
-
routes: (0, import_routes.normalizeRoutes)(config.routes),
|
|
88
|
-
errorRoutes: (0, import_routes.normalizeRoutes)(config.errorRoutes)
|
|
98
|
+
routes: (0, import_routes.normalizeRoutes)(config.routes, config.routeHandlers),
|
|
99
|
+
errorRoutes: (0, import_routes.normalizeRoutes)(config.errorRoutes, config.routeHandlers)
|
|
89
100
|
};
|
|
90
101
|
}
|
|
91
102
|
function normalizeConfigPaths(config) {
|
|
92
|
-
const rootDir = config.rootDir ||
|
|
103
|
+
const rootDir = config.rootDir || import_defaults2.DEFAULT_ROOT_DIR;
|
|
93
104
|
const resourcePaths = {
|
|
94
105
|
rootDir,
|
|
95
106
|
assets: (0, import_assets.normalizeAssetPaths)(config.assets, rootDir),
|
|
@@ -114,19 +125,61 @@ function normalizeConfigPaths(config) {
|
|
|
114
125
|
viewProviders: (0, import_services.normalizeServicePaths)(config.viewProviders, rootDir),
|
|
115
126
|
viewTransformers: (0, import_services.normalizeServicePaths)(config.viewTransformers, rootDir),
|
|
116
127
|
routes: (0, import_routes.normalizeRoutePaths)(config.routes, resourcePaths),
|
|
117
|
-
errorRoutes: (0, import_routes.normalizeRoutePaths)(config.errorRoutes, resourcePaths)
|
|
128
|
+
errorRoutes: (0, import_routes.normalizeRoutePaths)(config.errorRoutes, resourcePaths),
|
|
129
|
+
routeHandlers: (0, import_routes.normalizeRouteHandlerPaths)(config.routeHandlers, resourcePaths)
|
|
118
130
|
};
|
|
119
131
|
}
|
|
120
|
-
function
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
132
|
+
function applySsrConfig(config) {
|
|
133
|
+
const hasSSR = config.routes.some((r) => r.bootstrap.ssr);
|
|
134
|
+
if (!hasSSR) {
|
|
135
|
+
return config;
|
|
136
|
+
}
|
|
137
|
+
const hasSsrModuleProvider = config.moduleProviders.some(([m]) => m === import_defaults.SSR_MODULE_PROVIDER);
|
|
138
|
+
const hasSsrViewTransformer = config.viewTransformers.some(([v]) => v === import_defaults.SSR_VIEW_TRANSFORM_PLUGIN);
|
|
139
|
+
return {
|
|
140
|
+
...config,
|
|
141
|
+
moduleProviders: hasSsrModuleProvider ? config.moduleProviders : [[import_defaults.SSR_MODULE_PROVIDER, void 0], ...config.moduleProviders],
|
|
142
|
+
viewTransformers: hasSsrViewTransformer ? config.viewTransformers : [...config.viewTransformers, [import_defaults.SSR_VIEW_TRANSFORM_PLUGIN, void 0]]
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function applyStaticProviderConfig(config) {
|
|
146
|
+
return {
|
|
147
|
+
...config,
|
|
148
|
+
resourceProviders: [["@lwrjs/lambda/mrt-static-resource-provider", {}]],
|
|
149
|
+
moduleProviders: [["@lwrjs/lambda/mrt-static-module-provider", void 0]],
|
|
150
|
+
assetProviders: [["@lwrjs/lambda/mrt-static-asset-provider", void 0]],
|
|
151
|
+
bundleProviders: [
|
|
152
|
+
["@lwrjs/lambda/mrt-static-bundle-provider", void 0],
|
|
153
|
+
["@lwrjs/module-bundler/amd-runtime-bundle-provider", void 0]
|
|
154
|
+
],
|
|
155
|
+
assetTransformers: []
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function resolveGlobalConfig(configArg, options) {
|
|
159
|
+
const mergedConfig = mergeConfig(configArg);
|
|
160
|
+
let normalizedConfig = normalizeConfig(mergedConfig);
|
|
161
|
+
if (options?.useStaticProviders) {
|
|
162
|
+
normalizedConfig = applyStaticProviderConfig(normalizedConfig);
|
|
163
|
+
}
|
|
164
|
+
normalizedConfig = applySsrConfig(normalizedConfig);
|
|
165
|
+
if (!options?.skipCacheDirCreation) {
|
|
126
166
|
createCacheFolder(normalizedConfig.cacheDir, normalizedConfig.rootDir);
|
|
127
167
|
}
|
|
128
|
-
if (skipDirNormalization) {
|
|
168
|
+
if (options?.skipDirNormalization) {
|
|
129
169
|
return normalizedConfig;
|
|
130
170
|
}
|
|
131
171
|
return normalizeConfigPaths(normalizedConfig);
|
|
132
172
|
}
|
|
173
|
+
function loadConfig(config, options) {
|
|
174
|
+
const appConfig = resolveGlobalConfig(config, options);
|
|
175
|
+
const runtimeEnvironment = (0, import_runtime_config.getRuntimeEnvironment)(appConfig);
|
|
176
|
+
const globalData = (0, import_global_data.getGlobalData)(appConfig.globalDataDir, appConfig.globalData);
|
|
177
|
+
if (!appConfig.hooks.length) {
|
|
178
|
+
(0, import_app_config.validateLwrAppConfig)(appConfig, "post");
|
|
179
|
+
}
|
|
180
|
+
return {
|
|
181
|
+
appConfig,
|
|
182
|
+
runtimeEnvironment,
|
|
183
|
+
globalData
|
|
184
|
+
};
|
|
185
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
11
|
+
};
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toModule = (module2) => {
|
|
21
|
+
return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/config/src/hooks.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
executeConfigHooks: () => executeConfigHooks,
|
|
28
|
+
executeStartHooks: () => executeStartHooks
|
|
29
|
+
});
|
|
30
|
+
var import_routes = __toModule(require("./utils/routes.cjs"));
|
|
31
|
+
var import_app_config = __toModule(require("./validation/app-config.cjs"));
|
|
32
|
+
var import_global_config = __toModule(require("./global-config.cjs"));
|
|
33
|
+
async function executeConfigHooks(hooks, globalConfig, runtimeEnvironment, globalData, skipValidate = false) {
|
|
34
|
+
if (!hooks.length) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
for (const hook of hooks) {
|
|
38
|
+
if (!hook.initConfigs) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
await hook.initConfigs(globalConfig, globalData, runtimeEnvironment);
|
|
42
|
+
}
|
|
43
|
+
globalConfig.routes = (0, import_routes.normalizeRoutes)(globalConfig.routes, globalConfig.routeHandlers);
|
|
44
|
+
globalConfig.errorRoutes = (0, import_routes.normalizeRoutes)(globalConfig.errorRoutes, globalConfig.routeHandlers);
|
|
45
|
+
const ssrConfig = (0, import_global_config.applySsrConfig)(globalConfig);
|
|
46
|
+
globalConfig.moduleProviders = ssrConfig.moduleProviders;
|
|
47
|
+
globalConfig.viewTransformers = ssrConfig.viewTransformers;
|
|
48
|
+
if (!skipValidate) {
|
|
49
|
+
(0, import_app_config.validateLwrAppConfig)(globalConfig, "post");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function executeStartHooks(hooks, globalConfig, skipValidate = false) {
|
|
53
|
+
if (!hooks.length) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
for (const hook of hooks) {
|
|
57
|
+
if (!hook.onStart) {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
hook.onStart(globalConfig.routes);
|
|
61
|
+
}
|
|
62
|
+
globalConfig.routes = (0, import_routes.normalizeRoutes)(globalConfig.routes, globalConfig.routeHandlers);
|
|
63
|
+
const ssrConfig = (0, import_global_config.applySsrConfig)(globalConfig);
|
|
64
|
+
globalConfig.moduleProviders = ssrConfig.moduleProviders;
|
|
65
|
+
globalConfig.viewTransformers = ssrConfig.viewTransformers;
|
|
66
|
+
if (!skipValidate) {
|
|
67
|
+
(0, import_app_config.validateLwrAppConfig)(globalConfig, "post");
|
|
68
|
+
}
|
|
69
|
+
}
|
package/build/cjs/index.cjs
CHANGED
|
@@ -24,10 +24,18 @@ var __toModule = (module2) => {
|
|
|
24
24
|
// packages/@lwrjs/config/src/index.ts
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
LWC_VERSION: () => import_package.lwcVersion,
|
|
28
|
+
LWR_VERSION: () => import_package.version,
|
|
29
|
+
executeConfigHooks: () => import_hooks.executeConfigHooks,
|
|
30
|
+
executeStartHooks: () => import_hooks.executeStartHooks,
|
|
31
|
+
getLwrConfigFromFile: () => import_global_config.getLwrConfigFromFile,
|
|
32
|
+
getRuntimeEnvironment: () => import_runtime_config.getRuntimeEnvironment,
|
|
33
|
+
loadConfig: () => import_global_config.loadConfig,
|
|
34
|
+
normalizeConfig: () => import_global_config.resolveGlobalConfig,
|
|
29
35
|
validateLwrAppConfig: () => import_app_config.validateLwrAppConfig
|
|
30
36
|
});
|
|
31
|
-
var
|
|
37
|
+
var import_package = __toModule(require("@lwrjs/config/package"));
|
|
38
|
+
var import_global_config = __toModule(require("./global-config.cjs"));
|
|
32
39
|
var import_runtime_config = __toModule(require("./runtime-config.cjs"));
|
|
40
|
+
var import_hooks = __toModule(require("./hooks.cjs"));
|
|
33
41
|
var import_app_config = __toModule(require("./validation/app-config.cjs"));
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
11
|
+
};
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toModule = (module2) => {
|
|
21
|
+
return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/config/src/modules.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
loadHooks: () => loadHooks,
|
|
28
|
+
loadRouteHandlers: () => loadRouteHandlers,
|
|
29
|
+
loadServices: () => loadServices
|
|
30
|
+
});
|
|
31
|
+
var import_path = __toModule(require("path"));
|
|
32
|
+
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
33
|
+
var import_typescript = __toModule(require("@lwrjs/shared-utils/typescript"));
|
|
34
|
+
async function importModule(filepath, rootDir, cacheDir) {
|
|
35
|
+
let resolvedFilePath = (0, import_shared_utils.normalizeDirectory)(filepath, rootDir);
|
|
36
|
+
const resolvedCacheDir = (0, import_shared_utils.normalizeDirectory)(cacheDir, rootDir);
|
|
37
|
+
try {
|
|
38
|
+
if (resolvedFilePath.endsWith(".ts")) {
|
|
39
|
+
const fullPath = (0, import_shared_utils.resolveFileExtension)(resolvedFilePath);
|
|
40
|
+
resolvedFilePath = await (0, import_typescript.transpileTs)(fullPath, {rootDir, cacheDir: resolvedCacheDir});
|
|
41
|
+
}
|
|
42
|
+
const moduleEntry = await Promise.resolve().then(() => __toModule(require(resolvedFilePath)));
|
|
43
|
+
const output = moduleEntry.default || moduleEntry;
|
|
44
|
+
return output;
|
|
45
|
+
} catch (err) {
|
|
46
|
+
console.log(err);
|
|
47
|
+
throw new Error(`Unable to load configurable module: ${filepath}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async function loadServiceEntries(entries, rootDir, cacheDir) {
|
|
51
|
+
return Promise.all(entries.map(async ([entry, config]) => {
|
|
52
|
+
const ctor = await importModule(entry, rootDir, import_path.default.join(cacheDir, "services"));
|
|
53
|
+
return [ctor, config];
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
async function loadHooks(config) {
|
|
57
|
+
if (!config.hooks) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
const hookCtors = await loadServiceEntries(config.hooks, config.rootDir, config.cacheDir);
|
|
61
|
+
const hooks = hookCtors.map(([hookCtor, hookConfig = {}]) => {
|
|
62
|
+
return new hookCtor(hookConfig);
|
|
63
|
+
});
|
|
64
|
+
return hooks;
|
|
65
|
+
}
|
|
66
|
+
async function loadServices(config) {
|
|
67
|
+
const moduleProviders = await loadServiceEntries(config.moduleProviders, config.rootDir, config.cacheDir);
|
|
68
|
+
const bundleProviders = await loadServiceEntries(config.bundleProviders, config.rootDir, config.cacheDir);
|
|
69
|
+
const assetProviders = await loadServiceEntries(config.assetProviders, config.rootDir, config.cacheDir);
|
|
70
|
+
const assetTransformers = await loadServiceEntries(config.assetTransformers, config.rootDir, config.cacheDir);
|
|
71
|
+
const resourceProviders = await loadServiceEntries(config.resourceProviders, config.rootDir, config.cacheDir);
|
|
72
|
+
const viewProviders = await loadServiceEntries(config.viewProviders, config.rootDir, config.cacheDir);
|
|
73
|
+
const viewTransformers = await loadServiceEntries(config.viewTransformers, config.rootDir, config.cacheDir);
|
|
74
|
+
return {
|
|
75
|
+
moduleProviders,
|
|
76
|
+
bundleProviders,
|
|
77
|
+
assetProviders,
|
|
78
|
+
assetTransformers,
|
|
79
|
+
resourceProviders,
|
|
80
|
+
viewProviders,
|
|
81
|
+
viewTransformers
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
async function loadRouteHandlers(config) {
|
|
85
|
+
const routeHandlers = {};
|
|
86
|
+
await Promise.all(Object.keys(config.routeHandlers).map(async (id) => {
|
|
87
|
+
const handlerPath = config.routeHandlers[id];
|
|
88
|
+
const handler = await importModule(handlerPath, config.rootDir, import_path.default.join(config.cacheDir, "routeHandlers"));
|
|
89
|
+
routeHandlers[id] = handler;
|
|
90
|
+
}));
|
|
91
|
+
return routeHandlers;
|
|
92
|
+
}
|
|
@@ -25,15 +25,18 @@ var __toModule = (module2) => {
|
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
RUNTIME_CONFIGS: () => RUNTIME_CONFIGS,
|
|
28
|
+
getRuntimeEnvironment: () => getRuntimeEnvironment,
|
|
28
29
|
getServerModeConfig: () => getServerModeConfig
|
|
29
30
|
});
|
|
30
31
|
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
32
|
+
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
31
33
|
var RUNTIME_CONFIGS = {
|
|
32
34
|
dev: {
|
|
33
35
|
bundle: false,
|
|
34
36
|
minify: false,
|
|
35
37
|
format: "esm",
|
|
36
38
|
compat: "0",
|
|
39
|
+
debug: false,
|
|
37
40
|
watchFiles: true,
|
|
38
41
|
defaultLocale: "en_US",
|
|
39
42
|
hmrEnabled: true,
|
|
@@ -47,6 +50,7 @@ var RUNTIME_CONFIGS = {
|
|
|
47
50
|
minify: true,
|
|
48
51
|
format: "esm",
|
|
49
52
|
compat: "0",
|
|
53
|
+
debug: false,
|
|
50
54
|
watchFiles: false,
|
|
51
55
|
defaultLocale: "en_US",
|
|
52
56
|
hmrEnabled: false,
|
|
@@ -60,6 +64,7 @@ var RUNTIME_CONFIGS = {
|
|
|
60
64
|
minify: false,
|
|
61
65
|
format: "amd",
|
|
62
66
|
compat: "1",
|
|
67
|
+
debug: false,
|
|
63
68
|
watchFiles: true,
|
|
64
69
|
defaultLocale: "en_US",
|
|
65
70
|
hmrEnabled: false,
|
|
@@ -73,6 +78,7 @@ var RUNTIME_CONFIGS = {
|
|
|
73
78
|
minify: true,
|
|
74
79
|
format: "amd",
|
|
75
80
|
compat: "1",
|
|
81
|
+
debug: false,
|
|
76
82
|
watchFiles: false,
|
|
77
83
|
defaultLocale: "en_US",
|
|
78
84
|
hmrEnabled: false,
|
|
@@ -82,10 +88,23 @@ var RUNTIME_CONFIGS = {
|
|
|
82
88
|
}
|
|
83
89
|
}
|
|
84
90
|
};
|
|
85
|
-
function getServerModeConfig(
|
|
86
|
-
const selectedMode = RUNTIME_CONFIGS[
|
|
91
|
+
function getServerModeConfig(serverMode) {
|
|
92
|
+
const selectedMode = RUNTIME_CONFIGS[serverMode];
|
|
87
93
|
if (!selectedMode) {
|
|
88
|
-
throw (0, import_diagnostics.createSingleDiagnosticError)({description: import_diagnostics.descriptions.SERVER.INVALID_MODE(
|
|
94
|
+
throw (0, import_diagnostics.createSingleDiagnosticError)({description: import_diagnostics.descriptions.SERVER.INVALID_MODE(serverMode)}, import_diagnostics.LwrServerError);
|
|
89
95
|
}
|
|
90
96
|
return selectedMode;
|
|
91
97
|
}
|
|
98
|
+
function getRuntimeEnvironment(config) {
|
|
99
|
+
const {serverMode, lwrVersion, apiVersion, basePath, minify} = config;
|
|
100
|
+
const serverModeConfig = getServerModeConfig(config.serverMode);
|
|
101
|
+
return {
|
|
102
|
+
...serverModeConfig,
|
|
103
|
+
minify: minify !== null ? minify : serverModeConfig.minify,
|
|
104
|
+
featureFlags: (0, import_shared_utils.getFeatureFlags)(),
|
|
105
|
+
serverMode,
|
|
106
|
+
lwrVersion,
|
|
107
|
+
apiVersion,
|
|
108
|
+
basePath
|
|
109
|
+
};
|
|
110
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
11
|
+
};
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toModule = (module2) => {
|
|
21
|
+
return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/config/src/utils/global-data.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
getGlobalData: () => getGlobalData
|
|
28
|
+
});
|
|
29
|
+
var import_fs = __toModule(require("fs"));
|
|
30
|
+
var import_path = __toModule(require("path"));
|
|
31
|
+
function recursiveJsonCollector(resources, currentPath, collector) {
|
|
32
|
+
for (const resource of resources) {
|
|
33
|
+
const resourcePath = import_path.default.join(currentPath, resource);
|
|
34
|
+
if (resource.endsWith(".json")) {
|
|
35
|
+
const resourceName = import_path.default.basename(resource, ".json");
|
|
36
|
+
const jsonSource = JSON.parse(import_fs.default.readFileSync(resourcePath, "utf-8"));
|
|
37
|
+
collector[resourceName] = jsonSource;
|
|
38
|
+
} else if (import_fs.default.statSync(resourcePath).isDirectory()) {
|
|
39
|
+
const dirContentList = import_fs.default.readdirSync(resourcePath);
|
|
40
|
+
collector[resource] = recursiveJsonCollector(dirContentList, resourcePath, {});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return collector;
|
|
44
|
+
}
|
|
45
|
+
function getGlobalData(globalDataDir, defaultData = {}) {
|
|
46
|
+
if (!import_fs.default.existsSync(globalDataDir) || !import_fs.default.statSync(globalDataDir).isDirectory()) {
|
|
47
|
+
return defaultData;
|
|
48
|
+
}
|
|
49
|
+
const dirContentList = import_fs.default.readdirSync(globalDataDir);
|
|
50
|
+
return {
|
|
51
|
+
...recursiveJsonCollector(dirContentList, globalDataDir, {}),
|
|
52
|
+
...defaultData
|
|
53
|
+
};
|
|
54
|
+
}
|
|
@@ -32,6 +32,9 @@ __export(exports, {
|
|
|
32
32
|
});
|
|
33
33
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
34
34
|
var import_defaults = __toModule(require("../defaults.cjs"));
|
|
35
|
+
function isNormalizedLwrGlobalConfig(config) {
|
|
36
|
+
return config?.lwrVersion !== void 0;
|
|
37
|
+
}
|
|
35
38
|
function trimLwrConfig(config) {
|
|
36
39
|
Object.keys(config).forEach((k) => {
|
|
37
40
|
if (config[k] === void 0)
|
|
@@ -40,6 +43,7 @@ function trimLwrConfig(config) {
|
|
|
40
43
|
return config;
|
|
41
44
|
}
|
|
42
45
|
function mergeLwcConfig(config1, config2) {
|
|
46
|
+
const defaultModules = !isNormalizedLwrGlobalConfig(config1) && !isNormalizedLwrGlobalConfig(config2) ? import_defaults.DEFAULT_LWR_MODULES : [];
|
|
43
47
|
const modules1 = config1?.lwc?.modules || [];
|
|
44
48
|
const modules2 = config2?.lwc?.modules || [];
|
|
45
49
|
const interchangeable1 = config1?.lwc?.interchangeable || [];
|
|
@@ -49,18 +53,22 @@ function mergeLwcConfig(config1, config2) {
|
|
|
49
53
|
const interchangeableModules2 = config2?.lwc?.interchangeableModules || [];
|
|
50
54
|
const mergedInterchangeableModules = [...interchangeableModules1, ...interchangeableModules2];
|
|
51
55
|
return {
|
|
52
|
-
modules: [...
|
|
56
|
+
modules: [...defaultModules, ...modules1, ...modules2],
|
|
53
57
|
interchangeable: mergedInterchangeable.length ? mergedInterchangeable : void 0,
|
|
54
58
|
interchangeableModules: mergedInterchangeableModules.length ? mergedInterchangeableModules : void 0
|
|
55
59
|
};
|
|
56
60
|
}
|
|
57
|
-
function mergeBundleConfig(
|
|
58
|
-
const
|
|
59
|
-
const
|
|
61
|
+
function mergeBundleConfig(config1, config2) {
|
|
62
|
+
const mode = config2?.serverMode || config1?.serverMode;
|
|
63
|
+
const DEFAULT_BUNDLE_CONFIG = (0, import_defaults.getDefaultBundleConfig)(mode);
|
|
64
|
+
const defaultExclusions = config2?.bundleConfig?.UNSAFE_lwrDefaultExclude || config1?.bundleConfig?.UNSAFE_lwrDefaultExclude || DEFAULT_BUNDLE_CONFIG.exclude || [];
|
|
65
|
+
const configExclusions = config2?.bundleConfig?.exclude || config1?.bundleConfig?.exclude || [];
|
|
66
|
+
const configExternals = config2?.bundleConfig?.external || config1?.bundleConfig?.external || {};
|
|
60
67
|
return {
|
|
61
|
-
...
|
|
62
|
-
...
|
|
63
|
-
exclude: [...new Set([...defaultExclusions, ...configExclusions])]
|
|
68
|
+
...config1?.bundleConfig,
|
|
69
|
+
...config2?.bundleConfig,
|
|
70
|
+
exclude: [...new Set([...defaultExclusions, ...configExclusions])],
|
|
71
|
+
external: {...DEFAULT_BUNDLE_CONFIG.external, ...configExternals}
|
|
64
72
|
};
|
|
65
73
|
}
|
|
66
74
|
function mergeLockerConfig(jsonConfig, config) {
|
|
@@ -74,9 +82,15 @@ function mergeLockerConfig(jsonConfig, config) {
|
|
|
74
82
|
};
|
|
75
83
|
}
|
|
76
84
|
function mergeStaticGenerationConfig(configFile, configArg) {
|
|
85
|
+
const fileAdditionalModules = configFile?.staticSiteGenerator?._additionalModules || [];
|
|
86
|
+
const argAdditionalModules = configArg?.staticSiteGenerator?._additionalModules || [];
|
|
87
|
+
const fileAdditionalPaths = configFile?.staticSiteGenerator?._additionalRoutePaths || [];
|
|
88
|
+
const argAdditionalPaths = configArg?.staticSiteGenerator?._additionalRoutePaths || [];
|
|
77
89
|
return {
|
|
78
90
|
...import_defaults.DEFAULT_GENERATOR_CONFIG,
|
|
79
91
|
...configFile?.staticSiteGenerator,
|
|
80
|
-
...configArg?.staticSiteGenerator
|
|
92
|
+
...configArg?.staticSiteGenerator,
|
|
93
|
+
_additionalModules: [...new Set([...fileAdditionalModules, ...argAdditionalModules])],
|
|
94
|
+
_additionalRoutePaths: [...new Set([...fileAdditionalPaths, ...argAdditionalPaths])]
|
|
81
95
|
};
|
|
82
96
|
}
|