@wcstack/autoloader 1.3.11

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 (54) hide show
  1. package/README.ja.md +250 -0
  2. package/README.md +250 -0
  3. package/dist/auto.js +3 -0
  4. package/dist/auto.min.js +3 -0
  5. package/dist/bootstrapAutoloader.d.ts +3 -0
  6. package/dist/bootstrapAutoloader.d.ts.map +1 -0
  7. package/dist/bootstrapAutoloader.js +9 -0
  8. package/dist/bootstrapAutoloader.js.map +1 -0
  9. package/dist/config.d.ts +12 -0
  10. package/dist/config.d.ts.map +1 -0
  11. package/dist/config.js +55 -0
  12. package/dist/config.js.map +1 -0
  13. package/dist/eagerload.d.ts +3 -0
  14. package/dist/eagerload.d.ts.map +1 -0
  15. package/dist/eagerload.js +122 -0
  16. package/dist/eagerload.js.map +1 -0
  17. package/dist/exports.d.ts +3 -0
  18. package/dist/exports.d.ts.map +1 -0
  19. package/dist/exports.js +2 -0
  20. package/dist/exports.js.map +1 -0
  21. package/dist/importmap.d.ts +7 -0
  22. package/dist/importmap.d.ts.map +1 -0
  23. package/dist/importmap.js +69 -0
  24. package/dist/importmap.js.map +1 -0
  25. package/dist/index.d.ts +15 -0
  26. package/dist/index.esm.js +460 -0
  27. package/dist/index.esm.js.map +1 -0
  28. package/dist/index.esm.min.js +2 -0
  29. package/dist/index.esm.min.js.map +1 -0
  30. package/dist/lazyLoad.d.ts +4 -0
  31. package/dist/lazyLoad.d.ts.map +1 -0
  32. package/dist/lazyLoad.js +166 -0
  33. package/dist/lazyLoad.js.map +1 -0
  34. package/dist/registerHandler.d.ts +2 -0
  35. package/dist/registerHandler.d.ts.map +1 -0
  36. package/dist/registerHandler.js +22 -0
  37. package/dist/registerHandler.js.map +1 -0
  38. package/dist/resolveLoader.d.ts +3 -0
  39. package/dist/resolveLoader.d.ts.map +1 -0
  40. package/dist/resolveLoader.js +45 -0
  41. package/dist/resolveLoader.js.map +1 -0
  42. package/dist/tags.d.ts +4 -0
  43. package/dist/tags.d.ts.map +1 -0
  44. package/dist/tags.js +7 -0
  45. package/dist/tags.js.map +1 -0
  46. package/dist/types.d.ts +45 -0
  47. package/dist/types.d.ts.map +1 -0
  48. package/dist/types.js +3 -0
  49. package/dist/types.js.map +1 -0
  50. package/dist/vanilla.d.ts +2 -0
  51. package/dist/vanilla.d.ts.map +1 -0
  52. package/dist/vanilla.js +5 -0
  53. package/dist/vanilla.js.map +1 -0
  54. package/package.json +73 -0
