@lwrjs/loader 0.24.2 → 0.24.4

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.
Files changed (47) hide show
  1. package/build/assets/prod/lwr-error-shim.js +1 -1
  2. package/build/assets/prod/lwr-loader-shim-legacy.bundle.js +23 -10
  3. package/build/assets/prod/lwr-loader-shim-legacy.bundle.min.js +3 -3
  4. package/build/assets/prod/lwr-loader-shim-legacy.js +5 -5
  5. package/build/assets/prod/lwr-loader-shim.bundle.js +23 -10
  6. package/build/assets/prod/lwr-loader-shim.bundle.min.js +3 -3
  7. package/build/assets/prod/lwr-loader-shim.js +5 -5
  8. package/build/cjs/index.cjs +51 -36
  9. package/build/cjs/modules/lwr/esmLoader/esmLoader.cjs +31 -22
  10. package/build/cjs/modules/lwr/esmLoader/importResolver.cjs +24 -9
  11. package/build/cjs/modules/lwr/esmLoader/importResolverLegacy.cjs +24 -7
  12. package/build/cjs/modules/lwr/loader/constants/constants.cjs +19 -7
  13. package/build/cjs/modules/lwr/loader/errors/messages.cjs +14 -18
  14. package/build/cjs/modules/lwr/loader/errors/reportError.cjs +15 -20
  15. package/build/cjs/modules/lwr/loader/errors/utils.cjs +16 -4
  16. package/build/cjs/modules/lwr/loader/hooks/moduleInvalidation.cjs +17 -21
  17. package/build/cjs/modules/lwr/loader/hooks/resolveAndLoadHook.cjs +37 -37
  18. package/build/cjs/modules/lwr/loader/moduleRegistry/importMetadataResolver.cjs +48 -27
  19. package/build/cjs/modules/lwr/loader/moduleRegistry/moduleRegistry.cjs +131 -77
  20. package/build/cjs/modules/lwr/loader/moduleRegistry/scriptLoad.cjs +15 -19
  21. package/build/cjs/modules/lwr/loader/utils/dom.cjs +16 -4
  22. package/build/cjs/modules/lwr/loader/utils/url.cjs +20 -25
  23. package/build/cjs/modules/lwr/loader/utils/validation.cjs +21 -7
  24. package/build/cjs/modules/lwr/loader/validateLoadSpecifier.cjs +17 -5
  25. package/build/cjs/modules/lwr/loaderLegacy/constants/constants.cjs +19 -7
  26. package/build/cjs/modules/lwr/loaderLegacy/errors/messages.cjs +14 -18
  27. package/build/cjs/modules/lwr/loaderLegacy/errors/reportError.cjs +15 -20
  28. package/build/cjs/modules/lwr/loaderLegacy/errors/utils.cjs +16 -4
  29. package/build/cjs/modules/lwr/loaderLegacy/hooks/moduleInvalidation.cjs +17 -21
  30. package/build/cjs/modules/lwr/loaderLegacy/hooks/resolveAndLoadHook.cjs +37 -37
  31. package/build/cjs/modules/lwr/loaderLegacy/importMap/dom.cjs +24 -25
  32. package/build/cjs/modules/lwr/loaderLegacy/importMap/importMap.cjs +31 -25
  33. package/build/cjs/modules/lwr/loaderLegacy/importMap/importMapResolver.cjs +16 -19
  34. package/build/cjs/modules/lwr/loaderLegacy/importMap/utils.cjs +14 -18
  35. package/build/cjs/modules/lwr/loaderLegacy/importResolver/importResolver.cjs +14 -2
  36. package/build/cjs/modules/lwr/loaderLegacy/moduleRegistry/moduleRegistry.cjs +113 -77
  37. package/build/cjs/modules/lwr/loaderLegacy/moduleRegistry/scriptLoad.cjs +15 -19
  38. package/build/cjs/modules/lwr/loaderLegacy/utils/dom.cjs +16 -4
  39. package/build/cjs/modules/lwr/loaderLegacy/utils/url.cjs +20 -25
  40. package/build/cjs/modules/lwr/loaderLegacy/utils/validation.cjs +17 -19
  41. package/build/cjs/types.cjs +14 -2
  42. package/build/modules/lwr/esmLoader/esmLoader.js +1 -1
  43. package/build/modules/lwr/loader/hooks/resolveAndLoadHook.js +15 -3
  44. package/build/modules/lwr/loader/loader.js +18 -5
  45. package/build/modules/lwr/loaderLegacy/hooks/resolveAndLoadHook.js +15 -3
  46. package/build/modules/lwr/loaderLegacy/loaderLegacy.js +18 -5
  47. package/package.json +7 -7
