@lwrjs/core 0.6.0-alpha.2 → 0.6.0-alpha.6
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/context/global-data.cjs +8 -8
- package/build/cjs/context/hooks.cjs +10 -10
- package/build/cjs/context/services.cjs +11 -11
- package/build/cjs/env-config.cjs +19 -19
- package/build/cjs/index.cjs +24 -19
- package/build/cjs/lwr-app-observer.cjs +8 -8
- package/build/cjs/middlewares/api-middleware.cjs +62 -62
- package/build/cjs/middlewares/base-middleware.cjs +3 -3
- package/build/cjs/middlewares/hmr-middleware.cjs +21 -21
- package/build/cjs/middlewares/locale-middleware.cjs +4 -4
- package/build/cjs/middlewares/ui-middleware.cjs +20 -20
- package/build/cjs/middlewares/utils.cjs +15 -15
- package/build/cjs/tools/server-warmup.cjs +9 -9
- package/build/cjs/tools/static-generation.cjs +28 -27
- package/build/cjs/tools/types.cjs +1 -1
- package/build/cjs/tools/utils/dir.cjs +9 -9
- package/build/cjs/tools/utils/network-dispatcher.cjs +10 -9
- package/build/cjs/tools/utils/stream.cjs +8 -8
- package/build/cjs/validation/app-config-context.cjs +10 -10
- package/build/cjs/validation/app-config.cjs +10 -10
- package/build/cjs/validation/helpers.cjs +4 -4
- package/build/es/index.js +8 -2
- package/build/es/middlewares/api-middleware.js +6 -6
- package/build/es/middlewares/ui-middleware.js +2 -2
- package/build/es/middlewares/utils.d.ts +2 -5
- package/build/es/middlewares/utils.js +3 -3
- package/package.json +28 -28
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
3
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
8
|
var __export = (target, all) => {
|
|
9
|
-
__markAsModule(target);
|
|
10
9
|
for (var name in all)
|
|
11
|
-
__defProp(target, name, {
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
12
11
|
};
|
|
13
|
-
var
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
14
13
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
15
14
|
for (let key of __getOwnPropNames(module2))
|
|
16
15
|
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
17
|
-
__defProp(target, key, {
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
18
17
|
}
|
|
19
18
|
return target;
|
|
20
19
|
};
|
|
21
20
|
var __toModule = (module2) => {
|
|
22
|
-
return
|
|
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);
|
|
23
22
|
};
|
|
24
23
|
|
|
25
24
|
// packages/@lwrjs/core/src/tools/server-warmup.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
warmupServer: () => warmupServer
|
|
28
28
|
});
|
|
@@ -31,7 +31,7 @@ var import_dir = __toModule(require("./utils/dir.cjs"));
|
|
|
31
31
|
var import_network_dispatcher = __toModule(require("./utils/network-dispatcher.cjs"));
|
|
32
32
|
async function warmupServer(config, internalRequestKey) {
|
|
33
33
|
console.log("[Server Warmup] starting");
|
|
34
|
-
const {
|
|
34
|
+
const {routes, staticSiteGenerator, port} = config;
|
|
35
35
|
staticSiteGenerator.outputDir = import_dir.skipDirCreation;
|
|
36
36
|
const urlRewriteMap = new Map();
|
|
37
37
|
await new import_static_generation.default().generateRoutes(staticSiteGenerator, routes, new import_network_dispatcher.default(port, internalRequestKey), staticSiteGenerator.outputDir, urlRewriteMap);
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
3
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
8
|
var __export = (target, all) => {
|
|
9
|
-
__markAsModule(target);
|
|
10
9
|
for (var name in all)
|
|
11
|
-
__defProp(target, name, {
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
12
11
|
};
|
|
13
|
-
var
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
14
13
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
15
14
|
for (let key of __getOwnPropNames(module2))
|
|
16
15
|
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
17
|
-
__defProp(target, key, {
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
18
17
|
}
|
|
19
18
|
return target;
|
|
20
19
|
};
|
|
21
20
|
var __toModule = (module2) => {
|
|
22
|
-
return
|
|
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);
|
|
23
22
|
};
|
|
24
23
|
|
|
25
24
|
// packages/@lwrjs/core/src/tools/static-generation.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
ViewImportMetadataImpl: () => ViewImportMetadataImpl,
|
|
28
|
-
default: () =>
|
|
28
|
+
default: () => static_generation_default
|
|
29
29
|
});
|
|
30
30
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
31
31
|
var import_path = __toModule(require("path"));
|
|
@@ -35,13 +35,13 @@ var import_dir = __toModule(require("./utils/dir.cjs"));
|
|
|
35
35
|
var SiteGenerator = class {
|
|
36
36
|
async buildStaticApplication(config, dispatcher) {
|
|
37
37
|
console.log("[Static Generation] starting");
|
|
38
|
-
const {
|
|
38
|
+
const {routes, staticSiteGenerator, rootDir, assets} = config;
|
|
39
39
|
if (!staticSiteGenerator.outputDir) {
|
|
40
40
|
staticSiteGenerator.outputDir = "__generated_site__";
|
|
41
41
|
}
|
|
42
42
|
const outputDir = (0, import_path.join)(rootDir, staticSiteGenerator.outputDir);
|
|
43
43
|
console.log(`[INFO] Clear Output Location: ${outputDir}`);
|
|
44
|
-
import_fs_extra.default.rmSync(outputDir, {
|
|
44
|
+
import_fs_extra.default.rmSync(outputDir, {recursive: true, force: true});
|
|
45
45
|
const urlRewriteMap = new Map();
|
|
46
46
|
await this.generateRoutes(staticSiteGenerator, routes, dispatcher, outputDir, urlRewriteMap);
|
|
47
47
|
this.writeNetlifyRedirectConfig(outputDir, urlRewriteMap);
|
|
@@ -72,14 +72,14 @@ var SiteGenerator = class {
|
|
|
72
72
|
const generateRoute = async (uri, siteConfig) => {
|
|
73
73
|
const locale = siteConfig.locale;
|
|
74
74
|
console.log(`[INFO] Start Generate: ${locale} ${uri}`);
|
|
75
|
-
await this.dispatchResourceRecursive(uri, dispatcher, {
|
|
75
|
+
await this.dispatchResourceRecursive(uri, dispatcher, {resourceType: "route"}, siteConfig);
|
|
76
76
|
this.addAdditionalImportMetadataToViewConfig(siteConfig);
|
|
77
77
|
console.log(`[INFO] End Generate ${locale} ${uri}`);
|
|
78
78
|
};
|
|
79
79
|
return generateRoute.bind(this);
|
|
80
80
|
}
|
|
81
81
|
async dispatchResourceRecursive(url, dispatcher, resourceOpts, siteConfig) {
|
|
82
|
-
const {
|
|
82
|
+
const {visitedUrls} = siteConfig;
|
|
83
83
|
if (!visitedUrls.has(url)) {
|
|
84
84
|
visitedUrls.add(url);
|
|
85
85
|
if (url.indexOf("/:") !== -1) {
|
|
@@ -87,7 +87,7 @@ var SiteGenerator = class {
|
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
89
89
|
const context = await dispatcher.dispatchUrl(url, "GET", siteConfig.locale);
|
|
90
|
-
const {
|
|
90
|
+
const {resourceType} = resourceOpts;
|
|
91
91
|
if (resourceType === "route") {
|
|
92
92
|
await this.handleHtmlResource(url, context, siteConfig, dispatcher);
|
|
93
93
|
} else if (resourceType === "asset" || resourceType === "resource") {
|
|
@@ -100,7 +100,7 @@ var SiteGenerator = class {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
async handleJavascriptResource(url, context, siteConfig, dispatcher) {
|
|
103
|
-
const {
|
|
103
|
+
const {outputDir} = siteConfig;
|
|
104
104
|
const normalizedUrl = decodeURIComponent(url);
|
|
105
105
|
(0, import_dir.createResourceDir)((0, import_path.dirname)(normalizedUrl), outputDir);
|
|
106
106
|
const ext = (0, import_path.extname)(normalizedUrl);
|
|
@@ -132,7 +132,7 @@ var SiteGenerator = class {
|
|
|
132
132
|
await Promise.all(dispatchRequests);
|
|
133
133
|
}
|
|
134
134
|
async handleMappingResource(url, context, siteConfig, dispatcher) {
|
|
135
|
-
const {
|
|
135
|
+
const {importMetadata: importMetatdata} = siteConfig;
|
|
136
136
|
const statusCode = context.response?.status;
|
|
137
137
|
if (statusCode === 200) {
|
|
138
138
|
const newImportMetadata = context.fs?.body;
|
|
@@ -143,7 +143,7 @@ var SiteGenerator = class {
|
|
|
143
143
|
const filteredImportMetadata = importMetatdata.addAdditionalMetadata(newImportMetadata);
|
|
144
144
|
const dispatchRequests = [];
|
|
145
145
|
for (const uri of Object.keys(filteredImportMetadata.imports)) {
|
|
146
|
-
dispatchRequests.push(this.dispatchResourceRecursive(uri, dispatcher, {
|
|
146
|
+
dispatchRequests.push(this.dispatchResourceRecursive(uri, dispatcher, {resourceType: "js"}, siteConfig));
|
|
147
147
|
}
|
|
148
148
|
await Promise.all(dispatchRequests);
|
|
149
149
|
} else {
|
|
@@ -152,7 +152,7 @@ var SiteGenerator = class {
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
async handleHtmlResource(url, context, siteConfig, dispatcher) {
|
|
155
|
-
const {
|
|
155
|
+
const {outputDir} = siteConfig;
|
|
156
156
|
const dir = (0, import_dir.createResourceDir)(url, outputDir);
|
|
157
157
|
const localeDir = (0, import_dir.createResourceDir)(url, (0, import_path.join)(outputDir, siteConfig.locale));
|
|
158
158
|
const filePath = (0, import_path.join)(dir, "index.html");
|
|
@@ -177,7 +177,7 @@ var SiteGenerator = class {
|
|
|
177
177
|
for (const asset of assets) {
|
|
178
178
|
const assetUrl = asset.override?.uri || asset.url;
|
|
179
179
|
if (assetUrl && !assetUrl.startsWith("data:")) {
|
|
180
|
-
dispatchRequests.push(this.dispatchResourceRecursive(assetUrl, dispatcher, {
|
|
180
|
+
dispatchRequests.push(this.dispatchResourceRecursive(assetUrl, dispatcher, {resourceType: "asset", asset}, siteConfig));
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
const customElements = viewDefinition.viewRecord.customElements || [];
|
|
@@ -199,7 +199,7 @@ var SiteGenerator = class {
|
|
|
199
199
|
if (!resource.inline) {
|
|
200
200
|
const resourceUri = resource.src || resource.specifier;
|
|
201
201
|
if (resourceUri) {
|
|
202
|
-
dispatchRequests.push(this.dispatchResourceRecursive(resourceUri, dispatcher, {
|
|
202
|
+
dispatchRequests.push(this.dispatchResourceRecursive(resourceUri, dispatcher, {resourceType: "resource"}, siteConfig));
|
|
203
203
|
if (resourceUri.match(/\/application\/.*\/ai\/.*\/configuration/)) {
|
|
204
204
|
siteConfig.viewConfigPath = this.getResourcePathFromUrl(siteConfig, resourceUri);
|
|
205
205
|
}
|
|
@@ -212,7 +212,7 @@ var SiteGenerator = class {
|
|
|
212
212
|
for (const resource of resources) {
|
|
213
213
|
const resourceUri = resource.src || resource.specifier || "";
|
|
214
214
|
if (resourceUri.startsWith("/")) {
|
|
215
|
-
dispatchRequests.push(this.dispatchResourceRecursive(resourceUri, dispatcher, {
|
|
215
|
+
dispatchRequests.push(this.dispatchResourceRecursive(resourceUri, dispatcher, {resourceType: "resource"}, siteConfig));
|
|
216
216
|
} else {
|
|
217
217
|
console.warn("Skipped resource: %j", resource);
|
|
218
218
|
}
|
|
@@ -221,14 +221,14 @@ var SiteGenerator = class {
|
|
|
221
221
|
}
|
|
222
222
|
async dispatchJSResourceRecursive(jsUri, dispatcher, siteConfig) {
|
|
223
223
|
if (jsUri.startsWith("/")) {
|
|
224
|
-
await this.dispatchResourceRecursive(jsUri, dispatcher, {
|
|
224
|
+
await this.dispatchResourceRecursive(jsUri, dispatcher, {resourceType: "js"}, siteConfig);
|
|
225
225
|
} else {
|
|
226
226
|
const supportsFingerprints = siteConfig.experimentalFeatures?.ENABLE_FINGERPRINTS;
|
|
227
227
|
if (supportsFingerprints) {
|
|
228
228
|
const mappingEndpoint = siteConfig.endpoints?.uris?.mapping;
|
|
229
229
|
if (mappingEndpoint) {
|
|
230
230
|
const mappingURL = siteConfig.endpoints?.uris?.mapping + encodeURIComponent(jsUri);
|
|
231
|
-
await this.dispatchResourceRecursive(mappingURL, dispatcher, {
|
|
231
|
+
await this.dispatchResourceRecursive(mappingURL, dispatcher, {resourceType: "mapping"}, siteConfig);
|
|
232
232
|
} else {
|
|
233
233
|
console.warn('[WARN] Unable to fetch mapping for bare specifier or variable dynamic import: "' + jsUri + '"');
|
|
234
234
|
}
|
|
@@ -242,7 +242,7 @@ var SiteGenerator = class {
|
|
|
242
242
|
await (0, import_stream.writeResponse)(context, fullPath);
|
|
243
243
|
}
|
|
244
244
|
getResourcePathFromUrl(siteConfig, url) {
|
|
245
|
-
const {
|
|
245
|
+
const {outputDir} = siteConfig;
|
|
246
246
|
const normalizedUrl = decodeURIComponent(url);
|
|
247
247
|
(0, import_dir.createResourceDir)((0, import_path.dirname)(normalizedUrl), outputDir);
|
|
248
248
|
const fullPath = (0, import_path.join)(outputDir, normalizedUrl);
|
|
@@ -263,7 +263,7 @@ var SiteGenerator = class {
|
|
|
263
263
|
});
|
|
264
264
|
import_fs_extra.default.appendFileSync(_redirectsPath, source + " " + destination + " 302!\n");
|
|
265
265
|
});
|
|
266
|
-
import_fs_extra.default.writeFileSync(serveJsonPath, JSON.stringify({
|
|
266
|
+
import_fs_extra.default.writeFileSync(serveJsonPath, JSON.stringify({rewrites, directoryListing: false, renderSingle: true}, null, 1));
|
|
267
267
|
}
|
|
268
268
|
copyAssets(assets, outputDir) {
|
|
269
269
|
for (const asset of assets) {
|
|
@@ -293,7 +293,7 @@ var SiteGenerator = class {
|
|
|
293
293
|
}
|
|
294
294
|
filterExperimentalFeatures() {
|
|
295
295
|
if ((0, import_shared_utils.getExperimentalFeatures)().ENABLE_FINGERPRINTS) {
|
|
296
|
-
return {
|
|
296
|
+
return {experimentalFeatures: {ENABLE_FINGERPRINTS: true}};
|
|
297
297
|
} else {
|
|
298
298
|
return void 0;
|
|
299
299
|
}
|
|
@@ -318,10 +318,11 @@ ${mergeIndex}
|
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
320
|
};
|
|
321
|
+
var static_generation_default = SiteGenerator;
|
|
321
322
|
var ViewImportMetadataImpl = class {
|
|
322
323
|
constructor(existingImportMetadata, additionalImportMetadata) {
|
|
323
324
|
this.existing = existingImportMetadata;
|
|
324
|
-
this.additional = additionalImportMetadata || {
|
|
325
|
+
this.additional = additionalImportMetadata || {imports: {}, index: {}};
|
|
325
326
|
}
|
|
326
327
|
getAdditionalImportMetadata() {
|
|
327
328
|
return this.additional;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", {
|
|
2
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
3
3
|
|
|
4
4
|
// packages/@lwrjs/core/src/tools/types.ts
|
|
5
5
|
__markAsModule(exports);
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
3
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
8
|
var __export = (target, all) => {
|
|
9
|
-
__markAsModule(target);
|
|
10
9
|
for (var name in all)
|
|
11
|
-
__defProp(target, name, {
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
12
11
|
};
|
|
13
|
-
var
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
14
13
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
15
14
|
for (let key of __getOwnPropNames(module2))
|
|
16
15
|
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
17
|
-
__defProp(target, key, {
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
18
17
|
}
|
|
19
18
|
return target;
|
|
20
19
|
};
|
|
21
20
|
var __toModule = (module2) => {
|
|
22
|
-
return
|
|
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);
|
|
23
22
|
};
|
|
24
23
|
|
|
25
24
|
// packages/@lwrjs/core/src/tools/utils/dir.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
createDir: () => createDir,
|
|
28
28
|
createResourceDir: () => createResourceDir,
|
|
@@ -39,7 +39,7 @@ function createResourceDir(resourcePath, parentDir) {
|
|
|
39
39
|
function createDir(dir) {
|
|
40
40
|
if (dir && dir.indexOf(skipDirCreation) === -1) {
|
|
41
41
|
if (!import_fs.default.existsSync(dir)) {
|
|
42
|
-
import_fs.default.mkdirSync(dir, {
|
|
42
|
+
import_fs.default.mkdirSync(dir, {recursive: true});
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
3
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
8
|
var __export = (target, all) => {
|
|
9
|
-
__markAsModule(target);
|
|
10
9
|
for (var name in all)
|
|
11
|
-
__defProp(target, name, {
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
12
11
|
};
|
|
13
|
-
var
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
14
13
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
15
14
|
for (let key of __getOwnPropNames(module2))
|
|
16
15
|
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
17
|
-
__defProp(target, key, {
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
18
17
|
}
|
|
19
18
|
return target;
|
|
20
19
|
};
|
|
21
20
|
var __toModule = (module2) => {
|
|
22
|
-
return
|
|
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);
|
|
23
22
|
};
|
|
24
23
|
|
|
25
24
|
// packages/@lwrjs/core/src/tools/utils/network-dispatcher.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
|
-
default: () =>
|
|
27
|
+
default: () => network_dispatcher_default
|
|
28
28
|
});
|
|
29
29
|
var import_http = __toModule(require("http"));
|
|
30
30
|
var import_https = __toModule(require("https"));
|
|
@@ -90,3 +90,4 @@ var NetworkDispatcher = class {
|
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
|
+
var network_dispatcher_default = NetworkDispatcher;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
3
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
8
|
var __export = (target, all) => {
|
|
9
|
-
__markAsModule(target);
|
|
10
9
|
for (var name in all)
|
|
11
|
-
__defProp(target, name, {
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
12
11
|
};
|
|
13
|
-
var
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
14
13
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
15
14
|
for (let key of __getOwnPropNames(module2))
|
|
16
15
|
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
17
|
-
__defProp(target, key, {
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
18
17
|
}
|
|
19
18
|
return target;
|
|
20
19
|
};
|
|
21
20
|
var __toModule = (module2) => {
|
|
22
|
-
return
|
|
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);
|
|
23
22
|
};
|
|
24
23
|
|
|
25
24
|
// packages/@lwrjs/core/src/tools/utils/stream.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
isObject: () => isObject,
|
|
28
28
|
writeResponse: () => writeResponse,
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
3
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
8
|
var __export = (target, all) => {
|
|
9
|
-
__markAsModule(target);
|
|
10
9
|
for (var name in all)
|
|
11
|
-
__defProp(target, name, {
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
12
11
|
};
|
|
13
|
-
var
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
14
13
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
15
14
|
for (let key of __getOwnPropNames(module2))
|
|
16
15
|
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
17
|
-
__defProp(target, key, {
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
18
17
|
}
|
|
19
18
|
return target;
|
|
20
19
|
};
|
|
21
20
|
var __toModule = (module2) => {
|
|
22
|
-
return
|
|
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);
|
|
23
22
|
};
|
|
24
23
|
|
|
25
24
|
// packages/@lwrjs/core/src/validation/app-config-context.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
ASSET_DIR_ATTRIBUTE_KEYS: () => ASSET_DIR_ATTRIBUTE_KEYS,
|
|
28
28
|
ASSET_FILE_ATTRIBUTE_KEYS: () => ASSET_FILE_ATTRIBUTE_KEYS,
|
|
@@ -360,7 +360,7 @@ var ValidationContext = class {
|
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
362
|
assertValidKeys(node, property, validPropertyKeys) {
|
|
363
|
-
const {
|
|
363
|
+
const {children} = node;
|
|
364
364
|
if (!children) {
|
|
365
365
|
this.diagnostics.push({
|
|
366
366
|
description: import_diagnostics.descriptions.CONFIG_PARSER.INVALID_EMPTY_NODE(property),
|
|
@@ -371,7 +371,7 @@ var ValidationContext = class {
|
|
|
371
371
|
for (const propertyNode of children) {
|
|
372
372
|
if (propertyNode.type === "property" && propertyNode.children) {
|
|
373
373
|
const [keyNode] = propertyNode.children;
|
|
374
|
-
const {
|
|
374
|
+
const {type, value} = keyNode;
|
|
375
375
|
if (type === "string" && !validPropertyKeys.includes(value)) {
|
|
376
376
|
this.diagnostics.push({
|
|
377
377
|
description: import_diagnostics.descriptions.CONFIG_PARSER.INVALID_PROPERTY(property, value),
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
3
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
8
|
var __export = (target, all) => {
|
|
9
|
-
__markAsModule(target);
|
|
10
9
|
for (var name in all)
|
|
11
|
-
__defProp(target, name, {
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
12
11
|
};
|
|
13
|
-
var
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
14
13
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
15
14
|
for (let key of __getOwnPropNames(module2))
|
|
16
15
|
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
17
|
-
__defProp(target, key, {
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
18
17
|
}
|
|
19
18
|
return target;
|
|
20
19
|
};
|
|
21
20
|
var __toModule = (module2) => {
|
|
22
|
-
return
|
|
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);
|
|
23
22
|
};
|
|
24
23
|
|
|
25
24
|
// packages/@lwrjs/core/src/validation/app-config.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
SOURCE_BY_PHASE: () => SOURCE_BY_PHASE,
|
|
28
28
|
validateLwrAppConfig: () => validateLwrAppConfig
|
|
@@ -174,9 +174,9 @@ function validateLwrAppConfig(jsonSourceText, phase) {
|
|
|
174
174
|
const preMerge = phase !== "post";
|
|
175
175
|
const rootNode = (0, import_jsonc_parser.parseTree)(jsonSourceText, errors);
|
|
176
176
|
if (errors.length) {
|
|
177
|
-
const {
|
|
177
|
+
const {error, length, offset} = errors[0];
|
|
178
178
|
const message = (0, import_jsonc_parser.printParseErrorCode)(error);
|
|
179
|
-
const sourceLocation = (0, import_helpers.calculatePositionFromSource)(jsonSourceText, {
|
|
179
|
+
const sourceLocation = (0, import_helpers.calculatePositionFromSource)(jsonSourceText, {length, offset});
|
|
180
180
|
throw (0, import_diagnostics.createSingleDiagnosticError)({
|
|
181
181
|
location: sourceLocation,
|
|
182
182
|
description: import_diagnostics.descriptions.CONFIG_PARSER.INVALID_JSON(message)
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", {
|
|
2
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
3
3
|
var __export = (target, all) => {
|
|
4
|
-
__markAsModule(target);
|
|
5
4
|
for (var name in all)
|
|
6
|
-
__defProp(target, name, {
|
|
5
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
7
6
|
};
|
|
8
7
|
|
|
9
8
|
// packages/@lwrjs/core/src/validation/helpers.ts
|
|
9
|
+
__markAsModule(exports);
|
|
10
10
|
__export(exports, {
|
|
11
11
|
calculatePositionFromSource: () => calculatePositionFromSource
|
|
12
12
|
});
|
|
13
13
|
function calculatePositionFromSource(source, partialPosition) {
|
|
14
14
|
const lines = source.split("\n");
|
|
15
|
-
const {
|
|
15
|
+
const {offset, length} = partialPosition;
|
|
16
16
|
let countedChars = 0;
|
|
17
17
|
for (const [index, line] of lines.entries()) {
|
|
18
18
|
const newLength = countedChars + line.length;
|
package/build/es/index.js
CHANGED
|
@@ -161,9 +161,15 @@ export class LwrApp {
|
|
|
161
161
|
}
|
|
162
162
|
async init() {
|
|
163
163
|
if (!this.initialized) {
|
|
164
|
-
const context = await initContext(this.app, this.server, this.config);
|
|
165
|
-
initMiddlewares(this.app, this.server, context);
|
|
166
164
|
this.initialized = true;
|
|
165
|
+
try {
|
|
166
|
+
const context = await initContext(this.app, this.server, this.config);
|
|
167
|
+
initMiddlewares(this.app, this.server, context);
|
|
168
|
+
}
|
|
169
|
+
catch (e) {
|
|
170
|
+
this.initialized = false;
|
|
171
|
+
throw e;
|
|
172
|
+
}
|
|
167
173
|
}
|
|
168
174
|
}
|
|
169
175
|
async listen(callback) {
|
|
@@ -61,20 +61,20 @@ export default function apiMiddleware(app, context) {
|
|
|
61
61
|
// TODO might be able to remove this in the future but not sure how to properly send
|
|
62
62
|
// back bundleRecord imports with absolute uris (lwc is the main one)
|
|
63
63
|
if (bundleDef.bundleRecord.imports) {
|
|
64
|
-
for (
|
|
65
|
-
const
|
|
64
|
+
for (const theImport of bundleDef.bundleRecord.imports) {
|
|
65
|
+
const childSpecifier = theImport.specifier;
|
|
66
66
|
// eslint-disable-next-line no-await-in-loop
|
|
67
|
-
const id = await getVersionedModuleId(
|
|
67
|
+
const id = await getVersionedModuleId(childSpecifier, moduleRegistry);
|
|
68
68
|
// eslint-disable-next-line no-await-in-loop
|
|
69
69
|
const uri = await moduleRegistry.resolveModuleUri(id, runtimeEnvironment, runtimeParams);
|
|
70
70
|
resolvedUris.push(uri);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
if (bundleDef.bundleRecord.dynamicImports) {
|
|
74
|
-
for (
|
|
75
|
-
const
|
|
74
|
+
for (const theImport of bundleDef.bundleRecord.dynamicImports) {
|
|
75
|
+
const childSpecifier = theImport.specifier;
|
|
76
76
|
// eslint-disable-next-line no-await-in-loop
|
|
77
|
-
const id = await getVersionedModuleId(
|
|
77
|
+
const id = await getVersionedModuleId(childSpecifier, moduleRegistry);
|
|
78
78
|
// eslint-disable-next-line no-await-in-loop
|
|
79
79
|
const uri = await moduleRegistry.resolveModuleUri(id, runtimeEnvironment, runtimeParams);
|
|
80
80
|
resolvedUris.push(uri);
|
|
@@ -29,7 +29,7 @@ export default function uiMiddleware(app, context) {
|
|
|
29
29
|
url: req.originalUrl,
|
|
30
30
|
params: req.params,
|
|
31
31
|
query: req.query,
|
|
32
|
-
requestPath: req.path,
|
|
32
|
+
requestPath: req.path, // Runtime resolved version vs. the original route path
|
|
33
33
|
};
|
|
34
34
|
const response = req.isJsonRequest()
|
|
35
35
|
? await viewHandler.getViewJson(viewRequest, route, runtimeEnvironment, runtimeParams)
|
|
@@ -85,7 +85,7 @@ export default function uiMiddleware(app, context) {
|
|
|
85
85
|
url,
|
|
86
86
|
params,
|
|
87
87
|
query: req.query,
|
|
88
|
-
requestPath,
|
|
88
|
+
requestPath, // Runtime resolved version vs. the original route path
|
|
89
89
|
};
|
|
90
90
|
const response = await viewHandler.getViewConfiguration(viewRequest, route, runtimeEnvironment, runtimeParams);
|
|
91
91
|
if (!response) {
|
|
@@ -2,16 +2,13 @@
|
|
|
2
2
|
import http from 'http';
|
|
3
3
|
import { EnvironmentConfig } from '@lwrjs/types';
|
|
4
4
|
import qs from 'qs';
|
|
5
|
-
interface E extends Error {
|
|
6
|
-
code: string;
|
|
7
|
-
}
|
|
8
5
|
/**
|
|
9
6
|
* Create a status object Express can return when there is an error
|
|
10
7
|
*
|
|
11
8
|
* @param name - string name of the problem module/resource
|
|
12
|
-
* @param error
|
|
9
|
+
* @param error - an Error/Diagnostic object; thrown from try/catch
|
|
13
10
|
*/
|
|
14
|
-
export declare function createReturnStatus(name: string, error:
|
|
11
|
+
export declare function createReturnStatus(name: string, error: unknown): {
|
|
15
12
|
status: number;
|
|
16
13
|
message: string;
|
|
17
14
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LwrUnresolvableError, descriptions } from '@lwrjs/diagnostics';
|
|
1
|
+
import { LwrUnresolvableError, descriptions, isNodeError } from '@lwrjs/diagnostics';
|
|
2
2
|
import { pathToRegexp } from 'path-to-regexp';
|
|
3
3
|
import qs from 'qs';
|
|
4
4
|
import createDOMPurify from 'dompurify';
|
|
@@ -9,11 +9,11 @@ const DOMPurify = createDOMPurify(window);
|
|
|
9
9
|
* Create a status object Express can return when there is an error
|
|
10
10
|
*
|
|
11
11
|
* @param name - string name of the problem module/resource
|
|
12
|
-
* @param error
|
|
12
|
+
* @param error - an Error/Diagnostic object; thrown from try/catch
|
|
13
13
|
*/
|
|
14
14
|
export function createReturnStatus(name, error) {
|
|
15
15
|
let returnStatus = { status: 501, message: '' };
|
|
16
|
-
if (error.code === 'NO_LWC_MODULE_FOUND') {
|
|
16
|
+
if (isNodeError(error) && error.code === 'NO_LWC_MODULE_FOUND') {
|
|
17
17
|
returnStatus = { status: 404, message: descriptions.UNRESOLVABLE.LWC_MODULE(name).message };
|
|
18
18
|
}
|
|
19
19
|
else if (error instanceof LwrUnresolvableError &&
|