Skip to content

Commit 7d18bde

Browse files
committed
👷 集成react devtools
1 parent 1cc9be3 commit 7d18bde

3 files changed

Lines changed: 14 additions & 2 deletions

File tree

‎package.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"typecheck": "tsc --noEmit",
1515
"build": "cross-env NODE_ENV=production rspack build",
1616
"dev": "cross-env NODE_ENV=development rspack",
17+
"dev:react-devtools": "cross-env NODE_ENV=development REACT_DEVTOOLS=true rspack",
1718
"dev:noMap": "cross-env NODE_ENV=development NO_MAP=true rspack",
1819
"pack": "node ./scripts/pack.js",
1920
"format": "prettier --write .",

‎rspack.config.ts‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const version = pkg.version;
1111
const dirname = path.resolve();
1212
const isDev = process.env.NODE_ENV === "development";
1313
const isBeta = version.includes("-");
14+
const isReactTools = process.env.REACT_DEVTOOLS === "true";
1415

1516
// Target browsers, see: https://github.com/browserslist/browserslist
1617
// 依照 https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/userScripts#browser_compatibility
@@ -133,10 +134,14 @@ export default defineConfig({
133134
to: `${dist}/ext`,
134135
// 将manifest.json内版本号替换为package.json中版本号
135136
transform(content: Buffer) {
136-
const manifest = JSON.parse(content.toString());
137+
const manifest = JSON.parse(content.toString()) as chrome.runtime.ManifestV3;
137138
if (isDev || isBeta) {
138139
manifest.name = "__MSG_scriptcat_beta__";
139-
// manifest.content_security_policy = "script-src 'self' https://cdn.crowdin.com; object-src 'self'";
140+
}
141+
if (isReactTools) {
142+
manifest.content_security_policy = {
143+
extension_pages: "script-src 'self' http://localhost:8097; object-src 'self'",
144+
};
140145
}
141146
return JSON.stringify(manifest);
142147
},
@@ -191,6 +196,9 @@ export default defineConfig({
191196
chunks: ["import"],
192197
}),
193198
new rspack.HtmlRspackPlugin({
199+
templateParameters: {
200+
isReactTools: isReactTools ? "true" : "false",
201+
},
194202
filename: `${dist}/ext/src/options.html`,
195203
template: `${src}/pages/options.html`,
196204
inject: "head",

‎src/pages/options.html‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
<meta charset="UTF-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
66
<title><%= htmlRspackPlugin.options.title %></title>
7+
<% if isReactTools=="true" { %>
8+
<script src="http://localhost:8097"></script>
9+
<% } %>
710
<style>
811
body {
912
height: 100%;

0 commit comments

Comments
 (0)