From 92f3b7b75dc7dcaf4a226e25b6eb33b8d0d4078b Mon Sep 17 00:00:00 2001 From: Justin Stephenson Date: Fri, 13 Jan 2023 12:12:11 -0500 Subject: [PATCH] Update dependencies excluding Patternfly Update to webpack 5 --- package.json | 63 ++++++++++++++++++++++++----------------------- webpack.config.js | 27 ++++++++++++++------ 2 files changed, 51 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index 442f422..4a0f4f5 100644 --- a/package.json +++ b/package.json @@ -13,52 +13,53 @@ "eslint:fix": "eslint --fix --ext .js --ext .jsx src/" }, "devDependencies": { - "@babel/core": "^7.5.4", - "@babel/eslint-parser": "^7.16.0", - "@babel/preset-env": "^7.5.4", + "@babel/core": "^7.20.12", + "@babel/eslint-parser": "^7.19.1", + "@babel/preset-env": "^7.20.2", "@babel/preset-react": "^7.0.0", - "babel-loader": "^8.0.0", - "chrome-remote-interface": "^0.28.0", - "compression-webpack-plugin": "^1.1.11", - "copy-webpack-plugin": "^4.5.2", - "css-loader": "^3.0.0", - "eslint": "^7.10.0", - "eslint-config-standard": "^14.1.0", + "babel-loader": "^9.1.2", + "chrome-remote-interface": "^0.32.0", + "compression-webpack-plugin": "^10.0.0", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.7.3", + "eslint": "^8.31.0", + "eslint-config-standard": "^17.0.0", "eslint-config-standard-react": "^9.2.0", - "eslint-plugin-flowtype": "^4.3.0", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-node": "^10.0.0", - "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.27.4", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.14.3", "eslint-plugin-react-hooks": "^4.2.0", - "eslint-plugin-standard": "^4.0.1", - "eslint-webpack-plugin": "^2.5.3", + "eslint-plugin-standard": "^4.1.0", + "eslint-webpack-plugin": "^3.2.0", "htmlparser": "^1.7.7", "jed": "^1.1.1", - "mini-css-extract-plugin": "^0.9.0", + "mini-css-extract-plugin": "^2.7.2", "po2json": "^1.0.0-alpha", - "sass": "^1.35.1", - "sass-loader": "^7.0.3", - "sizzle": "^2.3.3", - "stdio": "^0.2.7", - "string-replace-loader": "^2.3.0", - "webpack": "^4.17.1", - "webpack-cli": "^3.1.0" + "sass": "^1.57.1", + "sass-loader": "^13.2.0", + "sizzle": "^2.3.9", + "stdio": "^2.1.1", + "string-replace-loader": "^3.1.0", + "webpack": "^5.75.0", + "webpack-cli": "^5.0.1" }, "dependencies": { "@patternfly/patternfly": "4.132.2", "@patternfly/react-core": "4.152.4", "@patternfly/react-icons": "^4.19.8", "@patternfly/react-table": "4.29.58", - "comment-json": "^1.1.3", - "core-js": "3.6.5", - "date-fns": "2.25.0", - "ini": "^1.3.5", - "jquery": "3.5.1", - "raw-loader": "^0.5.1", + "buffer": "^6.0.3", + "comment-json": "^4.2.3", + "core-js": "3.27.1", + "date-fns": "2.29.3", + "ini": "^3.0.1", + "jquery": "3.6.3", + "raw-loader": "^4.0.2", "react": "16.13.1", "react-dom": "16.13.1", - "throttle-debounce": "2.3.0", + "throttle-debounce": "5.0.0", "xterm": "^3.14.5" } } diff --git a/webpack.config.js b/webpack.config.js index 8ae4f76..89d159d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -40,6 +40,12 @@ var output = { sourceMapFilename: "[file].map", }; +// Non-JS files which are copied verbatim to dist/ +const copy_files = [ + "./src/index.html", + "./src/manifest.json", +]; + /* * Note that we're avoiding the use of path.join as webpack and nodejs * want relative paths that start with ./ explicitly. @@ -77,8 +83,9 @@ info.files.forEach(function (value) { }); info.files = files; -var plugins = [ - new copy(info.files), new extract({ filename: "[name].css" }), +const plugins = [ + new copy({ patterns: copy_files }), + new extract({filename: "[name].css"}), new ESLintPlugin({ extensions: ["js", "jsx"], exclude: ["spec", "node_modules", "src/lib"] }), ]; @@ -162,10 +169,12 @@ module.exports = { }, }, { - loader: "sass-loader", + loader: 'sass-loader', options: { - sourceMap: true, - outputStyle: "compressed", + sourceMap: !production, + sassOptions: { + outputStyle: production ? 'compressed' : undefined, + }, }, }, ], @@ -183,10 +192,12 @@ module.exports = { }, }, { - loader: "sass-loader", + loader: 'sass-loader', options: { - sourceMap: true, - outputStyle: "compressed", + sourceMap: !production, + sassOptions: { + outputStyle: production ? 'compressed' : undefined, + }, }, }, ],