@lwrjs/everywhere 0.12.0-alpha.6 → 0.12.0-alpha.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (24) hide show
  1. package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/e050122262c9c7eb0f9fb8b85f52e5b3/config.js +11 -0
  2. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/@lwrjs/app-service/amd-bootstrap/module/amd/v/0_12_0-alpha_8/s/8bce578258518655194bd71d1d72aad5/@lwrjs_app-service_amd-bootstrap_module_amd.js +14 -0
  3. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwc/v/{6_0_0/s/6e7ff236fd6011fdc06fb33b61261493 → 6_1_1/s/97cfd3dd664529265351b5d32d878542}/lwc.js +89 -68
  4. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/everywhereAmd/v/{0_12_0-alpha_6 → 0_12_0-alpha_8}/s/cb931ebef2b89dcf8ab51456e3a68864/lwr_everywhereAmd.js +3 -3
  5. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/init/v/{0_12_0-alpha_6 → 0_12_0-alpha_8}/s/f30361ad8ff7af505bf4d465c8499181/lwr_init.js +21 -21
  6. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/loader/v/{0_12_0-alpha_6/s/7d8a8e317de06e72e1bf307d3ea8d1f0 → 0_12_0-alpha_8/s/defdc8250ae07a7f1997e7288f4130fa}/lwr_loader.js +126 -132
  7. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/metrics/v/{0_12_0-alpha_6 → 0_12_0-alpha_8}/s/274c8343f810353bbad085a79709395f/lwr_metrics.js +1 -1
  8. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/preInit/v/{0_12_0-alpha_6 → 0_12_0-alpha_8}/s/f3a204ef43fb3057d910f80d7e9f9ba7/lwr_preInit.js +1 -1
  9. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/profiler/v/{0_12_0-alpha_6 → 0_12_0-alpha_8}/s/a152b8d35f12ca1b5147c5cd1ee155fb/lwr_profiler.js +1 -1
  10. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/vault/v/{0_12_0-alpha_6 → 0_12_0-alpha_8}/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js +1 -1
  11. package/build/__generated_site_amd_modules__/1/resource/amd/lwr-error-shim.js/v/{0_12_0-alpha_6 → 0_12_0-alpha_8}/lwr-error-shim.js +1 -1
  12. package/build/__generated_site_amd_modules__/1/resource/amd/lwr-loader-shim.bundle.js/v/{0_12_0-alpha_6 → 0_12_0-alpha_8}/lwr-loader-shim.bundle.js +131 -163
  13. package/build/assets/amd/lwr-everywhere-debug.js +133 -165
  14. package/build/assets/amd/lwr-everywhere-min.js +2 -2
  15. package/build/assets/amd/lwr-everywhere.js +133 -165
  16. package/build/assets/core/lwr-everywhere-debug.js +129 -161
  17. package/build/assets/core/lwr-everywhere-min.js +1 -1
  18. package/build/assets/core/lwr-everywhere.js +129 -161
  19. package/build/assets/esm/lwr-everywhere-debug.js +1 -1
  20. package/build/assets/esm/lwr-everywhere-min.js +1 -1
  21. package/build/assets/esm/lwr-everywhere.js +1 -1
  22. package/package.json +8 -8
  23. package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/c4ab7e5dbc0697efbf468c722dbd35d0/config.js +0 -11
  24. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/@lwrjs/app-service/amd-bootstrap/module/amd/v/0_12_0-alpha_6/s/8bce578258518655194bd71d1d72aad5/@lwrjs_app-service_amd-bootstrap_module_amd.js +0 -14
