eslint 2.3.0 has a missing dependency of estraverse #5476

Closed
mdouglass opened this Issue Mar 5, 2016 · 33 comments

Projects

None yet
@mdouglass

What version of ESLint are you using?
2.3.0

What configuration and parser (Espree, Babel-ESLint, etc.) are you using?
babel-eslint

What did you do? Please include the actual source code causing the issue.
Out of the box configuration is throwing an error:

Error: Cannot find module 'estraverse-fb'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at monkeypatch (/project/node_modules/babel-eslint/index.js:59:32)
    at Object.exports.parse (/project/node_modules/babel-eslint/index.js:385:5)
    at parse (/project/node_modules/eslint/lib/eslint.js:578:27)
    at EventEmitter.module.exports.api.verify (/project/node_modules/eslint/lib/eslint.js:716:19)
    at processText (/project/node_modules/eslint/lib/cli-engine.js:187:27)
    at processFile (/project/node_modules/eslint/lib/cli-engine.js:227:18)
    at executeOnFile (/project/node_modules/eslint/lib/cli-engine.js:603:23)
@eslintbot eslintbot added the triage label Mar 5, 2016
@unindented

Experiencing the same issue across all my repos. Greenkeeper is spamming me like crazy.

@ilyavolodin
Member

This looks like problem with babel-eslint which was relying on estraverse-fb that we removed in this release. @hzoo is that statement correct?

@nzakas
Member
nzakas commented Mar 5, 2016

If we do #4640, we might be able to fix this the right way.

I'm guessing this is related to #5443.

@nzakas nzakas added bug core blocked evaluating and removed triage labels Mar 5, 2016
@nzakas
Member
nzakas commented Mar 5, 2016

Oops, hit Enter too soon. Even without removing estraverse-fb, I think the rest of the changes in #5443 would probably have caused other problems with babel-eslint.

@nzakas
Member
nzakas commented Mar 5, 2016

I just looked at babel-eslint and it looks like it's just modifying VisitorKeys from estraverse-fb, so #4640 should work.

@mysticatea
Member

keys option of estraverse and childVisitorKeys option of escope are merged with estraverse.VisitorKeys inside of them.
So I think the previous way of patching still works.

@platinumazure
Member

Shouldn't babel-eslint just declare the dependency if they need it?

@mysticatea
Member

@platinumazure Actually babel-eslint doesn't need estraverse-fb. babel-eslint is searching and modifying estraverse-fb which ESLint is using, in order to patch for ES.next and Flow features.

As far as I remember, that patch of estraverse-fb is for eslint@<1.9.0

@ntwb ntwb referenced this issue in AtomLinter/linter-stylelint Mar 5, 2016
Closed

eslint@2.3.0 breaks build 🚨 #108

@egoroof
egoroof commented Mar 5, 2016

