15

I'm getting this error after updating react-native to "^0.56.0":

 bundling failed: Error: Plugin/Preset files are not allowed to export objects, only functions. In /Users/ben/vepo/frontend/node_modules/babel-preset-flow/lib/index.js

I tried to do something similar to the highest voted answer here but instead for babel-preset-flow:

https://github.com/babel/babel-loader/issues/540

.babelrc:

"presets": ["react-native", "flow", "@babel/preset-flow"]

package.json

{
  "name": "vepo",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "rnpm": {
    "assets": [
      "./app/fonts"
    ]
  },
  "jest": {
    "preset": "react-native",
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
      "\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
    }
  },
  "dependencies": {
    "@babel/preset-flow": "^7.0.0-beta.52",
    "@babel/preset-react": "^7.0.0-beta.52",
    "babel-preset-react-native": "^4.0.0",
    "flow-typed": "^2.4.0",
    "generator-rn-toolbox": "^2.2.0",
    "imagemagick": "^0.1.3",
    "immutable": "4.0.0-rc.9",
    "metro-bundler": "^0.22.1",
    "native-base": "^2.3.3",
    "prop-types": "^15.5.10",
    "react": "16.3.1",
    "react-native": "^0.56.0",
    "react-native-aws3": "^0.0.8",
    "react-native-blur": "^3.1.3",
    "react-native-communications": "^2.2.1",
    "react-native-drawer": "^2.3.0",
    "react-native-fbsdk": "facebook/react-native-fbsdk#065507a",
    "react-native-git-upgrade": "^0.2.7",
    "react-native-image-picker": "^0.26.7",
    "react-native-interactable": "^0.1.2",
    "react-native-mail": "^3.0.2",
    "react-native-maps": "^0.16.4",
    "react-native-modal": "^2.3.2",
    "react-native-modalbox": "^1.3.9",
    "react-native-multiple-choice": "^0.0.8",
    "react-native-navigation": "^1.1.100",
    "react-native-off-canvas-menu": "^0.1.31",
    "react-native-optimized-flatlist": "^1.0.1",
    "react-native-redux-router": "^1.0.7",
    "react-native-select-multiple": "^1.0.3",
    "react-native-side-menu": "^0.20.1",
    "react-native-vector-icons": "^4.4.0",
    "react-navigation": "^1.0.0-beta.11",
    "react-redux": "^5.0.3",
    "redux": "^3.6.0",
    "redux-immutable": "^4.0.0",
    "redux-observable": "^0.14.1",
    "reselect": "^3.0.0",
    "rxjs": "^5.2.0",
    "yarn": "^1.3.2",
    "yoga": "^0.0.0"
  },
  "devDependencies": {
    "adm-zip": "^0.4.7",
    "babel-cli": "^6.26.0",
    "babel-eslint": "^7.1.1",
    "babel-plugin-module-resolver": "^2.7.0",
    "eslint": "^3.17.0",
    "eslint-config-prettier": "^2.9.0",
    "eslint-plugin-flowtype": "^2.30.3",
    "eslint-plugin-jsx": "^0.0.2",
    "eslint-plugin-react": "^6.10.0",
    "eslint-plugin-react-native": "^2.3.1",
    "flow-bin": "^0.72.0",
    "plist": "^2.1.0",
    "react-devtools": "^3.2.1",
    "react-test-renderer": "~15.4.1",
    "redux-devtools": "^3.3.2",
    "remote-redux-devtools": "^0.5.7",
    "remotedev-server": "^0.2.4",
    "xcode": "^1.0.0"
  }
}

Nothing is working. Any ideas?

EDIT: there is no node_modules/babel-preset-flow folder at all

2
  • Could you resolve this?, i've the same error :( Commented Jul 12, 2018 at 18:50
  • 1
    @Guille No I couldn't fix this error so I reverted back to react-native version 0.55.4 which doesn't have the error for me. Commented Jul 12, 2018 at 23:40

5 Answers 5

12

I had the same error and resolved it by uninstalling babel-preset-flow and installing @babel/preset-flow. I believe this is due to React Native 56 using Babel 7. And add to .babelrc

{
  "presets": ["@babel/preset-flow"]
}
Sign up to request clarification or add additional context in comments.

3 Comments

thanks this solved my problem as well, upvote for saving me time!
Thanks this solved my problem too. Try to follow this doc flow.org/en/docs/react
I'm getting == Error: Cannot find module 'babel-preset-flow' from <project path> - Did you mean "@babel/flow"?
11

Upgrade your babel-preset-react-native dependency.

"babel-preset-react-native": "^5",

You don't need to have @babel/preset-react or @babel/preset-flow installed.

Hope this helps.

1 Comment

didn't solve my problem :s I am using detox and still getting the same error with this and react 0.55.4
8

Open .babelrc file and then edit the presets section of the code as follows:

  "presets": ["module:metro-react-native-babel-preset"],

1 Comment

after this, I had another problem, which is solved there stackoverflow.com/questions/51765313/… , then it started to work
2

I solved this issue by installing "babel-preset-react-native-stage-0" in my project and changed .babelrc file:

"presets": [
    "babel-preset-react-native-stage-0/decorator-support"
  ]

Comments

0

for Babel 7 and above and according to this document create a file with name bable.config.js instead of .babelrc and then export presets like this :

const presets = [
    "flow"
]

module.exports = {presets}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.