Skip to content

Commit 8ece114

Browse files
committedSep 7, 2021
feat(tsbb): update babel config.
1 parent 98235be commit 8ece114

File tree

1 file changed

+38
-26
lines changed

1 file changed

+38
-26
lines changed
 

‎packages/tsbb/src/babel/index.ts

+38-26
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,31 @@ export function transform(filename: string, options?: TransformHandleOptions): P
2121
);
2222
let babelOptions: TransformOptions = {
2323
presets: [
24-
[require.resolve('@babel/preset-react'), {
25-
/**
26-
* Fix: ReferenceError: React is not defined
27-
* https://github.com/facebook/create-react-app/issues/9882
28-
*/
29-
runtime: 'automatic'
30-
}],
31-
require.resolve('@babel/preset-typescript')
24+
[
25+
require('@babel/preset-react').default,
26+
{
27+
/**
28+
* Fix: ReferenceError: React is not defined
29+
* https://github.com/facebook/create-react-app/issues/9882
30+
*/
31+
runtime: 'automatic',
32+
},
33+
],
34+
require('@babel/preset-typescript').default,
3235
],
3336
sourceMaps: true,
3437
sourceFileName,
3538
plugins: [
36-
require.resolve('@babel/plugin-syntax-dynamic-import'),
37-
require.resolve('babel-plugin-add-module-exports'),
38-
require.resolve('babel-plugin-transform-typescript-metadata'),
39+
require('@babel/plugin-syntax-dynamic-import').default,
40+
require('babel-plugin-add-module-exports').default,
41+
require('babel-plugin-transform-typescript-metadata').default,
3942
/**
4043
* Use the legacy (stage 1) decorators syntax and behavior.
4144
* https://babeljs.io/docs/en/babel-plugin-proposal-decorators#legacy
4245
* If you are including your plugins manually and using `@babel/plugin-proposal-class-properties`,
4346
* make sure that `@babel/plugin-proposal-decorators` comes before `@babel/plugin-proposal-class-properties`.
4447
*/
45-
[require.resolve('@babel/plugin-proposal-decorators'), { legacy: true }],
48+
[require('@babel/plugin-proposal-decorators').default, { legacy: true }],
4649
],
4750
};
4851

@@ -52,7 +55,8 @@ export function transform(filename: string, options?: TransformHandleOptions): P
5255
const runtimeVersion = semver.clean(require('@babel/runtime/package.json').version);
5356
if (cjs) {
5457
babelOptions.presets.push([
55-
require.resolve('@babel/preset-env'), {
58+
require('@babel/preset-env').default,
59+
{
5660
modules: 'cjs',
5761
loose: false,
5862
},
@@ -75,21 +79,25 @@ export function transform(filename: string, options?: TransformHandleOptions): P
7579
*/
7680
(transformRuntime as any).useESModules = !semver.gte(runtimeVersion, '7.13.0');
7781
}
78-
babelOptions.plugins.push([require.resolve('@babel/plugin-transform-runtime'), transformRuntime]);
79-
babelOptions.plugins.push([require.resolve('babel-plugin-transform-remove-imports'), {
80-
test: "\\.(less|css)$"
81-
}]);
82-
babelOptions.plugins.push(["@babel/plugin-proposal-class-properties", { loose: false }]);
83-
babelOptions.plugins.push(["@babel/plugin-transform-classes", { loose: false }]);
82+
babelOptions.plugins.push([require('@babel/plugin-transform-runtime').default, transformRuntime]);
83+
babelOptions.plugins.push([
84+
require('babel-plugin-transform-remove-imports').default,
85+
{
86+
test: '\\.(less|css)$',
87+
},
88+
]);
89+
babelOptions.plugins.push([require('@babel/plugin-proposal-class-properties').default, { loose: false }]);
90+
babelOptions.plugins.push([require('@babel/plugin-transform-classes').default, { loose: false }]);
8491
}
8592

8693
if (esm) {
8794
babelOptions.presets.push([
88-
require.resolve('@babel/preset-env'), {
95+
require('@babel/preset-env').default,
96+
{
8997
modules: false,
9098
loose: true,
9199
targets: {
92-
esmodules: true
100+
esmodules: true,
93101
},
94102
},
95103
]);
@@ -111,11 +119,15 @@ export function transform(filename: string, options?: TransformHandleOptions): P
111119
*/
112120
(transformRuntime as any).useESModules = !semver.gte(runtimeVersion, '7.13.0');
113121
}
114-
babelOptions.plugins.push([require.resolve('@babel/plugin-transform-runtime'), transformRuntime]);
115-
babelOptions.plugins.push([require.resolve('@babel/plugin-proposal-class-properties'), { loose: true }]);
116-
babelOptions.plugins.push([require.resolve('babel-plugin-transform-rename-import'), {
117-
original: '^(.+?)\\.(less|scss|sass|styl)$', replacement: '$1.css'
118-
}]);
122+
babelOptions.plugins.push([require('@babel/plugin-transform-runtime').default, transformRuntime]);
123+
babelOptions.plugins.push([require('@babel/plugin-proposal-class-properties').default, { loose: true }]);
124+
babelOptions.plugins.push([
125+
require('babel-plugin-transform-rename-import').default,
126+
{
127+
original: '^(.+?)\\.(less|scss|sass|styl)$',
128+
replacement: '$1.css',
129+
},
130+
]);
119131
}
120132
if (envName) {
121133
babelOptions = {};

0 commit comments

Comments
 (0)
Please sign in to comment.