Skip to content

Commit 96bf316

Browse files
committed
fix
1 parent fd603fa commit 96bf316

10 files changed

Lines changed: 20 additions & 222 deletions

File tree

src/content.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import MessageInternal from "./app/message/internal";
55
import ContentRuntime from "./runtime/content/content";
66
// @ts-ignore
77
import injectJs from "../dist/inject.js";
8-
import { randomString } from "./pkg/utils/utils";
8+
import { randomString, sourceMapTo } from "./pkg/utils/utils";
99

1010
const internalMessage = new MessageInternal("content");
1111

@@ -21,7 +21,7 @@ const scriptFlag = randomString(8);
2121
const temp = document.createElementNS("http://www.w3.org/1999/xhtml", "script");
2222
temp.setAttribute("type", "text/javascript");
2323
temp.setAttribute("charset", "UTF-8");
24-
temp.textContent = `(function (ScriptFlag) {\n${injectJs}\n})('${scriptFlag}')`;
24+
temp.textContent = `(function (ScriptFlag) {\n${injectJs}\n})('${scriptFlag}')${sourceMapTo("injected.js")}`;
2525
temp.className = "injected-js";
2626
document.documentElement.appendChild(temp);
2727
temp.remove();

src/pages/confirm/main.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from "react";
21
import ReactDOM from "react-dom/client";
32
import "@arco-design/web-react/dist/css/arco.css";
43
import MessageInternal from "@App/app/message/internal";

src/pages/import/main.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from "react";
21
import ReactDOM from "react-dom/client";
32
import "@arco-design/web-react/dist/css/arco.css";
43
import MessageInternal from "@App/app/message/internal";

src/pages/install/App.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from "react";
21
import Description from "./description";
32

43
function App() {

src/pages/install/main.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from "react";
21
import ReactDOM from "react-dom/client";
32
import { registerEditor } from "@App/pkg/utils/monaco-editor/index";
43
import "@arco-design/web-react/dist/css/arco.css";

src/pages/options/main.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from "react";
21
import ReactDOM from "react-dom/client";
32
import { registerEditor } from "@App/pkg/utils/monaco-editor/index";
43
// eslint-disable-next-line import/no-unresolved
@@ -13,6 +12,7 @@ import GMApi from "@App/runtime/background/gm_api";
1312
import { MessageBroadcast, MessageHander } from "@App/app/message/message";
1413
import IoC from "@App/app/ioc";
1514
import LoggerCore from "@App/app/logger/core";
15+
import Logger from "@App/app/logger/logger";
1616
import DBWriter from "@App/app/logger/db_writer";
1717
import { LoggerDAO } from "@App/app/repo/logger";
1818
import { IPermissionVerify } from "@App/runtime/background/permission_verify";
@@ -66,6 +66,12 @@ tryConnect(message, (ok: boolean) => {
6666
} else {
6767
Message.error("后台通信连接失败,请注意保存当前页面数据,尝试重新连接中...");
6868
}
69+
}, (e: any) => {
70+
// ignore
71+
LoggerCore.getLogger({ component: "utils" }).error(
72+
"re connect failed",
73+
Logger.E(e)
74+
);
6975
});
7076

7177
// 处理沙盒加载消息

src/pages/popup/main.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from "react";
21
import ReactDOM from "react-dom/client";
32
import "@arco-design/web-react/dist/css/arco.css";
43
import MessageInternal from "@App/app/message/internal";

src/pkg/utils/monaco-editor_.ts

Lines changed: 0 additions & 203 deletions
This file was deleted.

src/pkg/utils/utils.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
/* eslint-disable no-control-regex */
22
/* eslint-disable import/prefer-default-export */
33
/* eslint-disable default-case */
4-
import LoggerCore from "@App/app/logger/core";
5-
import Logger from "@App/app/logger/logger";
64
import type { SCMetadata } from "@App/app/repo/scripts";
75
import type MessageInternal from "@App/app/message/internal";
86

@@ -109,7 +107,8 @@ export function parseStorageValue(str: string): any {
109107
// 尝试重新链接和超时通知
110108
export function tryConnect(
111109
message: MessageInternal,
112-
callback: (ok: boolean) => void
110+
callback: (ok: boolean) => void,
111+
onError: (e: any) => void
113112
) {
114113
const ping = () => {
115114
return new Promise((resolve) => {
@@ -137,11 +136,7 @@ export function tryConnect(
137136
message.reconnect();
138137
callback(true);
139138
} catch (e) {
140-
// ignore
141-
LoggerCore.getLogger({ component: "utils" }).error(
142-
"re connect failed",
143-
Logger.E(e)
144-
);
139+
onError(e);
145140
}
146141
}
147142
}, 5000);
@@ -320,6 +315,11 @@ export function cleanFileName(name: string): string {
320315
return name.replace(/[\x00-\x1F\\\/:*?"<>|]+/g, "-").trim();
321316
}
322317

318+
export const sourceMapTo = (scriptName: string) => {
319+
const url = chrome.runtime.getURL(`/${encodeURI(scriptName)}`);
320+
return `\n//# sourceURL=${url}`;
321+
};
322+
323323
// 获取本周是第几周
324324
// 遵循 ISO 8601, 一月四日为Week 1,星期一为新一周
325325
// 能应对每年开始和结束(不会因为踏入新一年而重新计算)

src/runtime/content/utils.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { type ScriptRunResource } from "@App/app/repo/scripts";
22
import { has } from "@App/pkg/utils/lodash";
3+
import { sourceMapTo } from "@App/pkg/utils/utils"
34

45
// 构建脚本运行代码
56
export function compileScriptCode(scriptRes: ScriptRunResource): string {
@@ -14,9 +15,8 @@ export function compileScriptCode(scriptRes: ScriptRunResource): string {
1415
});
1516
}
1617
code = require + code;
17-
return `with (context) return (async ()=>{\n${code}\n//# sourceURL=${chrome.runtime.getURL(
18-
`/${encodeURI(scriptRes.name)}.user.js`
19-
)}\n})()`;
18+
const filepath = `${scriptRes.name}.user.js`;
19+
return `with (context) return (async ()=>{\n${code}${sourceMapTo(filepath)}\n})()`;
2020
}
2121

2222
// eslint-disable-next-line camelcase

0 commit comments

Comments
 (0)