Skip to content

Commit 1609a34

Browse files
committed
feat: integrate swc/react-compiler into rspack examples
1 parent 4f945a9 commit 1609a34

File tree

5 files changed

+134
-3
lines changed

5 files changed

+134
-3
lines changed

pnpm-lock.yaml

Lines changed: 116 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rspack/react-compiler-babel-ts/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"@babel/plugin-syntax-typescript": "^7.27.1",
2020
"@rspack/cli": "1.3.15",
2121
"@rspack/core": "1.3.15",
22+
"@swc/react-compiler": "1.12.4",
2223
"@types/react": "^19.1.8",
2324
"@types/react-dom": "^19.1.6",
2425
"babel-loader": "^10.0.0",

rspack/react-compiler-babel-ts/rspack.config.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
const { rspack } = require('@rspack/core');
2+
const fs = require('node:fs');
3+
const { isReactCompilerRequiredSync } = require('@swc/react-compiler');
4+
25
/** @type {import('@rspack/cli').Configuration} */
36
const config = {
47
entry: {
@@ -30,6 +33,11 @@ const config = {
3033
},
3134
],
3235
},
36+
{
37+
test: (resouce) =>
38+
/\.(jsx|tsx)$/.test(resouce) && isReactCompilerRequiredSync(fs.readFileSync(resouce)),
39+
loader: 'babel-loader',
40+
},
3341
{
3442
test: /\.(jsx|tsx)$/,
3543
use: [
@@ -51,9 +59,6 @@ const config = {
5159
},
5260
},
5361
},
54-
{
55-
loader: 'babel-loader',
56-
},
5762
],
5863
},
5964
{

rspack/react-compiler-babel/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"@babel/plugin-syntax-jsx": "^7.27.1",
1919
"@rspack/cli": "1.3.15",
2020
"@rspack/core": "1.3.15",
21+
"@swc/react-compiler": "1.12.4",
2122
"babel-loader": "^10.0.0",
2223
"babel-plugin-react-compiler": "0.0.0-experimental-cd3852a-20241229"
2324
}

rspack/react-compiler-babel/rspack.config.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
const { rspack } = require('@rspack/core');
2+
const fs = require('node:fs');
3+
const { isReactCompilerRequiredSync } = require('@swc/react-compiler');
4+
25
/** @type {import('@rspack/cli').Configuration} */
36
const config = {
47
entry: {
@@ -30,6 +33,11 @@ const config = {
3033
},
3134
],
3235
},
36+
{
37+
test: (resouce) =>
38+
/\.jsx$/.test(resouce) && isReactCompilerRequiredSync(fs.readFileSync(resouce)),
39+
loader: 'babel-loader',
40+
},
3341
{
3442
test: /\.jsx$/,
3543
use: [

0 commit comments

Comments
 (0)