From d20bf8f16d30ed930f732046acb62bc2e53cd092 Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Mon, 10 Oct 2022 19:12:29 +0800 Subject: [PATCH] fix(webpack): using official react-refresh-webpack-plugin --- .changeset/change-my-builder.md | 6 -- .changeset/few-moose-bathe.md | 7 -- .changeset/twelve-spoons-burn.md | 1 + .../builder-webpack-provider/package.json | 2 +- .../src/plugins/react.ts | 2 +- packages/cli/webpack/package.json | 2 +- .../src/config/features/react-refresh.ts | 2 +- pnpm-lock.yaml | 94 +++++++++---------- 8 files changed, 52 insertions(+), 64 deletions(-) delete mode 100644 .changeset/change-my-builder.md delete mode 100644 .changeset/few-moose-bathe.md diff --git a/.changeset/change-my-builder.md b/.changeset/change-my-builder.md deleted file mode 100644 index b63f150f44ec..000000000000 --- a/.changeset/change-my-builder.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@modern-js/webpack-builder': patch ---- - -feat: support templateParameters function -feat: 支持 templateParameters 函数配置 diff --git a/.changeset/few-moose-bathe.md b/.changeset/few-moose-bathe.md deleted file mode 100644 index dfc2bf13642e..000000000000 --- a/.changeset/few-moose-bathe.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@modern-js/webpack-builder': patch ---- - -fix: adopt test enviroment for react-refresh/babel - -fix: 适配 react-refresh/babel 测试环境 diff --git a/.changeset/twelve-spoons-burn.md b/.changeset/twelve-spoons-burn.md index e95936804ded..d2f533388f7e 100644 --- a/.changeset/twelve-spoons-burn.md +++ b/.changeset/twelve-spoons-burn.md @@ -1,5 +1,6 @@ --- '@modern-js/webpack': patch +'@modern-js/builder-provider-webpack': patch --- fix(webpack): react-refresh-webpack-plugin cause rebuild slow diff --git a/packages/builder/builder-webpack-provider/package.json b/packages/builder/builder-webpack-provider/package.json index 1284552055c2..bc9bab4243ef 100644 --- a/packages/builder/builder-webpack-provider/package.json +++ b/packages/builder/builder-webpack-provider/package.json @@ -78,7 +78,7 @@ "@modern-js/server": "workspace:*", "@modern-js/types": "workspace:*", "@modern-js/utils": "workspace:*", - "@modern-js/react-refresh-webpack-plugin": "0.5.8", + "@pmmmwh/react-refresh-webpack-plugin": "0.5.8", "@svgr/webpack": "6.2.1", "@types/mini-css-extract-plugin": "2.2.0", "caniuse-lite": "^1.0.30001332", diff --git a/packages/builder/builder-webpack-provider/src/plugins/react.ts b/packages/builder/builder-webpack-provider/src/plugins/react.ts index 6ccdf45593e7..da6095517d8a 100644 --- a/packages/builder/builder-webpack-provider/src/plugins/react.ts +++ b/packages/builder/builder-webpack-provider/src/plugins/react.ts @@ -9,7 +9,7 @@ export const PluginReact = (): BuilderPlugin => ({ return; } const { default: ReactFastRefreshPlugin } = await import( - '@modern-js/react-refresh-webpack-plugin' + '@pmmmwh/react-refresh-webpack-plugin' ); const config = api.getBuilderConfig(); const useTsLoader = Boolean(config.tools?.tsLoader); diff --git a/packages/cli/webpack/package.json b/packages/cli/webpack/package.json index 456d0d0b6f46..174b379b12b4 100644 --- a/packages/cli/webpack/package.json +++ b/packages/cli/webpack/package.json @@ -48,7 +48,7 @@ "@modern-js/babel-preset-app": "workspace:*", "@modern-js/css-config": "workspace:*", "@modern-js/utils": "workspace:*", - "@modern-js/react-refresh-webpack-plugin": "0.5.8", + "@pmmmwh/react-refresh-webpack-plugin": "0.5.8", "@svgr/webpack": "^6.2.1", "core-js": "^3.25.0", "css-minimizer-webpack-plugin": "^3.0.2", diff --git a/packages/cli/webpack/src/config/features/react-refresh.ts b/packages/cli/webpack/src/config/features/react-refresh.ts index c6309b6aaa51..4754b1992905 100644 --- a/packages/cli/webpack/src/config/features/react-refresh.ts +++ b/packages/cli/webpack/src/config/features/react-refresh.ts @@ -2,7 +2,7 @@ import { CHAIN_ID } from '@modern-js/utils'; import type { ChainUtils } from '../shared'; export function applyReactRefreshPlugin({ chain }: ChainUtils) { - const ReactFastRefreshPlugin = require('@modern-js/react-refresh-webpack-plugin'); + const ReactFastRefreshPlugin = require('@pmmmwh/react-refresh-webpack-plugin'); chain.plugin(CHAIN_ID.PLUGIN.REACT_FAST_REFRESH).use(ReactFastRefreshPlugin, [ { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3738680fe1c6..4bc04af80365 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -116,10 +116,10 @@ importers: '@modern-js/builder-shared': workspace:* '@modern-js/e2e': workspace:* '@modern-js/inspector-webpack-plugin': 1.0.3 - '@modern-js/react-refresh-webpack-plugin': 0.5.8 '@modern-js/server': workspace:* '@modern-js/types': workspace:* '@modern-js/utils': workspace:* + '@pmmmwh/react-refresh-webpack-plugin': 0.5.8 '@scripts/vitest-config': workspace:* '@svgr/webpack': 6.2.1 '@types/babel__core': ^7.1.19 @@ -148,10 +148,10 @@ importers: '@modern-js/babel-preset-app': link:../../cli/babel-preset-app '@modern-js/builder-shared': link:../builder-shared '@modern-js/inspector-webpack-plugin': 1.0.3 - '@modern-js/react-refresh-webpack-plugin': 0.5.8_mrng46iweft73kaoehgasn3du4 '@modern-js/server': link:../../server/server '@modern-js/types': link:../../toolkit/types '@modern-js/utils': link:../../toolkit/utils + '@pmmmwh/react-refresh-webpack-plugin': 0.5.8_mrng46iweft73kaoehgasn3du4 '@svgr/webpack': 6.2.1 '@types/mini-css-extract-plugin': 2.2.0 caniuse-lite: 1.0.30001375 @@ -865,9 +865,9 @@ importers: '@modern-js/babel-preset-app': workspace:* '@modern-js/core': workspace:* '@modern-js/css-config': workspace:* - '@modern-js/react-refresh-webpack-plugin': 0.5.8 '@modern-js/types': workspace:* '@modern-js/utils': workspace:* + '@pmmmwh/react-refresh-webpack-plugin': 0.5.8 '@scripts/build': workspace:* '@scripts/jest-config': workspace:* '@svgr/webpack': ^6.2.1 @@ -897,8 +897,8 @@ importers: '@babel/core': 7.18.6 '@modern-js/babel-preset-app': link:../babel-preset-app '@modern-js/css-config': link:../css-config - '@modern-js/react-refresh-webpack-plugin': 0.5.8_mrng46iweft73kaoehgasn3du4 '@modern-js/utils': link:../../toolkit/utils + '@pmmmwh/react-refresh-webpack-plugin': 0.5.8_mrng46iweft73kaoehgasn3du4 '@svgr/webpack': 6.2.1 core-js: 3.25.0 css-minimizer-webpack-plugin: 3.4.1_webpack@5.73.0 @@ -8568,45 +8568,6 @@ packages: - supports-color dev: false - /@modern-js/react-refresh-webpack-plugin/0.5.8_mrng46iweft73kaoehgasn3du4: - resolution: {integrity: sha512-bdhpVaQb1qZwZ1FTAp6oQfWhQkQj6UNk1R6tV7CgsqUEUmHQv3muV63WDzZ/2aAIJZ9x3DY+wXqyKD62SKVKbw==} - engines: {node: '>= 10.13'} - peerDependencies: - '@types/webpack': 4.x || 5.x - react-refresh: '>=0.10.0 <1.0.0' - sockjs-client: ^1.4.0 - type-fest: '>=0.17.0 <4.0.0' - webpack: '>=4.43.0 <6.0.0' - webpack-dev-server: 3.x || 4.x - webpack-hot-middleware: 2.x - webpack-plugin-serve: 0.x || 1.x - peerDependenciesMeta: - '@types/webpack': - optional: true - sockjs-client: - optional: true - type-fest: - optional: true - webpack-dev-server: - optional: true - webpack-hot-middleware: - optional: true - webpack-plugin-serve: - optional: true - dependencies: - ansi-html-community: 0.0.8 - common-path-prefix: 3.0.0 - core-js-pure: 3.23.3 - error-stack-parser: 2.1.4 - find-up: 5.0.0 - html-entities: 2.3.3 - loader-utils: 2.0.2 - react-refresh: 0.12.0 - schema-utils: 3.1.1 - source-map: 0.7.4 - webpack: 5.73.0 - dev: false - /@modern-js/utils/1.16.0: resolution: {integrity: sha512-ELiw1wX+L+wImU+uSqT7zHSqyeAmVKxxSEciCSfo3+neyyw/TwlD3IAHnjsgUb+Qi4VUX5MH6znixVscSGvD8A==} dependencies: @@ -8886,14 +8847,14 @@ packages: playwright-core: 1.25.1 dev: false - /@pmmmwh/react-refresh-webpack-plugin/0.5.7_aumhct55s6lhceplyc622fxoum: - resolution: {integrity: sha512-bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q==} + /@pmmmwh/react-refresh-webpack-plugin/0.5.8_aumhct55s6lhceplyc622fxoum: + resolution: {integrity: sha512-wxXRwf+IQ6zvHSJZ+5T2RQNEsq+kx4jKRXfFvdt3nBIUzJUAvXEFsUeoaohDe/Kr84MTjGwcuIUPNcstNJORsA==} engines: {node: '>= 10.13'} peerDependencies: '@types/webpack': 4.x || 5.x react-refresh: '>=0.10.0 <1.0.0' sockjs-client: ^1.4.0 - type-fest: '>=0.17.0 <3.0.0' + type-fest: '>=0.17.0 <4.0.0' webpack: '>=4.43.0 <6.0.0' webpack-dev-server: 3.x || 4.x webpack-hot-middleware: 2.x @@ -8925,6 +8886,45 @@ packages: webpack: 5.73.0_esbuild@0.14.47 dev: false + /@pmmmwh/react-refresh-webpack-plugin/0.5.8_mrng46iweft73kaoehgasn3du4: + resolution: {integrity: sha512-wxXRwf+IQ6zvHSJZ+5T2RQNEsq+kx4jKRXfFvdt3nBIUzJUAvXEFsUeoaohDe/Kr84MTjGwcuIUPNcstNJORsA==} + engines: {node: '>= 10.13'} + peerDependencies: + '@types/webpack': 4.x || 5.x + react-refresh: '>=0.10.0 <1.0.0' + sockjs-client: ^1.4.0 + type-fest: '>=0.17.0 <4.0.0' + webpack: '>=4.43.0 <6.0.0' + webpack-dev-server: 3.x || 4.x + webpack-hot-middleware: 2.x + webpack-plugin-serve: 0.x || 1.x + peerDependenciesMeta: + '@types/webpack': + optional: true + sockjs-client: + optional: true + type-fest: + optional: true + webpack-dev-server: + optional: true + webpack-hot-middleware: + optional: true + webpack-plugin-serve: + optional: true + dependencies: + ansi-html-community: 0.0.8 + common-path-prefix: 3.0.0 + core-js-pure: 3.23.3 + error-stack-parser: 2.1.4 + find-up: 5.0.0 + html-entities: 2.3.3 + loader-utils: 2.0.2 + react-refresh: 0.12.0 + schema-utils: 3.1.1 + source-map: 0.7.4 + webpack: 5.73.0 + dev: false + /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} @@ -10606,7 +10606,7 @@ packages: '@babel/core': 7.18.6 '@babel/preset-flow': 7.18.6_@babel+core@7.18.6 '@babel/preset-react': 7.18.6_@babel+core@7.18.6 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.7_aumhct55s6lhceplyc622fxoum + '@pmmmwh/react-refresh-webpack-plugin': 0.5.8_aumhct55s6lhceplyc622fxoum '@storybook/addons': 6.5.9_sfoxds7t5ydpegc3knd667wn6m '@storybook/builder-webpack5': 6.5.9_4rlmz57pnd2qockjbc4etubdpu '@storybook/client-logger': 6.5.9