Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Webpack 2 Error with Eslint 2 #2041

Closed
dtothefp opened this issue Feb 13, 2016 · 7 comments
Closed

Webpack 2 Error with Eslint 2 #2041

dtothefp opened this issue Feb 13, 2016 · 7 comments
Labels

Comments

@dtothefp
Copy link

Sorry for duplicate issues but I'm really unsure what repo this issue belongs in. webpack-contrib/eslint-loader#80. Looking at the updated dependencies I'm guessing this is some sort of issue with acorn versions but I'm not sure?

Webpack 2 has a dependency on "acorn": "^2.4.0", and Eslint 2 has a dependency on "espree": "^3.0.0" which in turn has a dependency on "acorn": "^2.7.0".

  • Webpack 2 => "acorn": "^2.4.0"
  • Eslint 2 => "espree": "^3.0.0" => "acorn": "^2.7.0"

Eslint 2 has a dependency on "espree": "^2.2.4" which in turn has NO acorn dependency so I'm guessing whatever is happening is some sort of conflict in acorn but I'm unsure how this plays out.

  • Webpack 2 => "acorn": "^2.4.0"
  • Eslint 1 => "espree": "^2.2.4"

I think this could be an NPM 3 semver thing where NPM tries to be smart and and sees two versions of acorn with ^2.x and extracts them out into the root of node_modules

Upon updating to Eslint 2 and Webpack 2 I get an error in espree shown below. With Webpack 1 I don't get this error, and with Webpack 2.0.7.-beta and Eslint 1.x I don't get the error as well. If you have any ideas and cold point me in the right direction I'd appreciate it.

{
  "parser": "babel-eslint",
  "plugins": [
    "react"
  ],
  "env": {
    "browser": true,
    "node": true
  },
  "parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module",
    "ecmaFeatures": {
      "arrowFunctions": true,
      "blockBindings": true,
      "experimentalObjectRestSpread": true,
      "generators": true,
      "jsx": true,
      "module": true,
      "modules": true,
      "restParams": true,
      "spread": true,
      "jsx": true
    }
  }
}
ERROR in ./src/js/index.js
Module parse failed: /Users/davidfox-powell/dev/frontend-boilerplate/node_modules/babel-loader/index.js?{"presets":["react","es2015","stage-0"],"plugins":["transform-runtime","transform-decorators-legacy","typecheck",["react-transform",{"transforms":[{"transform":"react-transform-hmr","imports":["react"],"locals":["module"]},{"transform":"react-transform-catch-errors","imports":["react","redbox-react"]}]}]]}!/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/eslint-loader/index.js!/Users/davidfox-powell/dev/frontend-boilerplate/src/js/index.js 
Cannot read property 'ecmaFeatures' of undefined
You may need an appropriate loader to handle this file type.
TypeError: Cannot read property 'ecmaFeatures' of undefined
    at Parser.parseTopLevel (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/espree/espree.js:271:18)
    at Parser.parse (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/acorn/dist/acorn.js:1636:17)
    at Object.parse (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/acorn/dist/acorn.js:905:44)
    at Parser.parse (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/webpack/lib/Parser.js:960:18)
    at Module.<anonymous> (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/webpack/lib/NormalModule.js:192:16)
    at /Users/davidfox-powell/dev/frontend-boilerplate/node_modules/webpack/lib/NormalModule.js:160:10
    at /Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:334:3
    at iterateNormalLoaders (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:182:10)
    at iterateNormalLoaders (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:189:10)
    at /Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:204:3
    at Object.context.callback (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:87:13)
    at Object.module.exports (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/babel-loader/index.js:89:8)
    at LOADER_EXECUTION (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:95:14)
    at runSyncOrAsync (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:96:4)
    at iterateNormalLoaders (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:200:2)
    at iterateNormalLoaders (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:189:10)
    at /Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:204:3
    at Object.context.callback (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:87:13)
    at Object.module.exports (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/eslint-loader/index.js:113:8)
    at LOADER_EXECUTION (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:95:14)
    at runSyncOrAsync (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:96:4)
    at iterateNormalLoaders (/Users/davidfox-powell/dev/frontend-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:200:2)
 @ multi main
@sokra
Copy link
Member

sokra commented Feb 13, 2016

I don't see a conflict here: ^2.4.0 and ^2.2.0 resolve both to the same version.

@dtothefp
Copy link
Author

@sokra yeh I was thinking the same but I don't know what else would cause it or where to look for help? Any suggestions?

sokra added a commit that referenced this issue Feb 14, 2016
@sokra
Copy link
Member

sokra commented Feb 14, 2016

I updated the acorn version to ^3.0.0. Maybe this fixes the issue

@dtothefp
Copy link
Author

@sokra I can confirm this fixes my issue when I installed the latest version from master. Any plans to make a new beta release soon?

@satya164
Copy link

Would love a new release!

satya164 added a commit to belng/pure that referenced this issue Feb 18, 2016
Webpack will not work with ESLint 2.0 due to conflicting deps on acorn (webpack/webpack#2041). Downgrade until next release of Webpack
@bgw
Copy link

bgw commented Feb 20, 2016

This was because espree was monkey-patching acorn. This was fixed in espree: eslint/js#250

I can confirm that updating to espree 3.0.2 fixes this issue for me.

@bebraw
Copy link
Contributor

bebraw commented Aug 7, 2016

Looks like the issue has been fixed based on webpack-contrib/eslint-loader#80. Closing.

@bebraw bebraw closed this as completed Aug 7, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants