@fulgurjs/federation 6.11.1 → 6.11.3

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/dist/index.cjs CHANGED
@@ -34,7 +34,7 @@ __export(index_exports, {
34
34
  federation: () => federation
35
35
  });
36
36
  module.exports = __toCommonJS(index_exports);
37
- var import_node_fs6 = __toESM(require("fs"), 1);
37
+ var import_node_fs7 = __toESM(require("fs"), 1);
38
38
  var import_node_path10 = __toESM(require("path"), 1);
39
39
  var import_node_module3 = require("module");
40
40
 
@@ -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.11.1";
47
+ var RUNTIME_VERSION = "6.11.3";
48
48
 
49
49
  // src/dev-cors.ts
50
50
  function normalizeDevCorsOrigins(input) {
@@ -1690,6 +1690,7 @@ export { ${nsAs[1]} };`);
1690
1690
 
1691
1691
  // src/dts-serve.ts
1692
1692
  var import_node_path5 = __toESM(require("path"), 1);
1693
+ var import_node_fs3 = __toESM(require("fs"), 1);
1693
1694
 
1694
1695
  // src/dts-generate.ts
1695
1696
  var import_node_fs2 = __toESM(require("fs"), 1);
@@ -1718,6 +1719,62 @@ ${stderr}`).split(/\r?\n/)) {
1718
1719
  return shown.join("\n");
1719
1720
  }
1720
1721
 
1722
+ // src/dts-vue-program.ts
1723
+ function genVueDeclarationProgram() {
1724
+ return String.raw`
1725
+ const fs = require('node:fs');
1726
+ const path = require('node:path');
1727
+ const { createRequire } = require('node:module');
1728
+ const req = createRequire(path.join(process.cwd(), 'package.json'));
1729
+ const ts = req('typescript');
1730
+ const vue = req('vue-tsc');
1731
+ const configFile = process.argv[1];
1732
+ const closure = new Set(JSON.parse(process.argv[2]).map(file => path.resolve(file)));
1733
+ const raw = ts.readConfigFile(configFile, ts.sys.readFile);
1734
+ const parsed = ts.parseJsonConfigFileContent(raw.config, ts.sys, path.dirname(configFile), undefined, configFile, undefined, [
1735
+ { extension: '.vue', isMixedContent: true, scriptKind: ts.ScriptKind.Deferred },
1736
+ ]);
1737
+ // 不把 Vue 的映射后诊断序列化到 TS buildinfo;有损的位置不能用于闭包门禁。
1738
+ parsed.options.incremental = false;
1739
+ delete parsed.options.tsBuildInfoFile;
1740
+ const formatHost = {
1741
+ getCurrentDirectory: () => process.cwd(),
1742
+ getCanonicalFileName: file => file,
1743
+ getNewLine: () => '\n',
1744
+ };
1745
+ const diagnostics = [...(raw.error ? [raw.error] : []), ...parsed.errors];
1746
+ if (!diagnostics.length) {
1747
+ const program = vue.createProgram({
1748
+ rootNames: parsed.fileNames,
1749
+ options: parsed.options,
1750
+ host: ts.createCompilerHost(parsed.options),
1751
+ });
1752
+ diagnostics.push(...program.getOptionsDiagnostics(), ...program.getGlobalDiagnostics());
1753
+ const sources = program.getSourceFiles().filter(file => {
1754
+ const original = file.fileName.replace(/(\.vue)\.[cm]?[jt]sx?$/, '$1');
1755
+ return closure.has(path.resolve(original));
1756
+ });
1757
+ for (const file of sources) {
1758
+ diagnostics.push(...program.getSyntacticDiagnostics(file), ...program.getSemanticDiagnostics(file));
1759
+ if (!file.isDeclarationFile) {
1760
+ // 官方 emit 保留真实 props、重载和推导结果,绝不以手写接口或 any 代替。
1761
+ const emitted = program.emit(file, undefined, undefined, true);
1762
+ diagnostics.push(...emitted.diagnostics);
1763
+ if (emitted.emitSkipped) diagnostics.push({
1764
+ category: ts.DiagnosticCategory.Error, code: 90001,
1765
+ messageText: '暴露模块声明 emit 被编译器跳过:' + file.fileName,
1766
+ });
1767
+ }
1768
+ }
1769
+ }
1770
+ const errors = diagnostics.filter(diagnostic => diagnostic.category === ts.DiagnosticCategory.Error);
1771
+ if (errors.length) {
1772
+ process.stdout.write(ts.formatDiagnostics(errors, formatHost));
1773
+ process.exitCode = 1;
1774
+ }
1775
+ `;
1776
+ }
1777
+
1721
1778
  // src/dts-generate.ts
1722
1779
  var import_node_crypto = __toESM(require("crypto"), 1);
1723
1780
  var import_node_module2 = require("module");
@@ -2029,7 +2086,9 @@ function loadTsContext(root, ts, diagnostics) {
2029
2086
  diagnostics.push(`tsconfig \u89E3\u6790\u5931\u8D25\uFF08${tsconfigFile}\uFF09\uFF1A${ts.flattenDiagnosticMessageText(raw.error.messageText, " ")}`);
2030
2087
  return null;
2031
2088
  }
2032
- const parsed = ts.parseJsonConfigFileContent(raw.config, ts.sys, import_node_path4.default.dirname(tsconfigFile));
2089
+ const parsed = ts.parseJsonConfigFileContent(raw.config, ts.sys, import_node_path4.default.dirname(tsconfigFile), void 0, void 0, void 0, [
2090
+ { extension: ".vue", isMixedContent: true, scriptKind: ts.ScriptKind.Deferred }
2091
+ ]);
2033
2092
  const co = { ...parsed.options };
