Closed denchen closed 7 years ago
@denchen if you're able to provide a minimally reproducible scenario (eg against an ember new
app) that would be great.
If not, can you post the output from npm ls
?
Thanks
@denchen something to try
npm ls fs-tree-diff
. If this gives you either 0.5.4
or 0.5.5
can you check to see if you still get your error with 0.5.3
?
@hjdivad I have a minimally(?) reproducible repo here:
https://github.com/denchen/broken-ember-app
This repo was generated from ember init
, but using my app's package.json
, bower.json
, and ember-cli-build.js
. Included is npm-shrinkwrap.json
so you can see the exact package versions installed. All you have to do to reproduce the error is:
npm install
ember serve
# In another window
rm app/services/test-service.js
And with that, you'll get the errors I'm seeing.
@denchen ok i wasn't able to install with npm but no matter, i can reproduce this issue with yarn.
This is a regression in fs-tree-diff@0.5.4
The latest fs-tree-diff (released earlier today) v0.5.6 has fixed this issue (or atleast the one in the example app provided)
Just to validate, I re-NPM'd my app and validated that removing files no longer produces those errors. Thanks!
@denchen thank you for reporting!
I still get errors whenever I remove a file while running ember serve
. I've checked fs-tree-diff
and my version is 5.7
.
Ember CLI version:
$ ember -v
ember-cli: 2.13.3
node: 8.6.0
os: darwin x64
Here's a typical stacktrace:
The Broccoli Plugin: [broccoli-persistent-filter:Babel > [Babel: @ember-decorators/argument]: Babel: @ember-decorators/argument] failed with:
Error: ENOENT: no such file or directory, scandir '/Users/stevehull/Dev/my-app/client/tmp/funnel-input_base_path-31WhveH9.tmp/'
at Object.fs.readdirSync (fs.js:911:18)
at _walkSync (/Users/stevehull/Dev/my-app/client/node_modules/walk-sync/index.js:74:18)
at Function.entries (/Users/stevehull/Dev/my-app/client/node_modules/walk-sync/index.js:50:10)
at Funnel.processFilters (/Users/stevehull/Dev/my-app/client/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:323:26)
at Funnel.build (/Users/stevehull/Dev/my-app/client/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:259:10)
at /Users/stevehull/Dev/my-app/client/node_modules/broccoli-plugin/read_compat.js:93:34
at tryCatch (/Users/stevehull/Dev/my-app/client/node_modules/rsvp/dist/rsvp.js:525:12)
at invokeCallback (/Users/stevehull/Dev/my-app/client/node_modules/rsvp/dist/rsvp.js:538:13)
at publish (/Users/stevehull/Dev/my-app/client/node_modules/rsvp/dist/rsvp.js:508:7)
at flush (/Users/stevehull/Dev/my-app/client/node_modules/rsvp/dist/rsvp.js:2415:5)
The broccoli plugin was instantiated at:
at Babel.Plugin (/Users/stevehull/Dev/my-app/client/node_modules/broccoli-plugin/index.js:7:31)
at Babel.Filter [as constructor] (/Users/stevehull/Dev/my-app/client/node_modules/broccoli-persistent-filter/index.js:64:10)
at new Babel (/Users/stevehull/Dev/my-app/client/node_modules/broccoli-babel-transpiler/index.js:36:10)
at Class.transpileTree (/Users/stevehull/Dev/my-app/client/node_modules/ember-cli-babel/index.js:52:18)
at Object.toTree (/Users/stevehull/Dev/my-app/client/node_modules/ember-cli-babel/index.js:61:30)
at /Users/stevehull/Dev/my-app/client/node_modules/ember-cli-preprocess-registry/preprocessors.js:180:26
at Array.forEach (<anonymous>)
at processPlugins (/Users/stevehull/Dev/my-app/client/node_modules/ember-cli-preprocess-registry/preprocessors.js:178:11)
at Function.module.exports.preprocessJs (/Users/stevehull/Dev/my-app/client/node_modules/ember-cli-preprocess-registry/preprocessors.js:171:10)
at Class.preprocessJs (/Users/stevehull/Dev/my-app/client/node_modules/ember-cli/lib/models/addon.js:1172:25)
@sdhull if you have the cycles to create a minimal scenario for reproducing the error it would help a lot.
Easy to repro locally:
$ ember new foo
$ cd foo
$ ember serve
// new tab
$ ember g service logger
$ rm -f app/services/logger.js
Then look at your previous tab with ember serve
, it will look something like this:
file deleted services/logger.js
The Broccoli Plugin: [SimpleConcatConcat] failed with:
Error: ENOENT: no such file or directory, lstat '/Users/stevehull/Dev/foo/tmp/broccoli_persistent_filtereslint_validation_filter-input_base_path-Rl8wIkTc.tmp/services/logger.js'
at Object.fs.lstatSync (fs.js:948:11)
at EslintValidationFilter.Filter.isDirectory (/Users/stevehull/Dev/foo/node_modules/broccoli-persistent-filter/index.js:270:23)
at EslintValidationFilter.Filter.getDestFilePath (/Users/stevehull/Dev/foo/node_modules/broccoli-persistent-filter/index.js:275:12)
at EslintValidationFilter.getDestFilePath (/Users/stevehull/Dev/foo/node_modules/broccoli-lint-eslint/lib/index.js:123:55)
at /Users/stevehull/Dev/foo/node_modules/broccoli-persistent-filter/index.js:154:52
at /Users/stevehull/Dev/foo/node_modules/promise-map-series/index.js:11:14
at tryCatch (/Users/stevehull/Dev/foo/node_modules/rsvp/dist/rsvp.js:525:12)
at invokeCallback (/Users/stevehull/Dev/foo/node_modules/rsvp/dist/rsvp.js:538:13)
at /Users/stevehull/Dev/foo/node_modules/rsvp/dist/rsvp.js:606:14
at flush (/Users/stevehull/Dev/foo/node_modules/rsvp/dist/rsvp.js:2415:5)
The broccoli plugin was instantiated at:
at Concat.Plugin (/Users/stevehull/Dev/foo/node_modules/broccoli-plugin/index.js:7:31)
at new Concat (/Users/stevehull/Dev/foo/node_modules/broccoli-concat/concat.js:38:10)
at module.exports (/Users/stevehull/Dev/foo/node_modules/broccoli-concat/index.js:26:10)
at Function.EslintValidationFilter.create (/Users/stevehull/Dev/foo/node_modules/broccoli-lint-eslint/lib/index.js:215:10)
at Class.lintTree (/Users/stevehull/Dev/foo/node_modules/ember-cli-eslint/index.js:44:19)
at output.project.addons.map.addon (/Users/stevehull/Dev/foo/node_modules/ember-cli/lib/broccoli/ember-app.js:651:22)
at Array.map (<anonymous>)
at EmberApp.addonLintTree (/Users/stevehull/Dev/foo/node_modules/ember-cli/lib/broccoli/ember-app.js:649:38)
at EmberApp.lintTestTrees (/Users/stevehull/Dev/foo/node_modules/ember-cli/lib/broccoli/ember-app.js:1193:26)
at EmberApp.appTests (/Users/stevehull/Dev/foo/node_modules/ember-cli/lib/broccoli/ember-app.js:1164:28)
awesome, thanks @sdhull
@sdhull can you confirm your global ember-cli
is also 2.13.3
?
@sdhull okay I've reproduced on 2.13.3
and confirmed that the issue is fixed by upgrading ember-cli-eslint
to @^4.0.0
This is to pick up https://github.com/ember-cli/broccoli-lint-eslint/pull/115
@sdhull if you want to follow along i'm backporting the fix to 3.x
here: https://github.com/ember-cli/broccoli-lint-eslint/pull/119
@sdhull backported fix released broccoli-lint-eslint@3.3.2
& verified against a new app with ember 2.13.3
Strange, in our yarn.lock file, we have:
ember-cli-eslint@^4.0.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/ember-cli-eslint/-/ember-cli-eslint-4.2.1.tgz#1718875632b3c10fa0da2f665d294c08f24b8ca3"
dependencies:
broccoli-lint-eslint "^4.1.0"
ember-cli-version-checker "^2.1.0"
rsvp "^4.6.1"
walk-sync "^0.3.0"
My global ember
is 2.13.3
. In our project, we've updated to "ember-cli": "~2.16.2",
@sdhull it's possible you were experiencing a different issue with similar symptoms.
In any case, is the bug present in your project after upgrading?
On my example foo
project, after doing npm install broccoli-lint-eslint@3.3.2
, it does fix the issue. Let me update my global ember and see if I can create a repro with ember 2.16.2
Really appreciate your help ❤️
Problem doesn't present in a bare app with ember 2.16.2... it must be some combination of our other dependencies 😖
OK so it looks like broccoli-lint-eslint
is broken in version 4.2.0
but fixed with version 4.2.1
... I had to do yarn upgrade ember-cli-eslint
(which went from 4.2.1
=> 4.2.2
) to fix.
Thanks again @hjdivad 🎉
@sdhull awesome glad to hear things are working for you now 👍
Happy hacking! 🎉
I'm not sure this is the right module to open this issue against, but recently I started getting
ENOENT: no such file or directory
whenever I delete a file in my Ember app tree whileember serve
is running.For example, if I have a
global-message-service
component, and I run:I then see this:
Deleting the file first instead of the directory also triggers the error. Deleting
tmp/
&dist/
before I start the server seems to have no effect.I can't be sure, but I think the errors started happening when I did a fresh
npm install
of my Ember app recently. Just to verify it's not a bug I recently introduced on my side, I did a git checkout of my code from late September, did a freshnpm install
, and I still see this issue. I seebroccoli-funnel
has updated recently, which is why I decided to open the issue here.Any ideas?