From 90d54157bea3b5aac6077b42ad1faee3288f2518 Mon Sep 17 00:00:00 2001 From: jordankzf Date: Wed, 3 Jan 2024 18:38:49 +0800 Subject: [PATCH 1/4] Bump typescript to v5.0.0 --- package-lock.json | 16 ++++++++-------- package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index ab8679dc6..592fae20c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -117,7 +117,7 @@ "tsc-files": "^1.1.4", "tsconfig-paths-webpack-plugin": "^4.0.0", "type-fest": "^2.19.0", - "typescript": "^4.8.2", + "typescript": "^5.0.0", "vitest": "^0.34.6", "webpack": "^5.89.0", "webpack-cli": "^4.0.0", @@ -13268,16 +13268,16 @@ "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/ufo": { @@ -24102,9 +24102,9 @@ "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" }, "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true }, "ufo": { diff --git a/package.json b/package.json index d4d5692f3..027f3ec03 100644 --- a/package.json +++ b/package.json @@ -138,7 +138,7 @@ "tsc-files": "^1.1.4", "tsconfig-paths-webpack-plugin": "^4.0.0", "type-fest": "^2.19.0", - "typescript": "^4.8.2", + "typescript": "^5.0.0", "vitest": "^0.34.6", "webpack": "^5.89.0", "webpack-cli": "^4.0.0", From 03857f5826447637470244379a12c9ecec0e5b2a Mon Sep 17 00:00:00 2001 From: jordankzf Date: Wed, 3 Jan 2024 18:39:08 +0800 Subject: [PATCH 2/4] Add typescript-plugin-styled-components --- package-lock.json | 17 +++++++++++++++++ package.json | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 592fae20c..8c211947b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -118,6 +118,7 @@ "tsconfig-paths-webpack-plugin": "^4.0.0", "type-fest": "^2.19.0", "typescript": "^5.0.0", + "typescript-plugin-styled-components": "^3.0.0", "vitest": "^0.34.6", "webpack": "^5.89.0", "webpack-cli": "^4.0.0", @@ -13280,6 +13281,15 @@ "node": ">=14.17" } }, + "node_modules/typescript-plugin-styled-components": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/typescript-plugin-styled-components/-/typescript-plugin-styled-components-3.0.0.tgz", + "integrity": "sha512-QWlhTl6NqsFxtJyxn7pJjm3RhgzXSByUftZ3AoQClrMMpa4yAaHuJKTN1gFpH3Ti+Rwm56fNUfG9pXSBU+WW3A==", + "dev": true, + "peerDependencies": { + "typescript": "~4.8 || 5" + } + }, "node_modules/ufo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", @@ -24107,6 +24117,13 @@ "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true }, + "typescript-plugin-styled-components": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/typescript-plugin-styled-components/-/typescript-plugin-styled-components-3.0.0.tgz", + "integrity": "sha512-QWlhTl6NqsFxtJyxn7pJjm3RhgzXSByUftZ3AoQClrMMpa4yAaHuJKTN1gFpH3Ti+Rwm56fNUfG9pXSBU+WW3A==", + "dev": true, + "requires": {} + }, "ufo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", diff --git a/package.json b/package.json index 027f3ec03..a65838930 100644 --- a/package.json +++ b/package.json @@ -142,6 +142,7 @@ "vitest": "^0.34.6", "webpack": "^5.89.0", "webpack-cli": "^4.0.0", - "webpack-dev-server": "^4.11.0" + "webpack-dev-server": "^4.11.0", + "typescript-plugin-styled-components": "^3.0.0" } } From 5c1f4f2c8bc989ad2c4aa715f514aa11d428e193 Mon Sep 17 00:00:00 2001 From: jordankzf Date: Tue, 19 Dec 2023 20:35:33 +0800 Subject: [PATCH 3/4] Add webpack plugin --- webpack/webpack.config.js | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/webpack/webpack.config.js b/webpack/webpack.config.js index 6ea404cd4..58d1d35de 100644 --- a/webpack/webpack.config.js +++ b/webpack/webpack.config.js @@ -9,6 +9,8 @@ const ReactRefreshTypeScript = require('react-refresh-typescript'); const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin'); const Dotenv = require('dotenv-webpack'); const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); +const createStyledComponentsTransformer = require('typescript-plugin-styled-components').default; +const styledComponentsTransformer = createStyledComponentsTransformer(); const aliases = { // alias stacks.js packages to their esm (default prefers /dist/polyfill) @@ -68,9 +70,14 @@ var options = { loader: 'ts-loader', options: { getCustomTransformers: () => ({ - before: [env.NODE_ENV === 'development' && ReactRefreshTypeScript()].filter( - Boolean - ), + // before: [ + // env.NODE_ENV === 'development' && ReactRefreshTypeScript(), + // env.NODE_ENV === 'development' && styledComponentsTransformer, + // ].filter(Boolean), + before: + env.NODE_ENV === 'development' + ? [ReactRefreshTypeScript(), styledComponentsTransformer] + : [], }), transpileOnly: false, }, @@ -91,9 +98,11 @@ var options = { ], }, resolve: { - plugins: [new TsconfigPathsPlugin({ - configFile: path.join(__dirname, '../', 'tsconfig.json') - })], + plugins: [ + new TsconfigPathsPlugin({ + configFile: path.join(__dirname, '../', 'tsconfig.json'), + }), + ], extensions: fileExtensions .map((extension) => '.' + extension) .concat(['.js', '.jsx', '.ts', '.tsx', '.css']), @@ -124,7 +133,7 @@ var options = { description: process.env.npm_package_description, version: process.env.npm_package_version, ...JSON.parse(content.toString()), - }) + }), ); }, }, @@ -139,9 +148,11 @@ var options = { ], }), new CopyWebpackPlugin({ - patterns: [{ - from: 'node_modules/webextension-polyfill/dist/browser-polyfill.js', - }], + patterns: [ + { + from: 'node_modules/webextension-polyfill/dist/browser-polyfill.js', + }, + ], }), new HtmlWebpackPlugin({ template: path.join(SRC_ROOT_PATH, 'pages', 'Options', 'index.html'), @@ -160,7 +171,7 @@ var options = { Buffer: ['buffer', 'Buffer'], }), new webpack.DefinePlugin({ - VERSION: JSON.stringify(require("../package.json").version), + VERSION: JSON.stringify(require('../package.json').version), }), ], From 566892f1eca636dc19d05411743538655f95ded2 Mon Sep 17 00:00:00 2001 From: Jordan K <65149726+jordankzf@users.noreply.github.com> Date: Thu, 4 Jan 2024 11:30:21 +0800 Subject: [PATCH 4/4] Update webpack/webpack.config.js --- webpack/webpack.config.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/webpack/webpack.config.js b/webpack/webpack.config.js index 58d1d35de..b6b7210f4 100644 --- a/webpack/webpack.config.js +++ b/webpack/webpack.config.js @@ -70,10 +70,6 @@ var options = { loader: 'ts-loader', options: { getCustomTransformers: () => ({ - // before: [ - // env.NODE_ENV === 'development' && ReactRefreshTypeScript(), - // env.NODE_ENV === 'development' && styledComponentsTransformer, - // ].filter(Boolean), before: env.NODE_ENV === 'development' ? [ReactRefreshTypeScript(), styledComponentsTransformer]