I have an index.js file which has the following named export in it.
export Main from './Main/Main'
However, eslint doesn't like this and throws the error
Parsing error: Unexpected token Main
I'm not sure why as the app is working properly and I believe that's valid syntax.
My .eslintrc file looks like this
{
env: {
es6: true,
browser: true
},
parserOptions: {
ecmaVersion: 6,
sourceType: "module",
ecmaFeatures: {
jsx: true,
experimentalObjectRestSpread: true
}
},
plugins: [
"react",
],
extends: ["eslint:recommended", "plugin:react/recommended", "standard"],
"rules": {
"comma-dangle" : [2, "always-multiline"],
"semi": [2, "never"],
"no-extra-semi": 2,
"jsx-quotes": [2, "prefer-single"],
"react/jsx-boolean-value": [2, "always"],
"react/jsx-closing-bracket-location": [2, {selfClosing: "after-props", nonEmpty: "after-props"}],
"react/jsx-curly-spacing": [2, "never", {"allowMultiline": false}],
"react/jsx-max-props-per-line": [2, {maximum: 3}],
"react/jsx-no-literals": 2,
"react/sort-prop-types": 2,
"react/self-closing-comp": 2,
"react/sort-comp": 2
},
}
I have an index.js file which has the following named export in it.
export Main from './Main/Main'
However, eslint doesn't like this and throws the error
Parsing error: Unexpected token Main
I'm not sure why as the app is working properly and I believe that's valid syntax.
My .eslintrc file looks like this
{
env: {
es6: true,
browser: true
},
parserOptions: {
ecmaVersion: 6,
sourceType: "module",
ecmaFeatures: {
jsx: true,
experimentalObjectRestSpread: true
}
},
plugins: [
"react",
],
extends: ["eslint:recommended", "plugin:react/recommended", "standard"],
"rules": {
"comma-dangle" : [2, "always-multiline"],
"semi": [2, "never"],
"no-extra-semi": 2,
"jsx-quotes": [2, "prefer-single"],
"react/jsx-boolean-value": [2, "always"],
"react/jsx-closing-bracket-location": [2, {selfClosing: "after-props", nonEmpty: "after-props"}],
"react/jsx-curly-spacing": [2, "never", {"allowMultiline": false}],
"react/jsx-max-props-per-line": [2, {maximum: 3}],
"react/jsx-no-literals": 2,
"react/sort-prop-types": 2,
"react/self-closing-comp": 2,
"react/sort-comp": 2
},
}
Share
Improve this question
edited Mar 25, 2016 at 22:48
Tyler McGinnis
asked Mar 25, 2016 at 21:22
Tyler McGinnisTyler McGinnis
35.3k16 gold badges74 silver badges79 bronze badges
3
|
2 Answers
Reset to default 15Figured it out. It's an experimental feature so I need to enable babel-eslint as my eslint parser.
Now my .eslintrc looks like this
{
parser: "babel-eslint",
env: {
es6: true,
browser: true
},
parserOptions: {
ecmaVersion: 6,
sourceType: "module",
ecmaFeatures: {
jsx: true,
experimentalObjectRestSpread: true
}
},
plugins: [
"react",
],
extends: ["eslint:recommended", "plugin:react/recommended", "standard"],
"rules": {
"comma-dangle" : [2, "always-multiline"],
"semi": [2, "never"],
"no-extra-semi": 2,
"jsx-quotes": [2, "prefer-single"],
"react/jsx-boolean-value": [2, "always"],
"react/jsx-closing-bracket-location": [2, {selfClosing: "after-props", nonEmpty: "after-props"}],
"react/jsx-curly-spacing": [2, "never", {"allowMultiline": false}],
"react/jsx-max-props-per-line": [2, {maximum: 3}],
"react/jsx-no-literals": 2,
"react/sort-prop-types": 2,
"react/self-closing-comp": 2,
"react/sort-comp": 2
},
}
since I got the same error for a different reason, here's where I went wrong:
If you're using babel with atom package development, babel is activated by a use babel
at the beginning of every file.
use babel
, much like use strict
needs to be at the very beginning of the file! So much as a space in front of it will deactivate it, followed by the js engine tripping over your export statement or, similar ```unexpected token export````.
Wrong:
use babel
import { bla } from 'blub'
Correct:
use babel
import { bla } from 'blub'
'./Main/Main'
exports and how it does it. – Felix Kling Commented Mar 25, 2016 at 21:36