@fulgurjs/federation 6.13.3 → 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 +7 -0
- package/dist/bridge-app-react.js +4 -4
- package/dist/bridge-app-vue.js +5 -5
- package/dist/bridge-core.cjs +4 -1
- package/dist/bridge-core.js +4 -4
- package/dist/bridge-errors.cjs +5 -2
- package/dist/bridge-errors.js +2 -2
- package/dist/bridge-host-react.cjs +7 -4
- package/dist/bridge-host-react.js +9 -7
- package/dist/bridge-host-vue.cjs +7 -4
- package/dist/bridge-host-vue.js +9 -7
- package/dist/bridge-session-auto.js +2 -2
- package/dist/{chunk-H46PAH5S.js → chunk-ATU42YF3.js} +1 -1
- package/dist/{chunk-HWCJILPW.js → chunk-EGXWY5NW.js} +5 -4
- package/dist/{chunk-MZLWIJ6V.js → chunk-EK5JODE4.js} +2 -2
- package/dist/{chunk-7OOPFHL3.js → chunk-FXG2TWSA.js} +1 -1
- package/dist/{chunk-5ZXA4FPA.js → chunk-NX3HRELG.js} +1 -1
- package/dist/{chunk-VBPOHJUI.js → chunk-Y7YANGLN.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/context.js +2 -2
- package/dist/index.cjs +2 -2
- package/dist/index.js +2 -2
- package/dist/react-adapter.cjs +1 -1
- package/dist/react-adapter.js +2 -2
- package/dist/runtime.js +13 -13
- package/dist/vue-adapter.cjs +1 -1
- package/dist/vue-adapter.js +2 -2
- package/docs/en/reference/errors.md +3 -0
- package/docs/zh/reference/errors.md +3 -0
- 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,12 @@
|
|
|
1
1
|
# 当前发布说明
|
|
2
2
|
|
|
3
|
+
## 6.13.4
|
|
4
|
+
|
|
5
|
+
- 桥接宿主包装错误时原样保留非 Error 拒绝值;默认 Vue/React 桥接占位与卸载日志使用脱敏摘要。
|
|
6
|
+
- 修复运行时调试出口重新暴露原始远程入口的问题;入口摘要去掉凭据、query/hash,失败摘要和插件日志清理标注的敏感值,原始 cause 不变。
|
|
7
|
+
- 合并重复诊断格式与钩子日志,保持既有体积预算;补充非 Error 身份、调试摘要及两种框架默认提示的回归。
|
|
8
|
+
- 五个模板依赖已发布的 6.13.3;本版本是诊断补强的基础包,后续模板资产版本再统一依赖本版。
|
|
9
|
+
|
|
3
10
|
## 6.13.3
|
|
4
11
|
|
|
5
12
|
- 修复 `bindStoreToApp` 在内联 `defineStore` 与 Pinia getter 组合时的泛型推导,保留真实 store 字段、方法和容器约束;使用真实 Pinia 的正反例检查。
|
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.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
|
@@ -36,6 +36,9 @@ module.exports = __toCommonJS(bridge_core_exports);
|
|
|
36
36
|
function diagnosticUrl(text) {
|
|
37
37
|
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
38
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
|
+
}
|
|
39
42
|
var FgError = class extends Error {
|
|
40
43
|
code;
|
|
41
44
|
details;
|
|
@@ -94,7 +97,7 @@ function invalidBridgeContractError(spec, mod) {
|
|
|
94
97
|
);
|
|
95
98
|
}
|
|
96
99
|
function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
97
|
-
const raw =
|
|
100
|
+
const raw = diagnosticMessage(cause);
|
|
98
101
|
const fixes = {
|
|
99
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",
|
|
100
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
|
@@ -38,6 +38,9 @@ module.exports = __toCommonJS(bridge_errors_exports);
|
|
|
38
38
|
function diagnosticUrl(text) {
|
|
39
39
|
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
40
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
|
+
}
|
|
41
44
|
var FgError = class extends Error {
|
|
42
45
|
code;
|
|
43
46
|
details;
|
|
@@ -85,7 +88,7 @@ function invalidBridgeContractError(spec, mod) {
|
|
|
85
88
|
);
|
|
86
89
|
}
|
|
87
90
|
function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
88
|
-
const raw =
|
|
91
|
+
const raw = diagnosticMessage(cause);
|
|
89
92
|
const fixes = {
|
|
90
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",
|
|
91
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",
|
|
@@ -102,7 +105,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
|
102
105
|
}
|
|
103
106
|
function bridgeHostError(phase, spec, cause) {
|
|
104
107
|
if (cause instanceof FgError) return cause;
|
|
105
|
-
return bridgeLifecycleError(phase, spec, cause
|
|
108
|
+
return bridgeLifecycleError(phase, spec, cause);
|
|
106
109
|
}
|
|
107
110
|
function bridgeSessionMismatchError(spec, controlled, actual, extra) {
|
|
108
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,
|
|
@@ -29,6 +29,9 @@ var import_react = require("react");
|
|
|
29
29
|
function diagnosticUrl(text) {
|
|
30
30
|
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
31
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
|
+
}
|
|
32
35
|
var FgError = class extends Error {
|
|
33
36
|
code;
|
|
34
37
|
details;
|
|
@@ -109,7 +112,7 @@ function invalidBridgeContractError(spec, mod) {
|
|
|
109
112
|
);
|
|
110
113
|
}
|
|
111
114
|
function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
112
|
-
const raw =
|
|
115
|
+
const raw = diagnosticMessage(cause);
|
|
113
116
|
const fixes = {
|
|
114
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",
|
|
115
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",
|
|
@@ -126,7 +129,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
|
126
129
|
}
|
|
127
130
|
function bridgeHostError(phase, spec, cause) {
|
|
128
131
|
if (cause instanceof FgError) return cause;
|
|
129
|
-
return bridgeLifecycleError(phase, spec, cause
|
|
132
|
+
return bridgeLifecycleError(phase, spec, cause);
|
|
130
133
|
}
|
|
131
134
|
function bridgeSessionMismatchError(spec, controlled, actual, extra) {
|
|
132
135
|
const actualText = actual === void 0 ? "undefined\uFF08\u9875\u9762\u5C1A\u65E0 AppContext\uFF09" : typeof actual === "string" ? `"${actual}"` : String(actual);
|
|
@@ -605,7 +608,7 @@ var SECONDARY_BUTTON_STYLE = {
|
|
|
605
608
|
function DefaultBridgeErrorView({ error, retry, blocked }) {
|
|
606
609
|
const err = error;
|
|
607
610
|
const code = err?.code ?? "UNKNOWN";
|
|
608
|
-
const message =
|
|
611
|
+
const message = diagnosticMessage(error ?? "unknown error");
|
|
609
612
|
return (0, import_react.createElement)("div", { style: ERROR_STYLE, "data-fulgurjs-error": code }, [
|
|
610
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`),
|
|
611
614
|
(0, import_react.createElement)("p", { key: "m", style: MESSAGE_STYLE }, message),
|
|
@@ -720,7 +723,7 @@ function createReactBridgeAppWithLoader(loadRemote) {
|
|
|
720
723
|
c.unmount(el);
|
|
721
724
|
} catch (e) {
|
|
722
725
|
const err = bridgeHostError("unmount", spec, e);
|
|
723
|
-
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));
|
|
724
727
|
blockedRef.current = true;
|
|
725
728
|
setError(err);
|
|
726
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
|
@@ -29,6 +29,9 @@ var import_vue = require("vue");
|
|
|
29
29
|
function diagnosticUrl(text) {
|
|
30
30
|
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
31
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
|
+
}
|
|
32
35
|
var FgError = class extends Error {
|
|
33
36
|
code;
|
|
34
37
|
details;
|
|
@@ -109,7 +112,7 @@ function invalidBridgeContractError(spec, mod) {
|
|
|
109
112
|
);
|
|
110
113
|
}
|
|
111
114
|
function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
112
|
-
const raw =
|
|
115
|
+
const raw = diagnosticMessage(cause);
|
|
113
116
|
const fixes = {
|
|
114
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",
|
|
115
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",
|
|
@@ -126,7 +129,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
|
|
|
126
129
|
}
|
|
127
130
|
function bridgeHostError(phase, spec, cause) {
|
|
128
131
|
if (cause instanceof FgError) return cause;
|
|
129
|
-
return bridgeLifecycleError(phase, spec, cause
|
|
132
|
+
return bridgeLifecycleError(phase, spec, cause);
|
|
130
133
|
}
|
|
131
134
|
function bridgeSessionMismatchError(spec, controlled, actual, extra) {
|
|
132
135
|
const actualText = actual === void 0 ? "undefined\uFF08\u9875\u9762\u5C1A\u65E0 AppContext\uFF09" : typeof actual === "string" ? `"${actual}"` : String(actual);
|
|
@@ -614,7 +617,7 @@ var BridgeErrorPlaceholder = /* @__PURE__ */ (0, import_vue.defineComponent)({
|
|
|
614
617
|
return () => {
|
|
615
618
|
const err = props.error;
|
|
616
619
|
const code = err?.code ?? "UNKNOWN";
|
|
617
|
-
const message =
|
|
620
|
+
const message = diagnosticMessage(props.error ?? "unknown error");
|
|
618
621
|
return (0, import_vue.h)("div", { style: ERROR_STYLE, "data-fulgurjs-error": code }, [
|
|
619
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`),
|
|
620
623
|
(0, import_vue.h)("p", { style: "margin:0 0 8px;word-break:break-all" }, message),
|
|
@@ -696,7 +699,7 @@ function createVueBridgeAppWithLoader(loadRemote, automaticSession) {
|
|
|
696
699
|
} catch (e) {
|
|
697
700
|
const err = bridgeHostError("unmount", spec, e);
|
|
698
701
|
containerBlocked = true;
|
|
699
|
-
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));
|
|
700
703
|
error.value = err;
|
|
701
704
|
status.value = "error";
|
|
702
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;
|
|
@@ -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) {
|
|
@@ -3,7 +3,7 @@ function diagnosticUrl(text) {
|
|
|
3
3
|
return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
|
|
4
4
|
}
|
|
5
5
|
function diagnosticMessage(error) {
|
|
6
|
-
return diagnosticUrl(String(error
|
|
6
|
+
return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
|
|
7
7
|
}
|
|
8
8
|
var FgError = class extends Error {
|
|
9
9
|
code;
|
package/dist/cli.js
CHANGED
package/dist/context.js
CHANGED