After upgrading react native version to 0.56, I could not run my tests. I was testing my app before upgrade.
I get SyntaxError: Unexpected identifier error.
Details in below. Can you help me, please?
This is my devDependencies.
"@babel/core": "^7.0.0",
"@babel/plugin-proposal-optional-chaining": "^7.0.0",
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "^23.4.2",
"babel-preset-react-native": "^5.0.2",
"enzyme": "^3.3.0",
"enzyme-adapter-react-16": "^1.1.1",
"enzyme-to-json": "^3.3.4",
"jest": "^23.4.2",
"react-addons-test-utils": "^15.6.2",
"react-dom": "^16.4.2",
"react-test-renderer": "^16.4.2",
"regenerator-runtime": "^0.12.1",
"sinon": "^6.1.5"
I configured the jest in this way.
"jest": {
"preset": "react-native",
"snapshotSerializers": [
"enzyme-to-json/serializer"
],
"setupTestFrameworkScriptFile": "<rootDir>/setupTest.js"
}
.babelrc
{
"presets": ["react-native"],
"plugins": [
"@babel/plugin-proposal-optional-chaining"
]
}
Error detail - 1
import KeyboardAwareMixin from './lib/KeyboardAwareMixin';
^^^^^^^^^^^^^^^^^^
SyntaxError: Unexpected identifier
1 | import React from "react";
2 | import {View} from "react-native";
> 3 | import {KeyboardAwareScrollView} from "react-native-keyboard-aware-scroll-view";
| ^
4 | import PropTypes from 'prop-types';
5 |
6 | /**
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)
Error Detail - 2
import createIconSet from './lib/create-icon-set';
^^^^^^^^^^^^^
SyntaxError: Unexpected identifier
1 | import React, {Component} from "react";
2 | import {TouchableOpacity} from "react-native";
> 3 | import Icon from "react-native-vector-icons/FontAwesome";
| ^
4 | import {COLORS} from "../config/Constant";
5 | import PropTypes from "prop-types";
6 |
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)
Error Details - 3
SyntaxError: /Users/----/node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.js: Unexpected token (26:12)
24 | const flattenStyle = require('flattenStyle');
25 |
> 26 | import type {Props as TouchableWithoutFeedbackProps} from 'TouchableWithoutFeedback';
| ^
27 | import type {ViewStyleProp} from 'StyleSheet';
28 |
29 | type Event = Object;
at Parser.raise (node_modules/@babel/parser/lib/index.js:3938:15)
at Parser.unexpected (node_modules/@babel/parser/lib/index.js:5247:16)
at Parser.expectContextual (node_modules/@babel/parser/lib/index.js:5215:41)
at Parser.parseImport (node_modules/@babel/parser/lib/index.js:8403:12)
at Parser.parseStatementContent (node_modules/@babel/parser/lib/index.js:7225:27)
at Parser.parseStatement (node_modules/@babel/parser/lib/index.js:7144:17)
at Parser.parseBlockOrModuleBlockBody (node_modules/@babel/parser/lib/index.js:7695:23)
at Parser.parseBlockBody (node_modules/@babel/parser/lib/index.js:7682:10)
at Parser.parseTopLevel (node_modules/@babel/parser/lib/index.js:7109:10)
at Parser.parse (node_modules/@babel/parser/lib/index.js:8495:17)
It's maybe some version conflict. Run the following commands, supposing you use npm:
rm -rf node_modules/
rm package-lock.json
npm i
It worked when I used babeljs dependencies from the react-native module. https://github.com/facebook/react-native/issues/20966
Not sure but maybe the OP had solved the problem here
https://github.com/facebook/react-native/issues/20966
You can
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With