Skip to content

Commit 0a275d3

Browse files
authored
feat(babel-preset): add babel-plugin-transform-next-use-client (#47)
1 parent de1600a commit 0a275d3

File tree

3 files changed

+1933
-1806
lines changed

3 files changed

+1933
-1806
lines changed

packages/babel-preset/index.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
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');
91
// https://github.com/twbs/bootstrap/blob/main/.browserslistrc
102
const browserlist = [
113
'>= 0.5%',
@@ -25,6 +17,8 @@ module.exports = (
2517
dev = false,
2618
removePropTypes = !dev,
2719
modules = _.env() === 'esm' ? false : 'commonjs',
20+
setUseClient = false,
21+
customClientImports,
2822
} = {},
2923
) => ({
3024
presets: [
@@ -38,21 +32,27 @@ module.exports = (
3832
},
3933
},
4034
],
41-
[presetReact, { development: dev, runtime: 'automatic' }],
35+
['@babel/preset-react', { development: dev, runtime: 'automatic' }],
4236
],
4337
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',
5044
removePropTypes && [
51-
rmPropTypes,
45+
'babel-plugin-transform-react-remove-prop-types',
5246
{
5347
removeImport: true,
5448
additionalLibraries: ['prop-types-extra'],
5549
},
5650
],
51+
setUseClient && [
52+
'babel-plugin-transform-next-use-client',
53+
{
54+
customClientImports,
55+
},
56+
],
5757
].filter(Boolean),
5858
});

packages/babel-preset/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"@babel/preset-react": "^7.12.13",
1818
"babel-plugin-add-module-exports": "^1.0.4",
1919
"babel-plugin-dev-expression": "^0.2.2",
20+
"babel-plugin-transform-next-use-client": "^1.1.0",
2021
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
2122
"babel-preset-env-modules": "^1.0.1"
2223
}

0 commit comments

Comments
 (0)