From b3245752bb5330856e9e5814d9059b2bfcb576b4 Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Wed, 1 Sep 2021 14:35:51 +0800 Subject: [PATCH] fix(tsbb): fix proposal-class-properties issue. --- packages/tsbb/src/babel/index.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/tsbb/src/babel/index.ts b/packages/tsbb/src/babel/index.ts index 20fdf91b..0bb65e15 100644 --- a/packages/tsbb/src/babel/index.ts +++ b/packages/tsbb/src/babel/index.ts @@ -37,7 +37,6 @@ export function transform(filename: string, options?: TransformHandleOptions): P require.resolve('babel-plugin-add-module-exports'), require.resolve('babel-plugin-transform-typescript-metadata'), [require.resolve('@babel/plugin-proposal-decorators'), { legacy: true }], - [require.resolve('@babel/plugin-proposal-class-properties'), { loose: true }], ], }; @@ -54,8 +53,7 @@ export function transform(filename: string, options?: TransformHandleOptions): P ]); babelOptions.envName = 'cjs'; babelOptions.plugins.push([ - require.resolve('@babel/plugin-transform-runtime'), - { + require.resolve('@babel/plugin-transform-runtime'), { useESModules: false, loose: false, modules: 'cjs', @@ -66,15 +64,19 @@ export function transform(filename: string, options?: TransformHandleOptions): P babelOptions.plugins.push([require.resolve('babel-plugin-transform-remove-imports'), { test: "\\.(less|css)$" }]); + babelOptions.plugins.push(["@babel/plugin-proposal-class-properties", { loose: true }]); + babelOptions.plugins.push(["@babel/plugin-transform-classes", { loose: true }]); } if (esm) { const runtimeVersion = semver.clean(require('@babel/runtime/package.json').version); babelOptions.presets.push([ - require.resolve('@babel/preset-env'), - { + require.resolve('@babel/preset-env'), { modules: false, loose: true, + targets: { + esmodules: true + }, }, ]); babelOptions.envName = 'esm'; @@ -89,6 +91,9 @@ export function transform(filename: string, options?: TransformHandleOptions): P transformRuntime.useESModules = !semver.gte(runtimeVersion, '7.13.0'); } babelOptions.plugins.push([require.resolve('@babel/plugin-transform-runtime'), transformRuntime]); + babelOptions.plugins.push([require.resolve('@babel/plugin-proposal-class-properties'), { + loose: true + }]); babelOptions.plugins.push([require.resolve('babel-plugin-transform-rename-import'), { original: '^(.+?)\\.less$', replacement: '$1.css' }]);