From 96da25e422d8129a6983dca6bb23fa4b7cd2601d Mon Sep 17 00:00:00 2001 From: Avi Vahl Date: Thu, 28 Oct 2021 19:06:20 +0300 Subject: [PATCH] feat(core): upgrade to webpack-dev-server@4 (#5420) Co-authored-by: slorber --- package.json | 2 +- packages/docusaurus-mdx-loader/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- packages/docusaurus-plugin-pwa/package.json | 2 +- packages/docusaurus-types/package.json | 2 +- packages/docusaurus/package.json | 7 +- packages/docusaurus/src/commands/start.ts | 91 +- packages/docusaurus/src/webpack/client.ts | 11 +- .../src/webpack/plugins/LogPlugin.ts | 3 +- .../react-dev-utils-webpack5/README.md | 11 - .../evalSourceMapMiddleware.js | 57 -- .../formatWebpackMessages.js | 138 --- .../webpackHotDevClient.js | 285 ------ yarn.lock | 899 ++++++++---------- 17 files changed, 437 insertions(+), 1081 deletions(-) delete mode 100644 packages/docusaurus/src/webpack/react-dev-utils-webpack5/README.md delete mode 100644 packages/docusaurus/src/webpack/react-dev-utils-webpack5/evalSourceMapMiddleware.js delete mode 100644 packages/docusaurus/src/webpack/react-dev-utils-webpack5/formatWebpackMessages.js delete mode 100644 packages/docusaurus/src/webpack/react-dev-utils-webpack5/webpackHotDevClient.js diff --git a/package.json b/package.json index e1acbf02e8..6b15bfe013 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "@types/semver": "^7.1.0", "@types/shelljs": "^0.8.6", "@types/wait-on": "^5.2.0", - "@types/webpack-dev-server": "^3.11.1", + "@types/webpack-dev-server": "^4.1.0", "@typescript-eslint/eslint-plugin": "^4.18.0", "@typescript-eslint/parser": "^4.18.0", "concurrently": "^6.2.1", diff --git a/packages/docusaurus-mdx-loader/package.json b/packages/docusaurus-mdx-loader/package.json index 522a22b0cd..c2f9d34643 100644 --- a/packages/docusaurus-mdx-loader/package.json +++ b/packages/docusaurus-mdx-loader/package.json @@ -35,7 +35,7 @@ "stringify-object": "^3.3.0", "unist-util-visit": "^2.0.2", "url-loader": "^4.1.1", - "webpack": "^5.40.0" + "webpack": "^5.60.0" }, "devDependencies": { "@docusaurus/types": "2.0.0-beta.8", diff --git a/packages/docusaurus-plugin-content-blog/package.json b/packages/docusaurus-plugin-content-blog/package.json index ea4eb48835..25b653e148 100644 --- a/packages/docusaurus-plugin-content-blog/package.json +++ b/packages/docusaurus-plugin-content-blog/package.json @@ -35,7 +35,7 @@ "remark-admonitions": "^1.2.1", "tslib": "^2.3.1", "utility-types": "^3.10.0", - "webpack": "^5.40.0" + "webpack": "^5.60.0" }, "peerDependencies": { "react": "^16.8.4 || ^17.0.0", diff --git a/packages/docusaurus-plugin-content-docs/package.json b/packages/docusaurus-plugin-content-docs/package.json index d0900b19a0..f1f2594318 100644 --- a/packages/docusaurus-plugin-content-docs/package.json +++ b/packages/docusaurus-plugin-content-docs/package.json @@ -45,7 +45,7 @@ "shelljs": "^0.8.4", "tslib": "^2.3.1", "utility-types": "^3.10.0", - "webpack": "^5.40.0" + "webpack": "^5.60.0" }, "peerDependencies": { "react": "^16.8.4 || ^17.0.0", diff --git a/packages/docusaurus-plugin-content-pages/package.json b/packages/docusaurus-plugin-content-pages/package.json index fbd6078a3a..e7017d9aa6 100644 --- a/packages/docusaurus-plugin-content-pages/package.json +++ b/packages/docusaurus-plugin-content-pages/package.json @@ -27,7 +27,7 @@ "lodash": "^4.17.20", "remark-admonitions": "^1.2.1", "tslib": "^2.3.1", - "webpack": "^5.40.0" + "webpack": "^5.60.0" }, "peerDependencies": { "react": "^16.8.4 || ^17.0.0", diff --git a/packages/docusaurus-plugin-ideal-image/package.json b/packages/docusaurus-plugin-ideal-image/package.json index 3c12b285fe..ee9349a047 100644 --- a/packages/docusaurus-plugin-ideal-image/package.json +++ b/packages/docusaurus-plugin-ideal-image/package.json @@ -29,7 +29,7 @@ "react-waypoint": "^10.1.0", "sharp": "^0.29.1", "tslib": "^2.3.1", - "webpack": "^5.40.0" + "webpack": "^5.60.0" }, "peerDependencies": { "react": "^16.8.4 || ^17.0.0", diff --git a/packages/docusaurus-plugin-pwa/package.json b/packages/docusaurus-plugin-pwa/package.json index 9a9adfb0b3..28ebdde406 100644 --- a/packages/docusaurus-plugin-pwa/package.json +++ b/packages/docusaurus-plugin-pwa/package.json @@ -24,7 +24,7 @@ "clsx": "^1.1.1", "core-js": "^2.6.5", "terser-webpack-plugin": "^5.2.4", - "webpack": "^5.40.0", + "webpack": "^5.60.0", "webpack-merge": "^5.7.3", "workbox-build": "^6.1.1", "workbox-precaching": "^6.1.1", diff --git a/packages/docusaurus-types/package.json b/packages/docusaurus-types/package.json index 24a00f2f4a..200ffab71f 100644 --- a/packages/docusaurus-types/package.json +++ b/packages/docusaurus-types/package.json @@ -20,7 +20,7 @@ "joi": "^17.4.2", "querystring": "0.2.0", "utility-types": "^3.10.0", - "webpack": "^5.40.0", + "webpack": "^5.60.0", "webpack-merge": "^5.8.0" } } diff --git a/packages/docusaurus/package.json b/packages/docusaurus/package.json index 45e8178354..1acdcc965e 100644 --- a/packages/docusaurus/package.json +++ b/packages/docusaurus/package.json @@ -80,7 +80,6 @@ "detect-port": "^1.3.0", "escape-html": "^1.0.3", "eta": "^1.12.3", - "express": "^4.17.1", "file-loader": "^6.2.0", "fs-extra": "^10.0.0", "github-slugger": "^1.4.0", @@ -98,7 +97,7 @@ "postcss": "^8.3.7", "postcss-loader": "^6.1.1", "prompts": "^2.4.1", - "react-dev-utils": "^11.0.1", + "react-dev-utils": "12.0.0-next.47", "react-error-overlay": "^6.0.9", "react-helmet": "^6.1.0", "react-loadable": "^5.5.0", @@ -119,9 +118,9 @@ "update-notifier": "^5.1.0", "url-loader": "^4.1.1", "wait-on": "^6.0.0", - "webpack": "^5.40.0", + "webpack": "^5.60.0", "webpack-bundle-analyzer": "^4.4.2", - "webpack-dev-server": "^3.11.2", + "webpack-dev-server": "^4.4.0", "webpack-merge": "^5.8.0", "webpackbar": "^5.0.0-3" }, diff --git a/packages/docusaurus/src/commands/start.ts b/packages/docusaurus/src/commands/start.ts index dee2ef2581..1f09144979 100644 --- a/packages/docusaurus/src/commands/start.ts +++ b/packages/docusaurus/src/commands/start.ts @@ -8,19 +8,16 @@ import {normalizeUrl, posixPath} from '@docusaurus/utils'; import chalk = require('chalk'); import chokidar from 'chokidar'; -import express from 'express'; + import HtmlWebpackPlugin from 'html-webpack-plugin'; import path from 'path'; import {debounce} from 'lodash'; import openBrowser from 'react-dev-utils/openBrowser'; import {prepareUrls} from 'react-dev-utils/WebpackDevServerUtils'; -import errorOverlayMiddleware from 'react-dev-utils/errorOverlayMiddleware'; -// import evalSourceMapMiddleware from 'react-dev-utils/evalSourceMapMiddleware'; -import evalSourceMapMiddleware from '../webpack/react-dev-utils-webpack5/evalSourceMapMiddleware'; +import evalSourceMapMiddleware from 'react-dev-utils/evalSourceMapMiddleware'; import webpack from 'webpack'; import WebpackDevServer from 'webpack-dev-server'; import merge from 'webpack-merge'; -import HotModuleReplacementPlugin from 'webpack/lib/HotModuleReplacementPlugin'; import {load} from '../server'; import {StartCLIOptions} from '@docusaurus/types'; import {STATIC_DIR_NAME} from '../constants'; @@ -126,6 +123,10 @@ export default async function start( ); let config: webpack.Configuration = merge(createClientConfig(props), { + infrastructureLogging: { + // Reduce log verbosity, see https://github.com/facebook/docusaurus/pull/5420#issuecomment-906613105 + level: 'warn', + }, plugins: [ // Generates an `index.html` file with the