Babel Plugin/Preset files are not allowed to export objects, only functions
Babel has been moved its packages into its Scope Repository Since version 7.x .
the last version of babel packages (in main npmjs ) are :
"babel-core": "^6.26.3",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
...
but you have to use The Continued version in @babel/ scoped repository:
by today these are :
"@babel/core": "^7.12.16",
"@babel/preset-env": "^7.12.16",
"@babel/preset-react": "^7.12.13",
...
so you have to uninstall and install them:
npm uninstall babel-core babel-preset-env babel-preset-react
npm install @babel/core @babel/preset-env @babel/preset-react
or :
yarn remove babel-core babel-preset-env babel-preset-react --dev
yarn add @babel/core @babel/preset-env @babel/preset-react --dev
Note 1: you can add a
@
and change first-
to/
Note 2: note that, The babel-loader package is not in babel package, its a module for webpack to load babel. (it remains bebel-loader with latest version)
after changing babel to its scope you have to make required changes in the .babelrc
:
from:
"presets" : ["env","react"]
to :
"presets" : ["@babel/preset-env","@babel/preset-react"]
From your package.json, I can see that you are using older plugins and presets meant for Babel v6, which will result in this error message. You need to switch to e.g., @babel/preset-env
, then update your .babelrc
accordingly (if you provide .babelrc
, more specific guidance can be given).
Here is a related ticket with some explanation - https://github.com/babel/babel-loader/issues/540
A few more semi-related notes on what I see in package.json
:
The old babel-core
dependency is still there. Remove this or update it to version 7.0.0-bridge.0
. Similarly, the old react preset is in there, remove it.
If you are using the env
preset, you do not need to use the es2015
preset at all. Remove it.
I got the same error with babel 7.x
and and "babel-loader": "^8.0.4"
I solved the issue by changing the following dependencies in package.json.
I got the solution from these link
"devDependencies": {
"@babel/core": "^7.1.6",
"@babel/preset-env": "^7.1.6",
"@babel/preset-react": "^7.0.0",
"babel-loader": "^8.0.4",
"webpack": "^4.25.1",
"webpack-cli": "^3.1.2"
}
and in .babelrc
{
"presets": ["@babel/env", "@babel/react"]
}
or in package.json
"babel": {
"presets": [
"@babel/env",
"@babel/react"
]
},
If you are using npm
then use the following
npm install @babel/core --save-dev
npm install @babel/preset-env --save-dev
npm install @babel/preset-react --save-dev
npm install babel-loader --save-dev
npm install webpack --save-dev
npm install webpack-cli --save-dev
If you are using yarn, then use the following
yarn add @babel/core --dev
yarn add @babel/preset-env --dev
yarn add @babel/preset-react --dev
yarn add babel-loader --dev
yarn add webpack --dev
yarn add webpack-cli --dev