@lwrjs/everywhere 0.12.0-alpha.18 → 0.12.0-alpha.19

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 (23) hide show
  1. package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/08723ea0a65554c7a931779934247206/config.js +12 -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_19/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/lwr/everywhereAmd/v/{0_12_0-alpha_18 → 0_12_0-alpha_19}/s/cb931ebef2b89dcf8ab51456e3a68864/lwr_everywhereAmd.js +3 -3
  4. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/init/v/{0_12_0-alpha_18 → 0_12_0-alpha_19}/s/f30361ad8ff7af505bf4d465c8499181/lwr_init.js +19 -19
  5. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/loader/v/{0_12_0-alpha_18/s/4d339c68d153d7a65ee9aeda30e5c3d9 → 0_12_0-alpha_19/s/bfa35394789428d30613fedf7507d1fd}/lwr_loader.js +131 -125
  6. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/metrics/v/{0_12_0-alpha_18 → 0_12_0-alpha_19}/s/274c8343f810353bbad085a79709395f/lwr_metrics.js +1 -1
  7. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/preInit/v/{0_12_0-alpha_18 → 0_12_0-alpha_19}/s/ec0fad0e38a96bb0b88c9f4553460347/lwr_preInit.js +1 -1
  8. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/profiler/v/{0_12_0-alpha_18 → 0_12_0-alpha_19}/s/a152b8d35f12ca1b5147c5cd1ee155fb/lwr_profiler.js +1 -1
  9. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/vault/v/{0_12_0-alpha_18 → 0_12_0-alpha_19}/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js +1 -1
  10. package/build/__generated_site_amd_modules__/1/resource/amd/lwr-error-shim.js/v/{0_12_0-alpha_18 → 0_12_0-alpha_19}/lwr-error-shim.js +1 -1
  11. package/build/__generated_site_amd_modules__/1/resource/amd/lwr-loader-shim.bundle.js/v/{0_12_0-alpha_18 → 0_12_0-alpha_19}/lwr-loader-shim.bundle.js +163 -131
  12. package/build/assets/amd/lwr-everywhere-debug.js +165 -133
  13. package/build/assets/amd/lwr-everywhere-min.js +2 -2
  14. package/build/assets/amd/lwr-everywhere.js +165 -133
  15. package/build/assets/core/lwr-everywhere-debug.js +161 -129
  16. package/build/assets/core/lwr-everywhere-min.js +1 -1
  17. package/build/assets/core/lwr-everywhere.js +161 -129
  18. package/build/assets/esm/lwr-everywhere-debug.js +1 -1
  19. package/build/assets/esm/lwr-everywhere-min.js +1 -1
  20. package/build/assets/esm/lwr-everywhere.js +1 -1
  21. package/package.json +6 -6
  22. package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/521bc583cb94284201a80c65daad2264/config.js +0 -12
  23. 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_18/s/8bce578258518655194bd71d1d72aad5/@lwrjs_app-service_amd-bootstrap_module_amd.js +0 -14
