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" { %> - + <% } %>