Skip to content

Commit 7d7275f

Browse files
committed
Replace obsolete react-scripts with rollup
1 parent 2262c40 commit 7d7275f

3 files changed

Lines changed: 458 additions & 6612 deletions

File tree

config/rollup.mjs

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
1-
// Rollup plugins.
21
import { babel } from '@rollup/plugin-babel';
32
import commonjs from '@rollup/plugin-commonjs';
43
import postcss from 'rollup-plugin-postcss';
54
import replace from '@rollup/plugin-replace';
65
import resolve from '@rollup/plugin-node-resolve';
76
import url from '@rollup/plugin-url';
8-
97
import cssnano from 'cssnano';
108
import terser from '@rollup/plugin-terser';
119

10+
// Dev plugins
11+
import serve from 'rollup-plugin-serve';
12+
import livereload from 'rollup-plugin-livereload';
13+
14+
const isDev = process.env.ROLLUP_WATCH === 'true';
15+
1216
export default {
1317
input: 'src/index-build.js',
1418
output: {
@@ -26,21 +30,28 @@ export default {
2630
exclude: 'node_modules/process-es6/**'
2731
}),
2832
replace({
29-
'process.env.NODE_ENV': JSON.stringify('production'),
30-
'preventAssignment': true
33+
'process.env.NODE_ENV': JSON.stringify(isDev ? 'development' : 'production'),
34+
preventAssignment: true
3135
}),
3236
url(),
3337
postcss({
34-
extensions: [ '.css' ],
38+
extensions: ['.css'],
3539
plugins: [cssnano()]
3640
}),
3741
babel({
3842
babelrc: false,
3943
exclude: 'node_modules/**',
4044
babelHelpers: 'bundled',
41-
presets: [ '@babel/preset-env', '@babel/preset-react' ],
42-
plugins: [ '@babel/plugin-proposal-export-default-from' ]
45+
presets: ['@babel/preset-env', '@babel/preset-react'],
46+
plugins: ['@babel/plugin-proposal-export-default-from']
47+
}),
48+
!isDev && terser(), // only minify in production
49+
isDev && serve({
50+
open: true,
51+
contentBase: ['build', 'public'],
52+
host: '0.0.0.0',
53+
port: 5000
4354
}),
44-
terser()
45-
]
55+
isDev && livereload({ watch: 'build' })
56+
].filter(Boolean)
4657
};

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"simple-xpath-position": "^2.0.2"
1414
},
1515
"scripts": {
16-
"start": "HOST=vbanos.gr PORT=5000 react-scripts start",
16+
"start": "rollup -c config/rollup.mjs -w",
1717
"build": "rollup -c config/rollup.mjs",
1818
"build:dev": "rollup -c config/rollup.mjs -w",
1919
"test": "jest --testEnvironment=jsdom --testPathIgnorePatterns=src/components/__tests__/setup.js",
@@ -25,7 +25,7 @@
2525
"@babel/plugin-proposal-export-default-from": "^7.27",
2626
"@babel/plugin-transform-private-property-in-object": "^7.27",
2727
"@babel/preset-env": "^7.28",
28-
"@babel/preset-react": "^7.27",
28+
"@babel/preset-react": "^7.28",
2929
"@rollup/plugin-babel": "^6.1.0",
3030
"@rollup/plugin-commonjs": "^26.0.1",
3131
"@rollup/plugin-node-resolve": "^15.0.1",
@@ -46,9 +46,10 @@
4646
"jest-environment-jsdom": "^30.0.0",
4747
"jsdom": "^27.0.0",
4848
"postcss": "^8.5.6",
49-
"react-scripts": "^5.0.1",
5049
"rollup": "4.31.0",
50+
"rollup-plugin-livereload": "^2.0.5",
5151
"rollup-plugin-postcss": "^4.0.2",
52+
"rollup-plugin-serve": "^3.0.0",
5253
"smbase64": "^1.0.2"
5354
},
5455
"repository": {

0 commit comments

Comments
 (0)