@@ -0,0 +1,460 @@
1
+ async function load(path) {
2
+ const module = await import(`${path}`);
3
+ return module.default;
4
+ }
5
+
6
+ const DEFAULT_KEY = "*";
7
+ const VANILLA_KEY = "vanilla";
8
+ const VANILLA_LOADER = {
9
+ postfix: ".js",
10
+ loader: load
11
+ };
12
+ const _config = {
13
+ scanImportmap: true,
14
+ loaders: {
15
+ [VANILLA_KEY]: VANILLA_LOADER,
16
+ [DEFAULT_KEY]: VANILLA_KEY
17
+ },
18
+ observable: true
19
+ };
20
+ // 後方互換のため config もエクスポート(読み取り専用として使用)
21
+ const config = _config;
22
+ function setConfig(partialConfig) {
23
+ if (typeof partialConfig.scanImportmap === "boolean") {
24
+ _config.scanImportmap = partialConfig.scanImportmap;
25
+ }
26
+ if (partialConfig.loaders) {
27
+ Object.assign(_config.loaders, partialConfig.loaders);
28
+ }
29
+ if (typeof partialConfig.observable === "boolean") {
30
+ _config.observable = partialConfig.observable;
31
+ }
32
+ }
33
+
34
+ const COMPONENT_KEYWORD = "@components/";
35
+ function loadImportmap() {
36
+ const importmap = { imports: {} };
37
+ document.querySelectorAll('script[type="importmap"]').forEach((script) => {
38
+ try {
39
+ const json = JSON.parse(script.innerHTML);
40
+ if (json.imports) {
41
+ importmap.imports = Object.assign(importmap.imports, json.imports);
42
+ }
43
+ }
44
+ catch (e) {
45
+ throw new Error("Failed to parse importmap JSON: " + e);
46
+ }
47
+ });
48
+ return Object.keys(importmap.imports).length > 0
49
+ ? importmap
50
+ : null;
51
+ }
52
+ function getKeyInfoFromImportmapKey(key) {
53
+ if (key.startsWith(COMPONENT_KEYWORD)) {
54
+ if (key.endsWith("/")) {
55
+ const prefixWithLoader = key.slice(COMPONENT_KEYWORD.length, key.length - 1);
56
+ const [prefix, loaderKey] = prefixWithLoader.split("|", 2);
57
+ if (prefix === "") {
58
+ throw new Error("Invalid importmap key: " + key);
59
+ }
60
+ return {
61
+ key,
62
+ prefix: prefix.replaceAll("/", "-").toLowerCase(),
63
+ loaderKey: loaderKey ?? null,
64
+ isNameSpaced: true
65
+ };
66
+ }
67
+ else {
68
+ const tagNamePart = key.slice(COMPONENT_KEYWORD.length);
69
+ const [tagName, loaderKeyPart] = tagNamePart.split("|", 2);
70
+ const [loaderKey, extendsText] = (loaderKeyPart ?? "").split(",", 2);
71
+ if (tagName === "") {
72
+ throw new Error("Invalid importmap key: " + key);
73
+ }
74
+ return {
75
+ key,
76
+ tagName: tagName.replaceAll("/", "-").toLowerCase(),
77
+ loaderKey: loaderKey || null,
78
+ extends: extendsText || null,
79
+ isNameSpaced: false
80
+ };
81
+ }
82
+ }
83
+ return null;
84
+ }
85
+ function buildMap(importmap) {
86
+ const prefixMap = {};
87
+ const loadMap = {};
88
+ for (const [key, _value] of Object.entries(importmap.imports)) {
89
+ const keyInfo = getKeyInfoFromImportmapKey(key);
90
+ if (keyInfo === null) {
91
+ continue;
92
+ }
93
+ if (keyInfo.isNameSpaced) {
94
+ prefixMap[keyInfo.prefix] = keyInfo;
95
+ }
96
+ else {
97
+ loadMap[keyInfo.tagName] = keyInfo;
98
+ }
99
+ }
100
+ return { prefixMap, loadMap };
101
+ }
102
+
103
+ function resolveLoader(path, loaderKey, loaders) {
104
+ let loader;
105
+ if (loaderKey === null || loaderKey === DEFAULT_KEY || loaderKey === "") {
106
+ // Try to resolve by postfix
107
+ let resolvedLoader = null;
108
+ const candidates = [];
109
+ for (const [key, l] of Object.entries(loaders)) {
110
+ if (key === DEFAULT_KEY)
111
+ continue;
112
+ const currentLoader = typeof l === "string" ? loaders[l] : l;
113
+ if (typeof currentLoader === "string")
114
+ continue; // Should not happen if config is correct
115
+ candidates.push(currentLoader);
116
+ }
117
+ // Sort by postfix length descending to match longest extension first
118
+ candidates.sort((a, b) => b.postfix.length - a.postfix.length);
119
+ for (const currentLoader of candidates) {
120
+ if (path.endsWith(currentLoader.postfix)) {
121
+ resolvedLoader = currentLoader;
122
+ break;
123
+ }
124
+ }
125
+ if (resolvedLoader) {
126
+ loader = resolvedLoader;
127
+ }
128
+ else {
129
+ loader = loaders[DEFAULT_KEY];
130
+ if (typeof loader === "string") {
131
+ loader = loaders[loader];
132
+ }
133
+ }
134
+ }
135
+ else {
136
+ loader = loaders[loaderKey];
137
+ if (!loader) {
138
+ throw new Error("Loader not found: " + loaderKey);
139
+ }
140
+ }
141
+ if (typeof loader === "string") {
142
+ throw new Error("Loader redirection is not supported here");
143
+ }
144
+ return loader;
145
+ }
146
+
147
+ const failedTags = new Set();
148
+ const loadingTags = new Set();
149
+
150
+ const EXTENDS_MAP = new Map();
151
+ if (typeof window !== "undefined") {
152
+ const map = [
153
+ [HTMLButtonElement, "button"],
154
+ [HTMLInputElement, "input"],
155
+ [HTMLAnchorElement, "a"],
156
+ [HTMLImageElement, "img"],
157
+ [HTMLDivElement, "div"],
158
+ [HTMLSpanElement, "span"],
159
+ [HTMLParagraphElement, "p"],
160
+ [HTMLUListElement, "ul"],
161
+ [HTMLOListElement, "ol"],
162
+ [HTMLLIElement, "li"],
163
+ [HTMLTableElement, "table"],
164
+ [HTMLFormElement, "form"],
165
+ [HTMLLabelElement, "label"],
166
+ [HTMLSelectElement, "select"],
167
+ [HTMLTextAreaElement, "textarea"],
168
+ [HTMLHeadingElement, "h1"],
169
+ [HTMLQuoteElement, "blockquote"],
170
+ [HTMLPreElement, "pre"],
171
+ [HTMLBRElement, "br"],
172
+ [HTMLHRElement, "hr"],
173
+ [HTMLModElement, "ins"],
174
+ [HTMLTableCaptionElement, "caption"],
175
+ [HTMLTableColElement, "col"],
176
+ [HTMLTableSectionElement, "tbody"],
177
+ [HTMLTableRowElement, "tr"],
178
+ [HTMLTableCellElement, "td"],
179
+ [HTMLFieldSetElement, "fieldset"],
180
+ [HTMLLegendElement, "legend"],
181
+ [HTMLDListElement, "dl"],
182
+ [HTMLOptGroupElement, "optgroup"],
183
+ [HTMLOptionElement, "option"],
184
+ [HTMLStyleElement, "style"],
185
+ [HTMLScriptElement, "script"],
186
+ [HTMLTemplateElement, "template"],
187
+ [HTMLCanvasElement, "canvas"],
188
+ [HTMLIFrameElement, "iframe"],
189
+ [HTMLObjectElement, "object"],
190
+ [HTMLEmbedElement, "embed"],
191
+ [HTMLVideoElement, "video"],
192
+ [HTMLAudioElement, "audio"],
193
+ [HTMLTrackElement, "track"],
194
+ [HTMLMapElement, "map"],
195
+ [HTMLAreaElement, "area"],
196
+ [HTMLSourceElement, "source"],
197
+ [HTMLParamElement, "param"],
198
+ [HTMLMeterElement, "meter"],
199
+ [HTMLProgressElement, "progress"],
200
+ [HTMLOutputElement, "output"],
201
+ [HTMLDetailsElement, "details"],
202
+ [HTMLDialogElement, "dialog"],
203
+ [HTMLMenuElement, "menu"],
204
+ [HTMLSlotElement, "slot"],
205
+ [HTMLTimeElement, "time"],
206
+ [HTMLDataElement, "data"],
207
+ [HTMLPictureElement, "picture"],
208
+ ];
209
+ map.forEach(([cls, tag]) => {
210
+ /* istanbul ignore next */
211
+ if (typeof cls !== "undefined") {
212
+ EXTENDS_MAP.set(cls, tag);
213
+ }
214
+ });
215
+ }
216
+ function resolveExtends(componentConstructor) {
217
+ for (const [cls, tag] of EXTENDS_MAP) {
218
+ if (componentConstructor.prototype instanceof cls) {
219
+ return tag;
220
+ }
221
+ }
222
+ return null;
223
+ }
224
+ async function eagerLoadItem(info, tagName, loader) {
225
+ try {
226
+ if (customElements.get(tagName)) {
227
+ // すでに定義済み
228
+ return;
229
+ }
230
+ const componentConstructor = await loader.loader(info.key);
231
+ if (componentConstructor !== null) {
232
+ let extendsName = info.extends;
233
+ if (extendsName === null) {
234
+ extendsName = resolveExtends(componentConstructor);
235
+ }
236
+ if (customElements.get(tagName)) {
237
+ // すでに定義済み
238
+ return;
239
+ }
240
+ if (extendsName === null) {
241
+ customElements.define(tagName, componentConstructor);
242
+ }
243
+ else {
244
+ customElements.define(tagName, componentConstructor, { extends: extendsName });
245
+ }
246
+ }
247
+ }
248
+ catch (e) {
249
+ if (!failedTags.has(tagName)) {
250
+ console.error(`Failed to eager load component '${tagName}':`, e);
251
+ failedTags.add(tagName);
252
+ }
253
+ }
254
+ }
255
+ async function eagerLoad(loadMap, loaders) {
256
+ const promises = [];
257
+ for (const [tagName, info] of Object.entries(loadMap)) {
258
+ let loader;
259
+ try {
260
+ loader = resolveLoader(info.key, info.loaderKey, loaders);
261
+ }
262
+ catch (_e) {
263
+ throw new Error("Loader redirection is not supported for eager loaded components: " + tagName);
264
+ }
265
+ promises.push(eagerLoadItem(info, tagName, loader));
266
+ }
267
+ await Promise.all(promises);
268
+ }
269
+
270
+ const isCustomElement = (node) => {
271
+ return (node instanceof Element && (node.tagName.includes("-") || node.getAttribute("is")?.includes("-"))) ?? false;
272
+ };
273
+ function getCustomTagInfo(e) {
274
+ const elementTagName = e.tagName.toLowerCase();
275
+ let name;
276
+ let extendsName;
277
+ if (elementTagName.includes("-")) {
278
+ name = elementTagName;
279
+ extendsName = null;
280
+ }
281
+ else {
282
+ const tagName = e.getAttribute("is");
283
+ if (tagName === null) {
284
+ throw new Error("Custom element without a dash or 'is' attribute found: " + elementTagName);
285
+ }
286
+ if (!tagName.includes("-")) {
287
+ throw new Error("Custom element 'is' attribute without a dash found: " + elementTagName);
288
+ }
289
+ name = tagName;
290
+ extendsName = elementTagName;
291
+ }
292
+ return { name, extends: extendsName };
293
+ }
294
+ const observedCustomElements = new WeakSet();
295
+ async function observeShadowRoot(element, config, prefixMap) {
296
+ observedCustomElements.add(element);
297
+ await handlerForLazyLoad(element.shadowRoot, config, prefixMap);
298
+ }
299
+ async function checkObserveShadowRoot(element, config, prefixMap) {
300
+ if (element.shadowRoot) {
301
+ if (!observedCustomElements.has(element)) {
302
+ await observeShadowRoot(element, config, prefixMap);
303
+ }
304
+ }
305
+ }
306
+ function matchNameSpace(tagName, prefixMap) {
307
+ for (const [prefix, info] of Object.entries(prefixMap)) {
308
+ if (tagName.startsWith(prefix + "-")) {
309
+ return info;
310
+ }
311
+ }
312
+ return null;
313
+ }
314
+ async function tagLoad(tagInfo, config, prefixMap) {
315
+ const info = matchNameSpace(tagInfo.name, prefixMap);
316
+ if (info === null) {
317
+ throw new Error("No matching namespace found for lazy loaded component: " + tagInfo.name);
318
+ }
319
+ if (loadingTags.has(tagInfo.name)) {
320
+ await customElements.whenDefined(tagInfo.name);
321
+ return;
322
+ }
323
+ loadingTags.add(tagInfo.name);
324
+ try {
325
+ let loader;
326
+ try {
327
+ loader = resolveLoader("", info.loaderKey, config.loaders);
328
+ }
329
+ catch (_e) {
330
+ throw new Error("Loader redirection is not supported for lazy loaded components: " + tagInfo.name);
331
+ }
332
+ const file = tagInfo.name.slice(info.prefix.length + 1);
333
+ if (file === "") {
334
+ throw new Error("Invalid component name for lazy loaded component: " + tagInfo.name);
335
+ }
336
+ const path = info.key + file + loader.postfix;
337
+ if (customElements.get(tagInfo.name)) {
338
+ // すでに定義済み
339
+ return;
340
+ }
341
+ const componentConstructor = await loader.loader(path);
342
+ if (componentConstructor !== null) {
343
+ if (customElements.get(tagInfo.name)) {
344
+ // すでに定義済み
345
+ return;
346
+ }
347
+ if (tagInfo.extends === null) {
348
+ customElements.define(tagInfo.name, componentConstructor);
349
+ }
350
+ else {
351
+ customElements.define(tagInfo.name, componentConstructor, { extends: tagInfo.extends });
352
+ }
353
+ }
354
+ else {
355
+ throw new Error("Loader returned null for component: " + tagInfo.name);
356
+ }
357
+ }
358
+ catch (e) {
359
+ console.error(`Failed to lazy load component '${tagInfo.name}':`, e);
360
+ failedTags.add(tagInfo.name);
361
+ }
362
+ finally {
363
+ loadingTags.delete(tagInfo.name);
364
+ }
365
+ }
366
+ //
367
+ async function lazyLoad(root, config, prefixMap) {
368
+ const elements = [];
369
+ // Create TreeWalker (target element and comment nodes)
370
+ const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, (node) => {
371
+ return isCustomElement(node) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
372
+ });
373
+ // Move to next node with TreeWalker and add matching nodes to array
374
+ while (walker.nextNode()) {
375
+ elements.push(walker.currentNode);
376
+ }
377
+ const tagInfos = [];
378
+ const tagNames = new Set();
379
+ for (const element of elements) {
380
+ const tagInfo = getCustomTagInfo(element);
381
+ const customClass = customElements.get(tagInfo.name);
382
+ if (customClass === undefined) {
383
+ // undefined
384
+ customElements.whenDefined(tagInfo.name).then(async () => {
385
+ // upgraded
386
+ await checkObserveShadowRoot(element, config, prefixMap);
387
+ });
388
+ if (!tagNames.has(tagInfo.name) && !failedTags.has(tagInfo.name)) {
389
+ tagNames.add(tagInfo.name);
390
+ tagInfos.push(tagInfo);
391
+ }
392
+ }
393
+ else {
394
+ // upgraded
395
+ await checkObserveShadowRoot(element, config, prefixMap);
396
+ }
397
+ }
398
+ let tagCount = 0;
399
+ for (const tagInfo of tagInfos) {
400
+ await tagLoad(tagInfo, config, prefixMap);
401
+ tagCount++;
402
+ }
403
+ return tagCount;
404
+ }
405
+ async function lazyLoads(root, config, prefixMap) {
406
+ while (await lazyLoad(root, config, prefixMap) > 0) {
407
+ // Repeat until no more tags to load
408
+ }
409
+ }
410
+ async function handlerForLazyLoad(root, config, prefixMap) {
411
+ if (Object.keys(prefixMap).length === 0) {
412
+ return;
413
+ }
414
+ try {
415
+ await lazyLoads(root, config, prefixMap);
416
+ }
417
+ catch (e) {
418
+ throw new Error("Failed to lazy load components: " + e);
419
+ }
420
+ if (!config.observable) {
421
+ return;
422
+ }
423
+ const mo = new MutationObserver(async () => {
424
+ try {
425
+ await lazyLoads(root, config, prefixMap);
426
+ }
427
+ catch (e) {
428
+ console.error("Failed to lazy load components: " + e);
429
+ }
430
+ });
431
+ mo.observe(root, { childList: true, subtree: true });
432
+ }
433
+
434
+ async function registerHandler() {
435
+ const importmap = loadImportmap(); // 事前に importmap を読み込んでおく
436
+ if (importmap === null) {
437
+ return;
438
+ }
439
+ const { prefixMap, loadMap } = buildMap(importmap);
440
+ // 先にeager loadを実行すると、DOMContentLoadedイベントが発生しないことがあるため、後に実行する
441
+ document.addEventListener("DOMContentLoaded", async () => {
442
+ await handlerForLazyLoad(document, config, prefixMap);
443
+ });
444
+ try {
445
+ await eagerLoad(loadMap, config.loaders);
446
+ }
447
+ catch (e) {
448
+ throw new Error("Failed to eager load components: " + e);
449
+ }
450
+ }
451
+
452
+ async function bootstrapAutoloader(config) {
453
+ if (config) {
454
+ setConfig(config);
455
+ }
456
+ await registerHandler();
457
+ }
458
+
459
+ export { bootstrapAutoloader };
460
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/vanilla.ts","../src/config.ts","../src/importmap.ts","../src/resolveLoader.ts","../src/tags.ts","../src/eagerload.ts","../src/lazyLoad.ts","../src/registerHandler.ts","../src/bootstrapAutoloader.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e="*",t="vanilla",n={postfix:".js",loader:async function(e){return(await import(`${e}`)).default}},o={scanImportmap:!0,loaders:{[t]:n,[e]:t},observable:!0},r=o;const a="@components/";function l(e){if(e.startsWith(a)){if(e.endsWith("/")){const t=e.slice(12,e.length-1),[n,o]=t.split("|",2);if(""===n)throw new Error("Invalid importmap key: "+e);return{key:e,prefix:n.replaceAll("/","-").toLowerCase(),loaderKey:o??null,isNameSpaced:!0}}{const t=e.slice(12),[n,o]=t.split("|",2),[r,a]=(o??"").split(",",2);if(""===n)throw new Error("Invalid importmap key: "+e);return{key:e,tagName:n.replaceAll("/","-").toLowerCase(),loaderKey:r||null,extends:a||null,isNameSpaced:!1}}}return null}function s(t,n,o){let r;if(null===n||n===e||""===n){let n=null;const a=[];for(const[t,n]of Object.entries(o)){if(t===e)continue;const r="string"==typeof n?o[n]:n;"string"!=typeof r&&a.push(r)}a.sort((e,t)=>t.postfix.length-e.postfix.length);for(const e of a)if(t.endsWith(e.postfix)){n=e;break}n?r=n:(r=o[e],"string"==typeof r&&(r=o[r]))}else if(r=o[n],!r)throw new Error("Loader not found: "+n);if("string"==typeof r)throw new Error("Loader redirection is not supported here");return r}const i=new Set,m=new Set,c=new Map;if("undefined"!=typeof window){[[HTMLButtonElement,"button"],[HTMLInputElement,"input"],[HTMLAnchorElement,"a"],[HTMLImageElement,"img"],[HTMLDivElement,"div"],[HTMLSpanElement,"span"],[HTMLParagraphElement,"p"],[HTMLUListElement,"ul"],[HTMLOListElement,"ol"],[HTMLLIElement,"li"],[HTMLTableElement,"table"],[HTMLFormElement,"form"],[HTMLLabelElement,"label"],[HTMLSelectElement,"select"],[HTMLTextAreaElement,"textarea"],[HTMLHeadingElement,"h1"],[HTMLQuoteElement,"blockquote"],[HTMLPreElement,"pre"],[HTMLBRElement,"br"],[HTMLHRElement,"hr"],[HTMLModElement,"ins"],[HTMLTableCaptionElement,"caption"],[HTMLTableColElement,"col"],[HTMLTableSectionElement,"tbody"],[HTMLTableRowElement,"tr"],[HTMLTableCellElement,"td"],[HTMLFieldSetElement,"fieldset"],[HTMLLegendElement,"legend"],[HTMLDListElement,"dl"],[HTMLOptGroupElement,"optgroup"],[HTMLOptionElement,"option"],[HTMLStyleElement,"style"],[HTMLScriptElement,"script"],[HTMLTemplateElement,"template"],[HTMLCanvasElement,"canvas"],[HTMLIFrameElement,"iframe"],[HTMLObjectElement,"object"],[HTMLEmbedElement,"embed"],[HTMLVideoElement,"video"],[HTMLAudioElement,"audio"],[HTMLTrackElement,"track"],[HTMLMapElement,"map"],[HTMLAreaElement,"area"],[HTMLSourceElement,"source"],[HTMLParamElement,"param"],[HTMLMeterElement,"meter"],[HTMLProgressElement,"progress"],[HTMLOutputElement,"output"],[HTMLDetailsElement,"details"],[HTMLDialogElement,"dialog"],[HTMLMenuElement,"menu"],[HTMLSlotElement,"slot"],[HTMLTimeElement,"time"],[HTMLDataElement,"data"],[HTMLPictureElement,"picture"]].forEach(([e,t])=>{void 0!==e&&c.set(e,t)})}async function d(e,t,n){try{if(customElements.get(t))return;const o=await n.loader(e.key);if(null!==o){let n=e.extends;if(null===n&&(n=function(e){for(const[t,n]of c)if(e.prototype instanceof t)return n;return null}(o)),customElements.get(t))return;null===n?customElements.define(t,o):customElements.define(t,o,{extends:n})}}catch(e){i.has(t)||(console.error(`Failed to eager load component '${t}':`,e),i.add(t))}}function u(e){const t=e.tagName.toLowerCase();let n,o;if(t.includes("-"))n=t,o=null;else{const r=e.getAttribute("is");if(null===r)throw new Error("Custom element without a dash or 'is' attribute found: "+t);if(!r.includes("-"))throw new Error("Custom element 'is' attribute without a dash found: "+t);n=r,o=t}return{name:n,extends:o}}const p=new WeakSet;async function f(e,t,n){e.shadowRoot&&(p.has(e)||await async function(e,t,n){p.add(e),await M(e.shadowRoot,t,n)}(e,t,n))}async function E(e,t,n){const o=function(e,t){for(const[n,o]of Object.entries(t))if(e.startsWith(n+"-"))return o;return null}(e.name,n);if(null===o)throw new Error("No matching namespace found for lazy loaded component: "+e.name);if(m.has(e.name))await customElements.whenDefined(e.name);else{m.add(e.name);try{let n;try{n=s("",o.loaderKey,t.loaders)}catch(t){throw new Error("Loader redirection is not supported for lazy loaded components: "+e.name)}const r=e.name.slice(o.prefix.length+1);if(""===r)throw new Error("Invalid component name for lazy loaded component: "+e.name);const a=o.key+r+n.postfix;if(customElements.get(e.name))return;const l=await n.loader(a);if(null===l)throw new Error("Loader returned null for component: "+e.name);if(customElements.get(e.name))return;null===e.extends?customElements.define(e.name,l):customElements.define(e.name,l,{extends:e.extends})}catch(t){console.error(`Failed to lazy load component '${e.name}':`,t),i.add(e.name)}finally{m.delete(e.name)}}}async function L(e,t,n){const o=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,e=>(e=>(e instanceof Element&&(e.tagName.includes("-")||e.getAttribute("is")?.includes("-")))??!1)(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP);for(;r.nextNode();)o.push(r.currentNode);const a=[],l=new Set;for(const e of o){const o=u(e);void 0===customElements.get(o.name)?(customElements.whenDefined(o.name).then(async()=>{await f(e,t,n)}),l.has(o.name)||i.has(o.name)||(l.add(o.name),a.push(o))):await f(e,t,n)}let s=0;for(const e of a)await E(e,t,n),s++;return s}async function T(e,t,n){for(;await L(e,t,n)>0;);}async function M(e,t,n){if(0===Object.keys(n).length)return;try{await T(e,t,n)}catch(e){throw new Error("Failed to lazy load components: "+e)}if(!t.observable)return;new MutationObserver(async()=>{try{await T(e,t,n)}catch(e){console.error("Failed to lazy load components: "+e)}}).observe(e,{childList:!0,subtree:!0})}async function w(){const e=function(){const e={imports:{}};return document.querySelectorAll('script[type="importmap"]').forEach(t=>{try{const n=JSON.parse(t.innerHTML);n.imports&&(e.imports=Object.assign(e.imports,n.imports))}catch(e){throw new Error("Failed to parse importmap JSON: "+e)}}),Object.keys(e.imports).length>0?e:null}();if(null===e)return;const{prefixMap:t,loadMap:n}=function(e){const t={},n={};for(const[o,r]of Object.entries(e.imports)){const e=l(o);null!==e&&(e.isNameSpaced?t[e.prefix]=e:n[e.tagName]=e)}return{prefixMap:t,loadMap:n}}(e);document.addEventListener("DOMContentLoaded",async()=>{await M(document,r,t)});try{await async function(e,t){const n=[];for(const[o,r]of Object.entries(e)){let e;try{e=s(r.key,r.loaderKey,t)}catch(e){throw new Error("Loader redirection is not supported for eager loaded components: "+o)}n.push(d(r,o,e))}await Promise.all(n)}(n,r.loaders)}catch(e){throw new Error("Failed to eager load components: "+e)}}async function h(e){var t;e&&("boolean"==typeof(t=e).scanImportmap&&(o.scanImportmap=t.scanImportmap),t.loaders&&Object.assign(o.loaders,t.loaders),"boolean"==typeof t.observable&&(o.observable=t.observable)),await w()}export{h as bootstrapAutoloader};
2
+ //# sourceMappingURL=index.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.min.js","sources":["../src/config.ts","../src/vanilla.ts","../src/importmap.ts","../src/resolveLoader.ts","../src/tags.ts","../src/eagerload.ts","../src/lazyLoad.ts","../src/registerHandler.ts","../src/bootstrapAutoloader.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["DEFAULT_KEY","VANILLA_KEY","VANILLA_LOADER","postfix","loader","async","path","import","default","_config","scanImportmap","loaders","observable","config","COMPONENT_KEYWORD","getKeyInfoFromImportmapKey","key","startsWith","endsWith","prefixWithLoader","slice","length","prefix","loaderKey","split","Error","replaceAll","toLowerCase","isNameSpaced","tagNamePart","tagName","loaderKeyPart","extendsText","extends","resolveLoader","resolvedLoader","candidates","l","Object","entries","currentLoader","push","sort","a","b","failedTags","Set","loadingTags","EXTENDS_MAP","Map","window","HTMLButtonElement","HTMLInputElement","HTMLAnchorElement","HTMLImageElement","HTMLDivElement","HTMLSpanElement","HTMLParagraphElement","HTMLUListElement","HTMLOListElement","HTMLLIElement","HTMLTableElement","HTMLFormElement","HTMLLabelElement","HTMLSelectElement","HTMLTextAreaElement","HTMLHeadingElement","HTMLQuoteElement","HTMLPreElement","HTMLBRElement","HTMLHRElement","HTMLModElement","HTMLTableCaptionElement","HTMLTableColElement","HTMLTableSectionElement","HTMLTableRowElement","HTMLTableCellElement","HTMLFieldSetElement","HTMLLegendElement","HTMLDListElement","HTMLOptGroupElement","HTMLOptionElement","HTMLStyleElement","HTMLScriptElement","HTMLTemplateElement","HTMLCanvasElement","HTMLIFrameElement","HTMLObjectElement","HTMLEmbedElement","HTMLVideoElement","HTMLAudioElement","HTMLTrackElement","HTMLMapElement","HTMLAreaElement","HTMLSourceElement","HTMLParamElement","HTMLMeterElement","HTMLProgressElement","HTMLOutputElement","HTMLDetailsElement","HTMLDialogElement","HTMLMenuElement","HTMLSlotElement","HTMLTimeElement","HTMLDataElement","HTMLPictureElement","forEach","cls","tag","set","eagerLoadItem","info","customElements","get","componentConstructor","extendsName","prototype","resolveExtends","define","e","has","console","error","add","getCustomTagInfo","elementTagName","name","includes","getAttribute","observedCustomElements","WeakSet","checkObserveShadowRoot","element","prefixMap","shadowRoot","handlerForLazyLoad","observeShadowRoot","tagLoad","tagInfo","matchNameSpace","whenDefined","_e","file","delete","lazyLoad","root","elements","walker","document","createTreeWalker","NodeFilter","SHOW_ELEMENT","node","Element","isCustomElement","FILTER_ACCEPT","FILTER_SKIP","nextNode","currentNode","tagInfos","tagNames","undefined","then","tagCount","lazyLoads","keys","MutationObserver","observe","childList","subtree","registerHandler","importmap","imports","querySelectorAll","script","json","JSON","parse","innerHTML","assign","loadImportmap","loadMap","_value","keyInfo","buildMap","addEventListener","promises","Promise","all","eagerLoad","bootstrapAutoloader","partialConfig"],"mappings":"AAUO,MAAMA,EAAc,IAEdC,EAAc,UAEdC,EAAiB,CAC5BC,QAAS,MACTC,OCfKC,eAAoBC,GAEzB,aADqBC,OAAO,GAAGD,MACjBE,OAChB,GDeMC,EAA2B,CAC/BC,eAAe,EACfC,QAAS,CACPV,CAACA,GAAcC,EACfF,CAACA,GAAcC,GAEjBW,YAAY,GAwBDC,EAAkBJ,EE/C/B,MAAMK,EAAoB,eAmB1B,SAASC,EAA2BC,GAClC,GAAIA,EAAIC,WAAWH,GAAoB,CACrC,GAAIE,EAAIE,SAAS,KAAM,CACrB,MAAMC,EAAmBH,EAAII,MAAMN,GAA0BE,EAAIK,OAAS,IAClEC,EAAQC,GAAcJ,EAAiBK,MAAM,IAAK,GAC1D,GAAe,KAAXF,EACF,MAAM,IAAIG,MAAM,0BAA4BT,GAE9C,MAAO,CACLA,MACAM,OAAQA,EAAOI,WAAW,IAAK,KAAKC,cACpCJ,UAAWA,GAAa,KACxBK,cAAc,EAElB,CAAO,CACL,MAAMC,EAAcb,EAAII,MAAMN,KACtBgB,EAASC,GAAkBF,EAAYL,MAAM,IAAK,IAClDD,EAAWS,IAAiBD,GAAiB,IAAIP,MAAM,IAAK,GACpE,GAAgB,KAAZM,EACF,MAAM,IAAIL,MAAM,0BAA4BT,GAE9C,MAAO,CACLA,MACAc,QAASA,EAAQJ,WAAW,IAAK,KAAKC,cACtCJ,UAAWA,GAAa,KACxBU,QAASD,GAAe,KACxBJ,cAAc,EAElB,CACF,CACA,OAAO,IACT,UCjDgBM,EACd5B,EACAiB,EACAZ,GAEA,IAAIP,EAEJ,GAAkB,OAAdmB,GAAsBA,IAAcvB,GAA6B,KAAduB,EAAkB,CAEvE,IAAIY,EAAiC,KAErC,MAAMC,EAAwB,GAC9B,IAAK,MAAOpB,EAAKqB,KAAMC,OAAOC,QAAQ5B,GAAU,CAC9C,GAAIK,IAAQhB,EAAa,SACzB,MAAMwC,EAA6B,iBAANH,EAAiB1B,EAAQ0B,GAAKA,EAC9B,iBAAlBG,GACXJ,EAAWK,KAAKD,EAClB,CAGAJ,EAAWM,KAAK,CAACC,EAAGC,IAAMA,EAAEzC,QAAQkB,OAASsB,EAAExC,QAAQkB,QAEvD,IAAK,MAAMmB,KAAiBJ,EAC1B,GAAI9B,EAAKY,SAASsB,EAAcrC,SAAU,CACxCgC,EAAiBK,EACjB,KACF,CAGEL,EACF/B,EAAS+B,GAET/B,EAASO,EAAQX,GACK,iBAAXI,IACTA,EAASO,EAAQP,IAGvB,MAEE,GADAA,EAASO,EAAQY,IACZnB,EACH,MAAM,IAAIqB,MAAM,qBAAuBF,GAI3C,GAAsB,iBAAXnB,EACT,MAAM,IAAIqB,MAAM,4CAElB,OAAOrB,CACT,CClDO,MAAMyC,EAAa,IAAIC,IACjBC,EAAc,IAAID,ICEzBE,EAAc,IAAIC,IAExB,GAAsB,oBAAXC,OAAwB,CACrB,CACV,CAACC,kBAAmB,UACpB,CAACC,iBAAkB,SACnB,CAACC,kBAAmB,KACpB,CAACC,iBAAkB,OACnB,CAACC,eAAgB,OACjB,CAACC,gBAAiB,QAClB,CAACC,qBAAsB,KACvB,CAACC,iBAAkB,MACnB,CAACC,iBAAkB,MACnB,CAACC,cAAe,MAChB,CAACC,iBAAkB,SACnB,CAACC,gBAAiB,QAClB,CAACC,iBAAkB,SACnB,CAACC,kBAAmB,UACpB,CAACC,oBAAqB,YACtB,CAACC,mBAAoB,MACrB,CAACC,iBAAkB,cACnB,CAACC,eAAgB,OACjB,CAACC,cAAe,MAChB,CAACC,cAAe,MAChB,CAACC,eAAgB,OACjB,CAACC,wBAAyB,WAC1B,CAACC,oBAAqB,OACtB,CAACC,wBAAyB,SAC1B,CAACC,oBAAqB,MACtB,CAACC,qBAAsB,MACvB,CAACC,oBAAqB,YACtB,CAACC,kBAAmB,UACpB,CAACC,iBAAkB,MACnB,CAACC,oBAAqB,YACtB,CAACC,kBAAmB,UACpB,CAACC,iBAAkB,SACnB,CAACC,kBAAmB,UACpB,CAACC,oBAAqB,YACtB,CAACC,kBAAmB,UACpB,CAACC,kBAAmB,UACpB,CAACC,kBAAmB,UACpB,CAACC,iBAAkB,SACnB,CAACC,iBAAkB,SACnB,CAACC,iBAAkB,SACnB,CAACC,iBAAkB,SACnB,CAACC,eAAgB,OACjB,CAACC,gBAAiB,QAClB,CAACC,kBAAmB,UACpB,CAACC,iBAAkB,SACnB,CAACC,iBAAkB,SAC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"}
@@ -0,0 +1,4 @@
1
+ import { IConfig, IPrefixMap, ITagInfo } from "./types.js";
2
+ export declare function getCustomTagInfo(e: Element): ITagInfo;
3
+ export declare function handlerForLazyLoad(root: Document | ShadowRoot, config: IConfig, prefixMap: IPrefixMap): Promise<void>;
4
+ //# sourceMappingURL=lazyLoad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazyLoad.d.ts","sourceRoot":"","sources":["../src/lazyLoad.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA2B,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMpF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,QAAQ,CAmBrD;AAsID,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAC3B,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,IAAI,CAAC,CAqBf"}