Skip to content

Commit b69fd63

Browse files
authored
chore(examples): update react ssr webpack config (#6578)
1 parent 018ee43 commit b69fd63

File tree

5 files changed

+133
-47
lines changed

5 files changed

+133
-47
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"$schema": "https://codesandbox.io/schemas/tasks.json",
3+
"setupTasks": [
4+
"yarn config set cache-folder /project/workspace/.cache",
5+
"yarn install"
6+
],
7+
"tasks": {
8+
"start-app": {
9+
"name": "Run Dev Server",
10+
"command": "yarn start",
11+
"runAtStart": true,
12+
"preview": {
13+
"port": 8080
14+
}
15+
}
16+
}
17+
}

examples/react/ssr/.babelrc renamed to examples/react/ssr/babel.config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@
99
}
1010
],
1111
"@babel/preset-react"
12-
]
12+
],
13+
"plugins": ["@babel/plugin-transform-optional-chaining"]
1314
}

examples/react/ssr/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
"scripts": {
77
"start": "webpack && nodemon dist/server.js",
88
"watch": "webpack --watch",
9-
"build": "webpack --mode=production"
9+
"build": "NODE_OPTIONS=--openssl-legacy-provider webpack --mode=production"
1010
},
1111
"devDependencies": {
1212
"@babel/core": "7.15.5",
1313
"@babel/polyfill": "7.4.4",
14+
"@babel/plugin-transform-optional-chaining": "7.25.9",
1415
"@babel/preset-env": "7.4.5",
1516
"@babel/preset-react": "7.0.0",
1617
"babel-core": "6.26.3",
Lines changed: 43 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,62 @@
11
const path = require('path');
22

3+
const webpack = require('webpack');
34
const nodeExternals = require('webpack-node-externals');
45

5-
module.exports = [
6-
{
6+
module.exports = (_, { mode }) => {
7+
const common = {
78
mode: 'development',
8-
entry: ['@babel/polyfill', './src/server.js'],
9-
output: {
10-
path: path.join(__dirname, 'dist'),
11-
filename: 'server.js',
12-
libraryTarget: 'commonjs2',
13-
publicPath: '/',
14-
},
15-
target: 'node',
16-
node: {
17-
console: false,
18-
global: false,
19-
process: false,
20-
Buffer: false,
21-
__filename: false,
22-
__dirname: false,
23-
},
24-
externals: nodeExternals(),
9+
plugins: [new webpack.DefinePlugin({ __DEV__: mode !== 'production' })],
2510
module: {
2611
rules: [
2712
{
2813
test: /\.js$/,
29-
exclude: /node_modules\/(?!(algoliasearch)\/).*/,
14+
exclude: /node_modules\/(?!(algoliasearch|@algolia)\/).*/,
3015
use: [
3116
{
3217
loader: 'babel-loader',
18+
options: {
19+
rootMode: 'upward',
20+
},
3321
},
3422
],
3523
},
3624
],
3725
},
38-
},
39-
{
40-
mode: 'development',
41-
entry: ['@babel/polyfill', './src/browser.js'],
42-
output: {
43-
path: path.join(__dirname, 'dist/assets'),
44-
publicPath: '/',
45-
filename: 'bundle.js',
46-
},
47-
module: {
48-
rules: [
49-
{
50-
test: /\.js$/,
51-
exclude: /node_modules\/(?!(algoliasearch)\/).*/,
52-
use: [
53-
{
54-
loader: 'babel-loader',
55-
},
56-
],
57-
},
58-
],
26+
};
27+
28+
return [
29+
{
30+
...common,
31+
entry: ['@babel/polyfill', './src/server.js'],
32+
output: {
33+
path: path.join(__dirname, 'dist'),
34+
filename: 'server.js',
35+
libraryTarget: 'commonjs2',
36+
publicPath: '/',
37+
},
38+
target: 'node',
39+
node: {
40+
console: false,
41+
global: false,
42+
process: false,
43+
Buffer: false,
44+
__filename: false,
45+
__dirname: false,
46+
},
47+
externals: nodeExternals(),
5948
},
60-
resolve: {
61-
extensions: ['.js', '.jsx'],
49+
{
50+
...common,
51+
entry: ['@babel/polyfill', './src/browser.js'],
52+
output: {
53+
path: path.join(__dirname, 'dist/assets'),
54+
publicPath: '/',
55+
filename: 'bundle.js',
56+
},
57+
resolve: {
58+
extensions: ['.js', '.jsx'],
59+
},
6260
},
63-
},
64-
];
61+
];
62+
};

yarn.lock

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,17 @@
278278
"@jridgewell/trace-mapping" "^0.3.25"
279279
jsesc "^3.0.2"
280280

281+
"@babel/generator@^7.26.9":
282+
version "7.26.9"
283+
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.9.tgz#75a9482ad3d0cc7188a537aa4910bc59db67cbca"
284+
integrity sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==
285+
dependencies:
286+
"@babel/parser" "^7.26.9"
287+
"@babel/types" "^7.26.9"
288+
"@jridgewell/gen-mapping" "^0.3.5"
289+
"@jridgewell/trace-mapping" "^0.3.25"
290+
jsesc "^3.0.2"
291+
281292
"@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5":
282293
version "7.22.5"
283294
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
@@ -431,6 +442,11 @@
431442
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
432443
integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
433444

445+
"@babel/helper-plugin-utils@^7.25.9":
446+
version "7.26.5"
447+
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz#18580d00c9934117ad719392c4f6585c9333cc35"
448+
integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==
449+
434450
"@babel/helper-remap-async-to-generator@^7.18.9":
435451
version "7.18.9"
436452
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
@@ -464,6 +480,14 @@
464480
dependencies:
465481
"@babel/types" "^7.22.5"
466482

483+
"@babel/helper-skip-transparent-expression-wrappers@^7.25.9":
484+
version "7.25.9"
485+
resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9"
486+
integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==
487+
dependencies:
488+
"@babel/traverse" "^7.25.9"
489+
"@babel/types" "^7.25.9"
490+
467491
"@babel/helper-split-export-declaration@^7.18.6", "@babel/helper-split-export-declaration@^7.22.6":
468492
version "7.22.6"
469493
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
@@ -521,6 +545,13 @@
521545
dependencies:
522546
"@babel/types" "^7.26.5"
523547

548+
"@babel/parser@^7.26.9":
549+
version "7.26.9"
550+
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.9.tgz#d9e78bee6dc80f9efd8f2349dcfbbcdace280fd5"
551+
integrity sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==
552+
dependencies:
553+
"@babel/types" "^7.26.9"
554+
524555
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
525556
version "7.18.6"
526557
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
@@ -1033,6 +1064,14 @@
10331064
"@babel/helper-plugin-utils" "^7.18.6"
10341065
"@babel/helper-replace-supers" "^7.18.6"
10351066

1067+
"@babel/plugin-transform-optional-chaining@7.25.9":
1068+
version "7.25.9"
1069+
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd"
1070+
integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==
1071+
dependencies:
1072+
"@babel/helper-plugin-utils" "^7.25.9"
1073+
"@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
1074+
10361075
"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.15.4", "@babel/plugin-transform-parameters@^7.2.0", "@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.4.4":
10371076
version "7.20.7"
10381077
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f"
@@ -1599,6 +1638,15 @@
15991638
"@babel/parser" "^7.25.9"
16001639
"@babel/types" "^7.25.9"
16011640

1641+
"@babel/template@^7.26.9":
1642+
version "7.26.9"
1643+
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.9.tgz#4577ad3ddf43d194528cff4e1fa6b232fa609bb2"
1644+
integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==
1645+
dependencies:
1646+
"@babel/code-frame" "^7.26.2"
1647+
"@babel/parser" "^7.26.9"
1648+
"@babel/types" "^7.26.9"
1649+
16021650
"@babel/traverse@^7.0.0", "@babel/traverse@^7.11.5", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.20.5", "@babel/traverse@^7.23.3", "@babel/traverse@^7.23.6", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2", "@babel/traverse@^7.9.0":
16031651
version "7.26.5"
16041652
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.5.tgz#6d0be3e772ff786456c1a37538208286f6e79021"
@@ -1612,6 +1660,19 @@
16121660
debug "^4.3.1"
16131661
globals "^11.1.0"
16141662

1663+
"@babel/traverse@^7.25.9":
1664+
version "7.26.9"
1665+
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.9.tgz#4398f2394ba66d05d988b2ad13c219a2c857461a"
1666+
integrity sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==
1667+
dependencies:
1668+
"@babel/code-frame" "^7.26.2"
1669+
"@babel/generator" "^7.26.9"
1670+
"@babel/parser" "^7.26.9"
1671+
"@babel/template" "^7.26.9"
1672+
"@babel/types" "^7.26.9"
1673+
debug "^4.3.1"
1674+
globals "^11.1.0"
1675+
16151676
"@babel/types@^7.0.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.24.7", "@babel/types@^7.25.9", "@babel/types@^7.26.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0":
16161677
version "7.26.5"
16171678
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.5.tgz#7a1e1c01d28e26d1fe7f8ec9567b3b92b9d07747"
@@ -1620,6 +1681,14 @@
16201681
"@babel/helper-string-parser" "^7.25.9"
16211682
"@babel/helper-validator-identifier" "^7.25.9"
16221683

1684+
"@babel/types@^7.26.9":
1685+
version "7.26.9"
1686+
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.9.tgz#08b43dec79ee8e682c2ac631c010bdcac54a21ce"
1687+
integrity sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==
1688+
dependencies:
1689+
"@babel/helper-string-parser" "^7.25.9"
1690+
"@babel/helper-validator-identifier" "^7.25.9"
1691+
16231692
"@bcoe/v8-coverage@^0.2.3":
16241693
version "0.2.3"
16251694
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"

0 commit comments

Comments
 (0)