angular-cli: Error | Could not find plugin "proposal-numeric-separator" | Generating ES5 bundles for differential loading

🐞 Bug report

Command (mark with an x)

  • new
  • build
  • serve
  • test
  • e2e
  • generate
  • add
  • update
  • lint
  • xi18n
  • run
  • config
  • help
  • version
  • doc

Is this a regression?

Yes, the previous version in which this bug was not present was: a few hours ago

Description

A clear and concise description of the problem...

Build doesn’t work

🔬 Minimal Reproduction


npm install
node --max-old-space-size=4096 ./node_modules/@angular/cli/bin/ng build --prod

🔥 Exception or Error



Generating ES5 bundles for differential loading...
An unhandled exception occurred: [BABEL] C:\angular\dist\common-es2015.b1722ef05b43f664abc2.js: Could not find plugin "proposal-numeric-separator". Ensure there is an entry in ./available-plugins.js for it. (While processing: "C:\\angular\\node_modules\\@angular-devkit\\build-angular\\node_modules\\@babel\\preset-env\\lib\\index.js")
See "C:\Users\Vegard\AppData\Local\Temp\ng-J7YoSB\angular-errors.log" for further details.

🌍 Your Environment


Angular CLI: 8.3.25
Node: 12.14.1
OS: win32 x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic
... platform-webworker, platform-webworker-dynamic, router
... service-worker

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.803.25
@angular-devkit/build-angular     0.803.25
@angular-devkit/build-optimizer   0.803.25
@angular-devkit/build-webpack     0.803.25
@angular-devkit/core              8.3.25
@angular-devkit/schematics        8.3.25
@angular/cdk                      8.2.3
@angular/cli                      8.3.25
@angular/material                 8.2.3
@angular/pwa                      0.803.25
@ngtools/webpack                  8.3.25
@schematics/angular               8.3.25
@schematics/update                0.803.25
rxjs                              6.5.4
typescript                        3.5.3
webpack                           4.39.2



Anything else relevant?

https://github.com/facebook/create-react-app/issues/8680

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 54
  • Comments: 85 (1 by maintainers)

Commits related to this issue

Most upvoted comments

Try to install "@babel/compat-data": "~7.8.0" to devDependencies. This is the only workaround which helped me.

@babel/compat-data”: “~7.8.0”

this(npm i @babel/compat-data@7.8.0) works for me! thanks @keitoaino

Sticking to previous version of build-angular just do the work without any other change (and "@babel/compat-data": "7.8.0" did not work for me, with or without removing the lock)

"devDependencies": {
    "@angular-devkit/build-angular": "=0.803.22",
    ...
}

CHANGING "@angular-devkit/build-angular": "^0.803.25" TO "@angular-devkit/build-angular": "0.803.23"

worked for me

Try to install "@babel/compat-data": "~7.8.0" to devDependencies. This is the only workaround which helped me.

This is don’t work for me…

Try to install "@babel/compat-data": "~7.8.0" to devDependencies. This is the only workaround which helped me.

This also worked for me. I was getting this error when building an image for an Angular 8 Universal app with docker. I also followed the steps listed in this react thread to use npm resolutions. https://github.com/facebook/create-react-app/issues/8680. Not sure if the resolutions step is needed because it wasn’t until I added @babel/compat-data to my devDependencies that the issue was resolved. I would first just try adding @babel/compat-data to devDependencies.

@babel/compat-data”: “~7.8.0”

This also worked for me. Be sure to use exactly this version. Pay attention to the version. Firstly I automatically installed "@babel/compat-data": "^7.9.0" - this didn’t work

For anyone experiencing this issue, Angular CLI 8.3.26 has been released with an update to the babel versions. No workarounds should be necessary after an update. When updating, please ensure that the @angular-devkit/build-angular package was also updated to 0.803.26. This package contains the majority of the build logic for the CLI.

If anyone is still encountering issues after an update, please open a new issue with details regarding your environment and project versions.

WORKARROUND On package.json add

  "resolutions": {
    "@babel/preset-env": "^7.8.7",
    "@babel/compat-data": "~7.8.0"
  }

run npx npm-force-resolutions then run npm install or yarn then run npm build or yarn build

