@fulgurjs/federation 6.13.2 → 6.13.4
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 +14 -0
- package/dist/bridge-app-react.js +4 -4
- package/dist/bridge-app-vue.cjs +4 -1
- package/dist/bridge-app-vue.js +5 -5
- package/dist/bridge-core.cjs +8 -2
- package/dist/bridge-core.js +4 -4
- package/dist/bridge-errors.cjs +9 -3
- package/dist/bridge-errors.js +2 -2
- package/dist/bridge-host-react.cjs +11 -5
- package/dist/bridge-host-react.js +9 -7
- package/dist/bridge-host-vue.cjs +11 -5
- package/dist/bridge-host-vue.js +9 -7
- package/dist/bridge-router-react.js +4 -1
- package/dist/bridge-router-vue.js +4 -1
- package/dist/bridge-session-auto.js +2 -2
- package/dist/{chunk-MBH3TVAS.js → chunk-ATU42YF3.js} +1 -1
- package/dist/{chunk-TSPZ3EQ4.js → chunk-EGXWY5NW.js} +5 -4
- package/dist/{chunk-NVJN2ARX.js → chunk-EK5JODE4.js} +2 -2
- package/dist/{chunk-2OHKAD6I.js → chunk-FXG2TWSA.js} +1 -1
- package/dist/{chunk-YHXQHZ3E.js → chunk-NX3HRELG.js} +9 -2
- package/dist/{chunk-OQ4CGWNL.js → chunk-Y7YANGLN.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/context.cjs +4 -1
- package/dist/context.js +2 -2
- package/dist/index.cjs +35 -8
- package/dist/index.js +35 -8
- package/dist/react-adapter.cjs +10 -4
- package/dist/react-adapter.js +7 -6
- package/dist/runtime.js +13 -13
- package/dist/vue-adapter.cjs +27 -12
- package/dist/vue-adapter.js +25 -15
- package/dist/vue-store.d.cts +1 -1
- package/dist/vue-store.d.ts +1 -1
- package/dist/vue.d.ts +1 -1
- package/docs/en/reference/errors.md +4 -1
- package/docs/zh/reference/errors.md +4 -1
- package/examples/templates/react-host-vue-remote/pnpm-lock.yaml +7 -7
- package/examples/templates/react-host-vue-remote/pnpm-workspace.yaml +1 -1
- package/examples/templates/react-host-vue-remote/react-host/package.json +1 -1
- package/examples/templates/react-host-vue-remote/vue-remote/package.json +1 -1
- package/examples/templates/react-react/host/package.json +1 -1
- package/examples/templates/react-react/pnpm-lock.yaml +7 -7
- package/examples/templates/react-react/pnpm-workspace.yaml +1 -1
- package/examples/templates/react-react/remote/package.json +1 -1
- package/examples/templates/showcase/pnpm-lock.yaml +11 -11
- package/examples/templates/showcase/pnpm-workspace.yaml +1 -1
- package/examples/templates/showcase/react-host/package.json +1 -1
- package/examples/templates/showcase/react-remote/package.json +1 -1
- package/examples/templates/showcase/vue-host/package.json +1 -1
- package/examples/templates/showcase/vue-remote/package.json +1 -1
- package/examples/templates/vue-host-react-remote/pnpm-lock.yaml +7 -7
- package/examples/templates/vue-host-react-remote/pnpm-workspace.yaml +1 -1
- package/examples/templates/vue-host-react-remote/react-remote/package.json +1 -1
- package/examples/templates/vue-host-react-remote/vue-host/package.json +1 -1
- package/examples/templates/vue-vue/host/package.json +1 -1
- package/examples/templates/vue-vue/pnpm-lock.yaml +7 -7
- package/examples/templates/vue-vue/pnpm-workspace.yaml +1 -1
- package/examples/templates/vue-vue/remote/package.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# 当前发布说明
|
|
2
2
|
|
|
3
|
+
## 6.13.4
|
|
4
|
+
|
|
5
|
+
- 桥接宿主包装错误时原样保留非 Error 拒绝值;默认 Vue/React 桥接占位与卸载日志使用脱敏摘要。
|
|
6
|
+
- 修复运行时调试出口重新暴露原始远程入口的问题;入口摘要去掉凭据、query/hash,失败摘要和插件日志清理标注的敏感值,原始 cause 不变。
|
|
7
|
+
- 合并重复诊断格式与钩子日志,保持既有体积预算;补充非 Error 身份、调试摘要及两种框架默认提示的回归。
|
|
8
|
+
- 五个模板依赖已发布的 6.13.3;本版本是诊断补强的基础包,后续模板资产版本再统一依赖本版。
|
|
9
|
+
|
|
10
|
+
## 6.13.3
|
|
11
|
+
|
|
12
|
+
- 修复 `bindStoreToApp` 在内联 `defineStore` 与 Pinia getter 组合时的泛型推导,保留真实 store 字段、方法和容器约束;使用真实 Pinia 的正反例检查。
|
|
13
|
+
- 修复 MFU-019 的身份误判:只比较当前编译 SFC 实际导入的 Vue 函数与消费方 renderer,不再从默认共享表推断远程组件身份。支持生产脚本子请求;无证据、旧远程和冻结组件保持未知,不盲目拒绝合法组件或独立运行时桥接。
|
|
14
|
+
- 默认 Vue/React 错误占位对地址中的凭据、query/hash 及标注的敏感值脱敏,原始异常仍保留在 `cause`;运行时调试摘要复用地址清理规则,并保留无入口地址的 promise remote 注册行为。
|
|
15
|
+
- 同步源码、生成入口与版本锁文件,补充真实浏览器开发/生产对照、SFC 构建及声明消费回归;体积门禁保持原预算。
|
|
16
|
+
|
|
3
17
|
## 6.13.2
|
|
4
18
|
|
|
5
19
|
构建期 chunk 分组两处修复(DEMES5.5 从零迁移轮 BI-FIX,均含业务工程生产构建/运行实测回归):
|
package/dist/bridge-app-react.js
CHANGED
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-6OB47FSR.js";
|
|
4
4
|
import {
|
|
5
5
|
markBridgeMount
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-EK5JODE4.js";
|
|
7
|
+
import "./chunk-EGXWY5NW.js";
|
|
8
|
+
import "./chunk-ATU42YF3.js";
|
|
9
|
+
import "./chunk-NX3HRELG.js";
|
|
10
10
|
|
|
11
11
|
// src/bridge-app-react.ts
|
|
12
12
|
import { Component, createElement, useEffect } from "react";
|
package/dist/bridge-app-vue.cjs
CHANGED
|
@@ -26,11 +26,14 @@ __export(bridge_app_vue_exports, {
|
|
|
26
26
|
module.exports = __toCommonJS(bridge_app_vue_exports);
|
|
27
27
|
|
|
28
28
|
// src/runtime/errors.ts
|
|
29
|
+
function diagnosticUrl(text) {
|
|
30
|
+
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
31
|
+
}
|
|
29
32
|
var FgError = class extends Error {
|
|
30
33
|
code;
|
|
31
34
|
details;
|
|
32
35
|
constructor(code, message, details, options) {
|
|
33
|
-
super(`[fulgurjs:${code}] ${message}`, options);
|
|
36
|
+
super(`[fulgurjs:${code}] ${diagnosticUrl(message)}`, options);
|
|
34
37
|
this.name = "FgError";
|
|
35
38
|
this.code = code;
|
|
36
39
|
this.details = details;
|
package/dist/bridge-app-vue.js
CHANGED
|
@@ -3,16 +3,16 @@ import {
|
|
|
3
3
|
} from "./chunk-6OB47FSR.js";
|
|
4
4
|
import {
|
|
5
5
|
sameLocation
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-Y7YANGLN.js";
|
|
7
7
|
import {
|
|
8
8
|
markBridgeMount
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-EK5JODE4.js";
|
|
10
10
|
import {
|
|
11
11
|
routingChannelNotProvidedError,
|
|
12
12
|
routingSyncError
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-EGXWY5NW.js";
|
|
14
|
+
import "./chunk-ATU42YF3.js";
|
|
15
|
+
import "./chunk-NX3HRELG.js";
|
|
16
16
|
|
|
17
17
|
// src/bridge-router-sync.ts
|
|
18
18
|
function collapseConsecutiveReports(report) {
|
package/dist/bridge-core.cjs
CHANGED
|
@@ -33,11 +33,17 @@ __export(bridge_core_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(bridge_core_exports);
|
|
34
34
|
|
|
35
35
|
// src/runtime/errors.ts
|
|
36
|
+
function diagnosticUrl(text) {
|
|
37
|
+
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
38
|
+
}
|
|
39
|
+
function diagnosticMessage(error) {
|
|
40
|
+
return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
|
|
41
|
+
}
|
|
36
42
|
var FgError = class extends Error {
|
|
37
43
|
code;
|
|
38
44
|
details;
|
|
39
45
|
constructor(code, message, details, options) {
|
|
40
|
-
super(`[fulgurjs:${code}] ${message}`, options);
|
|
46
|
+
super(`[fulgurjs:${code}] ${diagnosticUrl(message)}`, options);
|
|
41
47
|
this.name = "FgError";
|
|
42
48
|
this.code = code;
|
|
43
49
|
this.details = details;
|
|
@@ -91,7 +97,7 @@ function invalidBridgeContractError(spec, mod) {
|
|
|
91
97
|
);
|
|
92
98
|
}
|
|
93
99
|
function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
94
|
-
const raw =
|
|
100
|
+
const raw = diagnosticMessage(cause);
|
|
95
101
|
const fixes = {
|
|
96
102
|
getContext: "\u4FEE\u6CD5: \u2460 getContext \u5FC5\u987B\u662F\u540C\u6B65\u3001\u65E0\u526F\u4F5C\u7528\u7684 getter\uFF08\u4E0D\u5F97\u8FD4\u56DE Promise/thenable\uFF09\uFF1B\n \u2461 \u8FD4\u56DE\u503C\u987B\u662F\u5305\u542B\u672C\u6B21\u4F1A\u8BDD\u5FEB\u7167\u7684\u5BF9\u8C61\uFF08\u53D7\u63A7 sessionKey \u65F6\u987B\u542B\u76F8\u540C sessionKey\uFF09\uFF1B\n \u2462 \u5F02\u6B65\u83B7\u53D6\u7528\u6237\u8D44\u6599\u8BF7\u5728\u5BBF\u4E3B\u5B8C\u6210\u540E\u518D\u8BA9\u6865\u63A5\u7EC4\u4EF6\u8FDB\u5165\u53EF\u6302\u8F7D\u72B6\u6001\u3002",
|
|
97
103
|
mount: "\u4FEE\u6CD5: \u2460 \u67E5\u770B\u6839\u56E0\u4E2D\u5B50\u5E94\u7528 mount \u7684\u539F\u59CB\u9519\u8BEF\uFF08\u5DE5\u5382\u629B\u9519\u6216\u9996\u6B21\u6E32\u67D3\u5931\u8D25\uFF09\uFF1B\n \u2461 \u540C\u4E00\u5BB9\u5668\u672A\u5378\u8F7D\u524D\u91CD\u590D mount \u662F\u5951\u7EA6\u8FDD\u4F8B\u2014\u2014\u5148 unmount \u518D mount\uFF1B\n \u2462 \u4FEE\u590D\u540E\u70B9\u51FB\u300C\u91CD\u8BD5\u52A0\u8F7D\u300D\u5728\u540C\u9875\u91CD\u5EFA\u6302\u8F7D\u3002",
|
package/dist/bridge-core.js
CHANGED
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
releaseBridgeSession,
|
|
9
9
|
resolveBridgeContext,
|
|
10
10
|
withBridgeTimeout
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-EK5JODE4.js";
|
|
12
|
+
import "./chunk-EGXWY5NW.js";
|
|
13
|
+
import "./chunk-ATU42YF3.js";
|
|
14
|
+
import "./chunk-NX3HRELG.js";
|
|
15
15
|
export {
|
|
16
16
|
acquireBridgeSession,
|
|
17
17
|
assertBridgeContract,
|
package/dist/bridge-errors.cjs
CHANGED
|
@@ -35,11 +35,17 @@ __export(bridge_errors_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(bridge_errors_exports);
|
|
36
36
|
|
|
37
37
|
// src/runtime/errors.ts
|
|
38
|
+
function diagnosticUrl(text) {
|
|
39
|
+
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
40
|
+
}
|
|
41
|
+
function diagnosticMessage(error) {
|
|
42
|
+
return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
|
|
43
|
+
}
|
|
38
44
|
var FgError = class extends Error {
|
|
39
45
|
code;
|
|
40
46
|
details;
|
|
41
47
|
constructor(code, message, details, options) {
|
|
42
|
-
super(`[fulgurjs:${code}] ${message}`, options);
|
|
48
|
+
super(`[fulgurjs:${code}] ${diagnosticUrl(message)}`, options);
|
|
43
49
|
this.name = "FgError";
|
|
44
50
|
this.code = code;
|
|
45
51
|
this.details = details;
|
|
@@ -82,7 +88,7 @@ function invalidBridgeContractError(spec, mod) {
|
|
|
82
88
|
);
|
|
83
89
|
}
|
|
84
90
|
function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
85
|
-
const raw =
|
|
91
|
+
const raw = diagnosticMessage(cause);
|
|
86
92
|
const fixes = {
|
|
87
93
|
getContext: "\u4FEE\u6CD5: \u2460 getContext \u5FC5\u987B\u662F\u540C\u6B65\u3001\u65E0\u526F\u4F5C\u7528\u7684 getter\uFF08\u4E0D\u5F97\u8FD4\u56DE Promise/thenable\uFF09\uFF1B\n \u2461 \u8FD4\u56DE\u503C\u987B\u662F\u5305\u542B\u672C\u6B21\u4F1A\u8BDD\u5FEB\u7167\u7684\u5BF9\u8C61\uFF08\u53D7\u63A7 sessionKey \u65F6\u987B\u542B\u76F8\u540C sessionKey\uFF09\uFF1B\n \u2462 \u5F02\u6B65\u83B7\u53D6\u7528\u6237\u8D44\u6599\u8BF7\u5728\u5BBF\u4E3B\u5B8C\u6210\u540E\u518D\u8BA9\u6865\u63A5\u7EC4\u4EF6\u8FDB\u5165\u53EF\u6302\u8F7D\u72B6\u6001\u3002",
|
|
88
94
|
mount: "\u4FEE\u6CD5: \u2460 \u67E5\u770B\u6839\u56E0\u4E2D\u5B50\u5E94\u7528 mount \u7684\u539F\u59CB\u9519\u8BEF\uFF08\u5DE5\u5382\u629B\u9519\u6216\u9996\u6B21\u6E32\u67D3\u5931\u8D25\uFF09\uFF1B\n \u2461 \u540C\u4E00\u5BB9\u5668\u672A\u5378\u8F7D\u524D\u91CD\u590D mount \u662F\u5951\u7EA6\u8FDD\u4F8B\u2014\u2014\u5148 unmount \u518D mount\uFF1B\n \u2462 \u4FEE\u590D\u540E\u70B9\u51FB\u300C\u91CD\u8BD5\u52A0\u8F7D\u300D\u5728\u540C\u9875\u91CD\u5EFA\u6302\u8F7D\u3002",
|
|
@@ -99,7 +105,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
|
99
105
|
}
|
|
100
106
|
function bridgeHostError(phase, spec, cause) {
|
|
101
107
|
if (cause instanceof FgError) return cause;
|
|
102
|
-
return bridgeLifecycleError(phase, spec, cause
|
|
108
|
+
return bridgeLifecycleError(phase, spec, cause);
|
|
103
109
|
}
|
|
104
110
|
function bridgeSessionMismatchError(spec, controlled, actual, extra) {
|
|
105
111
|
const actualText = actual === void 0 ? "undefined\uFF08\u9875\u9762\u5C1A\u65E0 AppContext\uFF09" : typeof actual === "string" ? `"${actual}"` : String(actual);
|
package/dist/bridge-errors.js
CHANGED
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
routingNavigationError,
|
|
11
11
|
routingProtocolError,
|
|
12
12
|
routingSyncError
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-EGXWY5NW.js";
|
|
14
|
+
import "./chunk-NX3HRELG.js";
|
|
15
15
|
export {
|
|
16
16
|
BridgeErrorCodes,
|
|
17
17
|
bridgeHostError,
|
|
@@ -26,11 +26,17 @@ module.exports = __toCommonJS(bridge_host_react_exports);
|
|
|
26
26
|
var import_react = require("react");
|
|
27
27
|
|
|
28
28
|
// src/runtime/errors.ts
|
|
29
|
+
function diagnosticUrl(text) {
|
|
30
|
+
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
31
|
+
}
|
|
32
|
+
function diagnosticMessage(error) {
|
|
33
|
+
return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
|
|
34
|
+
}
|
|
29
35
|
var FgError = class extends Error {
|
|
30
36
|
code;
|
|
31
37
|
details;
|
|
32
38
|
constructor(code, message, details, options) {
|
|
33
|
-
super(`[fulgurjs:${code}] ${message}`, options);
|
|
39
|
+
super(`[fulgurjs:${code}] ${diagnosticUrl(message)}`, options);
|
|
34
40
|
this.name = "FgError";
|
|
35
41
|
this.code = code;
|
|
36
42
|
this.details = details;
|
|
@@ -106,7 +112,7 @@ function invalidBridgeContractError(spec, mod) {
|
|
|
106
112
|
);
|
|
107
113
|
}
|
|
108
114
|
function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
109
|
-
const raw =
|
|
115
|
+
const raw = diagnosticMessage(cause);
|
|
110
116
|
const fixes = {
|
|
111
117
|
getContext: "\u4FEE\u6CD5: \u2460 getContext \u5FC5\u987B\u662F\u540C\u6B65\u3001\u65E0\u526F\u4F5C\u7528\u7684 getter\uFF08\u4E0D\u5F97\u8FD4\u56DE Promise/thenable\uFF09\uFF1B\n \u2461 \u8FD4\u56DE\u503C\u987B\u662F\u5305\u542B\u672C\u6B21\u4F1A\u8BDD\u5FEB\u7167\u7684\u5BF9\u8C61\uFF08\u53D7\u63A7 sessionKey \u65F6\u987B\u542B\u76F8\u540C sessionKey\uFF09\uFF1B\n \u2462 \u5F02\u6B65\u83B7\u53D6\u7528\u6237\u8D44\u6599\u8BF7\u5728\u5BBF\u4E3B\u5B8C\u6210\u540E\u518D\u8BA9\u6865\u63A5\u7EC4\u4EF6\u8FDB\u5165\u53EF\u6302\u8F7D\u72B6\u6001\u3002",
|
|
112
118
|
mount: "\u4FEE\u6CD5: \u2460 \u67E5\u770B\u6839\u56E0\u4E2D\u5B50\u5E94\u7528 mount \u7684\u539F\u59CB\u9519\u8BEF\uFF08\u5DE5\u5382\u629B\u9519\u6216\u9996\u6B21\u6E32\u67D3\u5931\u8D25\uFF09\uFF1B\n \u2461 \u540C\u4E00\u5BB9\u5668\u672A\u5378\u8F7D\u524D\u91CD\u590D mount \u662F\u5951\u7EA6\u8FDD\u4F8B\u2014\u2014\u5148 unmount \u518D mount\uFF1B\n \u2462 \u4FEE\u590D\u540E\u70B9\u51FB\u300C\u91CD\u8BD5\u52A0\u8F7D\u300D\u5728\u540C\u9875\u91CD\u5EFA\u6302\u8F7D\u3002",
|
|
@@ -123,7 +129,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
|
123
129
|
}
|
|
124
130
|
function bridgeHostError(phase, spec, cause) {
|
|
125
131
|
if (cause instanceof FgError) return cause;
|
|
126
|
-
return bridgeLifecycleError(phase, spec, cause
|
|
132
|
+
return bridgeLifecycleError(phase, spec, cause);
|
|
127
133
|
}
|
|
128
134
|
function bridgeSessionMismatchError(spec, controlled, actual, extra) {
|
|
129
135
|
const actualText = actual === void 0 ? "undefined\uFF08\u9875\u9762\u5C1A\u65E0 AppContext\uFF09" : typeof actual === "string" ? `"${actual}"` : String(actual);
|
|
@@ -602,7 +608,7 @@ var SECONDARY_BUTTON_STYLE = {
|
|
|
602
608
|
function DefaultBridgeErrorView({ error, retry, blocked }) {
|
|
603
609
|
const err = error;
|
|
604
610
|
const code = err?.code ?? "UNKNOWN";
|
|
605
|
-
const message =
|
|
611
|
+
const message = diagnosticMessage(error ?? "unknown error");
|
|
606
612
|
return (0, import_react.createElement)("div", { style: ERROR_STYLE, "data-fulgurjs-error": code }, [
|
|
607
613
|
(0, import_react.createElement)("p", { key: "t", style: { margin: "0 0 4px", fontWeight: 600 } }, `\u6865\u63A5\u5E94\u7528\u52A0\u8F7D\u5931\u8D25\uFF08\u9519\u8BEF\u7801 ${code}\uFF09`),
|
|
608
614
|
(0, import_react.createElement)("p", { key: "m", style: MESSAGE_STYLE }, message),
|
|
@@ -717,7 +723,7 @@ function createReactBridgeAppWithLoader(loadRemote) {
|
|
|
717
723
|
c.unmount(el);
|
|
718
724
|
} catch (e) {
|
|
719
725
|
const err = bridgeHostError("unmount", spec, e);
|
|
720
|
-
console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF1A", err);
|
|
726
|
+
console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF1A", diagnosticMessage(err));
|
|
721
727
|
blockedRef.current = true;
|
|
722
728
|
setError(err);
|
|
723
729
|
setStatus("error");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RoutingChannel,
|
|
3
3
|
assertBridgeRoutingProtocol
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Y7YANGLN.js";
|
|
5
5
|
import {
|
|
6
6
|
acquireBridgeSession,
|
|
7
7
|
assertBridgeContract,
|
|
@@ -10,14 +10,16 @@ import {
|
|
|
10
10
|
releaseBridgeSession,
|
|
11
11
|
resolveBridgeContext,
|
|
12
12
|
withBridgeTimeout
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-EK5JODE4.js";
|
|
14
14
|
import {
|
|
15
15
|
bridgeHostError
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-EGXWY5NW.js";
|
|
17
17
|
import {
|
|
18
18
|
provideAppContext
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import
|
|
19
|
+
} from "./chunk-ATU42YF3.js";
|
|
20
|
+
import {
|
|
21
|
+
diagnosticMessage
|
|
22
|
+
} from "./chunk-NX3HRELG.js";
|
|
21
23
|
|
|
22
24
|
// src/bridge-host-react.ts
|
|
23
25
|
import {
|
|
@@ -64,7 +66,7 @@ var SECONDARY_BUTTON_STYLE = {
|
|
|
64
66
|
function DefaultBridgeErrorView({ error, retry, blocked }) {
|
|
65
67
|
const err = error;
|
|
66
68
|
const code = err?.code ?? "UNKNOWN";
|
|
67
|
-
const message =
|
|
69
|
+
const message = diagnosticMessage(error ?? "unknown error");
|
|
68
70
|
return createElement("div", { style: ERROR_STYLE, "data-fulgurjs-error": code }, [
|
|
69
71
|
createElement("p", { key: "t", style: { margin: "0 0 4px", fontWeight: 600 } }, `\u6865\u63A5\u5E94\u7528\u52A0\u8F7D\u5931\u8D25\uFF08\u9519\u8BEF\u7801 ${code}\uFF09`),
|
|
70
72
|
createElement("p", { key: "m", style: MESSAGE_STYLE }, message),
|
|
@@ -179,7 +181,7 @@ function createReactBridgeAppWithLoader(loadRemote) {
|
|
|
179
181
|
c.unmount(el);
|
|
180
182
|
} catch (e) {
|
|
181
183
|
const err = bridgeHostError("unmount", spec, e);
|
|
182
|
-
console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF1A", err);
|
|
184
|
+
console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF1A", diagnosticMessage(err));
|
|
183
185
|
blockedRef.current = true;
|
|
184
186
|
setError(err);
|
|
185
187
|
setStatus("error");
|
package/dist/bridge-host-vue.cjs
CHANGED
|
@@ -26,11 +26,17 @@ module.exports = __toCommonJS(bridge_host_vue_exports);
|
|
|
26
26
|
var import_vue = require("vue");
|
|
27
27
|
|
|
28
28
|
// src/runtime/errors.ts
|
|
29
|
+
function diagnosticUrl(text) {
|
|
30
|
+
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
31
|
+
}
|
|
32
|
+
function diagnosticMessage(error) {
|
|
33
|
+
return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
|
|
34
|
+
}
|
|
29
35
|
var FgError = class extends Error {
|
|
30
36
|
code;
|
|
31
37
|
details;
|
|
32
38
|
constructor(code, message, details, options) {
|
|
33
|
-
super(`[fulgurjs:${code}] ${message}`, options);
|
|
39
|
+
super(`[fulgurjs:${code}] ${diagnosticUrl(message)}`, options);
|
|
34
40
|
this.name = "FgError";
|
|
35
41
|
this.code = code;
|
|
36
42
|
this.details = details;
|
|
@@ -106,7 +112,7 @@ function invalidBridgeContractError(spec, mod) {
|
|
|
106
112
|
);
|
|
107
113
|
}
|
|
108
114
|
function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
109
|
-
const raw =
|
|
115
|
+
const raw = diagnosticMessage(cause);
|
|
110
116
|
const fixes = {
|
|
111
117
|
getContext: "\u4FEE\u6CD5: \u2460 getContext \u5FC5\u987B\u662F\u540C\u6B65\u3001\u65E0\u526F\u4F5C\u7528\u7684 getter\uFF08\u4E0D\u5F97\u8FD4\u56DE Promise/thenable\uFF09\uFF1B\n \u2461 \u8FD4\u56DE\u503C\u987B\u662F\u5305\u542B\u672C\u6B21\u4F1A\u8BDD\u5FEB\u7167\u7684\u5BF9\u8C61\uFF08\u53D7\u63A7 sessionKey \u65F6\u987B\u542B\u76F8\u540C sessionKey\uFF09\uFF1B\n \u2462 \u5F02\u6B65\u83B7\u53D6\u7528\u6237\u8D44\u6599\u8BF7\u5728\u5BBF\u4E3B\u5B8C\u6210\u540E\u518D\u8BA9\u6865\u63A5\u7EC4\u4EF6\u8FDB\u5165\u53EF\u6302\u8F7D\u72B6\u6001\u3002",
|
|
112
118
|
mount: "\u4FEE\u6CD5: \u2460 \u67E5\u770B\u6839\u56E0\u4E2D\u5B50\u5E94\u7528 mount \u7684\u539F\u59CB\u9519\u8BEF\uFF08\u5DE5\u5382\u629B\u9519\u6216\u9996\u6B21\u6E32\u67D3\u5931\u8D25\uFF09\uFF1B\n \u2461 \u540C\u4E00\u5BB9\u5668\u672A\u5378\u8F7D\u524D\u91CD\u590D mount \u662F\u5951\u7EA6\u8FDD\u4F8B\u2014\u2014\u5148 unmount \u518D mount\uFF1B\n \u2462 \u4FEE\u590D\u540E\u70B9\u51FB\u300C\u91CD\u8BD5\u52A0\u8F7D\u300D\u5728\u540C\u9875\u91CD\u5EFA\u6302\u8F7D\u3002",
|
|
@@ -123,7 +129,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
|
123
129
|
}
|
|
124
130
|
function bridgeHostError(phase, spec, cause) {
|
|
125
131
|
if (cause instanceof FgError) return cause;
|
|
126
|
-
return bridgeLifecycleError(phase, spec, cause
|
|
132
|
+
return bridgeLifecycleError(phase, spec, cause);
|
|
127
133
|
}
|
|
128
134
|
function bridgeSessionMismatchError(spec, controlled, actual, extra) {
|
|
129
135
|
const actualText = actual === void 0 ? "undefined\uFF08\u9875\u9762\u5C1A\u65E0 AppContext\uFF09" : typeof actual === "string" ? `"${actual}"` : String(actual);
|
|
@@ -611,7 +617,7 @@ var BridgeErrorPlaceholder = /* @__PURE__ */ (0, import_vue.defineComponent)({
|
|
|
611
617
|
return () => {
|
|
612
618
|
const err = props.error;
|
|
613
619
|
const code = err?.code ?? "UNKNOWN";
|
|
614
|
-
const message =
|
|
620
|
+
const message = diagnosticMessage(props.error ?? "unknown error");
|
|
615
621
|
return (0, import_vue.h)("div", { style: ERROR_STYLE, "data-fulgurjs-error": code }, [
|
|
616
622
|
(0, import_vue.h)("p", { style: "margin:0 0 4px;font-weight:600" }, `\u6865\u63A5\u5E94\u7528\u52A0\u8F7D\u5931\u8D25\uFF08\u9519\u8BEF\u7801 ${code}\uFF09`),
|
|
617
623
|
(0, import_vue.h)("p", { style: "margin:0 0 8px;word-break:break-all" }, message),
|
|
@@ -693,7 +699,7 @@ function createVueBridgeAppWithLoader(loadRemote, automaticSession) {
|
|
|
693
699
|
} catch (e) {
|
|
694
700
|
const err = bridgeHostError("unmount", spec, e);
|
|
695
701
|
containerBlocked = true;
|
|
696
|
-
console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF0C\u8BE5\u5BB9\u5668\u5DF2\u5C01\u9501\uFF08\u540C\u9875\u53EA\u80FD\u5237\u65B0\u6062\u590D\uFF09\uFF1A", err);
|
|
702
|
+
console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF0C\u8BE5\u5BB9\u5668\u5DF2\u5C01\u9501\uFF08\u540C\u9875\u53EA\u80FD\u5237\u65B0\u6062\u590D\uFF09\uFF1A", diagnosticMessage(err));
|
|
697
703
|
error.value = err;
|
|
698
704
|
status.value = "error";
|
|
699
705
|
return false;
|
package/dist/bridge-host-vue.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RoutingChannel,
|
|
3
3
|
assertBridgeRoutingProtocol
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Y7YANGLN.js";
|
|
5
5
|
import {
|
|
6
6
|
acquireBridgeSession,
|
|
7
7
|
assertBridgeContract,
|
|
@@ -10,15 +10,17 @@ import {
|
|
|
10
10
|
releaseBridgeSession,
|
|
11
11
|
resolveBridgeContext,
|
|
12
12
|
withBridgeTimeout
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-EK5JODE4.js";
|
|
14
14
|
import {
|
|
15
15
|
bridgeHostError
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-EGXWY5NW.js";
|
|
17
17
|
import {
|
|
18
18
|
clearAppContext,
|
|
19
19
|
provideAppContext
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import
|
|
20
|
+
} from "./chunk-ATU42YF3.js";
|
|
21
|
+
import {
|
|
22
|
+
diagnosticMessage
|
|
23
|
+
} from "./chunk-NX3HRELG.js";
|
|
22
24
|
|
|
23
25
|
// src/bridge-host-vue.ts
|
|
24
26
|
import { defineComponent, h, onActivated, onBeforeUnmount, onDeactivated, onMounted, ref, shallowRef, toRaw, watch } from "vue";
|
|
@@ -68,7 +70,7 @@ var BridgeErrorPlaceholder = /* @__PURE__ */ defineComponent({
|
|
|
68
70
|
return () => {
|
|
69
71
|
const err = props.error;
|
|
70
72
|
const code = err?.code ?? "UNKNOWN";
|
|
71
|
-
const message =
|
|
73
|
+
const message = diagnosticMessage(props.error ?? "unknown error");
|
|
72
74
|
return h("div", { style: ERROR_STYLE, "data-fulgurjs-error": code }, [
|
|
73
75
|
h("p", { style: "margin:0 0 4px;font-weight:600" }, `\u6865\u63A5\u5E94\u7528\u52A0\u8F7D\u5931\u8D25\uFF08\u9519\u8BEF\u7801 ${code}\uFF09`),
|
|
74
76
|
h("p", { style: "margin:0 0 8px;word-break:break-all" }, message),
|
|
@@ -150,7 +152,7 @@ function createVueBridgeAppWithLoader(loadRemote, automaticSession) {
|
|
|
150
152
|
} catch (e) {
|
|
151
153
|
const err = bridgeHostError("unmount", spec, e);
|
|
152
154
|
containerBlocked = true;
|
|
153
|
-
console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF0C\u8BE5\u5BB9\u5668\u5DF2\u5C01\u9501\uFF08\u540C\u9875\u53EA\u80FD\u5237\u65B0\u6062\u590D\uFF09\uFF1A", err);
|
|
155
|
+
console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF0C\u8BE5\u5BB9\u5668\u5DF2\u5C01\u9501\uFF08\u540C\u9875\u53EA\u80FD\u5237\u65B0\u6062\u590D\uFF09\uFF1A", diagnosticMessage(err));
|
|
154
156
|
error.value = err;
|
|
155
157
|
status.value = "error";
|
|
156
158
|
return false;
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
import { createElement, useEffect, useState } from "react";
|
|
3
3
|
|
|
4
4
|
// src/runtime/errors.ts
|
|
5
|
+
function diagnosticUrl(text) {
|
|
6
|
+
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
7
|
+
}
|
|
5
8
|
var FgError = class extends Error {
|
|
6
9
|
code;
|
|
7
10
|
details;
|
|
8
11
|
constructor(code, message, details, options) {
|
|
9
|
-
super(`[fulgurjs:${code}] ${message}`, options);
|
|
12
|
+
super(`[fulgurjs:${code}] ${diagnosticUrl(message)}`, options);
|
|
10
13
|
this.name = "FgError";
|
|
11
14
|
this.code = code;
|
|
12
15
|
this.details = details;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
// src/runtime/errors.ts
|
|
2
|
+
function diagnosticUrl(text) {
|
|
3
|
+
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
4
|
+
}
|
|
2
5
|
var FgError = class extends Error {
|
|
3
6
|
code;
|
|
4
7
|
details;
|
|
5
8
|
constructor(code, message, details, options) {
|
|
6
|
-
super(`[fulgurjs:${code}] ${message}`, options);
|
|
9
|
+
super(`[fulgurjs:${code}] ${diagnosticUrl(message)}`, options);
|
|
7
10
|
this.name = "FgError";
|
|
8
11
|
this.code = code;
|
|
9
12
|
this.details = details;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
-
FgError
|
|
3
|
-
|
|
2
|
+
FgError,
|
|
3
|
+
diagnosticMessage
|
|
4
|
+
} from "./chunk-NX3HRELG.js";
|
|
4
5
|
|
|
5
6
|
// src/bridge-errors.ts
|
|
6
7
|
var BridgeErrorCodes = {
|
|
@@ -38,7 +39,7 @@ function invalidBridgeContractError(spec, mod) {
|
|
|
38
39
|
);
|
|
39
40
|
}
|
|
40
41
|
function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
41
|
-
const raw =
|
|
42
|
+
const raw = diagnosticMessage(cause);
|
|
42
43
|
const fixes = {
|
|
43
44
|
getContext: "\u4FEE\u6CD5: \u2460 getContext \u5FC5\u987B\u662F\u540C\u6B65\u3001\u65E0\u526F\u4F5C\u7528\u7684 getter\uFF08\u4E0D\u5F97\u8FD4\u56DE Promise/thenable\uFF09\uFF1B\n \u2461 \u8FD4\u56DE\u503C\u987B\u662F\u5305\u542B\u672C\u6B21\u4F1A\u8BDD\u5FEB\u7167\u7684\u5BF9\u8C61\uFF08\u53D7\u63A7 sessionKey \u65F6\u987B\u542B\u76F8\u540C sessionKey\uFF09\uFF1B\n \u2462 \u5F02\u6B65\u83B7\u53D6\u7528\u6237\u8D44\u6599\u8BF7\u5728\u5BBF\u4E3B\u5B8C\u6210\u540E\u518D\u8BA9\u6865\u63A5\u7EC4\u4EF6\u8FDB\u5165\u53EF\u6302\u8F7D\u72B6\u6001\u3002",
|
|
44
45
|
mount: "\u4FEE\u6CD5: \u2460 \u67E5\u770B\u6839\u56E0\u4E2D\u5B50\u5E94\u7528 mount \u7684\u539F\u59CB\u9519\u8BEF\uFF08\u5DE5\u5382\u629B\u9519\u6216\u9996\u6B21\u6E32\u67D3\u5931\u8D25\uFF09\uFF1B\n \u2461 \u540C\u4E00\u5BB9\u5668\u672A\u5378\u8F7D\u524D\u91CD\u590D mount \u662F\u5951\u7EA6\u8FDD\u4F8B\u2014\u2014\u5148 unmount \u518D mount\uFF1B\n \u2462 \u4FEE\u590D\u540E\u70B9\u51FB\u300C\u91CD\u8BD5\u52A0\u8F7D\u300D\u5728\u540C\u9875\u91CD\u5EFA\u6302\u8F7D\u3002",
|
|
@@ -55,7 +56,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
|
55
56
|
}
|
|
56
57
|
function bridgeHostError(phase, spec, cause) {
|
|
57
58
|
if (cause instanceof FgError) return cause;
|
|
58
|
-
return bridgeLifecycleError(phase, spec, cause
|
|
59
|
+
return bridgeLifecycleError(phase, spec, cause);
|
|
59
60
|
}
|
|
60
61
|
function bridgeSessionMismatchError(spec, controlled, actual, extra) {
|
|
61
62
|
const actualText = actual === void 0 ? "undefined\uFF08\u9875\u9762\u5C1A\u65E0 AppContext\uFF09" : typeof actual === "string" ? `"${actual}"` : String(actual);
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
bridgeSessionMismatchError,
|
|
4
4
|
invalidBridgeContractError,
|
|
5
5
|
invalidSessionKeyError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EGXWY5NW.js";
|
|
7
7
|
import {
|
|
8
8
|
clearAppContext
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ATU42YF3.js";
|
|
10
10
|
|
|
11
11
|
// src/bridge-core.ts
|
|
12
12
|
function assertBridgeContract(spec, mod) {
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
// src/runtime/errors.ts
|
|
2
|
+
function diagnosticUrl(text) {
|
|
3
|
+
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
4
|
+
}
|
|
5
|
+
function diagnosticMessage(error) {
|
|
6
|
+
return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
|
|
7
|
+
}
|
|
2
8
|
var FgError = class extends Error {
|
|
3
9
|
code;
|
|
4
10
|
details;
|
|
5
11
|
constructor(code, message, details, options) {
|
|
6
|
-
super(`[fulgurjs:${code}] ${message}`, options);
|
|
12
|
+
super(`[fulgurjs:${code}] ${diagnosticUrl(message)}`, options);
|
|
7
13
|
this.name = "FgError";
|
|
8
14
|
this.code = code;
|
|
9
15
|
this.details = details;
|
|
@@ -40,13 +46,14 @@ var ErrorCodes = {
|
|
|
40
46
|
SETUP_RECURSION: "MFU-014",
|
|
41
47
|
/** 远程模块在组件消费边界导出的不是可渲染组件(适配器实测导出形态后报出) */
|
|
42
48
|
COMPONENT_EXPORT_INVALID: "MFU-018",
|
|
43
|
-
/**
|
|
49
|
+
/** 当前编译 SFC 的 Vue 导入引用与消费方渲染器不一致(组件证据已证实) */
|
|
44
50
|
VUE_RUNTIME_IDENTITY_MISMATCH: "MFU-019",
|
|
45
51
|
/** 远程组件子树内部渲染错误(插件边界观测:setup/render/嵌套异步组件拒绝;原始异常保留在 cause) */
|
|
46
52
|
REMOTE_RENDER_ERROR: "MFU-020"
|
|
47
53
|
};
|
|
48
54
|
|
|
49
55
|
export {
|
|
56
|
+
diagnosticMessage,
|
|
50
57
|
FgError,
|
|
51
58
|
ErrorCodes
|
|
52
59
|
};
|
package/dist/cli.js
CHANGED
|
@@ -3187,7 +3187,7 @@ var RUNTIME_VERSION;
|
|
|
3187
3187
|
var init_version = __esm({
|
|
3188
3188
|
"src/version.ts"() {
|
|
3189
3189
|
"use strict";
|
|
3190
|
-
RUNTIME_VERSION = "6.13.
|
|
3190
|
+
RUNTIME_VERSION = "6.13.4";
|
|
3191
3191
|
}
|
|
3192
3192
|
});
|
|
3193
3193
|
|
|
@@ -5585,7 +5585,7 @@ async function runSourceDoctor(configPath) {
|
|
|
5585
5585
|
"WARN",
|
|
5586
5586
|
"\u672C\u5730\u662F Vue \u5E94\u7528\u4E14\u914D\u7F6E\u4E86\u8FDC\u7A0B\u6D88\u8D39\uFF0C\u4F46 shared \u672A\u58F0\u660E vue\u3002",
|
|
5587
5587
|
"\u7EC4\u4EF6\u76F4\u6E32\u67D3\u8981\u6C42\u8FDC\u7A0B\u7EC4\u4EF6\u4E0E\u6D88\u8D39\u65B9\u6E32\u67D3\u5668\u4F7F\u7528\u540C\u4E00 Vue \u5B9E\u4F8B\uFF1B\u672C\u5730\u672A\u58F0\u660E\u65F6\u65E0\u6CD5\u4ECE\u9759\u6001\u626B\u63CF\u786E\u8BA4\u662F\u5426\u6536\u655B\u2014\u2014\u8FD9\u662F\u63A5\u5165\u98CE\u9669\uFF0C\u5C1A\u672A\u8BC1\u5B9E\u5B58\u5728\u91CD\u590D\u5B9E\u4F8B\uFF08\u8FDC\u7A0B\u53EF\u80FD\u672A\u5171\u4EAB vue\u3001\u6216\u4EC5\u66B4\u9732\u7EAF TS \u6A21\u5757\uFF09\u3002",
|
|
5588
|
-
"\u6D88\u8D39\u8FDC\u7A0B Vue \u7EC4\u4EF6\u7684\u4E24\u4FA7\u90FD\u5728 federation({ shared }) \u58F0\u660E vue\uFF08\u5EFA\u8BAE singleton\uFF09\uFF0C\u5E76\u6838\u5BF9 shareScope \u4E00\u81F4\uFF1B\
|
|
5588
|
+
"\u6D88\u8D39\u8FDC\u7A0B Vue \u7EC4\u4EF6\u7684\u4E24\u4FA7\u90FD\u5728 federation({ shared }) \u58F0\u660E vue\uFF08\u5EFA\u8BAE singleton\uFF09\uFF0C\u5E76\u6838\u5BF9 shareScope \u4E00\u81F4\uFF1B\u7F16\u8BD1 SFC \u6709\u5B9E\u9645\u5BFC\u5165\u5F15\u7528\u8BC1\u636E\u65F6\uFF0CremoteComponent \u53EF\u62A5 MFU-019\uFF1B\u65E7\u8FDC\u7A0B\u6216\u666E\u901A TS \u7EC4\u4EF6\u7F3A\u5C11\u8BC1\u636E\u65F6\u4E0D\u80FD\u636E\u5171\u4EAB\u8868\u81EA\u52A8\u786E\u8BA4\u51B2\u7A81\u3002\u4EC5\u6D88\u8D39\u7EAF TS \u6A21\u5757\u53EF\u5FFD\u7565\u672C\u9879\u3002"
|
|
5589
5589
|
);
|
|
5590
5590
|
}
|
|
5591
5591
|
for (const [key, remote] of Object.entries(options.remotes ?? {})) {
|
package/dist/context.cjs
CHANGED
|
@@ -29,11 +29,14 @@ __export(context_exports, {
|
|
|
29
29
|
module.exports = __toCommonJS(context_exports);
|
|
30
30
|
|
|
31
31
|
// src/runtime/errors.ts
|
|
32
|
+
function diagnosticUrl(text) {
|
|
33
|
+
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
34
|
+
}
|
|
32
35
|
var FgError = class extends Error {
|
|
33
36
|
code;
|
|
34
37
|
details;
|
|
35
38
|
constructor(code, message, details, options) {
|
|
36
|
-
super(`[fulgurjs:${code}] ${message}`, options);
|
|
39
|
+
super(`[fulgurjs:${code}] ${diagnosticUrl(message)}`, options);
|
|
37
40
|
this.name = "FgError";
|
|
38
41
|
this.code = code;
|
|
39
42
|
this.details = details;
|
package/dist/context.js
CHANGED