@@ -1,34 +1,30 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
- var __getProtoOf = Object.getPrototypeOf;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
5
  var __export = (target, all) => {
9
6
  for (var name in all)
10
- __defProp(target, name, {get: all[name], enumerable: true});
7
+ __defProp(target, name, { get: all[name], enumerable: true });
11
8
  };
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});
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
14
  }
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);
15
+ return to;
22
16
  };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
18
 
24
19
  // packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/importMap/utils.ts
25
- __markAsModule(exports);
26
- __export(exports, {
20
+ var utils_exports = {};
21
+ __export(utils_exports, {
27
22
  getMatch: () => getMatch,
28
23
  mergeImportMapEntry: () => mergeImportMapEntry,
29
24
  targetWarning: () => targetWarning
30
25
  });
31
- var import_dom = __toModule(require("../utils/dom.cjs"));
26
+ module.exports = __toCommonJS(utils_exports);
27
+ var import_dom = require("../utils/dom.cjs");
32
28
  function getMatch(path, matchObj) {
33
29
  if (matchObj[path]) {
34
30
  return path;
@@ -1,5 +1,17 @@
1
1
  var __defProp = Object.defineProperty;
2
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
3
14
 
4
15
  // packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/importResolver/importResolver.ts
5
- __markAsModule(exports);
16
+ var importResolver_exports = {};
17
+ module.exports = __toCommonJS(importResolver_exports);
@@ -1,46 +1,41 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
- var __getProtoOf = Object.getPrototypeOf;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
5
  var __export = (target, all) => {
9
6
  for (var name in all)
10
- __defProp(target, name, {get: all[name], enumerable: true});
7
+ __defProp(target, name, { get: all[name], enumerable: true });
11
8
  };
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});
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
14
  }
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);
15
+ return to;
22
16
  };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
18
 
24
19
  // packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/moduleRegistry/moduleRegistry.ts