Try to install “@babel/compat-data”: “~7.8.0” to devDependencies. This is the only workaround which helped me.

This also worked for me. I want to add that the error didn’t show up locally, but only when i used Azure Devops. I think DevOps bumps up the babel versions

I only had to do: npm i @babel/compat-data@7.8.0 works like a charm. Thanks to @keitoaino.

Try to install "@babel/compat-data": "~7.8.0" to devDependencies. This is the only workaround which helped me.

This also worked for me. I was getting this error when building an image for an Angular 8 Universal app with docker. I also followed the steps listed in this react thread to use npm resolutions. facebook/create-react-app#8680. Not sure if the resolutions step is needed because it wasn’t until I added @babel/compat-data to my devDependencies that the issue was resolved. I would first just try adding @babel/compat-data to devDependencies.

I’m using nrwl workspace with angular@^8.2.0(the angular cli version is 8.3.14 in the yarn.lock) and I having the same issue.

I’ve tried all the work arounds under this thread and none of them works for me, not until I tried adding resolutions in my package.json file.

"resolutions": {
    "@babel/preset-env": "^7.8.7"
},

See: create-react-app Issue #8860

I hope this will help someone who still having issue after trying all above, like me. And I’m looking forward for the fix.

Verified that it was a Babel bug introduced 3 days ago. https://github.com/babel/babel/pull/11201 https://www.npmjs.com/package/@babel/preset-env Lock down the versions of Babel’s packages using the tilde instead of the caret: "dependencies": { "@babel/preset-env": "~7.8.7", "@babel/compat-data": "~7.8.6",

working

"@babel/compat-data": "7.8.0"

not working

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

Hi, all @vegarda, @dex252 I have the issue as well, but i managed to find single working set of package(s)

@angular-devkit/build-angular”: “^0.803.23”, “@angular/cli”: “~8.3.22”,

I believe the you need to use lower version of @angular-devkit/build-angular rather then 0.803.25

1.delete node_modules and package-lock.json 2.add “resolutions”: { “@babel/preset-env”: “^7.8.7” }, to package.json 3.npm install npm-force-resolutions --save-dev 4.npm install 5.npx npm-force-resolutions 6.npm install again 7.then run your app

https://forum.ionicframework.com/t/how-to-resolve-babel-error-when-installing-geolocation-in-ionic-app/185542/3

Try this, this works: npm i @babel/compat-data@7.8.0

CHANGING "@angular-devkit/build-angular": "^0.803.25" TO "@angular-devkit/build-angular": "0.803.23"

worked for me

This worked for me. No problem with angular ng build.

Same here

working

"@babel/compat-data": "7.8.0"

not working

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

that worked for me thanks

I’ve tried all the various suggestions listed above and none of them are working for me.

  "devDependencies": {
    "@babel/compat-data": "^7.8.0",
    "@babel/core": "^7.10.3",
    "@babel/runtime": "^7.10.3",
     ..
}
$ rm -rf node_modules
$ yarn cache clean
$ yarn