@@ -0,0 +1,12 @@
1
+ /* This script is generated */
2
+ /* Client Bootstrap configuration */
3
+ globalThis.LWR = globalThis.LWR || {};
4
+ Object.assign(globalThis.LWR, {"appId":"amd-bootstrap","bootstrapModule":"@lwrjs/app-service/amd-bootstrap/module/amd/v/0_12_0-alpha_19","autoBoot":true,"imports":{"/1/module/amd/1/l/en-US/mi/%40lwrjs%2Fapp-service%2Famd-bootstrap%2Fmodule%2Famd%2Fv%2F0_12_0-alpha_19/s/8bce578258518655194bd71d1d72aad5/@lwrjs_app-service_amd-bootstrap_module_amd.js":["@lwrjs/app-service/amd-bootstrap/module/amd/v/0_12_0-alpha_19"],"/1/module/amd/1/l/en-US/mi/lwr%2FpreInit%2Fv%2F0_12_0-alpha_19/s/ec0fad0e38a96bb0b88c9f4553460347/lwr_preInit.js":["lwr/preInit/v/0_12_0-alpha_19"],"/1/module/amd/1/l/en-US/mi/lwr%2Finit%2Fv%2F0_12_0-alpha_19/s/f30361ad8ff7af505bf4d465c8499181/lwr_init.js":["lwr/init/v/0_12_0-alpha_19"],"/1/module/amd/1/l/en-US/mi/lwr%2Fmetrics%2Fv%2F0_12_0-alpha_19/s/274c8343f810353bbad085a79709395f/lwr_metrics.js":["lwr/metrics/v/0_12_0-alpha_19"],"/1/module/amd/1/l/en-US/mi/lwr%2Fprofiler%2Fv%2F0_12_0-alpha_19/s/a152b8d35f12ca1b5147c5cd1ee155fb/lwr_profiler.js":["lwr/profiler/v/0_12_0-alpha_19"],"/1/module/amd/1/l/en-US/mi/lwc%2Fv%2F6_2_1/s/2670f5386c68fa67ae710174187505e9/lwc.js":["lwc/v/6_2_1"],"/1/module/amd/1/l/en-US/mi/lwr%2FeverywhereAmd%2Fv%2F0_12_0-alpha_19/s/cb931ebef2b89dcf8ab51456e3a68864/lwr_everywhereAmd.js":["lwr/everywhereAmd/v/0_12_0-alpha_19"],"/1/module/amd/1/l/en-US/mi/lwr%2Fvault%2Fv%2F0_12_0-alpha_19/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js":["lwr/vault/v/0_12_0-alpha_19"]},"index":{"@lwrjs/app-service/amd-bootstrap/module/amd/v/0_12_0-alpha_19":"/1/module/amd/1/l/en-US/mi/%40lwrjs%2Fapp-service%2Famd-bootstrap%2Fmodule%2Famd%2Fv%2F0_12_0-alpha_19/s/8bce578258518655194bd71d1d72aad5/@lwrjs_app-service_amd-bootstrap_module_amd.js","lwr/preInit/v/0_12_0-alpha_19":"/1/module/amd/1/l/en-US/mi/lwr%2FpreInit%2Fv%2F0_12_0-alpha_19/s/ec0fad0e38a96bb0b88c9f4553460347/lwr_preInit.js","lwr/init/v/0_12_0-alpha_19":"/1/module/amd/1/l/en-US/mi/lwr%2Finit%2Fv%2F0_12_0-alpha_19/s/f30361ad8ff7af505bf4d465c8499181/lwr_init.js","lwr/metrics/v/0_12_0-alpha_19":"/1/module/amd/1/l/en-US/mi/lwr%2Fmetrics%2Fv%2F0_12_0-alpha_19/s/274c8343f810353bbad085a79709395f/lwr_metrics.js","lwr/profiler/v/0_12_0-alpha_19":"/1/module/amd/1/l/en-US/mi/lwr%2Fprofiler%2Fv%2F0_12_0-alpha_19/s/a152b8d35f12ca1b5147c5cd1ee155fb/lwr_profiler.js","lwc/v/6_2_1":"/1/module/amd/1/l/en-US/mi/lwc%2Fv%2F6_2_1/s/2670f5386c68fa67ae710174187505e9/lwc.js","lwr/everywhereAmd/v/0_12_0-alpha_19":"/1/module/amd/1/l/en-US/mi/lwr%2FeverywhereAmd%2Fv%2F0_12_0-alpha_19/s/cb931ebef2b89dcf8ab51456e3a68864/lwr_everywhereAmd.js","lwr/vault/v/0_12_0-alpha_19":"/1/module/amd/1/l/en-US/mi/lwr%2Fvault%2Fv%2F0_12_0-alpha_19/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js"},"rootComponents":["lwr/everywhereAmd/v/0_12_0-alpha_19"],"serverData":{},"requiredModules":["@lwrjs/app-service/amd-bootstrap/module/amd/v/0_12_0-alpha_19"],"preloadModules":["lwr/preInit/v/0_12_0-alpha_19","lwr/init/v/0_12_0-alpha_19","lwr/metrics/v/0_12_0-alpha_19","lwc/v/6_2_1","lwr/everywhereAmd/v/0_12_0-alpha_19"],"endpoints":{"uris":{"mapping":"/1/mapping/amd/1/l/en-US/mp/"}}});
5
+ globalThis.LWR = {...globalThis.LWR, env: {"SSR":false,"basePath":"","locale":"en-US","assetBasePath":"","uiBasePath":""}};
6
+ globalThis.process={...globalThis.process,env:{...globalThis.process?.env,...{"NODE_ENV":"compat"}}};
7
+ globalThis.lwcRuntimeFlags = { ENABLE_MIXED_SHADOW_MODE: false };
8
+ // Appended by Static Site Generator
9
+ if (!globalThis.LWR.imports) { globalThis.LWR.imports = {}; }
10
+ Object.assign(globalThis.LWR.imports, {"/1/module/amd/1/l/en-US/mi/lwr%2Floader%2Fv%2F0_12_0-alpha_19/s/bfa35394789428d30613fedf7507d1fd/lwr_loader.js":["lwr/loader/v/0_12_0-alpha_19"]})
11
+ if (!globalThis.LWR.index) { globalThis.LWR.index = {}; }
12
+ Object.assign(globalThis.LWR.index, {"lwr/loader/v/0_12_0-alpha_19":"/1/module/amd/1/l/en-US/mi/lwr%2Floader%2Fv%2F0_12_0-alpha_19/s/bfa35394789428d30613fedf7507d1fd/lwr_loader.js"})
@@ -0,0 +1,14 @@
1
+ LWR.define('@lwrjs/app-service/amd-bootstrap/module/amd/v/0_12_0-alpha_19', ['lwr/loader/v/0_12_0-alpha_19', 'lwr/preInit/v/0_12_0-alpha_19', 'lwr/init/v/0_12_0-alpha_19'], (function (_0_12_0Alpha_19$2, _0_12_0Alpha_19, _0_12_0Alpha_19$1) { 'use strict';
2
+
3
+ const clientBootstrapConfig = _0_12_0Alpha_19.getClientBootstrapConfig();
4
+
5
+ // initialize additional non-configured root components
6
+ const { rootComponents, serverData } = clientBootstrapConfig;
7
+ Promise.all(rootComponents.map(async (rootSpecifier) => {
8
+ const element = _0_12_0Alpha_19$1.toKebabCase(rootSpecifier);
9
+ return _0_12_0Alpha_19$2.load(rootSpecifier, '@lwrjs/app-service/amd-bootstrap/module/amd/v/0_12_0-alpha_19').then(({default: Ctor}) => {
10
+ _0_12_0Alpha_19$1.init([[element, Ctor]], serverData);
11
+ });
12
+ }));
13
+
14
+ }));
@@ -1,10 +1,10 @@
1
- LWR.define('lwr/everywhereAmd/v/0_12_0-alpha_18', ['exports', 'lwr/vault/v/0_12_0-alpha_18'], (function (exports, _0_12_0Alpha_18) { 'use strict';
1
+ LWR.define('lwr/everywhereAmd/v/0_12_0-alpha_19', ['exports', 'lwr/vault/v/0_12_0-alpha_19'], (function (exports, _0_12_0Alpha_19) { 'use strict';
2
2
 
3
3
  // IMPORTANT: Do not add any static imports to this file that are not bundled with the amd-client
4
4
 
5
5
  // Do an OAuthed fetch
6
6
  async function authFetch(url, accept = 'javascript') {
7
- const authInfo = _0_12_0Alpha_18.getAuthInfo();
7
+ const authInfo = _0_12_0Alpha_19.getAuthInfo();
8
8
  if (authInfo) {
9
9
  return fetch(url, {
10
10
  headers: {
@@ -53,7 +53,7 @@ LWR.define('lwr/everywhereAmd/v/0_12_0-alpha_18', ['exports', 'lwr/vault/v/0_12_
53
53
  function authenticate(authInfo) {
54
54
  // Put OAuth info into the vault
55
55
  if (authInfo) {
56
- _0_12_0Alpha_18.setAuthInfo(authInfo);
56
+ _0_12_0Alpha_19.setAuthInfo(authInfo);
57
57
  }
58
58
  }
59
59
 
@@ -1,4 +1,4 @@
1
- LWR.define('lwr/init/v/0_12_0-alpha_18', ['exports', 'lwr/metrics/v/0_12_0-alpha_18', 'lwr/profiler/v/0_12_0-alpha_18', 'lwc/v/6_2_1'], (function (exports, _0_12_0Alpha_18$1, _0_12_0Alpha_18, _6_2_1) { 'use strict';
1
+ LWR.define('lwr/init/v/0_12_0-alpha_19', ['exports', 'lwr/metrics/v/0_12_0-alpha_19', 'lwr/profiler/v/0_12_0-alpha_19', 'lwc/v/6_2_1'], (function (exports, _0_12_0Alpha_19$1, _0_12_0Alpha_19, _6_2_1) { 'use strict';
2
2
 
3
3
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
4
4
 
@@ -47,13 +47,13 @@ LWR.define('lwr/init/v/0_12_0-alpha_18', ['exports', 'lwr/metrics/v/0_12_0-alpha
47
47
  */
48
48
  function init(rootModules, serverData = {}) {
49
49
  if (typeof customElements === 'undefined' || typeof document === 'undefined') {
50
- _0_12_0Alpha_18.logOperationStart({
51
- id: _0_12_0Alpha_18$1.BOOTSTRAP_END
50
+ _0_12_0Alpha_19.logOperationStart({
51
+ id: _0_12_0Alpha_19$1.BOOTSTRAP_END
52
52
  });
53
53
  return;
54
54
  }
55
- _0_12_0Alpha_18.logOperationStart({
56
- id: _0_12_0Alpha_18$1.INIT
55
+ _0_12_0Alpha_19.logOperationStart({
56
+ id: _0_12_0Alpha_19$1.INIT
57
57
  });
58
58
  let index = 0;
59
59
  for (const [specifier, ctor] of rootModules) {
@@ -61,8 +61,8 @@ LWR.define('lwr/init/v/0_12_0-alpha_18', ['exports', 'lwr/metrics/v/0_12_0-alpha
61
61
 
62
62
  // initialize and inject the root module into the LWR Root or DOM if it is missing
63
63
  if (!document.body.querySelector(elementName)) {
64
- _0_12_0Alpha_18.logOperationStart({
65
- id: _0_12_0Alpha_18$1.INIT_MODULE,
64
+ _0_12_0Alpha_19.logOperationStart({
65
+ id: _0_12_0Alpha_19$1.INIT_MODULE,
66
66
  specifier,
67
67
  specifierIndex: ++index
68
68
  });
@@ -71,8 +71,8 @@ LWR.define('lwr/init/v/0_12_0-alpha_18', ['exports', 'lwr/metrics/v/0_12_0-alpha
71
71
  const component = initializeWebComponent(elementName, ctor);
72
72
  const container = document.querySelector('[lwr-root]');
73
73
  container ? container.appendChild(component) : document.body.appendChild(component);
74
- _0_12_0Alpha_18.logOperationEnd({
75
- id: _0_12_0Alpha_18$1.INIT_MODULE,
74
+ _0_12_0Alpha_19.logOperationEnd({
75
+ id: _0_12_0Alpha_19$1.INIT_MODULE,
76
76
  specifier,
77
77
  specifierIndex: index,
78
78
  metadata: {
@@ -85,8 +85,8 @@ LWR.define('lwr/init/v/0_12_0-alpha_18', ['exports', 'lwr/metrics/v/0_12_0-alpha
85
85
  // the page has been rendered or SSR'd, and each component needs to initialized(or hydrated)
86
86
  const elements = document.querySelectorAll(elementName);
87
87
  for (const element of elements) {
88
- _0_12_0Alpha_18.logOperationStart({
89
- id: _0_12_0Alpha_18$1.INIT_MODULE,
88
+ _0_12_0Alpha_19.logOperationStart({
89
+ id: _0_12_0Alpha_19$1.INIT_MODULE,
90
90
  specifier,
91
91
  specifierIndex: ++index
92
92
  });
@@ -97,8 +97,8 @@ LWR.define('lwr/init/v/0_12_0-alpha_18', ['exports', 'lwr/metrics/v/0_12_0-alpha
97
97
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
98
98
  // @ts-ignore
99
99
  hydrateComponentProxy(element, ctor, serverData[propsId] || {});
100
- _0_12_0Alpha_18.logOperationEnd({
101
- id: _0_12_0Alpha_18$1.INIT_MODULE,
100
+ _0_12_0Alpha_19.logOperationEnd({
101
+ id: _0_12_0Alpha_19$1.INIT_MODULE,
102
102
  specifier,
103
103
  specifierIndex: index,
104
104
  metadata: {
@@ -136,8 +136,8 @@ LWR.define('lwr/init/v/0_12_0-alpha_18', ['exports', 'lwr/metrics/v/0_12_0-alpha
136
136
  if (parent) {
137
137
  parent.replaceChild(component, element);
138
138
  }
139
- _0_12_0Alpha_18.logOperationEnd({
140
- id: _0_12_0Alpha_18$1.INIT_MODULE,
139
+ _0_12_0Alpha_19.logOperationEnd({
140
+ id: _0_12_0Alpha_19$1.INIT_MODULE,
141
141
  specifier,
142
142
  specifierIndex: index,
143
143
  metadata: {
@@ -146,11 +146,11 @@ LWR.define('lwr/init/v/0_12_0-alpha_18', ['exports', 'lwr/metrics/v/0_12_0-alpha
146
146
  });
147
147
  }
148
148
  }
149
- _0_12_0Alpha_18.logOperationEnd({
150
- id: _0_12_0Alpha_18$1.INIT
149
+ _0_12_0Alpha_19.logOperationEnd({
150
+ id: _0_12_0Alpha_19$1.INIT
151
151
  });
152
- _0_12_0Alpha_18.logOperationStart({
153
- id: _0_12_0Alpha_18$1.BOOTSTRAP_END
152
+ _0_12_0Alpha_19.logOperationStart({
153
+ id: _0_12_0Alpha_19$1.BOOTSTRAP_END
154
154
  });
155
155
  }
156
156
 
@@ -1,4 +1,4 @@
1
- LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'use strict';
1
+ LWR.define('lwr/loader/v/0_12_0-alpha_19', ['exports'], (function (exports) { 'use strict';
2
2
 
3
3
  /**
4
4
  * Copyright (c) 2021, salesforce.com, inc.
@@ -6,7 +6,7 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
6
6
  * SPDX-License-Identifier: MIT
7
7
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
8
8
  */
9
- /* LWR Module Loader v0.12.0-alpha.18 */
9
+ /* LWR Module Loader v0.12.0-alpha.19 */
10
10
  const templateRegex = /\{([0-9]+)\}/g;
11
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
12
  function templateString(template, args) {
@@ -697,18 +697,6 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
697
697
  /* global console,process */
698
698
 
699
699
  class ModuleRegistry {
700
- // A registry for named AMD defines containing the *metadata* of AMD module
701
- __init() {
702
- this.namedDefineRegistry = new Map();
703
- }
704
- // The evaluated module registry where the module identifier (name or URL?) is the key
705
- __init2() {
706
- this.moduleRegistry = new Map();
707
- }
708
- // Aliases of modules in the registry
709
- __init3() {
710
- this.aliases = new Map();
711
- }
712
700
  constructor(config) {
713
701
  ModuleRegistry.prototype.__init.call(this);
714
702
  ModuleRegistry.prototype.__init2.call(this);
@@ -716,10 +704,6 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
716
704
  this.profiler = config.profiler;
717
705
  this.resolver = new ImportMetadataResolver(config, this.importMetadataInvalidationCallback.bind(this));
718
706
  }
719
-
720
- /**
721
- * Module import
722
- */
723
707
  async load(id, importer) {
724
708
  const metadata = importer ? {
725
709
  importer
@@ -730,20 +714,16 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
730
714
  metadata
731
715
  });
732
716
  const resolvedId = await this.resolve(id, importer);
733
- const moduleRecord = this.getModuleRecord(resolvedId, id);
717
+ const moduleRecord = await this.getModuleRecord(resolvedId, id);
734
718
  if (moduleRecord.evaluated) {
735
719
  return moduleRecord.module;
736
720
  } else {
737
721
  if (!moduleRecord.evaluationPromise) {
738
- moduleRecord.evaluationPromise = this.evaluateModule(moduleRecord, {});
722
+ moduleRecord.evaluationPromise = this.topLevelEvaluation(moduleRecord);
739
723
  }
740
724
  return moduleRecord.evaluationPromise;
741
725
  }
742
726
  }
743
-
744
- /**
745
- * Resolve id for a module
746
- */
747
727
  async resolve(id, importer) {
748
728
  const parentUrl = this.resolver.getBaseUrl(); // only support baseUrl for now
749
729
 
@@ -761,7 +741,7 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
761
741
  // eslint-disable-next-line no-await-in-loop
762
742
  result = isResponseAPromise(response) ? await response : response;
763
743
  }
764
- if (!isValidResolveResponse(result)) {
744
+ if (!this.isValidResolveResponse(result)) {
765
745
  throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);
766
746
  }
767
747
 
@@ -836,10 +816,6 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
836
816
  has(id) {
837
817
  return this.moduleRegistry.has(id);
838
818
  }
839
-
840
- /**
841
- * Module entry point LWR.define()
842
- */
843
819
  define(name, dependencies, exporter) {
844
820
  const mod = this.namedDefineRegistry.get(name);
845
821
  // Don't allow redefining a module.
@@ -906,6 +882,21 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
906
882
  }
907
883
  });
908
884
  }
885
+
886
+ // A registry for named AMD defines containing the *metadata* of AMD module
887
+ __init() {
888
+ this.namedDefineRegistry = new Map();
889
+ }
890
+
891
+ // The evaluated module registry where the module identifier (name or URL?) is the key
892
+ __init2() {
893
+ this.moduleRegistry = new Map();
894
+ }
895
+
896
+ // Aliases of modules in the registry
897
+ __init3() {
898
+ this.aliases = new Map();
899
+ }
909
900
  getImportMetadataResolver() {
910
901
  return this.resolver;
911
902
  }
@@ -930,23 +921,41 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
930
921
  }
931
922
  return moduleRecord;
932
923
  }
933
- getModuleRecord(resolvedId, id) {
924
+ async getModuleRecord(resolvedId, id) {
934
925
  // Look for an existing record
935
926
  const existingRecord = this.getExistingModuleRecord(resolvedId, id);
936
927
  if (existingRecord) {
937
928
  // return existing
938
929
  return existingRecord;
939
930
  }
931
+
932
+ // Create a new Module Record
933
+ const instantiation = this.getModuleDef(resolvedId, id);
934
+ const dependencyRecords = instantiation.then(moduleDef => {
935
+ const dependencies = moduleDef.dependencies || [];
936
+ // get dep and filter out exports
937
+ const filtered = dependencies.map(dep => {
938
+ if (dep === 'exports') {
939
+ return;
940
+ }
941
+ invariant(dep !== 'require', NO_AMD_REQUIRE);
942
+ return this.getModuleDependencyRecord.call(this, dep);
943
+ }).filter(depRecord => depRecord !== undefined);
944
+ return Promise.all(filtered);
945
+ });
940
946
  const newModuleRecord = {
941
947
  id: resolvedId,
942
948
  module: Object.create(null),
943
- instantiation: this.getModuleDef(resolvedId, id),
949
+ dependencyRecords,
950
+ instantiation,
944
951
  evaluated: false,
945
952
  evaluationPromise: null
946
953
  };
947
954
  this.moduleRegistry.set(resolvedId, newModuleRecord);
948
955
  this.storeModuleAlias(id, resolvedId);
949
- return newModuleRecord;
956
+
957
+ // Wait for the dependencies to resolve the return the moduleRecord
958
+ return dependencyRecords.then(() => newModuleRecord);
950
959
  }
951
960
  storeModuleAlias(aliasId, resolvedId) {
952
961
  if (aliasId !== resolvedId) {
@@ -965,87 +974,82 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
965
974
  }
966
975
  }
967
976
  }
977
+ async getModuleDependencyRecord(dependency) {
978
+ const resolvedDepId = await this.resolve(dependency);
979
+ return this.getModuleRecord(resolvedDepId, dependency);
980
+ }
968
981
 
969
- /**
970
- * Evaluate all module dependencies
971
- */
972
- async evaluateDependencies(dependencies, evaluationMap) {
973
- const exports = {};
974
- const promiseArray = [];
975
- if (dependencies) {
976
- for (const dep of dependencies) {
977
- if (dep === 'exports') {
978
- promiseArray.push(Promise.resolve(exports));
979
- } else {
980
- invariant(dep !== 'require', NO_AMD_REQUIRE);
981
- promiseArray.push(this.evaluateDependent(dep, evaluationMap));
982
- }
983
- }
984
- }
985
- return Promise.all(promiseArray).then(results => {
986
- const depsMapped = results.filter(result => result !== undefined);
987
- return {
988
- depsMapped,
989
- exports
990
- };
991
- });
982
+ // execute the "top-level code" (the code outside of functions) of a module
983
+ async topLevelEvaluation(moduleRecord) {
984
+ await this.instantiateAll(moduleRecord, {});
985
+ return this.evaluateModule(moduleRecord, {});
992
986
  }
993
- async evaluateDependent(dep, evaluationMap) {
994
- const resolvedDepId = await this.resolve(dep);
995
- const depModuleRecord = this.getModuleRecord(resolvedDepId, dep);
996
- let module = depModuleRecord.module;
997
- const handleReturn = module => {
998
- if (module) {
999
- return module.__defaultInterop ? module.default : module;
1000
- }
1001
- throw new LoaderError(FAILED_DEP, [resolvedDepId]);
1002
- };
1003
987
 
1004
- // If evaluated return the module
1005
- if (depModuleRecord.evaluated) {
1006
- return handleReturn(module);
1007
- }
1008
- /**
1009
- * Circular dependencies are handled properly when named exports are used,
1010
- * however, for default exports there is a bug: https://github.com/rollup/rollup/issues/3384
1011
- *
1012
- * The workaround below applies for circular dependencies (!moduleRecord.evaluated)
1013
- */
1014
- if (!evaluationMap[depModuleRecord.id]) {
1015
- // If we have not started dependency evaluation kick it off
1016
- if (!depModuleRecord.evaluationPromise) {
1017
- depModuleRecord.evaluationPromise = this.evaluateModule(depModuleRecord, evaluationMap);
988
+ // Returns a promise when a module and all of it's dependencies have finished instantiation
989
+ async instantiateAll(moduleRecord, instantiatedMap) {
990
+ if (!instantiatedMap[moduleRecord.id]) {
991
+ instantiatedMap[moduleRecord.id] = true;
992
+ const dependencyModuleRecords = await moduleRecord.dependencyRecords;
993
+ if (dependencyModuleRecords) {
994
+ for (let i = 0; i < dependencyModuleRecords.length; i++) {
995
+ const depRecord = dependencyModuleRecords[i];
996
+ // eslint-disable-next-line no-await-in-loop
997
+ await this.instantiateAll(depRecord, instantiatedMap);
998
+ }
1018
999
  }
1019
- return depModuleRecord.evaluationPromise.then(module => {
1020
- return handleReturn(module);
1021
- });
1022
- } else {
1023
- // Otherwise return a dummy circular module wrapper
1024
- module = getCircularDependencyWrapper(module);
1025
1000
  }
1026
- return handleReturn(module);
1027
1001
  }
1028
1002
  async evaluateModule(moduleRecord, evaluationMap) {
1029
- // Create a evaluationMap to detect cycles in this dep chain
1030
- const chainMap = {
1031
- ...evaluationMap
1032
- };
1033
- chainMap[moduleRecord.id] = true;
1034
-
1035
- // Wait for load to finish
1003
+ const dependencyModuleRecords = await moduleRecord.dependencyRecords;
1004
+ if (dependencyModuleRecords.length > 0) {
1005
+ evaluationMap[moduleRecord.id] = true;
1006
+ // evaluate dependencies first
1007
+ await this.evaluateModuleDependencies(dependencyModuleRecords, evaluationMap);
1008
+ }
1036
1009
  const {
1037
1010
  exporter,
1038
1011
  dependencies
1039
1012
  } = await moduleRecord.instantiation;
1013
+ // The exports object automatically gets filled in by the exporter evaluation
1014
+ const exports = {};
1015
+ const depsMapped = dependencies ? await Promise.all(dependencies.map(async dep => {
1016
+ if (dep === 'exports') {
1017
+ return exports;
1018
+ }
1019
+ const resolvedDepId = await this.resolve(dep);
1020
+ const moduleRecord = this.moduleRegistry.get(resolvedDepId);
1021
+ if (!moduleRecord) {
1022
+ throw new LoaderError(FAILED_DEP, [resolvedDepId]);
1023
+ }
1024
+ const module = moduleRecord.module;
1040
1025
 
1041
- // Evaluate all it's dependents
1042
- const {
1043
- depsMapped,
1044
- exports
1045
- } = await this.evaluateDependencies(dependencies, chainMap);
1026
+ /**
1027
+ * Circular dependencies are handled properly when named exports are used,
1028
+ * however, for default exports there is a bug: https://github.com/rollup/rollup/issues/3384
1029
+ *
1030
+ * The workaround below applies for circular dependencies (!moduleRecord.evaluated)
1031
+ */
1032
+ if (!moduleRecord.evaluated) {
1033
+ return this.getCircularDependencyWrapper(module);
1034
+ }
1035
+ if (module) {
1036
+ return module.__defaultInterop ? module.default : module;
1037
+ }
1038
+ throw new LoaderError(FAILED_DEP, [resolvedDepId]);
1039
+ })) : [];
1040
+
1041
+ // 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
1042
+ if (moduleRecord.evaluated) {
1043
+ return moduleRecord.module;
1044
+ }
1046
1045
 
1047
1046
  // evaluates the module function
1048
- let moduleDefault = this.evaluateModuleCode(exporter, depsMapped, moduleRecord);
1047
+ let moduleDefault;
1048
+ try {
1049
+ moduleDefault = exporter(...depsMapped);
1050
+ } catch (e) {
1051
+ throw new LoaderError(EXPORTER_ERROR, [moduleRecord.id, e.message || e]);
1052
+ }
1049
1053
  // value is returned from exporter, then we are not using named exports
1050
1054
  if (moduleDefault !== undefined) {
1051
1055
  moduleDefault = {
@@ -1061,7 +1065,7 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
1061
1065
  // if no return value, then we are using the exports object
1062
1066
  else {
1063
1067
  // handle only default export with Rollup forced named exports
1064
- if (isNamedExportDefaultOnly(exports)) {
1068
+ if (this.isNamedExportDefaultOnly(exports)) {
1065
1069
  Object.defineProperty(exports, '__useDefault', {
1066
1070
  value: true
1067
1071
  });
@@ -1099,16 +1103,33 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
1099
1103
  value: true
1100
1104
  });
1101
1105
  }
1102
- Object.freeze(moduleRecord.module);
1103
1106
  moduleRecord.evaluated = true;
1104
- moduleRecord.evaluationPromise = null;
1107
+ Object.freeze(moduleRecord.module);
1105
1108
  return moduleRecord.module;
1106
1109
  }
1107
- evaluateModuleCode(evaluatedExporter, depsMapped, moduleRecord) {
1108
- try {
1109
- return evaluatedExporter(...depsMapped);
1110
- } catch (e) {
1111
- throw new LoaderError(EXPORTER_ERROR, [moduleRecord.id, e.message || e]);
1110
+
1111
+ // Determines if named exports module has only default export
1112
+ isNamedExportDefaultOnly(exports) {
1113
+ return exports !== undefined && Object.getOwnPropertyNames(exports).length === 2 && Object.prototype.hasOwnProperty.call(exports, 'default') && Object.prototype.hasOwnProperty.call(exports, '__esModule');
1114
+ }
1115
+
1116
+ // Wrap the dependency in a function that can be called and detected by __circular__ property.
1117
+ // The LWC engine checks for __circular__ to detect circular dependencies.
1118
+ getCircularDependencyWrapper(module) {
1119
+ const tmp = () => {
1120
+ return module.__useDefault || module.__defaultInterop ? module.default : module;
1121
+ };
1122
+ tmp.__circular__ = true;
1123
+ return tmp;
1124
+ }
1125
+ async evaluateModuleDependencies(dependencyModuleRecords, evaluationMap) {
1126
+ for (let i = 0; i < dependencyModuleRecords.length; i++) {
1127
+ const depRecord = dependencyModuleRecords[i];
1128
+ if (!depRecord.evaluated && !evaluationMap[depRecord.id]) {
1129
+ evaluationMap[depRecord.id] = true;
1130
+ // eslint-disable-next-line no-await-in-loop
1131
+ await this.evaluateModule(depRecord, evaluationMap);
1132
+ }
1112
1133
  }
1113
1134
  }
1114
1135
  async getModuleDef(resolvedId, originalId) {
@@ -1235,24 +1256,9 @@ LWR.define('lwr/loader/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'u
1235
1256
  this.handleStaleModuleHook = [handleStaleModule];
1236
1257
  }
1237
1258
  }
1238
- }
1239
-
1240
- // Determines if named exports module has only default export
1241
- function isNamedExportDefaultOnly(exports) {
1242
- return exports !== undefined && Object.getOwnPropertyNames(exports).length === 2 && Object.prototype.hasOwnProperty.call(exports, 'default') && Object.prototype.hasOwnProperty.call(exports, '__esModule');
1243
- }
1244
-
1245
- // Wrap the dependency in a function that can be called and detected by __circular__ property.
1246
- // The LWC engine checks for __circular__ to detect circular dependencies.
1247
- function getCircularDependencyWrapper(module) {
1248
- const tmp = () => {
1249
- return module.__useDefault || module.__defaultInterop ? module.default : module;
1250
- };
1251
- tmp.__circular__ = true;
1252
- return tmp;
1253
- }
1254
- function isValidResolveResponse(res) {
1255
- return res === null || typeof res === 'string' || res && typeof res.url === 'string';
1259
+ isValidResolveResponse(res) {
1260
+ return res === null || typeof res === 'string' || res && typeof res.url === 'string';
1261
+ }
1256
1262
  }
1257
1263
 
1258
1264
  /**
@@ -1,4 +1,4 @@
1
- LWR.define('lwr/metrics/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'use strict';
1
+ LWR.define('lwr/metrics/v/0_12_0-alpha_19', ['exports'], (function (exports) { 'use strict';
2
2
 
3
3
  // Bootstrap / shim
4
4
  const BOOTSTRAP_PREFIX = 'lwr.bootstrap.';
@@ -1,4 +1,4 @@
1
- LWR.define('lwr/preInit/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'use strict';
1
+ LWR.define('lwr/preInit/v/0_12_0-alpha_19', ['exports'], (function (exports) { 'use strict';
2
2
 
3
3
  /**
4
4
  * This module is called in the ABS module (app bootstrap module) to perform neccesary pre initialization steps for an LWR app.
@@ -1,4 +1,4 @@
1
- LWR.define('lwr/profiler/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'use strict';
1
+ LWR.define('lwr/profiler/v/0_12_0-alpha_19', ['exports'], (function (exports) { 'use strict';
2
2
 
3
3
  var Phase = /*#__PURE__*/function (Phase) {
4
4
  Phase[Phase["Start"] = 0] = "Start";
@@ -1,4 +1,4 @@
1
- LWR.define('lwr/vault/v/0_12_0-alpha_18', ['exports'], (function (exports) { 'use strict';
1
+ LWR.define('lwr/vault/v/0_12_0-alpha_19', ['exports'], (function (exports) { 'use strict';
2
2
 
3
3
  // Credential vault for storing setters and subscribers for OAuth info
4
4
  // This module is a SINGLETON and must be excluded from ESM bundling
@@ -4,5 +4,5 @@
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 Error Shim v0.12.0-alpha.18 */
7
+ /* LWR Error Shim v0.12.0-alpha.19 */
8
8
  !function(){"use strict";if(!(globalThis.LWR&&globalThis.LWR.define)){const o=new Error("The LWR application failed to bootstrap");if(!globalThis.LWR||!globalThis.LWR.onError)throw o;globalThis.LWR.onError(o)}}();