Mam problem z aplikacją kątową budowania babel do produkcji

15

Obecne zachowanie Buduję swój projekt kątowy na circleci i po prostu ciągle zawodzi z następującym komunikatem: Wystąpił nieobsługiwany wyjątek: Nie można znaleźć modułu „@ babel / Compat-data / Corejs3-Shipped-Propozycje”

Wymagaj stosu:

/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

ja używam

{
  "@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"
}

oto npx nls dlaczego wyjście @ babel / preset-env:

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]

Dziękuję za przeczytanie.

Farid Garciayala
źródło

Odpowiedzi:

6

Miałem ten sam problem dzisiaj, więc zakładam, że jest coś dziwnego w najnowszej wersji.

Mój pakiet.json miał następujące elementy:

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

Usunąłem ~, aby wymusić 7.9.0 zamiast zezwalać na nowsze i to załatwiło sprawę.

Prawdopodobnie jest nowsza wersja, która działa, ale odkąd otworzyłeś dla nich problem ( https://github.com/babel/babel/issues/11427 ) Po prostu poczekam na więcej szczegółów.

Bruno Wolff
źródło
1
Patrzę na ten sam problem, to dziwne, ponieważ ta biblioteka ani @babel/runtime-corejs3nie została opublikowana od tygodni
alex88
1
Próbowałem tego i nadal nie działało to dla mnie
Farid Garciayala
1
@FaridGarciayala w moim przypadku musiałem zadeklarować i użyć wersji 7.9.0, która rozwiązała problem
alex88
@FaridGarciayala powinno działać (7.8 / 7.9), ale spróbuj usunąć „node_modules” wcześniej
Bruno Wolff
Ten sam problem dzisiaj. Problem dotyczy tylko kompilacji serwera, a nie czystych instalacji lokalnych ...
cuniculus
5

Mam ten sam problem podczas korzystania z TravisCI i Vue z Jest i Babel. Mój kombinezon testowy zawiódł. Dodanie "@babel/compat-data": "7.9.0"do devDependencies w moim pliku package.json rozwiązało moje problemy.

Wojciech Kasperski
źródło
Dziękuję Ci. Pomogło mi to naprawić mój nieudany zestaw testów w CI.
Miroslav Jonas
4

Te 3 opcje, które do tej pory wymyśliliśmy:

  • Dostosuj zależność babel / preset-env do wersji 7.9.0: "@babel/preset-env": "=7.9.0"
  • Jeśli używasz obrazu Docker NodeJS, napraw wersję na coś poniżej 13.13, tj .: node:13.12.0-alpine
  • Dodanie lub aktualizacja "@babel/compat-data": "7.9.0"devDependencies

Rozwiązania są tymczasowo i powinny zostać usunięte, gdy tylko pojawi się faktyczna poprawka obrazów węzłów lub biblioteki babel / preset-env.

Powiązane problemy Github:

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

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

zerocewl
źródło
2

Ten sam problem miałem dzisiaj w kompilacji Github Actions dla projektu Vue FE. Dobrze buduje się lokalnie. Wypróbuję powyższe rozwiązanie i prześlę raport ...

Aktualizacja: po przejrzeniu pliku blokady pakietu, moim rozwiązaniem było jawne dodanie „@ babel / Compat-data” do zależności prod. Wcześniej była to zależność tylko dla niektórych zależności deweloperów. Więc mój pakiet.json wygląda teraz:

"dependencies": {
  "@babel/compat-data": "^7.8.6",
  ...
Séverin Beauvais
źródło
1

Ten sam problem. Rozwiązano go, wykonując powyższe porady + usuwając node_modules (zobacz ten wątek github):

  • Dodano jawnie @babel/compat-data": "7.9.0"do devDependencies
  • Ulepszony węzeł (w moim przypadku od 13,3 do 14,0)
  • Musiałem usunąć mój folder node_modules i uruchomić ponownie yarn(lub npm)
SofienM
źródło