Contents of package.json

  "name": "hmiclient",
  "version": "0.9.56",
  "private": true,
  "scripts": {
    "start": "react-native start",
    "android.clean": "cd android && rm -rf build && ./gradlew clean && cd app && rm -rf build && cd .. && cd ..",
    "android.buildrelease.prod": "export ENVFILE=.env.prod && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && sh ./envconfig/upload-android-sourcemap.sh && cd android && ./gradlew bundleRelease",
    "android.buildrelease.stage": "export ENVFILE=.env.stage && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && ./gradlew android/assembleRelease",
    "android.buildrelease.prod.windows": "set ENVFILE=.env.prod && ./envconfig/setupenv.sh && react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res && cd android && ./gradlew bundleRelease",
    "android.debugrelease.prod": "export ENVFILE=.env.prod && chmod 755 ./envconfig/setupenv.sh && react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res  && cd android && ./gradlew assembleDebug",
    "android.run.prod": "export ENVFILE=.env.prod && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && react-native run-android",
    "android.run.stage": "export ENVFILE=.env.stage && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && react-native run-android",
    "android.run.local": "export ENVFILE=.env.local && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && react-native run-android --appIdSuffix 'debug'",
    "android.run.local.windows": "set ENVFILE=.env.local && ./envconfig/setupenv.sh && react-native run-android --appIdSuffix 'debug'",
    "ios.buildrelease.prod": "export ENVFILE=.env.prod && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh",
    "ios.buildrelease.archive": "export ENVFILE=.env.prod && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && xcodebuild archive -workspace ios/client.xcworkspace -scheme clientPROD -configuration Release -archivePath ios/build/clientPROD.xcarchive && xcodebuild -exportArchive -archivePath ios/build/clientPROD.xcarchive -exportOptionsPlist ios/exportOptions.plist -exportPath ~/Library⁩/Developer⁩/Xcode⁩/Archives⁩ && fastlane deploy XXX",
    "ios.run.prod": "export ENVFILE=.env.prod && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && react-native run-ios",
    "ios.run.stage": "export ENVFILE=.env.stage && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && react-native run-ios",
    "ios.run.local": "export ENVFILE=.env.local && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && react-native run-ios --simulator='iPhone 8 Plus'",
    "ios.run.local_device": "export ENVFILE=.env.local_device && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && react-native run-ios --device",
    "ios.run.local_other": "export ENVFILE=.env.local && chmod 755 ./envconfig/setupenv.sh && ./envconfig/setupenv.sh && react-native run-ios --simulator='iPhone X'",
    "test": "node node_modules/jest/bin/jest.js",
    "lint": "standard src/**/*.js src/**/*.jsx",
    "postinstall": "jetifier",
    "remotedev": "remotedev --hostname=192.168.1.66 --port=8000",
    "e2e": "wdio wdio.conf.js"
  },
  "dependencies": {
    "@react-native-community/async-storage": "^1.6.2",
    "@react-native-community/google-signin": "^4.0.0",
    "@react-native-community/react-native-cookies": "^1.1.0",
    "@react-navigation/native": "^5.1.1",
    "accordion-collapse-react-native": "^0.2.8",
    "base-64": "^0.1.0",
    "bugsnag-react-native": "^2.23.2",
    "crypto-js": "^3.1.9-1",
    "dotenv": "^8.2.0",
    "es6-promisify": "^6.0.2",
    "fast-deep-equal": "^2.0.1",
    "jetifier": "^1.6.4",
    "libphonenumber-js": "^1.7.26",
    "merge-anything": "^3.0.3",
    "mustache": "^3.1.0",
    "parse": "https://github.com/parse-community/Parse-SDK-JS#27a5ca00f41160791f80b8ed70bf3ce5afad5c0b",
    "patch-package": "^6.2.0",
    "postinstall-postinstall": "^2.0.0",
    "qs": "^6.9.1",
    "react": "16.12.0",
    "react-native": "0.61.4",
    "react-native-app-intro-slider": "^3.0.0",
    "react-native-appearance": "^0.3.3",
    "react-native-background-timer": "^2.1.1",
    "react-native-camera": "^3.9.0",
    "react-native-carrier-info": "^1.1.2",
    "react-native-config": "0.12.0",
    "react-native-contacts": "^5.0.6",
    "react-native-datepicker": "1.7.2",
    "react-native-device-info": "^5.2.1",
    "react-native-elements": "0.19.0",
    "react-native-fbsdk": "^1.1.1",
    "react-native-firebase": "~5.6.0",
    "react-native-fs": "^2.16.2",
    "react-native-gesture-handler": "1.5.0",
    "react-native-hyperlink": "^0.0.19",
    "react-native-image-picker": "1.1.0",
    "react-native-linear-gradient": "^2.4.4",
    "react-native-modal": "^11.5.3",
    "react-native-phone-input": "0.2.2",
    "react-native-picker-select": "6.3.3",
    "react-native-qrcode-svg": "^5.3.2",
    "react-native-reanimated": "1.4.0",
    "react-native-restart": "^0.0.13",
    "react-native-safe-area-context": "^0.6.1",
    "react-native-screens": "^2.8.0",
    "react-native-shapes": "^0.1.0",
    "react-native-svg": "^9.13.3",
    "react-native-swiper": "^1.6.0-rc.3",
    "react-native-swiper-flatlist": "2.0.3",
    "react-native-vcards": "^2.5.0",
    "react-native-vector-icons": "^6.1.0",
    "react-native-webview": "^7.4.3",
    "react-navigation": "^4.0.10",
    "react-navigation-stack": "^1.10.3",
    "react-navigation-tabs": "^2.5.6",
    "react-redux": "7.1.3",
    "redux": "4.0.4",
    "redux-persist": "^6.0.0",
    "redux-persist-filesystem-storage": "2.1.0",
    "redux-persist-transform-filter": "0.0.20",
    "redux-thunk": "^2.3.0",
    "remote-redux-devtools": "^0.5.16",
    "reselect": "^4.0.0",
    "rn-fetch-blob": "^0.12"
  },
  "devDependencies": {
    "@babel/compat-data": "^7.8.0",
    "@babel/core": "^7.10.3",
    "@babel/runtime": "^7.10.3",
    "@types/jest": "^24.0.22",
    "@wdio/allure-reporter": "^5.16.0",
    "@wdio/appium-service": "^5.16.5",
    "@wdio/cli": "^5.16.4",
    "@wdio/jasmine-framework": "^5.16.5",
    "@wdio/local-runner": "^5.16.4",
    "@wdio/mocha-framework": "^5.16.0",
    "@wdio/spec-reporter": "^5.15.2",
    "@wdio/sync": "^5.16.0",
    "appium": "^1.15.1",
    "babel-jest": "^24.9.0",
    "babel-plugin-transform-remove-console": "^6.9.4",
    "chromedriver": "^78.0.1",
    "detox": "^14.7.0",
    "gradle-to-js": "^2.0.0",
    "jest": "24.9.0",
    "metro-react-native-babel-preset": "0.57.0",
    "react-test-renderer": "^16.11.0",
    "remotedev-server": "^0.3.1",
    "standard": "^14.3.1",
    "wdio-chromedriver-service": "^5.0.2",
    "wdio-video-reporter": "^1.4.4"
  },
  "detox": {
    "configurations": {
      "ios.sim.debug": {
        "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/client.app",
        "build": "xcodebuild -workspace ios/client.xcworkspace -scheme client -configuration Debug -UseNewBuildSystem=YES -sdk iphonesimulator -derivedDataPath ios/build",
        "type": "ios.simulator",
        "name": "iPhone 8"
      },
      "ios.sim.release": {
        "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/client.app",
        "build": "set -o pipefail && export CODE_SIGNING_REQUIRED=NO && export RCT_NO_LAUNCH_PACKAGER=true && xcodebuild -project ios/example.xcodeproj  -UseNewBuildSystem=YES -scheme example_ci -configuration Release -sdk iphonesimulator -derivedDataPath ios/build",
        "type": "ios.simulator",
        "name": "iPhone 8"
      },
      "android.emu.debug": {
        "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
        "build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..",
        "type": "android.emulator",
        "name": "Pixel_2_API_29"
      },
      "android.emu.release": {
        "binaryPath": "android/app/build/outputs/apk/release/app-release.apk",
        "build": "cd android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release && cd ..",
        "type": "android.emulator",
        "name": "Pixel_2_API_29"
      }
    },
    "test-runner": "jest",
    "specs": "e2e"
  },
  "resolutions": {
    "@babel/preset-env": "^7.8.7"
  },
  "standard": {
    "globals": [
      "__DEV__",
      "detox",
      "describe",
      "it",
      "beforeEach",
      "afterEach",
      "element",
      "expect",
      "by",
      "device",
      "waitFor",
      "fetch"
    ]
  }
}