@@ -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 Module Loader Shim v0.12.0-alpha.6 */
7
+ /* LWR Module Loader Shim v0.12.0-alpha.8 */
8
8
  (function () {
9
9
  'use strict';
10
10
 
@@ -205,7 +205,7 @@
205
205
  // Parse configuration
206
206
  this.global = global;
207
207
  this.config = global.LWR ;
208
- this.loaderSpecifier = 'lwr/loader/v/0_12_0-alpha_6';
208
+ this.loaderSpecifier = 'lwr/loader/v/0_12_0-alpha_8';
209
209
 
210
210
  // Set up error handler
211
211
  this.errorHandler = this.config.onError;
@@ -326,7 +326,7 @@
326
326
  const exporter = (exports) => {
327
327
  Object.assign(exports, { logOperationStart, logOperationEnd });
328
328
  };
329
- globalLWR.define('lwr/profiler/v/0_12_0-alpha_6', ['exports'], exporter);
329
+ globalLWR.define('lwr/profiler/v/0_12_0-alpha_8', ['exports'], exporter);
330
330
  }
331
331
 
332
332
  // Set up the application globals, import map, root custom element...
@@ -398,14 +398,14 @@
398
398
  // The loader module is ALWAYS required
399
399
  const GLOBAL = globalThis ;
400
400
  GLOBAL.LWR.requiredModules = GLOBAL.LWR.requiredModules || [];
401
- if (GLOBAL.LWR.requiredModules.indexOf('lwr/loader/v/0_12_0-alpha_6') < 0) {
402
- GLOBAL.LWR.requiredModules.push('lwr/loader/v/0_12_0-alpha_6');
401
+ if (GLOBAL.LWR.requiredModules.indexOf('lwr/loader/v/0_12_0-alpha_8') < 0) {
402
+ GLOBAL.LWR.requiredModules.push('lwr/loader/v/0_12_0-alpha_8');
403
403
  }
404
404
  new LoaderShim(GLOBAL);
405
405
 
406
406
  })();
407
407
 
408
- LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'use strict';
408
+ LWR.define('lwr/loader/v/0_12_0-alpha_8', ['exports'], (function (exports) { 'use strict';
409
409
 
410
410
  const templateRegex = /\{([0-9]+)\}/g;
411
411
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1200,13 +1200,22 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1200
1200
 
1201
1201
 
1202
1202
 
1203
-
1204
-
1205
1203
 
1206
1204
 
1207
1205
 
1208
1206
  class ModuleRegistry {
1209
1207
 
1208
+
1209
+ // A registry for named AMD defines containing the *metadata* of AMD module
1210
+ __init() {this.namedDefineRegistry = new Map();}
1211
+ // The evaluated module registry where the module identifier (name or URL?) is the key
1212
+ __init2() {this.moduleRegistry = new Map();}
1213
+ // Aliases of modules in the registry
1214
+ __init3() {this.aliases = new Map();}
1215
+
1216
+
1217
+
1218
+
1210
1219
 
1211
1220
  constructor(config) {ModuleRegistry.prototype.__init.call(this);ModuleRegistry.prototype.__init2.call(this);ModuleRegistry.prototype.__init3.call(this);
1212
1221
  this.profiler = config.profiler;
@@ -1216,6 +1225,9 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1216
1225
  );
1217
1226
  }
1218
1227
 
1228
+ /**
1229
+ * Module import
1230
+ */
1219
1231
  async load(id, importer) {
1220
1232
  const metadata = importer ? { importer } : {};
1221
1233
  this.profiler.logOperationStart({
@@ -1223,18 +1235,23 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1223
1235
  specifier: id,
1224
1236
  metadata,
1225
1237
  });
1238
+
1226
1239
  const resolvedId = await this.resolve(id, importer);
1227
- const moduleRecord = await this.getModuleRecord(resolvedId, id);
1240
+ const moduleRecord = this.getModuleRecord(resolvedId, id);
1241
+
1228
1242
  if (moduleRecord.evaluated) {
1229
1243
  return moduleRecord.module;
1230
1244
  } else {
1231
1245
  if (!moduleRecord.evaluationPromise) {
1232
- moduleRecord.evaluationPromise = this.topLevelEvaluation(moduleRecord);
1246
+ moduleRecord.evaluationPromise = this.evaluateModule(moduleRecord, {});
1233
1247
  }
1234
1248
  return moduleRecord.evaluationPromise;
1235
1249
  }
1236
1250
  }
1237
1251
 
1252
+ /**
1253
+ * Resolve id for a module
1254
+ */
1238
1255
  async resolve(id, importer) {
1239
1256
  const parentUrl = this.resolver.getBaseUrl(); // only support baseUrl for now
1240
1257
 
@@ -1250,7 +1267,7 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1250
1267
  // eslint-disable-next-line no-await-in-loop
1251
1268
  result = isResponseAPromise(response) ? await response : response;
1252
1269
  }
1253
- if (!this.isValidResolveResponse(result)) {
1270
+ if (!isValidResolveResponse(result)) {
1254
1271
  throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);
1255
1272
  }
1256
1273
 
@@ -1336,6 +1353,9 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1336
1353
  return this.moduleRegistry.has(id);
1337
1354
  }
1338
1355
 
1356
+ /**
1357
+ * Module entry point LWR.define()
1358
+ */
1339
1359
  define(name, dependencies, exporter) {
1340
1360
  const mod = this.namedDefineRegistry.get(name);
1341
1361
  // Don't allow redefining a module.
@@ -1402,19 +1422,6 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1402
1422
  });
1403
1423
  }
