Skip to content

Commit ad2f311

Browse files
committed
Don’t use native built-ins for additional bundler
This opts us out of using the native built-in plugins for Rspack for now. The existing swc plugin we use for webpack does additional work beyond just swc transformation, including validating RSC components to make sure they don’t use React APIs unavailable in that context. In total, the native plugins result in a less than 20% performance gain which, while significant, isn’t necessary as we focus on correctness for now. If we decide the maintenance cost of maintaining multiple plugins in parity is worth the performance gain in the future, we can selectively re-enable some or all of these plugins. Test Plan: `pnpm test-dev-rspack test/development/acceptance/server-component-compiler-errors-in-pages.test.ts` no longer fails by missing the invalid React api messages.
1 parent 8df92f1 commit ad2f311

File tree

3 files changed

+3
-7
lines changed

3 files changed

+3
-7
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
"storybook": "turbo run storybook",
7878
"build-storybook": "turbo run build-storybook",
7979
"test-storybook": "turbo run test-storybook",
80-
"with-rspack": "cross-env NEXT_RSPACK=1 NEXT_TEST_USE_RSPACK=1 BUILTIN_FLIGHT_CLIENT_ENTRY_PLUGIN=1 BUILTIN_APP_LOADER=1 BUILTIN_SWC_LOADER=1"
80+
"with-rspack": "cross-env NEXT_RSPACK=1 NEXT_TEST_USE_RSPACK=1"
8181
},
8282
"devDependencies": {
8383
"@actions/core": "1.10.1",
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
module.exports = function withRspack(config) {
22
process.env.NEXT_RSPACK = 'true'
3-
process.env.BUILTIN_FLIGHT_CLIENT_ENTRY_PLUGIN = 'true'
4-
process.env.BUILTIN_APP_LOADER = 'true'
5-
process.env.BUILTIN_SWC_LOADER = 'true'
3+
process.env.RSPACK_CONFIG_VALIDATE = 'loose-silent'
64
return config
75
}

test/lib/create-next-install.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -195,9 +195,7 @@ async function createNextInstall({
195195
// This is what the @next/plugin-rspack plugin does.
196196
// TODO: Load the plugin properly during test
197197
process.env.NEXT_RSPACK = 'true'
198-
process.env.BUILTIN_FLIGHT_CLIENT_ENTRY_PLUGIN = 'true'
199-
process.env.BUILTIN_APP_LOADER = 'true'
200-
process.env.BUILTIN_SWC_LOADER = 'true'
198+
process.env.RSPACK_CONFIG_VALIDATE = 'loose-silent'
201199
}
202200

203201
return {

0 commit comments

Comments
 (0)