From fa9ca35053bf9463747f3ab722fefd0fbd8d1d95 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Wed, 15 Nov 2023 21:22:17 +0800 Subject: [PATCH 001/259] refactor(dev): improve eslint and jsconfig --- eslint.config.js | 18 +++++++++++++++++- scripts/build-app.js | 1 + scripts/build-ext-v4.js | 1 + scripts/build-ext-v5.js | 1 + scripts/jsconfig.json | 26 ++++++++++++++++++++++++++ scripts/preview-app.js | 1 + src/ext/background/main.js | 2 +- 7 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 scripts/jsconfig.json diff --git a/eslint.config.js b/eslint.config.js index e2bd75e7..5b5fa18f 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -49,7 +49,23 @@ export default [ // https://eslint.org/docs/latest/use/configure/migration-guide#configuring-language-options { - files: ["src/**/*.{js,svelte}"], + files: ["scripts/**/*.js"], + languageOptions: { + globals: { + ...globals.node, + }, + }, + }, + { + files: ["src/{app,dev}/**/*.{js,svelte}"], + languageOptions: { + globals: { + ...globals.browser, + }, + }, + }, + { + files: ["src/ext/**/*.{js,svelte}"], languageOptions: { globals: { ...globals.browser, diff --git a/scripts/build-app.js b/scripts/build-app.js index 2fedc7ce..f4713f70 100644 --- a/scripts/build-app.js +++ b/scripts/build-app.js @@ -14,6 +14,7 @@ import { svelte } from "@sveltejs/vite-plugin-svelte"; * Disable auto resolving {@link vite.config.js} * @see {@link https://vitejs.dev/config/ Config} * @see {@link https://vitejs.dev/guide/api-javascript.html#inlineconfig configFile} + * @type {import("vite").InlineConfig} */ const defineConfig = { base: "./", diff --git a/scripts/build-ext-v4.js b/scripts/build-ext-v4.js index 03b01c3a..4a091260 100644 --- a/scripts/build-ext-v4.js +++ b/scripts/build-ext-v4.js @@ -22,6 +22,7 @@ import { svelte } from "@sveltejs/vite-plugin-svelte"; * Disable auto resolving {@link vite.config.js} * @see {@link https://vitejs.dev/config/ Config} * @see {@link https://vitejs.dev/guide/api-javascript.html#inlineconfig configFile} + * @type {import("vite").InlineConfig} */ const defineConfig = { base: "./", diff --git a/scripts/build-ext-v5.js b/scripts/build-ext-v5.js index e810c972..605317b0 100644 --- a/scripts/build-ext-v5.js +++ b/scripts/build-ext-v5.js @@ -21,6 +21,7 @@ import { svelte } from "@sveltejs/vite-plugin-svelte"; * Disable auto resolving {@link vite.config.js} * @see {@link https://vitejs.dev/config/ Config} * @see {@link https://vitejs.dev/guide/api-javascript.html#inlineconfig configFile} + * @type {import("vite").InlineConfig} */ const defineConfig = { base: "./", diff --git a/scripts/jsconfig.json b/scripts/jsconfig.json new file mode 100644 index 00000000..f0633242 --- /dev/null +++ b/scripts/jsconfig.json @@ -0,0 +1,26 @@ +// https://code.visualstudio.com/docs/languages/jsconfig +// https://www.typescriptlang.org/docs/handbook/tsconfig-json.html +// https://www.typescriptlang.org/tsconfig + +// https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html +// https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html + +{ + "compilerOptions": { + "target": "ESNext", + "module": "NodeNext", + "moduleResolution": "nodenext", + + "verbatimModuleSyntax": true, + "isolatedModules": true, + "resolveJsonModule": true, + + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "skipLibCheck": true, + "sourceMap": true + }, + "include": ["**/*.d.ts", "**/*.js"] +} diff --git a/scripts/preview-app.js b/scripts/preview-app.js index 691f601c..d9060d8d 100644 --- a/scripts/preview-app.js +++ b/scripts/preview-app.js @@ -10,6 +10,7 @@ import { preview } from "vite"; * Disable auto resolving {@link vite.config.js} * @see {@link https://vitejs.dev/config/ Config} * @see {@link https://vitejs.dev/guide/api-javascript.html#inlineconfig configFile} + * @type {import("vite").InlineConfig} */ const defineConfig = { base: "./", diff --git a/src/ext/background/main.js b/src/ext/background/main.js index 5d481b2d..e0530cae 100644 --- a/src/ext/background/main.js +++ b/src/ext/background/main.js @@ -321,7 +321,7 @@ async function handleMessage(request, sender, sendResponse) { } case "API_ADD_STYLE": { const tabId = sender.tab.id; - /** @type {{code: string, cssOrigin: "user"|"author"}} */ + /** @type {import("webextension-polyfill").ExtensionTypes.InjectDetails} */ const details = { code: request.css, cssOrigin: "user" }; return browser.tabs.insertCSS(tabId, details); } From 99c5f00dd77adb8aa4a84de93afb49c58ab5a859 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Tue, 28 Nov 2023 03:36:30 +0800 Subject: [PATCH 002/259] refactor(dev): adjust directory structure --- .gitignore | 9 ++- .prettierignore | 2 +- entry-ext-extension-page.html | 2 +- .../ext/safari-15}/images/icon-128.png | Bin .../ext/safari-15}/images/icon-256.png | Bin .../ext/safari-15}/images/icon-48.png | Bin .../ext/safari-15}/images/icon-512.png | Bin .../ext/safari-15}/images/icon-96.png | Bin .../ext/safari-15}/images/toolbar-icon-16.png | Bin .../ext/safari-15}/images/toolbar-icon-32.png | Bin public/ext/safari-15/manifest.json | 63 ++++++++++++++++++ public/ext/safari-16.4/images/128.svg | 1 + public/ext/safari-16.4/images/action.svg | 1 + public/ext/safari-16.4/manifest.json | 48 +++++++++++++ public/ext/shared/_locales/en/messages.json | 10 +++ .../vendor}/jshint.min.js | 0 src/ext/content-scripts/entry-dot-user-js.js | 0 src/ext/content-scripts/entry-greasyfork.js | 0 .../{main.js => entry-userscripts.js} | 24 ++++--- src/ext/shared/utils.js | 4 +- vite.config.js | 38 ++++------- .../Resources/_locales/en/messages.json | 10 --- .../Ext-Safari/Resources/ext-v4-manifest.json | 46 ------------- .../Ext-Safari/Resources/ext-v5-manifest.json | 45 ------------- 24 files changed, 159 insertions(+), 144 deletions(-) rename {xcode/Ext-Safari/Resources => public/ext/safari-15}/images/icon-128.png (100%) rename {xcode/Ext-Safari/Resources => public/ext/safari-15}/images/icon-256.png (100%) rename {xcode/Ext-Safari/Resources => public/ext/safari-15}/images/icon-48.png (100%) rename {xcode/Ext-Safari/Resources => public/ext/safari-15}/images/icon-512.png (100%) rename {xcode/Ext-Safari/Resources => public/ext/safari-15}/images/icon-96.png (100%) rename {xcode/Ext-Safari/Resources => public/ext/safari-15}/images/toolbar-icon-16.png (100%) rename {xcode/Ext-Safari/Resources => public/ext/safari-15}/images/toolbar-icon-32.png (100%) create mode 100644 public/ext/safari-15/manifest.json create mode 100644 public/ext/safari-16.4/images/128.svg create mode 100644 public/ext/safari-16.4/images/action.svg create mode 100644 public/ext/safari-16.4/manifest.json create mode 100644 public/ext/shared/_locales/en/messages.json rename public/{extension-page => ext/vendor}/jshint.min.js (100%) create mode 100644 src/ext/content-scripts/entry-dot-user-js.js create mode 100644 src/ext/content-scripts/entry-greasyfork.js rename src/ext/content-scripts/{main.js => entry-userscripts.js} (92%) delete mode 100644 xcode/Ext-Safari/Resources/_locales/en/messages.json delete mode 100644 xcode/Ext-Safari/Resources/ext-v4-manifest.json delete mode 100644 xcode/Ext-Safari/Resources/ext-v5-manifest.json diff --git a/.gitignore b/.gitignore index 0a6c392f..ded7b2f9 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,6 @@ dist dist-ssr build built -*.local # Logs logs @@ -47,5 +46,9 @@ xcuserdata/ *.xcuserstate *.dev.xcconfig XCBuildData -xcode/**/build/ -xcode/**/dist/ \ No newline at end of file +xcode/Ext-Safari/Resources/ + +# directories and files +local +*.local +/scripts/*.local.js \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index be1335e6..5c1a0da1 100644 --- a/.prettierignore +++ b/.prettierignore @@ -6,7 +6,7 @@ # root /package -/public +/public/**/vendor /etc # dir diff --git a/entry-ext-extension-page.html b/entry-ext-extension-page.html index 16e4944d..b112106c 100644 --- a/entry-ext-extension-page.html +++ b/entry-ext-extension-page.html @@ -10,6 +10,6 @@
- +