1
- const presetReact = require ( '@babel/preset-react' ) ;
2
- const classProperties = require ( '@babel/plugin-proposal-class-properties' ) ;
3
- const exportDefaultFrom = require ( '@babel/plugin-proposal-export-default-from' ) ;
4
- const exportNamespaceFrom = require ( '@babel/plugin-proposal-export-namespace-from' ) ;
5
- const runtime = require ( '@babel/plugin-transform-runtime' ) ;
6
- const rmPropTypes = require ( 'babel-plugin-transform-react-remove-prop-types' ) ;
7
- const devExpression = require ( 'babel-plugin-dev-expression' ) ;
8
- const addExports = require ( 'babel-plugin-add-module-exports' ) ;
9
1
// https://github.com/twbs/bootstrap/blob/main/.browserslistrc
10
2
const browserlist = [
11
3
'>= 0.5%' ,
@@ -25,6 +17,8 @@ module.exports = (
25
17
dev = false ,
26
18
removePropTypes = ! dev ,
27
19
modules = _ . env ( ) === 'esm' ? false : 'commonjs' ,
20
+ setUseClient = false ,
21
+ customClientImports,
28
22
} = { } ,
29
23
) => ( {
30
24
presets : [
@@ -38,21 +32,27 @@ module.exports = (
38
32
} ,
39
33
} ,
40
34
] ,
41
- [ presetReact , { development : dev , runtime : 'automatic' } ] ,
35
+ [ '@babel/preset-react' , { development : dev , runtime : 'automatic' } ] ,
42
36
] ,
43
37
plugins : [
44
- [ classProperties , { loose : true } ] ,
45
- exportDefaultFrom ,
46
- exportNamespaceFrom ,
47
- [ runtime , { useESModules : ! modules } ] ,
48
- devExpression ,
49
- modules && addExports ,
38
+ [ '@babel/plugin-proposal-class-properties' , { loose : true } ] ,
39
+ '@babel/plugin-proposal-export-default-from' ,
40
+ '@babel/plugin-proposal-export-namespace-from' ,
41
+ [ '@babel/plugin-transform- runtime' , { useESModules : ! modules } ] ,
42
+ 'babel-plugin-dev-expression' ,
43
+ modules && 'babel-plugin-add-module-exports' ,
50
44
removePropTypes && [
51
- rmPropTypes ,
45
+ 'babel-plugin-transform-react-remove-prop-types' ,
52
46
{
53
47
removeImport : true ,
54
48
additionalLibraries : [ 'prop-types-extra' ] ,
55
49
} ,
56
50
] ,
51
+ setUseClient && [
52
+ 'babel-plugin-transform-next-use-client' ,
53
+ {
54
+ customClientImports,
55
+ } ,
56
+ ] ,
57
57
] . filter ( Boolean ) ,
58
58
} ) ;
0 commit comments