Have the same problem. Eslint@2.3.0 not working :(

@red2678
red2678 commented Mar 5, 2016

Same here.

I just installed estraverse-fb without using the --save or --save-dev flag, all is good.
Then when this is fixed, I'll just run npm-prune or just uninstall it

@nathanmarks nathanmarks referenced this issue in callemall/material-ui Mar 5, 2016
Merged

[Toolbar] Fix existing design flaws by using flex #3548

@hzoo
Member
hzoo commented Mar 5, 2016

Yeah, not exactly relying on it - estraverse-fb was only added since eslint had it (and since it was removed, it can also be removed from babel-eslint) - so unless I'm missing something I guess we can just do a patch release and remove it. Can do that tomorrow

@59naga 59naga added a commit to 59naga/express-npmcdn that referenced this issue Mar 5, 2016
@59naga 59naga chore: Downgrade babel-eslint@1.9.0 (refs eslint/eslint#5476) 6204d7f
@koalyptus koalyptus pushed a commit to koalyptus/TableFilter that referenced this issue Mar 5, 2016
Max Guglielmi Trying estraverse-fb package to fix es-lint build error (eslint/eslin… 7572d35
@koalyptus koalyptus pushed a commit to koalyptus/TableFilter that referenced this issue Mar 5, 2016
Max Guglielmi Trying estraverse-fb package to fix es-lint build error (eslint/eslin… 9f5fba2
@hzoo
Member
hzoo commented Mar 5, 2016

Ok nvm, I guess we'll need to wait on #4640 since you can't override espree's visitorkeys either since it's frozen?

Ah I see #5478

@nzakas
Member
nzakas commented Mar 5, 2016

Yeah, let's not replace monkey patching with more monkey patching. :) @ilyavolodin said he'd take a look at #4640 this weekend. Otherwise, I'll take a look on Monday.

@developit developit added a commit to developit/preact that referenced this issue Mar 5, 2016
@developit developit Lock eslint to 2.2.x while waiting for eslint/eslint#5476 034e8e6
@developit developit added a commit to developit/preact-photon that referenced this issue Mar 5, 2016
@developit developit Lock ESlint to 2.2 while wiating on eslint/eslint#5476 15e744d
@jhabdas
jhabdas commented Mar 5, 2016

Curious how this issue could have slipped in. My automated lint test caught this before attempting to submit a PR to my Starter Kit with the updates, as shown here:

screen shot 2016-03-05 at 12 22 41 pm

It may be worthwhile to set-up an example project similar to mine using Greenkeeper to programmatically submit PRs for updates, and leveraging Travis as I have for integration testing, so you can release with more confidence end-users won't be impacted. It requires very little work and could save hundreds of man hours.

Nevertheless, thanks for continuing to improve this awesome project. I cannot stress enough to others the usefulness of ESLint in reducing bugs, and improving code quality and consistency.

@ilyavolodin
Member

@jhabdas This issue is not with ESLint, it's with babel-eslint relying on the dependency of ESLint. Since we don't run tests for babel-eslint there wasn't much we could've done.

@hzoo
Member
hzoo commented Mar 5, 2016

Yep ^, It's because there is no API for ESLint/estraverse/escope for babel-eslint to use to modify it and thus the "monkey patching". Could potentially be caught by setting up an integration test for babel-eslint when pushing a PR. Should be helped with @ilyavolodin's #5478 PR to pass in data

@BowlingX BowlingX added a commit to BowlingX/flexcss that referenced this issue Mar 5, 2016
@BowlingX BowlingX fix(dep): lock eslint to 2.2.0 till eslint/eslint#5476 is fixed a040ffa
@jhabdas
jhabdas commented Mar 5, 2016

@ilyavolodin Given that logic it sounds like this issue should be closed. Am I missing something?

@jhabdas jhabdas added a commit to jhabdas/react-native-webpack-starter-kit that referenced this issue Mar 5, 2016
@jhabdas jhabdas Babel broke the internet again, again 9cf9117
@ilyavolodin
Member

@jhabdas Yes. But we are keeping it open for tracking purposes.

@not-an-aardvark not-an-aardvark added a commit to porybox/porybox that referenced this issue Mar 6, 2016
@not-an-aardvark not-an-aardvark Temporarily lock eslint dependency 9107af2
@paulfalgout paulfalgout referenced this issue in marionettejs/backbone.marionette Mar 6, 2016
Closed

custom renderer - issue #2474 #2911

@exeto exeto added a commit to exeto/fullrss that referenced this issue Mar 6, 2016
@exeto exeto Temporarily lock eslint dependency e5084eb
@exeto exeto added a commit to exeto/react-redux-starter that referenced this issue Mar 6, 2016
@exeto exeto Temporarily lock eslint dependency 141e93a
@vasco3
vasco3 commented Mar 6, 2016

quick fix, install estraverse-fb

@not-an-aardvark not-an-aardvark added a commit to not-an-aardvark/snoowrap that referenced this issue Mar 6, 2016
@not-an-aardvark not-an-aardvark Temporarily lock eslint version d3df68e
@RusAlex RusAlex added a commit to Lokiedu/libertysoil-site that referenced this issue Mar 6, 2016
@RusAlex RusAlex set eslint version to "~2.2.0" there was a bug in babel-eslint
when you install eslint v2.3.0
eslint/eslint#5476
9b923cd
@indeyets indeyets added a commit to Lokiedu/libertysoil-site that referenced this issue Mar 6, 2016
@RusAlex @indeyets RusAlex + indeyets Set eslint version to "~2.2.0"
there is a bug in babel-eslint when you install eslint v2.3.0
eslint/eslint#5476
a2aa86c
@jhabdas
jhabdas commented Mar 6, 2016

A better quick fix IMO is to not upgrade until the problem is solved unless there's a clear benefit to doing so. I hit three new Babel issues alone yesterday trying to upgrade my goods to React Native 0.21. That's not the upgrade path I want, and adding additional dependencies serves only to complicate projects.

@emmenko emmenko added a commit to emmenko/http-client that referenced this issue Mar 6, 2016
@emmenko emmenko Lock down eslint version until upstream fix 720b28a
@emmenko emmenko referenced this issue in mjackson/http-client Mar 6, 2016
Merged

Fixes development setup #2

@bruderstein bruderstein added a commit to bruderstein/unexpected-htmllike that referenced this issue Mar 6, 2016
@bruderstein bruderstein Revert eslint to 2.2.0 4f7dcd9
@ro-savage ro-savage referenced this issue in opencredo/opencredo-react-boilerplate Mar 6, 2016
Closed

Add estraverse-fb and remove failing react/prefer-stateless-function rule #81

@leodido leodido added a commit to leodido/postcss-clean that referenced this issue Mar 6, 2016
@leodido leodido Fix due to babel-eslint 2.3 broken dependencies
See eslint/eslint#5476
Remove estraverse-fb from development dependencies when fixed
6b652f6
@tgxworld tgxworld added a commit to discourse/discourse that referenced this issue Mar 7, 2016
@tgxworld tgxworld FIX: Pin ESlint to 2.2. 7d92c9c
@hzoo
Member
hzoo commented Mar 7, 2016

Yeah, I think you should pin to 2.2.x at the moment since the VisitorKeys from babel-eslint will still be used in that version.

I made babel/babel-eslint#269 which won't error in eslint@2.3.0 (wraps estraverse-fb) since users could still be using eslint < 2.3.0.
However things will probably be broken since the patching isn't working until some future PRs to eslint

Yeah based on #5494 some rules may still be broken (even if you install estraverse-fb since that's not the real issue)

@pascalduez pascalduez added a commit to pascalduez/postcss-map that referenced this issue Mar 7, 2016
@pascalduez pascalduez Pin ESLint dependency e143c38
@keithamus keithamus added a commit to keithamus/provision-react-component that referenced this issue Mar 7, 2016
@keithamus keithamus chore: pin eslint to 2.2.0 as 2.3.0 breaks support for babel-eslint
See eslint/eslint#5476 for more information
83f55fa
@chriskrycho chriskrycho referenced this issue in ember-cli/ember-cli-eslint Mar 7, 2016
Closed

Support ESLint 2 #30

@richardkall richardkall added a commit to richardkall/react-starter that referenced this issue Mar 7, 2016
@richardkall richardkall Upgrade dependencies
- css-modules-require-hook 4.0.0
- eslint-config-richardkall 2.5.0
- eslint-plugin-react 4.2.0
- react-transform-hmr 1.0.4
- redux-thunk 2.0.1
- webpack-hot-middleware 2.9.1

Skipping ESLint 2.3.0 for now because of eslint/eslint#5476.
3015941
@hhjcz hhjcz added a commit to hhjcz/too-simple-react-skeleton that referenced this issue Mar 7, 2016
@hhjcz hhjcz fix: dependency problem in babel-eslint with eslint-2.3.0 bf7d4b5
@jeffshaver jeffshaver referenced this issue in jeffshaver/safe-framework Mar 7, 2016
Merged

Scatter plot component #16

@seiyria seiyria added a commit to reactive-retro/backend that referenced this issue Mar 7, 2016
@seiyria seiyria temporarily lock eslint version 108a6bd
@nzakas nzakas added accepted and removed evaluating labels Mar 7, 2016
@kumar303 kumar303 referenced this issue in mozilla/web-ext Mar 7, 2016
Closed

Update eslint to version 2.3.0 πŸš€ #111

@colinmeinke colinmeinke added a commit to colinmeinke/colinmeinke that referenced this issue Mar 7, 2016
@colinmeinke colinmeinke fix(npm): roll back to eslint 2.2.x until bug fix 975b880
@jcheng5 jcheng5 added a commit to rstudio/shiny-server-client that referenced this issue Mar 7, 2016
@jcheng5 jcheng5 Pin eslint to v2.2.x until eslint/eslint#5476 is fixed 023345b
@jamsea jamsea added a commit to nfl/react-wildcat that referenced this issue Mar 8, 2016
@jamsea jamsea Downgraded eslint until eslint/eslint#5476 is
fixed
b604cbe
@jamsea jamsea referenced this issue in nfl/react-wildcat Mar 8, 2016
Merged

Downgraded eslint #67

@pl12133 pl12133 added a commit to pl12133/redux-undo that referenced this issue Mar 8, 2016
@pl12133 pl12133 Downgraded eslint until eslint/eslint#5476 is fixed 900c754
@jamsea jamsea added a commit to nfl/react-wildcat that referenced this issue Mar 8, 2016
@jamsea jamsea fix(package.json): Freeze eslint
npm install is throwing an error, downgrading eslint prevents it from happening until
eslint/eslint#5476 is fixed
cbb4c1b
@nodaguti nodaguti added a commit to nodaguti/word-quiz-generator-webapp that referenced this issue Mar 8, 2016
@nodaguti nodaguti Stop updating ESLint to 2.3.0 or higher and override stateless rule 872ef6f
@Adezandee Adezandee added a commit to Adezandee/fast-eslint that referenced this issue Mar 8, 2016
@Adezandee Adezandee fix(package): lock eslint to 2.2.x waiting for eslint/eslint#5476 51b37e8
@keithamus keithamus added a commit to economist-components/component-scenechanger that referenced this issue Mar 8, 2016
@keithamus keithamus chore(build): fix eslint to 2.2.x
See eslint/eslint#5476 for more
08acd56
@keithamus keithamus referenced this issue in economist-components/component-scenechanger Mar 8, 2016
Merged

chore(build): fix eslint to 2.2.x #23

@keithamus keithamus added a commit to keithamus/component-sharebar that referenced this issue Mar 8, 2016
@keithamus keithamus chore(build): fix eslint to 2.2.x
See eslint/eslint#5476 for more
82046fe
@keithamus keithamus referenced this issue in economist-components/component-sharebar Mar 8, 2016
Merged

chore(build): fix eslint to 2.2.x #30

@Svenskunganka Svenskunganka added a commit to rabaldermedia/deepstream.io-pipeline that referenced this issue Mar 8, 2016
@Svenskunganka Svenskunganka pin eslint dependency due to eslint/eslint#5476 d34ab62
@leodido leodido added a commit to leodido/postcss-clean that referenced this issue Mar 8, 2016
@leodido leodido Fix: Temporarily frozen eslint dependency (refs eslint/eslint#5476)
[ci skip]
9993b0a
@ryym ryym added a commit to ryym/node-depcop that referenced this issue Mar 8, 2016
@ryym ryym πŸ›πŸ”§ Lock ESLint to 2.2.x temporarily
Until eslint/eslint#5476 is fixed.
06fe840
@smockle smockle referenced this issue in AtomLinter/linter-proselint Mar 8, 2016
Merged

Minor enhancements #2

@smockle smockle added a commit to AtomLinter/linter-proselint that referenced this issue Mar 8, 2016
@smockle smockle Fix Circle CI by working around eslint/eslint#5476 0677437
@clementprdhomme clementprdhomme added a commit to Vizzuality/jiminy that referenced this issue Mar 8, 2016
@clementprdhomme clementprdhomme Fixes an issue with eslint 2.3.0 version ad57ee9
@imbstack imbstack added a commit to taskcluster/taskcluster-lib-validate that referenced this issue Mar 8, 2016
@imbstack imbstack Deal with eslint/eslint#5476 a237881
@jtribble jtribble added a commit to jtribble/redux-api-middleware that referenced this issue Mar 8, 2016
@jtribble jtribble Add estraverse-fb package to fix temp eslint bug (See: eslint/eslint#… 47d1d32
@eitheror eitheror added a commit to TrueCar/gluestick that referenced this issue Mar 8, 2016
@eitheror eitheror (temp) pin eslint to 2.2.0 to avoid buggy version ab0799c
@lukasbuenger lukasbuenger added a commit to lukasbuenger/immutable-treeutils that referenced this issue Mar 9, 2016
@lukasbuenger lukasbuenger add estraverse-fb to dev-deps. For more information eslint/eslint#5476 6bb0da9
@Arcanemagus Arcanemagus referenced this issue in AtomLinter/linter-eslint Mar 9, 2016
Closed

eslint@2.3.0 breaks build 🚨 #465

@jeffshaver jeffshaver added a commit to jeffshaver/safe-framework that referenced this issue Mar 9, 2016
@jeffshaver jeffshaver pin eslint to v2.2.x until eslint/eslint#5476 is fixed 7758703
@jeffshaver jeffshaver added a commit to jeffshaver/safe-framework that referenced this issue Mar 9, 2016
@jeffshaver jeffshaver pin eslint to v2.2.x until eslint/eslint#5476 is fixed 25cc6f1
@jeffshaver jeffshaver added a commit to jeffshaver/safe-app that referenced this issue Mar 9, 2016
@jeffshaver jeffshaver pin eslint to v2.2.x until eslint/eslint#5476 is fixed e07dc37
@elliottsj elliottsj added a commit to elliottsj/memoize-id that referenced this issue Mar 10, 2016
@elliottsj elliottsj Pin ESLint to 2.2.x due to eslint/eslint#5476 bd4f63a
@elliottsj elliottsj referenced this issue in elliottsj/memoize-id Mar 10, 2016
Merged

Pin ESLint to 2.2.x #8

@paulfalgout paulfalgout added a commit to paulfalgout/backbone.marionette that referenced this issue Mar 10, 2016
@paulfalgout paulfalgout Fix dependencies and html test runner
Locked eslint per eslint/eslint#5476

Added two babel dependencies for node < 5 so the test runner can find the files in node_modules
4ab5bb0
@thangngoc89 thangngoc89 added a commit to thangngoc89/blog that referenced this issue Mar 10, 2016
@thangngoc89 thangngoc89 Lock eslint to 2.2.0 c4d24be
@lijunle lijunle added a commit to lijunle/depcheck-es6 that referenced this issue Mar 10, 2016
@lijunle lijunle Pin ESLint to 2.2.0.
ESLint 2.3.0 has a BAD bug: eslint/eslint#5476
c406de9
@lijunle lijunle referenced this issue in depcheck/depcheck Mar 10, 2016
Merged

Pin ESLint to 2.2.0. #109

@mjackson mjackson added a commit to mjackson/http-client that referenced this issue Mar 10, 2016
@mjackson mjackson Pin eslint to 2.2.0 2380ecb
@richardkall richardkall added a commit to richardkall/react-starter that referenced this issue Mar 10, 2016
@richardkall richardkall Upgrade dependencies
- assets-webpack-plugin 3.4.0
- babel-core 6.7.0
- eslint-plugin-react 4.2.1
- expect-jsx 2.4.0
- stylelint 4.5.1
- stylelint-config-richardkall 1.0.1
- webpack-hot-middleware 2.10.0

Skipping ESLint 2.3.0 for now because of eslint/eslint#5476.
24d8711
@vtambourine

I am lucky this bug is already opened and can be found on top of issues list! Looking forward to final solution.

@nzakas
Member
nzakas commented Mar 10, 2016

I'm locking this issue because we are working hard to get this resolved and every new comment creates a notification that distracts us. :)

@nzakas nzakas locked and limited conversation to collaborators Mar 10, 2016
@nzakas
Member
nzakas commented Mar 10, 2016

estraverse fix has landed, so I'm starting work on integrating that. esrecurse (which escope relies on) isn't yet ready, so won't be able to merge until that's complete.

@nzakas
Member
nzakas commented Mar 11, 2016

Published new version of esrecurse, now working on escope.

@nzakas nzakas removed the blocked label Mar 11, 2016
@nzakas
Member
nzakas commented Mar 11, 2016

All dependencies have been updated with new functionality, so removing the "blocked" label.

PR: #5543

@nzakas
Member
nzakas commented Mar 11, 2016

PR has been merged. Release is starting.

@BYK BYK assigned BYK and nzakas and unassigned BYK Mar 13, 2016
@BYK
Member
BYK commented Mar 13, 2016

Do you think we can close this since 2.4.0 is out now?

@nzakas
Member
nzakas commented Mar 13, 2016

Yeah, not sure why this didn't automatically close when the PR was merged.

@nzakas nzakas closed this Mar 13, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.