@lwrjs/loader 0.24.2 → 0.24.3
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/assets/prod/lwr-error-shim.js +1 -1
- package/build/assets/prod/lwr-loader-shim-legacy.bundle.js +22 -9
- package/build/assets/prod/lwr-loader-shim-legacy.bundle.min.js +3 -3
- package/build/assets/prod/lwr-loader-shim-legacy.js +5 -5
- package/build/assets/prod/lwr-loader-shim.bundle.js +22 -9
- package/build/assets/prod/lwr-loader-shim.bundle.min.js +3 -3
- package/build/assets/prod/lwr-loader-shim.js +5 -5
- package/build/cjs/index.cjs +35 -25
- package/build/cjs/modules/lwr/esmLoader/esmLoader.cjs +32 -22
- package/build/cjs/modules/lwr/esmLoader/importResolver.cjs +23 -8
- package/build/cjs/modules/lwr/esmLoader/importResolverLegacy.cjs +24 -7
- package/build/cjs/modules/lwr/loader/constants/constants.cjs +20 -7
- package/build/cjs/modules/lwr/loader/errors/messages.cjs +15 -18
- package/build/cjs/modules/lwr/loader/errors/reportError.cjs +16 -20
- package/build/cjs/modules/lwr/loader/errors/utils.cjs +17 -4
- package/build/cjs/modules/lwr/loader/hooks/moduleInvalidation.cjs +18 -21
- package/build/cjs/modules/lwr/loader/hooks/resolveAndLoadHook.cjs +38 -37
- package/build/cjs/modules/lwr/loader/moduleRegistry/importMetadataResolver.cjs +46 -26
- package/build/cjs/modules/lwr/loader/moduleRegistry/moduleRegistry.cjs +124 -76
- package/build/cjs/modules/lwr/loader/moduleRegistry/scriptLoad.cjs +16 -19
- package/build/cjs/modules/lwr/loader/utils/dom.cjs +17 -4
- package/build/cjs/modules/lwr/loader/utils/url.cjs +21 -25
- package/build/cjs/modules/lwr/loader/utils/validation.cjs +22 -7
- package/build/cjs/modules/lwr/loader/validateLoadSpecifier.cjs +18 -5
- package/build/cjs/modules/lwr/loaderLegacy/constants/constants.cjs +20 -7
- package/build/cjs/modules/lwr/loaderLegacy/errors/messages.cjs +15 -18
- package/build/cjs/modules/lwr/loaderLegacy/errors/reportError.cjs +16 -20
- package/build/cjs/modules/lwr/loaderLegacy/errors/utils.cjs +17 -4
- package/build/cjs/modules/lwr/loaderLegacy/hooks/moduleInvalidation.cjs +18 -21
- package/build/cjs/modules/lwr/loaderLegacy/hooks/resolveAndLoadHook.cjs +38 -37
- package/build/cjs/modules/lwr/loaderLegacy/importMap/dom.cjs +25 -25
- package/build/cjs/modules/lwr/loaderLegacy/importMap/importMap.cjs +32 -25
- package/build/cjs/modules/lwr/loaderLegacy/importMap/importMapResolver.cjs +16 -19
- package/build/cjs/modules/lwr/loaderLegacy/importMap/utils.cjs +15 -18
- package/build/cjs/modules/lwr/loaderLegacy/importResolver/importResolver.cjs +15 -2
- package/build/cjs/modules/lwr/loaderLegacy/moduleRegistry/moduleRegistry.cjs +105 -76
- package/build/cjs/modules/lwr/loaderLegacy/moduleRegistry/scriptLoad.cjs +16 -19
- package/build/cjs/modules/lwr/loaderLegacy/utils/dom.cjs +17 -4
- package/build/cjs/modules/lwr/loaderLegacy/utils/url.cjs +21 -25
- package/build/cjs/modules/lwr/loaderLegacy/utils/validation.cjs +18 -19
- package/build/cjs/package.d.cjs +1 -0
- package/build/cjs/types.cjs +15 -2
- package/build/modules/lwr/esmLoader/esmLoader.js +1 -1
- package/build/modules/lwr/loader/hooks/resolveAndLoadHook.js +15 -3
- package/build/modules/lwr/loader/loader.js +17 -4
- package/build/modules/lwr/loaderLegacy/hooks/resolveAndLoadHook.js +15 -3
- package/build/modules/lwr/loaderLegacy/loaderLegacy.js +17 -4
- package/package.json +6 -6
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
-
var
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
10
|
-
__defProp(target, name, {get: all[name], enumerable: true});
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
9
|
};
|
|
12
|
-
var
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
15
|
-
if (!__hasOwnProp.call(
|
|
16
|
-
__defProp(
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
15
|
}
|
|
18
|
-
return
|
|
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);
|
|
16
|
+
return to;
|
|
22
17
|
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
19
|
|
|
24
20
|
// packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/moduleRegistry/moduleRegistry.ts
|
|
25
|
-
|
|
26
|
-
__export(
|
|
21
|
+
var moduleRegistry_exports = {};
|
|
22
|
+
__export(moduleRegistry_exports, {
|
|
27
23
|
ModuleRegistry: () => ModuleRegistry
|
|
28
24
|
});
|
|
29
|
-
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
25
|
+
module.exports = __toCommonJS(moduleRegistry_exports);
|
|
26
|
+
var import_messages = require("../errors/messages.cjs");
|
|
27
|
+
var import_url = require("../utils/url.cjs");
|
|
28
|
+
var import_dom = require("../utils/dom.cjs");
|
|
29
|
+
var import_scriptLoad = require("./scriptLoad.cjs");
|
|
30
|
+
var import_resolveAndLoadHook = require("../hooks/resolveAndLoadHook.cjs");
|
|
31
|
+
var import_moduleInvalidation = require("../hooks/moduleInvalidation.cjs");
|
|
32
|
+
var import_constants = require("../constants/constants.cjs");
|
|
33
|
+
var import_metrics = require("lwr/metrics");
|
|
34
|
+
var import_scheduler = require("lwr/scheduler");
|
|
38
35
|
var ModuleRegistry = class {
|
|
39
36
|
constructor(config) {
|
|
40
37
|
this.isAppMounted = false;
|
|
41
|
-
|
|
42
|
-
this.
|
|
43
|
-
|
|
38
|
+
// A registry for named AMD defines containing the *metadata* of AMD module
|
|
39
|
+
this.namedDefineRegistry = /* @__PURE__ */ new Map();
|
|
40
|
+
// The evaluated module registry where the module identifier (name or URL?) is the key
|
|
41
|
+
this.moduleRegistry = /* @__PURE__ */ new Map();
|
|
42
|
+
// Aliases of modules in the registry
|
|
43
|
+
this.aliases = /* @__PURE__ */ new Map();
|
|
44
44
|
this.baseUrl = config.baseUrl || "";
|
|
45
45
|
this.profiler = config.profiler;
|
|
46
46
|
this.warnings = {
|
|
@@ -50,10 +50,10 @@ var ModuleRegistry = class {
|
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
clearRegistry() {
|
|
53
|
-
this.moduleRegistry = new Map();
|
|
53
|
+
this.moduleRegistry = /* @__PURE__ */ new Map();
|
|
54
54
|
}
|
|
55
55
|
async load(id, importer) {
|
|
56
|
-
const metadata = importer ? {importer} : {};
|
|
56
|
+
const metadata = importer ? { importer } : {};
|
|
57
57
|
this.profiler.logOperationStart({
|
|
58
58
|
id: import_metrics.MODULE_DYNAMIC_LOAD,
|
|
59
59
|
specifier: id,
|
|
@@ -79,7 +79,7 @@ var ModuleRegistry = class {
|
|
|
79
79
|
if (resolveHooks) {
|
|
80
80
|
for (let i = 0; i < resolveHooks.length; i++) {
|
|
81
81
|
const resolveHook = resolveHooks[i];
|
|
82
|
-
const response = resolveHook(aliasedId, {parentUrl});
|
|
82
|
+
const response = resolveHook(aliasedId, { parentUrl });
|
|
83
83
|
let result;
|
|
84
84
|
if (response || response === null) {
|
|
85
85
|
result = (0, import_resolveAndLoadHook.isResponseAPromise)(response) ? await response : response;
|
|
@@ -120,7 +120,9 @@ var ModuleRegistry = class {
|
|
|
120
120
|
resolved = importDefinition && importDefinition.uri;
|
|
121
121
|
useImporter = importDefinition ? !!importDefinition.defaultUri : useImporter;
|
|
122
122
|
if (this.namedDefineRegistry.has(resolvedOrPlain)) {
|
|
123
|
-
const namedDefineRecord = this.namedDefineRegistry.get(
|
|
123
|
+
const namedDefineRecord = this.namedDefineRegistry.get(
|
|
124
|
+
resolvedOrPlain
|
|
125
|
+
);
|
|
124
126
|
if (namedDefineRecord.external || namedDefineRecord.defined) {
|
|
125
127
|
const record = this.moduleRegistry.get(resolved);
|
|
126
128
|
if (!record || !this.aliases.has(resolvedOrPlain)) {
|
|
@@ -149,7 +151,12 @@ var ModuleRegistry = class {
|
|
|
149
151
|
define(name, dependencies, exporter, signatures) {
|
|
150
152
|
const mod = this.namedDefineRegistry.get(name);
|
|
151
153
|
if (mod && mod.defined) {
|
|
152
|
-
if (
|
|
154
|
+
if (
|
|
155
|
+
// note: we always expect process.env.NODE_ENV to be replaced at build time
|
|
156
|
+
// eslint-disable-next-line lwr/no-unguarded-apis
|
|
157
|
+
import_dom.hasProcessEnv && // eslint-disable-next-line lwr/no-unguarded-apis
|
|
158
|
+
process.env.MRT_HMR !== "true"
|
|
159
|
+
) {
|
|
153
160
|
if (!this.warnings[import_constants.MODULE_WARNING.MODULE_REDEFINE].includes(name)) {
|
|
154
161
|
this.warnings[import_constants.MODULE_WARNING.MODULE_REDEFINE].push(name);
|
|
155
162
|
}
|
|
@@ -170,7 +177,7 @@ var ModuleRegistry = class {
|
|
|
170
177
|
if (mod && mod.external) {
|
|
171
178
|
mod.external.resolveExternal(moduleDef);
|
|
172
179
|
}
|
|
173
|
-
this.profiler.logOperationStart({id: import_metrics.MODULE_DEFINE, specifier: name});
|
|
180
|
+
this.profiler.logOperationStart({ id: import_metrics.MODULE_DEFINE, specifier: name });
|
|
174
181
|
this.namedDefineRegistry.set(name, moduleDef);
|
|
175
182
|
this.lastDefine = moduleDef;
|
|
176
183
|
if (signatures.hashes) {
|
|
@@ -179,6 +186,11 @@ var ModuleRegistry = class {
|
|
|
179
186
|
});
|
|
180
187
|
}
|
|
181
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Marks modules as "externally" loaded/provided, so that the loader does not attempt to fetch them.
|
|
191
|
+
*
|
|
192
|
+
* @param modules - list of module identifiers
|
|
193
|
+
*/
|
|
182
194
|
registerExternalModules(modules) {
|
|
183
195
|
modules.map((id) => {
|
|
184
196
|
if (!this.namedDefineRegistry.has(id)) {
|
|
@@ -201,7 +213,7 @@ var ModuleRegistry = class {
|
|
|
201
213
|
}
|
|
202
214
|
};
|
|
203
215
|
this.namedDefineRegistry.set(id, moduleDef);
|
|
204
|
-
} else if (
|
|
216
|
+
} else if (true) {
|
|
205
217
|
if (!this.warnings[import_constants.MODULE_WARNING.MODULE_ALREADY_LOADED].includes(id)) {
|
|
206
218
|
this.warnings[import_constants.MODULE_WARNING.MODULE_ALREADY_LOADED].push(id);
|
|
207
219
|
}
|
|
@@ -234,8 +246,10 @@ var ModuleRegistry = class {
|
|
|
234
246
|
newHash: signature
|
|
235
247
|
});
|
|
236
248
|
} else {
|
|
237
|
-
if (
|
|
238
|
-
console.warn(
|
|
249
|
+
if (import_dom.hasConsole) {
|
|
250
|
+
console.warn(
|
|
251
|
+
`stale module detected ${name}, current sig:${currentSig}, new sig:${signature}`
|
|
252
|
+
);
|
|
239
253
|
}
|
|
240
254
|
}
|
|
241
255
|
}
|
|
@@ -243,6 +257,7 @@ var ModuleRegistry = class {
|
|
|
243
257
|
setImportResolver(resolver) {
|
|
244
258
|
this.resolver = resolver;
|
|
245
259
|
}
|
|
260
|
+
// Returns an existing module record by the resolvedId or aliased id
|
|
246
261
|
getExistingModuleRecord(resolvedId, aliasId) {
|
|
247
262
|
const moduleRecord = this.moduleRegistry.get(resolvedId);
|
|
248
263
|
if (moduleRecord) {
|
|
@@ -279,7 +294,7 @@ var ModuleRegistry = class {
|
|
|
279
294
|
});
|
|
280
295
|
const newModuleRecord = {
|
|
281
296
|
id: resolvedId,
|
|
282
|
-
module: Object.create(null),
|
|
297
|
+
module: /* @__PURE__ */ Object.create(null),
|
|
283
298
|
dependencyRecords,
|
|
284
299
|
instantiation,
|
|
285
300
|
evaluated: false,
|
|
@@ -293,7 +308,7 @@ var ModuleRegistry = class {
|
|
|
293
308
|
if (aliasId !== resolvedId) {
|
|
294
309
|
if (!this.aliases.has(aliasId)) {
|
|
295
310
|
this.aliases.set(aliasId, resolvedId);
|
|
296
|
-
} else if (import_dom.hasConsole &&
|
|
311
|
+
} else if (import_dom.hasConsole && true) {
|
|
297
312
|
const currentResolvedId = this.aliases.get(aliasId);
|
|
298
313
|
if (currentResolvedId !== resolvedId) {
|
|
299
314
|
const warningMsg = `${aliasId}=>${currentResolvedId}, ${resolvedId}`;
|
|
@@ -318,6 +333,7 @@ var ModuleRegistry = class {
|
|
|
318
333
|
}
|
|
319
334
|
return this.getModuleRecord(resolvedDepId, dependency);
|
|
320
335
|
}
|
|
336
|
+
// execute the "top-level code" (the code outside of functions) of a module
|
|
321
337
|
async topLevelEvaluation(moduleRecord) {
|
|
322
338
|
return this.evaluateModule(moduleRecord, {});
|
|
323
339
|
}
|
|
@@ -328,26 +344,28 @@ var ModuleRegistry = class {
|
|
|
328
344
|
evaluationMap[moduleRecord.id] = true;
|
|
329
345
|
await this.evaluateModuleDependencies(dependencyModuleRecords, evaluationMap);
|
|
330
346
|
}
|
|
331
|
-
const {exporter, dependencies} = await moduleRecord.instantiation;
|
|
332
|
-
const
|
|
333
|
-
const depsMapped = dependencies ? await Promise.all(
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
347
|
+
const { exporter, dependencies } = await moduleRecord.instantiation;
|
|
348
|
+
const exports = {};
|
|
349
|
+
const depsMapped = dependencies ? await Promise.all(
|
|
350
|
+
dependencies.map(async (dep) => {
|
|
351
|
+
if (dep === "exports") {
|
|
352
|
+
return exports;
|
|
353
|
+
}
|
|
354
|
+
const resolvedDepId = await this.resolve(dep);
|
|
355
|
+
const moduleRecord2 = this.moduleRegistry.get(resolvedDepId);
|
|
356
|
+
if (!moduleRecord2) {
|
|
357
|
+
throw new import_messages.LoaderError(import_messages.FAILED_DEP, [resolvedDepId]);
|
|
358
|
+
}
|
|
359
|
+
const module2 = moduleRecord2.module;
|
|
360
|
+
if (!moduleRecord2.evaluated) {
|
|
361
|
+
return this.getCircularDependencyWrapper(module2);
|
|
362
|
+
}
|
|
363
|
+
if (module2) {
|
|
364
|
+
return module2.__defaultInterop ? module2.default : module2;
|
|
365
|
+
}
|
|
340
366
|
throw new import_messages.LoaderError(import_messages.FAILED_DEP, [resolvedDepId]);
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
if (!moduleRecord2.evaluated) {
|
|
344
|
-
return this.getCircularDependencyWrapper(module2);
|
|
345
|
-
}
|
|
346
|
-
if (module2) {
|
|
347
|
-
return module2.__defaultInterop ? module2.default : module2;
|
|
348
|
-
}
|
|
349
|
-
throw new import_messages.LoaderError(import_messages.FAILED_DEP, [resolvedDepId]);
|
|
350
|
-
})) : [];
|
|
367
|
+
})
|
|
368
|
+
) : [];
|
|
351
369
|
if (moduleRecord.evaluated) {
|
|
352
370
|
return moduleRecord.module;
|
|
353
371
|
}
|
|
@@ -358,14 +376,14 @@ var ModuleRegistry = class {
|
|
|
358
376
|
throw new import_messages.LoaderError(import_messages.EXPORTER_ERROR, [moduleRecord.id, e.message || e]);
|
|
359
377
|
}
|
|
360
378
|
if (moduleDefault !== void 0) {
|
|
361
|
-
moduleDefault = {default: moduleDefault};
|
|
362
|
-
Object.defineProperty(moduleDefault, "__defaultInterop", {value: true});
|
|
379
|
+
moduleDefault = { default: moduleDefault };
|
|
380
|
+
Object.defineProperty(moduleDefault, "__defaultInterop", { value: true });
|
|
363
381
|
} else {
|
|
364
|
-
if (this.isNamedExportDefaultOnly(
|
|
365
|
-
Object.defineProperty(
|
|
382
|
+
if (this.isNamedExportDefaultOnly(exports)) {
|
|
383
|
+
Object.defineProperty(exports, "__useDefault", { value: true });
|
|
366
384
|
}
|
|
367
385
|
}
|
|
368
|
-
const moduleExports = moduleDefault ||
|
|
386
|
+
const moduleExports = moduleDefault || exports;
|
|
369
387
|
for (const key in moduleExports) {
|
|
370
388
|
Object.defineProperty(moduleRecord.module, key, {
|
|
371
389
|
enumerable: true,
|
|
@@ -378,21 +396,24 @@ var ModuleRegistry = class {
|
|
|
378
396
|
});
|
|
379
397
|
}
|
|
380
398
|
if (moduleExports.__useDefault) {
|
|
381
|
-
Object.defineProperty(moduleRecord.module, "__useDefault", {value: true});
|
|
399
|
+
Object.defineProperty(moduleRecord.module, "__useDefault", { value: true });
|
|
382
400
|
}
|
|
383
401
|
if (moduleExports.__defaultInterop) {
|
|
384
|
-
Object.defineProperty(moduleRecord.module, "__defaultInterop", {value: true});
|
|
402
|
+
Object.defineProperty(moduleRecord.module, "__defaultInterop", { value: true });
|
|
385
403
|
}
|
|
386
404
|
if (moduleExports.__esModule) {
|
|
387
|
-
Object.defineProperty(moduleRecord.module, "__esModule", {value: true});
|
|
405
|
+
Object.defineProperty(moduleRecord.module, "__esModule", { value: true });
|
|
388
406
|
}
|
|
389
407
|
moduleRecord.evaluated = true;
|
|
390
408
|
Object.freeze(moduleRecord.module);
|
|
391
409
|
return moduleRecord.module;
|
|
392
410
|
}
|
|
393
|
-
|
|
394
|
-
|
|
411
|
+
// Determines if named exports module has only default export
|
|
412
|
+
isNamedExportDefaultOnly(exports) {
|
|
413
|
+
return exports !== void 0 && Object.getOwnPropertyNames(exports).length === 2 && Object.prototype.hasOwnProperty.call(exports, "default") && Object.prototype.hasOwnProperty.call(exports, "__esModule");
|
|
395
414
|
}
|
|
415
|
+
// Wrap the dependency in a function that can be called and detected by __circular__ property.
|
|
416
|
+
// The LWC engine checks for __circular__ to detect circular dependencies.
|
|
396
417
|
getCircularDependencyWrapper(module2) {
|
|
397
418
|
const tmp = () => {
|
|
398
419
|
return module2.__useDefault || module2.__defaultInterop ? module2.default : module2;
|
|
@@ -421,14 +442,17 @@ var ModuleRegistry = class {
|
|
|
421
442
|
}
|
|
422
443
|
const parentUrl = this.baseUrl;
|
|
423
444
|
const specifier = moduleName || originalId;
|
|
424
|
-
this.profiler.logOperationStart({id: import_metrics.MODULE_FETCH, specifier});
|
|
445
|
+
this.profiler.logOperationStart({ id: import_metrics.MODULE_FETCH, specifier });
|
|
425
446
|
return Promise.resolve().then(async () => {
|
|
426
447
|
const loadHooks = this.loadHook;
|
|
427
448
|
if (loadHooks) {
|
|
428
449
|
for (let i = 0; i < loadHooks.length; i++) {
|
|
429
450
|
const loadHook = loadHooks[i];
|
|
430
451
|
const response = loadHook(resolvedId, parentUrl);
|
|
431
|
-
const result = (0, import_resolveAndLoadHook.isResponseAPromise)(response) ?
|
|
452
|
+
const result = (0, import_resolveAndLoadHook.isResponseAPromise)(response) ? (
|
|
453
|
+
// eslint-disable-next-line no-await-in-loop
|
|
454
|
+
await (0, import_resolveAndLoadHook.evaluateLoadHook)(resolvedId, response)
|
|
455
|
+
) : response;
|
|
432
456
|
if (result === void 0) {
|
|
433
457
|
throw new import_messages.LoaderError(import_messages.INVALID_LOADER_SERVICE_RESPONSE);
|
|
434
458
|
}
|
|
@@ -445,17 +469,20 @@ var ModuleRegistry = class {
|
|
|
445
469
|
}).then(() => {
|
|
446
470
|
moduleDef = moduleName && this.namedDefineRegistry.get(moduleName);
|
|
447
471
|
if (!moduleDef) {
|
|
448
|
-
this.logMessage(
|
|
472
|
+
this.logMessage(
|
|
473
|
+
"warning",
|
|
474
|
+
`${moduleName} not found, falling back to the last loader.define call`
|
|
475
|
+
);
|
|
449
476
|
moduleDef = this.lastDefine;
|
|
450
477
|
}
|
|
451
478
|
if (!moduleDef) {
|
|
452
479
|
throw new import_messages.LoaderError(import_messages.FAIL_INSTANTIATE, [resolvedId]);
|
|
453
480
|
}
|
|
454
|
-
this.profiler.logOperationEnd({id: import_metrics.MODULE_FETCH, specifier});
|
|
481
|
+
this.profiler.logOperationEnd({ id: import_metrics.MODULE_FETCH, specifier });
|
|
455
482
|
return moduleDef;
|
|
456
483
|
}).catch((e) => {
|
|
457
484
|
if (!(e instanceof import_messages.LoaderError)) {
|
|
458
|
-
this.profiler.logOperationStart({id: import_metrics.MODULE_ERROR, specifier});
|
|
485
|
+
this.profiler.logOperationStart({ id: import_metrics.MODULE_ERROR, specifier });
|
|
459
486
|
}
|
|
460
487
|
throw e;
|
|
461
488
|
});
|
|
@@ -464,7 +491,7 @@ var ModuleRegistry = class {
|
|
|
464
491
|
if (typeof hooks !== "object") {
|
|
465
492
|
throw new import_messages.LoaderError(import_messages.INVALID_HOOK);
|
|
466
493
|
}
|
|
467
|
-
const {loadModule: loadHook, resolveModule: resolveHook} = hooks;
|
|
494
|
+
const { loadModule: loadHook, resolveModule: resolveHook } = hooks;
|
|
468
495
|
if (resolveHook) {
|
|
469
496
|
if (this.resolveHook) {
|
|
470
497
|
this.resolveHook.push(resolveHook);
|
|
@@ -495,7 +522,9 @@ var ModuleRegistry = class {
|
|
|
495
522
|
return this.warnings;
|
|
496
523
|
}
|
|
497
524
|
logMessage(logType, message) {
|
|
498
|
-
if (!import_dom.hasConsole ||
|
|
525
|
+
if (!import_dom.hasConsole || // note: we always expect this to be replaced at build time
|
|
526
|
+
// eslint-disable-next-line lwr/no-unguarded-apis
|
|
527
|
+
false) {
|
|
499
528
|
return;
|
|
500
529
|
}
|
|
501
530
|
if (logType == "warning") {
|
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
-
var
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
10
|
-
__defProp(target, name, {get: all[name], enumerable: true});
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
9
|
};
|
|
12
|
-
var
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
15
|
-
if (!__hasOwnProp.call(
|
|
16
|
-
__defProp(
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
15
|
}
|
|
18
|
-
return
|
|
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);
|
|
16
|
+
return to;
|
|
22
17
|
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
19
|
|
|
24
20
|
// packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/moduleRegistry/scriptLoad.ts
|
|
25
|
-
|
|
26
|
-
__export(
|
|
21
|
+
var scriptLoad_exports = {};
|
|
22
|
+
__export(scriptLoad_exports, {
|
|
27
23
|
loadModuleDef: () => loadModuleDef
|
|
28
24
|
});
|
|
29
|
-
|
|
30
|
-
var
|
|
25
|
+
module.exports = __toCommonJS(scriptLoad_exports);
|
|
26
|
+
var import_messages = require("../errors/messages.cjs");
|
|
27
|
+
var import_dom = require("../utils/dom.cjs");
|
|
31
28
|
function createScript(url) {
|
|
32
29
|
const script = document.createElement("script");
|
|
33
30
|
script.async = true;
|
|
@@ -1,19 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
3
6
|
var __export = (target, all) => {
|
|
4
7
|
for (var name in all)
|
|
5
|
-
__defProp(target, name, {get: all[name], enumerable: true});
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
6
9
|
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
7
19
|
|
|
8
20
|
// packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/utils/dom.ts
|
|
9
|
-
|
|
10
|
-
__export(
|
|
21
|
+
var dom_exports = {};
|
|
22
|
+
__export(dom_exports, {
|
|
11
23
|
hasConsole: () => hasConsole,
|
|
12
24
|
hasDocument: () => hasDocument,
|
|
13
25
|
hasProcess: () => hasProcess,
|
|
14
26
|
hasProcessEnv: () => hasProcessEnv,
|
|
15
27
|
hasSetTimeout: () => hasSetTimeout
|
|
16
28
|
});
|
|
29
|
+
module.exports = __toCommonJS(dom_exports);
|
|
17
30
|
var hasDocument = typeof document !== "undefined";
|
|
18
31
|
var hasSetTimeout = typeof setTimeout === "function";
|
|
19
32
|
var hasConsole = typeof console !== "undefined";
|
|
@@ -1,35 +1,32 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
-
var
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
10
|
-
__defProp(target, name, {get: all[name], enumerable: true});
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
9
|
};
|
|
12
|
-
var
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
15
|
-
if (!__hasOwnProp.call(
|
|
16
|
-
__defProp(
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
15
|
}
|
|
18
|
-
return
|
|
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);
|
|
16
|
+
return to;
|
|
22
17
|
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
19
|
|
|
24
20
|
// packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/utils/url.ts
|
|
25
|
-
|
|
26
|
-
__export(
|
|
21
|
+
var url_exports = {};
|
|
22
|
+
__export(url_exports, {
|
|
27
23
|
getBaseUrl: () => getBaseUrl,
|
|
28
24
|
isUrl: () => isUrl,
|
|
29
25
|
resolveIfNotPlainOrUrl: () => resolveIfNotPlainOrUrl,
|
|
30
26
|
resolveUrl: () => resolveUrl
|
|
31
27
|
});
|
|
32
|
-
|
|
28
|
+
module.exports = __toCommonJS(url_exports);
|
|
29
|
+
var import_dom = require("./dom.cjs");
|
|
33
30
|
function getBaseUrl() {
|
|
34
31
|
let baseUrl = void 0;
|
|
35
32
|
if (import_dom.hasDocument) {
|
|
@@ -50,8 +47,7 @@ function isUrl(url) {
|
|
|
50
47
|
}
|
|
51
48
|
function resolveIfNotPlainOrUrl(relUrl, parentUrl) {
|
|
52
49
|
const backslashRegEx = /\\/g;
|
|
53
|
-
if (relUrl.indexOf("\\") !== -1)
|
|
54
|
-
relUrl = relUrl.replace(backslashRegEx, "/");
|
|
50
|
+
if (relUrl.indexOf("\\") !== -1) relUrl = relUrl.replace(backslashRegEx, "/");
|
|
55
51
|
if (relUrl[0] === "/" && relUrl[1] === "/") {
|
|
56
52
|
return parentUrl.slice(0, parentUrl.indexOf(":") + 1) + relUrl;
|
|
57
53
|
} else if (relUrl[0] === "." && (relUrl[1] === "/" || relUrl[1] === "." && (relUrl[2] === "/" || relUrl.length === 2 && (relUrl += "/")) || relUrl.length === 1 && (relUrl += "/")) || relUrl[0] === "/") {
|
|
@@ -65,10 +61,11 @@ function resolveIfNotPlainOrUrl(relUrl, parentUrl) {
|
|
|
65
61
|
pathname = parentUrl.slice(8);
|
|
66
62
|
}
|
|
67
63
|
} else {
|
|
68
|
-
pathname = parentUrl.slice(
|
|
64
|
+
pathname = parentUrl.slice(
|
|
65
|
+
parentProtocol.length + (parentUrl[parentProtocol.length] === "/" ? 1 : 0)
|
|
66
|
+
);
|
|
69
67
|
}
|
|
70
|
-
if (relUrl[0] === "/")
|
|
71
|
-
return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl;
|
|
68
|
+
if (relUrl[0] === "/") return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl;
|
|
72
69
|
const segmented = pathname.slice(0, pathname.lastIndexOf("/") + 1) + relUrl;
|
|
73
70
|
const output = [];
|
|
74
71
|
let segmentIndex = -1;
|
|
@@ -91,8 +88,7 @@ function resolveIfNotPlainOrUrl(relUrl, parentUrl) {
|
|
|
91
88
|
segmentIndex = i;
|
|
92
89
|
}
|
|
93
90
|
}
|
|
94
|
-
if (segmentIndex !== -1)
|
|
95
|
-
output.push(segmented.slice(segmentIndex));
|
|
91
|
+
if (segmentIndex !== -1) output.push(segmented.slice(segmentIndex));
|
|
96
92
|
return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join("");
|
|
97
93
|
}
|
|
98
94
|
}
|
|
@@ -1,34 +1,31 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
-
var
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
10
|
-
__defProp(target, name, {get: all[name], enumerable: true});
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
9
|
};
|
|
12
|
-
var
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
15
|
-
if (!__hasOwnProp.call(
|
|
16
|
-
__defProp(
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
15
|
}
|
|
18
|
-
return
|
|
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);
|
|
16
|
+
return to;
|
|
22
17
|
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
19
|
|
|
24
20
|
// packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/utils/validation.ts
|
|
25
|
-
|
|
26
|
-
__export(
|
|
21
|
+
var validation_exports = {};
|
|
22
|
+
__export(validation_exports, {
|
|
27
23
|
validateAndConvertImportMapUpdate: () => validateAndConvertImportMapUpdate,
|
|
28
24
|
validateMappingUri: () => validateMappingUri,
|
|
29
25
|
validateSpecifier: () => validateSpecifier
|
|
30
26
|
});
|
|
31
|
-
|
|
27
|
+
module.exports = __toCommonJS(validation_exports);
|
|
28
|
+
var import_dom = require("../utils/dom.cjs");
|
|
32
29
|
function validateMappingUri(uri, specifier) {
|
|
33
30
|
const lowerUri = uri.toLowerCase();
|
|
34
31
|
if (lowerUri.startsWith("blob:")) {
|
|
@@ -67,7 +64,9 @@ function validateAndConvertImportMapUpdate(update) {
|
|
|
67
64
|
validateSpecifier(moduleName);
|
|
68
65
|
if (moduleName in convertedImports) {
|
|
69
66
|
if (import_dom.hasConsole) {
|
|
70
|
-
console.warn(
|
|
67
|
+
console.warn(
|
|
68
|
+
`LWR.importMap(): duplicate module "${moduleName}" \u2014 already mapped to "${convertedImports[moduleName]}", ignoring mapping to "${moduleScriptURL}"`
|
|
69
|
+
);
|
|
71
70
|
}
|
|
72
71
|
} else {
|
|
73
72
|
convertedImports[moduleName] = moduleScriptURL;
|
package/build/cjs/package.d.cjs
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
package/build/cjs/types.cjs
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
3
15
|
|
|
4
16
|
// packages/@lwrjs/loader/src/types.ts
|
|
5
|
-
|
|
17
|
+
var types_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
6
6
|
*/
|
|
7
|
-
/* LWR ESM Module Loader v0.24.
|
|
7
|
+
/* LWR ESM Module Loader v0.24.3 */
|
|
8
8
|
function _optionalChain$1(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
9
9
|
|
|
10
10
|
|