diff --git a/index.html b/index.html
deleted file mode 100644
index dee28f5..0000000
--- a/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
- Rspack + React + TS
-
-
-
-
-
diff --git a/rspack.config.ts b/rspack.config.ts
index f0ad917..92b6d2f 100644
--- a/rspack.config.ts
+++ b/rspack.config.ts
@@ -1,16 +1,18 @@
+import * as path from "path";
import { defineConfig } from "@rspack/cli";
import { rspack } from "@rspack/core";
import * as RefreshPlugin from "@rspack/plugin-react-refresh";
+import { version } from "./package.json";
const isDev = process.env.NODE_ENV === "development";
+const isBeta = version.includes("-");
// Target browsers, see: https://github.com/browserslist/browserslist
const targets = ["chrome >= 87", "edge >= 88", "firefox >= 78", "safari >= 14"];
const src = `${__dirname}/src`;
const dist = `${__dirname}/dist`;
-const assets = `${__dirname}/build/assets`;
-const template = `${assets}/template`;
+const assets = `${src}/assets`;
export default defineConfig({
context: __dirname,
@@ -18,8 +20,17 @@ export default defineConfig({
service_worker: `${src}/service_worker.ts`,
popup: `${src}/pages/popup/main.tsx`,
},
+ output: {
+ path: `${dist}/ext/src`,
+ filename: "[name].js",
+ clean: true,
+ },
resolve: {
extensions: ["...", ".ts", ".tsx", ".jsx"],
+ alias: {
+ "@App": path.resolve(__dirname, "src/"),
+ "@Pkg": path.resolve(__dirname, "pkg/"),
+ },
},
module: {
rules: [
@@ -54,6 +65,29 @@ export default defineConfig({
],
},
plugins: [
+ new rspack.CopyRspackPlugin({
+ patterns: [
+ {
+ from: `${src}/manifest.json`,
+ to: `${dist}/ext`,
+ // 将manifest.json内版本号替换为package.json中版本号
+ transform(content) {
+ const manifest = JSON.parse(content.toString());
+ manifest.name = "ScriptCat - Dev";
+ manifest.content_security_policy = "script-src 'self' https://cdn.crowdin.com; object-src 'self'";
+ return JSON.stringify(manifest);
+ },
+ },
+ {
+ from: `${assets}/logo/logo${isDev ? "-beta" : ""}.png`,
+ to: `${dist}/ext/assets/logo.png`,
+ },
+ {
+ from: `${assets}/_locales`,
+ to: `${dist}/ext/src/_locales`,
+ },
+ ],
+ }),
new rspack.HtmlRspackPlugin({
filename: `${dist}/ext/src/popup.html`,
template: `${src}/pages/popup/index.html`,
diff --git a/src/assets/_locales/en/messages.json b/src/assets/_locales/en/messages.json
new file mode 100644
index 0000000..b900c38
--- /dev/null
+++ b/src/assets/_locales/en/messages.json
@@ -0,0 +1,11 @@
+{
+ "i18n": {
+ "message": "i18n"
+ },
+ "scriptcat": {
+ "message": "ScriptCat"
+ },
+ "scriptcat_description": {
+ "message": "Everything can be scripted, allowing your browser to do more!"
+ }
+}
diff --git a/src/assets/_locales/vi/messages.json b/src/assets/_locales/vi/messages.json
new file mode 100644
index 0000000..5f80cfa
--- /dev/null
+++ b/src/assets/_locales/vi/messages.json
@@ -0,0 +1,11 @@
+{
+ "i18n": {
+ "message": "I18n"
+ },
+ "scriptcat": {
+ "message": "ScriptCat"
+ },
+ "scriptcat_description": {
+ "message": "Mọi thứ đều có thể viết được, cho phép trình duyệt của bạn làm được nhiều việc hơn!"
+ }
+}
\ No newline at end of file
diff --git a/src/assets/_locales/zh_CN/messages.json b/src/assets/_locales/zh_CN/messages.json
new file mode 100644
index 0000000..464e487
--- /dev/null
+++ b/src/assets/_locales/zh_CN/messages.json
@@ -0,0 +1,11 @@
+{
+ "i18n": {
+ "message": "i18n"
+ },
+ "scriptcat": {
+ "message": "脚本猫"
+ },
+ "scriptcat_description": {
+ "message": "万物皆可脚本化,让你的浏览器可以做更多的事情!"
+ }
+}
\ No newline at end of file
diff --git a/src/assets/logo/gf.png b/src/assets/logo/gf.png
new file mode 100644
index 0000000..1c44e67
Binary files /dev/null and b/src/assets/logo/gf.png differ
diff --git a/src/assets/logo/github.png b/src/assets/logo/github.png
new file mode 100644
index 0000000..fd55374
Binary files /dev/null and b/src/assets/logo/github.png differ
diff --git a/src/assets/logo/logo-beta.png b/src/assets/logo/logo-beta.png
new file mode 100644
index 0000000..d1e6c7a
Binary files /dev/null and b/src/assets/logo/logo-beta.png differ
diff --git a/src/assets/logo/logo.png b/src/assets/logo/logo.png
new file mode 100644
index 0000000..25e2f20
Binary files /dev/null and b/src/assets/logo/logo.png differ
diff --git a/src/pages/popup/index.html b/src/pages/popup/index.html
index e885b03..d65c49e 100644
--- a/src/pages/popup/index.html
+++ b/src/pages/popup/index.html
@@ -1,36 +1,33 @@
-
+
- <%= htmlWebpackPlugin.options.title %>
+ <%= htmlRspackPlugin.options.title %>
+
-
- <% if (htmlWebpackPlugin.options.mode === 'i18n') { %>
+ <% if rspackConfig.mode=="script" { %>
-
+
<% } %>