25
- __markAsModule(exports);
26
- __export(exports, {
20
+ var moduleRegistry_exports = {};
21
+ __export(moduleRegistry_exports, {
27
22
  ModuleRegistry: () => ModuleRegistry
28
23
  });
29
- var import_messages = __toModule(require("../errors/messages.cjs"));
30
- var import_url = __toModule(require("../utils/url.cjs"));
31
- var import_dom = __toModule(require("../utils/dom.cjs"));
32
- var import_scriptLoad = __toModule(require("./scriptLoad.cjs"));
33
- var import_resolveAndLoadHook = __toModule(require("../hooks/resolveAndLoadHook.cjs"));
34
- var import_moduleInvalidation = __toModule(require("../hooks/moduleInvalidation.cjs"));
35
- var import_constants = __toModule(require("../constants/constants.cjs"));
36
- var import_metrics = __toModule(require("lwr/metrics"));
37
- var import_scheduler = __toModule(require("lwr/scheduler"));
24
+ module.exports = __toCommonJS(moduleRegistry_exports);
25
+ var import_messages = require("../errors/messages.cjs");
26
+ var import_url = require("../utils/url.cjs");
27
+ var import_dom = require("../utils/dom.cjs");
28
+ var import_scriptLoad = require("./scriptLoad.cjs");
29
+ var import_resolveAndLoadHook = require("../hooks/resolveAndLoadHook.cjs");
30
+ var import_moduleInvalidation = require("../hooks/moduleInvalidation.cjs");
31
+ var import_constants = require("../constants/constants.cjs");
32
+ var import_metrics = require("lwr/metrics");
33
+ var import_scheduler = require("lwr/scheduler");
38
34
  var ModuleRegistry = class {
35
+ profiler;
36
+ warnings;
37
+ isAppMounted = false;
39
38
  constructor(config) {
40
- this.isAppMounted = false;
41
- this.namedDefineRegistry = new Map();
42
- this.moduleRegistry = new Map();
43
- this.aliases = new Map();
44
39
  this.baseUrl = config.baseUrl || "";
45
40
  this.profiler = config.profiler;
46
41
  this.warnings = {
@@ -50,10 +45,10 @@ var ModuleRegistry = class {
50
45
  };
51
46
  }
52
47
  clearRegistry() {
53
- this.moduleRegistry = new Map();
48
+ this.moduleRegistry = /* @__PURE__ */ new Map();
54
49
  }
55
50
  async load(id, importer) {
56
- const metadata = importer ? {importer} : {};
51
+ const metadata = importer ? { importer } : {};
57
52
  this.profiler.logOperationStart({
58
53
  id: import_metrics.MODULE_DYNAMIC_LOAD,
59
54
  specifier: id,
@@ -79,7 +74,7 @@ var ModuleRegistry = class {
79
74
  if (resolveHooks) {
80
75
  for (let i = 0; i < resolveHooks.length; i++) {
81
76
  const resolveHook = resolveHooks[i];
82
- const response = resolveHook(aliasedId, {parentUrl});
77
+ const response = resolveHook(aliasedId, { parentUrl });
83
78
  let result;
84
79
  if (response || response === null) {
85
80
  result = (0, import_resolveAndLoadHook.isResponseAPromise)(response) ? await response : response;
@@ -120,7 +115,9 @@ var ModuleRegistry = class {
120
115
  resolved = importDefinition && importDefinition.uri;
121
116
  useImporter = importDefinition ? !!importDefinition.defaultUri : useImporter;
122
117
  if (this.namedDefineRegistry.has(resolvedOrPlain)) {
123
- const namedDefineRecord = this.namedDefineRegistry.get(resolvedOrPlain);
118
+ const namedDefineRecord = this.namedDefineRegistry.get(
119
+ resolvedOrPlain
120
+ );
124
121
  if (namedDefineRecord.external || namedDefineRecord.defined) {
125
122
  const record = this.moduleRegistry.get(resolved);
126
123
  if (!record || !this.aliases.has(resolvedOrPlain)) {
@@ -149,7 +146,12 @@ var ModuleRegistry = class {
149
146
  define(name, dependencies, exporter, signatures) {
150
147
  const mod = this.namedDefineRegistry.get(name);
151
148
  if (mod && mod.defined) {
152
- if (process.env.NODE_ENV !== "production" && import_dom.hasProcessEnv && process.env.MRT_HMR !== "true") {
149
+ if (
150
+ // note: we always expect process.env.NODE_ENV to be replaced at build time
151
+ // eslint-disable-next-line lwr/no-unguarded-apis
152
+ import_dom.hasProcessEnv && // eslint-disable-next-line lwr/no-unguarded-apis
153
+ process.env.MRT_HMR !== "true"
154
+ ) {
153
155
  if (!this.warnings[import_constants.MODULE_WARNING.MODULE_REDEFINE].includes(name)) {
154
156
  this.warnings[import_constants.MODULE_WARNING.MODULE_REDEFINE].push(name);
155
157
  }
@@ -170,7 +172,7 @@ var ModuleRegistry = class {
170
172
  if (mod && mod.external) {
171
173
  mod.external.resolveExternal(moduleDef);
172
174
  }
173
- this.profiler.logOperationStart({id: import_metrics.MODULE_DEFINE, specifier: name});
175
+ this.profiler.logOperationStart({ id: import_metrics.MODULE_DEFINE, specifier: name });
174
176
  this.namedDefineRegistry.set(name, moduleDef);
175
177
  this.lastDefine = moduleDef;
176
178
  if (signatures.hashes) {
@@ -179,6 +181,11 @@ var ModuleRegistry = class {
179
181
  });
180
182
  }
181
183
  }
184
+ /**
185
+ * Marks modules as "externally" loaded/provided, so that the loader does not attempt to fetch them.
186
+ *
187
+ * @param modules - list of module identifiers
188
+ */
182
189
  registerExternalModules(modules) {
183
190
  modules.map((id) => {
184
191
  if (!this.namedDefineRegistry.has(id)) {
@@ -201,7 +208,7 @@ var ModuleRegistry = class {
201
208
  }
202
209
  };
203
210
  this.namedDefineRegistry.set(id, moduleDef);
204
- } else if (process.env.NODE_ENV !== "production") {
211
+ } else if (true) {
205
212
  if (!this.warnings[import_constants.MODULE_WARNING.MODULE_ALREADY_LOADED].includes(id)) {
206
213
  this.warnings[import_constants.MODULE_WARNING.MODULE_ALREADY_LOADED].push(id);
207
214
  }
@@ -234,15 +241,27 @@ var ModuleRegistry = class {
234
241
  newHash: signature
235
242
  });
236
243
  } else {
237
- if (process.env.NODE_ENV !== "production" && import_dom.hasConsole) {
238
- console.warn(`stale module detected ${name}, current sig:${currentSig}, new sig:${signature}`);
244
+ if (import_dom.hasConsole) {
245
+ console.warn(
246
+ `stale module detected ${name}, current sig:${currentSig}, new sig:${signature}`
247
+ );
239
248
  }
240
249
  }
241
250
  }
242
251
  }
252
+ resolver;
243
253
  setImportResolver(resolver) {
244
254
  this.resolver = resolver;
245
255
  }
256
+ baseUrl;
257
+ // A registry for named AMD defines containing the *metadata* of AMD module
258
+ namedDefineRegistry = /* @__PURE__ */ new Map();
259
+ // The evaluated module registry where the module identifier (name or URL?) is the key
260
+ moduleRegistry = /* @__PURE__ */ new Map();
261
+ // Aliases of modules in the registry
262
+ aliases = /* @__PURE__ */ new Map();
263
+ lastDefine;
264
+ // Returns an existing module record by the resolvedId or aliased id
246
265
  getExistingModuleRecord(resolvedId, aliasId) {
247
266
  const moduleRecord = this.moduleRegistry.get(resolvedId);
248
267
  if (moduleRecord) {
@@ -279,7 +298,7 @@ var ModuleRegistry = class {
279
298
  });
280
299
  const newModuleRecord = {
281
300
  id: resolvedId,
282
- module: Object.create(null),
301
+ module: /* @__PURE__ */ Object.create(null),
283
302
  dependencyRecords,
284
303
  instantiation,
285
304
  evaluated: false,
@@ -293,7 +312,7 @@ var ModuleRegistry = class {
293
312
  if (aliasId !== resolvedId) {
294
313
  if (!this.aliases.has(aliasId)) {
295
314
  this.aliases.set(aliasId, resolvedId);
296
- } else if (import_dom.hasConsole && process.env.NODE_ENV !== "production") {
315
+ } else if (import_dom.hasConsole && true) {
297
316
  const currentResolvedId = this.aliases.get(aliasId);
298
317
  if (currentResolvedId !== resolvedId) {
299
318
  const warningMsg = `${aliasId}=>${currentResolvedId}, ${resolvedId}`;
@@ -318,6 +337,7 @@ var ModuleRegistry = class {
318
337
  }
319
338
  return this.getModuleRecord(resolvedDepId, dependency);
320
339
  }
340
+ // execute the "top-level code" (the code outside of functions) of a module
321
341
  async topLevelEvaluation(moduleRecord) {
322
342
  return this.evaluateModule(moduleRecord, {});
323
343
  }
@@ -328,26 +348,28 @@ var ModuleRegistry = class {
328
348
  evaluationMap[moduleRecord.id] = true;
329
349
  await this.evaluateModuleDependencies(dependencyModuleRecords, evaluationMap);
330
350
  }
331
- const {exporter, dependencies} = await moduleRecord.instantiation;
332
- const exports2 = {};
333
- const depsMapped = dependencies ? await Promise.all(dependencies.map(async (dep) => {
334
- if (dep === "exports") {
335
- return exports2;
336
- }
337
- const resolvedDepId = await this.resolve(dep);
338
- const moduleRecord2 = this.moduleRegistry.get(resolvedDepId);
339
- if (!moduleRecord2) {
351
+ const { exporter, dependencies } = await moduleRecord.instantiation;
352
+ const exports = {};
353
+ const depsMapped = dependencies ? await Promise.all(
354
+ dependencies.map(async (dep) => {
355
+ if (dep === "exports") {
356
+ return exports;
357
+ }
358
+ const resolvedDepId = await this.resolve(dep);
359
+ const moduleRecord2 = this.moduleRegistry.get(resolvedDepId);
360
+ if (!moduleRecord2) {
361
+ throw new import_messages.LoaderError(import_messages.FAILED_DEP, [resolvedDepId]);
362
+ }
363
+ const module2 = moduleRecord2.module;
364
+ if (!moduleRecord2.evaluated) {
365
+ return this.getCircularDependencyWrapper(module2);
366
+ }
367
+ if (module2) {
368
+ return module2.__defaultInterop ? module2.default : module2;
369
+ }
340
370
  throw new import_messages.LoaderError(import_messages.FAILED_DEP, [resolvedDepId]);
341
- }
342
- const module2 = moduleRecord2.module;
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
- })) : [];
371
+ })
372
+ ) : [];
351
373
  if (moduleRecord.evaluated) {
352
374
  return moduleRecord.module;
353
375
  }
@@ -358,14 +380,14 @@ var ModuleRegistry = class {
358
380
  throw new import_messages.LoaderError(import_messages.EXPORTER_ERROR, [moduleRecord.id, e.message || e]);
359
381
  }
360
382
  if (moduleDefault !== void 0) {
361
- moduleDefault = {default: moduleDefault};
362
- Object.defineProperty(moduleDefault, "__defaultInterop", {value: true});
383
+ moduleDefault = { default: moduleDefault };
384
+ Object.defineProperty(moduleDefault, "__defaultInterop", { value: true });
363
385
  } else {
364
- if (this.isNamedExportDefaultOnly(exports2)) {
365
- Object.defineProperty(exports2, "__useDefault", {value: true});
386
+ if (this.isNamedExportDefaultOnly(exports)) {
387
+ Object.defineProperty(exports, "__useDefault", { value: true });
366
388
  }
367
389
  }
368
- const moduleExports = moduleDefault || exports2;
390
+ const moduleExports = moduleDefault || exports;
369
391
  for (const key in moduleExports) {
370
392
  Object.defineProperty(moduleRecord.module, key, {
371
393
  enumerable: true,
@@ -378,21 +400,24 @@ var ModuleRegistry = class {
378
400
  });
379
401
  }
380
402
  if (moduleExports.__useDefault) {
381
- Object.defineProperty(moduleRecord.module, "__useDefault", {value: true});
403
+ Object.defineProperty(moduleRecord.module, "__useDefault", { value: true });
382
404
  }
383
405
  if (moduleExports.__defaultInterop) {
384
- Object.defineProperty(moduleRecord.module, "__defaultInterop", {value: true});
406
+ Object.defineProperty(moduleRecord.module, "__defaultInterop", { value: true });
385
407
  }
386
408
  if (moduleExports.__esModule) {
387
- Object.defineProperty(moduleRecord.module, "__esModule", {value: true});
409
+ Object.defineProperty(moduleRecord.module, "__esModule", { value: true });
388
410
  }
389
411
  moduleRecord.evaluated = true;
390
412
  Object.freeze(moduleRecord.module);
391
413
  return moduleRecord.module;
392
414
  }
393
- isNamedExportDefaultOnly(exports2) {
394
- return exports2 !== void 0 && Object.getOwnPropertyNames(exports2).length === 2 && Object.prototype.hasOwnProperty.call(exports2, "default") && Object.prototype.hasOwnProperty.call(exports2, "__esModule");
415
+ // Determines if named exports module has only default export
416
+ isNamedExportDefaultOnly(exports) {
417
+ return exports !== void 0 && Object.getOwnPropertyNames(exports).length === 2 && Object.prototype.hasOwnProperty.call(exports, "default") && Object.prototype.hasOwnProperty.call(exports, "__esModule");
395
418
  }
419
+ // Wrap the dependency in a function that can be called and detected by __circular__ property.
420
+ // The LWC engine checks for __circular__ to detect circular dependencies.
396
421
  getCircularDependencyWrapper(module2) {
397
422
  const tmp = () => {
398
423
  return module2.__useDefault || module2.__defaultInterop ? module2.default : module2;
@@ -421,14 +446,17 @@ var ModuleRegistry = class {
421
446
  }
422
447
  const parentUrl = this.baseUrl;
423
448
  const specifier = moduleName || originalId;
424
- this.profiler.logOperationStart({id: import_metrics.MODULE_FETCH, specifier});
449
+ this.profiler.logOperationStart({ id: import_metrics.MODULE_FETCH, specifier });
425
450
  return Promise.resolve().then(async () => {
426
451
  const loadHooks = this.loadHook;
427
452
  if (loadHooks) {
428
453
  for (let i = 0; i < loadHooks.length; i++) {
429
454
  const loadHook = loadHooks[i];
430
455
  const response = loadHook(resolvedId, parentUrl);
431
- const result = (0, import_resolveAndLoadHook.isResponseAPromise)(response) ? await (0, import_resolveAndLoadHook.evaluateLoadHook)(resolvedId, response) : response;
456
+ const result = (0, import_resolveAndLoadHook.isResponseAPromise)(response) ? (
457
+ // eslint-disable-next-line no-await-in-loop
458
+ await (0, import_resolveAndLoadHook.evaluateLoadHook)(resolvedId, response)
459
+ ) : response;
432
460
  if (result === void 0) {
433
461
  throw new import_messages.LoaderError(import_messages.INVALID_LOADER_SERVICE_RESPONSE);
434
462
  }
@@ -445,26 +473,31 @@ var ModuleRegistry = class {
445
473
  }).then(() => {
446
474
  moduleDef = moduleName && this.namedDefineRegistry.get(moduleName);
447
475
  if (!moduleDef) {
448
- this.logMessage("warning", `${moduleName} not found, falling back to the last loader.define call`);
476
+ this.logMessage(
477
+ "warning",
478
+ `${moduleName} not found, falling back to the last loader.define call`
479
+ );
449
480
  moduleDef = this.lastDefine;
450
481
  }
451
482
  if (!moduleDef) {
452
483
  throw new import_messages.LoaderError(import_messages.FAIL_INSTANTIATE, [resolvedId]);
453
484
  }
454
- this.profiler.logOperationEnd({id: import_metrics.MODULE_FETCH, specifier});
485
+ this.profiler.logOperationEnd({ id: import_metrics.MODULE_FETCH, specifier });
455
486
  return moduleDef;
456
487
  }).catch((e) => {
457
488
  if (!(e instanceof import_messages.LoaderError)) {
458
- this.profiler.logOperationStart({id: import_metrics.MODULE_ERROR, specifier});
489
+ this.profiler.logOperationStart({ id: import_metrics.MODULE_ERROR, specifier });
459
490
  }
460
491
  throw e;
461
492
  });
462
493
  }
494
+ resolveHook;
495
+ loadHook;
463
496
  addLoaderPlugin(hooks) {
464
497
  if (typeof hooks !== "object") {
465
498
  throw new import_messages.LoaderError(import_messages.INVALID_HOOK);
466
499
  }
467
- const {loadModule: loadHook, resolveModule: resolveHook} = hooks;
500
+ const { loadModule: loadHook, resolveModule: resolveHook } = hooks;
468
501
  if (resolveHook) {
469
502
  if (this.resolveHook) {
470
503
  this.resolveHook.push(resolveHook);
@@ -480,6 +513,7 @@ var ModuleRegistry = class {
480
513
  }
481
514
  }
482
515
  }
516
+ handleStaleModuleHook;
483
517
  registerHandleStaleModuleHook(handleStaleModule) {
484
518
  if (this.handleStaleModuleHook) {
485
519
  this.handleStaleModuleHook.push(handleStaleModule);
@@ -495,7 +529,9 @@ var ModuleRegistry = class {
495
529
  return this.warnings;
496
530
  }
497
531
  logMessage(logType, message) {
498
- if (!import_dom.hasConsole || process.env.NODE_ENV === "production") {
532
+ if (!import_dom.hasConsole || // note: we always expect this to be replaced at build time
533
+ // eslint-disable-next-line lwr/no-unguarded-apis
534
+ false) {
499
535
  return;
500
536
  }
501
537
  if (logType == "warning") {
@@ -1,33 +1,29 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
- var __getProtoOf = Object.getPrototypeOf;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
5
  var __export = (target, all) => {
9
6
  for (var name in all)
10
- __defProp(target, name, {get: all[name], enumerable: true});
7
+ __defProp(target, name, { get: all[name], enumerable: true });
11
8
  };
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});
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
14
  }
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);
15
+ return to;
22
16
  };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
18
 
24
19
  // packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/moduleRegistry/scriptLoad.ts
25
- __markAsModule(exports);
26
- __export(exports, {
20
+ var scriptLoad_exports = {};
21
+ __export(scriptLoad_exports, {
27
22
  loadModuleDef: () => loadModuleDef
28
23
  });
29
- var import_messages = __toModule(require("../errors/messages.cjs"));
30
- var import_dom = __toModule(require("../utils/dom.cjs"));
24
+ module.exports = __toCommonJS(scriptLoad_exports);
25
+ var import_messages = require("../errors/messages.cjs");
26
+ var import_dom = require("../utils/dom.cjs");
31
27
  function createScript(url) {
32
28
  const script = document.createElement("script");
33
29
  script.async = true;
@@ -1,19 +1,31 @@
1
1
  var __defProp = Object.defineProperty;
2
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
3
5
  var __export = (target, all) => {
4
6
  for (var name in all)
5
- __defProp(target, name, {get: all[name], enumerable: true});
7
+ __defProp(target, name, { get: all[name], enumerable: true });
6
8
  };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
7
18
 
8
19
  // packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/utils/dom.ts
9
- __markAsModule(exports);
10
- __export(exports, {
20
+ var dom_exports = {};
21
+ __export(dom_exports, {
11
22
  hasConsole: () => hasConsole,
12
23
  hasDocument: () => hasDocument,
13
24
  hasProcess: () => hasProcess,
14
25
  hasProcessEnv: () => hasProcessEnv,
15
26
  hasSetTimeout: () => hasSetTimeout
16
27
  });
28
+ module.exports = __toCommonJS(dom_exports);
17
29
  var hasDocument = typeof document !== "undefined";
18
30
  var hasSetTimeout = typeof setTimeout === "function";
19
31
  var hasConsole = typeof console !== "undefined";
@@ -1,35 +1,31 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
- var __getProtoOf = Object.getPrototypeOf;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
5
  var __export = (target, all) => {
9
6
  for (var name in all)
10
- __defProp(target, name, {get: all[name], enumerable: true});
7
+ __defProp(target, name, { get: all[name], enumerable: true });
11
8
  };
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});
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
14
  }
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);
15
+ return to;
22
16
  };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
18
 
24
19
  // packages/@lwrjs/loader/src/modules/lwr/loaderLegacy/utils/url.ts
25
- __markAsModule(exports);
26
- __export(exports, {
20
+ var url_exports = {};
21
+ __export(url_exports, {
27
22
  getBaseUrl: () => getBaseUrl,
28
23
  isUrl: () => isUrl,
29
24
  resolveIfNotPlainOrUrl: () => resolveIfNotPlainOrUrl,
30
25
  resolveUrl: () => resolveUrl
31
26
  });
32
- var import_dom = __toModule(require("./dom.cjs"));
27
+ module.exports = __toCommonJS(url_exports);
28
+ var import_dom = require("./dom.cjs");
33
29
  function getBaseUrl() {
34
30
  let baseUrl = void 0;
35
31
  if (import_dom.hasDocument) {
@@ -50,8 +46,7 @@ function isUrl(url) {
50
46
  }
51
47
  function resolveIfNotPlainOrUrl(relUrl, parentUrl) {
52
48
  const backslashRegEx = /\\/g;
53
- if (relUrl.indexOf("\\") !== -1)
54
- relUrl = relUrl.replace(backslashRegEx, "/");
49
+ if (relUrl.indexOf("\\") !== -1) relUrl = relUrl.replace(backslashRegEx, "/");
55
50
  if (relUrl[0] === "/" && relUrl[1] === "/") {
56
51
  return parentUrl.slice(0, parentUrl.indexOf(":") + 1) + relUrl;
57
52
  } else if (relUrl[0] === "." && (relUrl[1] === "/" || relUrl[1] === "." && (relUrl[2] === "/" || relUrl.length === 2 && (relUrl += "/")) || relUrl.length === 1 && (relUrl += "/")) || relUrl[0] === "/") {
@@ -65,10 +60,11 @@ function resolveIfNotPlainOrUrl(relUrl, parentUrl) {
65
60
  pathname = parentUrl.slice(8);
66
61
  }
67
62
  } else {
68
- pathname = parentUrl.slice(parentProtocol.length + (parentUrl[parentProtocol.length] === "/" ? 1 : 0));
63
+ pathname = parentUrl.slice(
64
+ parentProtocol.length + (parentUrl[parentProtocol.length] === "/" ? 1 : 0)
65
+ );
69
66
  }
70
- if (relUrl[0] === "/")
71
- return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl;
67
+ if (relUrl[0] === "/") return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl;
72
68
  const segmented = pathname.slice(0, pathname.lastIndexOf("/") + 1) + relUrl;
73
69
  const output = [];
74
70
  let segmentIndex = -1;
@@ -91,8 +87,7 @@ function resolveIfNotPlainOrUrl(relUrl, parentUrl) {
91
87
  segmentIndex = i;
92
88
  }
93
89
  }
94
- if (segmentIndex !== -1)
95
- output.push(segmented.slice(segmentIndex));
90
+ if (segmentIndex !== -1) output.push(segmented.slice(segmentIndex));
96
91
  return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join("");
97
92
  }
98
93
  }