Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

babel JS file can't resolve "@babel/runtime/helpers/builtin/classCallCheck"

on-rest my project was working great untill I delete my node_modules file and try to re-install npm package.

I am getting this error

./node_modules/react-event-listener/dist/react-event-listener.cjs.js
Module not found: Can't resolve '@babel/runtime/helpers/builtin/classCallCheck' in '/Users/suatkarabacak/Desktop/demarkedashboard/node_modules/react-event-listener/dist'

My package.json is looking like this.

{
  "name": "demo",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "admin-on-rest": "^1.4.1",
    "aor-dependent-input": "^1.2.0",
    "aor-parseserver-client": "0.3.0",
    "aor-rich-text-input": "^1.0.1",
    "babel-runtime": "^6.26.0",
    "parse": "^1.11.1",
    "parse-react": "^0.5.2",
    "prop-types": "^15.6.2",
    "react": "^15.6.2",
    "react-dom": "^15.6.2",
    "react-image-lightbox": "^4.6.0",
    "react-images": "^0.5.19"
  },
  "devDependencies": {
    "@babel/runtime": "^7.0.0-beta.56",
    "aor-color-input": "^1.2.1",
    "babel-polyfill": "^6.23.0",
    "react-scripts": "^1.1.4"
  },
  "homepage": "demo.html",
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

@babel/runtime files

There is no builtin folder.

What could be the problem ?

like image 853
Suat Karabacak Avatar asked Aug 04 '18 13:08

Suat Karabacak


3 Answers

In my case the problem was in relative paths and complex project structure, so that I had to specify exact location of my node_modules directory:

module.exports = {  
    resolve: {
      modules: [
        path.resolve(__dirname, "node_modules")
      ],
  ...
like image 85
adlerer Avatar answered Nov 20 '22 10:11

adlerer


Since Babel 7.x is still a beta version, there was a breaking change in beta.56, which was released yesterday.

"@babel/runtime": "^7.0.0-beta.56",

If you're using a beta version of something, it is dangerous to use ^ in your version number, because that means it will accept any recent version, whether or not it is actually compatible with previous beta versions.

Since react-scripts uses https://github.com/facebook/create-react-app/blob/1407287839f94151cec729bd89441d4eee7d9dd3/packages/babel-preset-react-app/package.json#L28

"@babel/plugin-transform-runtime": "7.0.0-beta.46",

Your should likely have

"@babel/runtime": "7.0.0-beta.46",

in your own package.json to match.

like image 23
loganfsmyth Avatar answered Nov 20 '22 12:11

loganfsmyth


In case you are running into this because of your dependency on material-ui:

Looks like material-ui updated its package.json to reference '7.0.0-beta.42' instead of '^7.0.0-beta.42'

See Issue: 12409

like image 2
artyn Avatar answered Nov 20 '22 12:11

artyn