2034
2093
  if (typeof co.baseUrl === "string" && !import_node_path4.default.isAbsolute(co.baseUrl)) {
2035
2094
  co.baseUrl = import_node_path4.default.resolve(import_node_path4.default.dirname(tsconfigFile), co.baseUrl);
@@ -2117,11 +2176,17 @@ async function generateTypesBundle(input) {
2117
2176
  const vueTscPkg = JSON.parse(import_node_fs2.default.readFileSync(import_node_path4.default.join(vueTscDir, "package.json"), "utf8"));
2118
2177
  const binRel = vueTscPkg.bin?.["vue-tsc"] ?? vueTscPkg.bin?.["vue-tsc.js"] ?? "bin/vue-tsc.js";
2119
2178
  const binPath = import_node_path4.default.resolve(vueTscDir, binRel);
2179
+ const scopedVueProgram = /^1\./.test(vueTscPkg.version);
2120
2180
  if (!import_node_fs2.default.existsSync(binPath)) {
2121
2181
  return { ok: false, diagnostics: [`vue-tsc \u5165\u53E3\u4E0D\u5B58\u5728\uFF08${binPath}\uFF09\u3002\u8BF7\u91CD\u65B0\u5B89\u88C5 vue-tsc\u3002`] };
2122
2182
  }
2123
- const tmpCfg = import_node_path4.default.join(root, `.fulgurjs-types-tsconfig-${process.pid}-${import_node_crypto.default.randomUUID()}.json`);
2124
- const outDir = import_node_fs2.default.mkdtempSync(import_node_path4.default.join(root, "node_modules", ".fulgurjs-types-emit-"));
2183
+ const cacheDir = input.incrementalDir;
2184
+ if (cacheDir) import_node_fs2.default.mkdirSync(cacheDir, { recursive: true });
2185
+ 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`);
2186
+ const outDir = cacheDir ? import_node_path4.default.join(cacheDir, "emit") : import_node_fs2.default.mkdtempSync(import_node_path4.default.join(root, "node_modules", ".fulgurjs-types-emit-"));
2187
+ const clearOutput = () => {
2188
+ if (!cacheDir) import_node_fs2.default.rmSync(outDir, { recursive: true, force: true });
2189
+ };
2125
2190
  const baseCo = { ...rawOptionsWithInherited(ctx) };
2126
2191
  delete baseCo.noEmit;
2127
2192
  delete baseCo.incremental;
@@ -2132,6 +2197,7 @@ async function generateTypesBundle(input) {
2132
2197
  delete baseCo.extends;
2133
2198
  const resolvedTypeFiles = resolveTypesEntries(root, baseCo, diagnostics);
2134
2199
  import_node_fs2.default.writeFileSync(tmpCfg, JSON.stringify({
2200
+ ...ctx.tsconfigFile ? { extends: ctx.tsconfigFile } : {},
2135
2201
  compilerOptions: {
2136
2202
  ...baseCo,
2137
2203
  noEmit: false,
@@ -2143,7 +2209,8 @@ async function generateTypesBundle(input) {
2143
2209
  declarationMap: false,
2144
2210
  sourceMap: false,
2145
2211
  outDir,
2146
- rootDir
2212
+ rootDir,
2213
+ ...cacheDir && !scopedVueProgram ? { incremental: true, tsBuildInfoFile: import_node_path4.default.join(cacheDir, "state.tsbuildinfo") } : {}
2147
2214
  },
2148
2215
  include: [
2149
2216
  ...entryFiles.map((f) => import_node_path4.default.relative(root, f)),
@@ -2154,23 +2221,50 @@ async function generateTypesBundle(input) {
2154
2221
  if (process.env.FG_DUMP_TSCFG) import_node_fs2.default.writeFileSync(process.env.FG_DUMP_TSCFG, import_node_fs2.default.readFileSync(tmpCfg, "utf8"));
2155
2222
  const isOom = (text) => /(^|\n)\s*FATAL ERROR:.*(heap out of memory|Ineffective mark-compacts|Allocation failed)/i.test(text);
2156
2223
  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);
2224
+ const isTimeoutKill = (e) => !!e && e.killed === true && !/error TS\d+/i.test(String(e.message ?? ""));
2225
+ const timeoutFor = (raisedHeap) => {
2226
+ const env = Number(process.env.FG_DTS_TIMEOUT_MS);
2227
+ if (Number.isFinite(env) && env > 0) return env;
2228
+ return raisedHeap ? 30 * 60 * 1e3 : 10 * 60 * 1e3;
2229
+ };
2157
2230
  try {
2158
2231
  const attempt = (extraNodeArgs) => new Promise((resolve) => {
2232
+ if (signal?.aborted) {
2233
+ resolve({ err: Object.assign(new Error("\u58F0\u660E\u751F\u6210\u5DF2\u53D6\u6D88"), { code: "ABORT_ERR" }), stdout: "", stderr: "" });
2234
+ return;
2235
+ }
2159
2236
  const child = (0, import_node_child_process.execFile)(
2160
2237
  process.execPath,
2161
- [...extraNodeArgs, binPath, "-p", tmpCfg, "--noErrorTruncation", "--pretty", "false"],
2162
- { cwd: root, encoding: "utf8", maxBuffer: 64 * 1024 * 1024, timeout: 10 * 60 * 1e3 },
2163
- (err2, stdout2, stderr2) => resolve({ err: err2 ?? null, stdout: String(stdout2 ?? ""), stderr: String(stderr2 ?? "") })
2238
+ [...extraNodeArgs, ...scopedVueProgram ? ["--eval", genVueDeclarationProgram(), tmpCfg, JSON.stringify([...closure])] : [binPath, "-p", tmpCfg, "--noErrorTruncation", "--pretty", "false"]],
2239
+ { cwd: root, encoding: "utf8", maxBuffer: 64 * 1024 * 1024, timeout: timeoutFor(extraNodeArgs.length > 0) },
2240
+ (err2, stdout2, stderr2) => {
2241
+ signal?.removeEventListener("abort", abort);
2242
+ resolve({ err: err2 ?? null, stdout: String(stdout2 ?? ""), stderr: String(stderr2 ?? "") });
2243
+ }
2164
2244
  );
2165
- signal?.addEventListener("abort", () => child.kill("SIGKILL"), { once: true });
2245
+ const abort = () => {
2246
+ child.kill("SIGKILL");
2247
+ };
2248
+ signal?.addEventListener("abort", abort, { once: true });
2249
+ if (signal?.aborted) abort();
2166
2250
  });
2167
- let { err, stdout, stderr } = await attempt([]);
2251
+ const heapMarker = cacheDir ? import_node_path4.default.join(cacheDir, "raised-heap") : void 0;
2252
+ const raisedArgs = [`--max-old-space-size=${process.env.FG_DTS_MAX_OLD_SPACE ?? "8192"}`];
2253
+ const initialArgs = heapMarker && import_node_fs2.default.existsSync(heapMarker) ? raisedArgs : [];
2254
+ let { err, stdout, stderr } = await attempt(initialArgs);
2255
+ if (signal?.aborted) {
2256
+ clearOutput();
2257
+ return { ok: false, diagnostics: ["vue-tsc \u58F0\u660E\u751F\u6210\u88AB\u4E2D\u6B62\uFF08dev server \u5173\u95ED\uFF09\u3002"] };
2258
+ }
2168
2259
  if (err && isOom(stderr)) {
2169
2260
  const raised = process.env.FG_DTS_MAX_OLD_SPACE ?? "8192";
2170
- 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`);
2171
- ({ err, stdout, stderr } = await attempt([`--max-old-space-size=${raised}`]));
2261
+ if (initialArgs.length === 0) {
2262
+ 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`);
2263
+ if (heapMarker) import_node_fs2.default.writeFileSync(heapMarker, "");
2264
+ ({ err, stdout, stderr } = await attempt([`--max-old-space-size=${raised}`]));
2265
+ }
2172
2266
  if (err && isOom(stderr)) {
2173
- import_node_fs2.default.rmSync(outDir, { recursive: true, force: true });
2267
+ clearOutput();
2174
2268
  diagnostics.push(
2175
2269
  "vue-tsc \u58F0\u660E\u751F\u6210\u5185\u5B58\u4E0D\u8DB3\uFF08\u63D0\u9AD8\u5806\u540E\u4ECD OOM\uFF09\u2014\u2014\u7C7B\u578B\u8D44\u6E90\u672A\u4EA7\u51FA\u3002",
2176
2270
  "\u4FEE\u6CD5\uFF1A\u7528\u73AF\u5883\u53D8\u91CF FG_DTS_MAX_OLD_SPACE \u63D0\u9AD8\u751F\u6210\u5668\u5806\uFF08\u5982 16384\uFF09\uFF0C\u6216\u7F29\u5C0F\u66B4\u9732\u6A21\u5757\u7684\u9759\u6001\u4F9D\u8D56\u9762\u540E\u91CD\u8BD5\u3002"
@@ -2178,11 +2272,24 @@ async function generateTypesBundle(input) {
2178
2272
  return { ok: false, diagnostics };
2179
2273
  }
2180
2274
  }
2181
- if (err && isSystemKilled(err, stdout, stderr)) {
2275
+ if (err && isTimeoutKill(err) && !isOom(stderr)) {
2276
+ const raised = process.env.FG_DTS_MAX_OLD_SPACE ?? "8192";
2277
+ diagnostics.push(`vue-tsc \u58F0\u660E\u751F\u6210\u8D85\u8FC7\u5355\u6B21\u4E0A\u9650\uFF08${Math.round(timeoutFor(false) / 6e4)} \u5206\u949F\uFF09\u88AB\u5F3A\u6740\uFF0C\u4EE5\u63D0\u5806 + \u66F4\u957F\u4E0A\u9650\u91CD\u8BD5\u3002`);
2278
+ ({ err, stdout, stderr } = await attempt([`--max-old-space-size=${raised}`]));
2279
+ if (err && isTimeoutKill(err) && !isOom(stderr) && !/error TS\d+/i.test(stdout + "\n" + stderr)) {
2280
+ clearOutput();
2281
+ diagnostics.push(
2282
+ `vue-tsc \u58F0\u660E\u751F\u6210\u518D\u6B21\u8D85\u65F6\uFF08\u5355\u6B21\u4E0A\u9650 ${Math.round(timeoutFor(true) / 6e4)} \u5206\u949F\uFF09\u2014\u2014\u7C7B\u578B\u8D44\u6E90\u672A\u4EA7\u51FA\u3002`,
2283
+ "\u4FEE\u6CD5\uFF1A\u7528\u73AF\u5883\u53D8\u91CF FG_DTS_TIMEOUT_MS \u63D0\u9AD8\u4E0A\u9650\uFF08\u6BEB\u79D2\uFF0C\u5982 3600000\uFF09\uFF0C\u6216\u7F29\u5C0F\u66B4\u9732\u6A21\u5757\u7684\u9759\u6001\u4F9D\u8D56\u9762\u3002"
2284
+ );
2285
+ return { ok: false, diagnostics };
2286
+ }
2287
+ }
2288
+ if (err && isSystemKilled(err, stdout, stderr) && !isTimeoutKill(err)) {
2182
2289
  diagnostics.push(`vue-tsc \u58F0\u660E\u751F\u6210\u8FDB\u7A0B\u88AB\u7CFB\u7EDF\u7EC8\u6B62\uFF08signal=${err.signal ?? "Killed"}\uFF0C\u65E0 TypeScript \u8BCA\u65AD\u8F93\u51FA\uFF09\uFF0C\u91CD\u8BD5\u4E00\u6B21\u3002`);
2183
2290
  ({ err, stdout, stderr } = await attempt([]));
2184
- if (err && isSystemKilled(err, stdout, stderr)) {
2185
- import_node_fs2.default.rmSync(outDir, { recursive: true, force: true });
2291
+ if (err && isSystemKilled(err, stdout, stderr) && !isTimeoutKill(err)) {
2292
+ clearOutput();
2186
2293
  diagnostics.push(
2187
2294
  "vue-tsc \u58F0\u660E\u751F\u6210\u8FDB\u7A0B\u518D\u6B21\u88AB\u7CFB\u7EDF\u7EC8\u6B62\u2014\u2014\u7C7B\u578B\u8D44\u6E90\u672A\u4EA7\u51FA\u3002",
2188
2295
  "\u5E38\u89C1\u539F\u56E0\uFF1A\u673A\u5668\u5185\u5B58\u538B\u529B\u4E0B\u88AB OS \u7EC8\u6B62\uFF08\u5982\u540C\u65F6\u8FD0\u884C\u591A\u4E2A\u5927\u578B\u58F0\u660E\u751F\u6210/\u6784\u5EFA\uFF09\uFF0C\u6216\u8FDB\u7A0B\u88AB\u5916\u90E8 kill\u3002",
@@ -2194,7 +2301,7 @@ async function generateTypesBundle(input) {
2194
2301
  if (err) {
2195
2302
  if (signal?.aborted) {
2196
2303
  diagnostics.push("vue-tsc \u58F0\u660E\u751F\u6210\u88AB\u4E2D\u6B62\uFF08dev server \u5173\u95ED\uFF09\u3002");
2197
- import_node_fs2.default.rmSync(outDir, { recursive: true, force: true });
2304
+ clearOutput();
2198
2305
  return { ok: false, diagnostics };
2199
2306
  }
2200
2307
  const errFiles = parseErrorFiles(stdout, root);
@@ -2204,19 +2311,19 @@ async function generateTypesBundle(input) {
2204
2311
  const tail = formatDeclarationDiagnostics(stdout, stderr, err.message, root, closure);
2205
2312
  diagnostics.push(`vue-tsc \u58F0\u660E\u751F\u6210\u5931\u8D25\uFF08\u66B4\u9732\u95ED\u5305\u5185\u5B58\u5728\u7F16\u8BD1\u9519\u8BEF\uFF09\u2014\u2014\u7C7B\u578B\u8D44\u6E90\u672A\u4EA7\u51FA\uFF1A
2206
2313
  ${tail}`);
2207
- import_node_fs2.default.rmSync(outDir, { recursive: true, force: true });
2314
+ clearOutput();
2208
2315
  return { ok: false, diagnostics };
2209
2316
  }
2210
2317
  }
2211
2318
  } catch {
2212
- import_node_fs2.default.rmSync(outDir, { recursive: true, force: true });
2319
+ clearOutput();
2213
2320
  import_node_fs2.default.rmSync(tmpCfg, { force: true });
2214
2321
  return { ok: false, diagnostics };
2215
2322
  } finally {
2216
2323
  import_node_fs2.default.rmSync(tmpCfg, { force: true });
2217
2324
  }
2218
2325
  collectEmitted(ts, outDir, rootDir, emitted, closure);
2219
- import_node_fs2.default.rmSync(outDir, { recursive: true, force: true });
2326
+ clearOutput();
2220
2327
  } else {
2221
2328
  const outDir = import_node_fs2.default.mkdtempSync(import_node_path4.default.join(root, "node_modules", ".fulgurjs-types-emit-"));
2222
2329
  const program = ts.createProgram([...entryFiles, ...ctx.ambientInputs, ...resolveTypesEntries(root, ctx.rawOptions, [])], {
@@ -2444,7 +2551,8 @@ function isTypesInputChange(root, id, outputDir) {
2444
2551
  if (relative.split(import_node_path5.default.sep).some((part) => part === "node_modules" || part === ".vite")) return false;
2445
2552
  if (import_node_path5.default.basename(id).startsWith(".fulgurjs-types-tsconfig-")) return false;
2446
2553
  const outputRelative = import_node_path5.default.relative(outputDir, id);
2447
- return outputRelative.startsWith(`..${import_node_path5.default.sep}`) || import_node_path5.default.isAbsolute(outputRelative);
2554
+ if (!(outputRelative.startsWith(`..${import_node_path5.default.sep}`) || import_node_path5.default.isAbsolute(outputRelative))) return false;
2555
+ return /\.(?:[cm]?[jt]sx?|vue|json)$/i.test(id);
2448
2556
  }
2449
2557
  function createDevTypesServer(options, hooks = {}) {
2450
2558
  const warn = hooks.warn ?? ((m) => console.warn(m));
@@ -2456,16 +2564,27 @@ function createDevTypesServer(options, hooks = {}) {
2456
2564
  let pendingInvalidate = false;
2457
2565
  let disposed = false;
2458
2566
  let lastErrorKey = null;
2567
+ let incrementalDir;
2568
+ const clearCache = () => {
2569
+ if (incrementalDir) import_node_fs3.default.rmSync(incrementalDir, { recursive: true, force: true });
2570
+ incrementalDir = void 0;
2571
+ };
2459
2572
  const publicExposes = options.exposes.filter((e) => !e.internal).map((e) => ({ name: e.name, import: e.import }));
2460
2573
  const run = async () => {
2461
2574
  if (disposed) return;
2462
2575
  let result;
2463
2576
  try {
2577
+ if (!incrementalDir) {
2578
+ const cacheRoot = import_node_path5.default.join(options.root, "node_modules");
2579
+ import_node_fs3.default.mkdirSync(cacheRoot, { recursive: true });
2580
+ incrementalDir = import_node_fs3.default.mkdtempSync(import_node_path5.default.join(cacheRoot, ".fulgurjs-types-cache-"));
2581
+ }
2464
2582
  result = await generateTypesBundle({
2465
2583
  root: options.root,
2466
2584
  exposes: publicExposes,
2467
2585
  pluginVersion: options.pluginVersion,
2468
- signal: controller.signal
2586
+ signal: controller.signal,
2587
+ incrementalDir
2469
2588
  });
2470
2589
  } catch (e) {
2471
2590
  result = { ok: false, diagnostics: [`\u58F0\u660E\u751F\u6210\u53D1\u751F\u672A\u9884\u671F\u5F02\u5E38\uFF08\u5DF2\u62E6\u622A\uFF09\uFF1A${e.stack ?? e.message}`] };
@@ -2502,6 +2621,7 @@ ${key}`);
2502
2621
  await generating;
2503
2622
  } finally {
2504
2623
  generating = null;
2624
+ if (disposed) clearCache();
2505
2625
  }
