@fulgurjs/federation 6.13.0 → 6.13.1
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/CHANGELOG.md +4 -0
- package/dist/cli.js +1 -1
- package/dist/index.cjs +191 -94
- package/dist/index.js +191 -94
- package/dist/runtime.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -34,9 +34,9 @@ __export(index_exports, {
|
|
|
34
34
|
federation: () => federation
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(index_exports);
|
|
37
|
-
var
|
|
37
|
+
var import_node_fs8 = __toESM(require("fs"), 1);
|
|
38
38
|
var import_node_path10 = __toESM(require("path"), 1);
|
|
39
|
-
var
|
|
39
|
+
var import_node_module4 = require("module");
|
|
40
40
|
|
|
41
41
|
// src/options.ts
|
|
42
42
|
var import_node_module = require("module");
|
|
@@ -44,7 +44,7 @@ var import_node_fs = __toESM(require("fs"), 1);
|
|
|
44
44
|
var import_node_path = __toESM(require("path"), 1);
|
|
45
45
|
|
|
46
46
|
// src/version.ts
|
|
47
|
-
var RUNTIME_VERSION = "6.13.
|
|
47
|
+
var RUNTIME_VERSION = "6.13.1";
|
|
48
48
|
|
|
49
49
|
// src/dev-cors.ts
|
|
50
50
|
function normalizeDevCorsOrigins(input) {
|
|
@@ -527,6 +527,8 @@ var import_es_module_lexer = require("es-module-lexer");
|
|
|
527
527
|
var import_magic_string = __toESM(require("magic-string"), 1);
|
|
528
528
|
var import_esbuild = require("esbuild");
|
|
529
529
|
var import_node_path2 = __toESM(require("path"), 1);
|
|
530
|
+
var import_node_fs2 = __toESM(require("fs"), 1);
|
|
531
|
+
var import_node_module2 = require("module");
|
|
530
532
|
|
|
531
533
|
// src/manifest.ts
|
|
532
534
|
var MANIFEST_SCHEMA_VERSION = 1;
|
|
@@ -1639,6 +1641,12 @@ export { ${nsAs[1]} };`);
|
|
|
1639
1641
|
if (!isImport) {
|
|
1640
1642
|
const inner = clauseRaw.slice(clauseRaw.indexOf("{") + 1, clauseRaw.lastIndexOf("}"));
|
|
1641
1643
|
if (/export\s+\*/.test(clauseRaw) && !clauseRaw.includes("{")) {
|
|
1644
|
+
const names = collectPackageExportNames(spec2, id);
|
|
1645
|
+
if (names && names.length > 0) {
|
|
1646
|
+
const facadeSpec3 = shared2 ? facadeSpecFor(ctx, shared2, names) : remoteFacadeSpecFor(ctx, remote2.name, exposeName2, names);
|
|
1647
|
+
s.overwrite(stmtStart, stmtEnd, `export { ${names.join(", ")} } from ${JSON.stringify(facadeSpec3)}`);
|
|
1648
|
+
continue;
|
|
1649
|
+
}
|
|
1642
1650
|
throw new Error(
|
|
1643
1651
|
`[fulgurjs] \u5171\u4EAB\u6A21\u5757\u4E0D\u652F\u6301 "export * from '${spec2}'"\uFF1AESM \u65E0\u6CD5\u4E3A\u52A8\u6001\u534F\u5546\u7684\u6A21\u5757\u521B\u5EFA\u901A\u914D\u7B26\u5BFC\u51FA\u7ED1\u5B9A\u3002\u8BF7\u6539\u4E3A\u660E\u786E\u5217\u51FA\u540D\u79F0\uFF1A"export { a, b } from '${spec2}'"\u3002`
|
|
1644
1652
|
);
|
|
@@ -1688,13 +1696,102 @@ export { ${nsAs[1]} };`);
|
|
|
1688
1696
|
}
|
|
1689
1697
|
return { code: s.toString(), map: null };
|
|
1690
1698
|
}
|
|
1699
|
+
var packageExportNamesCache = /* @__PURE__ */ new Map();
|
|
1700
|
+
function resolveEsmEntryFrom(spec, fromFile) {
|
|
1701
|
+
try {
|
|
1702
|
+
const req = (0, import_node_module2.createRequire)(fromFile);
|
|
1703
|
+
const pkgJsonPath = req.resolve(`${spec}/package.json`);
|
|
1704
|
+
const pkgRoot = import_node_path2.default.dirname(pkgJsonPath);
|
|
1705
|
+
const pkg = JSON.parse(import_node_fs2.default.readFileSync(pkgJsonPath, "utf-8"));
|
|
1706
|
+
const exportsField = pkg.exports?.["."];
|
|
1707
|
+
let entry;
|
|
1708
|
+
if (exportsField && typeof exportsField === "object" && !Array.isArray(exportsField)) {
|
|
1709
|
+
const cond = exportsField;
|
|
1710
|
+
const picked = cond.import ?? cond.module ?? cond.default;
|
|
1711
|
+
if (typeof picked === "string") entry = picked;
|
|
1712
|
+
else if (picked && typeof picked === "object") {
|
|
1713
|
+
const inner = picked;
|
|
1714
|
+
const leaf = inner.default ?? inner.node;
|
|
1715
|
+
if (typeof leaf === "string") entry = leaf;
|
|
1716
|
+
}
|
|
1717
|
+
}
|
|
1718
|
+
if (!entry) entry = pkg.module || pkg.main || "index.js";
|
|
1719
|
+
return import_node_path2.default.resolve(pkgRoot, entry);
|
|
1720
|
+
} catch {
|
|
1721
|
+
return null;
|
|
1722
|
+
}
|
|
1723
|
+
}
|
|
1724
|
+
function resolvePackageEntry(spec, importerFile) {
|
|
1725
|
+
return resolveEsmEntryFrom(spec, importerFile);
|
|
1726
|
+
}
|
|
1727
|
+
function scanEsmNamedExports(file, depth, seen) {
|
|
1728
|
+
const names = /* @__PURE__ */ new Set();
|
|
1729
|
+
const reExports = [];
|
|
1730
|
+
if (seen.has(file) || depth > 4) return { names, reExports };
|
|
1731
|
+
seen.add(file);
|
|
1732
|
+
let code;
|
|
1733
|
+
try {
|
|
1734
|
+
code = import_node_fs2.default.readFileSync(file, "utf-8");
|
|
1735
|
+
} catch {
|
|
1736
|
+
return { names, reExports };
|
|
1737
|
+
}
|
|
1738
|
+
for (const m of code.matchAll(/export\s*\{([^}]*)\}/g)) {
|
|
1739
|
+
for (const part of m[1].split(",")) {
|
|
1740
|
+
const seg = part.trim();
|
|
1741
|
+
if (!seg) continue;
|
|
1742
|
+
const asMatch = seg.match(/^(?:\w+|\$[\w$]+|default)\s+as\s+([\w$]+)$/);
|
|
1743
|
+
if (asMatch) {
|
|
1744
|
+
if (!/^default\s+as\s/.test(seg)) names.add(asMatch[1]);
|
|
1745
|
+
} else if (/^(?:\w+|\$[\w$]+|default)$/.test(seg) && seg !== "default") {
|
|
1746
|
+
names.add(seg);
|
|
1747
|
+
} else if (/^default$/.test(seg)) {
|
|
1748
|
+
}
|
|
1749
|
+
}
|
|
1750
|
+
}
|
|
1751
|
+
for (const m of code.matchAll(/export\s*\*\s*from\s*['"]([^'"]+)['"]/g)) {
|
|
1752
|
+
const spec = m[1];
|
|
1753
|
+
if (spec.startsWith(".")) {
|
|
1754
|
+
reExports.push(import_node_path2.default.resolve(import_node_path2.default.dirname(file), spec));
|
|
1755
|
+
} else {
|
|
1756
|
+
const esmEntry = resolveEsmEntryFrom(spec, file);
|
|
1757
|
+
if (esmEntry) reExports.push(esmEntry);
|
|
1758
|
+
}
|
|
1759
|
+
}
|
|
1760
|
+
for (const m of code.matchAll(/export\s+(?:const|let|var|function|class)\s+([\w$]+)/g)) names.add(m[1]);
|
|
1761
|
+
return { names, reExports };
|
|
1762
|
+
}
|
|
1763
|
+
function collectPackageExportNames(spec, importerFile) {
|
|
1764
|
+
const cacheKey = `${spec}|${importerFile}`;
|
|
1765
|
+
if (packageExportNamesCache.has(cacheKey)) return packageExportNamesCache.get(cacheKey) ?? null;
|
|
1766
|
+
let result = null;
|
|
1767
|
+
const entry = resolvePackageEntry(spec, importerFile);
|
|
1768
|
+
if (entry) {
|
|
1769
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1770
|
+
const all = /* @__PURE__ */ new Set();
|
|
1771
|
+
let queue = [entry];
|
|
1772
|
+
let depth = 0;
|
|
1773
|
+
while (queue.length && depth <= 4) {
|
|
1774
|
+
const next = [];
|
|
1775
|
+
for (const f of queue) {
|
|
1776
|
+
const { names, reExports } = scanEsmNamedExports(f, depth, seen);
|
|
1777
|
+
for (const n of names) all.add(n);
|
|
1778
|
+
next.push(...reExports);
|
|
1779
|
+
}
|
|
1780
|
+
queue = next;
|
|
1781
|
+
depth++;
|
|
1782
|
+
}
|
|
1783
|
+
result = all.size > 0 ? [...all].sort() : null;
|
|
1784
|
+
}
|
|
1785
|
+
packageExportNamesCache.set(cacheKey, result);
|
|
1786
|
+
return result;
|
|
1787
|
+
}
|
|
1691
1788
|
|
|
1692
1789
|
// src/dts-serve.ts
|
|
1693
1790
|
var import_node_path5 = __toESM(require("path"), 1);
|
|
1694
|
-
var
|
|
1791
|
+
var import_node_fs4 = __toESM(require("fs"), 1);
|
|
1695
1792
|
|
|
1696
1793
|
// src/dts-generate.ts
|
|
1697
|
-
var
|
|
1794
|
+
var import_node_fs3 = __toESM(require("fs"), 1);
|
|
1698
1795
|
var import_node_path4 = __toESM(require("path"), 1);
|
|
1699
1796
|
|
|
1700
1797
|
// src/dts-diagnostics.ts
|
|
@@ -1778,7 +1875,7 @@ if (errors.length) {
|
|
|
1778
1875
|
|
|
1779
1876
|
// src/dts-generate.ts
|
|
1780
1877
|
var import_node_crypto = __toESM(require("crypto"), 1);
|
|
1781
|
-
var
|
|
1878
|
+
var import_node_module3 = require("module");
|
|
1782
1879
|
var import_node_child_process = require("child_process");
|
|
1783
1880
|
|
|
1784
1881
|
// src/dts-shared.ts
|
|
@@ -1867,7 +1964,7 @@ var DTS_FILE_COUNT_MAX = 4e3;
|
|
|
1867
1964
|
|
|
1868
1965
|
// src/dts-generate.ts
|
|
1869
1966
|
function resolveFromRoot(root, pkg) {
|
|
1870
|
-
const req = (0,
|
|
1967
|
+
const req = (0, import_node_module3.createRequire)(import_node_path4.default.join(root, "package.json"));
|
|
1871
1968
|
let resolved = null;
|
|
1872
1969
|
for (const spec of [`${pkg}/package.json`, pkg]) {
|
|
1873
1970
|
try {
|
|
@@ -1878,17 +1975,17 @@ function resolveFromRoot(root, pkg) {
|
|
|
1878
1975
|
}
|
|
1879
1976
|
if (!resolved) return null;
|
|
1880
1977
|
let dir = import_node_path4.default.dirname(resolved);
|
|
1881
|
-
for (let i = 0; i < 5 && !
|
|
1978
|
+
for (let i = 0; i < 5 && !import_node_fs3.default.existsSync(import_node_path4.default.join(dir, "package.json")); i++) {
|
|
1882
1979
|
const parent = import_node_path4.default.dirname(dir);
|
|
1883
1980
|
if (parent === dir) return null;
|
|
1884
1981
|
dir = parent;
|
|
1885
1982
|
}
|
|
1886
|
-
return
|
|
1983
|
+
return import_node_fs3.default.existsSync(import_node_path4.default.join(dir, "package.json")) ? dir : null;
|
|
1887
1984
|
}
|
|
1888
1985
|
function installHint(root, pkg) {
|
|
1889
1986
|
const pkgManager = (() => {
|
|
1890
|
-
if (
|
|
1891
|
-
if (
|
|
1987
|
+
if (import_node_fs3.default.existsSync(import_node_path4.default.join(root, "pnpm-lock.yaml"))) return "pnpm";
|
|
1988
|
+
if (import_node_fs3.default.existsSync(import_node_path4.default.join(root, "yarn.lock"))) return "yarn";
|
|
1892
1989
|
return "npm";
|
|
1893
1990
|
})();
|
|
1894
1991
|
const devFlag = pkgManager === "pnpm" ? "-D" : "--save-dev";
|
|
@@ -1936,12 +2033,12 @@ function computeStaticClosure(ts, entryFiles, resolver, root) {
|
|
|
1936
2033
|
closure.add(file);
|
|
1937
2034
|
let text;
|
|
1938
2035
|
try {
|
|
1939
|
-
text =
|
|
2036
|
+
text = import_node_fs3.default.readFileSync(file, "utf8");
|
|
1940
2037
|
} catch {
|
|
1941
2038
|
continue;
|
|
1942
2039
|
}
|
|
1943
2040
|
if (file.endsWith(".vue")) {
|
|
1944
|
-
const req = (0,
|
|
2041
|
+
const req = (0, import_node_module3.createRequire)(import_node_path4.default.join(root, "package.json"));
|
|
1945
2042
|
const { parse: parse2 } = req("vue/compiler-sfc");
|
|
1946
2043
|
const { descriptor } = parse2(text);
|
|
1947
2044
|
text = [descriptor.script?.content, descriptor.scriptSetup?.content].filter(Boolean).join("\n");
|
|
@@ -1965,7 +2062,7 @@ import ${JSON.stringify(descriptor.script.src)}`;
|
|
|
1965
2062
|
if (!resolved) {
|
|
1966
2063
|
const base = import_node_path4.default.resolve(import_node_path4.default.dirname(file), spec);
|
|
1967
2064
|
for (const c of [base, `${base}.vue`, `${base}.ts`, `${base}.tsx`, import_node_path4.default.join(base, "index.ts")]) {
|
|
1968
|
-
if (
|
|
2065
|
+
if (import_node_fs3.default.existsSync(c)) {
|
|
1969
2066
|
resolved = c;
|
|
1970
2067
|
break;
|
|
1971
2068
|
}
|
|
@@ -1992,17 +2089,17 @@ function resolveTypesEntries(root, baseCo, diagnostics) {
|
|
|
1992
2089
|
if (raw === void 0) return [];
|
|
1993
2090
|
baseCo.types = [];
|
|
1994
2091
|
if (!Array.isArray(raw)) return [];
|
|
1995
|
-
const req = (0,
|
|
2092
|
+
const req = (0, import_node_module3.createRequire)(import_node_path4.default.join(root, "package.json"));
|
|
1996
2093
|
const out = [];
|
|
1997
2094
|
for (const entry of raw) {
|
|
1998
2095
|
if (typeof entry !== "string" || entry.length === 0) continue;
|
|
1999
2096
|
const direct = [import_node_path4.default.resolve(root, `${entry}.d.ts`), import_node_path4.default.resolve(root, entry, "index.d.ts"), import_node_path4.default.resolve(root, "node_modules", `${entry}.d.ts`), import_node_path4.default.resolve(root, "node_modules", entry, "index.d.ts"), import_node_path4.default.resolve(root, "node_modules/@types", entry, "index.d.ts")];
|
|
2000
|
-
let hit = direct.find((c) =>
|
|
2097
|
+
let hit = direct.find((c) => import_node_fs3.default.existsSync(c));
|
|
2001
2098
|
if (!hit && !entry.startsWith(".") && !import_node_path4.default.isAbsolute(entry)) {
|
|
2002
2099
|
try {
|
|
2003
2100
|
const r = req.resolve(entry);
|
|
2004
2101
|
for (const c of [r.replace(/\.js$/, ".d.ts"), `${r}.d.ts`, r]) {
|
|
2005
|
-
if (c.endsWith(".d.ts") &&
|
|
2102
|
+
if (c.endsWith(".d.ts") && import_node_fs3.default.existsSync(c)) {
|
|
2006
2103
|
hit = c;
|
|
2007
2104
|
break;
|
|
2008
2105
|
}
|
|
@@ -2020,7 +2117,7 @@ function hasVueFilesUnderSources(root) {
|
|
|
2020
2117
|
if (budget.left <= 0) return false;
|
|
2021
2118
|
let entries;
|
|
2022
2119
|
try {
|
|
2023
|
-
entries =
|
|
2120
|
+
entries = import_node_fs3.default.readdirSync(dir, { withFileTypes: true });
|
|
2024
2121
|
} catch {
|
|
2025
2122
|
return false;
|
|
2026
2123
|
}
|
|
@@ -2034,7 +2131,7 @@ function hasVueFilesUnderSources(root) {
|
|
|
2034
2131
|
return false;
|
|
2035
2132
|
};
|
|
2036
2133
|
const srcDir = import_node_path4.default.join(root, "src");
|
|
2037
|
-
return scan(
|
|
2134
|
+
return scan(import_node_fs3.default.existsSync(srcDir) ? srcDir : root, { left: 2e3 });
|
|
2038
2135
|
}
|
|
2039
2136
|
function commonDirOf(files) {
|
|
2040
2137
|
if (files.length === 0) return "";
|
|
@@ -2132,7 +2229,7 @@ async function generateTypesBundle(input) {
|
|
|
2132
2229
|
if (!tsPkgDir) {
|
|
2133
2230
|
return { ok: false, diagnostics: [`\u63D0\u4F9B\u65B9\u5DE5\u7A0B\u672A\u5B89\u88C5 typescript\uFF08\u58F0\u660E\u751F\u6210\u5FC5\u9700\uFF09\u3002${installHint(root, "typescript")}`] };
|
|
2134
2231
|
}
|
|
2135
|
-
const tsReq = (0,
|
|
2232
|
+
const tsReq = (0, import_node_module3.createRequire)(import_node_path4.default.join(tsPkgDir, "package.json"));
|
|
2136
2233
|
const ts = tsReq("typescript");
|
|
2137
2234
|
const ctx = loadTsContext(root, ts, diagnostics);
|
|
2138
2235
|
if (!ctx) return { ok: false, diagnostics };
|
|
@@ -2141,14 +2238,14 @@ async function generateTypesBundle(input) {
|
|
|
2141
2238
|
for (const expose of exposes) {
|
|
2142
2239
|
const raw = expose.import.replace(/^\.?\//, "");
|
|
2143
2240
|
let abs = import_node_path4.default.resolve(root, raw);
|
|
2144
|
-
if (!
|
|
2241
|
+
if (!import_node_fs3.default.existsSync(abs)) {
|
|
2145
2242
|
const viaResolver = resolver(expose.import, import_node_path4.default.join(root, "package.json"));
|
|
2146
2243
|
if (viaResolver && !viaResolver.fromNodeModules) abs = viaResolver.resolved;
|
|
2147
2244
|
}
|
|
2148
2245
|
abs = abs.replace(/\.js$/, ".ts");
|
|
2149
|
-
if (!
|
|
2150
|
-
if (!
|
|
2151
|
-
if (!
|
|
2246
|
+
if (!import_node_fs3.default.existsSync(abs) && import_node_fs3.default.existsSync(`${abs}.ts`)) abs = `${abs}.ts`;
|
|
2247
|
+
if (!import_node_fs3.default.existsSync(abs) && import_node_fs3.default.existsSync(`${abs}.tsx`)) abs = `${abs}.tsx`;
|
|
2248
|
+
if (!import_node_fs3.default.existsSync(abs)) {
|
|
2152
2249
|
diagnostics.push(`\u66B4\u9732\u5165\u53E3 ${expose.name} \u7684\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728\uFF08${expose.import}\uFF09\u3002\u8BF7\u6838\u5BF9 exposes \u914D\u7F6E\u3002`);
|
|
2153
2250
|
continue;
|
|
2154
2251
|
}
|
|
@@ -2174,19 +2271,19 @@ async function generateTypesBundle(input) {
|
|
|
2174
2271
|
};
|
|
2175
2272
|
}
|
|
2176
2273
|
tool = "vue-tsc";
|
|
2177
|
-
const vueTscPkg = JSON.parse(
|
|
2274
|
+
const vueTscPkg = JSON.parse(import_node_fs3.default.readFileSync(import_node_path4.default.join(vueTscDir, "package.json"), "utf8"));
|
|
2178
2275
|
const binRel = vueTscPkg.bin?.["vue-tsc"] ?? vueTscPkg.bin?.["vue-tsc.js"] ?? "bin/vue-tsc.js";
|
|
2179
2276
|
const binPath = import_node_path4.default.resolve(vueTscDir, binRel);
|
|
2180
2277
|
const scopedVueProgram = /^1\./.test(vueTscPkg.version);
|
|
2181
|
-
if (!
|
|
2278
|
+
if (!import_node_fs3.default.existsSync(binPath)) {
|
|
2182
2279
|
return { ok: false, diagnostics: [`vue-tsc \u5165\u53E3\u4E0D\u5B58\u5728\uFF08${binPath}\uFF09\u3002\u8BF7\u91CD\u65B0\u5B89\u88C5 vue-tsc\u3002`] };
|
|
2183
2280
|
}
|
|
2184
2281
|
const cacheDir = input.incrementalDir;
|
|
2185
|
-
if (cacheDir)
|
|
2282
|
+
if (cacheDir) import_node_fs3.default.mkdirSync(cacheDir, { recursive: true });
|
|
2186
2283
|
const tmpCfg = import_node_path4.default.join(root, `.fulgurjs-types-tsconfig-${cacheDir ? import_node_path4.default.basename(cacheDir) : `${process.pid}-${import_node_crypto.default.randomUUID()}`}.json`);
|
|
2187
|
-
const outDir = cacheDir ? import_node_path4.default.join(cacheDir, "emit") :
|
|
2284
|
+
const outDir = cacheDir ? import_node_path4.default.join(cacheDir, "emit") : import_node_fs3.default.mkdtempSync(import_node_path4.default.join(root, "node_modules", ".fulgurjs-types-emit-"));
|
|
2188
2285
|
const clearOutput = () => {
|
|
2189
|
-
if (!cacheDir)
|
|
2286
|
+
if (!cacheDir) import_node_fs3.default.rmSync(outDir, { recursive: true, force: true });
|
|
2190
2287
|
};
|
|
2191
2288
|
const baseCo = { ...rawOptionsWithInherited(ctx) };
|
|
2192
2289
|
delete baseCo.noEmit;
|
|
@@ -2197,7 +2294,7 @@ async function generateTypesBundle(input) {
|
|
|
2197
2294
|
delete baseCo.declarationDir;
|
|
2198
2295
|
delete baseCo.extends;
|
|
2199
2296
|
const resolvedTypeFiles = resolveTypesEntries(root, baseCo, diagnostics);
|
|
2200
|
-
|
|
2297
|
+
import_node_fs3.default.writeFileSync(tmpCfg, JSON.stringify({
|
|
2201
2298
|
...ctx.tsconfigFile ? { extends: ctx.tsconfigFile } : {},
|
|
2202
2299
|
compilerOptions: {
|
|
2203
2300
|
...baseCo,
|
|
@@ -2221,7 +2318,7 @@ async function generateTypesBundle(input) {
|
|
|
2221
2318
|
...ctx.ambientInputs.map((f) => import_node_path4.default.relative(root, f))
|
|
2222
2319
|
]
|
|
2223
2320
|
}));
|
|
2224
|
-
if (process.env.FG_DUMP_TSCFG)
|
|
2321
|
+
if (process.env.FG_DUMP_TSCFG) import_node_fs3.default.writeFileSync(process.env.FG_DUMP_TSCFG, import_node_fs3.default.readFileSync(tmpCfg, "utf8"));
|
|
2225
2322
|
const isOom = (text) => /(^|\n)\s*FATAL ERROR:.*(heap out of memory|Ineffective mark-compacts|Allocation failed)/i.test(text);
|
|
2226
2323
|
const isSystemKilled = (e, out, errText) => !!e && (e.signal != null || /(^|\n)\s*(Killed|-9)\s*(:9)?\s*$/i.test(errText)) && !isOom(errText) && !/error TS\d+/i.test(out + "\n" + errText);
|
|
2227
2324
|
const isTimeoutKill = (e) => !!e && e.killed === true && !/error TS\d+/i.test(String(e.message ?? ""));
|
|
@@ -2253,7 +2350,7 @@ async function generateTypesBundle(input) {
|
|
|
2253
2350
|
});
|
|
2254
2351
|
const heapMarker = cacheDir ? import_node_path4.default.join(cacheDir, "raised-heap") : void 0;
|
|
2255
2352
|
const raisedArgs = [`--max-old-space-size=${process.env.FG_DTS_MAX_OLD_SPACE ?? "8192"}`];
|
|
2256
|
-
const initialArgs = heapMarker &&
|
|
2353
|
+
const initialArgs = heapMarker && import_node_fs3.default.existsSync(heapMarker) ? raisedArgs : [];
|
|
2257
2354
|
let { err, stdout, stderr } = await attempt(initialArgs);
|
|
2258
2355
|
if (signal?.aborted) {
|
|
2259
2356
|
clearOutput();
|
|
@@ -2263,7 +2360,7 @@ async function generateTypesBundle(input) {
|
|
|
2263
2360
|
const raised = process.env.FG_DTS_MAX_OLD_SPACE ?? "8192";
|
|
2264
2361
|
if (initialArgs.length === 0) {
|
|
2265
2362
|
diagnostics.push(`vue-tsc \u58F0\u660E\u751F\u6210\u5728\u9ED8\u8BA4\u5806\u4E0B\u5185\u5B58\u4E0D\u8DB3\uFF08V8 OOM\uFF09\uFF0C\u4EE5 --max-old-space-size=${raised}MB \u91CD\u8BD5\u3002`);
|
|
2266
|
-
if (heapMarker)
|
|
2363
|
+
if (heapMarker) import_node_fs3.default.writeFileSync(heapMarker, "");
|
|
2267
2364
|
({ err, stdout, stderr } = await attempt([`--max-old-space-size=${raised}`]));
|
|
2268
2365
|
}
|
|
2269
2366
|
if (err && isOom(stderr)) {
|
|
@@ -2320,15 +2417,15 @@ ${tail}`);
|
|
|
2320
2417
|
}
|
|
2321
2418
|
} catch {
|
|
2322
2419
|
clearOutput();
|
|
2323
|
-
|
|
2420
|
+
import_node_fs3.default.rmSync(tmpCfg, { force: true });
|
|
2324
2421
|
return { ok: false, diagnostics };
|
|
2325
2422
|
} finally {
|
|
2326
|
-
|
|
2423
|
+
import_node_fs3.default.rmSync(tmpCfg, { force: true });
|
|
2327
2424
|
}
|
|
2328
2425
|
collectEmitted(ts, outDir, rootDir, emitted, closure);
|
|
2329
2426
|
clearOutput();
|
|
2330
2427
|
} else {
|
|
2331
|
-
const outDir =
|
|
2428
|
+
const outDir = import_node_fs3.default.mkdtempSync(import_node_path4.default.join(root, "node_modules", ".fulgurjs-types-emit-"));
|
|
2332
2429
|
const program = ts.createProgram([...entryFiles, ...ctx.ambientInputs, ...resolveTypesEntries(root, ctx.rawOptions, [])], {
|
|
2333
2430
|
...ctx.compilerOptions,
|
|
2334
2431
|
noEmit: false,
|
|
@@ -2348,7 +2445,7 @@ ${tail}`);
|
|
|
2348
2445
|
...program.getDeclarationDiagnostics()
|
|
2349
2446
|
].filter((d) => d.category === ts.DiagnosticCategory.Error).filter((d) => !d.file || closure.has(import_node_path4.default.resolve(d.file.fileName)));
|
|
2350
2447
|
if (errs.length > 0) {
|
|
2351
|
-
|
|
2448
|
+
import_node_fs3.default.rmSync(outDir, { recursive: true, force: true });
|
|
2352
2449
|
diagnostics.push(
|
|
2353
2450
|
`\u58F0\u660E\u751F\u6210\u5931\u8D25\uFF1A\u66B4\u9732\u95ED\u5305\u5185\u5B58\u5728 ${errs.length} \u4E2A\u7F16\u8BD1\u9519\u8BEF\u2014\u2014\u7C7B\u578B\u8D44\u6E90\u672A\u4EA7\u51FA\uFF08\u4FEE\u590D\u540E\u91CD\u65B0\u6784\u5EFA/\u91CD\u542F dev\uFF09\u3002\u524D\u82E5\u5E72\u6761\uFF1A`,
|
|
2354
2451
|
...errs.slice(0, 20).map((d) => {
|
|
@@ -2363,15 +2460,15 @@ ${tail}`);
|
|
|
2363
2460
|
if (source.isDeclarationFile || source.fileName.endsWith(".json") || !closure.has(import_node_path4.default.resolve(source.fileName))) continue;
|
|
2364
2461
|
const emitResult = program.emit(source, void 0, void 0, true);
|
|
2365
2462
|
if (emitResult.emitSkipped) {
|
|
2366
|
-
|
|
2463
|
+
import_node_fs3.default.rmSync(outDir, { recursive: true, force: true });
|
|
2367
2464
|
return { ok: false, diagnostics: [`TypeScript \u58F0\u660E emit \u5931\u8D25\uFF08emitSkipped\uFF09\uFF1A${import_node_path4.default.relative(root, source.fileName)}\u3002\u8BF7\u68C0\u67E5 tsconfig \u7F16\u8BD1\u9009\u9879\u3002`] };
|
|
2368
2465
|
}
|
|
2369
2466
|
}
|
|
2370
2467
|
collectEmitted(ts, outDir, rootDir, emitted, closure);
|
|
2371
|
-
|
|
2468
|
+
import_node_fs3.default.rmSync(outDir, { recursive: true, force: true });
|
|
2372
2469
|
}
|
|
2373
2470
|
for (const file of closure) {
|
|
2374
|
-
if (file.endsWith(".d.ts")) emitted.set(file,
|
|
2471
|
+
if (file.endsWith(".d.ts")) emitted.set(file, import_node_fs3.default.readFileSync(file, "utf8"));
|
|
2375
2472
|
}
|
|
2376
2473
|
const jsonFiles = [...closure].filter((file) => file.endsWith(".json"));
|
|
2377
2474
|
if (jsonFiles.length) {
|
|
@@ -2447,27 +2544,27 @@ export default value;
|
|
|
2447
2544
|
return { ok: true, files, index: fullIndex, tool, fileCount: filesDigest ? Object.keys(filesDigest).length : 0, notices: diagnostics };
|
|
2448
2545
|
}
|
|
2449
2546
|
function collectEmitted(ts, outDir, rootDir, out, closure) {
|
|
2450
|
-
const walk = (dir) =>
|
|
2547
|
+
const walk = (dir) => import_node_fs3.default.readdirSync(dir, { withFileTypes: true }).flatMap((d) => {
|
|
2451
2548
|
const p = import_node_path4.default.join(dir, d.name);
|
|
2452
2549
|
return d.isDirectory() ? walk(p) : [p];
|
|
2453
2550
|
});
|
|
2454
|
-
if (!
|
|
2551
|
+
if (!import_node_fs3.default.existsSync(outDir)) return;
|
|
2455
2552
|
for (const file of walk(outDir)) {
|
|
2456
2553
|
if (!file.endsWith(".d.ts")) continue;
|
|
2457
2554
|
const rel = import_node_path4.default.relative(outDir, file);
|
|
2458
2555
|
const srcRel = rel.endsWith(".vue.d.ts") ? rel.replace(/\.d\.ts$/, "") : rel.replace(/\.d\.ts$/, ".ts");
|
|
2459
2556
|
let srcAbs = import_node_path4.default.join(rootDir, srcRel);
|
|
2460
|
-
if (!out.has(srcAbs) && !
|
|
2557
|
+
if (!out.has(srcAbs) && !import_node_fs3.default.existsSync(srcAbs)) {
|
|
2461
2558
|
for (const ext of [".tsx", ".jsx", ".mts", ".cts", ".js"]) {
|
|
2462
2559
|
const candidate = import_node_path4.default.join(rootDir, rel.replace(/\.d\.ts$/, ext));
|
|
2463
|
-
if (
|
|
2560
|
+
if (import_node_fs3.default.existsSync(candidate)) {
|
|
2464
2561
|
srcAbs = candidate;
|
|
2465
2562
|
break;
|
|
2466
2563
|
}
|
|
2467
2564
|
}
|
|
2468
2565
|
}
|
|
2469
2566
|
if (!closure.has(srcAbs)) continue;
|
|
2470
|
-
out.set(srcAbs,
|
|
2567
|
+
out.set(srcAbs, import_node_fs3.default.readFileSync(file, "utf8"));
|
|
2471
2568
|
}
|
|
2472
2569
|
void ts;
|
|
2473
2570
|
}
|
|
@@ -2593,7 +2690,7 @@ function createDevTypesServer(options, hooks = {}) {
|
|
|
2593
2690
|
let lastErrorKey = null;
|
|
2594
2691
|
let incrementalDir;
|
|
2595
2692
|
const clearCache = () => {
|
|
2596
|
-
if (incrementalDir)
|
|
2693
|
+
if (incrementalDir) import_node_fs4.default.rmSync(incrementalDir, { recursive: true, force: true });
|
|
2597
2694
|
incrementalDir = void 0;
|
|
2598
2695
|
};
|
|
2599
2696
|
const publicExposes = options.exposes.filter((e) => !e.internal).map((e) => ({ name: e.name, import: e.import }));
|
|
@@ -2603,8 +2700,8 @@ function createDevTypesServer(options, hooks = {}) {
|
|
|
2603
2700
|
try {
|
|
2604
2701
|
if (!incrementalDir) {
|
|
2605
2702
|
const cacheRoot = import_node_path5.default.join(options.root, "node_modules");
|
|
2606
|
-
|
|
2607
|
-
incrementalDir =
|
|
2703
|
+
import_node_fs4.default.mkdirSync(cacheRoot, { recursive: true });
|
|
2704
|
+
incrementalDir = import_node_fs4.default.mkdtempSync(import_node_path5.default.join(cacheRoot, ".fulgurjs-types-cache-"));
|
|
2608
2705
|
}
|
|
2609
2706
|
result = await generateTypesBundle({
|
|
2610
2707
|
root: options.root,
|
|
@@ -2683,7 +2780,7 @@ ${key}`);
|
|
|
2683
2780
|
}
|
|
2684
2781
|
|
|
2685
2782
|
// src/dts-sync.ts
|
|
2686
|
-
var
|
|
2783
|
+
var import_node_fs6 = __toESM(require("fs"), 1);
|
|
2687
2784
|
var import_node_path7 = __toESM(require("path"), 1);
|
|
2688
2785
|
var import_node_crypto2 = __toESM(require("crypto"), 1);
|
|
2689
2786
|
|
|
@@ -2813,7 +2910,7 @@ function stripAmbientModifiers(text) {
|
|
|
2813
2910
|
}
|
|
2814
2911
|
|
|
2815
2912
|
// src/dts-discovery.ts
|
|
2816
|
-
var
|
|
2913
|
+
var import_node_fs5 = __toESM(require("fs"), 1);
|
|
2817
2914
|
var import_node_path6 = __toESM(require("path"), 1);
|
|
2818
2915
|
function stripJsoncForConfig(text) {
|
|
2819
2916
|
let out = "";
|
|
@@ -2854,7 +2951,7 @@ function stripJsoncForConfig(text) {
|
|
|
2854
2951
|
}
|
|
2855
2952
|
function readCfg(file) {
|
|
2856
2953
|
try {
|
|
2857
|
-
const raw = JSON.parse(stripJsoncForConfig(
|
|
2954
|
+
const raw = JSON.parse(stripJsoncForConfig(import_node_fs5.default.readFileSync(file, "utf8")));
|
|
2858
2955
|
const cfg = { file };
|
|
2859
2956
|
for (const key of ["include", "files", "exclude"]) {
|
|
2860
2957
|
const v = raw[key];
|
|
@@ -2894,9 +2991,9 @@ function effectiveCfg(cfg, depth = 0) {
|
|
|
2894
2991
|
function resolveConfigFile(value, declaringFile) {
|
|
2895
2992
|
let candidate = import_node_path6.default.resolve(import_node_path6.default.dirname(declaringFile), value);
|
|
2896
2993
|
if (!candidate.endsWith(".json")) candidate += ".json";
|
|
2897
|
-
if (
|
|
2994
|
+
if (import_node_fs5.default.existsSync(candidate)) return candidate;
|
|
2898
2995
|
const asDir = import_node_path6.default.join(candidate, "tsconfig.json");
|
|
2899
|
-
return
|
|
2996
|
+
return import_node_fs5.default.existsSync(asDir) ? asDir : null;
|
|
2900
2997
|
}
|
|
2901
2998
|
function patternCoversDir(pattern, target, cfgDir) {
|
|
2902
2999
|
const norm = pattern.replace(/^\.\//, "");
|
|
@@ -2913,8 +3010,8 @@ function checkTypesDiscovery(root, typesRoot) {
|
|
|
2913
3010
|
const relTypes = import_node_path6.default.relative(root, typesRoot) || ".";
|
|
2914
3011
|
const configs = [];
|
|
2915
3012
|
let primary = import_node_path6.default.join(root, "tsconfig.json");
|
|
2916
|
-
if (!
|
|
2917
|
-
const candidates =
|
|
3013
|
+
if (!import_node_fs5.default.existsSync(primary)) {
|
|
3014
|
+
const candidates = import_node_fs5.default.existsSync(root) ? import_node_fs5.default.readdirSync(root).filter((f) => /^tsconfig[\w.-]*\.json$/i.test(f)).map((f) => import_node_path6.default.join(root, f)) : [];
|
|
2918
3015
|
if (candidates.length === 0) {
|
|
2919
3016
|
return {
|
|
2920
3017
|
covered: false,
|
|
@@ -3008,7 +3105,7 @@ var METADATA_FILE = "metadata.json";
|
|
|
3008
3105
|
var AMBIENT_FORMAT = 2;
|
|
3009
3106
|
function readMetadata(dir) {
|
|
3010
3107
|
try {
|
|
3011
|
-
const raw = JSON.parse(
|
|
3108
|
+
const raw = JSON.parse(import_node_fs6.default.readFileSync(import_node_path7.default.join(dir, METADATA_FILE), "utf8"));
|
|
3012
3109
|
if (raw.generator !== "@fulgurjs/federation" || typeof raw.revision !== "string" || !Array.isArray(raw.files)) return null;
|
|
3013
3110
|
return raw;
|
|
3014
3111
|
} catch {
|
|
@@ -3018,19 +3115,19 @@ function readMetadata(dir) {
|
|
|
3018
3115
|
function cleanupOwnFiles(dir, meta) {
|
|
3019
3116
|
for (const f of meta.files) {
|
|
3020
3117
|
if (!isSafeBundlePath(f)) continue;
|
|
3021
|
-
|
|
3118
|
+
import_node_fs6.default.rmSync(import_node_path7.default.join(dir, f), { force: true });
|
|
3022
3119
|
}
|
|
3023
|
-
|
|
3120
|
+
import_node_fs6.default.rmSync(import_node_path7.default.join(dir, METADATA_FILE), { force: true });
|
|
3024
3121
|
try {
|
|
3025
|
-
if (
|
|
3122
|
+
if (import_node_fs6.default.readdirSync(dir).length === 0) import_node_fs6.default.rmdirSync(dir);
|
|
3026
3123
|
} catch {
|
|
3027
3124
|
}
|
|
3028
3125
|
}
|
|
3029
3126
|
function sweepStaleStaging(typesRoot, alias) {
|
|
3030
|
-
if (!
|
|
3031
|
-
for (const name of
|
|
3127
|
+
if (!import_node_fs6.default.existsSync(typesRoot)) return;
|
|
3128
|
+
for (const name of import_node_fs6.default.readdirSync(typesRoot)) {
|
|
3032
3129
|
if (name.startsWith(`.fg-staging-${alias}-`) || name.startsWith(`.fg-trash-${alias}-`)) {
|
|
3033
|
-
|
|
3130
|
+
import_node_fs6.default.rmSync(import_node_path7.default.join(typesRoot, name), { recursive: true, force: true });
|
|
3034
3131
|
}
|
|
3035
3132
|
}
|
|
3036
3133
|
}
|
|
@@ -3052,7 +3149,7 @@ async function syncRemoteTypes(input) {
|
|
|
3052
3149
|
}
|
|
3053
3150
|
manifest = parsed.manifest;
|
|
3054
3151
|
} catch (e) {
|
|
3055
|
-
const meta =
|
|
3152
|
+
const meta = import_node_fs6.default.existsSync(dir) ? readMetadata(dir) : null;
|
|
3056
3153
|
return {
|
|
3057
3154
|
status: "failed",
|
|
3058
3155
|
alias,
|
|
@@ -3062,7 +3159,7 @@ async function syncRemoteTypes(input) {
|
|
|
3062
3159
|
}
|
|
3063
3160
|
const types = readManifestTypes(manifest);
|
|
3064
3161
|
if (!types) {
|
|
3065
|
-
const meta =
|
|
3162
|
+
const meta = import_node_fs6.default.existsSync(dir) ? readMetadata(dir) : null;
|
|
3066
3163
|
if (isDevManifest(manifest) && manifest.typesPending === true) {
|
|
3067
3164
|
return {
|
|
3068
3165
|
status: meta ? "stale" : "failed",
|
|
@@ -3082,7 +3179,7 @@ async function syncRemoteTypes(input) {
|
|
|
3082
3179
|
};
|
|
3083
3180
|
}
|
|
3084
3181
|
const indexUrl = new URL(types.index, manifestUrl).toString();
|
|
3085
|
-
const existing =
|
|
3182
|
+
const existing = import_node_fs6.default.existsSync(dir) ? readMetadata(dir) : null;
|
|
3086
3183
|
if (existing && existing.revision === types.revision && existing.ambientFormat === AMBIENT_FORMAT) {
|
|
3087
3184
|
return { status: "unchanged", alias, revision: types.revision, message: `\u8FDC\u7A0B ${alias} \u7C7B\u578B\u5DF2\u662F\u6700\u65B0\uFF08revision ${types.revision}\uFF09\u3002` };
|
|
3088
3185
|
}
|
|
@@ -3141,14 +3238,14 @@ async function syncRemoteTypes(input) {
|
|
|
3141
3238
|
const ambient = buildAmbientDeclarations({ alias, index, readFile: (rel) => indexRaw[rel] ?? "", source });
|
|
3142
3239
|
sweepStaleStaging(typesRoot, alias);
|
|
3143
3240
|
const staging = import_node_path7.default.join(typesRoot, `.fg-staging-${alias}-${process.pid}-${Date.now()}`);
|
|
3144
|
-
|
|
3145
|
-
|
|
3241
|
+
import_node_fs6.default.rmSync(staging, { recursive: true, force: true });
|
|
3242
|
+
import_node_fs6.default.mkdirSync(staging, { recursive: true });
|
|
3146
3243
|
const written = [];
|
|
3147
3244
|
try {
|
|
3148
3245
|
for (const [name, content] of ambient.files) {
|
|
3149
3246
|
const dest = import_node_path7.default.join(staging, name);
|
|
3150
|
-
|
|
3151
|
-
|
|
3247
|
+
import_node_fs6.default.mkdirSync(import_node_path7.default.dirname(dest), { recursive: true });
|
|
3248
|
+
import_node_fs6.default.writeFileSync(dest, content);
|
|
3152
3249
|
written.push(name);
|
|
3153
3250
|
}
|
|
3154
3251
|
const meta = {
|
|
@@ -3161,22 +3258,22 @@ async function syncRemoteTypes(input) {
|
|
|
3161
3258
|
externals: index.externals,
|
|
3162
3259
|
syncedAt: Date.now()
|
|
3163
3260
|
};
|
|
3164
|
-
|
|
3261
|
+
import_node_fs6.default.writeFileSync(import_node_path7.default.join(staging, METADATA_FILE), JSON.stringify(meta, null, 2));
|
|
3165
3262
|
const trash = import_node_path7.default.join(typesRoot, `.fg-trash-${alias}-${Date.now()}`);
|
|
3166
3263
|
let swapped = false;
|
|
3167
|
-
if (
|
|
3168
|
-
|
|
3264
|
+
if (import_node_fs6.default.existsSync(dir)) {
|
|
3265
|
+
import_node_fs6.default.renameSync(dir, trash);
|
|
3169
3266
|
swapped = true;
|
|
3170
3267
|
}
|
|
3171
3268
|
try {
|
|
3172
|
-
|
|
3269
|
+
import_node_fs6.default.renameSync(staging, dir);
|
|
3173
3270
|
} catch (e) {
|
|
3174
|
-
if (swapped)
|
|
3271
|
+
if (swapped) import_node_fs6.default.renameSync(trash, dir);
|
|
3175
3272
|
throw e;
|
|
3176
3273
|
}
|
|
3177
|
-
if (swapped)
|
|
3274
|
+
if (swapped) import_node_fs6.default.rmSync(trash, { recursive: true, force: true });
|
|
3178
3275
|
} catch (e) {
|
|
3179
|
-
|
|
3276
|
+
import_node_fs6.default.rmSync(staging, { recursive: true, force: true });
|
|
3180
3277
|
return { status: "failed", alias, message: `\u8FDC\u7A0B ${alias} \u7684\u7C7B\u578B\u5199\u5165\u5931\u8D25\uFF08${e.message}\uFF09\u3002\u672C\u5730\u58F0\u660E\u4FDD\u6301\u539F\u72B6\u3002` };
|
|
3181
3278
|
}
|
|
3182
3279
|
return {
|
|
@@ -3189,7 +3286,7 @@ async function syncRemoteTypes(input) {
|
|
|
3189
3286
|
}
|
|
3190
3287
|
function removeGeneratedTypes(typesRoot, alias) {
|
|
3191
3288
|
const dir = import_node_path7.default.join(typesRoot, alias);
|
|
3192
|
-
if (!
|
|
3289
|
+
if (!import_node_fs6.default.existsSync(dir)) return false;
|
|
3193
3290
|
const meta = readMetadata(dir);
|
|
3194
3291
|
if (!meta) return false;
|
|
3195
3292
|
cleanupOwnFiles(dir, meta);
|
|
@@ -3250,8 +3347,8 @@ function startRemoteTypesSyncLoop(opts) {
|
|
|
3250
3347
|
let discoveryWarned = false;
|
|
3251
3348
|
const checkDiscoveryOnce = () => {
|
|
3252
3349
|
if (discoveryWarned) return;
|
|
3253
|
-
if (!
|
|
3254
|
-
if (
|
|
3350
|
+
if (!import_node_fs6.default.existsSync(opts.typesRoot)) return;
|
|
3351
|
+
if (import_node_fs6.default.readdirSync(opts.typesRoot).length === 0) return;
|
|
3255
3352
|
discoveryWarned = true;
|
|
3256
3353
|
const d = checkTypesDiscovery(opts.root, opts.typesRoot);
|
|
3257
3354
|
if (!d.covered) warn(`[fulgurjs] ${d.fixHint ?? ""}`);
|
|
@@ -3420,22 +3517,22 @@ function genRemoteSchemaModule(schema) {
|
|
|
3420
3517
|
}
|
|
3421
3518
|
|
|
3422
3519
|
// src/vite-cache.ts
|
|
3423
|
-
var
|
|
3520
|
+
var import_node_fs7 = __toESM(require("fs"), 1);
|
|
3424
3521
|
var import_node_path9 = __toESM(require("path"), 1);
|
|
3425
3522
|
function syncViteCacheMarker(root, pluginVersion, log) {
|
|
3426
3523
|
const viteDir = import_node_path9.default.join(root, "node_modules", ".vite");
|
|
3427
3524
|
const marker = import_node_path9.default.join(viteDir, "fulgurjs-version.txt");
|
|
3428
3525
|
try {
|
|
3429
|
-
if (
|
|
3430
|
-
const prev =
|
|
3526
|
+
if (import_node_fs7.default.existsSync(viteDir)) {
|
|
3527
|
+
const prev = import_node_fs7.default.existsSync(marker) ? import_node_fs7.default.readFileSync(marker, "utf8").trim() : "";
|
|
3431
3528
|
if (prev === pluginVersion) return;
|
|
3432
|
-
|
|
3529
|
+
import_node_fs7.default.rmSync(viteDir, { recursive: true, force: true });
|
|
3433
3530
|
log(
|
|
3434
3531
|
`[fulgurjs] \u63D2\u4EF6\u7248\u672C\u53D8\u5316\uFF08${prev || "\u65E0\u8BB0\u5F55"} \u2192 ${pluginVersion}\uFF09\uFF0C\u5DF2\u81EA\u52A8\u6E05\u9664 ${import_node_path9.default.relative(root, viteDir)} \u9884\u6784\u5EFA\u7F13\u5B58\uFF08\u907F\u514D\u65E7\u95E8\u9762\u7B7E\u540D 404 / DEV-009\uFF09\u3002\u672C\u6B21\u542F\u52A8\u5C06\u91CD\u65B0\u9884\u6784\u5EFA\uFF0C\u9996\u8F6E 30~60s \u5C5E\u6682\u6001\uFF08DEV-010\uFF09\u3002`
|
|
3435
3532
|
);
|
|
3436
3533
|
}
|
|
3437
|
-
|
|
3438
|
-
|
|
3534
|
+
import_node_fs7.default.mkdirSync(viteDir, { recursive: true });
|
|
3535
|
+
import_node_fs7.default.writeFileSync(marker, pluginVersion);
|
|
3439
3536
|
} catch (e) {
|
|
3440
3537
|
log(
|
|
3441
3538
|
`[fulgurjs] \u81EA\u52A8\u6E05\u7406 .vite \u7F13\u5B58\u5931\u8D25\uFF08\u4E0D\u5F71\u54CD\u542F\u52A8\uFF1B\u5982\u9047\u8054\u90A6\u6A21\u5757 404 \u8BF7\u624B\u5DE5\u6267\u884C rm -rf ${viteDir}\uFF09\uFF1A${String(e.message ?? e)}`
|
|
@@ -3791,7 +3888,7 @@ function repairRolldownAsyncMarks(code, sourceName) {
|
|
|
3791
3888
|
}
|
|
3792
3889
|
|
|
3793
3890
|
// src/runtime-code.gen.ts
|
|
3794
|
-
var runtime_code_gen_default = 'var Pe=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function U(c){let d=Pe.exec(String(c).trim());return d?{major:Number(d[1]),minor:Number(d[2]??0),patch:Number(d[3]??0),pre:d[4]?d[4].split("."):[]}:null}function _e(c,d){if(c.length===0&&d.length===0)return 0;if(c.length===0)return 1;if(d.length===0)return-1;let f=Math.max(c.length,d.length);for(let l=0;l<f;l++){let m=c[l],S=d[l];if(m===void 0)return-1;if(S===void 0)return 1;let b=/^\\d+$/.test(m),P=/^\\d+$/.test(S);if(b&&P){let L=Number(m)-Number(S);if(L!==0)return L}else{if(b!==P)return b?-1:1;if(m!==S)return m<S?-1:1}}return 0}function I(c,d){let f=U(c),l=U(d);return!f||!l?c<d?-1:c>d?1:0:f.major!==l.major?f.major-l.major:f.minor!==l.minor?f.minor-l.minor:f.patch!==l.patch?f.patch-l.patch:_e(f.pre,l.pre)}var $e=/^[a-z]+[+:-]/i;function j(c,d){if(d===!1||d==null||d==="")return!0;let f=String(d).trim();return!f||f==="*"||f==="latest"||$e.test(f)?!0:f.split("||").some(l=>ke(c,l.trim()))}function ke(c,d){if(!d||d==="*")return!U(c)?.pre.length;let f=d.split(/\\s+-\\s+/);if(f.length===2){let S=f[0].trim(),b=f[1].trim();return!(!j(c,`>=${S}`)||!j(c,`<=${b}`))}let l=U(c);if(!l)return!1;let m=Oe(d);if(m===null)return!0;for(let S of m)if(!Ie(l,c,S))return!1;return!(l.pre.length>0&&!m.some(S=>S.ver.pre.length>0)&&!m.some(b=>b.ver.major===l.major&&b.ver.minor===l.minor&&b.ver.patch===l.patch))}function Oe(c){let d=[],f=c.trim().split(/\\s+/).filter(Boolean);if(f.length===0)return null;for(let l of f){let m=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(l);if(!m)return null;let S=m[1],b=m[2],P=Me(S,b);if(P===null)return null;d.push(...P)}return d}function Me(c,d){let f=Le(d);if(!f)return null;let{ver:l,partial:m}=f;switch(c){case"^":{let S=Te(l);return S?[{op:">=",ver:l},{op:"<",ver:S}]:null}case"~":{let S=m>=2?{major:l.major,minor:l.minor+1,patch:0,pre:[]}:{major:l.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:l},{op:"<",ver:S}]}case">=":return[{op:">=",ver:l}];case">":return m===1?[{op:">=",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:">",ver:l}];case"<":return m===1?[{op:"<",ver:{major:l.major,minor:0,patch:0,pre:[]}}]:m===2?[{op:"<",ver:{major:l.major,minor:l.minor,patch:0,pre:[]}}]:[{op:"<",ver:l}];case"<=":return[{op:"<=",ver:l}];case"=":case void 0:return m===1?[{op:">=",ver:l},{op:"<",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:l},{op:"<",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:l}];default:return null}}function Te(c){return c.major>0?{major:c.major+1,minor:0,patch:0,pre:[]}:c.minor>0?{major:0,minor:c.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:c.patch+1,pre:[]}}function Le(c){let d=c.replace(/^v/,"").trim();if(!d||d==="*"||d==="x"||d==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let f=d.split("."),l=[],m=0;for(let P of f.slice(0,3))if(/^\\d+$/.test(P))l.push(Number(P)),m++;else{if(P==="x"||P==="X"||P==="*")break;break}let S=d.split("-"),b=S.length>1?S.slice(1).join("-").split("+")[0].split("."):[];return m===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:l[0]??0,minor:l[1]??0,patch:l[2]??0,pre:b},partial:m}}function Ae(c,d){switch(d){case">=":return c>=0;case">":return c>0;case"<":return c<0;case"<=":return c<=0;case"=":return c===0}}function Ie(c,d,f){let l=`${c.major}.${c.minor}.${c.patch}`+(c.pre.length?`-${c.pre.join(".")}`:"");if(f.upper)return!(!(I(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:""))>=0)||!(I(l,`${f.upper.major}.${f.upper.minor}.${f.upper.patch}`)<0));let m=I(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:"")),S=Ae(m,f.op);return f.ver.pre.length>0&&c.pre.length===0&&(f.op===">"||f.op==="<")?!1:S}var E=class extends Error{code;details;constructor(d,f,l,m){super(`[fulgurjs:${d}] ${f}`,m),this.name="FgError",this.code=d,this.details=l}},R={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014",COMPONENT_EXPORT_INVALID:"MFU-018",VUE_RUNTIME_IDENTITY_MISMATCH:"MFU-019",REMOTE_RENDER_ERROR:"MFU-020"};function te(c){if(typeof c!="object"||c===null)return!1;let d=globalThis,f=d.__FULGURJS_REPORTED_ERRORS__??=new WeakSet;return f.has(c)?!0:(f.add(c),!1)}var oe="6.13.0";var je="__fulgurjsSetup",xe="__FULGURJS_APP_CONFIG__",G=15e3,se=2,Ue=5,Ne=3e4,Ce=4e3,Fe=.2;function Ve(){let c=Object.create(null),d=new Map,f=[],l=new Set,m=new Map,S=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,P=new Map,L=new WeakMap,N=new WeakMap,$={},ae=()=>{for(let e of f)try{e.init?.($)}catch(r){console.warn("[fulgurjs] \\u8FD0\\u884C\\u65F6\\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BE5\\u6269\\u5C55\\u5C06\\u4E0D\\u53EF\\u7528\\uFF1A",e.name,r)}},C=new Map,F,V=e=>{let r=C.get(e);return r||C.set(e,r={}),r},X=()=>globalThis[xe]??{};async function J(e,r,n,o){let t=u=>{if(u instanceof E)return v({remote:e,error:u}),u;let a=new E(R.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${o} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(u?.message??u)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${o} \\u51FD\\u6570\\u540E\\u91CD\\u65B0\\u52A0\\u8F7D\\uFF1B\\u5931\\u8D25\\u7F13\\u5B58\\u5DF2\\u6E05\\u9664\\uFF0C\\u53EF\\u4EE5\\u76F4\\u63A5\\u91CD\\u8BD5\\u3002`,{remote:e,phase:o},{cause:u});return v({remote:e,error:a}),a};F=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{F=void 0}try{await s}catch(u){throw t(u)}}async function ce(e,r,n,o){e.debug.setup="pending";try{if(e.manifestUrl)try{await H(`${e.name}/${n}`)}catch{}let t=await r.get(n),s=t?.default,u=t?.onSession!==void 0||t?.globalComponents!==void 0||t?.pageProviders!==void 0;if(s!==void 0&&typeof s!="function"||!s&&!u)throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${t==null?String(t):typeof s}\\uFF0C\\u4E14\\u6A21\\u5757\\u4E0D\\u6EE1\\u8DB3\\u521D\\u59CB\\u5316\\u58F0\\u660E\\u5951\\u7EA6\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u521D\\u59CB\\u5316\\u51FD\\u6570\\uFF0C\\u6216\\u53EA\\u58F0\\u660E onSession/globalComponents/pageProviders\\uFF1B\\u7A7A\\u6A21\\u5757\\u4E0E\\u975E\\u51FD\\u6570\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u65E0\\u6548\\u3002`,{remote:e.name,module:n});if(t.onSession!==void 0&&typeof t.onSession!="function")throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.onSession}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5C06 onSession \\u6539\\u4E3A\\u5177\\u540D\\u5BFC\\u51FA\\u7684\\u51FD\\u6570\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});if(o.setupExports=t,t.globalComponents!==void 0){if(typeof t.globalComponents!="object"||t.globalComponents===null||Array.isArray(t.globalComponents))throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AglobalComponents \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${Array.isArray(t.globalComponents)?"array":typeof t.globalComponents}\\uFF0C\\u5E94\\u4E3A\\u5BF9\\u8C61\\uFF08\\u952E=\\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D\\uFF0C\\u503C=\\u7EC4\\u4EF6\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const globalComponents = { \\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D: \\u7EC4\\u4EF6 } \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.globalComponents=t.globalComponents}if(t.pageProviders!==void 0){if(!Array.isArray(t.pageProviders))throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1ApageProviders \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.pageProviders}\\uFF0C\\u5E94\\u4E3A\\u6570\\u7EC4\\uFF08\\u6BCF\\u9879=\\u7EC4\\u4EF6\\u6216\\u96F6\\u53C2 loader\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const pageProviders = [AppProvider] \\u6216 [() => import(\'./X\').then((m) => m.AppProvider)] \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.pageProviders=t.pageProviders}s&&await J(e.name,s,{appContext:X(),signal:(o.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(t){throw e.debug.setup="failed",t?.code&&v({remote:e.name,error:t}),o.setupExports=void 0,o.globalComponents=void 0,o.pageProviders=void 0,t}}async function le(e,r,n){let o=X(),t=o?.sessionKey;if(typeof t!="string"||t===""){let y=new E(R.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${t===void 0?"\\u7F3A\\u5931":JSON.stringify(t)}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5BBF\\u4E3B\\u6BCF\\u6B21\\u767B\\u5F55\\u6216\\u91CD\\u767B\\u65F6\\u751F\\u6210\\u65B0\\u7684\\u975E\\u654F\\u611F\\u767B\\u5F55\\u4EE3\\u6B21 ID\\uFF0C\\u5E76\\u5728\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u9875\\u9762\\u524D\\u8C03\\u7528 provideAppContext({ ..., sessionKey: \'\\u767B\\u5F55\\u4EE3\\u6B21 ID\' })\\uFF1B\\u4E0D\\u8981\\u4F7F\\u7528 token \\u539F\\u6587\\u3002`,{remote:e.name});throw v({remote:e.name,error:y}),y}if(r.sessionPromise&&r.sessionKey===t)return r.sessionPromise;r.controller?.abort();let s=new AbortController;r.controller=s,r.sessionKey=t;let u=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),a=(async()=>{await u,!s.signal.aborted&&await J(e.name,n,{appContext:o,sessionKey:t,signal:s.signal},"onSession")})();return r.sessionPromise=a,a.catch(()=>{r.sessionKey===t&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),a}async function ue(e,r){let n=r?.[je];if(typeof n!="string"||n==="")return;let o=V(e.name);o.setupPromise||(o.setupPromise=ce(e,r,n,o).catch(s=>{throw o.setupPromise=void 0,s})),await o.setupPromise;let t=o.setupExports?.onSession;typeof t=="function"&&await le(e,o,t)}function de(){for(let e of C.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let T=e=>c[e]??=Object.create(null);function v(e){if(!te(e.error)){try{$.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}}function fe(e="default"){return T(e),c}function D(e,r,n,o,t={}){let s=T(e||"default"),u=Object.hasOwn(s,r)?s[r]:void 0,a=u&&typeof u=="object"?u:void 0;a||(a=Object.create(null),s[r]=a),!(Object.hasOwn(a,n)&&a[n])&&(a[n]={version:n,get:o,from:t.from??"unknown",eager:!!t.eager,loaded:!!t.loaded})}function pe(e){let r=(n,o,t)=>{if(n===void 0)return;if(!(typeof n=="number"&&(t?Number.isInteger(n)&&n>=0&&n<=10:Number.isFinite(n)&&n>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${o} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(n)}\\uFF0C\\u5E94\\u4E3A${t?" 0 \\u5230 10 \\u7684\\u6574\\u6570":"\\u5927\\u4E8E 0 \\u7684\\u6709\\u9650\\u6570\\u5B57"}\\u3002\\u8BF7\\u4FEE\\u6B63 registerRemote \\u914D\\u7F6E\\u3002`)};r(e.timeout,"timeout"),r(e.retries,"retries",!0),e.breaker&&(r(e.breaker.threshold,"breaker.threshold"),r(e.breaker.resetMs,"breaker.resetMs"))}function B(e){for(let r of e){pe(r);let n=d.get(r.name);d.set(r.name,{timeout:G,retries:se,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??Ue,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??Ne,state:n?.state??"idle",breakerState:n?.breakerState??{fails:0,openUntil:0},entryInflight:n?.entryInflight??new Map,entryFailCounts:n?.entryFailCounts??new Map,debug:n?.debug??{entry:r.entry,status:"idle",setup:"none"}})}}function me(e){B([e])}function ge(e){f.push(...e),m.clear(),ae()}function A(e,r,n=!1){let o=r.shareScope||"default",t=r.shareKey||e,u=T(o)[t]||{},a=Object.keys(u).filter(i=>!n||r.singleton||u[i].value!==void 0);if(n&&a.length===0)return;let y=r.requiredVersion,g=a.filter(i=>y===void 0||y===!1||j(i,y)),p;if(r.singleton&&a.length>0){let i=a.filter(h=>u[h].loaded);if(p=[...i.length?i:a].sort(I).pop(),!g.includes(p)){let h=u[p],O=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${t}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${y??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${a.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${h.from} \\u63D0\\u4F9B\\u7684 ${p}\\u3002\n\\u5F71\\u54CD\\uFF1A\\u53EF\\u80FD\\u51FA\\u73B0\\u72B6\\u6001\\u4E0D\\u4E00\\u81F4\\u6216\\u8FD0\\u884C\\u9519\\u8BEF\\uFF0C\\u5177\\u4F53\\u53D6\\u51B3\\u4E8E\\u4E24\\u7AEF API \\u662F\\u5426\\u517C\\u5BB9\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u6838\\u5BF9\\u540E\\u8C03\\u6574 shared.requiredVersion\\uFF1B\\u82E5\\u5FC5\\u987B\\u62D2\\u7EDD\\u4E0D\\u517C\\u5BB9\\u7248\\u672C\\uFF0C\\u8BF7\\u542F\\u7528 strictVersion\\u3002`;if(r.strictVersion){let M=new E(R.SHARE_STRICT_VERSION,O,{shareKey:t,requiredVersion:y});throw v({remote:h.from,error:M}),M}let _=`${o}|${t}|${y??"*"}|${p}|${a.join(",")}`;l.has(_)||(l.add(_),console.warn(`[fulgurjs:MFU-010] ${O}`))}}else if(p=[...g].sort(I).pop(),!p){if(r.strictVersion){let i=new E(R.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${t}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${y}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${a.join("\\u3001")||"\\u65E0"}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u4FEE\\u6B63 shared.requiredVersion\\u3002`);throw v({remote:t,error:i}),i}return}return u[p]}function W(e,r,n){let o=r.localVersion;if(!o||n===void 0)return;let t=r.shareScope||"default",s=r.shareKey||e,u=T(t),a=Object.hasOwn(u,s)?u[s]:void 0;if(a&&Object.keys(a).length>0){try{let g=A(e,r);if(g&&g.value===void 0){if(g.version===o)g.value=n,g.loaded=!0;else if(r.singleton&&!g.pendingGet){D(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let p=u[s][o];p.value=n,p.loaded=!0}}}catch{}return}D(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let y=u[s]?.[o];y&&(y.value=n)}async function Y(e,r={}){let n=r.shareScope||"default",o=r.shareKey||e,t=T(n)[o]||{},s=S(e,r),u=$.resolveShare?m.get(s):void 0,a=u||A(e,r);if(!a){if(r.fallback){let i=await r.fallback();return W(e,r,i),i}let p=new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${o}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${n}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${r.requiredVersion??"\\u4EFB\\u610F\\u7248\\u672C"} \\u8981\\u6C42\\u7684\\u7248\\u672C\\uFF0C\\u4E14\\u672A\\u914D\\u7F6E\\u672C\\u5730\\u526F\\u672C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728\\u5BBF\\u4E3B\\u6216\\u8FDC\\u7A0B\\u6CE8\\u518C\\u8BE5\\u4F9D\\u8D56\\uFF0C\\u6216\\u4E3A shared \\u914D\\u7F6E\\u53EF\\u7528\\u7684\\u672C\\u5730\\u526F\\u672C\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion});throw v({remote:o,error:p}),p}if($.resolveShare&&!u){let p=await $.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:a,available:Object.values(t)});p&&(a=p),m.set(s,a)}if(a.value!==void 0)return m.set(S(e,r),a),a.value;if(a.loaded=!0,!a.pendingGet)try{a.pendingGet=a.get()}catch(p){a.pendingGet=Promise.reject(p)}let y=a.pendingGet,g;try{g=await y}catch(p){if(a.value!==void 0)return m.set(S(e,r),a),a.value;throw a.loaded=!1,m.get(s)===a&&m.delete(s),p}finally{a.pendingGet===y&&(a.pendingGet=void 0)}return a.value===void 0&&(a.value=g),m.set(S(e,r),a),a.value}function he(e,r={}){return $.resolveShare?m.get(S(e,r))?.value:A(e,r,!0)?.value}function ye(e,r,n,o){W(e,{...r,localVersion:n},o)}function Se(e,r){let n=r.shareScope||"default",o=r.shareKey||e;if($.resolveShare){let s=S(e,r),u=m.get(s);if(u&&u.value!==void 0)return{kind:"ready",value:u.value};let a=u||$.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:A(e,r),available:Object.values(T(n)[o]||{})});if(a&&typeof a.then=="function")throw Promise.resolve(a).catch(()=>{}),new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u5BF9\\u5171\\u4EAB "${o}" \\u8FD4\\u56DE\\u4E86 Promise\\uFF0C\\u4F46\\u8BE5\\u5171\\u4EAB\\u6B63\\u88AB\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u6D88\\u8D39\\uFF08Vite 8 \\u540C\\u6B65\\u534F\\u5546\\u95E8\\u9762\\uFF09\\u3002\n\\u539F\\u56E0\\uFF1A\\u6A21\\u5757\\u6C42\\u503C\\u671F\\u65E0\\u6CD5\\u7B49\\u5F85\\u5F02\\u6B65\\u51B3\\u7B56\\uFF1B\\u9759\\u6001\\u5BFC\\u5165\\u4E0D\\u80FD\\u9759\\u9ED8\\u5FFD\\u7565 hook \\u51B3\\u7B56\\u3002\n\\u4FEE\\u6CD5\\uFF1AVite 8 HTML \\u5165\\u53E3\\u4F1A\\u5148\\u5B8C\\u6210\\u5F02\\u6B65\\u534F\\u5546\\uFF1B\\u5176\\u4ED6\\u5165\\u53E3\\u8BF7\\u5148\\u52A8\\u6001 loadShare \\u5EFA\\u7ACB\\u5FEB\\u7167\\uFF0C\\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u8BA9\\u8BE5\\u952E\\u540C\\u6B65\\u8FD4\\u56DE picked\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let y=a;if(y){if(y.value!==void 0)return m.set(S(e,r),y),{kind:"ready",value:y.value};if(y.version!==void 0&&y.version===r.localVersion)return{kind:"local"};throw new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u4E3A "${o}" \\u9009\\u62E9\\u4E86\\u672A\\u5C31\\u7EEA\\u7684 ${y.version??"\\u6761\\u76EE"}\\u3002\n\\u539F\\u56E0\\uFF1A\\u540C\\u6B65\\u6D88\\u8D39\\u4E0D\\u80FD\\u7B49\\u5F85\\u52A0\\u8F7D\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5148\\u52A8\\u6001 loadShare \\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u9009\\u62E9\\u5DF2\\u5C31\\u7EEA\\u5B9E\\u4F8B/\\u672C\\u5730\\u7248\\u672C ${r.localVersion??"\\u672A\\u58F0\\u660E"}\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0})}}let t=A(e,r);if(!t)return{kind:"local"};if(t.value!==void 0)return{kind:"ready",value:t.value};if(t.version!==void 0&&t.version===r.localVersion)return{kind:"local"};if(r.singleton||r.strictVersion&&r.requiredVersion&&(!r.localVersion||!j(r.localVersion,r.requiredVersion))){if(r.strictVersion||t.pendingGet)throw new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB "${o}" \\u9009\\u4E2D\\u4E86 ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version}\\uFF08\\u5C1A\\u672A\\u52A0\\u8F7D\\uFF09\\uFF0C\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u65E0\\u6CD5\\u7B49\\u5F85\\u5176\\u5B9E\\u4F8B\\u5C31\\u7EEA\\u3002\n\\u539F\\u56E0\\uFF1A\\u4E0D\\u80FD\\u6539\\u7528\\u4E0D\\u517C\\u5BB9\\u7684\\u672C\\u5730\\u526F\\u672C\\u6216\\u5206\\u88C2\\u5355\\u4F8B\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u8BA9\\u8BE5\\u5171\\u4EAB\\u7684\\u9996\\u6B21\\u6D88\\u8D39\\u5148\\u7ECF\\u4E00\\u6B21\\u52A8\\u6001 loadShare \\u5B8C\\u6210\\u52A0\\u8F7D\\uFF0C\\u6216\\u5C06\\u672C\\u5E94\\u7528\\u7248\\u672C\\u4E0E\\u4F5C\\u7528\\u57DF\\u63D0\\u4F9B\\u7248\\u672C\\u5BF9\\u9F50\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let s=`${n}|${o}|${t.version}|${r.localVersion}`;return l.has(s)||(l.add(s),console.warn(`[fulgurjs:MFU-010] \\u5171\\u4EAB\\u5355\\u4F8B "${o}"\\uFF1A\\u4F5C\\u7528\\u57DF\\u4E2D ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version} \\u5C1A\\u672A\\u52A0\\u8F7D\\uFF0C\\u9996\\u4E2A\\u6D88\\u8D39\\u8005\\u4EE5\\u672C\\u5730\\u7248\\u672C ${r.localVersion??""} \\u63A5\\u7BA1\\uFF08\\u540E\\u7EED\\u6D88\\u8D39\\u8005\\u6309\\u5DF2\\u52A0\\u8F7D\\u4F18\\u5148\\u6536\\u655B\\u5230\\u8BE5\\u5B9E\\u4F8B\\uFF09\\u3002`)),{kind:"local"}}return console.warn(`[fulgurjs] \\u5171\\u4EAB "${o}"\\uFF1A\\u975E\\u5355\\u4F8B\\u540C\\u6B65\\u6D88\\u8D39\\u4F7F\\u7528\\u672C\\u5730 ${r.localVersion??""}\\uFF0C\\u8FDC\\u7A0B ${t.version} \\u5C1A\\u672A\\u5C31\\u7EEA\\u3002`),{kind:"local"}}async function Ee(e){if($.resolveShare){for(let{name:r,opts:n}of e){let o=S(r,n);if(m.has(o))continue;let t=A(r,n),s=await $.resolveShare({shareKey:n.shareKey||r,shareScope:n.shareScope||"default",requiredVersion:n.requiredVersion,picked:t,available:Object.values(T(n.shareScope||"default")[n.shareKey||r]||{})})||t;s&&m.set(o,s)}for(let{name:r,opts:n}of e)await Y(r,n)}}function z(e){try{let r=new URL(e,typeof location<"u"?location.href:"http://f.invalid");return r.protocol+"//"+r.host+r.pathname}catch{return String(e).replace(/[?#].*$/,"")}}function Z(e,r,n){return new Promise((o,t)=>{let s=setTimeout(()=>t(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${n}`)),r);e.then(u=>{clearTimeout(s),o(u)},u=>{clearTimeout(s),t(u)})})}let Re=e=>new Promise(r=>setTimeout(r,e)),Q=new Set;function K(e,r){if(!e||typeof e.get!="function")throw new Error(`\\u8FDC\\u7A0B\\u5E94\\u7528 "${r.name}" \\u7684 remoteEntry \\u672A\\u5BFC\\u51FA\\u5BB9\\u5668\\u63A5\\u53E3\\u3002\\u8BF7\\u786E\\u8BA4\\u5165\\u53E3\\u5BFC\\u51FA\\u4E86 get()\\uFF0C\\u5E76\\u68C0\\u67E5\\u8BE5\\u5730\\u5740\\u662F\\u5426\\u8FD4\\u56DE\\u6B63\\u786E\\u7684\\u8054\\u90A6\\u5165\\u53E3 JS\\u3002`);if(e.name&&r.name&&e.name!==r.name){let n=`\\u8FDC\\u7A0B\\u5165\\u53E3\\u81EA\\u62A5\\u540D\\u79F0 "${e.name}" \\u4E0E\\u5BBF\\u4E3B\\u914D\\u7F6E\\u540D\\u79F0 "${r.name}" \\u4E0D\\u4E00\\u81F4\\u3002\\u8BF7\\u7EDF\\u4E00\\u4E24\\u4FA7 federation({ name }) \\u4E0E remotes \\u7684\\u540D\\u79F0\\u3002`;if(r.promise){let o=`${r.name}\\u2194${e.name}`;Q.has(o)||(Q.add(o),console.warn(`[fulgurjs] ${n} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`))}else throw Object.assign(new Error(n),{code:R.REMOTE_NAME_MISMATCH})}}async function ee(e,r){let n=r.entryFailCounts.get(e)??0,o=n>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${n}`:e,t=r.entryInflight.get(e),s=t??import(o);return t||(r.entryInflight.set(e,s),s.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),Z(s,r.timeout??G,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${z(e)}`)}async function re(e,r){let n=e.shareScope||"default";if(e.container){let s=N.get(e.container);if(s&&s!==n)throw new E(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${s}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let o=e.breakerState;if(o.openUntil>Date.now()){let s=new E(R.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(o.openUntil).toISOString()} \\u540E\\u5141\\u8BB8\\u91CD\\u8BD5\\u3002\\u8BF7\\u5148\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u670D\\u52A1\\u548C\\u7F51\\u7EDC\\u3002`,{remote:e.name,stage:"container"});throw v({remote:e.name,error:s}),s}e.state="loading",e.debug.status="loading";let t=(async()=>{let s=[];if(e.promise)s.push(async()=>{let i=await Z(e.promise(),e.timeout??G,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),h=typeof i=="string"?await ee(i,e):i;return K(h,e),h});else for(let i of[e.entry,...e.fallback??[]])s.push(async()=>{let h=await ee(i,e);return K(h,e),h});let u,a,y=!1,g=r?.retries??e.retries??se;for(let i of s){for(let h=0;h<=g;h++){let O=performance.now();try{u=await i(),e.lastLoadMs=Math.round(performance.now()-O),e.debug.lastLoadMs=e.lastLoadMs,y=!0;break}catch(_){if(a=_,_?.code)throw _;h<g&&await Re(Math.min(Ce,200*2**h)*(1-Fe*(1-2*Math.random())))}}if(y)break}if(!y||!u){let i=z(e.entry),h=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${i}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),h.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),h.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${i}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),h.push("2. \\u68C0\\u67E5 Nginx/CDN \\u7684\\u5165\\u53E3\\u8DEF\\u5F84\\u6620\\u5C04\\uFF1B\\u8BE5\\u5730\\u5740\\u4E0D\\u80FD\\u56DE\\u9000\\u5230 index.html\\u3002")),new E(R.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${i} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(a?.message??a)}\n\\u4FEE\\u6CD5\\uFF1A\n${h.join(`\n`)}`,{remote:e.name,stage:"container"},{cause:a})}K(u,e);let p=N.get(u);if(p&&p!==n)throw new E(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${p}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof u.init=="function"&&await u.init(c),N.set(u,n),e.container=u,e.state="loaded",e.debug.status="loaded",o.fails=0,u})();e.containerPromise=t;try{return await t}catch(s){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(s?.message??s),o.fails+=1,o.fails>=e.breakerThreshold&&(o.openUntil=Date.now()+e.breakerResetMs,o.fails=0),s instanceof E)throw v({remote:e.name,error:s}),s;if(s?.code)throw v({remote:e.name,error:s}),s;let u=new E(R.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(s?.message??s)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name,stage:"container"},{cause:s});throw v({remote:e.name,error:u}),u}}function q(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:ne(e.slice(r+1))}}function ne(e){return e?e.startsWith(".")?e:`./${e}`:""}async function we(e,r){let{remote:n,module:o}=q(e);if(o&&F===n)throw new E(R.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 setup/onSession \\u53C8\\u540C\\u6B65\\u52A0\\u8F7D\\u4E86\\u81EA\\u8EAB\\u6A21\\u5757\\uFF0C\\u5F62\\u6210\\u5FAA\\u73AF\\u7B49\\u5F85\\u3002\n\\u539F\\u56E0\\uFF1A\\u521D\\u59CB\\u5316\\u5C1A\\u672A\\u5B8C\\u6210\\uFF0C\\u4E0D\\u80FD\\u7B49\\u5F85\\u81EA\\u8EAB\\u7684\\u521D\\u59CB\\u5316\\u7ED3\\u679C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u4E0D\\u8981\\u5728 setup/onSession \\u4E2D\\u52A0\\u8F7D\\u540C\\u4E00\\u8FDC\\u7A0B\\u7684\\u6A21\\u5757\\uFF1B\\u8BF7\\u5728\\u9875\\u9762\\u7EC4\\u4EF6\\u4E2D\\u52A0\\u8F7D\\uFF0C\\u6216\\u901A\\u8FC7 context \\u89E3\\u8026\\u3002`,{remote:n});try{$.beforeLoadRemote?.({remote:n,module:o})}catch(i){console.warn("[fulgurjs] beforeLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u6A21\\u5757\\u52A0\\u8F7D\\u5C06\\u7EE7\\u7EED\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",i)}let t=d.get(n);if(!t)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:n});let s;try{let i=o&&t.manifestUrl?H(e):Promise.resolve();[s]=await Promise.all([re(t,{retries:r?.retries}),i])}catch(i){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,i),v({remote:n,error:i}),await r.fallbackModule();throw i}if(!o)return s;await ue(t,s);let u=V(n).globalComponents,a=r?.consumerApp;if(u&&a&&typeof a.component=="function")for(let i of Object.keys(u))a.component(i,u[i]);let y=V(n).pageProviders;y&&y.length>0&&typeof a?.pageProviders=="function"&&a.pageProviders(y);let g=`${n}@${t.shareScope||"default"}#${o}`;b.has(g)||b.set(g,s.get(o).catch(i=>{if(b.delete(g),i instanceof E||i?.code)throw v({remote:n,error:i}),i;let h=new E(R.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u52A0\\u8F7D\\u6A21\\u5757 "${o}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(i?.message??i)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:n,module:o,stage:"expose"},{cause:i});throw v({remote:n,error:h}),h}));let p;try{p=await b.get(g)}catch(i){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,i),v({remote:n,error:i}),await r.fallbackModule();throw i}try{$.afterLoadRemote?.({remote:n,module:o,module_ns:p})}catch(i){console.warn("[fulgurjs] afterLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u5DF2\\u52A0\\u8F7D\\u6A21\\u5757\\u4ECD\\u53EF\\u4F7F\\u7528\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",i)}if(p&&typeof p=="object"&&Object.keys(p).length===0){let i=new E(R.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6A21\\u5757 "${o}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:n,module:o});v({remote:n,error:i}),console.error(i.message)}return p}function be(e){let r=d.get(e);if(!r)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return re(r)}async function H(e,r={}){let{remote:n,module:o}=q(e),t=d.get(n);if(!t)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:n});let s=r.mode??"preload",u=(g,p)=>{if(g.sheet)return Promise.resolve();let i=L.get(g);if(i)return i;let h=new Promise(O=>{let _=()=>{g.removeEventListener("load",_),g.removeEventListener("error",M),O()},M=()=>{v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${p}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:n})}),_()};g.addEventListener("load",_,{once:!0}),g.addEventListener("error",M,{once:!0}),g.sheet&&_()});return L.set(g,h),h},a=(g,p)=>{if(typeof document>"u")return Promise.resolve();let i=document.querySelector(`link[href="${g}"]`);if(i)return p==="style"&&s==="preload"?L.get(i)??Promise.resolve():Promise.resolve();let h=document.createElement("link");h.rel=p==="style"?"stylesheet":"modulepreload",h.href=g,s==="prefetch"&&(h.fetchPriority="low");let O=p==="style"?u(h,g):Promise.resolve();return document.head.appendChild(h),p==="style"&&s==="preload"?O:Promise.resolve()},y=g=>{let p=typeof document<"u"?document.baseURI:void 0,i=new URL(t.entry,p||"http://fulgurjs.invalid/");return!i.pathname.endsWith("/")&&!i.pathname.split("/").pop().includes(".")&&(i.pathname+="/"),new URL(g,i).href};try{if(t.manifestUrl){let g=P.get(t.manifestUrl);g||(g=fetch(t.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(i=>i.ok?i.json():void 0),P.set(t.manifestUrl,g),g.then(i=>{i||P.delete(t.manifestUrl)},()=>P.delete(t.manifestUrl)));let p=await g;if(p){let i=p.schemaVersion;if(typeof i=="number"&&(!Number.isInteger(i)||i>1)){v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(i)}\\uFF0C\\u5F53\\u524D\\u4EC5\\u652F\\u6301\\u7248\\u672C 1\\u3002\\u8BF7\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u548C\\u8FDC\\u7A0B\\u7684\\u63D2\\u4EF6\\u7248\\u672C\\u3002`,{remote:n})}),await a(t.entry,"modulepreload");return}await a(t.entry,"modulepreload");let h=p.exposes,O=Array.isArray(h)?h.filter(k=>k&&typeof k=="object").map(k=>[String(k.name??""),k]):h&&typeof h=="object"?Object.entries(h):[],_=o?O.filter(([k,x])=>ne(String(x?.name??k))===o):O,M=[];for(let[,k]of _)if(typeof k?.file=="string"&&await a(y(k.file),"modulepreload"),Array.isArray(k?.css))for(let x of k.css){if(typeof x!="string")continue;let ve=a(y(x),"style");s==="preload"&&M.push(ve)}await Promise.all(M);return}}await a(t.entry,"modulepreload")}catch(g){v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(g?.message??g)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=c,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of d)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:c,initSharing:fe,registerShare:D,registerRemotes:B,registerRemote:me,registerPlugins:ge,loadShare:Y,loadShareSync:Se,prepareShares:Ee,getLoadedShare:he,pinLoadedShare:ye,loadRemote:we,getContainer:be,preloadRemote:H,parseSpec:q,clearSessionState:de,reportRemoteError:e=>{v(e)}}}var ie=globalThis,w=ie.__FULGURJS_RUNTIME__??Ve();ie.__FULGURJS_RUNTIME__=w;try{Object.freeze(w)}catch{}var Be=oe;function We(){return w}var Ye=w.initSharing,ze=w.registerShare,Ze=w.registerRemotes,Qe=w.registerRemote,er=w.registerPlugins,rr=w.loadShare,nr=w.getLoadedShare,tr=w.prepareShares||(async c=>{for(let{name:d,opts:f}of c)await w.loadShare(d,f)}),or=w.loadShareSync,sr=w.pinLoadedShare,ir=w.loadRemote,ar=w.getContainer,cr=w.preloadRemote,lr=w.parseSpec,ur=w.clearSessionState,dr=w.shareScopeMap;function fr(c){if(c&&typeof c=="object"&&"default"in c){let d=c.default;return d!==void 0?d:c}return c}var pr=w;export{ur as clearSessionState,pr as default,ar as getContainer,nr as getLoadedShare,We as getRuntime,Ye as initSharing,ir as loadRemote,rr as loadShare,or as loadShareSync,lr as parseSpec,sr as pinLoadedShare,cr as preloadRemote,tr as prepareShares,er as registerPlugins,Qe as registerRemote,Ze as registerRemotes,ze as registerShare,w as runtime,dr as shareScopeMap,fr as unwrapDefault,Be as version};\n';
|
|
3891
|
+
var runtime_code_gen_default = 'var Pe=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function U(c){let d=Pe.exec(String(c).trim());return d?{major:Number(d[1]),minor:Number(d[2]??0),patch:Number(d[3]??0),pre:d[4]?d[4].split("."):[]}:null}function _e(c,d){if(c.length===0&&d.length===0)return 0;if(c.length===0)return 1;if(d.length===0)return-1;let f=Math.max(c.length,d.length);for(let l=0;l<f;l++){let m=c[l],S=d[l];if(m===void 0)return-1;if(S===void 0)return 1;let b=/^\\d+$/.test(m),P=/^\\d+$/.test(S);if(b&&P){let L=Number(m)-Number(S);if(L!==0)return L}else{if(b!==P)return b?-1:1;if(m!==S)return m<S?-1:1}}return 0}function I(c,d){let f=U(c),l=U(d);return!f||!l?c<d?-1:c>d?1:0:f.major!==l.major?f.major-l.major:f.minor!==l.minor?f.minor-l.minor:f.patch!==l.patch?f.patch-l.patch:_e(f.pre,l.pre)}var $e=/^[a-z]+[+:-]/i;function j(c,d){if(d===!1||d==null||d==="")return!0;let f=String(d).trim();return!f||f==="*"||f==="latest"||$e.test(f)?!0:f.split("||").some(l=>ke(c,l.trim()))}function ke(c,d){if(!d||d==="*")return!U(c)?.pre.length;let f=d.split(/\\s+-\\s+/);if(f.length===2){let S=f[0].trim(),b=f[1].trim();return!(!j(c,`>=${S}`)||!j(c,`<=${b}`))}let l=U(c);if(!l)return!1;let m=Oe(d);if(m===null)return!0;for(let S of m)if(!Ie(l,c,S))return!1;return!(l.pre.length>0&&!m.some(S=>S.ver.pre.length>0)&&!m.some(b=>b.ver.major===l.major&&b.ver.minor===l.minor&&b.ver.patch===l.patch))}function Oe(c){let d=[],f=c.trim().split(/\\s+/).filter(Boolean);if(f.length===0)return null;for(let l of f){let m=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(l);if(!m)return null;let S=m[1],b=m[2],P=Me(S,b);if(P===null)return null;d.push(...P)}return d}function Me(c,d){let f=Le(d);if(!f)return null;let{ver:l,partial:m}=f;switch(c){case"^":{let S=Te(l);return S?[{op:">=",ver:l},{op:"<",ver:S}]:null}case"~":{let S=m>=2?{major:l.major,minor:l.minor+1,patch:0,pre:[]}:{major:l.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:l},{op:"<",ver:S}]}case">=":return[{op:">=",ver:l}];case">":return m===1?[{op:">=",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:">",ver:l}];case"<":return m===1?[{op:"<",ver:{major:l.major,minor:0,patch:0,pre:[]}}]:m===2?[{op:"<",ver:{major:l.major,minor:l.minor,patch:0,pre:[]}}]:[{op:"<",ver:l}];case"<=":return[{op:"<=",ver:l}];case"=":case void 0:return m===1?[{op:">=",ver:l},{op:"<",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:l},{op:"<",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:l}];default:return null}}function Te(c){return c.major>0?{major:c.major+1,minor:0,patch:0,pre:[]}:c.minor>0?{major:0,minor:c.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:c.patch+1,pre:[]}}function Le(c){let d=c.replace(/^v/,"").trim();if(!d||d==="*"||d==="x"||d==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let f=d.split("."),l=[],m=0;for(let P of f.slice(0,3))if(/^\\d+$/.test(P))l.push(Number(P)),m++;else{if(P==="x"||P==="X"||P==="*")break;break}let S=d.split("-"),b=S.length>1?S.slice(1).join("-").split("+")[0].split("."):[];return m===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:l[0]??0,minor:l[1]??0,patch:l[2]??0,pre:b},partial:m}}function Ae(c,d){switch(d){case">=":return c>=0;case">":return c>0;case"<":return c<0;case"<=":return c<=0;case"=":return c===0}}function Ie(c,d,f){let l=`${c.major}.${c.minor}.${c.patch}`+(c.pre.length?`-${c.pre.join(".")}`:"");if(f.upper)return!(!(I(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:""))>=0)||!(I(l,`${f.upper.major}.${f.upper.minor}.${f.upper.patch}`)<0));let m=I(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:"")),S=Ae(m,f.op);return f.ver.pre.length>0&&c.pre.length===0&&(f.op===">"||f.op==="<")?!1:S}var E=class extends Error{code;details;constructor(d,f,l,m){super(`[fulgurjs:${d}] ${f}`,m),this.name="FgError",this.code=d,this.details=l}},R={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014",COMPONENT_EXPORT_INVALID:"MFU-018",VUE_RUNTIME_IDENTITY_MISMATCH:"MFU-019",REMOTE_RENDER_ERROR:"MFU-020"};function te(c){if(typeof c!="object"||c===null)return!1;let d=globalThis,f=d.__FULGURJS_REPORTED_ERRORS__??=new WeakSet;return f.has(c)?!0:(f.add(c),!1)}var oe="6.13.1";var je="__fulgurjsSetup",xe="__FULGURJS_APP_CONFIG__",G=15e3,se=2,Ue=5,Ne=3e4,Ce=4e3,Fe=.2;function Ve(){let c=Object.create(null),d=new Map,f=[],l=new Set,m=new Map,S=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,P=new Map,L=new WeakMap,N=new WeakMap,$={},ae=()=>{for(let e of f)try{e.init?.($)}catch(r){console.warn("[fulgurjs] \\u8FD0\\u884C\\u65F6\\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BE5\\u6269\\u5C55\\u5C06\\u4E0D\\u53EF\\u7528\\uFF1A",e.name,r)}},C=new Map,F,V=e=>{let r=C.get(e);return r||C.set(e,r={}),r},X=()=>globalThis[xe]??{};async function J(e,r,n,o){let t=u=>{if(u instanceof E)return v({remote:e,error:u}),u;let a=new E(R.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${o} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(u?.message??u)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${o} \\u51FD\\u6570\\u540E\\u91CD\\u65B0\\u52A0\\u8F7D\\uFF1B\\u5931\\u8D25\\u7F13\\u5B58\\u5DF2\\u6E05\\u9664\\uFF0C\\u53EF\\u4EE5\\u76F4\\u63A5\\u91CD\\u8BD5\\u3002`,{remote:e,phase:o},{cause:u});return v({remote:e,error:a}),a};F=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{F=void 0}try{await s}catch(u){throw t(u)}}async function ce(e,r,n,o){e.debug.setup="pending";try{if(e.manifestUrl)try{await H(`${e.name}/${n}`)}catch{}let t=await r.get(n),s=t?.default,u=t?.onSession!==void 0||t?.globalComponents!==void 0||t?.pageProviders!==void 0;if(s!==void 0&&typeof s!="function"||!s&&!u)throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${t==null?String(t):typeof s}\\uFF0C\\u4E14\\u6A21\\u5757\\u4E0D\\u6EE1\\u8DB3\\u521D\\u59CB\\u5316\\u58F0\\u660E\\u5951\\u7EA6\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u521D\\u59CB\\u5316\\u51FD\\u6570\\uFF0C\\u6216\\u53EA\\u58F0\\u660E onSession/globalComponents/pageProviders\\uFF1B\\u7A7A\\u6A21\\u5757\\u4E0E\\u975E\\u51FD\\u6570\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u65E0\\u6548\\u3002`,{remote:e.name,module:n});if(t.onSession!==void 0&&typeof t.onSession!="function")throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.onSession}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5C06 onSession \\u6539\\u4E3A\\u5177\\u540D\\u5BFC\\u51FA\\u7684\\u51FD\\u6570\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});if(o.setupExports=t,t.globalComponents!==void 0){if(typeof t.globalComponents!="object"||t.globalComponents===null||Array.isArray(t.globalComponents))throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AglobalComponents \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${Array.isArray(t.globalComponents)?"array":typeof t.globalComponents}\\uFF0C\\u5E94\\u4E3A\\u5BF9\\u8C61\\uFF08\\u952E=\\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D\\uFF0C\\u503C=\\u7EC4\\u4EF6\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const globalComponents = { \\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D: \\u7EC4\\u4EF6 } \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.globalComponents=t.globalComponents}if(t.pageProviders!==void 0){if(!Array.isArray(t.pageProviders))throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1ApageProviders \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.pageProviders}\\uFF0C\\u5E94\\u4E3A\\u6570\\u7EC4\\uFF08\\u6BCF\\u9879=\\u7EC4\\u4EF6\\u6216\\u96F6\\u53C2 loader\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const pageProviders = [AppProvider] \\u6216 [() => import(\'./X\').then((m) => m.AppProvider)] \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.pageProviders=t.pageProviders}s&&await J(e.name,s,{appContext:X(),signal:(o.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(t){throw e.debug.setup="failed",t?.code&&v({remote:e.name,error:t}),o.setupExports=void 0,o.globalComponents=void 0,o.pageProviders=void 0,t}}async function le(e,r,n){let o=X(),t=o?.sessionKey;if(typeof t!="string"||t===""){let y=new E(R.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${t===void 0?"\\u7F3A\\u5931":JSON.stringify(t)}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5BBF\\u4E3B\\u6BCF\\u6B21\\u767B\\u5F55\\u6216\\u91CD\\u767B\\u65F6\\u751F\\u6210\\u65B0\\u7684\\u975E\\u654F\\u611F\\u767B\\u5F55\\u4EE3\\u6B21 ID\\uFF0C\\u5E76\\u5728\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u9875\\u9762\\u524D\\u8C03\\u7528 provideAppContext({ ..., sessionKey: \'\\u767B\\u5F55\\u4EE3\\u6B21 ID\' })\\uFF1B\\u4E0D\\u8981\\u4F7F\\u7528 token \\u539F\\u6587\\u3002`,{remote:e.name});throw v({remote:e.name,error:y}),y}if(r.sessionPromise&&r.sessionKey===t)return r.sessionPromise;r.controller?.abort();let s=new AbortController;r.controller=s,r.sessionKey=t;let u=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),a=(async()=>{await u,!s.signal.aborted&&await J(e.name,n,{appContext:o,sessionKey:t,signal:s.signal},"onSession")})();return r.sessionPromise=a,a.catch(()=>{r.sessionKey===t&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),a}async function ue(e,r){let n=r?.[je];if(typeof n!="string"||n==="")return;let o=V(e.name);o.setupPromise||(o.setupPromise=ce(e,r,n,o).catch(s=>{throw o.setupPromise=void 0,s})),await o.setupPromise;let t=o.setupExports?.onSession;typeof t=="function"&&await le(e,o,t)}function de(){for(let e of C.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let T=e=>c[e]??=Object.create(null);function v(e){if(!te(e.error)){try{$.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}}function fe(e="default"){return T(e),c}function D(e,r,n,o,t={}){let s=T(e||"default"),u=Object.hasOwn(s,r)?s[r]:void 0,a=u&&typeof u=="object"?u:void 0;a||(a=Object.create(null),s[r]=a),!(Object.hasOwn(a,n)&&a[n])&&(a[n]={version:n,get:o,from:t.from??"unknown",eager:!!t.eager,loaded:!!t.loaded})}function pe(e){let r=(n,o,t)=>{if(n===void 0)return;if(!(typeof n=="number"&&(t?Number.isInteger(n)&&n>=0&&n<=10:Number.isFinite(n)&&n>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${o} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(n)}\\uFF0C\\u5E94\\u4E3A${t?" 0 \\u5230 10 \\u7684\\u6574\\u6570":"\\u5927\\u4E8E 0 \\u7684\\u6709\\u9650\\u6570\\u5B57"}\\u3002\\u8BF7\\u4FEE\\u6B63 registerRemote \\u914D\\u7F6E\\u3002`)};r(e.timeout,"timeout"),r(e.retries,"retries",!0),e.breaker&&(r(e.breaker.threshold,"breaker.threshold"),r(e.breaker.resetMs,"breaker.resetMs"))}function B(e){for(let r of e){pe(r);let n=d.get(r.name);d.set(r.name,{timeout:G,retries:se,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??Ue,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??Ne,state:n?.state??"idle",breakerState:n?.breakerState??{fails:0,openUntil:0},entryInflight:n?.entryInflight??new Map,entryFailCounts:n?.entryFailCounts??new Map,debug:n?.debug??{entry:r.entry,status:"idle",setup:"none"}})}}function me(e){B([e])}function ge(e){f.push(...e),m.clear(),ae()}function A(e,r,n=!1){let o=r.shareScope||"default",t=r.shareKey||e,u=T(o)[t]||{},a=Object.keys(u).filter(i=>!n||r.singleton||u[i].value!==void 0);if(n&&a.length===0)return;let y=r.requiredVersion,g=a.filter(i=>y===void 0||y===!1||j(i,y)),p;if(r.singleton&&a.length>0){let i=a.filter(h=>u[h].loaded);if(p=[...i.length?i:a].sort(I).pop(),!g.includes(p)){let h=u[p],O=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${t}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${y??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${a.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${h.from} \\u63D0\\u4F9B\\u7684 ${p}\\u3002\n\\u5F71\\u54CD\\uFF1A\\u53EF\\u80FD\\u51FA\\u73B0\\u72B6\\u6001\\u4E0D\\u4E00\\u81F4\\u6216\\u8FD0\\u884C\\u9519\\u8BEF\\uFF0C\\u5177\\u4F53\\u53D6\\u51B3\\u4E8E\\u4E24\\u7AEF API \\u662F\\u5426\\u517C\\u5BB9\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u6838\\u5BF9\\u540E\\u8C03\\u6574 shared.requiredVersion\\uFF1B\\u82E5\\u5FC5\\u987B\\u62D2\\u7EDD\\u4E0D\\u517C\\u5BB9\\u7248\\u672C\\uFF0C\\u8BF7\\u542F\\u7528 strictVersion\\u3002`;if(r.strictVersion){let M=new E(R.SHARE_STRICT_VERSION,O,{shareKey:t,requiredVersion:y});throw v({remote:h.from,error:M}),M}let _=`${o}|${t}|${y??"*"}|${p}|${a.join(",")}`;l.has(_)||(l.add(_),console.warn(`[fulgurjs:MFU-010] ${O}`))}}else if(p=[...g].sort(I).pop(),!p){if(r.strictVersion){let i=new E(R.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${t}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${y}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${a.join("\\u3001")||"\\u65E0"}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u4FEE\\u6B63 shared.requiredVersion\\u3002`);throw v({remote:t,error:i}),i}return}return u[p]}function W(e,r,n){let o=r.localVersion;if(!o||n===void 0)return;let t=r.shareScope||"default",s=r.shareKey||e,u=T(t),a=Object.hasOwn(u,s)?u[s]:void 0;if(a&&Object.keys(a).length>0){try{let g=A(e,r);if(g&&g.value===void 0){if(g.version===o)g.value=n,g.loaded=!0;else if(r.singleton&&!g.pendingGet){D(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let p=u[s][o];p.value=n,p.loaded=!0}}}catch{}return}D(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let y=u[s]?.[o];y&&(y.value=n)}async function Y(e,r={}){let n=r.shareScope||"default",o=r.shareKey||e,t=T(n)[o]||{},s=S(e,r),u=$.resolveShare?m.get(s):void 0,a=u||A(e,r);if(!a){if(r.fallback){let i=await r.fallback();return W(e,r,i),i}let p=new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${o}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${n}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${r.requiredVersion??"\\u4EFB\\u610F\\u7248\\u672C"} \\u8981\\u6C42\\u7684\\u7248\\u672C\\uFF0C\\u4E14\\u672A\\u914D\\u7F6E\\u672C\\u5730\\u526F\\u672C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728\\u5BBF\\u4E3B\\u6216\\u8FDC\\u7A0B\\u6CE8\\u518C\\u8BE5\\u4F9D\\u8D56\\uFF0C\\u6216\\u4E3A shared \\u914D\\u7F6E\\u53EF\\u7528\\u7684\\u672C\\u5730\\u526F\\u672C\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion});throw v({remote:o,error:p}),p}if($.resolveShare&&!u){let p=await $.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:a,available:Object.values(t)});p&&(a=p),m.set(s,a)}if(a.value!==void 0)return m.set(S(e,r),a),a.value;if(a.loaded=!0,!a.pendingGet)try{a.pendingGet=a.get()}catch(p){a.pendingGet=Promise.reject(p)}let y=a.pendingGet,g;try{g=await y}catch(p){if(a.value!==void 0)return m.set(S(e,r),a),a.value;throw a.loaded=!1,m.get(s)===a&&m.delete(s),p}finally{a.pendingGet===y&&(a.pendingGet=void 0)}return a.value===void 0&&(a.value=g),m.set(S(e,r),a),a.value}function he(e,r={}){return $.resolveShare?m.get(S(e,r))?.value:A(e,r,!0)?.value}function ye(e,r,n,o){W(e,{...r,localVersion:n},o)}function Se(e,r){let n=r.shareScope||"default",o=r.shareKey||e;if($.resolveShare){let s=S(e,r),u=m.get(s);if(u&&u.value!==void 0)return{kind:"ready",value:u.value};let a=u||$.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:A(e,r),available:Object.values(T(n)[o]||{})});if(a&&typeof a.then=="function")throw Promise.resolve(a).catch(()=>{}),new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u5BF9\\u5171\\u4EAB "${o}" \\u8FD4\\u56DE\\u4E86 Promise\\uFF0C\\u4F46\\u8BE5\\u5171\\u4EAB\\u6B63\\u88AB\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u6D88\\u8D39\\uFF08Vite 8 \\u540C\\u6B65\\u534F\\u5546\\u95E8\\u9762\\uFF09\\u3002\n\\u539F\\u56E0\\uFF1A\\u6A21\\u5757\\u6C42\\u503C\\u671F\\u65E0\\u6CD5\\u7B49\\u5F85\\u5F02\\u6B65\\u51B3\\u7B56\\uFF1B\\u9759\\u6001\\u5BFC\\u5165\\u4E0D\\u80FD\\u9759\\u9ED8\\u5FFD\\u7565 hook \\u51B3\\u7B56\\u3002\n\\u4FEE\\u6CD5\\uFF1AVite 8 HTML \\u5165\\u53E3\\u4F1A\\u5148\\u5B8C\\u6210\\u5F02\\u6B65\\u534F\\u5546\\uFF1B\\u5176\\u4ED6\\u5165\\u53E3\\u8BF7\\u5148\\u52A8\\u6001 loadShare \\u5EFA\\u7ACB\\u5FEB\\u7167\\uFF0C\\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u8BA9\\u8BE5\\u952E\\u540C\\u6B65\\u8FD4\\u56DE picked\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let y=a;if(y){if(y.value!==void 0)return m.set(S(e,r),y),{kind:"ready",value:y.value};if(y.version!==void 0&&y.version===r.localVersion)return{kind:"local"};throw new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u4E3A "${o}" \\u9009\\u62E9\\u4E86\\u672A\\u5C31\\u7EEA\\u7684 ${y.version??"\\u6761\\u76EE"}\\u3002\n\\u539F\\u56E0\\uFF1A\\u540C\\u6B65\\u6D88\\u8D39\\u4E0D\\u80FD\\u7B49\\u5F85\\u52A0\\u8F7D\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5148\\u52A8\\u6001 loadShare \\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u9009\\u62E9\\u5DF2\\u5C31\\u7EEA\\u5B9E\\u4F8B/\\u672C\\u5730\\u7248\\u672C ${r.localVersion??"\\u672A\\u58F0\\u660E"}\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0})}}let t=A(e,r);if(!t)return{kind:"local"};if(t.value!==void 0)return{kind:"ready",value:t.value};if(t.version!==void 0&&t.version===r.localVersion)return{kind:"local"};if(r.singleton||r.strictVersion&&r.requiredVersion&&(!r.localVersion||!j(r.localVersion,r.requiredVersion))){if(r.strictVersion||t.pendingGet)throw new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB "${o}" \\u9009\\u4E2D\\u4E86 ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version}\\uFF08\\u5C1A\\u672A\\u52A0\\u8F7D\\uFF09\\uFF0C\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u65E0\\u6CD5\\u7B49\\u5F85\\u5176\\u5B9E\\u4F8B\\u5C31\\u7EEA\\u3002\n\\u539F\\u56E0\\uFF1A\\u4E0D\\u80FD\\u6539\\u7528\\u4E0D\\u517C\\u5BB9\\u7684\\u672C\\u5730\\u526F\\u672C\\u6216\\u5206\\u88C2\\u5355\\u4F8B\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u8BA9\\u8BE5\\u5171\\u4EAB\\u7684\\u9996\\u6B21\\u6D88\\u8D39\\u5148\\u7ECF\\u4E00\\u6B21\\u52A8\\u6001 loadShare \\u5B8C\\u6210\\u52A0\\u8F7D\\uFF0C\\u6216\\u5C06\\u672C\\u5E94\\u7528\\u7248\\u672C\\u4E0E\\u4F5C\\u7528\\u57DF\\u63D0\\u4F9B\\u7248\\u672C\\u5BF9\\u9F50\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let s=`${n}|${o}|${t.version}|${r.localVersion}`;return l.has(s)||(l.add(s),console.warn(`[fulgurjs:MFU-010] \\u5171\\u4EAB\\u5355\\u4F8B "${o}"\\uFF1A\\u4F5C\\u7528\\u57DF\\u4E2D ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version} \\u5C1A\\u672A\\u52A0\\u8F7D\\uFF0C\\u9996\\u4E2A\\u6D88\\u8D39\\u8005\\u4EE5\\u672C\\u5730\\u7248\\u672C ${r.localVersion??""} \\u63A5\\u7BA1\\uFF08\\u540E\\u7EED\\u6D88\\u8D39\\u8005\\u6309\\u5DF2\\u52A0\\u8F7D\\u4F18\\u5148\\u6536\\u655B\\u5230\\u8BE5\\u5B9E\\u4F8B\\uFF09\\u3002`)),{kind:"local"}}return console.warn(`[fulgurjs] \\u5171\\u4EAB "${o}"\\uFF1A\\u975E\\u5355\\u4F8B\\u540C\\u6B65\\u6D88\\u8D39\\u4F7F\\u7528\\u672C\\u5730 ${r.localVersion??""}\\uFF0C\\u8FDC\\u7A0B ${t.version} \\u5C1A\\u672A\\u5C31\\u7EEA\\u3002`),{kind:"local"}}async function Ee(e){if($.resolveShare){for(let{name:r,opts:n}of e){let o=S(r,n);if(m.has(o))continue;let t=A(r,n),s=await $.resolveShare({shareKey:n.shareKey||r,shareScope:n.shareScope||"default",requiredVersion:n.requiredVersion,picked:t,available:Object.values(T(n.shareScope||"default")[n.shareKey||r]||{})})||t;s&&m.set(o,s)}for(let{name:r,opts:n}of e)await Y(r,n)}}function z(e){try{let r=new URL(e,typeof location<"u"?location.href:"http://f.invalid");return r.protocol+"//"+r.host+r.pathname}catch{return String(e).replace(/[?#].*$/,"")}}function Z(e,r,n){return new Promise((o,t)=>{let s=setTimeout(()=>t(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${n}`)),r);e.then(u=>{clearTimeout(s),o(u)},u=>{clearTimeout(s),t(u)})})}let Re=e=>new Promise(r=>setTimeout(r,e)),Q=new Set;function K(e,r){if(!e||typeof e.get!="function")throw new Error(`\\u8FDC\\u7A0B\\u5E94\\u7528 "${r.name}" \\u7684 remoteEntry \\u672A\\u5BFC\\u51FA\\u5BB9\\u5668\\u63A5\\u53E3\\u3002\\u8BF7\\u786E\\u8BA4\\u5165\\u53E3\\u5BFC\\u51FA\\u4E86 get()\\uFF0C\\u5E76\\u68C0\\u67E5\\u8BE5\\u5730\\u5740\\u662F\\u5426\\u8FD4\\u56DE\\u6B63\\u786E\\u7684\\u8054\\u90A6\\u5165\\u53E3 JS\\u3002`);if(e.name&&r.name&&e.name!==r.name){let n=`\\u8FDC\\u7A0B\\u5165\\u53E3\\u81EA\\u62A5\\u540D\\u79F0 "${e.name}" \\u4E0E\\u5BBF\\u4E3B\\u914D\\u7F6E\\u540D\\u79F0 "${r.name}" \\u4E0D\\u4E00\\u81F4\\u3002\\u8BF7\\u7EDF\\u4E00\\u4E24\\u4FA7 federation({ name }) \\u4E0E remotes \\u7684\\u540D\\u79F0\\u3002`;if(r.promise){let o=`${r.name}\\u2194${e.name}`;Q.has(o)||(Q.add(o),console.warn(`[fulgurjs] ${n} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`))}else throw Object.assign(new Error(n),{code:R.REMOTE_NAME_MISMATCH})}}async function ee(e,r){let n=r.entryFailCounts.get(e)??0,o=n>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${n}`:e,t=r.entryInflight.get(e),s=t??import(o);return t||(r.entryInflight.set(e,s),s.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),Z(s,r.timeout??G,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${z(e)}`)}async function re(e,r){let n=e.shareScope||"default";if(e.container){let s=N.get(e.container);if(s&&s!==n)throw new E(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${s}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let o=e.breakerState;if(o.openUntil>Date.now()){let s=new E(R.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(o.openUntil).toISOString()} \\u540E\\u5141\\u8BB8\\u91CD\\u8BD5\\u3002\\u8BF7\\u5148\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u670D\\u52A1\\u548C\\u7F51\\u7EDC\\u3002`,{remote:e.name,stage:"container"});throw v({remote:e.name,error:s}),s}e.state="loading",e.debug.status="loading";let t=(async()=>{let s=[];if(e.promise)s.push(async()=>{let i=await Z(e.promise(),e.timeout??G,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),h=typeof i=="string"?await ee(i,e):i;return K(h,e),h});else for(let i of[e.entry,...e.fallback??[]])s.push(async()=>{let h=await ee(i,e);return K(h,e),h});let u,a,y=!1,g=r?.retries??e.retries??se;for(let i of s){for(let h=0;h<=g;h++){let O=performance.now();try{u=await i(),e.lastLoadMs=Math.round(performance.now()-O),e.debug.lastLoadMs=e.lastLoadMs,y=!0;break}catch(_){if(a=_,_?.code)throw _;h<g&&await Re(Math.min(Ce,200*2**h)*(1-Fe*(1-2*Math.random())))}}if(y)break}if(!y||!u){let i=z(e.entry),h=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${i}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),h.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),h.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${i}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),h.push("2. \\u68C0\\u67E5 Nginx/CDN \\u7684\\u5165\\u53E3\\u8DEF\\u5F84\\u6620\\u5C04\\uFF1B\\u8BE5\\u5730\\u5740\\u4E0D\\u80FD\\u56DE\\u9000\\u5230 index.html\\u3002")),new E(R.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${i} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(a?.message??a)}\n\\u4FEE\\u6CD5\\uFF1A\n${h.join(`\n`)}`,{remote:e.name,stage:"container"},{cause:a})}K(u,e);let p=N.get(u);if(p&&p!==n)throw new E(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${p}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof u.init=="function"&&await u.init(c),N.set(u,n),e.container=u,e.state="loaded",e.debug.status="loaded",o.fails=0,u})();e.containerPromise=t;try{return await t}catch(s){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(s?.message??s),o.fails+=1,o.fails>=e.breakerThreshold&&(o.openUntil=Date.now()+e.breakerResetMs,o.fails=0),s instanceof E)throw v({remote:e.name,error:s}),s;if(s?.code)throw v({remote:e.name,error:s}),s;let u=new E(R.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(s?.message??s)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name,stage:"container"},{cause:s});throw v({remote:e.name,error:u}),u}}function q(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:ne(e.slice(r+1))}}function ne(e){return e?e.startsWith(".")?e:`./${e}`:""}async function we(e,r){let{remote:n,module:o}=q(e);if(o&&F===n)throw new E(R.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 setup/onSession \\u53C8\\u540C\\u6B65\\u52A0\\u8F7D\\u4E86\\u81EA\\u8EAB\\u6A21\\u5757\\uFF0C\\u5F62\\u6210\\u5FAA\\u73AF\\u7B49\\u5F85\\u3002\n\\u539F\\u56E0\\uFF1A\\u521D\\u59CB\\u5316\\u5C1A\\u672A\\u5B8C\\u6210\\uFF0C\\u4E0D\\u80FD\\u7B49\\u5F85\\u81EA\\u8EAB\\u7684\\u521D\\u59CB\\u5316\\u7ED3\\u679C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u4E0D\\u8981\\u5728 setup/onSession \\u4E2D\\u52A0\\u8F7D\\u540C\\u4E00\\u8FDC\\u7A0B\\u7684\\u6A21\\u5757\\uFF1B\\u8BF7\\u5728\\u9875\\u9762\\u7EC4\\u4EF6\\u4E2D\\u52A0\\u8F7D\\uFF0C\\u6216\\u901A\\u8FC7 context \\u89E3\\u8026\\u3002`,{remote:n});try{$.beforeLoadRemote?.({remote:n,module:o})}catch(i){console.warn("[fulgurjs] beforeLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u6A21\\u5757\\u52A0\\u8F7D\\u5C06\\u7EE7\\u7EED\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",i)}let t=d.get(n);if(!t)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:n});let s;try{let i=o&&t.manifestUrl?H(e):Promise.resolve();[s]=await Promise.all([re(t,{retries:r?.retries}),i])}catch(i){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,i),v({remote:n,error:i}),await r.fallbackModule();throw i}if(!o)return s;await ue(t,s);let u=V(n).globalComponents,a=r?.consumerApp;if(u&&a&&typeof a.component=="function")for(let i of Object.keys(u))a.component(i,u[i]);let y=V(n).pageProviders;y&&y.length>0&&typeof a?.pageProviders=="function"&&a.pageProviders(y);let g=`${n}@${t.shareScope||"default"}#${o}`;b.has(g)||b.set(g,s.get(o).catch(i=>{if(b.delete(g),i instanceof E||i?.code)throw v({remote:n,error:i}),i;let h=new E(R.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u52A0\\u8F7D\\u6A21\\u5757 "${o}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(i?.message??i)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:n,module:o,stage:"expose"},{cause:i});throw v({remote:n,error:h}),h}));let p;try{p=await b.get(g)}catch(i){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,i),v({remote:n,error:i}),await r.fallbackModule();throw i}try{$.afterLoadRemote?.({remote:n,module:o,module_ns:p})}catch(i){console.warn("[fulgurjs] afterLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u5DF2\\u52A0\\u8F7D\\u6A21\\u5757\\u4ECD\\u53EF\\u4F7F\\u7528\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",i)}if(p&&typeof p=="object"&&Object.keys(p).length===0){let i=new E(R.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6A21\\u5757 "${o}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:n,module:o});v({remote:n,error:i}),console.error(i.message)}return p}function be(e){let r=d.get(e);if(!r)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return re(r)}async function H(e,r={}){let{remote:n,module:o}=q(e),t=d.get(n);if(!t)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:n});let s=r.mode??"preload",u=(g,p)=>{if(g.sheet)return Promise.resolve();let i=L.get(g);if(i)return i;let h=new Promise(O=>{let _=()=>{g.removeEventListener("load",_),g.removeEventListener("error",M),O()},M=()=>{v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${p}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:n})}),_()};g.addEventListener("load",_,{once:!0}),g.addEventListener("error",M,{once:!0}),g.sheet&&_()});return L.set(g,h),h},a=(g,p)=>{if(typeof document>"u")return Promise.resolve();let i=document.querySelector(`link[href="${g}"]`);if(i)return p==="style"&&s==="preload"?L.get(i)??Promise.resolve():Promise.resolve();let h=document.createElement("link");h.rel=p==="style"?"stylesheet":"modulepreload",h.href=g,s==="prefetch"&&(h.fetchPriority="low");let O=p==="style"?u(h,g):Promise.resolve();return document.head.appendChild(h),p==="style"&&s==="preload"?O:Promise.resolve()},y=g=>{let p=typeof document<"u"?document.baseURI:void 0,i=new URL(t.entry,p||"http://fulgurjs.invalid/");return!i.pathname.endsWith("/")&&!i.pathname.split("/").pop().includes(".")&&(i.pathname+="/"),new URL(g,i).href};try{if(t.manifestUrl){let g=P.get(t.manifestUrl);g||(g=fetch(t.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(i=>i.ok?i.json():void 0),P.set(t.manifestUrl,g),g.then(i=>{i||P.delete(t.manifestUrl)},()=>P.delete(t.manifestUrl)));let p=await g;if(p){let i=p.schemaVersion;if(typeof i=="number"&&(!Number.isInteger(i)||i>1)){v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(i)}\\uFF0C\\u5F53\\u524D\\u4EC5\\u652F\\u6301\\u7248\\u672C 1\\u3002\\u8BF7\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u548C\\u8FDC\\u7A0B\\u7684\\u63D2\\u4EF6\\u7248\\u672C\\u3002`,{remote:n})}),await a(t.entry,"modulepreload");return}await a(t.entry,"modulepreload");let h=p.exposes,O=Array.isArray(h)?h.filter(k=>k&&typeof k=="object").map(k=>[String(k.name??""),k]):h&&typeof h=="object"?Object.entries(h):[],_=o?O.filter(([k,x])=>ne(String(x?.name??k))===o):O,M=[];for(let[,k]of _)if(typeof k?.file=="string"&&await a(y(k.file),"modulepreload"),Array.isArray(k?.css))for(let x of k.css){if(typeof x!="string")continue;let ve=a(y(x),"style");s==="preload"&&M.push(ve)}await Promise.all(M);return}}await a(t.entry,"modulepreload")}catch(g){v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(g?.message??g)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=c,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of d)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:c,initSharing:fe,registerShare:D,registerRemotes:B,registerRemote:me,registerPlugins:ge,loadShare:Y,loadShareSync:Se,prepareShares:Ee,getLoadedShare:he,pinLoadedShare:ye,loadRemote:we,getContainer:be,preloadRemote:H,parseSpec:q,clearSessionState:de,reportRemoteError:e=>{v(e)}}}var ie=globalThis,w=ie.__FULGURJS_RUNTIME__??Ve();ie.__FULGURJS_RUNTIME__=w;try{Object.freeze(w)}catch{}var Be=oe;function We(){return w}var Ye=w.initSharing,ze=w.registerShare,Ze=w.registerRemotes,Qe=w.registerRemote,er=w.registerPlugins,rr=w.loadShare,nr=w.getLoadedShare,tr=w.prepareShares||(async c=>{for(let{name:d,opts:f}of c)await w.loadShare(d,f)}),or=w.loadShareSync,sr=w.pinLoadedShare,ir=w.loadRemote,ar=w.getContainer,cr=w.preloadRemote,lr=w.parseSpec,ur=w.clearSessionState,dr=w.shareScopeMap;function fr(c){if(c&&typeof c=="object"&&"default"in c){let d=c.default;return d!==void 0?d:c}return c}var pr=w;export{ur as clearSessionState,pr as default,ar as getContainer,nr as getLoadedShare,We as getRuntime,Ye as initSharing,ir as loadRemote,rr as loadShare,or as loadShareSync,lr as parseSpec,sr as pinLoadedShare,cr as preloadRemote,tr as prepareShares,er as registerPlugins,Qe as registerRemote,Ze as registerRemotes,ze as registerShare,w as runtime,dr as shareScopeMap,fr as unwrapDefault,Be as version};\n';
|
|
3795
3892
|
|
|
3796
3893
|
// src/index.ts
|
|
3797
3894
|
function readRuntimeCode() {
|
|
@@ -3808,7 +3905,7 @@ function enumerateCjsExports(packageName, appRoot) {
|
|
|
3808
3905
|
if (cached) return cached;
|
|
3809
3906
|
let names = [];
|
|
3810
3907
|
try {
|
|
3811
|
-
const appRequire = (0,
|
|
3908
|
+
const appRequire = (0, import_node_module4.createRequire)(import_node_path10.default.join(appRoot, "package.json"));
|
|
3812
3909
|
const mod = appRequire(packageName);
|
|
3813
3910
|
names = Object.keys(mod);
|
|
3814
3911
|
} catch {
|
|
@@ -4432,7 +4529,7 @@ ${code}`, map: null };
|
|
|
4432
4529
|
const srcRe = /src=["']([^"']+)["']/;
|
|
4433
4530
|
const entryPath = (src) => {
|
|
4434
4531
|
const file = src.startsWith("/@fs/") ? src.slice(4) : src;
|
|
4435
|
-
return import_node_path10.default.isAbsolute(file) &&
|
|
4532
|
+
return import_node_path10.default.isAbsolute(file) && import_node_fs8.default.existsSync(file) ? file : import_node_path10.default.resolve(state.normalized.root, src.startsWith("/") ? src.slice(1) : src);
|
|
4436
4533
|
};
|
|
4437
4534
|
for (const tag of html.match(moduleScriptRe) ?? []) {
|
|
4438
4535
|
const src = srcRe.exec(tag)?.[1];
|
|
@@ -4463,7 +4560,7 @@ ${code}`, map: null };
|
|
|
4463
4560
|
state.providerEntrySeeds = [];
|
|
4464
4561
|
providerClosureCache.clear();
|
|
4465
4562
|
providerClosureBuilt = false;
|
|
4466
|
-
const providerRequire = (0,
|
|
4563
|
+
const providerRequire = (0, import_node_module4.createRequire)(import_node_path10.default.join(n.root, "package.json"));
|
|
4467
4564
|
for (const item of n.shared) {
|
|
4468
4565
|
if (item.import === false) continue;
|
|
4469
4566
|
try {
|
|
@@ -4536,7 +4633,7 @@ ${code}`, map: null };
|
|
|
4536
4633
|
let file = null;
|
|
4537
4634
|
if (selfFile) {
|
|
4538
4635
|
try {
|
|
4539
|
-
const req = (0,
|
|
4636
|
+
const req = (0, import_node_module4.createRequire)(selfFile);
|
|
4540
4637
|
file = req.resolve(`${alias}/package.json`, { paths: [selfFile] }).replace(/\/package\.json$/, "");
|
|
4541
4638
|
} catch {
|
|
4542
4639
|
file = null;
|
|
@@ -4831,7 +4928,7 @@ ${entryChunk.code}`;
|
|
|
4831
4928
|
if (n.exposes.length > 0 && n.dts) {
|
|
4832
4929
|
typesServer = createDevTypesServer(n);
|
|
4833
4930
|
let regenTimer = null;
|
|
4834
|
-
const syncedTypesDir = typeof n.dts === "object" && n.dts.dir ? import_node_path10.default.resolve(n.root, n.dts.dir) : import_node_path10.default.join(n.root,
|
|
4931
|
+
const syncedTypesDir = typeof n.dts === "object" && n.dts.dir ? import_node_path10.default.resolve(n.root, n.dts.dir) : import_node_path10.default.join(n.root, import_node_fs8.default.existsSync(import_node_path10.default.join(n.root, "src")) ? "src/fulgurjs/types" : ".fulgurjs/types");
|
|
4835
4932
|
const scheduleRegen = (id) => {
|
|
4836
4933
|
if (!isTypesInputChange(n.root, id, syncedTypesDir)) return;
|
|
4837
4934
|
if (regenTimer) clearTimeout(regenTimer);
|
|
@@ -4900,12 +4997,12 @@ ${entryChunk.code}`;
|
|
|
4900
4997
|
const dtsOpt = n.dts === true ? true : n.dts;
|
|
4901
4998
|
const typesRoot = import_node_path10.default.join(
|
|
4902
4999
|
n.root,
|
|
4903
|
-
dtsOpt === false ? "" : (typeof dtsOpt === "object" ? dtsOpt.dir : void 0) ?? (
|
|
5000
|
+
dtsOpt === false ? "" : (typeof dtsOpt === "object" ? dtsOpt.dir : void 0) ?? (import_node_fs8.default.existsSync(import_node_path10.default.join(n.root, "src")) ? "src/fulgurjs/types" : ".fulgurjs/types")
|
|
4904
5001
|
);
|
|
4905
5002
|
try {
|
|
4906
|
-
if (
|
|
5003
|
+
if (import_node_fs8.default.existsSync(typesRoot)) {
|
|
4907
5004
|
const activeKeys = new Set(n.remotes.map((r) => r.key));
|
|
4908
|
-
for (const name of
|
|
5005
|
+
for (const name of import_node_fs8.default.readdirSync(typesRoot)) {
|
|
4909
5006
|
if (!activeKeys.has(name)) removeGeneratedTypes(typesRoot, name);
|
|
4910
5007
|
}
|
|
4911
5008
|
}
|