And I still end up with the same error

[19:17:49] Error in plugin "gulp-babel"
Message:
    [BABEL] /Users/normanklein/Library/Caches/Yarn/v6/.tmp/dab8deaa179dd66562dd889ce1b3b406.27a5ca00f41160791f80b8ed70bf3ce5afad5c0b.prepare/src/Analytics.js: Could not find plugin "proposal-numeric-separator". Ensure there is an entry in ./available-plugins.js for it. (While processing: "/Users/normanklein/Library/Caches/Yarn/v6/.tmp/dab8deaa179dd66562dd889ce1b3b406.27a5ca00f41160791f80b8ed70bf3ce5afad5c0b.prepare/node_modules/@babel/preset-env/lib/index.js")
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! parse@2.11.0 gulp: `gulp "compile"`
npm ERR! Exit status 1

got this error while running ng build. Solution

1. add "@babel/compat-data": "~7.8.0" to devDependencies.

2. npm install

Helped me as well.

got this error while running ng build. Solution

  1. add “@babel/compat-data”: “~7.8.0” to devDependencies.
  2. npm install

I’m working with Yarn 1.22.4 and Angular 8.2.14 on Windows 10. Problem started to occur when I installed ngx-markdown 9.0.0. I had some TypeScript related issue so I downgraded ngx-markdown to 8.2.2. After that I started to get proposal-numeric-separator errors. In my case adding ONLY this…