2506
2626
  if (!pendingInvalidate || disposed) return;
2507
2627
  }
@@ -2530,12 +2650,13 @@ ${key}`);
2530
2650
  dispose() {
2531
2651
  disposed = true;
2532
2652
  controller.abort();
2653
+ if (!generating) clearCache();
2533
2654
  }
2534
2655
  };
2535
2656
  }
2536
2657
 
2537
2658
  // src/dts-sync.ts
2538
- var import_node_fs4 = __toESM(require("fs"), 1);
2659
+ var import_node_fs5 = __toESM(require("fs"), 1);
2539
2660
  var import_node_path7 = __toESM(require("path"), 1);
2540
2661
  var import_node_crypto2 = __toESM(require("crypto"), 1);
2541
2662
 
@@ -2665,7 +2786,7 @@ function stripAmbientModifiers(text) {
2665
2786
  }
2666
2787
 
2667
2788
  // src/dts-discovery.ts
2668
- var import_node_fs3 = __toESM(require("fs"), 1);
2789
+ var import_node_fs4 = __toESM(require("fs"), 1);
2669
2790
  var import_node_path6 = __toESM(require("path"), 1);
2670
2791
  function stripJsoncForConfig(text) {
2671
2792
  let out = "";
@@ -2706,7 +2827,7 @@ function stripJsoncForConfig(text) {
2706
2827
  }
2707
2828
  function readCfg(file) {
2708
2829
  try {
2709
- const raw = JSON.parse(stripJsoncForConfig(import_node_fs3.default.readFileSync(file, "utf8")));
2830
+ const raw = JSON.parse(stripJsoncForConfig(import_node_fs4.default.readFileSync(file, "utf8")));
2710
2831
  const cfg = { file };
2711
2832
  for (const key of ["include", "files", "exclude"]) {
2712
2833
  const v = raw[key];
@@ -2746,9 +2867,9 @@ function effectiveCfg(cfg, depth = 0) {
2746
2867
  function resolveConfigFile(value, declaringFile) {
2747
2868
  let candidate = import_node_path6.default.resolve(import_node_path6.default.dirname(declaringFile), value);
2748
2869
  if (!candidate.endsWith(".json")) candidate += ".json";
2749
- if (import_node_fs3.default.existsSync(candidate)) return candidate;
2870
+ if (import_node_fs4.default.existsSync(candidate)) return candidate;
2750
2871
  const asDir = import_node_path6.default.join(candidate, "tsconfig.json");
2751
- return import_node_fs3.default.existsSync(asDir) ? asDir : null;
2872
+ return import_node_fs4.default.existsSync(asDir) ? asDir : null;
2752
2873
  }
2753
2874
  function patternCoversDir(pattern, target, cfgDir) {
2754
2875
  const norm = pattern.replace(/^\.\//, "");
@@ -2765,8 +2886,8 @@ function checkTypesDiscovery(root, typesRoot) {
2765
2886
  const relTypes = import_node_path6.default.relative(root, typesRoot) || ".";
2766
2887
  const configs = [];
2767
2888
  let primary = import_node_path6.default.join(root, "tsconfig.json");
2768
- if (!import_node_fs3.default.existsSync(primary)) {
2769
- const candidates = import_node_fs3.default.existsSync(root) ? import_node_fs3.default.readdirSync(root).filter((f) => /^tsconfig[\w.-]*\.json$/i.test(f)).map((f) => import_node_path6.default.join(root, f)) : [];
2889
+ if (!import_node_fs4.default.existsSync(primary)) {
2890
+ const candidates = import_node_fs4.default.existsSync(root) ? import_node_fs4.default.readdirSync(root).filter((f) => /^tsconfig[\w.-]*\.json$/i.test(f)).map((f) => import_node_path6.default.join(root, f)) : [];
2770
2891
  if (candidates.length === 0) {
2771
2892
  return {
2772
2893
  covered: false,
@@ -2860,7 +2981,7 @@ var METADATA_FILE = "metadata.json";
2860
2981
  var AMBIENT_FORMAT = 2;
2861
2982
  function readMetadata(dir) {
2862
2983
  try {
2863
- const raw = JSON.parse(import_node_fs4.default.readFileSync(import_node_path7.default.join(dir, METADATA_FILE), "utf8"));
2984
+ const raw = JSON.parse(import_node_fs5.default.readFileSync(import_node_path7.default.join(dir, METADATA_FILE), "utf8"));
2864
2985
  if (raw.generator !== "@fulgurjs/federation" || typeof raw.revision !== "string" || !Array.isArray(raw.files)) return null;
2865
2986
  return raw;
2866
2987
  } catch {
@@ -2870,19 +2991,19 @@ function readMetadata(dir) {
2870
2991
  function cleanupOwnFiles(dir, meta) {
2871
2992
  for (const f of meta.files) {
2872
2993
  if (!isSafeBundlePath(f)) continue;
2873
- import_node_fs4.default.rmSync(import_node_path7.default.join(dir, f), { force: true });
2994
+ import_node_fs5.default.rmSync(import_node_path7.default.join(dir, f), { force: true });
2874
2995
  }
2875
- import_node_fs4.default.rmSync(import_node_path7.default.join(dir, METADATA_FILE), { force: true });
2996
+ import_node_fs5.default.rmSync(import_node_path7.default.join(dir, METADATA_FILE), { force: true });
2876
2997
  try {
2877
- if (import_node_fs4.default.readdirSync(dir).length === 0) import_node_fs4.default.rmdirSync(dir);
2998
+ if (import_node_fs5.default.readdirSync(dir).length === 0) import_node_fs5.default.rmdirSync(dir);
2878
2999
  } catch {
2879
3000
  }
2880
3001
  }
2881
3002
  function sweepStaleStaging(typesRoot, alias) {
2882
- if (!import_node_fs4.default.existsSync(typesRoot)) return;
2883
- for (const name of import_node_fs4.default.readdirSync(typesRoot)) {
3003
+ if (!import_node_fs5.default.existsSync(typesRoot)) return;
3004
+ for (const name of import_node_fs5.default.readdirSync(typesRoot)) {
2884
3005
  if (name.startsWith(`.fg-staging-${alias}-`) || name.startsWith(`.fg-trash-${alias}-`)) {
2885
- import_node_fs4.default.rmSync(import_node_path7.default.join(typesRoot, name), { recursive: true, force: true });
3006
+ import_node_fs5.default.rmSync(import_node_path7.default.join(typesRoot, name), { recursive: true, force: true });
2886
3007
  }
2887
3008
  }
2888
3009
  }
@@ -2904,7 +3025,7 @@ async function syncRemoteTypes(input) {
2904
3025
  }
2905
3026
  manifest = parsed.manifest;
2906
3027
  } catch (e) {
2907
- const meta = import_node_fs4.default.existsSync(dir) ? readMetadata(dir) : null;
3028
+ const meta = import_node_fs5.default.existsSync(dir) ? readMetadata(dir) : null;
2908
3029
  return {
2909
3030
  status: "failed",
2910
3031
  alias,
@@ -2914,7 +3035,7 @@ async function syncRemoteTypes(input) {
2914
3035
  }
2915
3036
  const types = readManifestTypes(manifest);
2916
3037
  if (!types) {
2917
- const meta = import_node_fs4.default.existsSync(dir) ? readMetadata(dir) : null;
3038
+ const meta = import_node_fs5.default.existsSync(dir) ? readMetadata(dir) : null;
2918
3039
  if (isDevManifest(manifest) && manifest.typesPending === true) {
2919
3040
  return {
2920
3041
  status: meta ? "stale" : "failed",
@@ -2934,7 +3055,7 @@ async function syncRemoteTypes(input) {
2934
3055
  };
2935
3056
  }
2936
3057
  const indexUrl = new URL(types.index, manifestUrl).toString();
2937
- const existing = import_node_fs4.default.existsSync(dir) ? readMetadata(dir) : null;
3058
+ const existing = import_node_fs5.default.existsSync(dir) ? readMetadata(dir) : null;
2938
3059
  if (existing && existing.revision === types.revision && existing.ambientFormat === AMBIENT_FORMAT) {
2939
3060
  return { status: "unchanged", alias, revision: types.revision, message: `\u8FDC\u7A0B ${alias} \u7C7B\u578B\u5DF2\u662F\u6700\u65B0\uFF08revision ${types.revision}\uFF09\u3002` };
2940
3061
  }
@@ -2993,14 +3114,14 @@ async function syncRemoteTypes(input) {
2993
3114
  const ambient = buildAmbientDeclarations({ alias, index, readFile: (rel) => indexRaw[rel] ?? "", source });
2994
3115
  sweepStaleStaging(typesRoot, alias);
2995
3116
  const staging = import_node_path7.default.join(typesRoot, `.fg-staging-${alias}-${process.pid}-${Date.now()}`);
2996
- import_node_fs4.default.rmSync(staging, { recursive: true, force: true });
2997
- import_node_fs4.default.mkdirSync(staging, { recursive: true });
3117
+ import_node_fs5.default.rmSync(staging, { recursive: true, force: true });
3118
+ import_node_fs5.default.mkdirSync(staging, { recursive: true });
2998
3119
  const written = [];
2999
3120
  try {
3000
3121
  for (const [name, content] of ambient.files) {
3001
3122
  const dest = import_node_path7.default.join(staging, name);
3002
- import_node_fs4.default.mkdirSync(import_node_path7.default.dirname(dest), { recursive: true });
3003
- import_node_fs4.default.writeFileSync(dest, content);
3123
+ import_node_fs5.default.mkdirSync(import_node_path7.default.dirname(dest), { recursive: true });
3124
+ import_node_fs5.default.writeFileSync(dest, content);
3004
3125
  written.push(name);
3005
3126
  }
3006
3127
  const meta = {
@@ -3013,22 +3134,22 @@ async function syncRemoteTypes(input) {
3013
3134
  externals: index.externals,
3014
3135
  syncedAt: Date.now()
3015
3136
  };
3016
- import_node_fs4.default.writeFileSync(import_node_path7.default.join(staging, METADATA_FILE), JSON.stringify(meta, null, 2));
3137
+ import_node_fs5.default.writeFileSync(import_node_path7.default.join(staging, METADATA_FILE), JSON.stringify(meta, null, 2));
3017
3138
  const trash = import_node_path7.default.join(typesRoot, `.fg-trash-${alias}-${Date.now()}`);
3018
3139
  let swapped = false;
3019
- if (import_node_fs4.default.existsSync(dir)) {
3020
- import_node_fs4.default.renameSync(dir, trash);
3140
+ if (import_node_fs5.default.existsSync(dir)) {
3141
+ import_node_fs5.default.renameSync(dir, trash);
3021
3142
  swapped = true;
3022
3143
  }
3023
3144
  try {
3024
- import_node_fs4.default.renameSync(staging, dir);
3145
+ import_node_fs5.default.renameSync(staging, dir);
3025
3146
  } catch (e) {
3026
- if (swapped) import_node_fs4.default.renameSync(trash, dir);
3147
+ if (swapped) import_node_fs5.default.renameSync(trash, dir);
3027
3148
  throw e;
3028
3149
  }
3029
- if (swapped) import_node_fs4.default.rmSync(trash, { recursive: true, force: true });
3150
+ if (swapped) import_node_fs5.default.rmSync(trash, { recursive: true, force: true });
3030
3151
  } catch (e) {
3031
- import_node_fs4.default.rmSync(staging, { recursive: true, force: true });
3152
+ import_node_fs5.default.rmSync(staging, { recursive: true, force: true });
3032
3153
  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` };
