Estou tendo um problema com o babel criando aplicativos angulares para produção

15

Comportamento atual Estou construindo meu projeto angular em circleci e ele continua falhando com a seguinte mensagem: Ocorreu uma exceção não tratada: Não é possível encontrar o módulo '@ babel / compat-data / corejs3-enviados-propostas'

Exigir pilha:

/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/lib/polyfills/corejs3/usage-plugin.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/lib/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/config/files/plugins.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/config/files/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/src/utils/process-bundle.js
/home/circleci/eleven-app/frontend/node_modules/jest-worker/build/workers/processChild.js

estou usando

{
  "@babel/plugin-proposal-numeric-separator": "^7.8.3",
  "core-js": "3.2.1",
  "tslib": "^1.11.1",
  "@babel/compat-data": "~7.8.0",
  "@babel/runtime-corejs3": "^7.9.2",
  "ts-node": "7.0.0",
  "tslint": "5.11.0",
  "typescript": "3.5.3",
}
resolutions: {
  "@babel/preset-env": "^7.8.7"
}

aqui está npx nls porque @ babel / preset-env output:

eleven-app-frontend > @angular-devkit/build-angular > @babel/[email protected]
eleven-app-frontend > @nrwl/angular > @nrwl/cypress > @cypress/webpack-preprocessor > @babel/[email protected]
eleven-app-frontend > @nrwl/cypress > @cypress/webpack-preprocessor > @babel/[email protected]

Obrigado pela leitura.

Farid Garciayala
fonte

Respostas:

6

Tive o mesmo problema hoje, então estou assumindo que há algo estranho com a versão mais recente.

Meu package.json tinha o seguinte:

"@babel/compat-data": "~7.9.0"

Eu removi o ~ para forçar o 7.9.0 em vez de permitir os mais novos e ele fez o truque para mim.

Provavelmente existe uma versão mais recente que funciona, mas desde que você abriu um problema para eles ( https://github.com/babel/babel/issues/11427 ), esperarei apenas mais detalhes.

Bruno Wolff
fonte
11
Estou analisando o mesmo problema, é estranho, porque essa biblioteca nem @babel/runtime-corejs3foi publicada há semanas
alex88 15/04
11
Eu tentei isso e ainda não funcionou para mim
Farid Garciayala 15/04
11
@FaridGarciayala no meu caso, tive que declarar e usar o 7.9.0, que corrigiu o problema
alex88 15/04
@FaridGarciayala ele deve funcionar (7.8 / 7.9), mas tente excluir "node_modules" antes
Bruno Wolff
O mesmo problema hoje. Problema é apenas no servidor de compilação, não em instalações limpas localmente ...
cuniculus
5

Eu tenho o mesmo problema ao usar o TravisCI & Vue com Jest e Babel. Meu traje de teste está falhando. A adição "@babel/compat-data": "7.9.0"de devDependencies no meu arquivo package.json resolveu meus problemas.

Wojciech Kasperski
fonte
Obrigado. Isso me ajudou a corrigir meu conjunto de testes com falha no CI.
Miroslav Jonas
4

Essas três opções que criamos até agora:

  • Adapte a dependência de babel / preset-env à v7.9.0: "@babel/preset-env": "=7.9.0"
  • Caso você use uma Imagem do Docker do NodeJS, corrija a versão para algo abaixo de 13.13, ou seja: node:13.12.0-alpine
  • Adicionando ou atualizando "@babel/compat-data": "7.9.0"para devDependencies

As soluções são temporariamente e devem ser removidas assim que houver uma correção real das imagens do nó ou da biblioteca babel / preset-env.

Problemas vinculados ao Github:

babel - https://github.com/babel/babel/issues/11427

nodejs - https://github.com/nodejs/node/issues/32852#issuecomment-613652057

zerocewl
fonte
2

Hoje tive o mesmo problema na compilação Github Actions para um projeto Vue FE. Constrói bem localmente. Vou tentar a solução acima e vou relatar ...

Atualização: Depois de examinar o arquivo de bloqueio de pacotes, minha solução foi adicionar explicitamente "@ babel / compat-data" às dependências do produto. Anteriormente, era apenas uma dependência para algumas dependências de desenvolvimento. Portanto, meu package.json agora se parece com:

"dependencies": {
  "@babel/compat-data": "^7.8.6",
  ...
Séverin Beauvais
fonte
1

Mesmo problema. Resolva-o seguindo os conselhos acima + removendo node_modules (consulte este tópico do github):

  • Adicionado explicitamente @babel/compat-data": "7.9.0"ao devDependencies
  • Nó atualizado (13,3 a 14,0 no meu caso)
  • Tive que remover minha pasta node_modules e executar novamente yarn(ou npm)
SofienM
fonte