rsnext/packages/next/build/webpack/plugins
Shu Ding f12788dee8
HMR for client CSS imports (#39916)
Follow-up to #39758, this PR makes sure that CSS imports (both global and CSS modules) from client components are not handled by mini-css-extract's HMR logic. Instead, we trigger a server component update and let the client to refetch the RSC payload.

However, we are still leveraging the mini-css-extract plugin to emit CSS assets. So in this PR we add a new pitch loader to calculate the original file hash, but replace the final content to eliminate HMR logic but only keep the hash (so hot reloader can keep tracking that).

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-08-25 16:40:16 +00:00
..
terser-webpack-plugin Set swcMinify as an attribute on terser-webpack-plugin-optimize span (#37416) 2022-06-06 15:09:33 +00:00
wellknown-errors-plugin Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
app-build-manifest-plugin.ts Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
build-manifest-plugin.ts App Build Stats (#38884) 2022-08-10 19:31:01 +00:00
copy-file-plugin.ts use loader-utils 2 for resolve-url-loader to fix ./data: urls in sass (#31134) 2021-11-08 18:37:25 +00:00
css-minimizer-plugin.ts Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
flight-client-entry-plugin.ts Handle edge runtime for app (#39910) 2022-08-24 14:49:47 -05:00
flight-manifest-plugin.ts HMR for client CSS imports (#39916) 2022-08-25 16:40:16 +00:00
font-stylesheet-gathering-plugin.ts Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
jsconfig-paths-plugin.ts Add handling for auto installing TypeScript deps and HMRing tsconfig (#39838) 2022-08-23 13:16:47 -05:00
middleware-plugin.ts Handle edge runtime for app (#39910) 2022-08-24 14:49:47 -05:00
mini-css-extract-plugin.ts use official mini-css-extract-plugin and experimentalUseImportModule (#24573) 2021-05-12 16:04:01 +00:00
next-drop-client-page-plugin.ts Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
next-trace-entrypoints-plugin.ts Use realpath when emitting traced package.json (#39683) 2022-08-18 17:07:34 +01:00
nextjs-require-cache-hot-reloader.ts Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
pages-manifest-plugin.ts Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
profiling-plugin.ts Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
react-loadable-plugin.ts Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
serverless-plugin.ts update serverless plugin to use webpack 5 apis (#31058) 2021-11-06 01:19:25 +01:00
telemetry-plugin.ts Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00