Вавилон с preset-env (без параметров) и preset-typcript говорит: «Отсутствует преобразование свойств класса». Почему? - PullRequest
0 голосов
/ 25 апреля 2020

У меня довольно простая конфигурация Babel:

            {
              presets: [
                [
                  '@babel/preset-typescript',
                  {
                    isTSX: true,
                    allExtensions: true,
                    allowNamespaces: true,
                    onlyRemoveTypeImports: true,
                  },
                ],
                ['@babel/preset-env', {}],
              ],
              plugins: ['@babel/plugin-transform-react-jsx'],
            },

Это передается babel-loader в моей настройке Webpack. Тогда я получаю ошибки, подобные следующим, когда я собираю:

ERROR in ./store/state/AppState.ts
Module build failed (from ../node_modules/babel-loader/lib/index.js):
SyntaxError: /home/trusktr/src/my-project/src/store/state/AppState.ts: Missing class properties transform.
  25 | 
  26 | export class AppState implements State<string> {
> 27 |   static Key = 'AppState'

Вот версии:

❯ npm ls @babel/core @babel/preset-env @babel/preset-typescript @babel/plugin-transform-react-jsx babel-loader
my-project@1.0.0 /home/trusktr/src/my-project
├── @babel/core@7.9.0 
├── @babel/plugin-transform-react-jsx@7.9.4 
├── @babel/preset-env@7.9.5 
├── @babel/preset-typescript@7.9.0 
└── babel-loader@8.1.0

Есть идеи, почему это происходит? Разве preset-env не предполагает обработку базовых c таких вещей, как поля классов?

...