3033
3154
  }
3034
3155
  return {
@@ -3041,7 +3162,7 @@ async function syncRemoteTypes(input) {
3041
3162
  }
3042
3163
  function removeGeneratedTypes(typesRoot, alias) {
3043
3164
  const dir = import_node_path7.default.join(typesRoot, alias);
3044
- if (!import_node_fs4.default.existsSync(dir)) return false;
3165
+ if (!import_node_fs5.default.existsSync(dir)) return false;
3045
3166
  const meta = readMetadata(dir);
3046
3167
  if (!meta) return false;
3047
3168
  cleanupOwnFiles(dir, meta);
@@ -3102,8 +3223,8 @@ function startRemoteTypesSyncLoop(opts) {
3102
3223
  let discoveryWarned = false;
3103
3224
  const checkDiscoveryOnce = () => {
3104
3225
  if (discoveryWarned) return;
3105
- if (!import_node_fs4.default.existsSync(opts.typesRoot)) return;
3106
- if (import_node_fs4.default.readdirSync(opts.typesRoot).length === 0) return;
3226
+ if (!import_node_fs5.default.existsSync(opts.typesRoot)) return;
3227
+ if (import_node_fs5.default.readdirSync(opts.typesRoot).length === 0) return;
3107
3228
  discoveryWarned = true;
3108
3229
  const d = checkTypesDiscovery(opts.root, opts.typesRoot);
3109
3230
  if (!d.covered) warn(`[fulgurjs] ${d.fixHint ?? ""}`);
@@ -3272,22 +3393,22 @@ function genRemoteSchemaModule(schema) {
3272
3393
  }
3273
3394
 
3274
3395
  // src/vite-cache.ts
3275
- var import_node_fs5 = __toESM(require("fs"), 1);
3396
+ var import_node_fs6 = __toESM(require("fs"), 1);
3276
3397
  var import_node_path9 = __toESM(require("path"), 1);
3277
3398
  function syncViteCacheMarker(root, pluginVersion, log) {
3278
3399
  const viteDir = import_node_path9.default.join(root, "node_modules", ".vite");
3279
3400
  const marker = import_node_path9.default.join(viteDir, "fulgurjs-version.txt");
3280
3401
  try {
3281
- if (import_node_fs5.default.existsSync(viteDir)) {
3282
- const prev = import_node_fs5.default.existsSync(marker) ? import_node_fs5.default.readFileSync(marker, "utf8").trim() : "";
3402
+ if (import_node_fs6.default.existsSync(viteDir)) {
3403
+ const prev = import_node_fs6.default.existsSync(marker) ? import_node_fs6.default.readFileSync(marker, "utf8").trim() : "";
3283
3404
  if (prev === pluginVersion) return;
3284
- import_node_fs5.default.rmSync(viteDir, { recursive: true, force: true });
3405
+ import_node_fs6.default.rmSync(viteDir, { recursive: true, force: true });
3285
3406
  log(
3286
3407
  `[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`
3287
3408
  );
3288
3409
  }
3289
- import_node_fs5.default.mkdirSync(viteDir, { recursive: true });
3290
- import_node_fs5.default.writeFileSync(marker, pluginVersion);
3410
+ import_node_fs6.default.mkdirSync(viteDir, { recursive: true });
3411
+ import_node_fs6.default.writeFileSync(marker, pluginVersion);
3291
3412
  } catch (e) {
3292
3413
  log(
3293
3414
  `[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)}`
@@ -3643,7 +3764,7 @@ function repairRolldownAsyncMarks(code, sourceName) {
3643
3764
  }
3644
3765
 
3645
3766
  // src/runtime-code.gen.ts
3646
- var runtime_code_gen_default = 'var ve=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function N(l){let d=ve.exec(String(l).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(l,d){if(l.length===0&&d.length===0)return 0;if(l.length===0)return 1;if(d.length===0)return-1;let f=Math.max(l.length,d.length);for(let c=0;c<f;c++){let m=l[c],y=d[c];if(m===void 0)return-1;if(y===void 0)return 1;let b=/^\\d+$/.test(m),v=/^\\d+$/.test(y);if(b&&v){let M=Number(m)-Number(y);if(M!==0)return M}else{if(b!==v)return b?-1:1;if(m!==y)return m<y?-1:1}}return 0}function I(l,d){let f=N(l),c=N(d);return!f||!c?l<d?-1:l>d?1:0:f.major!==c.major?f.major-c.major:f.minor!==c.minor?f.minor-c.minor:f.patch!==c.patch?f.patch-c.patch:$e(f.pre,c.pre)}var Pe=/^[a-z]+[+:-]/i;function x(l,d){if(d===!1||d==null||d==="")return!0;let f=String(d).trim();return!f||f==="*"||f==="latest"||Pe.test(f)?!0:f.split("||").some(c=>_e(l,c.trim()))}function _e(l,d){if(!d||d==="*")return!N(l)?.pre.length;let f=d.split(/\\s+-\\s+/);if(f.length===2){let y=f[0].trim(),b=f[1].trim();return!(!x(l,`>=${y}`)||!x(l,`<=${b}`))}let c=N(l);if(!c)return!1;let m=ke(d);if(m===null)return!0;for(let y of m)if(!Te(c,l,y))return!1;return!(c.pre.length>0&&!m.some(y=>y.ver.pre.length>0)&&!m.some(b=>b.ver.major===c.major&&b.ver.minor===c.minor&&b.ver.patch===c.patch))}function ke(l){let d=[],f=l.trim().split(/\\s+/).filter(Boolean);if(f.length===0)return null;for(let c of f){let m=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(c);if(!m)return null;let y=m[1],b=m[2],v=Le(y,b);if(v===null)return null;d.push(...v)}return d}function Le(l,d){let f=Ae(d);if(!f)return null;let{ver:c,partial:m}=f;switch(l){case"^":{let y=Oe(c);return y?[{op:">=",ver:c},{op:"<",ver:y}]:null}case"~":{let y=m>=2?{major:c.major,minor:c.minor+1,patch:0,pre:[]}:{major:c.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:c},{op:"<",ver:y}]}case">=":return[{op:">=",ver:c}];case">":return m===1?[{op:">=",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:">",ver:c}];case"<":return m===1?[{op:"<",ver:{major:c.major,minor:0,patch:0,pre:[]}}]:m===2?[{op:"<",ver:{major:c.major,minor:c.minor,patch:0,pre:[]}}]:[{op:"<",ver:c}];case"<=":return[{op:"<=",ver:c}];case"=":case void 0:return m===1?[{op:">=",ver:c},{op:"<",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:c},{op:"<",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:c}];default:return null}}function Oe(l){return l.major>0?{major:l.major+1,minor:0,patch:0,pre:[]}:l.minor>0?{major:0,minor:l.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:l.patch+1,pre:[]}}function Ae(l){let d=l.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("."),c=[],m=0;for(let v of f.slice(0,3))if(/^\\d+$/.test(v))c.push(Number(v)),m++;else{if(v==="x"||v==="X"||v==="*")break;break}let y=d.split("-"),b=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return m===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:c[0]??0,minor:c[1]??0,patch:c[2]??0,pre:b},partial:m}}function Me(l,d){switch(d){case">=":return l>=0;case">":return l>0;case"<":return l<0;case"<=":return l<=0;case"=":return l===0}}function Te(l,d,f){let c=`${l.major}.${l.minor}.${l.patch}`+(l.pre.length?`-${l.pre.join(".")}`:"");if(f.upper)return!(!(I(c,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:""))>=0)||!(I(c,`${f.upper.major}.${f.upper.minor}.${f.upper.patch}`)<0));let m=I(c,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:"")),y=Me(m,f.op);return f.ver.pre.length>0&&l.pre.length===0&&(f.op===">"||f.op==="<")?!1:y}var w=class extends Error{code;details;constructor(d,f,c,m){super(`[fulgurjs:${d}] ${f}`,m),this.name="FgError",this.code=d,this.details=c}},E={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"};var te="6.11.1";var Ie="__fulgurjsSetup",xe="__FULGURJS_APP_CONFIG__",G=15e3,oe=2,je=5,Ne=3e4,Ce=4e3,Ue=.2;function Ve(){let l=Object.create(null),d=new Map,f=[],c=new Set,m=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,v=new Map,M=new WeakMap,C=new WeakMap,_={},ie=()=>{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)}},U=new Map,V,F=e=>{let r=U.get(e);return r||U.set(e,r={}),r},X=()=>globalThis[xe]??{};async function B(e,r,n,o){let t=u=>u instanceof w?u:new w(E.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});V=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{V=void 0}try{await s}catch(u){throw t(u)}}async function ae(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;if(typeof s!="function")throw new w(E.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\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728 setup \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u4E2D\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u51FD\\u6570\\uFF0C\\u4F8B\\u5982 export default async function setup(context) { ... }\\uFF1B\\u5177\\u540D onSession \\u53EF\\u9009\\u3002`,{remote:e.name,module:n});if(t.onSession!==void 0&&typeof t.onSession!="function")throw new w(E.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 w(E.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 w(E.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}await B(e.name,s,{appContext:X(),signal:(o.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(t){throw e.debug.setup="failed",o.setupExports=void 0,o.globalComponents=void 0,o.pageProviders=void 0,t}}async function ce(e,r,n){let o=X(),t=o?.sessionKey;if(typeof t!="string"||t==="")throw new w(E.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});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 B(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 le(e,r){let n=r?.[Ie];if(typeof n!="string"||n==="")return;let o=F(e.name);o.setupPromise||(o.setupPromise=ae(e,r,n,o).catch(s=>{throw o.setupPromise=void 0,s})),await o.setupPromise;let t=o.setupExports?.onSession;typeof t=="function"&&await ce(e,o,t)}function ue(){for(let e of U.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let A=e=>l[e]??=Object.create(null);function $(e){try{_.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function de(e="default"){return A(e),l}function D(e,r,n,o,t={}){let s=A(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 fe(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 J(e){for(let r of e){fe(r);let n=d.get(r.name);d.set(r.name,{timeout:G,retries:oe,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??je,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 pe(e){J([e])}function me(e){f.push(...e),m.clear(),ie()}function T(e,r,n=!1){let o=r.shareScope||"default",t=r.shareKey||e,u=A(o)[t]||{},a=Object.keys(u).filter(i=>!n||r.singleton||u[i].value!==void 0);if(n&&a.length===0)return;let S=r.requiredVersion,g=a.filter(i=>S===void 0||S===!1||x(i,S)),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],L=`\\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 ${S??"\\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 O=new w(E.SHARE_STRICT_VERSION,L,{shareKey:t,requiredVersion:S});throw $({remote:h.from,error:O}),O}let P=`${o}|${t}|${S??"*"}|${p}|${a.join(",")}`;c.has(P)||(c.add(P),console.warn(`[fulgurjs:MFU-010] ${L}`))}}else if(p=[...g].sort(I).pop(),!p){if(r.strictVersion){let i=new w(E.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 ${S}\\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 $({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=A(t),a=Object.hasOwn(u,s)?u[s]:void 0;if(a&&Object.keys(a).length>0){try{let g=T(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 S=u[s]?.[o];S&&(S.value=n)}async function z(e,r={}){let n=r.shareScope||"default",o=r.shareKey||e,t=A(n)[o]||{},s=y(e,r),u=_.resolveShare?m.get(s):void 0,a=u||T(e,r);if(!a){if(r.fallback){let i=await r.fallback();return W(e,r,i),i}let p=new w(E.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 $({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(y(e,r),a),a.value;if(a.loaded=!0,!a.pendingGet)try{a.pendingGet=a.get()}catch(p){a.pendingGet=Promise.reject(p)}let S=a.pendingGet,g;try{g=await S}catch(p){if(a.value!==void 0)return m.set(y(e,r),a),a.value;throw a.loaded=!1,m.get(s)===a&&m.delete(s),p}finally{a.pendingGet===S&&(a.pendingGet=void 0)}return a.value===void 0&&(a.value=g),m.set(y(e,r),a),a.value}function ge(e,r={}){return _.resolveShare?m.get(y(e,r))?.value:T(e,r,!0)?.value}function he(e,r,n,o){W(e,{...r,localVersion:n},o)}function ye(e,r){let n=r.shareScope||"default",o=r.shareKey||e;if(_.resolveShare){let s=y(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:T(e,r),available:Object.values(A(n)[o]||{})});if(a&&typeof a.then=="function")throw Promise.resolve(a).catch(()=>{}),new w(E.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 S=a;if(S){if(S.value!==void 0)return m.set(y(e,r),S),{kind:"ready",value:S.value};if(S.version!==void 0&&S.version===r.localVersion)return{kind:"local"};throw new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u4E3A "${o}" \\u9009\\u62E9\\u4E86\\u672A\\u5C31\\u7EEA\\u7684 ${S.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=T(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||!x(r.localVersion,r.requiredVersion))){if(r.strictVersion||t.pendingGet)throw new w(E.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 c.has(s)||(c.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 Se(e){if(_.resolveShare){for(let{name:r,opts:n}of e){let o=y(r,n);if(m.has(o))continue;let t=T(r,n),s=await _.resolveShare({shareKey:n.shareKey||r,shareScope:n.shareScope||"default",requiredVersion:n.requiredVersion,picked:t,available:Object.values(A(n.shareScope||"default")[n.shareKey||r]||{})})||t;s&&m.set(o,s)}for(let{name:r,opts:n}of e)await z(r,n)}}function Y(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 we=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:E.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 ${Y(e)}`)}async function re(e,r){let n=e.shareScope||"default";if(e.container){let s=C.get(e.container);if(s&&s!==n)throw new w(E.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 w(E.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});throw $({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,S=!1,g=r?.retries??e.retries??oe;for(let i of s){for(let h=0;h<=g;h++){let L=performance.now();try{u=await i(),e.lastLoadMs=Math.round(performance.now()-L),e.debug.lastLoadMs=e.lastLoadMs,S=!0;break}catch(P){if(a=P,P?.code)throw P;h<g&&await we(Math.min(Ce,200*2**h)*(1-Ue*(1-2*Math.random())))}}if(S)break}if(!S||!u){let i=Y(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 w(E.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})}K(u,e);let p=C.get(u);if(p&&p!==n)throw new w(E.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(l),C.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 w)throw $({remote:e.name,error:s}),s;if(s?.code)throw $({remote:e.name,error:s}),s;let u=new w(E.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});throw $({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 Ee(e,r){let{remote:n,module:o}=q(e);if(o&&V===n)throw new w(E.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 w(E.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),$({remote:n,error:i}),await r.fallbackModule();throw i}if(!o)return s;await le(t,s);let u=F(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 S=F(n).pageProviders;S&&S.length>0&&typeof a?.pageProviders=="function"&&a.pageProviders(S);let g=`${n}@${t.shareScope||"default"}#${o}`;b.has(g)||b.set(g,s.get(o).catch(i=>{throw b.delete(g),i instanceof w||i?.code?i:new w(E.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})}));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),$({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 w(E.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});$({remote:n,error:i}),console.error(i.message)}return p}function Re(e){let r=d.get(e);if(!r)throw new w(E.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 w(E.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=M.get(g);if(i)return i;let h=new Promise(L=>{let P=()=>{g.removeEventListener("load",P),g.removeEventListener("error",O),L()},O=()=>{$({remote:n,error:new w(E.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})}),P()};g.addEventListener("load",P,{once:!0}),g.addEventListener("error",O,{once:!0}),g.sheet&&P()});return M.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"?M.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 L=p==="style"?u(h,g):Promise.resolve();return document.head.appendChild(h),p==="style"&&s==="preload"?L:Promise.resolve()},S=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=v.get(t.manifestUrl);g||(g=fetch(t.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(i=>i.ok?i.json():void 0),v.set(t.manifestUrl,g),g.then(i=>{i||v.delete(t.manifestUrl)},()=>v.delete(t.manifestUrl)));let p=await g;if(p){let i=p.schemaVersion;if(typeof i=="number"&&(!Number.isInteger(i)||i>1)){$({remote:n,error:new w(E.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,L=Array.isArray(h)?h.filter(k=>k&&typeof k=="object").map(k=>[String(k.name??""),k]):h&&typeof h=="object"?Object.entries(h):[],P=o?L.filter(([k,j])=>ne(String(j?.name??k))===o):L,O=[];for(let[,k]of P)if(typeof k?.file=="string"&&await a(S(k.file),"modulepreload"),Array.isArray(k?.css))for(let j of k.css){if(typeof j!="string")continue;let be=a(S(j),"style");s==="preload"&&O.push(be)}await Promise.all(O);return}}await a(t.entry,"modulepreload")}catch(g){$({remote:n,error:new w(E.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__=l,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of d)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:l,initSharing:de,registerShare:D,registerRemotes:J,registerRemote:pe,registerPlugins:me,loadShare:z,loadShareSync:ye,prepareShares:Se,getLoadedShare:ge,pinLoadedShare:he,loadRemote:Ee,getContainer:Re,preloadRemote:H,parseSpec:q,clearSessionState:ue}}var se=globalThis,R=se.__FULGURJS_RUNTIME__??Ve();se.__FULGURJS_RUNTIME__=R;try{Object.freeze(R)}catch{}var Be=te;function Je(){return R}var We=R.initSharing,ze=R.registerShare,Ye=R.registerRemotes,Ze=R.registerRemote,Qe=R.registerPlugins,er=R.loadShare,rr=R.getLoadedShare,nr=R.prepareShares||(async l=>{for(let{name:d,opts:f}of l)await R.loadShare(d,f)}),tr=R.loadShareSync,or=R.pinLoadedShare,sr=R.loadRemote,ir=R.getContainer,ar=R.preloadRemote,cr=R.parseSpec,lr=R.clearSessionState,ur=R.shareScopeMap;function dr(l){if(l&&typeof l=="object"&&"default"in l){let d=l.default;return d!==void 0?d:l}return l}var fr=R;export{lr as clearSessionState,fr as default,ir as getContainer,rr as getLoadedShare,Je as getRuntime,We as initSharing,sr as loadRemote,er as loadShare,tr as loadShareSync,cr as parseSpec,or as pinLoadedShare,ar as preloadRemote,nr as prepareShares,Qe as registerPlugins,Ze as registerRemote,Ye as registerRemotes,ze as registerShare,R as runtime,ur as shareScopeMap,dr as unwrapDefault,Be as version};\n';
3767
+ var runtime_code_gen_default = 'var ve=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function N(l){let d=ve.exec(String(l).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(l,d){if(l.length===0&&d.length===0)return 0;if(l.length===0)return 1;if(d.length===0)return-1;let f=Math.max(l.length,d.length);for(let c=0;c<f;c++){let m=l[c],y=d[c];if(m===void 0)return-1;if(y===void 0)return 1;let b=/^\\d+$/.test(m),v=/^\\d+$/.test(y);if(b&&v){let M=Number(m)-Number(y);if(M!==0)return M}else{if(b!==v)return b?-1:1;if(m!==y)return m<y?-1:1}}return 0}function I(l,d){let f=N(l),c=N(d);return!f||!c?l<d?-1:l>d?1:0:f.major!==c.major?f.major-c.major:f.minor!==c.minor?f.minor-c.minor:f.patch!==c.patch?f.patch-c.patch:$e(f.pre,c.pre)}var Pe=/^[a-z]+[+:-]/i;function x(l,d){if(d===!1||d==null||d==="")return!0;let f=String(d).trim();return!f||f==="*"||f==="latest"||Pe.test(f)?!0:f.split("||").some(c=>_e(l,c.trim()))}function _e(l,d){if(!d||d==="*")return!N(l)?.pre.length;let f=d.split(/\\s+-\\s+/);if(f.length===2){let y=f[0].trim(),b=f[1].trim();return!(!x(l,`>=${y}`)||!x(l,`<=${b}`))}let c=N(l);if(!c)return!1;let m=ke(d);if(m===null)return!0;for(let y of m)if(!Te(c,l,y))return!1;return!(c.pre.length>0&&!m.some(y=>y.ver.pre.length>0)&&!m.some(b=>b.ver.major===c.major&&b.ver.minor===c.minor&&b.ver.patch===c.patch))}function ke(l){let d=[],f=l.trim().split(/\\s+/).filter(Boolean);if(f.length===0)return null;for(let c of f){let m=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(c);if(!m)return null;let y=m[1],b=m[2],v=Le(y,b);if(v===null)return null;d.push(...v)}return d}function Le(l,d){let f=Ae(d);if(!f)return null;let{ver:c,partial:m}=f;switch(l){case"^":{let y=Oe(c);return y?[{op:">=",ver:c},{op:"<",ver:y}]:null}case"~":{let y=m>=2?{major:c.major,minor:c.minor+1,patch:0,pre:[]}:{major:c.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:c},{op:"<",ver:y}]}case">=":return[{op:">=",ver:c}];case">":return m===1?[{op:">=",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:">",ver:c}];case"<":return m===1?[{op:"<",ver:{major:c.major,minor:0,patch:0,pre:[]}}]:m===2?[{op:"<",ver:{major:c.major,minor:c.minor,patch:0,pre:[]}}]:[{op:"<",ver:c}];case"<=":return[{op:"<=",ver:c}];case"=":case void 0:return m===1?[{op:">=",ver:c},{op:"<",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:c},{op:"<",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:c}];default:return null}}function Oe(l){return l.major>0?{major:l.major+1,minor:0,patch:0,pre:[]}:l.minor>0?{major:0,minor:l.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:l.patch+1,pre:[]}}function Ae(l){let d=l.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("."),c=[],m=0;for(let v of f.slice(0,3))if(/^\\d+$/.test(v))c.push(Number(v)),m++;else{if(v==="x"||v==="X"||v==="*")break;break}let y=d.split("-"),b=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return m===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:c[0]??0,minor:c[1]??0,patch:c[2]??0,pre:b},partial:m}}function Me(l,d){switch(d){case">=":return l>=0;case">":return l>0;case"<":return l<0;case"<=":return l<=0;case"=":return l===0}}function Te(l,d,f){let c=`${l.major}.${l.minor}.${l.patch}`+(l.pre.length?`-${l.pre.join(".")}`:"");if(f.upper)return!(!(I(c,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:""))>=0)||!(I(c,`${f.upper.major}.${f.upper.minor}.${f.upper.patch}`)<0));let m=I(c,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:"")),y=Me(m,f.op);return f.ver.pre.length>0&&l.pre.length===0&&(f.op===">"||f.op==="<")?!1:y}var w=class extends Error{code;details;constructor(d,f,c,m){super(`[fulgurjs:${d}] ${f}`,m),this.name="FgError",this.code=d,this.details=c}},E={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"};var te="6.11.3";var Ie="__fulgurjsSetup",xe="__FULGURJS_APP_CONFIG__",G=15e3,oe=2,je=5,Ne=3e4,Ce=4e3,Ue=.2;function Ve(){let l=Object.create(null),d=new Map,f=[],c=new Set,m=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,v=new Map,M=new WeakMap,C=new WeakMap,_={},ie=()=>{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)}},U=new Map,V,F=e=>{let r=U.get(e);return r||U.set(e,r={}),r},X=()=>globalThis[xe]??{};async function B(e,r,n,o){let t=u=>u instanceof w?u:new w(E.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});V=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{V=void 0}try{await s}catch(u){throw t(u)}}async function ae(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;if(typeof s!="function")throw new w(E.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\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728 setup \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u4E2D\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u51FD\\u6570\\uFF0C\\u4F8B\\u5982 export default async function setup(context) { ... }\\uFF1B\\u5177\\u540D onSession \\u53EF\\u9009\\u3002`,{remote:e.name,module:n});if(t.onSession!==void 0&&typeof t.onSession!="function")throw new w(E.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 w(E.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 w(E.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}await B(e.name,s,{appContext:X(),signal:(o.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(t){throw e.debug.setup="failed",o.setupExports=void 0,o.globalComponents=void 0,o.pageProviders=void 0,t}}async function ce(e,r,n){let o=X(),t=o?.sessionKey;if(typeof t!="string"||t==="")throw new w(E.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});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 B(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 le(e,r){let n=r?.[Ie];if(typeof n!="string"||n==="")return;let o=F(e.name);o.setupPromise||(o.setupPromise=ae(e,r,n,o).catch(s=>{throw o.setupPromise=void 0,s})),await o.setupPromise;let t=o.setupExports?.onSession;typeof t=="function"&&await ce(e,o,t)}function ue(){for(let e of U.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let A=e=>l[e]??=Object.create(null);function $(e){try{_.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function de(e="default"){return A(e),l}function D(e,r,n,o,t={}){let s=A(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 fe(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 J(e){for(let r of e){fe(r);let n=d.get(r.name);d.set(r.name,{timeout:G,retries:oe,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??je,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 pe(e){J([e])}function me(e){f.push(...e),m.clear(),ie()}function T(e,r,n=!1){let o=r.shareScope||"default",t=r.shareKey||e,u=A(o)[t]||{},a=Object.keys(u).filter(i=>!n||r.singleton||u[i].value!==void 0);if(n&&a.length===0)return;let S=r.requiredVersion,g=a.filter(i=>S===void 0||S===!1||x(i,S)),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],L=`\\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 ${S??"\\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 O=new w(E.SHARE_STRICT_VERSION,L,{shareKey:t,requiredVersion:S});throw $({remote:h.from,error:O}),O}let P=`${o}|${t}|${S??"*"}|${p}|${a.join(",")}`;c.has(P)||(c.add(P),console.warn(`[fulgurjs:MFU-010] ${L}`))}}else if(p=[...g].sort(I).pop(),!p){if(r.strictVersion){let i=new w(E.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 ${S}\\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 $({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=A(t),a=Object.hasOwn(u,s)?u[s]:void 0;if(a&&Object.keys(a).length>0){try{let g=T(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 S=u[s]?.[o];S&&(S.value=n)}async function z(e,r={}){let n=r.shareScope||"default",o=r.shareKey||e,t=A(n)[o]||{},s=y(e,r),u=_.resolveShare?m.get(s):void 0,a=u||T(e,r);if(!a){if(r.fallback){let i=await r.fallback();return W(e,r,i),i}let p=new w(E.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 $({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(y(e,r),a),a.value;if(a.loaded=!0,!a.pendingGet)try{a.pendingGet=a.get()}catch(p){a.pendingGet=Promise.reject(p)}let S=a.pendingGet,g;try{g=await S}catch(p){if(a.value!==void 0)return m.set(y(e,r),a),a.value;throw a.loaded=!1,m.get(s)===a&&m.delete(s),p}finally{a.pendingGet===S&&(a.pendingGet=void 0)}return a.value===void 0&&(a.value=g),m.set(y(e,r),a),a.value}function ge(e,r={}){return _.resolveShare?m.get(y(e,r))?.value:T(e,r,!0)?.value}function he(e,r,n,o){W(e,{...r,localVersion:n},o)}function ye(e,r){let n=r.shareScope||"default",o=r.shareKey||e;if(_.resolveShare){let s=y(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:T(e,r),available:Object.values(A(n)[o]||{})});if(a&&typeof a.then=="function")throw Promise.resolve(a).catch(()=>{}),new w(E.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 S=a;if(S){if(S.value!==void 0)return m.set(y(e,r),S),{kind:"ready",value:S.value};if(S.version!==void 0&&S.version===r.localVersion)return{kind:"local"};throw new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u4E3A "${o}" \\u9009\\u62E9\\u4E86\\u672A\\u5C31\\u7EEA\\u7684 ${S.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=T(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||!x(r.localVersion,r.requiredVersion))){if(r.strictVersion||t.pendingGet)throw new w(E.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 c.has(s)||(c.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 Se(e){if(_.resolveShare){for(let{name:r,opts:n}of e){let o=y(r,n);if(m.has(o))continue;let t=T(r,n),s=await _.resolveShare({shareKey:n.shareKey||r,shareScope:n.shareScope||"default",requiredVersion:n.requiredVersion,picked:t,available:Object.values(A(n.shareScope||"default")[n.shareKey||r]||{})})||t;s&&m.set(o,s)}for(let{name:r,opts:n}of e)await z(r,n)}}function Y(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 we=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:E.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 ${Y(e)}`)}async function re(e,r){let n=e.shareScope||"default";if(e.container){let s=C.get(e.container);if(s&&s!==n)throw new w(E.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 w(E.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});throw $({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,S=!1,g=r?.retries??e.retries??oe;for(let i of s){for(let h=0;h<=g;h++){let L=performance.now();try{u=await i(),e.lastLoadMs=Math.round(performance.now()-L),e.debug.lastLoadMs=e.lastLoadMs,S=!0;break}catch(P){if(a=P,P?.code)throw P;h<g&&await we(Math.min(Ce,200*2**h)*(1-Ue*(1-2*Math.random())))}}if(S)break}if(!S||!u){let i=Y(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 w(E.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})}K(u,e);let p=C.get(u);if(p&&p!==n)throw new w(E.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(l),C.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 w)throw $({remote:e.name,error:s}),s;if(s?.code)throw $({remote:e.name,error:s}),s;let u=new w(E.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});throw $({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 Ee(e,r){let{remote:n,module:o}=q(e);if(o&&V===n)throw new w(E.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 w(E.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),$({remote:n,error:i}),await r.fallbackModule();throw i}if(!o)return s;await le(t,s);let u=F(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 S=F(n).pageProviders;S&&S.length>0&&typeof a?.pageProviders=="function"&&a.pageProviders(S);let g=`${n}@${t.shareScope||"default"}#${o}`;b.has(g)||b.set(g,s.get(o).catch(i=>{throw b.delete(g),i instanceof w||i?.code?i:new w(E.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})}));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),$({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 w(E.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});$({remote:n,error:i}),console.error(i.message)}return p}function Re(e){let r=d.get(e);if(!r)throw new w(E.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 w(E.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=M.get(g);if(i)return i;let h=new Promise(L=>{let P=()=>{g.removeEventListener("load",P),g.removeEventListener("error",O),L()},O=()=>{$({remote:n,error:new w(E.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})}),P()};g.addEventListener("load",P,{once:!0}),g.addEventListener("error",O,{once:!0}),g.sheet&&P()});return M.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"?M.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 L=p==="style"?u(h,g):Promise.resolve();return document.head.appendChild(h),p==="style"&&s==="preload"?L:Promise.resolve()},S=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=v.get(t.manifestUrl);g||(g=fetch(t.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(i=>i.ok?i.json():void 0),v.set(t.manifestUrl,g),g.then(i=>{i||v.delete(t.manifestUrl)},()=>v.delete(t.manifestUrl)));let p=await g;if(p){let i=p.schemaVersion;if(typeof i=="number"&&(!Number.isInteger(i)||i>1)){$({remote:n,error:new w(E.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,L=Array.isArray(h)?h.filter(k=>k&&typeof k=="object").map(k=>[String(k.name??""),k]):h&&typeof h=="object"?Object.entries(h):[],P=o?L.filter(([k,j])=>ne(String(j?.name??k))===o):L,O=[];for(let[,k]of P)if(typeof k?.file=="string"&&await a(S(k.file),"modulepreload"),Array.isArray(k?.css))for(let j of k.css){if(typeof j!="string")continue;let be=a(S(j),"style");s==="preload"&&O.push(be)}await Promise.all(O);return}}await a(t.entry,"modulepreload")}catch(g){$({remote:n,error:new w(E.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__=l,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of d)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:l,initSharing:de,registerShare:D,registerRemotes:J,registerRemote:pe,registerPlugins:me,loadShare:z,loadShareSync:ye,prepareShares:Se,getLoadedShare:ge,pinLoadedShare:he,loadRemote:Ee,getContainer:Re,preloadRemote:H,parseSpec:q,clearSessionState:ue}}var se=globalThis,R=se.__FULGURJS_RUNTIME__??Ve();se.__FULGURJS_RUNTIME__=R;try{Object.freeze(R)}catch{}var Be=te;function Je(){return R}var We=R.initSharing,ze=R.registerShare,Ye=R.registerRemotes,Ze=R.registerRemote,Qe=R.registerPlugins,er=R.loadShare,rr=R.getLoadedShare,nr=R.prepareShares||(async l=>{for(let{name:d,opts:f}of l)await R.loadShare(d,f)}),tr=R.loadShareSync,or=R.pinLoadedShare,sr=R.loadRemote,ir=R.getContainer,ar=R.preloadRemote,cr=R.parseSpec,lr=R.clearSessionState,ur=R.shareScopeMap;function dr(l){if(l&&typeof l=="object"&&"default"in l){let d=l.default;return d!==void 0?d:l}return l}var fr=R;export{lr as clearSessionState,fr as default,ir as getContainer,rr as getLoadedShare,Je as getRuntime,We as initSharing,sr as loadRemote,er as loadShare,tr as loadShareSync,cr as parseSpec,or as pinLoadedShare,ar as preloadRemote,nr as prepareShares,Qe as registerPlugins,Ze as registerRemote,Ye as registerRemotes,ze as registerShare,R as runtime,ur as shareScopeMap,dr as unwrapDefault,Be as version};\n';
3647
3768
 
3648
3769
  // src/index.ts
3649
3770
  function readRuntimeCode() {
@@ -3934,7 +4055,7 @@ export { default } from ${JSON.stringify(url)};
3934
4055
  const wrapped = (id, meta) => {
3935
4056
  const facade = facadeChunkOf(id);
3936
4057
  if (facade) return facade;
3937
- if (isOwnPackageModule(id)) return void 0;
4058
+ if (isOwnPackageModule(id)) return "fulgurjs-internal";
3938
4059
  return providerChunkOfWithClosure(id, state.providerRoots, meta, state.providerEntrySeeds) ?? userFn(id, meta);
3939
4060
  };
3940
4061
  const extraBuild = extra.build ??= {};
@@ -3946,7 +4067,7 @@ export { default } from ${JSON.stringify(url)};
3946
4067
  const wrapped = (id, meta) => {
3947
4068
  const facade = facadeChunkOf(id);
3948
4069
  if (facade) return facade;
3949
- if (isOwnPackageModule(id)) return void 0;
4070
+ if (isOwnPackageModule(id)) return "fulgurjs-internal";
3950
4071
  return providerChunkOfWithClosure(id, state.providerRoots, meta, state.providerEntrySeeds) ?? state.manualChunkGroups.get(id.split("?")[0]) ?? state.manualChunkGroups.get(id);
3951
4072
  };
3952
4073
  const extraBuild = extra.build ??= {};
@@ -3960,7 +4081,7 @@ export { default } from ${JSON.stringify(url)};
3960
4081
  const wrap = (userFn) => (id, meta) => {
3961
4082
  const facade = facadeChunkOf(id);
3962
4083
  if (facade) return facade;
3963
- if (isOwnPackageModule(id)) return void 0;
4084
+ if (isOwnPackageModule(id)) return "fulgurjs-internal";
3964
4085
  return providerChunkOfWithClosure(id, state.providerRoots, meta, state.providerEntrySeeds) ?? userFn?.(id, meta);
3965
4086
  };
3966
4087
  const extraBuild = extra.build ??= {};
@@ -3996,7 +4117,7 @@ export { default } from ${JSON.stringify(url)};
3996
4117
  manualChunks: (id, meta) => {
3997
4118
  const facade = facadeChunkOf(id);
3998
4119
  if (facade) return facade;
3999
- if (isOwnPackageModule(id)) return void 0;
4120
+ if (isOwnPackageModule(id)) return "fulgurjs-internal";
4000
4121
  return providerChunkOfWithClosure(id, state.providerRoots, meta, state.providerEntrySeeds) ?? groupOf(id);
4001
4122
  }
4002
4123
  }
@@ -4026,7 +4147,7 @@ export { default } from ${JSON.stringify(url)};
4026
4147
  const userManualChunks3 = userOutput3?.manualChunks;
4027
4148
  const userFn3 = typeof userManualChunks3 === "function" ? userManualChunks3 : void 0;
4028
4149
  const combined = (id, meta) => {
4029
- if (isOwnPackageModule(id)) return facadeChunkOf(id) ?? reactDomChunkOf(id) ?? void 0;
4150
+ if (isOwnPackageModule(id)) return facadeChunkOf(id) ?? reactDomChunkOf(id) ?? "fulgurjs-internal";
4030
4151
  const prev = previousMc?.(id, meta);
4031
4152
  if (prev !== void 0) return prev;
4032
4153
  const provider = providerChunkOfWithClosure(id, state.providerRoots, meta, state.providerEntrySeeds);
@@ -4641,7 +4762,7 @@ ${entryChunk.code}`;
4641
4762
  if (n.exposes.length > 0 && n.dts) {
4642
4763
  typesServer = createDevTypesServer(n);
4643
4764
  let regenTimer = null;
4644
- 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_fs6.default.existsSync(import_node_path10.default.join(n.root, "src")) ? "src/fulgurjs/types" : ".fulgurjs/types");
4765
+ 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_fs7.default.existsSync(import_node_path10.default.join(n.root, "src")) ? "src/fulgurjs/types" : ".fulgurjs/types");
4645
4766
  const scheduleRegen = (id) => {
4646
4767
  if (!isTypesInputChange(n.root, id, syncedTypesDir)) return;
4647
4768
  if (regenTimer) clearTimeout(regenTimer);
@@ -4710,12 +4831,12 @@ ${entryChunk.code}`;
4710
4831
  const dtsOpt = n.dts === true ? true : n.dts;
4711
4832
  const typesRoot = import_node_path10.default.join(
4712
4833
  n.root,
4713
- dtsOpt === false ? "" : (typeof dtsOpt === "object" ? dtsOpt.dir : void 0) ?? (import_node_fs6.default.existsSync(import_node_path10.default.join(n.root, "src")) ? "src/fulgurjs/types" : ".fulgurjs/types")
4834
+ dtsOpt === false ? "" : (typeof dtsOpt === "object" ? dtsOpt.dir : void 0) ?? (import_node_fs7.default.existsSync(import_node_path10.default.join(n.root, "src")) ? "src/fulgurjs/types" : ".fulgurjs/types")
4714
4835
  );
4715
4836
  try {
4716
- if (import_node_fs6.default.existsSync(typesRoot)) {
4837
+ if (import_node_fs7.default.existsSync(typesRoot)) {
4717
4838
  const activeKeys = new Set(n.remotes.map((r) => r.key));
4718
- for (const name of import_node_fs6.default.readdirSync(typesRoot)) {
4839
+ for (const name of import_node_fs7.default.readdirSync(typesRoot)) {
4719
4840
  if (!activeKeys.has(name)) removeGeneratedTypes(typesRoot, name);
4720
4841
  }
4721
4842
  }