@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.
- package/README.ja.md +250 -0
- package/README.md +250 -0
- package/dist/auto.js +3 -0
- package/dist/auto.min.js +3 -0
- package/dist/bootstrapAutoloader.d.ts +3 -0
- package/dist/bootstrapAutoloader.d.ts.map +1 -0
- package/dist/bootstrapAutoloader.js +9 -0
- package/dist/bootstrapAutoloader.js.map +1 -0
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +55 -0
- package/dist/config.js.map +1 -0
- package/dist/eagerload.d.ts +3 -0
- package/dist/eagerload.d.ts.map +1 -0
- package/dist/eagerload.js +122 -0
- package/dist/eagerload.js.map +1 -0
- package/dist/exports.d.ts +3 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/exports.js +2 -0
- package/dist/exports.js.map +1 -0
- package/dist/importmap.d.ts +7 -0
- package/dist/importmap.d.ts.map +1 -0
- package/dist/importmap.js +69 -0
- package/dist/importmap.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.esm.js +460 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.esm.min.js +2 -0
- package/dist/index.esm.min.js.map +1 -0
- package/dist/lazyLoad.d.ts +4 -0
- package/dist/lazyLoad.d.ts.map +1 -0
- package/dist/lazyLoad.js +166 -0
- package/dist/lazyLoad.js.map +1 -0
- package/dist/registerHandler.d.ts +2 -0
- package/dist/registerHandler.d.ts.map +1 -0
- package/dist/registerHandler.js +22 -0
- package/dist/registerHandler.js.map +1 -0
- package/dist/resolveLoader.d.ts +3 -0
- package/dist/resolveLoader.d.ts.map +1 -0
- package/dist/resolveLoader.js +45 -0
- package/dist/resolveLoader.js.map +1 -0
- package/dist/tags.d.ts +4 -0
- package/dist/tags.d.ts.map +1 -0
- package/dist/tags.js +7 -0
- package/dist/tags.js.map +1 -0
- package/dist/types.d.ts +45 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/vanilla.d.ts +2 -0
- package/dist/vanilla.d.ts.map +1 -0
- package/dist/vanilla.js +5 -0
- package/dist/vanilla.js.map +1 -0
- 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"}
|