From fde4197f1202a7ded9ba147c8722d35d5e72dce8 Mon Sep 17 00:00:00 2001 From: "Abhijith Vijayan [KUBRIC]" Date: Wed, 31 Jan 2024 05:07:43 +0530 Subject: [PATCH] refactor: migrate to webpack-ext-reloader --- package-lock.json | 153 +++++++++++++++++++++++----------------------- package.json | 2 +- webpack.config.js | 6 +- 3 files changed, 80 insertions(+), 81 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0397587..f89edd8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -63,7 +63,7 @@ "typescript": "4.9.5", "webpack": "^5.90.0", "webpack-cli": "^5.1.4", - "webpack-extension-reloader": "^1.1.4", + "webpack-ext-reloader": "^1.1.12", "wext-manifest-loader": "^2.4.1", "wext-manifest-webpack-plugin": "^1.4.0" }, @@ -2455,21 +2455,12 @@ "integrity": "sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==", "dev": true }, - "node_modules/@types/tapable": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.12.tgz", - "integrity": "sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==", + "node_modules/@types/webextension-polyfill": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@types/webextension-polyfill/-/webextension-polyfill-0.10.7.tgz", + "integrity": "sha512-10ql7A0qzBmFB+F+qAke/nP1PIonS0TXZAOMVOxEUsm+lGSW6uwVcISFNa0I4Oyj0884TZVWGGMIWeXOVSNFHw==", "dev": true }, - "node_modules/@types/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-Hm/T0kV3ywpJyMGNbsItdivRhYNCQQf1IIsYsXnoVPES4t+FMLyDe0/K+Ea7ahWtMtSNb22ZdY7MIyoD9rqARg==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, "node_modules/@types/webpack": { "version": "5.28.5", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.5.tgz", @@ -2481,6 +2472,26 @@ "webpack": "^5" } }, + "node_modules/@types/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + } + }, + "node_modules/@types/webpack-sources/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz", @@ -10372,60 +10383,69 @@ "node": ">=14" } }, - "node_modules/webpack-extension-reloader": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/webpack-extension-reloader/-/webpack-extension-reloader-1.1.4.tgz", - "integrity": "sha512-PyssJvAiKhztc//QmhpU8yfg7LBR7Bn/cjSM7jadfQJPIDNN1Djxc+SJQRk8uHQ3GQbyWhsWu2DLCMBRcWHIPA==", + "node_modules/webpack-ext-reloader": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/webpack-ext-reloader/-/webpack-ext-reloader-1.1.12.tgz", + "integrity": "sha512-UHjwiX8Qx4aAV8XkQQeHVDP6+7NY0wT/C+t8TNlEClcv/+mkKiRRlEi3Yq5yeaViM7DCFS1x8OBp5DyELB/JWg==", "dev": true, "dependencies": { - "@types/webpack": "^4.39.8", - "@types/webpack-sources": "^0.1.5", + "@types/webextension-polyfill": "^0.10.6", + "@types/webpack": "^5.28.5", + "@types/webpack-sources": "^3.2.3", + "clean-webpack-plugin": "^4.0.0", "colors": "^1.4.0", - "lodash": "^4.17.15", - "minimist": "^1.2.0", + "cross-env": "^7.0.3", + "json5": "^2.2.3", + "lodash": "^4.17.21", + "minimist": "^1.2.8", "useragent": "^2.3.0", - "webextension-polyfill": "^0.5.0", - "webpack-sources": "^1.4.3", - "ws": "^7.2.0" + "webextension-polyfill": "^0.10.0", + "webpack-sources": "^3.2.3", + "ws": "^8.14.2" }, "bin": { - "webpack-extension-reloader": "dist/webpack-extension-reloader-cli.js" + "webpack-ext-reloader": "dist/webpack-ext-reloader-cli.js" }, "peerDependencies": { - "webpack": "^4" + "webpack": "^5.61.0" } }, - "node_modules/webpack-extension-reloader/node_modules/@types/webpack": { - "version": "4.41.38", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", - "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/webpack-extension-reloader/node_modules/@types/webpack-sources": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.12.tgz", - "integrity": "sha512-+vRVqE3LzMLLVPgZHUeI8k1YmvgEky+MOir5fQhKvFxpB8uZ0CFnGqxkRAmf8jvNhUBQzhuGZpIMNWZDeEyDIA==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" - } - }, - "node_modules/webpack-extension-reloader/node_modules/webextension-polyfill": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.5.0.tgz", - "integrity": "sha512-aFrl38x43t1bTboX/paCT8I97+idzX/TY0+fuM52hrIkCpYfROEF9kSn0BXuEIi3J9LTYt2ZZKkhx9NB1qF3nA==", + "node_modules/webpack-ext-reloader/node_modules/webextension-polyfill": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", + "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==", "dev": true }, + "node_modules/webpack-ext-reloader/node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-ext-reloader/node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/webpack-merge": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", @@ -10608,27 +10628,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", diff --git a/package.json b/package.json index b1e6e7a..07dbcf2 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "typescript": "4.9.5", "webpack": "^5.90.0", "webpack-cli": "^5.1.4", - "webpack-extension-reloader": "^1.1.4", + "webpack-ext-reloader": "^1.1.12", "wext-manifest-loader": "^2.4.1", "wext-manifest-webpack-plugin": "^1.4.0" } diff --git a/webpack.config.js b/webpack.config.js index 2cffc77..1d71454 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -5,7 +5,7 @@ const TerserPlugin = require('terser-webpack-plugin'); const CopyWebpackPlugin = require('copy-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const {CleanWebpackPlugin} = require('clean-webpack-plugin'); -const ExtensionReloader = require('webpack-extension-reloader'); +const ExtensionReloader = require('webpack-ext-reloader'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const WextManifestWebpackPlugin = require('wext-manifest-webpack-plugin'); const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); @@ -20,8 +20,8 @@ const targetBrowser = process.env.TARGET_BROWSER; const extensionReloaderPlugin = nodeEnv === 'development' ? new ExtensionReloader({ - port: 9090, - reloadPage: true, + port: 9090, // Which port use to create the server + reloadPage: true, // Force the reload of the page also entries: { // TODO: reload manifest on update contentScript: 'contentScript',