"resolutions": {
    "@babel/preset-env": "^7.8.7"
},

…to the package.json worked. Probably I also removed yarn-lock and node_modules before installing packages once more time (I spent “magic” 1.5h of frustration…). At the same time I “destroyed” my Ubuntu 18.04 VPS . It was working fine on commits before installing ngx-markdown. Nothing was helping - resetting repository to the commit from the past, deleting node_modules, yarn.lock or even upgrading node or yarn versions 😉 Looks like when it’s broken it’s remains broken no matter what you do 😛

Try to install "@babel/compat-data": "~7.8.0" to devDependencies. This is the only workaround which helped me.

Thanks you! 👍 🥇 🥇

Try to install "@babel/compat-data": "~7.8.0" to devDependencies. This is the only workaround which helped me.

Worked

WORKARROUND On package.json add

  "resolutions": {
    "@babel/preset-env": "^7.8.7",
    "@babel/compat-data": "~7.8.0"
  }

run npx npm-force-resolutions then run npm install or yarn then run npm build or yarn build

Tried this and work on first try

WORKARROUND On package.json add

  "resolutions": {
    "@babel/preset-env": "^7.8.7",
    "@babel/compat-data": "~7.8.0"
  }

run npx npm-force-resolutions then run npm install or yarn then run npm build or yarn build

This also worked for me on the first try. Thank you for the solution!

WORKARROUND On package.json add

  "resolutions": {
    "@babel/preset-env": "^7.8.7",
    "@babel/compat-data": "~7.8.0"
  }

run npx npm-force-resolutions then run npm install or yarn then run npm build or yarn build

Tried this and work on first try

Hi kkilton, may I ask you how to do this lockdown? Is it equivalent procedure than the one given by Lakshitha Perera but for preset-env and compat-data ?

stchln, I didn’t need to do all the extra steps that Lakshitha did (although I tried and it didn’t work for me) I just updated the dependencies in the package.config. The tilde’s are what’s important. The caret will allow the versions to go up to minor 7.9.999 (which is where the problem is, minor version 9) where the tilde only allows the patch version to increase up to 7.8.999… You could also remove the tilde and caret completely until Babel gets a fix deployed. Hope this helps.

Try to install "@babel/compat-data": "~7.8.0" to devDependencies. This is the only workaround which helped me.

Thank god. This works. Angular Team please help in fixing this issue from angular cli end.

Use these Steps to Fix the Issue

  1. delete node_modules and package-lock.json

  2. add “resolutions”: { “@babel/preset-env”: “^7.8.7” } to package.json

  3. npm install npm-force-resolutions --save-dev

  4. npm install

  5. npx npm-force-resolutions

  6. npm install again

  7. ionic build , ionic cordova run android

@morinellipy @gs-nchakravarthi yes, we need to keep this only until issue will be fixed. Then it will be needed to remove @babel/compat-data dependency from host website and update @angular-devkit/build-angular (see https://github.com/angular/angular-cli/pull/17267)

Try to install "@babel/compat-data": "~7.8.0" to devDependencies. This is the only workaround which helped me.

Worked for me!! Do we need to remove it manually after the fix or will be handled in the internal devDependencies?

Try to install "@babel/compat-data": "~7.8.0" to devDependencies. This is the only workaround which helped me.

Rocks!

just installing "@babel/compat-data": "7.8.0" didn’t work for me. I had to delete the package-lock.json file

Try to install "@babel/compat-data": "~7.8.0" to devDependencies. This is the only workaround which helped me.

This is don’t work for me…