@fulgurjs/federation 6.14.4 → 6.14.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/dist/cli.js +1 -1
- package/dist/dts-cache-worker.cjs +684 -0
- package/dist/index.cjs +364 -133
- package/dist/index.js +363 -133
- package/dist/runtime.js +1 -1
- package/docs/en/reference/api.md +2 -0
- package/docs/zh/reference/api.md +2 -0
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -34,8 +34,8 @@ __export(index_exports, {
|
|
|
34
34
|
federation: () => federation
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(index_exports);
|
|
37
|
-
var
|
|
38
|
-
var
|
|
37
|
+
var import_node_fs9 = __toESM(require("fs"), 1);
|
|
38
|
+
var import_node_path12 = __toESM(require("path"), 1);
|
|
39
39
|
var import_node_module4 = require("module");
|
|
40
40
|
|
|
41
41
|
// src/vue-runtime-evidence.ts
|
|
@@ -69,7 +69,7 @@ var import_node_fs = __toESM(require("fs"), 1);
|
|
|
69
69
|
var import_node_path = __toESM(require("path"), 1);
|
|
70
70
|
|
|
71
71
|
// src/version.ts
|
|
72
|
-
var RUNTIME_VERSION = "6.14.
|
|
72
|
+
var RUNTIME_VERSION = "6.14.5";
|
|
73
73
|
|
|
74
74
|
// src/dev-cors.ts
|
|
75
75
|
function normalizeDevCorsOrigins(input) {
|
|
@@ -1812,8 +1812,8 @@ function collectPackageExportNames(spec, importerFile) {
|
|
|
1812
1812
|
}
|
|
1813
1813
|
|
|
1814
1814
|
// src/dts-serve.ts
|
|
1815
|
-
var
|
|
1816
|
-
var
|
|
1815
|
+
var import_node_path7 = __toESM(require("path"), 1);
|
|
1816
|
+
var import_node_fs5 = __toESM(require("fs"), 1);
|
|
1817
1817
|
|
|
1818
1818
|
// src/dts-generate.ts
|
|
1819
1819
|
var import_node_fs3 = __toESM(require("fs"), 1);
|
|
@@ -2959,14 +2959,144 @@ function rewriteSpecifiers(ts, text, srcAbs, srcToRel, resolver, externals, root
|
|
|
2959
2959
|
return out;
|
|
2960
2960
|
}
|
|
2961
2961
|
|
|
2962
|
+
// src/dts-cache-worker-client.ts
|
|
2963
|
+
var import_node_fs4 = __toESM(require("fs"), 1);
|
|
2964
|
+
var import_node_path6 = __toESM(require("path"), 1);
|
|
2965
|
+
var import_node_crypto2 = __toESM(require("crypto"), 1);
|
|
2966
|
+
var import_node_url = require("url");
|
|
2967
|
+
var import_node_worker_threads = require("worker_threads");
|
|
2968
|
+
var import_meta = {};
|
|
2969
|
+
function createTypesCacheWorker() {
|
|
2970
|
+
let worker = null;
|
|
2971
|
+
let disposed = false;
|
|
2972
|
+
const pending = /* @__PURE__ */ new Map();
|
|
2973
|
+
const temporary = /* @__PURE__ */ new Set();
|
|
2974
|
+
let watches = [];
|
|
2975
|
+
const fail = (error) => {
|
|
2976
|
+
for (const request of pending.values()) request.reject(error);
|
|
2977
|
+
pending.clear();
|
|
2978
|
+
};
|
|
2979
|
+
const ensure = () => {
|
|
2980
|
+
if (disposed) throw new Error("\u7C7B\u578B\u7F13\u5B58\u670D\u52A1\u5DF2\u5173\u95ED");
|
|
2981
|
+
if (worker) return worker;
|
|
2982
|
+
const self = typeof __filename === "string" ? __filename : (0, import_node_url.fileURLToPath)(import_meta.url);
|
|
2983
|
+
const directory = import_node_path6.default.dirname(self);
|
|
2984
|
+
const file = [import_node_path6.default.join(directory, "dts-cache-worker.cjs"), import_node_path6.default.join(directory, "../dist/dts-cache-worker.cjs")].find((file2) => import_node_fs4.default.existsSync(file2));
|
|
2985
|
+
if (!file) throw new Error("\u7C7B\u578B\u7F13\u5B58\u540E\u53F0\u7A0B\u5E8F\u7F3A\u5931\uFF0C\u8BF7\u91CD\u65B0\u6784\u5EFA\u6216\u5B89\u88C5\u63D2\u4EF6");
|
|
2986
|
+
const running = new import_node_worker_threads.Worker(file);
|
|
2987
|
+
worker = running;
|
|
2988
|
+
running.on("message", (response) => {
|
|
2989
|
+
const request = pending.get(response.id);
|
|
2990
|
+
if (!request) return;
|
|
2991
|
+
pending.delete(response.id);
|
|
2992
|
+
if (pending.size === 0) running.unref();
|
|
2993
|
+
if (response.ok) request.resolve(response.value);
|
|
2994
|
+
else request.reject(new Error(response.error ?? "\u7C7B\u578B\u7F13\u5B58\u540E\u53F0\u4EFB\u52A1\u5931\u8D25"));
|
|
2995
|
+
});
|
|
2996
|
+
running.on("error", (error) => fail(error));
|
|
2997
|
+
running.on("exit", (code) => {
|
|
2998
|
+
if (worker === running) worker = null;
|
|
2999
|
+
if (!disposed) fail(new Error(`\u7C7B\u578B\u7F13\u5B58\u540E\u53F0\u7A0B\u5E8F\u9000\u51FA\uFF08${code}\uFF09`));
|
|
3000
|
+
});
|
|
3001
|
+
running.unref();
|
|
3002
|
+
return running;
|
|
3003
|
+
};
|
|
3004
|
+
const call = (operation, input, payload = {}) => new Promise((resolve, reject) => {
|
|
3005
|
+
const id = import_node_crypto2.default.randomUUID();
|
|
3006
|
+
try {
|
|
3007
|
+
const running = ensure();
|
|
3008
|
+
pending.set(id, { resolve, reject });
|
|
3009
|
+
running.ref();
|
|
3010
|
+
running.postMessage({ id, operation, input: { ...input, execution: { env: Object.fromEntries(Object.entries(process.env).filter(([key]) => /^(NODE_ENV|NODE_OPTIONS|TS_NODE_|VUE_|VOLAR_)/.test(key))), execArgv: process.execArgv } }, ...payload });
|
|
3011
|
+
} catch (error) {
|
|
3012
|
+
pending.delete(id);
|
|
3013
|
+
if (pending.size === 0) worker?.unref();
|
|
3014
|
+
reject(error);
|
|
3015
|
+
}
|
|
3016
|
+
});
|
|
3017
|
+
return {
|
|
3018
|
+
read: (input) => call("read", input),
|
|
3019
|
+
capture: (input) => call("capture", input),
|
|
3020
|
+
validate: (input, handle, stable) => call("validate", input, { token: handle.token, stable }),
|
|
3021
|
+
async write(input, handle, result) {
|
|
3022
|
+
const temporaryId = import_node_crypto2.default.randomUUID();
|
|
3023
|
+
const digest = import_node_crypto2.default.createHash("sha256").update(import_node_path6.default.resolve(input.root)).digest("hex").slice(0, 12);
|
|
3024
|
+
const file = import_node_path6.default.join(input.root, "node_modules/.cache/fulgurjs/types", `provider-${digest}.json.gz.${process.pid}.${temporaryId}.tmp`);
|
|
3025
|
+
temporary.add(file);
|
|
3026
|
+
try {
|
|
3027
|
+
return await call("write", input, { token: handle.token, result, temporaryId });
|
|
3028
|
+
} finally {
|
|
3029
|
+
if (!disposed) {
|
|
3030
|
+
temporary.delete(file);
|
|
3031
|
+
try {
|
|
3032
|
+
import_node_fs4.default.rmSync(file, { force: true });
|
|
3033
|
+
} catch {
|
|
3034
|
+
}
|
|
3035
|
+
}
|
|
3036
|
+
}
|
|
3037
|
+
},
|
|
3038
|
+
async release(input, handle) {
|
|
3039
|
+
if (!disposed) await call("release", input, { token: handle.token });
|
|
3040
|
+
},
|
|
3041
|
+
watch(handle, changed) {
|
|
3042
|
+
const groups = /* @__PURE__ */ new Map();
|
|
3043
|
+
for (const file of handle.externalInputs) {
|
|
3044
|
+
let directory = import_node_path6.default.dirname(file);
|
|
3045
|
+
for (; ; ) {
|
|
3046
|
+
try {
|
|
3047
|
+
if (import_node_fs4.default.statSync(directory).isDirectory()) break;
|
|
3048
|
+
} catch {
|
|
3049
|
+
}
|
|
3050
|
+
const parent = import_node_path6.default.dirname(directory);
|
|
3051
|
+
if (parent === directory) break;
|
|
3052
|
+
directory = parent;
|
|
3053
|
+
}
|
|
3054
|
+
const name = import_node_path6.default.relative(directory, file).split(import_node_path6.default.sep)[0];
|
|
3055
|
+
const names = groups.get(directory) ?? /* @__PURE__ */ new Set();
|
|
3056
|
+
names.add(name);
|
|
3057
|
+
groups.set(directory, names);
|
|
3058
|
+
}
|
|
3059
|
+
const next = [];
|
|
3060
|
+
try {
|
|
3061
|
+
for (const [directory, names] of groups) next.push(import_node_fs4.default.watch(directory, { persistent: false }, (_event, filename) => {
|
|
3062
|
+
if (!filename || names.has(filename.toString().split(import_node_path6.default.sep)[0])) changed();
|
|
3063
|
+
}));
|
|
3064
|
+
} catch (error) {
|
|
3065
|
+
for (const watcher of next) watcher.close();
|
|
3066
|
+
throw error;
|
|
3067
|
+
}
|
|
3068
|
+
for (const watcher of watches) watcher.close();
|
|
3069
|
+
watches = next;
|
|
3070
|
+
},
|
|
3071
|
+
dispose() {
|
|
3072
|
+
if (disposed) return;
|
|
3073
|
+
disposed = true;
|
|
3074
|
+
for (const watcher of watches) watcher.close();
|
|
3075
|
+
watches = [];
|
|
3076
|
+
fail(new Error("\u7C7B\u578B\u7F13\u5B58\u670D\u52A1\u5DF2\u5173\u95ED"));
|
|
3077
|
+
const running = worker;
|
|
3078
|
+
worker = null;
|
|
3079
|
+
if (running) void running.terminate().finally(() => {
|
|
3080
|
+
for (const file of temporary) {
|
|
3081
|
+
try {
|
|
3082
|
+
import_node_fs4.default.rmSync(file, { force: true });
|
|
3083
|
+
} catch {
|
|
3084
|
+
}
|
|
3085
|
+
}
|
|
3086
|
+
temporary.clear();
|
|
3087
|
+
});
|
|
3088
|
+
}
|
|
3089
|
+
};
|
|
3090
|
+
}
|
|
3091
|
+
|
|
2962
3092
|
// src/dts-serve.ts
|
|
2963
3093
|
function isTypesInputChange(root, id, outputDir) {
|
|
2964
|
-
const relative =
|
|
2965
|
-
if (relative === ".." || relative.startsWith(`..${
|
|
2966
|
-
if (relative.split(
|
|
2967
|
-
if (
|
|
2968
|
-
const outputRelative =
|
|
2969
|
-
if (!(outputRelative.startsWith(`..${
|
|
3094
|
+
const relative = import_node_path7.default.relative(root, id);
|
|
3095
|
+
if (relative === ".." || relative.startsWith(`..${import_node_path7.default.sep}`) || import_node_path7.default.isAbsolute(relative)) return false;
|
|
3096
|
+
if (relative.split(import_node_path7.default.sep).some((part) => part === "node_modules" || part === ".vite")) return false;
|
|
3097
|
+
if (import_node_path7.default.basename(id).startsWith(".fulgurjs-types-tsconfig-")) return false;
|
|
3098
|
+
const outputRelative = import_node_path7.default.relative(outputDir, id);
|
|
3099
|
+
if (!(outputRelative.startsWith(`..${import_node_path7.default.sep}`) || import_node_path7.default.isAbsolute(outputRelative))) return false;
|
|
2970
3100
|
return /\.(?:[cm]?[jt]sx?|vue|json)$/i.test(id);
|
|
2971
3101
|
}
|
|
2972
3102
|
function createDevTypesServer(options, hooks = {}) {
|
|
@@ -2981,46 +3111,141 @@ function createDevTypesServer(options, hooks = {}) {
|
|
|
2981
3111
|
let lastErrorKey = null;
|
|
2982
3112
|
let incrementalDir;
|
|
2983
3113
|
const clearCache = () => {
|
|
2984
|
-
if (incrementalDir)
|
|
3114
|
+
if (incrementalDir) import_node_fs5.default.rmSync(incrementalDir, { recursive: true, force: true });
|
|
2985
3115
|
incrementalDir = void 0;
|
|
2986
3116
|
};
|
|
2987
3117
|
const publicExposes = options.exposes.filter((e) => !e.internal).map((e) => ({ name: e.name, import: e.import }));
|
|
3118
|
+
const cacheInput = { root: options.root, exposes: publicExposes, pluginVersion: options.pluginVersion, dts: options.dts };
|
|
3119
|
+
let cacheUnavailableAnnounced = false;
|
|
3120
|
+
let inputEpoch = 0;
|
|
3121
|
+
const cache = createTypesCacheWorker();
|
|
3122
|
+
const changed = () => {
|
|
3123
|
+
inputEpoch++;
|
|
3124
|
+
void ensure();
|
|
3125
|
+
};
|
|
3126
|
+
const queueRecheck = (reason) => {
|
|
3127
|
+
pendingInvalidate = true;
|
|
3128
|
+
log(`[fulgurjs] \u7C7B\u578B\u8F93\u5165\u5728\u6821\u9A8C/\u751F\u6210\u671F\u95F4\u53D8\u5316${reason ? `\uFF08${reason}\uFF09` : ""}\uFF0C\u5DF2\u6392\u961F\u91CD\u68C0\uFF1B\u672C\u8F6E\u7ED3\u679C\u4E0D\u53D1\u5E03\u5230\u7F13\u5B58\u3002`);
|
|
3129
|
+
};
|
|
2988
3130
|
const run = async () => {
|
|
3131
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
2989
3132
|
if (disposed) return;
|
|
2990
|
-
|
|
3133
|
+
const epoch = inputEpoch;
|
|
3134
|
+
const started = performance.now();
|
|
3135
|
+
let handle = null;
|
|
2991
3136
|
try {
|
|
2992
|
-
|
|
2993
|
-
const
|
|
2994
|
-
|
|
2995
|
-
|
|
3137
|
+
try {
|
|
3138
|
+
const cached = await cache.read(cacheInput);
|
|
3139
|
+
if (disposed) return;
|
|
3140
|
+
if (cached) {
|
|
3141
|
+
handle = cached;
|
|
3142
|
+
cache.watch(cached, changed);
|
|
3143
|
+
const reason = await cache.validate(cacheInput, cached, false);
|
|
3144
|
+
if (disposed) return;
|
|
3145
|
+
if (epoch !== inputEpoch || pendingInvalidate) {
|
|
3146
|
+
queueRecheck();
|
|
3147
|
+
return;
|
|
3148
|
+
}
|
|
3149
|
+
if (!reason) {
|
|
3150
|
+
files = cached.result.files;
|
|
3151
|
+
revision = cached.result.index.revision;
|
|
3152
|
+
lastErrorKey = null;
|
|
3153
|
+
log(`[fulgurjs] \u7C7B\u578B\u7F13\u5B58\u547D\u4E2D\uFF08\u540E\u53F0\u8F93\u5165\u4E0E\u58F0\u660E\u6458\u8981\u6821\u9A8C ${Math.round(performance.now() - started)}ms\uFF0C${cached.result.fileCount} \u4E2A\u58F0\u660E\u6587\u4EF6\uFF0Crevision ${revision}\uFF09\uFF0C\u65E0\u9700\u91CD\u65B0\u7F16\u8BD1\u3002`);
|
|
3154
|
+
return;
|
|
3155
|
+
}
|
|
3156
|
+
await cache.release(cacheInput, cached);
|
|
3157
|
+
handle = null;
|
|
3158
|
+
}
|
|
3159
|
+
handle = await cache.capture(cacheInput);
|
|
3160
|
+
if (disposed) return;
|
|
3161
|
+
if (handle) cache.watch(handle, changed);
|
|
3162
|
+
else if (!cacheUnavailableAnnounced) {
|
|
3163
|
+
cacheUnavailableAnnounced = true;
|
|
3164
|
+
log("[fulgurjs] \u7C7B\u578B\u7F13\u5B58\uFF1A\u65E0\u6CD5\u5EFA\u7ACB\u5B8C\u6574\u8F93\u5165\u5FEB\u7167\uFF0C\u4F7F\u7528\u6B63\u5E38\u7F16\u8BD1\uFF1B\u81EA\u5B9A\u4E49\u7F16\u8BD1\u63D2\u4EF6\u3001\u5916\u90E8\u6A21\u677F\u6216\u5DE5\u5177\u4E0D\u53EF\u8BFB\u53D6\u65F6\u4E0D\u590D\u7528\u6301\u4E45\u7F13\u5B58\u3002");
|
|
3165
|
+
}
|
|
3166
|
+
} catch (error) {
|
|
3167
|
+
if (disposed) return;
|
|
3168
|
+
if (handle) await cache.release(cacheInput, handle).catch(() => {
|
|
3169
|
+
});
|
|
3170
|
+
handle = null;
|
|
3171
|
+
if (!cacheUnavailableAnnounced) {
|
|
3172
|
+
cacheUnavailableAnnounced = true;
|
|
3173
|
+
warn(`[fulgurjs] \u7C7B\u578B\u7F13\u5B58\u540E\u53F0\u68C0\u67E5\u4E0D\u53EF\u7528\uFF1A${error.message}\uFF1B\u5DF2\u56DE\u5230\u6B63\u5E38\u751F\u6210\u3002\u8BF7\u68C0\u67E5\u63D2\u4EF6\u5B89\u88C5\u53CA\u7F13\u5B58\u76EE\u5F55\u6743\u9650\u3002`);
|
|
3174
|
+
}
|
|
2996
3175
|
}
|
|
2997
|
-
result
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
);
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3176
|
+
let result;
|
|
3177
|
+
try {
|
|
3178
|
+
if (!incrementalDir) {
|
|
3179
|
+
const cacheRoot = import_node_path7.default.join(options.root, "node_modules");
|
|
3180
|
+
import_node_fs5.default.mkdirSync(cacheRoot, { recursive: true });
|
|
3181
|
+
incrementalDir = import_node_fs5.default.mkdtempSync(import_node_path7.default.join(cacheRoot, ".fulgurjs-types-cache-"));
|
|
3182
|
+
}
|
|
3183
|
+
result = await generateTypesBundle({
|
|
3184
|
+
root: options.root,
|
|
3185
|
+
exposes: publicExposes,
|
|
3186
|
+
pluginVersion: options.pluginVersion,
|
|
3187
|
+
signal: controller.signal,
|
|
3188
|
+
incrementalDir
|
|
3189
|
+
});
|
|
3190
|
+
} catch (e) {
|
|
3191
|
+
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}`] };
|
|
3192
|
+
}
|
|
3193
|
+
if (disposed) return;
|
|
3194
|
+
let changedDuringGeneration = pendingInvalidate || epoch !== inputEpoch;
|
|
3195
|
+
if (handle) {
|
|
3196
|
+
try {
|
|
3197
|
+
const reason = await cache.validate(cacheInput, handle, true);
|
|
3198
|
+
if (reason) {
|
|
3199
|
+
queueRecheck(reason);
|
|
3200
|
+
return;
|
|
3201
|
+
}
|
|
3202
|
+
} catch (error) {
|
|
3203
|
+
if (disposed) return;
|
|
3204
|
+
warn(`[fulgurjs] \u7C7B\u578B\u7F13\u5B58\u6821\u9A8C\u5931\u8D25\uFF1A${error.message}\uFF1B\u672C\u8F6E\u4E0D\u5199\u6301\u4E45\u7F13\u5B58\u3002`);
|
|
3205
|
+
await cache.release(cacheInput, handle).catch(() => {
|
|
3206
|
+
});
|
|
3207
|
+
handle = null;
|
|
3208
|
+
}
|
|
3209
|
+
}
|
|
3210
|
+
if (disposed) return;
|
|
3211
|
+
if (changedDuringGeneration || pendingInvalidate || epoch !== inputEpoch) {
|
|
3212
|
+
queueRecheck();
|
|
3213
|
+
return;
|
|
3214
|
+
}
|
|
3215
|
+
if (result.ok) {
|
|
3216
|
+
if (handle) {
|
|
3217
|
+
try {
|
|
3218
|
+
if (!await cache.write(cacheInput, handle, result)) {
|
|
3219
|
+
queueRecheck();
|
|
3220
|
+
return;
|
|
3221
|
+
}
|
|
3222
|
+
} catch (error) {
|
|
3223
|
+
if (disposed) return;
|
|
3224
|
+
warn(`[fulgurjs] \u7C7B\u578B\u7F13\u5B58\u5199\u5165\u5931\u8D25\uFF1A${error.message}\uFF1B\u672C\u8F6E\u58F0\u660E\u6B63\u5E38\u63D0\u4F9B\uFF0C\u4E0B\u6B21\u53EF\u80FD\u91CD\u65B0\u7F16\u8BD1\u3002\u8BF7\u68C0\u67E5 node_modules/.cache/fulgurjs \u7684\u5199\u5165\u6743\u9650\u3002`);
|
|
3225
|
+
}
|
|
3226
|
+
}
|
|
3227
|
+
if (disposed) return;
|
|
3228
|
+
if (pendingInvalidate || epoch !== inputEpoch) {
|
|
3229
|
+
queueRecheck();
|
|
3230
|
+
return;
|
|
3231
|
+
}
|
|
3232
|
+
files = result.files;
|
|
3233
|
+
revision = result.index.revision;
|
|
3234
|
+
lastErrorKey = null;
|
|
3235
|
+
log(`[fulgurjs] \u7C7B\u578B\u8D44\u6E90\u5DF2\u751F\u6210\uFF08${result.tool}\uFF0C${result.fileCount} \u4E2A\u58F0\u660E\u6587\u4EF6\uFF0Crevision ${revision}\uFF09${result.index.externals.length > 0 ? `\uFF1B\u5916\u90E8\u7C7B\u578B\u4F9D\u8D56\uFF1A${result.index.externals.join(", ")}` : ""}\u3002\u5BBF\u4E3B\u5C06\u81EA\u52A8\u540C\u6B65\u3002`);
|
|
3236
|
+
} else {
|
|
3237
|
+
files = null;
|
|
3238
|
+
revision = null;
|
|
3239
|
+
const key = result.diagnostics.join("\n");
|
|
3240
|
+
if (key !== lastErrorKey) {
|
|
3241
|
+
lastErrorKey = key;
|
|
3242
|
+
warn(`[fulgurjs] TYP-001 \u8FDC\u7A0B\u7C7B\u578B\u8D44\u6E90\u751F\u6210\u5931\u8D25\uFF08manifest \u4E0D\u643A\u5E26 types\uFF0C\u5BBF\u4E3B\u7C7B\u578B\u540C\u6B65\u5C06\u63D0\u793A\u672A\u63D0\u4F9B\uFF09\uFF1A
|
|
3022
3243
|
${key}`);
|
|
3244
|
+
}
|
|
3023
3245
|
}
|
|
3246
|
+
} finally {
|
|
3247
|
+
if (handle) await cache.release(cacheInput, handle).catch(() => {
|
|
3248
|
+
});
|
|
3024
3249
|
}
|
|
3025
3250
|
};
|
|
3026
3251
|
const ensure = async () => {
|
|
@@ -3059,21 +3284,26 @@ ${key}`);
|
|
|
3059
3284
|
},
|
|
3060
3285
|
invalidate() {
|
|
3061
3286
|
if (disposed) return;
|
|
3287
|
+
inputEpoch++;
|
|
3062
3288
|
void ensure();
|
|
3063
3289
|
},
|
|
3290
|
+
markInputChanged() {
|
|
3291
|
+
if (!disposed) inputEpoch++;
|
|
3292
|
+
},
|
|
3064
3293
|
isGenerating: () => generating !== null,
|
|
3065
3294
|
dispose() {
|
|
3066
3295
|
disposed = true;
|
|
3067
3296
|
controller.abort();
|
|
3297
|
+
cache.dispose();
|
|
3068
3298
|
if (!generating) clearCache();
|
|
3069
3299
|
}
|
|
3070
3300
|
};
|
|
3071
3301
|
}
|
|
3072
3302
|
|
|
3073
3303
|
// src/dts-sync.ts
|
|
3074
|
-
var
|
|
3075
|
-
var
|
|
3076
|
-
var
|
|
3304
|
+
var import_node_fs7 = __toESM(require("fs"), 1);
|
|
3305
|
+
var import_node_path9 = __toESM(require("path"), 1);
|
|
3306
|
+
var import_node_crypto3 = __toESM(require("crypto"), 1);
|
|
3077
3307
|
|
|
3078
3308
|
// src/dts-ambient.ts
|
|
3079
3309
|
var RUNTIME_TYPE_MODULE = "@fulgurjs/federation/internal/registry.js";
|
|
@@ -3232,8 +3462,8 @@ function stripAmbientModifiers(text) {
|
|
|
3232
3462
|
}
|
|
3233
3463
|
|
|
3234
3464
|
// src/dts-discovery.ts
|
|
3235
|
-
var
|
|
3236
|
-
var
|
|
3465
|
+
var import_node_fs6 = __toESM(require("fs"), 1);
|
|
3466
|
+
var import_node_path8 = __toESM(require("path"), 1);
|
|
3237
3467
|
function stripJsoncForConfig(text) {
|
|
3238
3468
|
let out = "";
|
|
3239
3469
|
let i = 0;
|
|
@@ -3273,7 +3503,7 @@ function stripJsoncForConfig(text) {
|
|
|
3273
3503
|
}
|
|
3274
3504
|
function readCfg(file) {
|
|
3275
3505
|
try {
|
|
3276
|
-
const raw = JSON.parse(stripJsoncForConfig(
|
|
3506
|
+
const raw = JSON.parse(stripJsoncForConfig(import_node_fs6.default.readFileSync(file, "utf8")));
|
|
3277
3507
|
const cfg = { file };
|
|
3278
3508
|
for (const key of ["include", "files", "exclude"]) {
|
|
3279
3509
|
const v = raw[key];
|
|
@@ -3297,25 +3527,25 @@ function effectiveCfg(cfg, depth = 0) {
|
|
|
3297
3527
|
const parentFile = resolveConfigFile(parent, cfg.file);
|
|
3298
3528
|
if (!parentFile) continue;
|
|
3299
3529
|
const parentCfg = effectiveCfg(readCfg(parentFile) ?? { file: parentFile }, depth + 1);
|
|
3300
|
-
const dirOf = (f, base) =>
|
|
3530
|
+
const dirOf = (f, base) => import_node_path8.default.resolve(import_node_path8.default.dirname(base), f);
|
|
3301
3531
|
if (parentCfg.include && !cfg.include) {
|
|
3302
|
-
merged.include = parentCfg.include.map((p) =>
|
|
3532
|
+
merged.include = parentCfg.include.map((p) => import_node_path8.default.relative(import_node_path8.default.dirname(cfg.file), dirOf(p, parentFile)) || ".");
|
|
3303
3533
|
}
|
|
3304
3534
|
if (parentCfg.files && !cfg.files) {
|
|
3305
|
-
merged.files = parentCfg.files.map((p) =>
|
|
3535
|
+
merged.files = parentCfg.files.map((p) => import_node_path8.default.relative(import_node_path8.default.dirname(cfg.file), dirOf(p, parentFile)));
|
|
3306
3536
|
}
|
|
3307
3537
|
if (parentCfg.exclude && !cfg.exclude) {
|
|
3308
|
-
merged.exclude = parentCfg.exclude.map((p) =>
|
|
3538
|
+
merged.exclude = parentCfg.exclude.map((p) => import_node_path8.default.relative(import_node_path8.default.dirname(cfg.file), dirOf(p, parentFile)));
|
|
3309
3539
|
}
|
|
3310
3540
|
}
|
|
3311
3541
|
return merged;
|
|
3312
3542
|
}
|
|
3313
3543
|
function resolveConfigFile(value, declaringFile) {
|
|
3314
|
-
let candidate =
|
|
3544
|
+
let candidate = import_node_path8.default.resolve(import_node_path8.default.dirname(declaringFile), value);
|
|
3315
3545
|
if (!candidate.endsWith(".json")) candidate += ".json";
|
|
3316
|
-
if (
|
|
3317
|
-
const asDir =
|
|
3318
|
-
return
|
|
3546
|
+
if (import_node_fs6.default.existsSync(candidate)) return candidate;
|
|
3547
|
+
const asDir = import_node_path8.default.join(candidate, "tsconfig.json");
|
|
3548
|
+
return import_node_fs6.default.existsSync(asDir) ? asDir : null;
|
|
3319
3549
|
}
|
|
3320
3550
|
function patternCoversDir(pattern, target, cfgDir) {
|
|
3321
3551
|
const norm = pattern.replace(/^\.\//, "");
|
|
@@ -3325,15 +3555,15 @@ function patternCoversDir(pattern, target, cfgDir) {
|
|
|
3325
3555
|
if (norm.includes("**")) base = norm.slice(0, norm.indexOf("**")).replace(/\/+$/, "");
|
|
3326
3556
|
else if (norm.endsWith("/*")) base = norm.slice(0, -2);
|
|
3327
3557
|
else base = norm.replace(/\/+$/, "");
|
|
3328
|
-
const abs = base === "" || base === "." ? cfgDir :
|
|
3329
|
-
return target === abs || target.startsWith(abs +
|
|
3558
|
+
const abs = base === "" || base === "." ? cfgDir : import_node_path8.default.resolve(cfgDir, base);
|
|
3559
|
+
return target === abs || target.startsWith(abs + import_node_path8.default.sep);
|
|
3330
3560
|
}
|
|
3331
3561
|
function checkTypesDiscovery(root, typesRoot) {
|
|
3332
|
-
const relTypes =
|
|
3562
|
+
const relTypes = import_node_path8.default.relative(root, typesRoot) || ".";
|
|
3333
3563
|
const configs = [];
|
|
3334
|
-
let primary =
|
|
3335
|
-
if (!
|
|
3336
|
-
const candidates =
|
|
3564
|
+
let primary = import_node_path8.default.join(root, "tsconfig.json");
|
|
3565
|
+
if (!import_node_fs6.default.existsSync(primary)) {
|
|
3566
|
+
const candidates = import_node_fs6.default.existsSync(root) ? import_node_fs6.default.readdirSync(root).filter((f) => /^tsconfig[\w.-]*\.json$/i.test(f)).map((f) => import_node_path8.default.join(root, f)) : [];
|
|
3337
3567
|
if (candidates.length === 0) {
|
|
3338
3568
|
return {
|
|
3339
3569
|
covered: false,
|
|
@@ -3345,7 +3575,7 @@ function checkTypesDiscovery(root, typesRoot) {
|
|
|
3345
3575
|
if (candidates.length > 1) {
|
|
3346
3576
|
let covered = false;
|
|
3347
3577
|
for (const file of candidates) {
|
|
3348
|
-
configs.push(
|
|
3578
|
+
configs.push(import_node_path8.default.relative(root, file));
|
|
3349
3579
|
if (configCovers(file, typesRoot)) covered = true;
|
|
3350
3580
|
}
|
|
3351
3581
|
if (covered) return { covered: true, configs, fixHint: null };
|
|
@@ -3356,34 +3586,34 @@ function checkTypesDiscovery(root, typesRoot) {
|
|
|
3356
3586
|
};
|
|
3357
3587
|
}
|
|
3358
3588
|
}
|
|
3359
|
-
configs.push(
|
|
3589
|
+
configs.push(import_node_path8.default.relative(root, primary));
|
|
3360
3590
|
if (configCovers(primary, typesRoot)) return { covered: true, configs, fixHint: null };
|
|
3361
3591
|
return {
|
|
3362
3592
|
covered: false,
|
|
3363
3593
|
configs,
|
|
3364
|
-
fixHint: `TYP-006 \u7C7B\u578B\u76EE\u5F55 ${relTypes} \u672A\u88AB ${
|
|
3594
|
+
fixHint: `TYP-006 \u7C7B\u578B\u76EE\u5F55 ${relTypes} \u672A\u88AB ${import_node_path8.default.relative(root, primary)} \u7684 include/files \u8986\u76D6\uFF08exclude \u6216\u4E25\u683C files \u767D\u540D\u5355\u90FD\u4F1A\u8BA9\u751F\u6210\u58F0\u660E\u5BF9 IDE/tsc \u4E0D\u53EF\u89C1\uFF09\u3002\u6700\u5C0F\u4FEE\u6CD5\uFF1Ainclude \u52A0\u5165 "${relTypes}/**/*.d.ts"\uFF0C\u6216\u79FB\u9664\u5BF9\u5B83\u7684 exclude/files \u9650\u5236\u3002`
|
|
3365
3595
|
};
|
|
3366
3596
|
}
|
|
3367
3597
|
function configCovers(cfgFile, typesRoot) {
|
|
3368
3598
|
const raw = readCfg(cfgFile);
|
|
3369
3599
|
if (!raw) return false;
|
|
3370
3600
|
const cfg = effectiveCfg(raw);
|
|
3371
|
-
const cfgDir =
|
|
3601
|
+
const cfgDir = import_node_path8.default.dirname(cfgFile);
|
|
3372
3602
|
const isSolution = Array.isArray(cfg.files) && cfg.files.length === 0 && !cfg.include;
|
|
3373
3603
|
if (isSolution && cfg.references && cfg.references.length > 0) {
|
|
3374
3604
|
return cfg.references.some((ref) => {
|
|
3375
|
-
const refFile = resolveConfigFile(ref.startsWith(".") ||
|
|
3605
|
+
const refFile = resolveConfigFile(ref.startsWith(".") || import_node_path8.default.isAbsolute(ref) ? ref : `./${ref}`, cfgFile);
|
|
3376
3606
|
return refFile !== null && configCovers(refFile, typesRoot);
|
|
3377
3607
|
});
|
|
3378
3608
|
}
|
|
3379
3609
|
if (Array.isArray(cfg.files) && cfg.files.length > 0) {
|
|
3380
3610
|
return cfg.files.some((f) => {
|
|
3381
|
-
const abs =
|
|
3382
|
-
return abs === typesRoot || abs.startsWith(typesRoot +
|
|
3611
|
+
const abs = import_node_path8.default.resolve(cfgDir, f);
|
|
3612
|
+
return abs === typesRoot || abs.startsWith(typesRoot + import_node_path8.default.sep);
|
|
3383
3613
|
});
|
|
3384
3614
|
}
|
|
3385
3615
|
const includes = cfg.include;
|
|
3386
|
-
if (!includes) return typesRoot === cfgDir || typesRoot.startsWith(cfgDir +
|
|
3616
|
+
if (!includes) return typesRoot === cfgDir || typesRoot.startsWith(cfgDir + import_node_path8.default.sep);
|
|
3387
3617
|
const included = includes.some((p) => patternCoversDir(p, typesRoot, cfgDir));
|
|
3388
3618
|
if (!included) return false;
|
|
3389
3619
|
if (cfg.exclude && cfg.exclude.some((p) => patternCoversDir(p, typesRoot, cfgDir))) return false;
|
|
@@ -3427,7 +3657,7 @@ var METADATA_FILE = "metadata.json";
|
|
|
3427
3657
|
var AMBIENT_FORMAT = 2;
|
|
3428
3658
|
function readMetadata(dir) {
|
|
3429
3659
|
try {
|
|
3430
|
-
const raw = JSON.parse(
|
|
3660
|
+
const raw = JSON.parse(import_node_fs7.default.readFileSync(import_node_path9.default.join(dir, METADATA_FILE), "utf8"));
|
|
3431
3661
|
if (raw.generator !== "@fulgurjs/federation" || typeof raw.revision !== "string" || !Array.isArray(raw.files)) return null;
|
|
3432
3662
|
return raw;
|
|
3433
3663
|
} catch {
|
|
@@ -3437,19 +3667,19 @@ function readMetadata(dir) {
|
|
|
3437
3667
|
function cleanupOwnFiles(dir, meta) {
|
|
3438
3668
|
for (const f of meta.files) {
|
|
3439
3669
|
if (!isSafeBundlePath(f)) continue;
|
|
3440
|
-
|
|
3670
|
+
import_node_fs7.default.rmSync(import_node_path9.default.join(dir, f), { force: true });
|
|
3441
3671
|
}
|
|
3442
|
-
|
|
3672
|
+
import_node_fs7.default.rmSync(import_node_path9.default.join(dir, METADATA_FILE), { force: true });
|
|
3443
3673
|
try {
|
|
3444
|
-
if (
|
|
3674
|
+
if (import_node_fs7.default.readdirSync(dir).length === 0) import_node_fs7.default.rmdirSync(dir);
|
|
3445
3675
|
} catch {
|
|
3446
3676
|
}
|
|
3447
3677
|
}
|
|
3448
3678
|
function sweepStaleStaging(typesRoot, alias) {
|
|
3449
|
-
if (!
|
|
3450
|
-
for (const name of
|
|
3679
|
+
if (!import_node_fs7.default.existsSync(typesRoot)) return;
|
|
3680
|
+
for (const name of import_node_fs7.default.readdirSync(typesRoot)) {
|
|
3451
3681
|
if (name.startsWith(`.fg-staging-${alias}-`) || name.startsWith(`.fg-trash-${alias}-`)) {
|
|
3452
|
-
|
|
3682
|
+
import_node_fs7.default.rmSync(import_node_path9.default.join(typesRoot, name), { recursive: true, force: true });
|
|
3453
3683
|
}
|
|
3454
3684
|
}
|
|
3455
3685
|
}
|
|
@@ -3458,7 +3688,7 @@ async function syncRemoteTypes(input) {
|
|
|
3458
3688
|
const fetchJsonFn = input.fetchJsonImpl ?? fetchJson;
|
|
3459
3689
|
const fetchTextFn = input.fetchTextImpl ?? fetchText;
|
|
3460
3690
|
const timeoutMs = input.timeoutMs ?? 15e3;
|
|
3461
|
-
const dir =
|
|
3691
|
+
const dir = import_node_path9.default.join(typesRoot, alias);
|
|
3462
3692
|
let manifest;
|
|
3463
3693
|
try {
|
|
3464
3694
|
const parsed = parseManifest(await fetchJsonFn(manifestUrl, timeoutMs));
|
|
@@ -3471,7 +3701,7 @@ async function syncRemoteTypes(input) {
|
|
|
3471
3701
|
}
|
|
3472
3702
|
manifest = parsed.manifest;
|
|
3473
3703
|
} catch (e) {
|
|
3474
|
-
const meta =
|
|
3704
|
+
const meta = import_node_fs7.default.existsSync(dir) ? readMetadata(dir) : null;
|
|
3475
3705
|
return {
|
|
3476
3706
|
status: "failed",
|
|
3477
3707
|
alias,
|
|
@@ -3481,7 +3711,7 @@ async function syncRemoteTypes(input) {
|
|
|
3481
3711
|
}
|
|
3482
3712
|
const types = readManifestTypes(manifest);
|
|
3483
3713
|
if (!types) {
|
|
3484
|
-
const meta =
|
|
3714
|
+
const meta = import_node_fs7.default.existsSync(dir) ? readMetadata(dir) : null;
|
|
3485
3715
|
if (isDevManifest(manifest) && manifest.typesPending === true) {
|
|
3486
3716
|
return {
|
|
3487
3717
|
status: meta ? "stale" : "failed",
|
|
@@ -3501,7 +3731,7 @@ async function syncRemoteTypes(input) {
|
|
|
3501
3731
|
};
|
|
3502
3732
|
}
|
|
3503
3733
|
const indexUrl = new URL(types.index, manifestUrl).toString();
|
|
3504
|
-
const existing =
|
|
3734
|
+
const existing = import_node_fs7.default.existsSync(dir) ? readMetadata(dir) : null;
|
|
3505
3735
|
if (existing && existing.revision === types.revision && existing.ambientFormat === AMBIENT_FORMAT) {
|
|
3506
3736
|
return { status: "unchanged", alias, revision: types.revision, message: `\u8FDC\u7A0B ${alias} \u7C7B\u578B\u5DF2\u662F\u6700\u65B0\uFF08revision ${types.revision}\uFF09\u3002` };
|
|
3507
3737
|
}
|
|
@@ -3551,7 +3781,7 @@ async function syncRemoteTypes(input) {
|
|
|
3551
3781
|
if (total > DTS_TOTAL_MAX_BYTES) {
|
|
3552
3782
|
return { status: "failed", alias, message: `\u8FDC\u7A0B ${alias} \u7684\u7C7B\u578B\u8D44\u6E90\u603B\u91CF\u8D85\u9650\uFF08>${DTS_TOTAL_MAX_BYTES}B\uFF09\uFF0C\u5DF2\u62D2\u7EDD\u3002` };
|
|
3553
3783
|
}
|
|
3554
|
-
const actual =
|
|
3784
|
+
const actual = import_node_crypto3.default.createHash("sha256").update(text, "utf8").digest("hex");
|
|
3555
3785
|
if (actual !== digest) {
|
|
3556
3786
|
return { status: "failed", alias, message: `\u8FDC\u7A0B ${alias} \u7684\u58F0\u660E\u6587\u4EF6\u6458\u8981\u4E0D\u7B26\uFF08${rel}\uFF09\uFF0C\u5DF2\u62D2\u7EDD\u672C\u6B21\u66F4\u65B0\uFF08\u4F20\u8F93\u635F\u574F\u6216\u88AB\u7BE1\u6539\uFF09\u3002` };
|
|
3557
3787
|
}
|
|
@@ -3559,15 +3789,15 @@ async function syncRemoteTypes(input) {
|
|
|
3559
3789
|
}
|
|
3560
3790
|
const ambient = buildAmbientDeclarations({ alias, index, readFile: (rel) => indexRaw[rel] ?? "", source });
|
|
3561
3791
|
sweepStaleStaging(typesRoot, alias);
|
|
3562
|
-
const staging =
|
|
3563
|
-
|
|
3564
|
-
|
|
3792
|
+
const staging = import_node_path9.default.join(typesRoot, `.fg-staging-${alias}-${process.pid}-${Date.now()}`);
|
|
3793
|
+
import_node_fs7.default.rmSync(staging, { recursive: true, force: true });
|
|
3794
|
+
import_node_fs7.default.mkdirSync(staging, { recursive: true });
|
|
3565
3795
|
const written = [];
|
|
3566
3796
|
try {
|
|
3567
3797
|
for (const [name, content] of ambient.files) {
|
|
3568
|
-
const dest =
|
|
3569
|
-
|
|
3570
|
-
|
|
3798
|
+
const dest = import_node_path9.default.join(staging, name);
|
|
3799
|
+
import_node_fs7.default.mkdirSync(import_node_path9.default.dirname(dest), { recursive: true });
|
|
3800
|
+
import_node_fs7.default.writeFileSync(dest, content);
|
|
3571
3801
|
written.push(name);
|
|
3572
3802
|
}
|
|
3573
3803
|
const meta = {
|
|
@@ -3580,22 +3810,22 @@ async function syncRemoteTypes(input) {
|
|
|
3580
3810
|
externals: index.externals,
|
|
3581
3811
|
syncedAt: Date.now()
|
|
3582
3812
|
};
|
|
3583
|
-
|
|
3584
|
-
const trash =
|
|
3813
|
+
import_node_fs7.default.writeFileSync(import_node_path9.default.join(staging, METADATA_FILE), JSON.stringify(meta, null, 2));
|
|
3814
|
+
const trash = import_node_path9.default.join(typesRoot, `.fg-trash-${alias}-${Date.now()}`);
|
|
3585
3815
|
let swapped = false;
|
|
3586
|
-
if (
|
|
3587
|
-
|
|
3816
|
+
if (import_node_fs7.default.existsSync(dir)) {
|
|
3817
|
+
import_node_fs7.default.renameSync(dir, trash);
|
|
3588
3818
|
swapped = true;
|
|
3589
3819
|
}
|
|
3590
3820
|
try {
|
|
3591
|
-
|
|
3821
|
+
import_node_fs7.default.renameSync(staging, dir);
|
|
3592
3822
|
} catch (e) {
|
|
3593
|
-
if (swapped)
|
|
3823
|
+
if (swapped) import_node_fs7.default.renameSync(trash, dir);
|
|
3594
3824
|
throw e;
|
|
3595
3825
|
}
|
|
3596
|
-
if (swapped)
|
|
3826
|
+
if (swapped) import_node_fs7.default.rmSync(trash, { recursive: true, force: true });
|
|
3597
3827
|
} catch (e) {
|
|
3598
|
-
|
|
3828
|
+
import_node_fs7.default.rmSync(staging, { recursive: true, force: true });
|
|
3599
3829
|
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` };
|
|
3600
3830
|
}
|
|
3601
3831
|
return {
|
|
@@ -3607,8 +3837,8 @@ async function syncRemoteTypes(input) {
|
|
|
3607
3837
|
};
|
|
3608
3838
|
}
|
|
3609
3839
|
function removeGeneratedTypes(typesRoot, alias) {
|
|
3610
|
-
const dir =
|
|
3611
|
-
if (!
|
|
3840
|
+
const dir = import_node_path9.default.join(typesRoot, alias);
|
|
3841
|
+
if (!import_node_fs7.default.existsSync(dir)) return false;
|
|
3612
3842
|
const meta = readMetadata(dir);
|
|
3613
3843
|
if (!meta) return false;
|
|
3614
3844
|
cleanupOwnFiles(dir, meta);
|
|
@@ -3670,8 +3900,8 @@ function startRemoteTypesSyncLoop(opts) {
|
|
|
3670
3900
|
let discoveryWarned = false;
|
|
3671
3901
|
const checkDiscoveryOnce = () => {
|
|
3672
3902
|
if (discoveryWarned) return;
|
|
3673
|
-
if (!
|
|
3674
|
-
if (
|
|
3903
|
+
if (!import_node_fs7.default.existsSync(opts.typesRoot)) return;
|
|
3904
|
+
if (import_node_fs7.default.readdirSync(opts.typesRoot).length === 0) return;
|
|
3675
3905
|
discoveryWarned = true;
|
|
3676
3906
|
const d = checkTypesDiscovery(opts.root, opts.typesRoot);
|
|
3677
3907
|
if (!d.covered) warn(`[fulgurjs] ${d.fixHint ?? ""}`);
|
|
@@ -3685,7 +3915,7 @@ function startRemoteTypesSyncLoop(opts) {
|
|
|
3685
3915
|
}
|
|
3686
3916
|
|
|
3687
3917
|
// src/diagnostics.ts
|
|
3688
|
-
var
|
|
3918
|
+
var import_node_path10 = __toESM(require("path"), 1);
|
|
3689
3919
|
function formatFulgurjsDiagnostic(input) {
|
|
3690
3920
|
const ctx = input.details ? `
|
|
3691
3921
|
\u4E0A\u4E0B\u6587\uFF1A${JSON.stringify(input.details)}` : "";
|
|
@@ -3729,8 +3959,8 @@ function debugLog(category, data) {
|
|
|
3729
3959
|
function redactModulePath(id, root) {
|
|
3730
3960
|
const clean = id.split("?")[0];
|
|
3731
3961
|
try {
|
|
3732
|
-
const rel =
|
|
3733
|
-
if (rel && !rel.startsWith("..") && !
|
|
3962
|
+
const rel = import_node_path10.default.relative(root, clean);
|
|
3963
|
+
if (rel && !rel.startsWith("..") && !import_node_path10.default.isAbsolute(rel)) return rel;
|
|
3734
3964
|
} catch {
|
|
3735
3965
|
}
|
|
3736
3966
|
return clean.split("/").pop() ?? clean;
|
|
@@ -3840,22 +4070,22 @@ function genRemoteSchemaModule(schema) {
|
|
|
3840
4070
|
}
|
|
3841
4071
|
|
|
3842
4072
|
// src/vite-cache.ts
|
|
3843
|
-
var
|
|
3844
|
-
var
|
|
4073
|
+
var import_node_fs8 = __toESM(require("fs"), 1);
|
|
4074
|
+
var import_node_path11 = __toESM(require("path"), 1);
|
|
3845
4075
|
function syncViteCacheMarker(root, pluginVersion, log) {
|
|
3846
|
-
const viteDir =
|
|
3847
|
-
const marker =
|
|
4076
|
+
const viteDir = import_node_path11.default.join(root, "node_modules", ".vite");
|
|
4077
|
+
const marker = import_node_path11.default.join(viteDir, "fulgurjs-version.txt");
|
|
3848
4078
|
try {
|
|
3849
|
-
if (
|
|
3850
|
-
const prev =
|
|
4079
|
+
if (import_node_fs8.default.existsSync(viteDir)) {
|
|
4080
|
+
const prev = import_node_fs8.default.existsSync(marker) ? import_node_fs8.default.readFileSync(marker, "utf8").trim() : "";
|
|
3851
4081
|
if (prev === pluginVersion) return;
|
|
3852
|
-
|
|
4082
|
+
import_node_fs8.default.rmSync(viteDir, { recursive: true, force: true });
|
|
3853
4083
|
log(
|
|
3854
|
-
`[fulgurjs] \u63D2\u4EF6\u7248\u672C\u53D8\u5316\uFF08${prev || "\u65E0\u8BB0\u5F55"} \u2192 ${pluginVersion}\uFF09\uFF0C\u5DF2\u81EA\u52A8\u6E05\u9664 ${
|
|
4084
|
+
`[fulgurjs] \u63D2\u4EF6\u7248\u672C\u53D8\u5316\uFF08${prev || "\u65E0\u8BB0\u5F55"} \u2192 ${pluginVersion}\uFF09\uFF0C\u5DF2\u81EA\u52A8\u6E05\u9664 ${import_node_path11.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`
|
|
3855
4085
|
);
|
|
3856
4086
|
}
|
|
3857
|
-
|
|
3858
|
-
|
|
4087
|
+
import_node_fs8.default.mkdirSync(viteDir, { recursive: true });
|
|
4088
|
+
import_node_fs8.default.writeFileSync(marker, pluginVersion);
|
|
3859
4089
|
} catch (e) {
|
|
3860
4090
|
log(
|
|
3861
4091
|
`[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)}`
|
|
@@ -4211,7 +4441,7 @@ function repairRolldownAsyncMarks(code, sourceName) {
|
|
|
4211
4441
|
}
|
|
4212
4442
|
|
|
4213
4443
|
// src/runtime-code.gen.ts
|
|
4214
|
-
var runtime_code_gen_default = 'var ke=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function C(c){let d=ke.exec(String(c).trim());return d?{major:Number(d[1]),minor:Number(d[2]??0),patch:Number(d[3]??0),pre:d[4]?d[4].split("."):[]}:null}function Oe(c,d){if(c.length===0&&d.length===0)return 0;if(c.length===0)return 1;if(d.length===0)return-1;let f=Math.max(c.length,d.length);for(let l=0;l<f;l++){let m=c[l],S=d[l];if(m===void 0)return-1;if(S===void 0)return 1;let b=/^\\d+$/.test(m),P=/^\\d+$/.test(S);if(b&&P){let A=Number(m)-Number(S);if(A!==0)return A}else{if(b!==P)return b?-1:1;if(m!==S)return m<S?-1:1}}return 0}function x(c,d){let f=C(c),l=C(d);return!f||!l?c<d?-1:c>d?1:0:f.major!==l.major?f.major-l.major:f.minor!==l.minor?f.minor-l.minor:f.patch!==l.patch?f.patch-l.patch:Oe(f.pre,l.pre)}var Me=/^[a-z]+[+:-]/i;function U(c,d){if(d===!1||d==null||d==="")return!0;let f=String(d).trim();return!f||f==="*"||f==="latest"||Me.test(f)?!0:f.split("||").some(l=>Te(c,l.trim()))}function Te(c,d){if(!d||d==="*")return!C(c)?.pre.length;let f=d.split(/\\s+-\\s+/);if(f.length===2){let S=f[0].trim(),b=f[1].trim();return!(!U(c,`>=${S}`)||!U(c,`<=${b}`))}let l=C(c);if(!l)return!1;let m=Le(d);if(m===null)return!0;for(let S of m)if(!je(l,c,S))return!1;return!(l.pre.length>0&&!m.some(S=>S.ver.pre.length>0)&&!m.some(b=>b.ver.major===l.major&&b.ver.minor===l.minor&&b.ver.patch===l.patch))}function Le(c){let d=[],f=c.trim().split(/\\s+/).filter(Boolean);if(f.length===0)return null;for(let l of f){let m=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(l);if(!m)return null;let S=m[1],b=m[2],P=Ae(S,b);if(P===null)return null;d.push(...P)}return d}function Ae(c,d){let f=xe(d);if(!f)return null;let{ver:l,partial:m}=f;switch(c){case"^":{let S=Ie(l);return S?[{op:">=",ver:l},{op:"<",ver:S}]:null}case"~":{let S=m>=2?{major:l.major,minor:l.minor+1,patch:0,pre:[]}:{major:l.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:l},{op:"<",ver:S}]}case">=":return[{op:">=",ver:l}];case">":return m===1?[{op:">=",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:">",ver:l}];case"<":return m===1?[{op:"<",ver:{major:l.major,minor:0,patch:0,pre:[]}}]:m===2?[{op:"<",ver:{major:l.major,minor:l.minor,patch:0,pre:[]}}]:[{op:"<",ver:l}];case"<=":return[{op:"<=",ver:l}];case"=":case void 0:return m===1?[{op:">=",ver:l},{op:"<",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:l},{op:"<",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:l}];default:return null}}function Ie(c){return c.major>0?{major:c.major+1,minor:0,patch:0,pre:[]}:c.minor>0?{major:0,minor:c.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:c.patch+1,pre:[]}}function xe(c){let d=c.replace(/^v/,"").trim();if(!d||d==="*"||d==="x"||d==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let f=d.split("."),l=[],m=0;for(let P of f.slice(0,3))if(/^\\d+$/.test(P))l.push(Number(P)),m++;else{if(P==="x"||P==="X"||P==="*")break;break}let S=d.split("-"),b=S.length>1?S.slice(1).join("-").split("+")[0].split("."):[];return m===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:l[0]??0,minor:l[1]??0,patch:l[2]??0,pre:b},partial:m}}function Ue(c,d){switch(d){case">=":return c>=0;case">":return c>0;case"<":return c<0;case"<=":return c<=0;case"=":return c===0}}function je(c,d,f){let l=`${c.major}.${c.minor}.${c.patch}`+(c.pre.length?`-${c.pre.join(".")}`:"");if(f.upper)return!(!(x(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:""))>=0)||!(x(l,`${f.upper.major}.${f.upper.minor}.${f.upper.patch}`)<0));let m=x(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:"")),S=Ue(m,f.op);return f.ver.pre.length>0&&c.pre.length===0&&(f.op===">"||f.op==="<")?!1:S}function F(c){return c.replace(/(https?:\\/\\/)(?:[^\\s/@]+@)?([^\\s?#"\'<>\uFF0C\u3002\uFF1B\uFF09)\\]]+)(?:[?#][^\\s"\'<>\uFF0C\u3002\uFF1B\uFF09)\\]]*)?/g,"$1$2")}function M(c){return F(String(c?.message??c)).replace(/\\b(token|password|cookie|authorization)["\']?\\s*[:=]\\s*["\']?(?:Bearer\\s+)?[^\\s,;"\'}]+/gi,"$1=[redacted]")}var E=class extends Error{code;details;constructor(d,f,l,m){super(`[fulgurjs:${d}] ${F(f)}`,m),this.name="FgError",this.code=d,this.details=l}},R={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014",COMPONENT_EXPORT_INVALID:"MFU-018",VUE_RUNTIME_IDENTITY_MISMATCH:"MFU-019",REMOTE_RENDER_ERROR:"MFU-020"};function ie(c){if(typeof c!="object"||c===null)return!1;let d=globalThis,f=d.__FULGURJS_REPORTED_ERRORS__??=new WeakSet;return f.has(c)?!0:(f.add(c),!1)}var ae="6.14.4";var Ne="__fulgurjsSetup",Ce="__FULGURJS_APP_CONFIG__",J=15e3,ce=2,Fe=5,Ve=3e4,De=4e3,Ke=.2;function qe(){let c=Object.create(null),d=new Map,f=[],l=new Set,m=new Map,S=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,P=new Map,A=new WeakMap,V=new WeakMap,W=(e,r)=>{console.warn(`[fulgurjs] ${e} \\u94A9\\u5B50\\u5931\\u8D25\\uFF08\\u4E0D\\u5F71\\u54CD\\u52A0\\u8F7D\\uFF09\\uFF0C\\u8BF7\\u68C0\\u67E5\\uFF1A`,M(r))},_={},ue=()=>{for(let e of f)try{e.init?.(_)}catch(r){console.warn("[fulgurjs] \\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BF7\\u68C0\\u67E5\\uFF1A",e.name,M(r))}},D=new Map,K,q=e=>{let r=D.get(e);return r||D.set(e,r={}),r},z=()=>globalThis[Ce]??{};async function Y(e,r,n,o){let t=u=>{if(u instanceof E)return v({remote:e,error:u}),u;let a=new E(R.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${o} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${M(u)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${o} \\u51FD\\u6570\\u540E\\u91CD\\u65B0\\u52A0\\u8F7D\\uFF1B\\u5931\\u8D25\\u7F13\\u5B58\\u5DF2\\u6E05\\u9664\\uFF0C\\u53EF\\u4EE5\\u76F4\\u63A5\\u91CD\\u8BD5\\u3002`,{remote:e,phase:o},{cause:u});return v({remote:e,error:a}),a};K=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{K=void 0}try{await s}catch(u){throw t(u)}}async function de(e,r,n,o){e.debug.setup="pending";try{if(e.manifestUrl)try{await B(`${e.name}/${n}`)}catch{}let t=await r.get(n),s=t?.default,u=t?.onSession!==void 0||t?.globalComponents!==void 0||t?.pageProviders!==void 0;if(s!==void 0&&typeof s!="function"||!s&&!u)throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${t==null?String(t):typeof s}\\uFF0C\\u4E14\\u6A21\\u5757\\u4E0D\\u6EE1\\u8DB3\\u521D\\u59CB\\u5316\\u58F0\\u660E\\u5951\\u7EA6\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u521D\\u59CB\\u5316\\u51FD\\u6570\\uFF0C\\u6216\\u53EA\\u58F0\\u660E onSession/globalComponents/pageProviders\\uFF1B\\u7A7A\\u6A21\\u5757\\u4E0E\\u975E\\u51FD\\u6570\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u65E0\\u6548\\u3002`,{remote:e.name,module:n});if(t.onSession!==void 0&&typeof t.onSession!="function")throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.onSession}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5C06 onSession \\u6539\\u4E3A\\u5177\\u540D\\u5BFC\\u51FA\\u7684\\u51FD\\u6570\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});if(o.setupExports=t,t.globalComponents!==void 0){if(typeof t.globalComponents!="object"||t.globalComponents===null||Array.isArray(t.globalComponents))throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AglobalComponents \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${Array.isArray(t.globalComponents)?"array":typeof t.globalComponents}\\uFF0C\\u5E94\\u4E3A\\u5BF9\\u8C61\\uFF08\\u952E=\\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D\\uFF0C\\u503C=\\u7EC4\\u4EF6\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const globalComponents = { \\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D: \\u7EC4\\u4EF6 } \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.globalComponents=t.globalComponents}if(t.pageProviders!==void 0){if(!Array.isArray(t.pageProviders))throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1ApageProviders \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.pageProviders}\\uFF0C\\u5E94\\u4E3A\\u6570\\u7EC4\\uFF08\\u6BCF\\u9879=\\u7EC4\\u4EF6\\u6216\\u96F6\\u53C2 loader\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const pageProviders = [AppProvider] \\u6216 [() => import(\'./X\').then((m) => m.AppProvider)] \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.pageProviders=t.pageProviders}s&&await Y(e.name,s,{appContext:z(),signal:(o.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(t){throw e.debug.setup="failed",t?.code&&v({remote:e.name,error:t}),o.setupExports=void 0,o.globalComponents=void 0,o.pageProviders=void 0,t}}async function fe(e,r,n){let o=z(),t=o?.sessionKey;if(typeof t!="string"||t===""){let y=new E(R.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${t===void 0?"\\u7F3A\\u5931":JSON.stringify(t)}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5BBF\\u4E3B\\u6BCF\\u6B21\\u767B\\u5F55\\u6216\\u91CD\\u767B\\u65F6\\u751F\\u6210\\u65B0\\u7684\\u975E\\u654F\\u611F\\u767B\\u5F55\\u4EE3\\u6B21 ID\\uFF0C\\u5E76\\u5728\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u9875\\u9762\\u524D\\u8C03\\u7528 provideAppContext({ ..., sessionKey: \'\\u767B\\u5F55\\u4EE3\\u6B21 ID\' })\\uFF1B\\u4E0D\\u8981\\u4F7F\\u7528 token \\u539F\\u6587\\u3002`,{remote:e.name});throw v({remote:e.name,error:y}),y}if(r.sessionPromise&&r.sessionKey===t)return r.sessionPromise;r.controller?.abort();let s=new AbortController;r.controller=s,r.sessionKey=t;let u=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),a=(async()=>{await u,!s.signal.aborted&&await Y(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 pe(e,r){let n=r?.[Ne];if(typeof n!="string"||n==="")return;let o=q(e.name);o.setupPromise||(o.setupPromise=de(e,r,n,o).catch(s=>{throw o.setupPromise=void 0,s})),await o.setupPromise;let t=o.setupExports?.onSession;typeof t=="function"&&await fe(e,o,t)}function me(){for(let e of D.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let L=e=>c[e]??=Object.create(null);function v(e){if(!ie(e.error)){try{_.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}}function ge(e="default"){return L(e),c}function H(e,r,n,o,t={}){let s=L(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 he(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 Z(e){for(let r of e){he(r);let n=d.get(r.name);d.set(r.name,{timeout:J,retries:ce,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??Fe,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??Ve,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:j(r.entry),status:"idle",setup:"none"}})}}function ye(e){Z([e])}function Se(e){f.push(...e),m.clear(),ue()}function I(e,r,n=!1){let o=r.shareScope||"default",t=r.shareKey||e,u=L(o)[t]||{},a=Object.keys(u).filter(i=>!n||r.singleton||u[i].value!==void 0);if(n&&a.length===0)return;let y=r.requiredVersion,g=a.filter(i=>y===void 0||y===!1||U(i,y)),p;if(r.singleton&&a.length>0){let i=a.filter(h=>u[h].loaded);if(p=[...i.length?i:a].sort(x).pop(),!g.includes(p)){let h=u[p],O=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${t}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42 ${y??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${a.join("\\u3001")}\\uFF1B\\u5355\\u4F8B\\u5019\\u9009\\u4E3A ${h.from} \\u63D0\\u4F9B\\u7684 ${p}\\u3002\n`+(r.strictVersion?`\\u7ED3\\u679C\\uFF1AstrictVersion \\u5DF2\\u5F00\\u542F\\uFF0C\\u672C\\u6B21\\u52A0\\u8F7D\\u5DF2\\u62D2\\u7EDD\\uFF0C\\u672A\\u4EA4\\u4ED8\\u4E0D\\u517C\\u5BB9\\u5B9E\\u4F8B\\u3002\n`:`\\u7ED3\\u679C\\uFF1A\\u590D\\u7528\\u6B64\\u5355\\u4F8B\\uFF1B\\u8BF7\\u786E\\u8BA4\\u4E24\\u7AEF API \\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\\u3002";if(r.strictVersion){let T=new E(R.SHARE_STRICT_VERSION,O,{shareKey:t,requiredVersion:y});throw v({remote:h.from,error:T}),T}let $=`${o}|${t}|${y??"*"}|${p}|${a.join(",")}`;l.has($)||(l.add($),console.warn(`[fulgurjs:MFU-010] ${O}`))}}else if(p=[...g].sort(x).pop(),!p){if(r.strictVersion){let i=new E(R.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${t}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${y}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${a.join("\\u3001")||"\\u65E0"}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u4FEE\\u6B63 shared.requiredVersion\\u3002`);throw v({remote:t,error:i}),i}return}return u[p]}function Q(e,r,n){let o=r.localVersion;if(!o||n===void 0)return;let t=r.shareScope||"default",s=r.shareKey||e,u=L(t),a=Object.hasOwn(u,s)?u[s]:void 0;if(a&&Object.keys(a).length>0){try{let g=I(e,r);if(g&&g.value===void 0){if(g.version===o)g.value=n,g.loaded=!0;else if(r.singleton&&!g.pendingGet){H(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}H(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let y=u[s]?.[o];y&&(y.value=n)}async function ee(e,r={}){let n=r.shareScope||"default",o=r.shareKey||e,t=L(n)[o]||{},s=S(e,r),u=_.resolveShare?m.get(s):void 0,a=u||I(e,r);if(!a){if(r.fallback){let i=await r.fallback();return Q(e,r,i),i}let p=new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${o}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${n}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${r.requiredVersion??"\\u4EFB\\u610F\\u7248\\u672C"} \\u8981\\u6C42\\u7684\\u7248\\u672C\\uFF0C\\u4E14\\u672A\\u914D\\u7F6E\\u672C\\u5730\\u526F\\u672C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728\\u5BBF\\u4E3B\\u6216\\u8FDC\\u7A0B\\u6CE8\\u518C\\u8BE5\\u4F9D\\u8D56\\uFF0C\\u6216\\u4E3A shared \\u914D\\u7F6E\\u53EF\\u7528\\u7684\\u672C\\u5730\\u526F\\u672C\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion});throw v({remote:o,error:p}),p}if(_.resolveShare&&!u){let p=await _.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:a,available:Object.values(t)});p&&(a=p),m.set(s,a)}if(a.value!==void 0)return m.set(S(e,r),a),a.value;if(a.loaded=!0,!a.pendingGet)try{a.pendingGet=a.get()}catch(p){a.pendingGet=Promise.reject(p)}let y=a.pendingGet,g;try{g=await y}catch(p){if(a.value!==void 0)return m.set(S(e,r),a),a.value;throw a.loaded=!1,m.get(s)===a&&m.delete(s),p}finally{a.pendingGet===y&&(a.pendingGet=void 0)}return a.value===void 0&&(a.value=g),m.set(S(e,r),a),a.value}function Ee(e,r={}){return _.resolveShare?m.get(S(e,r))?.value:I(e,r,!0)?.value}function Re(e,r,n,o){Q(e,{...r,localVersion:n},o)}function we(e,r){let n=r.shareScope||"default",o=r.shareKey||e;if(_.resolveShare){let s=S(e,r),u=m.get(s);if(u&&u.value!==void 0)return{kind:"ready",value:u.value};let a=u||_.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:I(e,r),available:Object.values(L(n)[o]||{})});if(a&&typeof a.then=="function")throw Promise.resolve(a).catch(()=>{}),new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u5BF9\\u5171\\u4EAB "${o}" \\u8FD4\\u56DE\\u4E86 Promise\\uFF0C\\u4F46\\u8BE5\\u5171\\u4EAB\\u6B63\\u88AB\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u6D88\\u8D39\\uFF08Vite 8 \\u540C\\u6B65\\u534F\\u5546\\u95E8\\u9762\\uFF09\\u3002\n\\u539F\\u56E0\\uFF1A\\u6A21\\u5757\\u6C42\\u503C\\u671F\\u65E0\\u6CD5\\u7B49\\u5F85\\u5F02\\u6B65\\u51B3\\u7B56\\uFF1B\\u9759\\u6001\\u5BFC\\u5165\\u4E0D\\u80FD\\u9759\\u9ED8\\u5FFD\\u7565 hook \\u51B3\\u7B56\\u3002\n\\u4FEE\\u6CD5\\uFF1AVite 8 HTML \\u5165\\u53E3\\u4F1A\\u5148\\u5B8C\\u6210\\u5F02\\u6B65\\u534F\\u5546\\uFF1B\\u5176\\u4ED6\\u5165\\u53E3\\u8BF7\\u5148\\u52A8\\u6001 loadShare \\u5EFA\\u7ACB\\u5FEB\\u7167\\uFF0C\\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u8BA9\\u8BE5\\u952E\\u540C\\u6B65\\u8FD4\\u56DE picked\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let y=a;if(y){if(y.value!==void 0)return m.set(S(e,r),y),{kind:"ready",value:y.value};if(y.version!==void 0&&y.version===r.localVersion)return{kind:"local"};throw new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u4E3A "${o}" \\u9009\\u62E9\\u4E86\\u672A\\u5C31\\u7EEA\\u7684 ${y.version??"\\u6761\\u76EE"}\\u3002\n\\u539F\\u56E0\\uFF1A\\u540C\\u6B65\\u6D88\\u8D39\\u4E0D\\u80FD\\u7B49\\u5F85\\u52A0\\u8F7D\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5148\\u52A8\\u6001 loadShare \\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u9009\\u62E9\\u5DF2\\u5C31\\u7EEA\\u5B9E\\u4F8B/\\u672C\\u5730\\u7248\\u672C ${r.localVersion??"\\u672A\\u58F0\\u660E"}\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0})}}let t=I(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||!U(r.localVersion,r.requiredVersion))){if(r.strictVersion||t.pendingGet)throw new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB "${o}" \\u9009\\u4E2D\\u4E86 ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version}\\uFF08\\u5C1A\\u672A\\u52A0\\u8F7D\\uFF09\\uFF0C\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u65E0\\u6CD5\\u7B49\\u5F85\\u5176\\u5B9E\\u4F8B\\u5C31\\u7EEA\\u3002\n\\u539F\\u56E0\\uFF1A\\u4E0D\\u80FD\\u6539\\u7528\\u4E0D\\u517C\\u5BB9\\u7684\\u672C\\u5730\\u526F\\u672C\\u6216\\u5206\\u88C2\\u5355\\u4F8B\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u8BA9\\u8BE5\\u5171\\u4EAB\\u7684\\u9996\\u6B21\\u6D88\\u8D39\\u5148\\u7ECF\\u4E00\\u6B21\\u52A8\\u6001 loadShare \\u5B8C\\u6210\\u52A0\\u8F7D\\uFF0C\\u6216\\u5C06\\u672C\\u5E94\\u7528\\u7248\\u672C\\u4E0E\\u4F5C\\u7528\\u57DF\\u63D0\\u4F9B\\u7248\\u672C\\u5BF9\\u9F50\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let s=`${n}|${o}|${t.version}|${r.localVersion}`;return l.has(s)||(l.add(s),console.warn(`[fulgurjs:MFU-010] \\u5171\\u4EAB\\u5355\\u4F8B "${o}"\\uFF1A\\u4F5C\\u7528\\u57DF\\u4E2D ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version} \\u5C1A\\u672A\\u52A0\\u8F7D\\uFF0C\\u9996\\u4E2A\\u6D88\\u8D39\\u8005\\u4EE5\\u672C\\u5730\\u7248\\u672C ${r.localVersion??""} \\u63A5\\u7BA1\\uFF08\\u540E\\u7EED\\u6D88\\u8D39\\u8005\\u6309\\u5DF2\\u52A0\\u8F7D\\u4F18\\u5148\\u6536\\u655B\\u5230\\u8BE5\\u5B9E\\u4F8B\\uFF09\\u3002`)),{kind:"local"}}return console.warn(`[fulgurjs] \\u5171\\u4EAB "${o}"\\uFF1A\\u975E\\u5355\\u4F8B\\u540C\\u6B65\\u6D88\\u8D39\\u4F7F\\u7528\\u672C\\u5730 ${r.localVersion??""}\\uFF0C\\u8FDC\\u7A0B ${t.version} \\u5C1A\\u672A\\u5C31\\u7EEA\\u3002`),{kind:"local"}}async function be(e){if(_.resolveShare){for(let{name:r,opts:n}of e){let o=S(r,n);if(m.has(o))continue;let t=I(r,n),s=await _.resolveShare({shareKey:n.shareKey||r,shareScope:n.shareScope||"default",requiredVersion:n.requiredVersion,picked:t,available:Object.values(L(n.shareScope||"default")[n.shareKey||r]||{})})||t;s&&m.set(o,s)}for(let{name:r,opts:n}of e)await ee(r,n)}}function j(e=""){return F(e).split(/[?#]/,1)[0]}function re(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 ve=e=>new Promise(r=>setTimeout(r,e)),ne=new Set;function G(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}`;ne.has(o)||(ne.add(o),console.warn(`[fulgurjs] ${n} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`))}else throw Object.assign(new Error(n),{code:R.REMOTE_NAME_MISMATCH})}}async function te(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)})),re(s,r.timeout??J,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${j(e)}`)}async function oe(e,r){let n=e.shareScope||"default";if(e.container){let s=V.get(e.container);if(s&&s!==n)throw new E(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${s}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let o=e.breakerState;if(o.openUntil>Date.now()){let s=new E(R.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(o.openUntil).toISOString()} \\u540E\\u5141\\u8BB8\\u91CD\\u8BD5\\u3002\\u8BF7\\u5148\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u670D\\u52A1\\u548C\\u7F51\\u7EDC\\u3002`,{remote:e.name,stage:"container"});throw v({remote:e.name,error:s}),s}e.state="loading",e.debug.status="loading";let t=(async()=>{let s=[];if(e.promise)s.push(async()=>{let i=await re(e.promise(),e.timeout??J,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),h=typeof i=="string"?await te(i,e):i;return G(h,e),h});else for(let i of[e.entry,...e.fallback??[]])s.push(async()=>{let h=await te(i,e);return G(h,e),h});let u,a,y=!1,g=r?.retries??e.retries??ce;for(let i of s){for(let h=0;h<=g;h++){let O=performance.now();try{u=await i(),e.lastLoadMs=Math.round(performance.now()-O),e.debug.lastLoadMs=e.lastLoadMs,y=!0;break}catch($){if(a=$,$?.code)throw $;h<g&&await ve(Math.min(De,200*2**h)*(1-Ke*(1-2*Math.random())))}}if(y)break}if(!y||!u){let i=j(e.entry),h=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${i}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),h.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),h.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${i}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),h.push("2. \\u68C0\\u67E5 Nginx/CDN \\u7684\\u5165\\u53E3\\u8DEF\\u5F84\\u6620\\u5C04\\uFF1B\\u8BE5\\u5730\\u5740\\u4E0D\\u80FD\\u56DE\\u9000\\u5230 index.html\\u3002")),new E(R.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${i} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${M(a)}\n\\u4FEE\\u6CD5\\uFF1A\n${h.join(`\n`)}`,{remote:e.name,stage:"container"},{cause:a})}G(u,e);let p=V.get(u);if(p&&p!==n)throw new E(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${p}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof u.init=="function"&&await u.init(c),V.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=M(s),o.fails+=1,o.fails>=e.breakerThreshold&&(o.openUntil=Date.now()+e.breakerResetMs,o.fails=0),s instanceof E)throw v({remote:e.name,error:s}),s;if(s?.code)throw v({remote:e.name,error:s}),s;let u=new E(R.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${M(s)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name,stage:"container"},{cause:s});throw v({remote:e.name,error:u}),u}}function X(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:se(e.slice(r+1))}}function se(e){return e?e.startsWith(".")?e:`./${e}`:""}async function Pe(e,r){let{remote:n,module:o}=X(e);if(o&&K===n)throw new E(R.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 setup/onSession \\u53C8\\u540C\\u6B65\\u52A0\\u8F7D\\u4E86\\u81EA\\u8EAB\\u6A21\\u5757\\uFF0C\\u5F62\\u6210\\u5FAA\\u73AF\\u7B49\\u5F85\\u3002\n\\u539F\\u56E0\\uFF1A\\u521D\\u59CB\\u5316\\u5C1A\\u672A\\u5B8C\\u6210\\uFF0C\\u4E0D\\u80FD\\u7B49\\u5F85\\u81EA\\u8EAB\\u7684\\u521D\\u59CB\\u5316\\u7ED3\\u679C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u4E0D\\u8981\\u5728 setup/onSession \\u4E2D\\u52A0\\u8F7D\\u540C\\u4E00\\u8FDC\\u7A0B\\u7684\\u6A21\\u5757\\uFF1B\\u8BF7\\u5728\\u9875\\u9762\\u7EC4\\u4EF6\\u4E2D\\u52A0\\u8F7D\\uFF0C\\u6216\\u901A\\u8FC7 context \\u89E3\\u8026\\u3002`,{remote:n});try{_.beforeLoadRemote?.({remote:n,module:o})}catch(i){W("beforeLoadRemote",i)}let t=d.get(n);if(!t)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:n});let s;try{let i=o&&t.manifestUrl?B(e):Promise.resolve();[s]=await Promise.all([oe(t,{retries:r?.retries}),i])}catch(i){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF1B\\u4F7F\\u7528\\u914D\\u7F6E\\u7684 fallbackModule\\u3002\\u6458\\u8981\\uFF1A`,M(i)),v({remote:n,error:i}),await r.fallbackModule();throw i}if(!o)return s;await pe(t,s);let u=q(n).globalComponents,a=r?.consumerApp;if(u&&a&&typeof a.component=="function")for(let i of Object.keys(u))a.component(i,u[i]);let y=q(n).pageProviders;y&&y.length>0&&typeof a?.pageProviders=="function"&&a.pageProviders(y);let g=`${n}@${t.shareScope||"default"}#${o}`;b.has(g)||b.set(g,s.get(o).catch(i=>{if(b.delete(g),i instanceof E||i?.code)throw v({remote:n,error:i}),i;let h=new E(R.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u52A0\\u8F7D\\u6A21\\u5757 "${o}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${M(i)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:n,module:o,stage:"expose"},{cause:i});throw v({remote:n,error:h}),h}));let p;try{p=await b.get(g)}catch(i){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF1B\\u4F7F\\u7528\\u914D\\u7F6E\\u7684 fallbackModule\\u3002\\u6458\\u8981\\uFF1A`,M(i)),v({remote:n,error:i}),await r.fallbackModule();throw i}try{_.afterLoadRemote?.({remote:n,module:o,module_ns:p})}catch(i){W("afterLoadRemote",i)}if(p&&typeof p=="object"&&Object.keys(p).length===0){let i=new E(R.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6A21\\u5757 "${o}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:n,module:o});v({remote:n,error:i}),console.error(i.message)}return p}function $e(e){let r=d.get(e);if(!r)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return oe(r)}async function B(e,r={}){let{remote:n,module:o}=X(e),t=d.get(n);if(!t)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:n});let s=r.mode??"preload",u=(g,p)=>{if(g.sheet)return Promise.resolve();let i=A.get(g);if(i)return i;let h=new Promise(O=>{let $=()=>{g.removeEventListener("load",$),g.removeEventListener("error",T),O()},T=()=>{v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${p}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:n})}),$()};g.addEventListener("load",$,{once:!0}),g.addEventListener("error",T,{once:!0}),g.sheet&&$()});return A.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"?A.get(i)??Promise.resolve():Promise.resolve();let h=document.createElement("link");h.rel=p==="style"?"stylesheet":"modulepreload",h.href=g,s==="prefetch"&&(h.fetchPriority="low");let O=p==="style"?u(h,g):Promise.resolve();return document.head.appendChild(h),p==="style"&&s==="preload"?O:Promise.resolve()},y=g=>{let p=typeof document<"u"?document.baseURI:void 0,i=new URL(t.entry,p||"http://fulgurjs.invalid/");return!i.pathname.endsWith("/")&&!i.pathname.split("/").pop().includes(".")&&(i.pathname+="/"),new URL(g,i).href};try{if(t.manifestUrl){let g=P.get(t.manifestUrl);g||(g=fetch(t.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(i=>i.ok?i.json():void 0),P.set(t.manifestUrl,g),g.then(i=>{i||P.delete(t.manifestUrl)},()=>P.delete(t.manifestUrl)));let p=await g;if(p){let i=p.schemaVersion;if(typeof i=="number"&&(!Number.isInteger(i)||i>1)){v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(i)}\\uFF0C\\u5F53\\u524D\\u4EC5\\u652F\\u6301\\u7248\\u672C 1\\u3002\\u8BF7\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u548C\\u8FDC\\u7A0B\\u7684\\u63D2\\u4EF6\\u7248\\u672C\\u3002`,{remote:n})}),await a(t.entry,"modulepreload");return}await a(t.entry,"modulepreload");let h=p.exposes,O=Array.isArray(h)?h.filter(k=>k&&typeof k=="object").map(k=>[String(k.name??""),k]):h&&typeof h=="object"?Object.entries(h):[],$=o?O.filter(([k,N])=>se(String(N?.name??k))===o):O,T=[];for(let[,k]of $)if(typeof k?.file=="string"&&await a(y(k.file),"modulepreload"),Array.isArray(k?.css))for(let N of k.css){if(typeof N!="string")continue;let _e=a(y(N),"style");s==="preload"&&T.push(_e)}await Promise.all(T);return}}await a(t.entry,"modulepreload")}catch(g){v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${M(g)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=c,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of d)e[r]={...n.debug,entry:j(n.entry)};return e},errors:[]}),{shareScopeMap:c,initSharing:ge,registerShare:H,registerRemotes:Z,registerRemote:ye,registerPlugins:Se,loadShare:ee,loadShareSync:we,prepareShares:be,getLoadedShare:Ee,pinLoadedShare:Re,loadRemote:Pe,getContainer:$e,preloadRemote:B,parseSpec:X,clearSessionState:me,reportRemoteError:e=>{v(e)}}}var le=globalThis,w=le.__FULGURJS_RUNTIME__??qe();le.__FULGURJS_RUNTIME__=w;try{Object.freeze(w)}catch{}var Ye=ae;function Ze(){return w}var Qe=w.initSharing,er=w.registerShare,rr=w.registerRemotes,nr=w.registerRemote,tr=w.registerPlugins,or=w.loadShare,sr=w.getLoadedShare,ir=w.prepareShares||(async c=>{for(let{name:d,opts:f}of c)await w.loadShare(d,f)}),ar=w.loadShareSync,cr=w.pinLoadedShare,lr=w.loadRemote,ur=w.getContainer,dr=w.preloadRemote,fr=w.parseSpec,pr=w.clearSessionState,mr=w.shareScopeMap;function gr(c){if(c&&typeof c=="object"&&"default"in c){let d=c.default;return d!==void 0?d:c}return c}var hr=w;export{pr as clearSessionState,hr as default,ur as getContainer,sr as getLoadedShare,Ze as getRuntime,Qe as initSharing,lr as loadRemote,or as loadShare,ar as loadShareSync,fr as parseSpec,cr as pinLoadedShare,dr as preloadRemote,ir as prepareShares,tr as registerPlugins,nr as registerRemote,rr as registerRemotes,er as registerShare,w as runtime,mr as shareScopeMap,gr as unwrapDefault,Ye as version};\n';
|
|
4444
|
+
var runtime_code_gen_default = 'var ke=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function C(c){let d=ke.exec(String(c).trim());return d?{major:Number(d[1]),minor:Number(d[2]??0),patch:Number(d[3]??0),pre:d[4]?d[4].split("."):[]}:null}function Oe(c,d){if(c.length===0&&d.length===0)return 0;if(c.length===0)return 1;if(d.length===0)return-1;let f=Math.max(c.length,d.length);for(let l=0;l<f;l++){let m=c[l],S=d[l];if(m===void 0)return-1;if(S===void 0)return 1;let b=/^\\d+$/.test(m),P=/^\\d+$/.test(S);if(b&&P){let A=Number(m)-Number(S);if(A!==0)return A}else{if(b!==P)return b?-1:1;if(m!==S)return m<S?-1:1}}return 0}function x(c,d){let f=C(c),l=C(d);return!f||!l?c<d?-1:c>d?1:0:f.major!==l.major?f.major-l.major:f.minor!==l.minor?f.minor-l.minor:f.patch!==l.patch?f.patch-l.patch:Oe(f.pre,l.pre)}var Me=/^[a-z]+[+:-]/i;function U(c,d){if(d===!1||d==null||d==="")return!0;let f=String(d).trim();return!f||f==="*"||f==="latest"||Me.test(f)?!0:f.split("||").some(l=>Te(c,l.trim()))}function Te(c,d){if(!d||d==="*")return!C(c)?.pre.length;let f=d.split(/\\s+-\\s+/);if(f.length===2){let S=f[0].trim(),b=f[1].trim();return!(!U(c,`>=${S}`)||!U(c,`<=${b}`))}let l=C(c);if(!l)return!1;let m=Le(d);if(m===null)return!0;for(let S of m)if(!je(l,c,S))return!1;return!(l.pre.length>0&&!m.some(S=>S.ver.pre.length>0)&&!m.some(b=>b.ver.major===l.major&&b.ver.minor===l.minor&&b.ver.patch===l.patch))}function Le(c){let d=[],f=c.trim().split(/\\s+/).filter(Boolean);if(f.length===0)return null;for(let l of f){let m=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(l);if(!m)return null;let S=m[1],b=m[2],P=Ae(S,b);if(P===null)return null;d.push(...P)}return d}function Ae(c,d){let f=xe(d);if(!f)return null;let{ver:l,partial:m}=f;switch(c){case"^":{let S=Ie(l);return S?[{op:">=",ver:l},{op:"<",ver:S}]:null}case"~":{let S=m>=2?{major:l.major,minor:l.minor+1,patch:0,pre:[]}:{major:l.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:l},{op:"<",ver:S}]}case">=":return[{op:">=",ver:l}];case">":return m===1?[{op:">=",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:">",ver:l}];case"<":return m===1?[{op:"<",ver:{major:l.major,minor:0,patch:0,pre:[]}}]:m===2?[{op:"<",ver:{major:l.major,minor:l.minor,patch:0,pre:[]}}]:[{op:"<",ver:l}];case"<=":return[{op:"<=",ver:l}];case"=":case void 0:return m===1?[{op:">=",ver:l},{op:"<",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:l},{op:"<",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:l}];default:return null}}function Ie(c){return c.major>0?{major:c.major+1,minor:0,patch:0,pre:[]}:c.minor>0?{major:0,minor:c.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:c.patch+1,pre:[]}}function xe(c){let d=c.replace(/^v/,"").trim();if(!d||d==="*"||d==="x"||d==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let f=d.split("."),l=[],m=0;for(let P of f.slice(0,3))if(/^\\d+$/.test(P))l.push(Number(P)),m++;else{if(P==="x"||P==="X"||P==="*")break;break}let S=d.split("-"),b=S.length>1?S.slice(1).join("-").split("+")[0].split("."):[];return m===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:l[0]??0,minor:l[1]??0,patch:l[2]??0,pre:b},partial:m}}function Ue(c,d){switch(d){case">=":return c>=0;case">":return c>0;case"<":return c<0;case"<=":return c<=0;case"=":return c===0}}function je(c,d,f){let l=`${c.major}.${c.minor}.${c.patch}`+(c.pre.length?`-${c.pre.join(".")}`:"");if(f.upper)return!(!(x(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:""))>=0)||!(x(l,`${f.upper.major}.${f.upper.minor}.${f.upper.patch}`)<0));let m=x(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:"")),S=Ue(m,f.op);return f.ver.pre.length>0&&c.pre.length===0&&(f.op===">"||f.op==="<")?!1:S}function F(c){return c.replace(/(https?:\\/\\/)(?:[^\\s/@]+@)?([^\\s?#"\'<>\uFF0C\u3002\uFF1B\uFF09)\\]]+)(?:[?#][^\\s"\'<>\uFF0C\u3002\uFF1B\uFF09)\\]]*)?/g,"$1$2")}function M(c){return F(String(c?.message??c)).replace(/\\b(token|password|cookie|authorization)["\']?\\s*[:=]\\s*["\']?(?:Bearer\\s+)?[^\\s,;"\'}]+/gi,"$1=[redacted]")}var E=class extends Error{code;details;constructor(d,f,l,m){super(`[fulgurjs:${d}] ${F(f)}`,m),this.name="FgError",this.code=d,this.details=l}},R={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014",COMPONENT_EXPORT_INVALID:"MFU-018",VUE_RUNTIME_IDENTITY_MISMATCH:"MFU-019",REMOTE_RENDER_ERROR:"MFU-020"};function ie(c){if(typeof c!="object"||c===null)return!1;let d=globalThis,f=d.__FULGURJS_REPORTED_ERRORS__??=new WeakSet;return f.has(c)?!0:(f.add(c),!1)}var ae="6.14.5";var Ne="__fulgurjsSetup",Ce="__FULGURJS_APP_CONFIG__",J=15e3,ce=2,Fe=5,Ve=3e4,De=4e3,Ke=.2;function qe(){let c=Object.create(null),d=new Map,f=[],l=new Set,m=new Map,S=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,P=new Map,A=new WeakMap,V=new WeakMap,W=(e,r)=>{console.warn(`[fulgurjs] ${e} \\u94A9\\u5B50\\u5931\\u8D25\\uFF08\\u4E0D\\u5F71\\u54CD\\u52A0\\u8F7D\\uFF09\\uFF0C\\u8BF7\\u68C0\\u67E5\\uFF1A`,M(r))},_={},ue=()=>{for(let e of f)try{e.init?.(_)}catch(r){console.warn("[fulgurjs] \\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BF7\\u68C0\\u67E5\\uFF1A",e.name,M(r))}},D=new Map,K,q=e=>{let r=D.get(e);return r||D.set(e,r={}),r},z=()=>globalThis[Ce]??{};async function Y(e,r,n,o){let t=u=>{if(u instanceof E)return v({remote:e,error:u}),u;let a=new E(R.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${o} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${M(u)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${o} \\u51FD\\u6570\\u540E\\u91CD\\u65B0\\u52A0\\u8F7D\\uFF1B\\u5931\\u8D25\\u7F13\\u5B58\\u5DF2\\u6E05\\u9664\\uFF0C\\u53EF\\u4EE5\\u76F4\\u63A5\\u91CD\\u8BD5\\u3002`,{remote:e,phase:o},{cause:u});return v({remote:e,error:a}),a};K=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{K=void 0}try{await s}catch(u){throw t(u)}}async function de(e,r,n,o){e.debug.setup="pending";try{if(e.manifestUrl)try{await B(`${e.name}/${n}`)}catch{}let t=await r.get(n),s=t?.default,u=t?.onSession!==void 0||t?.globalComponents!==void 0||t?.pageProviders!==void 0;if(s!==void 0&&typeof s!="function"||!s&&!u)throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${t==null?String(t):typeof s}\\uFF0C\\u4E14\\u6A21\\u5757\\u4E0D\\u6EE1\\u8DB3\\u521D\\u59CB\\u5316\\u58F0\\u660E\\u5951\\u7EA6\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u521D\\u59CB\\u5316\\u51FD\\u6570\\uFF0C\\u6216\\u53EA\\u58F0\\u660E onSession/globalComponents/pageProviders\\uFF1B\\u7A7A\\u6A21\\u5757\\u4E0E\\u975E\\u51FD\\u6570\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u65E0\\u6548\\u3002`,{remote:e.name,module:n});if(t.onSession!==void 0&&typeof t.onSession!="function")throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.onSession}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5C06 onSession \\u6539\\u4E3A\\u5177\\u540D\\u5BFC\\u51FA\\u7684\\u51FD\\u6570\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});if(o.setupExports=t,t.globalComponents!==void 0){if(typeof t.globalComponents!="object"||t.globalComponents===null||Array.isArray(t.globalComponents))throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AglobalComponents \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${Array.isArray(t.globalComponents)?"array":typeof t.globalComponents}\\uFF0C\\u5E94\\u4E3A\\u5BF9\\u8C61\\uFF08\\u952E=\\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D\\uFF0C\\u503C=\\u7EC4\\u4EF6\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const globalComponents = { \\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D: \\u7EC4\\u4EF6 } \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.globalComponents=t.globalComponents}if(t.pageProviders!==void 0){if(!Array.isArray(t.pageProviders))throw new E(R.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1ApageProviders \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.pageProviders}\\uFF0C\\u5E94\\u4E3A\\u6570\\u7EC4\\uFF08\\u6BCF\\u9879=\\u7EC4\\u4EF6\\u6216\\u96F6\\u53C2 loader\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const pageProviders = [AppProvider] \\u6216 [() => import(\'./X\').then((m) => m.AppProvider)] \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.pageProviders=t.pageProviders}s&&await Y(e.name,s,{appContext:z(),signal:(o.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(t){throw e.debug.setup="failed",t?.code&&v({remote:e.name,error:t}),o.setupExports=void 0,o.globalComponents=void 0,o.pageProviders=void 0,t}}async function fe(e,r,n){let o=z(),t=o?.sessionKey;if(typeof t!="string"||t===""){let y=new E(R.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${t===void 0?"\\u7F3A\\u5931":JSON.stringify(t)}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5BBF\\u4E3B\\u6BCF\\u6B21\\u767B\\u5F55\\u6216\\u91CD\\u767B\\u65F6\\u751F\\u6210\\u65B0\\u7684\\u975E\\u654F\\u611F\\u767B\\u5F55\\u4EE3\\u6B21 ID\\uFF0C\\u5E76\\u5728\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u9875\\u9762\\u524D\\u8C03\\u7528 provideAppContext({ ..., sessionKey: \'\\u767B\\u5F55\\u4EE3\\u6B21 ID\' })\\uFF1B\\u4E0D\\u8981\\u4F7F\\u7528 token \\u539F\\u6587\\u3002`,{remote:e.name});throw v({remote:e.name,error:y}),y}if(r.sessionPromise&&r.sessionKey===t)return r.sessionPromise;r.controller?.abort();let s=new AbortController;r.controller=s,r.sessionKey=t;let u=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),a=(async()=>{await u,!s.signal.aborted&&await Y(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 pe(e,r){let n=r?.[Ne];if(typeof n!="string"||n==="")return;let o=q(e.name);o.setupPromise||(o.setupPromise=de(e,r,n,o).catch(s=>{throw o.setupPromise=void 0,s})),await o.setupPromise;let t=o.setupExports?.onSession;typeof t=="function"&&await fe(e,o,t)}function me(){for(let e of D.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let L=e=>c[e]??=Object.create(null);function v(e){if(!ie(e.error)){try{_.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}}function ge(e="default"){return L(e),c}function H(e,r,n,o,t={}){let s=L(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 he(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 Z(e){for(let r of e){he(r);let n=d.get(r.name);d.set(r.name,{timeout:J,retries:ce,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??Fe,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??Ve,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:j(r.entry),status:"idle",setup:"none"}})}}function ye(e){Z([e])}function Se(e){f.push(...e),m.clear(),ue()}function I(e,r,n=!1){let o=r.shareScope||"default",t=r.shareKey||e,u=L(o)[t]||{},a=Object.keys(u).filter(i=>!n||r.singleton||u[i].value!==void 0);if(n&&a.length===0)return;let y=r.requiredVersion,g=a.filter(i=>y===void 0||y===!1||U(i,y)),p;if(r.singleton&&a.length>0){let i=a.filter(h=>u[h].loaded);if(p=[...i.length?i:a].sort(x).pop(),!g.includes(p)){let h=u[p],O=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${t}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42 ${y??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${a.join("\\u3001")}\\uFF1B\\u5355\\u4F8B\\u5019\\u9009\\u4E3A ${h.from} \\u63D0\\u4F9B\\u7684 ${p}\\u3002\n`+(r.strictVersion?`\\u7ED3\\u679C\\uFF1AstrictVersion \\u5DF2\\u5F00\\u542F\\uFF0C\\u672C\\u6B21\\u52A0\\u8F7D\\u5DF2\\u62D2\\u7EDD\\uFF0C\\u672A\\u4EA4\\u4ED8\\u4E0D\\u517C\\u5BB9\\u5B9E\\u4F8B\\u3002\n`:`\\u7ED3\\u679C\\uFF1A\\u590D\\u7528\\u6B64\\u5355\\u4F8B\\uFF1B\\u8BF7\\u786E\\u8BA4\\u4E24\\u7AEF API \\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\\u3002";if(r.strictVersion){let T=new E(R.SHARE_STRICT_VERSION,O,{shareKey:t,requiredVersion:y});throw v({remote:h.from,error:T}),T}let $=`${o}|${t}|${y??"*"}|${p}|${a.join(",")}`;l.has($)||(l.add($),console.warn(`[fulgurjs:MFU-010] ${O}`))}}else if(p=[...g].sort(x).pop(),!p){if(r.strictVersion){let i=new E(R.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${t}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${y}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${a.join("\\u3001")||"\\u65E0"}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u4FEE\\u6B63 shared.requiredVersion\\u3002`);throw v({remote:t,error:i}),i}return}return u[p]}function Q(e,r,n){let o=r.localVersion;if(!o||n===void 0)return;let t=r.shareScope||"default",s=r.shareKey||e,u=L(t),a=Object.hasOwn(u,s)?u[s]:void 0;if(a&&Object.keys(a).length>0){try{let g=I(e,r);if(g&&g.value===void 0){if(g.version===o)g.value=n,g.loaded=!0;else if(r.singleton&&!g.pendingGet){H(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}H(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let y=u[s]?.[o];y&&(y.value=n)}async function ee(e,r={}){let n=r.shareScope||"default",o=r.shareKey||e,t=L(n)[o]||{},s=S(e,r),u=_.resolveShare?m.get(s):void 0,a=u||I(e,r);if(!a){if(r.fallback){let i=await r.fallback();return Q(e,r,i),i}let p=new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${o}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${n}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${r.requiredVersion??"\\u4EFB\\u610F\\u7248\\u672C"} \\u8981\\u6C42\\u7684\\u7248\\u672C\\uFF0C\\u4E14\\u672A\\u914D\\u7F6E\\u672C\\u5730\\u526F\\u672C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728\\u5BBF\\u4E3B\\u6216\\u8FDC\\u7A0B\\u6CE8\\u518C\\u8BE5\\u4F9D\\u8D56\\uFF0C\\u6216\\u4E3A shared \\u914D\\u7F6E\\u53EF\\u7528\\u7684\\u672C\\u5730\\u526F\\u672C\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion});throw v({remote:o,error:p}),p}if(_.resolveShare&&!u){let p=await _.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:a,available:Object.values(t)});p&&(a=p),m.set(s,a)}if(a.value!==void 0)return m.set(S(e,r),a),a.value;if(a.loaded=!0,!a.pendingGet)try{a.pendingGet=a.get()}catch(p){a.pendingGet=Promise.reject(p)}let y=a.pendingGet,g;try{g=await y}catch(p){if(a.value!==void 0)return m.set(S(e,r),a),a.value;throw a.loaded=!1,m.get(s)===a&&m.delete(s),p}finally{a.pendingGet===y&&(a.pendingGet=void 0)}return a.value===void 0&&(a.value=g),m.set(S(e,r),a),a.value}function Ee(e,r={}){return _.resolveShare?m.get(S(e,r))?.value:I(e,r,!0)?.value}function Re(e,r,n,o){Q(e,{...r,localVersion:n},o)}function we(e,r){let n=r.shareScope||"default",o=r.shareKey||e;if(_.resolveShare){let s=S(e,r),u=m.get(s);if(u&&u.value!==void 0)return{kind:"ready",value:u.value};let a=u||_.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:I(e,r),available:Object.values(L(n)[o]||{})});if(a&&typeof a.then=="function")throw Promise.resolve(a).catch(()=>{}),new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u5BF9\\u5171\\u4EAB "${o}" \\u8FD4\\u56DE\\u4E86 Promise\\uFF0C\\u4F46\\u8BE5\\u5171\\u4EAB\\u6B63\\u88AB\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u6D88\\u8D39\\uFF08Vite 8 \\u540C\\u6B65\\u534F\\u5546\\u95E8\\u9762\\uFF09\\u3002\n\\u539F\\u56E0\\uFF1A\\u6A21\\u5757\\u6C42\\u503C\\u671F\\u65E0\\u6CD5\\u7B49\\u5F85\\u5F02\\u6B65\\u51B3\\u7B56\\uFF1B\\u9759\\u6001\\u5BFC\\u5165\\u4E0D\\u80FD\\u9759\\u9ED8\\u5FFD\\u7565 hook \\u51B3\\u7B56\\u3002\n\\u4FEE\\u6CD5\\uFF1AVite 8 HTML \\u5165\\u53E3\\u4F1A\\u5148\\u5B8C\\u6210\\u5F02\\u6B65\\u534F\\u5546\\uFF1B\\u5176\\u4ED6\\u5165\\u53E3\\u8BF7\\u5148\\u52A8\\u6001 loadShare \\u5EFA\\u7ACB\\u5FEB\\u7167\\uFF0C\\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u8BA9\\u8BE5\\u952E\\u540C\\u6B65\\u8FD4\\u56DE picked\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let y=a;if(y){if(y.value!==void 0)return m.set(S(e,r),y),{kind:"ready",value:y.value};if(y.version!==void 0&&y.version===r.localVersion)return{kind:"local"};throw new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u4E3A "${o}" \\u9009\\u62E9\\u4E86\\u672A\\u5C31\\u7EEA\\u7684 ${y.version??"\\u6761\\u76EE"}\\u3002\n\\u539F\\u56E0\\uFF1A\\u540C\\u6B65\\u6D88\\u8D39\\u4E0D\\u80FD\\u7B49\\u5F85\\u52A0\\u8F7D\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5148\\u52A8\\u6001 loadShare \\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u9009\\u62E9\\u5DF2\\u5C31\\u7EEA\\u5B9E\\u4F8B/\\u672C\\u5730\\u7248\\u672C ${r.localVersion??"\\u672A\\u58F0\\u660E"}\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0})}}let t=I(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||!U(r.localVersion,r.requiredVersion))){if(r.strictVersion||t.pendingGet)throw new E(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB "${o}" \\u9009\\u4E2D\\u4E86 ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version}\\uFF08\\u5C1A\\u672A\\u52A0\\u8F7D\\uFF09\\uFF0C\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u65E0\\u6CD5\\u7B49\\u5F85\\u5176\\u5B9E\\u4F8B\\u5C31\\u7EEA\\u3002\n\\u539F\\u56E0\\uFF1A\\u4E0D\\u80FD\\u6539\\u7528\\u4E0D\\u517C\\u5BB9\\u7684\\u672C\\u5730\\u526F\\u672C\\u6216\\u5206\\u88C2\\u5355\\u4F8B\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u8BA9\\u8BE5\\u5171\\u4EAB\\u7684\\u9996\\u6B21\\u6D88\\u8D39\\u5148\\u7ECF\\u4E00\\u6B21\\u52A8\\u6001 loadShare \\u5B8C\\u6210\\u52A0\\u8F7D\\uFF0C\\u6216\\u5C06\\u672C\\u5E94\\u7528\\u7248\\u672C\\u4E0E\\u4F5C\\u7528\\u57DF\\u63D0\\u4F9B\\u7248\\u672C\\u5BF9\\u9F50\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let s=`${n}|${o}|${t.version}|${r.localVersion}`;return l.has(s)||(l.add(s),console.warn(`[fulgurjs:MFU-010] \\u5171\\u4EAB\\u5355\\u4F8B "${o}"\\uFF1A\\u4F5C\\u7528\\u57DF\\u4E2D ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version} \\u5C1A\\u672A\\u52A0\\u8F7D\\uFF0C\\u9996\\u4E2A\\u6D88\\u8D39\\u8005\\u4EE5\\u672C\\u5730\\u7248\\u672C ${r.localVersion??""} \\u63A5\\u7BA1\\uFF08\\u540E\\u7EED\\u6D88\\u8D39\\u8005\\u6309\\u5DF2\\u52A0\\u8F7D\\u4F18\\u5148\\u6536\\u655B\\u5230\\u8BE5\\u5B9E\\u4F8B\\uFF09\\u3002`)),{kind:"local"}}return console.warn(`[fulgurjs] \\u5171\\u4EAB "${o}"\\uFF1A\\u975E\\u5355\\u4F8B\\u540C\\u6B65\\u6D88\\u8D39\\u4F7F\\u7528\\u672C\\u5730 ${r.localVersion??""}\\uFF0C\\u8FDC\\u7A0B ${t.version} \\u5C1A\\u672A\\u5C31\\u7EEA\\u3002`),{kind:"local"}}async function be(e){if(_.resolveShare){for(let{name:r,opts:n}of e){let o=S(r,n);if(m.has(o))continue;let t=I(r,n),s=await _.resolveShare({shareKey:n.shareKey||r,shareScope:n.shareScope||"default",requiredVersion:n.requiredVersion,picked:t,available:Object.values(L(n.shareScope||"default")[n.shareKey||r]||{})})||t;s&&m.set(o,s)}for(let{name:r,opts:n}of e)await ee(r,n)}}function j(e=""){return F(e).split(/[?#]/,1)[0]}function re(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 ve=e=>new Promise(r=>setTimeout(r,e)),ne=new Set;function G(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}`;ne.has(o)||(ne.add(o),console.warn(`[fulgurjs] ${n} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`))}else throw Object.assign(new Error(n),{code:R.REMOTE_NAME_MISMATCH})}}async function te(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)})),re(s,r.timeout??J,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${j(e)}`)}async function oe(e,r){let n=e.shareScope||"default";if(e.container){let s=V.get(e.container);if(s&&s!==n)throw new E(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${s}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let o=e.breakerState;if(o.openUntil>Date.now()){let s=new E(R.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(o.openUntil).toISOString()} \\u540E\\u5141\\u8BB8\\u91CD\\u8BD5\\u3002\\u8BF7\\u5148\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u670D\\u52A1\\u548C\\u7F51\\u7EDC\\u3002`,{remote:e.name,stage:"container"});throw v({remote:e.name,error:s}),s}e.state="loading",e.debug.status="loading";let t=(async()=>{let s=[];if(e.promise)s.push(async()=>{let i=await re(e.promise(),e.timeout??J,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),h=typeof i=="string"?await te(i,e):i;return G(h,e),h});else for(let i of[e.entry,...e.fallback??[]])s.push(async()=>{let h=await te(i,e);return G(h,e),h});let u,a,y=!1,g=r?.retries??e.retries??ce;for(let i of s){for(let h=0;h<=g;h++){let O=performance.now();try{u=await i(),e.lastLoadMs=Math.round(performance.now()-O),e.debug.lastLoadMs=e.lastLoadMs,y=!0;break}catch($){if(a=$,$?.code)throw $;h<g&&await ve(Math.min(De,200*2**h)*(1-Ke*(1-2*Math.random())))}}if(y)break}if(!y||!u){let i=j(e.entry),h=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${i}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),h.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),h.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${i}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),h.push("2. \\u68C0\\u67E5 Nginx/CDN \\u7684\\u5165\\u53E3\\u8DEF\\u5F84\\u6620\\u5C04\\uFF1B\\u8BE5\\u5730\\u5740\\u4E0D\\u80FD\\u56DE\\u9000\\u5230 index.html\\u3002")),new E(R.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${i} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${M(a)}\n\\u4FEE\\u6CD5\\uFF1A\n${h.join(`\n`)}`,{remote:e.name,stage:"container"},{cause:a})}G(u,e);let p=V.get(u);if(p&&p!==n)throw new E(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${p}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof u.init=="function"&&await u.init(c),V.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=M(s),o.fails+=1,o.fails>=e.breakerThreshold&&(o.openUntil=Date.now()+e.breakerResetMs,o.fails=0),s instanceof E)throw v({remote:e.name,error:s}),s;if(s?.code)throw v({remote:e.name,error:s}),s;let u=new E(R.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${M(s)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name,stage:"container"},{cause:s});throw v({remote:e.name,error:u}),u}}function X(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:se(e.slice(r+1))}}function se(e){return e?e.startsWith(".")?e:`./${e}`:""}async function Pe(e,r){let{remote:n,module:o}=X(e);if(o&&K===n)throw new E(R.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 setup/onSession \\u53C8\\u540C\\u6B65\\u52A0\\u8F7D\\u4E86\\u81EA\\u8EAB\\u6A21\\u5757\\uFF0C\\u5F62\\u6210\\u5FAA\\u73AF\\u7B49\\u5F85\\u3002\n\\u539F\\u56E0\\uFF1A\\u521D\\u59CB\\u5316\\u5C1A\\u672A\\u5B8C\\u6210\\uFF0C\\u4E0D\\u80FD\\u7B49\\u5F85\\u81EA\\u8EAB\\u7684\\u521D\\u59CB\\u5316\\u7ED3\\u679C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u4E0D\\u8981\\u5728 setup/onSession \\u4E2D\\u52A0\\u8F7D\\u540C\\u4E00\\u8FDC\\u7A0B\\u7684\\u6A21\\u5757\\uFF1B\\u8BF7\\u5728\\u9875\\u9762\\u7EC4\\u4EF6\\u4E2D\\u52A0\\u8F7D\\uFF0C\\u6216\\u901A\\u8FC7 context \\u89E3\\u8026\\u3002`,{remote:n});try{_.beforeLoadRemote?.({remote:n,module:o})}catch(i){W("beforeLoadRemote",i)}let t=d.get(n);if(!t)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:n});let s;try{let i=o&&t.manifestUrl?B(e):Promise.resolve();[s]=await Promise.all([oe(t,{retries:r?.retries}),i])}catch(i){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF1B\\u4F7F\\u7528\\u914D\\u7F6E\\u7684 fallbackModule\\u3002\\u6458\\u8981\\uFF1A`,M(i)),v({remote:n,error:i}),await r.fallbackModule();throw i}if(!o)return s;await pe(t,s);let u=q(n).globalComponents,a=r?.consumerApp;if(u&&a&&typeof a.component=="function")for(let i of Object.keys(u))a.component(i,u[i]);let y=q(n).pageProviders;y&&y.length>0&&typeof a?.pageProviders=="function"&&a.pageProviders(y);let g=`${n}@${t.shareScope||"default"}#${o}`;b.has(g)||b.set(g,s.get(o).catch(i=>{if(b.delete(g),i instanceof E||i?.code)throw v({remote:n,error:i}),i;let h=new E(R.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u52A0\\u8F7D\\u6A21\\u5757 "${o}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${M(i)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:n,module:o,stage:"expose"},{cause:i});throw v({remote:n,error:h}),h}));let p;try{p=await b.get(g)}catch(i){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF1B\\u4F7F\\u7528\\u914D\\u7F6E\\u7684 fallbackModule\\u3002\\u6458\\u8981\\uFF1A`,M(i)),v({remote:n,error:i}),await r.fallbackModule();throw i}try{_.afterLoadRemote?.({remote:n,module:o,module_ns:p})}catch(i){W("afterLoadRemote",i)}if(p&&typeof p=="object"&&Object.keys(p).length===0){let i=new E(R.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6A21\\u5757 "${o}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:n,module:o});v({remote:n,error:i}),console.error(i.message)}return p}function $e(e){let r=d.get(e);if(!r)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return oe(r)}async function B(e,r={}){let{remote:n,module:o}=X(e),t=d.get(n);if(!t)throw new E(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:n});let s=r.mode??"preload",u=(g,p)=>{if(g.sheet)return Promise.resolve();let i=A.get(g);if(i)return i;let h=new Promise(O=>{let $=()=>{g.removeEventListener("load",$),g.removeEventListener("error",T),O()},T=()=>{v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${p}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:n})}),$()};g.addEventListener("load",$,{once:!0}),g.addEventListener("error",T,{once:!0}),g.sheet&&$()});return A.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"?A.get(i)??Promise.resolve():Promise.resolve();let h=document.createElement("link");h.rel=p==="style"?"stylesheet":"modulepreload",h.href=g,s==="prefetch"&&(h.fetchPriority="low");let O=p==="style"?u(h,g):Promise.resolve();return document.head.appendChild(h),p==="style"&&s==="preload"?O:Promise.resolve()},y=g=>{let p=typeof document<"u"?document.baseURI:void 0,i=new URL(t.entry,p||"http://fulgurjs.invalid/");return!i.pathname.endsWith("/")&&!i.pathname.split("/").pop().includes(".")&&(i.pathname+="/"),new URL(g,i).href};try{if(t.manifestUrl){let g=P.get(t.manifestUrl);g||(g=fetch(t.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(i=>i.ok?i.json():void 0),P.set(t.manifestUrl,g),g.then(i=>{i||P.delete(t.manifestUrl)},()=>P.delete(t.manifestUrl)));let p=await g;if(p){let i=p.schemaVersion;if(typeof i=="number"&&(!Number.isInteger(i)||i>1)){v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(i)}\\uFF0C\\u5F53\\u524D\\u4EC5\\u652F\\u6301\\u7248\\u672C 1\\u3002\\u8BF7\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u548C\\u8FDC\\u7A0B\\u7684\\u63D2\\u4EF6\\u7248\\u672C\\u3002`,{remote:n})}),await a(t.entry,"modulepreload");return}await a(t.entry,"modulepreload");let h=p.exposes,O=Array.isArray(h)?h.filter(k=>k&&typeof k=="object").map(k=>[String(k.name??""),k]):h&&typeof h=="object"?Object.entries(h):[],$=o?O.filter(([k,N])=>se(String(N?.name??k))===o):O,T=[];for(let[,k]of $)if(typeof k?.file=="string"&&await a(y(k.file),"modulepreload"),Array.isArray(k?.css))for(let N of k.css){if(typeof N!="string")continue;let _e=a(y(N),"style");s==="preload"&&T.push(_e)}await Promise.all(T);return}}await a(t.entry,"modulepreload")}catch(g){v({remote:n,error:new E(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${M(g)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=c,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of d)e[r]={...n.debug,entry:j(n.entry)};return e},errors:[]}),{shareScopeMap:c,initSharing:ge,registerShare:H,registerRemotes:Z,registerRemote:ye,registerPlugins:Se,loadShare:ee,loadShareSync:we,prepareShares:be,getLoadedShare:Ee,pinLoadedShare:Re,loadRemote:Pe,getContainer:$e,preloadRemote:B,parseSpec:X,clearSessionState:me,reportRemoteError:e=>{v(e)}}}var le=globalThis,w=le.__FULGURJS_RUNTIME__??qe();le.__FULGURJS_RUNTIME__=w;try{Object.freeze(w)}catch{}var Ye=ae;function Ze(){return w}var Qe=w.initSharing,er=w.registerShare,rr=w.registerRemotes,nr=w.registerRemote,tr=w.registerPlugins,or=w.loadShare,sr=w.getLoadedShare,ir=w.prepareShares||(async c=>{for(let{name:d,opts:f}of c)await w.loadShare(d,f)}),ar=w.loadShareSync,cr=w.pinLoadedShare,lr=w.loadRemote,ur=w.getContainer,dr=w.preloadRemote,fr=w.parseSpec,pr=w.clearSessionState,mr=w.shareScopeMap;function gr(c){if(c&&typeof c=="object"&&"default"in c){let d=c.default;return d!==void 0?d:c}return c}var hr=w;export{pr as clearSessionState,hr as default,ur as getContainer,sr as getLoadedShare,Ze as getRuntime,Qe as initSharing,lr as loadRemote,or as loadShare,ar as loadShareSync,fr as parseSpec,cr as pinLoadedShare,dr as preloadRemote,ir as prepareShares,tr as registerPlugins,nr as registerRemote,rr as registerRemotes,er as registerShare,w as runtime,mr as shareScopeMap,gr as unwrapDefault,Ye as version};\n';
|
|
4215
4445
|
|
|
4216
4446
|
// src/index.ts
|
|
4217
4447
|
function readRuntimeCode() {
|
|
@@ -4228,7 +4458,7 @@ function enumerateCjsExports(packageName, appRoot) {
|
|
|
4228
4458
|
if (cached) return cached;
|
|
4229
4459
|
let names = [];
|
|
4230
4460
|
try {
|
|
4231
|
-
const appRequire = (0, import_node_module4.createRequire)(
|
|
4461
|
+
const appRequire = (0, import_node_module4.createRequire)(import_node_path12.default.join(appRoot, "package.json"));
|
|
4232
4462
|
const mod = appRequire(packageName);
|
|
4233
4463
|
names = Object.keys(mod);
|
|
4234
4464
|
} catch {
|
|
@@ -4346,7 +4576,7 @@ async function resolveSharedImportTarget(item, root) {
|
|
|
4346
4576
|
const specifier = item.import;
|
|
4347
4577
|
if (typeof specifier !== "string") return item.shareKey;
|
|
4348
4578
|
try {
|
|
4349
|
-
const resolved = await this.resolve?.(specifier,
|
|
4579
|
+
const resolved = await this.resolve?.(specifier, import_node_path12.default.join(root, "package.json"), { skipSelf: true });
|
|
4350
4580
|
if (resolved?.id) return resolved.id;
|
|
4351
4581
|
} catch {
|
|
4352
4582
|
}
|
|
@@ -4380,7 +4610,7 @@ function federation(options) {
|
|
|
4380
4610
|
enforce: "pre",
|
|
4381
4611
|
async config(userConfig, env) {
|
|
4382
4612
|
state.command = env.command;
|
|
4383
|
-
const root =
|
|
4613
|
+
const root = import_node_path12.default.resolve(userConfig.root ?? process.cwd());
|
|
4384
4614
|
const normalized = normalizeOptions(options, root, env.command);
|
|
4385
4615
|
state.normalized = normalized;
|
|
4386
4616
|
state.rolldownBuild = env.command === "build" && Number((readInstalledVersion(root, "vite") ?? "0").split(".")[0]) >= 8;
|
|
@@ -4659,7 +4889,7 @@ export { default } from ${JSON.stringify(url)};
|
|
|
4659
4889
|
},
|
|
4660
4890
|
resolveId(source, importer) {
|
|
4661
4891
|
if (state.normalized && importer && (importer.includes("virtual:fulgurjs-shared:") || importer.includes("virtual:fulgurjs-shared-ns:")) && /^\.\.?\//.test(source) && !source.startsWith("virtual:fulgurjs-")) {
|
|
4662
|
-
const resolved =
|
|
4892
|
+
const resolved = import_node_path12.default.resolve(state.normalized.root, source);
|
|
4663
4893
|
return resolved + (source.match(/\?[^/]*$/)?.[0] ?? "");
|
|
4664
4894
|
}
|
|
4665
4895
|
let s = source;
|
|
@@ -4753,7 +4983,7 @@ export { default } from ${JSON.stringify(url)};
|
|
|
4753
4983
|
}
|
|
4754
4984
|
let importTarget = item.import;
|
|
4755
4985
|
try {
|
|
4756
|
-
const resolvedImport = await this.resolve?.(item.import,
|
|
4986
|
+
const resolvedImport = await this.resolve?.(item.import, import_node_path12.default.join(state.normalized.root, "package.json"), { skipSelf: true });
|
|
4757
4987
|
if (resolvedImport?.id) importTarget = resolvedImport.id;
|
|
4758
4988
|
} catch {
|
|
4759
4989
|
}
|
|
@@ -4862,7 +5092,7 @@ ${code}`, map: null };
|
|
|
4862
5092
|
const srcRe = /src=["']([^"']+)["']/;
|
|
4863
5093
|
const entryPath = (src) => {
|
|
4864
5094
|
const file = src.startsWith("/@fs/") ? src.slice(4) : src;
|
|
4865
|
-
return
|
|
5095
|
+
return import_node_path12.default.isAbsolute(file) && import_node_fs9.default.existsSync(file) ? file : import_node_path12.default.resolve(state.normalized.root, src.startsWith("/") ? src.slice(1) : src);
|
|
4866
5096
|
};
|
|
4867
5097
|
for (const tag of html.match(moduleScriptRe) ?? []) {
|
|
4868
5098
|
const src = srcRe.exec(tag)?.[1];
|
|
@@ -4893,7 +5123,7 @@ ${code}`, map: null };
|
|
|
4893
5123
|
state.providerEntrySeeds = [];
|
|
4894
5124
|
providerClosureCache.clear();
|
|
4895
5125
|
providerClosureBuilt = false;
|
|
4896
|
-
const providerRequire = (0, import_node_module4.createRequire)(
|
|
5126
|
+
const providerRequire = (0, import_node_module4.createRequire)(import_node_path12.default.join(n.root, "package.json"));
|
|
4897
5127
|
for (const item of n.shared) {
|
|
4898
5128
|
if (item.import === false) continue;
|
|
4899
5129
|
try {
|
|
@@ -4910,7 +5140,7 @@ ${code}`, map: null };
|
|
|
4910
5140
|
{
|
|
4911
5141
|
for (const item of n.shared) {
|
|
4912
5142
|
if (item.import === false) continue;
|
|
4913
|
-
const resolved = await this.resolve(item.import,
|
|
5143
|
+
const resolved = await this.resolve(item.import, import_node_path12.default.join(n.root, "index.html"));
|
|
4914
5144
|
const file = resolved?.id.replace(/^\0/, "").split("?")[0];
|
|
4915
5145
|
if (!file) continue;
|
|
4916
5146
|
const marker = "/node_modules/";
|
|
@@ -4928,7 +5158,7 @@ ${code}`, map: null };
|
|
|
4928
5158
|
if (state.manualChunkSpecsPending) {
|
|
4929
5159
|
for (const [group, specifier] of state.manualChunkSpecsPending) {
|
|
4930
5160
|
try {
|
|
4931
|
-
const r = await this.resolve(specifier,
|
|
5161
|
+
const r = await this.resolve(specifier, import_node_path12.default.join(n.root, "index.html"));
|
|
4932
5162
|
if (r?.id) {
|
|
4933
5163
|
state.manualChunkGroups.set(r.id, group);
|
|
4934
5164
|
state.manualChunkGroups.set(r.id.split("?")[0], group);
|
|
@@ -4958,7 +5188,7 @@ ${code}`, map: null };
|
|
|
4958
5188
|
};
|
|
4959
5189
|
for (const item of n.shared) {
|
|
4960
5190
|
if (item.import === false) continue;
|
|
4961
|
-
const selfFile = await this.resolve(item.import,
|
|
5191
|
+
const selfFile = await this.resolve(item.import, import_node_path12.default.join(n.root, "index.html")).then(
|
|
4962
5192
|
(r) => r?.id?.split("?")[0] ?? null
|
|
4963
5193
|
).catch(() => null);
|
|
4964
5194
|
for (const alias of item.aliases) {
|
|
@@ -4973,7 +5203,7 @@ ${code}`, map: null };
|
|
|
4973
5203
|
}
|
|
4974
5204
|
}
|
|
4975
5205
|
if (!file) {
|
|
4976
|
-
file = await this.resolve(alias,
|
|
5206
|
+
file = await this.resolve(alias, import_node_path12.default.join(n.root, "index.html")).then(
|
|
4977
5207
|
(r) => r?.id?.split("?")[0] ?? null
|
|
4978
5208
|
).catch(() => null);
|
|
4979
5209
|
}
|
|
@@ -4996,7 +5226,7 @@ ${code}`, map: null };
|
|
|
4996
5226
|
}
|
|
4997
5227
|
if (n.exposes.length > 0) {
|
|
4998
5228
|
for (const e of n.exposes) {
|
|
4999
|
-
const resolved = await this.resolve(e.import,
|
|
5229
|
+
const resolved = await this.resolve(e.import, import_node_path12.default.join(n.root, "index.html"));
|
|
5000
5230
|
if (resolved) {
|
|
5001
5231
|
state.exposeAbsPaths[e.import] = resolved.id.split("?")[0];
|
|
5002
5232
|
} else {
|
|
@@ -5261,9 +5491,10 @@ ${entryChunk.code}`;
|
|
|
5261
5491
|
if (n.exposes.length > 0 && n.dts) {
|
|
5262
5492
|
typesServer = createDevTypesServer(n);
|
|
5263
5493
|
let regenTimer = null;
|
|
5264
|
-
const syncedTypesDir = typeof n.dts === "object" && n.dts.dir ?
|
|
5494
|
+
const syncedTypesDir = typeof n.dts === "object" && n.dts.dir ? import_node_path12.default.resolve(n.root, n.dts.dir) : import_node_path12.default.join(n.root, import_node_fs9.default.existsSync(import_node_path12.default.join(n.root, "src")) ? "src/fulgurjs/types" : ".fulgurjs/types");
|
|
5265
5495
|
const scheduleRegen = (id) => {
|
|
5266
5496
|
if (!isTypesInputChange(n.root, id, syncedTypesDir)) return;
|
|
5497
|
+
typesServer?.markInputChanged();
|
|
5267
5498
|
if (regenTimer) clearTimeout(regenTimer);
|
|
5268
5499
|
regenTimer = setTimeout(() => {
|
|
5269
5500
|
regenTimer = null;
|
|
@@ -5328,14 +5559,14 @@ ${entryChunk.code}`;
|
|
|
5328
5559
|
if (n.remotes.length > 0 && n.dts && state.command === "serve") {
|
|
5329
5560
|
server.httpServer?.once("listening", () => {
|
|
5330
5561
|
const dtsOpt = n.dts === true ? true : n.dts;
|
|
5331
|
-
const typesRoot =
|
|
5562
|
+
const typesRoot = import_node_path12.default.join(
|
|
5332
5563
|
n.root,
|
|
5333
|
-
dtsOpt === false ? "" : (typeof dtsOpt === "object" ? dtsOpt.dir : void 0) ?? (
|
|
5564
|
+
dtsOpt === false ? "" : (typeof dtsOpt === "object" ? dtsOpt.dir : void 0) ?? (import_node_fs9.default.existsSync(import_node_path12.default.join(n.root, "src")) ? "src/fulgurjs/types" : ".fulgurjs/types")
|
|
5334
5565
|
);
|
|
5335
5566
|
try {
|
|
5336
|
-
if (
|
|
5567
|
+
if (import_node_fs9.default.existsSync(typesRoot)) {
|
|
5337
5568
|
const activeKeys = new Set(n.remotes.map((r) => r.key));
|
|
5338
|
-
for (const name of
|
|
5569
|
+
for (const name of import_node_fs9.default.readdirSync(typesRoot)) {
|
|
5339
5570
|
if (!activeKeys.has(name)) removeGeneratedTypes(typesRoot, name);
|
|
5340
5571
|
}
|
|
5341
5572
|
}
|
|
@@ -5389,7 +5620,7 @@ ${entryChunk.code}`;
|
|
|
5389
5620
|
async transform(code, id) {
|
|
5390
5621
|
if (!state.normalized) return null;
|
|
5391
5622
|
const clean = id.split("?")[0];
|
|
5392
|
-
const isAppSource = clean.startsWith(state.normalized.root +
|
|
5623
|
+
const isAppSource = clean.startsWith(state.normalized.root + import_node_path12.default.sep) && !clean.includes(`${import_node_path12.default.sep}node_modules${import_node_path12.default.sep}`) && !clean.includes(`${import_node_path12.default.sep}.vite${import_node_path12.default.sep}`);
|
|
5393
5624
|
const evidence = isAppSource && clean.endsWith(".vue") && (!id.includes("?") || /[?&]type=script(?:&|$)/.test(id)) ? tagVueRuntime(code, (source) => this.parse(source)) : null;
|
|
5394
5625
|
if (evidence) code = evidence.code;
|
|
5395
5626
|
const entryRewrite = state.command === "serve" && isAppSource ? await rewriteRuntimeEntryImports(code, isExposeTargetFile(clean, state.normalized.root, state.normalized.exposes)) : null;
|
|
@@ -5435,7 +5666,7 @@ ${entryChunk.code}`;
|
|
|
5435
5666
|
if (!n) return;
|
|
5436
5667
|
for (const s of n.shared) {
|
|
5437
5668
|
if (s.import === false) continue;
|
|
5438
|
-
void server.pluginContainer.resolveId(s.import,
|
|
5669
|
+
void server.pluginContainer.resolveId(s.import, import_node_path12.default.join(n.root, "index.html")).then((r) => {
|
|
5439
5670
|
if (r?.id) state.resolvedSharedPaths.set(r.id.split("?")[0], s.configKey);
|
|
5440
5671
|
}).catch(() => {
|
|
5441
5672
|
});
|