1404
1424
 
1405
-
1406
-
1407
- // A registry for named AMD defines containing the *metadata* of AMD module
1408
- __init() {this.namedDefineRegistry = new Map();}
1409
-
1410
- // The evaluated module registry where the module identifier (name or URL?) is the key
1411
- __init2() {this.moduleRegistry = new Map();}
1412
-
1413
- // Aliases of modules in the registry
1414
- __init3() {this.aliases = new Map();}
1415
-
1416
-
1417
-
1418
1425
  getImportMetadataResolver() {
1419
1426
  return this.resolver;
1420
1427
  }
@@ -1440,7 +1447,7 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1440
1447
  return moduleRecord;
1441
1448
  }
1442
1449
 
1443
- async getModuleRecord(resolvedId, id) {
1450
+ getModuleRecord(resolvedId, id) {
1444
1451
  // Look for an existing record
1445
1452
  const existingRecord = this.getExistingModuleRecord(resolvedId, id);
1446
1453
  if (existingRecord) {
@@ -1448,29 +1455,10 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1448
1455
  return existingRecord;
1449
1456
  }
1450
1457
 
1451
- // Create a new Module Record
1452
- const instantiation = this.getModuleDef(resolvedId, id);
1453
- const dependencyRecords = instantiation.then((moduleDef) => {
1454
- const dependencies = moduleDef.dependencies || [];
1455
- // get dep and filter out exports
1456
- const filtered = dependencies
1457
- .map((dep) => {
1458
- if (dep === 'exports') {
1459
- return;
1460
- }
1461
- invariant(dep !== 'require', NO_AMD_REQUIRE);
1462
- return this.getModuleDependencyRecord.call(this, dep);
1463
- })
1464
- .filter((depRecord) => depRecord !== undefined) ;
1465
-
1466
- return Promise.all(filtered);
1467
- });
1468
-
1469
1458
  const newModuleRecord = {
1470
1459
  id: resolvedId,
1471
1460
  module: Object.create(null),
1472
- dependencyRecords,
1473
- instantiation,
1461
+ instantiation: this.getModuleDef(resolvedId, id),
1474
1462
  evaluated: false,
1475
1463
  evaluationPromise: null,
1476
1464
  };
@@ -1478,8 +1466,7 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1478
1466
  this.moduleRegistry.set(resolvedId, newModuleRecord);
1479
1467
  this.storeModuleAlias(id, resolvedId);
1480
1468
 
1481
- // Wait for the dependencies to resolve the return the moduleRecord
1482
- return dependencyRecords.then(() => newModuleRecord);
1469
+ return newModuleRecord;
1483
1470
  }
1484
1471
 
1485
1472
  storeModuleAlias(aliasId, resolvedId) {
@@ -1500,95 +1487,87 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1500
1487
  }
1501
1488
  }
1502
1489
 
1503
- async getModuleDependencyRecord(dependency) {
1504
- const resolvedDepId = await this.resolve(dependency);
1505
- return this.getModuleRecord(resolvedDepId, dependency);
1506
- }
1490
+ /**
1491
+ * Evaluate all module dependencies
1492
+ */
1493
+ async evaluateDependencies(
1494
+ dependencies,
1495
+ evaluationMap,
1496
+ ) {
1497
+ const exports = {};
1498
+ const promiseArray = [];
1499
+
1500
+ if (dependencies) {
1501
+ for (const dep of dependencies) {
1502
+ if (dep === 'exports') {
1503
+ promiseArray.push(Promise.resolve(exports));
1504
+ } else {
1505
+ invariant(dep !== 'require', NO_AMD_REQUIRE);
1506
+ promiseArray.push(this.evaluateDependent(dep, evaluationMap));
1507
+ }
1508
+ }
1509
+ }
1507
1510
 
1508
- // execute the "top-level code" (the code outside of functions) of a module
1509
- async topLevelEvaluation(moduleRecord) {
1510
- await this.instantiateAll(moduleRecord, {});
1511
- return this.evaluateModule(moduleRecord, {});
1511
+ return Promise.all(promiseArray).then((results) => {
1512
+ const depsMapped = results.filter((result) => result !== undefined);
1513
+ return { depsMapped, exports };
1514
+ });
1512
1515
  }
1513
1516
 
1514
- // Returns a promise when a module and all of it's dependencies have finished instantiation
1515
- async instantiateAll(
1516
- moduleRecord,
1517
- instantiatedMap,
1518
- ) {
1519
- if (!instantiatedMap[moduleRecord.id]) {
1520
- instantiatedMap[moduleRecord.id] = true;
1521
- const dependencyModuleRecords = await moduleRecord.dependencyRecords;
1522
- if (dependencyModuleRecords) {
1523
- for (let i = 0; i < dependencyModuleRecords.length; i++) {
1524
- const depRecord = dependencyModuleRecords[i];
1525
- // eslint-disable-next-line no-await-in-loop
1526
- await this.instantiateAll(depRecord, instantiatedMap);
1527
- }
1517
+ async evaluateDependent(dep, evaluationMap) {
1518
+ const resolvedDepId = await this.resolve(dep);
1519
+
1520
+ const depModuleRecord = this.getModuleRecord(resolvedDepId, dep);
1521
+ let module = depModuleRecord.module;
1522
+
1523
+ const handleReturn = (module) => {
1524
+ if (module) {
1525
+ return module.__defaultInterop ? module.default : module;
1528
1526
  }
1527
+ throw new LoaderError(FAILED_DEP, [resolvedDepId]);
1528
+ };
1529
+
1530
+ // If evaluated return the module
1531
+ if (depModuleRecord.evaluated) {
1532
+ return handleReturn(module);
1533
+ }
1534
+ /**
1535
+ * Circular dependencies are handled properly when named exports are used,
1536
+ * however, for default exports there is a bug: https://github.com/rollup/rollup/issues/3384
1537
+ *
1538
+ * The workaround below applies for circular dependencies (!moduleRecord.evaluated)
1539
+ */
1540
+ if (!evaluationMap[depModuleRecord.id]) {
1541
+ // If we have not started dependency evaluation kick it off
1542
+ if (!depModuleRecord.evaluationPromise) {
1543
+ depModuleRecord.evaluationPromise = this.evaluateModule(depModuleRecord, evaluationMap);
1544
+ }
1545
+ return depModuleRecord.evaluationPromise.then((module) => {
1546
+ return handleReturn(module);
1547
+ });
1548
+ } else {
1549
+ // Otherwise return a dummy circular module wrapper
1550
+ module = getCircularDependencyWrapper(module);
1529
1551
  }
1552
+ return handleReturn(module);
1530
1553
  }
1531
1554
 
1532
1555
  async evaluateModule(
1533
1556
  moduleRecord,
1534
1557
  evaluationMap,
1535
1558
  ) {
1536
- const dependencyModuleRecords = await moduleRecord.dependencyRecords;
1537
- if (dependencyModuleRecords.length > 0) {
1538
- evaluationMap[moduleRecord.id] = true;
1539
- // evaluate dependencies first
1540
- await this.evaluateModuleDependencies(dependencyModuleRecords, evaluationMap);
1541
- }
1559
+ // Create a evaluationMap to detect cycles in this dep chain
1560
+ const chainMap = { ...evaluationMap };
1561
+ chainMap[moduleRecord.id] = true;
1542
1562
 
1563
+ // Wait for load to finish
1543
1564
  const { exporter, dependencies } = await moduleRecord.instantiation;
1544
- // The exports object automatically gets filled in by the exporter evaluation
1545
- const exports = {};
1546
- const depsMapped = dependencies
1547
- ? await Promise.all(
1548
- dependencies.map(async (dep) => {
1549
- if (dep === 'exports') {
1550
- return exports;
1551
- }
1552
- const resolvedDepId = await this.resolve(dep);
1553
-
1554
- const moduleRecord = this.moduleRegistry.get(resolvedDepId) ;
1555
- if (!moduleRecord) {
1556
- throw new LoaderError(FAILED_DEP, [resolvedDepId]);
1557
- }
1558
-
1559
- const module = moduleRecord.module;
1560
-
1561
- /**
1562
- * Circular dependencies are handled properly when named exports are used,
1563
- * however, for default exports there is a bug: https://github.com/rollup/rollup/issues/3384
1564
- *
1565
- * The workaround below applies for circular dependencies (!moduleRecord.evaluated)
1566
- */
1567
- if (!moduleRecord.evaluated) {
1568
- return this.getCircularDependencyWrapper(module);
1569
- }
1570
-
1571
- if (module) {
1572
- return module.__defaultInterop ? module.default : module;
1573
- }
1574
-
1575
- throw new LoaderError(FAILED_DEP, [resolvedDepId]);
1576
- }),
1577
- )
1578
- : [];
1579
-
1580
- // W-10029836 - In the case where we could be instantiating multiple graphs at the same time lets make sure the module have not already been evaluated
1581
- if (moduleRecord.evaluated) {
1582
- return moduleRecord.module;
1583
- }
1565
+
1566
+ // Evaluate all it's dependents
1567
+ const { depsMapped, exports } = await this.evaluateDependencies(dependencies, chainMap);
1584
1568
 
1585
1569
  // evaluates the module function
1586
- let moduleDefault;
1587
- try {
1588
- moduleDefault = exporter(...depsMapped);
1589
- } catch (e) {
1590
- throw new LoaderError(EXPORTER_ERROR, [moduleRecord.id, e.message || e]);
1591
- }
1570
+ let moduleDefault = this.evaluateModuleCode(exporter, depsMapped, moduleRecord);
1592
1571
  // value is returned from exporter, then we are not using named exports
1593
1572
  if (moduleDefault !== undefined) {
1594
1573
  moduleDefault = { default: moduleDefault };
@@ -1600,7 +1579,7 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1600
1579
  // if no return value, then we are using the exports object
1601
1580
  else {
1602
1581
  // handle only default export with Rollup forced named exports
1603
- if (this.isNamedExportDefaultOnly(exports)) {
1582
+ if (isNamedExportDefaultOnly(exports)) {
1604
1583
  Object.defineProperty(exports, '__useDefault', { value: true });
1605
1584
  }
1606
1585
  }
@@ -1632,42 +1611,17 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1632
1611
  Object.defineProperty(moduleRecord.module, '__esModule', { value: true });
1633
1612
  }
1634
1613
 
1635
- moduleRecord.evaluated = true;
1636
1614
  Object.freeze(moduleRecord.module);
1615
+ moduleRecord.evaluated = true;
1616
+ moduleRecord.evaluationPromise = null;
1637
1617
  return moduleRecord.module;
1638
1618
  }
1639
1619
 
1640
- // Determines if named exports module has only default export
1641
- isNamedExportDefaultOnly(exports) {
1642
- return (
1643
- exports !== undefined &&
1644
- Object.getOwnPropertyNames(exports).length === 2 &&
1645
- Object.prototype.hasOwnProperty.call(exports, 'default') &&
1646
- Object.prototype.hasOwnProperty.call(exports, '__esModule')
1647
- );
1648
- }
1649
-
1650
- // Wrap the dependency in a function that can be called and detected by __circular__ property.
1651
- // The LWC engine checks for __circular__ to detect circular dependencies.
1652
- getCircularDependencyWrapper(module) {
1653
- const tmp = () => {
1654
- return module.__useDefault || module.__defaultInterop ? module.default : module;
1655
- };
1656
- tmp.__circular__ = true;
1657
- return tmp;
1658
- }
1659
-
1660
- async evaluateModuleDependencies(
1661
- dependencyModuleRecords,
1662
- evaluationMap,
1663
- ) {
1664
- for (let i = 0; i < dependencyModuleRecords.length; i++) {
1665
- const depRecord = dependencyModuleRecords[i];
1666
- if (!depRecord.evaluated && !evaluationMap[depRecord.id]) {
1667
- evaluationMap[depRecord.id] = true;
1668
- // eslint-disable-next-line no-await-in-loop
1669
- await this.evaluateModule(depRecord, evaluationMap);
1670
- }
1620
+ evaluateModuleCode(evaluatedExporter, depsMapped, moduleRecord) {
1621
+ try {
1622
+ return evaluatedExporter(...depsMapped);
1623
+ } catch (e) {
1624
+ throw new LoaderError(EXPORTER_ERROR, [moduleRecord.id, e.message || e]);
1671
1625
  }
1672
1626
  }
1673
1627
 
@@ -1747,9 +1701,6 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1747
1701
  });
1748
1702
  }
1749
1703
 
1750
-
1751
-
1752
-
1753
1704
  addLoaderPlugin(hooks) {
1754
1705
  if (typeof hooks !== 'object') {
1755
1706
  throw new LoaderError(INVALID_HOOK);
@@ -1791,7 +1742,6 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1791
1742
  }
1792
1743
  }
1793
1744
 
1794
-
1795
1745
  registerHandleStaleModuleHook(handleStaleModule) {
1796
1746
  if (this.handleStaleModuleHook) {
1797
1747
  this.handleStaleModuleHook.push(handleStaleModule);
@@ -1799,12 +1749,30 @@ LWR.define('lwr/loader/v/0_12_0-alpha_6', ['exports'], (function (exports) { 'us
1799
1749
  this.handleStaleModuleHook = [handleStaleModule];
1800
1750
  }
1801
1751
  }
1752
+ }
1802
1753
 
1803
- isValidResolveResponse(res) {
1804
- return (
1805
- res === null || typeof res === 'string' || (res && typeof (res ).url === 'string')
1806
- );
1807
- }
1754
+ // Determines if named exports module has only default export
1755
+ function isNamedExportDefaultOnly(exports) {
1756
+ return (
1757
+ exports !== undefined &&
1758
+ Object.getOwnPropertyNames(exports).length === 2 &&
1759
+ Object.prototype.hasOwnProperty.call(exports, 'default') &&
1760
+ Object.prototype.hasOwnProperty.call(exports, '__esModule')
1761
+ );
1762
+ }
1763
+
1764
+ // Wrap the dependency in a function that can be called and detected by __circular__ property.
1765
+ // The LWC engine checks for __circular__ to detect circular dependencies.
1766
+ function getCircularDependencyWrapper(module) {
1767
+ const tmp = () => {
1768
+ return module.__useDefault || module.__defaultInterop ? module.default : module;
1769
+ };
1770
+ tmp.__circular__ = true;
1771
+ return tmp;
1772
+ }
1773
+
1774
+ function isValidResolveResponse(res) {
1775
+ return res === null || typeof res === 'string' || (res && typeof (res ).url === 'string');
1808
1776
  }
1809
1777
 
1810
1778
  /**