Creating a Funnel with an inputNode pointing to a directory that doesn't exist on the file system, and with the include or exclude options are set, causes processFilters to run whether or not the inputPath derived from that inputNode exists on the system:
The result is an error like broccoliBuilderErrorStack: Error: ENOENT: no such file or directory, scandir '<bad path>'.
full stack trace
```
=================================================================================
ENV Summary:
TIME: Tue Jan 22 2019 13:04:24 GMT-0700 (MST)
TITLE: ember
ARGV:
- /Users/chris/.nodenv/versions/8.11.4/bin/node
- /Users/chris/.nodenv/versions/8.11.4/bin/ember
- s
EXEC_PATH: /Users/chris/.nodenv/versions/8.11.4/bin/node
TMPDIR: /var/folders/l2/3r6d4lps0w7gnxf95w0kgfxw0000gn/T
SHELL: /usr/local/bin/fish
PATH:
- /Users/chris/.nodenv/versions/8.11.4/bin
- /usr/local/Cellar/nodenv/1.2.0/libexec
- /Users/chris/.nodenv/shims
- /Users/chris/bin
- /Users/chris/.cargo/bin
- /usr/local/miniconda3/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /usr/local/share/dotnet
- ~/.dotnet/tools
- /usr/local/MacGPG2/bin
PLATFORM: darwin x64
FREEMEM: 131371008
TOTALMEM: 17179869184
UPTIME: 597434
LOADAVG: 6.083984375,3.72802734375,2.65869140625
CPUS:
- Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800
- Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800
- Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800
- Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800
- Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800
- Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800
- Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800
- Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800
ENDIANNESS: LE
VERSIONS:
- ares: 1.10.1-DEV
- cldr: 32.0
- http_parser: 2.8.0
- icu: 60.1
- modules: 57
- napi: 3
- nghttp2: 1.32.0
- node: 8.11.4
- openssl: 1.0.2p
- tz: 2017c
- unicode: 10.0
- uv: 1.19.1
- v8: 6.2.414.54
- zlib: 1.2.11
ERROR Summary:
- broccoliBuilderErrorStack: Error: ENOENT: no such file or directory, scandir '/Users/chris/dev/oss/ember/freestyle/addon/styles/app/styles/'
at Object.fs.readdirSync (fs.js:904:18)
at _walkSync (/Users/chris/dev/oss/ember/freestyle/node_modules/walk-sync/index.js:74:18)
at Function.entries (/Users/chris/dev/oss/ember/freestyle/node_modules/walk-sync/index.js:50:10)
at Funnel.processFilters (/Users/chris/dev/oss/ember/freestyle/node_modules/broccoli-funnel/index.js:320:26)
at Funnel.build (/Users/chris/dev/oss/ember/freestyle/node_modules/broccoli-funnel/index.js:258:10)
at resolve (/Users/chris/dev/olo/web-client/node_modules/broccoli/lib/wrappers/transform-node.js:29:35)
at new Promise ()
at TransformNodeWrapper.build (/Users/chris/dev/olo/web-client/node_modules/broccoli/lib/wrappers/transform-node.js:21:12)
at Promise.resolve.then.then.then (/Users/chris/dev/olo/web-client/node_modules/broccoli/lib/builder.js:111:28)
at
at process._tickDomainCallback (internal/process/next_tick.js:228:7)
- codeFrame: ENOENT: no such file or directory, scandir '/Users/chris/dev/oss/ember/freestyle/addon/styles/app/styles/'
- errorMessage: ENOENT: no such file or directory, scandir '/Users/chris/dev/oss/ember/freestyle/addon/styles/app/styles/'
at Funnel
-~- created here: -~-
at Funnel.Plugin (/Users/chris/dev/oss/ember/freestyle/node_modules/broccoli-plugin/index.js:7:31)
at new Funnel (/Users/chris/dev/oss/ember/freestyle/node_modules/broccoli-funnel/index.js:58:10)
at SASSPlugin.toTree (/Users/chris/dev/oss/ember/freestyle/node_modules/ember-cli-sass/index.js:42:16)
at /Users/chris/dev/olo/web-client/node_modules/ember-cli-preprocess-registry/preprocessors.js:180:26
at Array.forEach ()
at processPlugins (/Users/chris/dev/olo/web-client/node_modules/ember-cli-preprocess-registry/preprocessors.js:178:11)
at module.exports.preprocessCss (/Users/chris/dev/olo/web-client/node_modules/ember-cli-preprocess-registry/preprocessors.js:148:10)
at Class.compileStyles (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/models/addon.js:981:33)
at Class.treeForAddon (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/models/addon.js:860:27)
at Class._treeFor (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/models/addon.js:616:33)
at Class.treeFor (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/models/addon.js:576:21)
at project.addons.reduce (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:699:26)
at Array.reduce ()
at EmberApp._addonTreesFor (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:697:32)
at EmberApp._addonBundles (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1160:31)
at EmberApp.createAddonTree (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1193:29)
at EmberApp.addonTree (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1208:36)
at EmberApp.getExternalTree (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1264:25)
at EmberApp.toArray (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1619:12)
at EmberApp.toTree (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1747:22)
at module.exports (/Users/chris/dev/olo/web-client/ember-cli-build.js:88:14)
at Builder.readBuildFile (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/models/builder.js:52:14)
-~- (end) -~-
- errorType: Build Error
- location:
- column: [undefined]
- file: [undefined]
- line: [undefined]
- treeDir: [undefined]
- message: ENOENT: no such file or directory, scandir '/Users/chris/dev/oss/ember/freestyle/addon/styles/app/styles/'
at Funnel
-~- created here: -~-
at Funnel.Plugin (/Users/chris/dev/oss/ember/freestyle/node_modules/broccoli-plugin/index.js:7:31)
at new Funnel (/Users/chris/dev/oss/ember/freestyle/node_modules/broccoli-funnel/index.js:58:10)
at SASSPlugin.toTree (/Users/chris/dev/oss/ember/freestyle/node_modules/ember-cli-sass/index.js:42:16)
at /Users/chris/dev/olo/web-client/node_modules/ember-cli-preprocess-registry/preprocessors.js:180:26
at Array.forEach ()
at processPlugins (/Users/chris/dev/olo/web-client/node_modules/ember-cli-preprocess-registry/preprocessors.js:178:11)
at module.exports.preprocessCss (/Users/chris/dev/olo/web-client/node_modules/ember-cli-preprocess-registry/preprocessors.js:148:10)
at Class.compileStyles (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/models/addon.js:981:33)
at Class.treeForAddon (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/models/addon.js:860:27)
at Class._treeFor (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/models/addon.js:616:33)
at Class.treeFor (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/models/addon.js:576:21)
at project.addons.reduce (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:699:26)
at Array.reduce ()
at EmberApp._addonTreesFor (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:697:32)
at EmberApp._addonBundles (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1160:31)
at EmberApp.createAddonTree (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1193:29)
at EmberApp.addonTree (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1208:36)
at EmberApp.getExternalTree (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1264:25)
at EmberApp.toArray (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1619:12)
at EmberApp.toTree (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/broccoli/ember-app.js:1747:22)
at module.exports (/Users/chris/dev/olo/web-client/ember-cli-build.js:88:14)
at Builder.readBuildFile (/Users/chris/dev/olo/web-client/node_modules/ember-cli/lib/models/builder.js:52:14)
-~- (end) -~-
- name: BuildError
- nodeAnnotation: [undefined]
- nodeName: Funnel
- originalErrorMessage: ENOENT: no such file or directory, scandir '/Users/chris/dev/oss/ember/freestyle/addon/styles/app/styles/'
- stack: Error: ENOENT: no such file or directory, scandir '/Users/chris/dev/oss/ember/freestyle/addon/styles/app/styles/'
at Object.fs.readdirSync (fs.js:904:18)
at _walkSync (/Users/chris/dev/oss/ember/freestyle/node_modules/walk-sync/index.js:74:18)
at Function.entries (/Users/chris/dev/oss/ember/freestyle/node_modules/walk-sync/index.js:50:10)
at Funnel.processFilters (/Users/chris/dev/oss/ember/freestyle/node_modules/broccoli-funnel/index.js:320:26)
at Funnel.build (/Users/chris/dev/oss/ember/freestyle/node_modules/broccoli-funnel/index.js:258:10)
at resolve (/Users/chris/dev/olo/web-client/node_modules/broccoli/lib/wrappers/transform-node.js:29:35)
at new Promise ()
at TransformNodeWrapper.build (/Users/chris/dev/olo/web-client/node_modules/broccoli/lib/wrappers/transform-node.js:21:12)
at Promise.resolve.then.then.then (/Users/chris/dev/olo/web-client/node_modules/broccoli/lib/builder.js:111:28)
at
at process._tickDomainCallback (internal/process/next_tick.js:228:7)
=================================================================================
```
Creating a Funnel with an inputNode pointing to a directory that doesn't exist on the file system, and with the
include
orexclude
options are set, causesprocessFilters
to run whether or not theinputPath
derived from that inputNode exists on the system:https://github.com/broccolijs/broccoli-funnel/blob/bfea8d4c79e624b02a248efdfa345e5055fbc0ea/index.js#L258-L260
This in turn always invokes
walkSync.entries
with the specifiedinputPath
:https://github.com/broccolijs/broccoli-funnel/blob/bfea8d4c79e624b02a248efdfa345e5055fbc0ea/index.js#L320-L324
The result is an error like
broccoliBuilderErrorStack: Error: ENOENT: no such file or directory, scandir '<bad path>'
.full stack trace
``` ================================================================================= ENV Summary: TIME: Tue Jan 22 2019 13:04:24 GMT-0700 (MST) TITLE: ember ARGV: - /Users/chris/.nodenv/versions/8.11.4/bin/node - /Users/chris/.nodenv/versions/8.11.4/bin/ember - s EXEC_PATH: /Users/chris/.nodenv/versions/8.11.4/bin/node TMPDIR: /var/folders/l2/3r6d4lps0w7gnxf95w0kgfxw0000gn/T SHELL: /usr/local/bin/fish PATH: - /Users/chris/.nodenv/versions/8.11.4/bin - /usr/local/Cellar/nodenv/1.2.0/libexec - /Users/chris/.nodenv/shims - /Users/chris/bin - /Users/chris/.cargo/bin - /usr/local/miniconda3/bin - /usr/local/bin - /usr/bin - /bin - /usr/sbin - /sbin - /usr/local/share/dotnet - ~/.dotnet/tools - /usr/local/MacGPG2/bin PLATFORM: darwin x64 FREEMEM: 131371008 TOTALMEM: 17179869184 UPTIME: 597434 LOADAVG: 6.083984375,3.72802734375,2.65869140625 CPUS: - Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800 - Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800 - Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800 - Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800 - Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800 - Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800 - Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800 - Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz - 2800 ENDIANNESS: LE VERSIONS: - ares: 1.10.1-DEV - cldr: 32.0 - http_parser: 2.8.0 - icu: 60.1 - modules: 57 - napi: 3 - nghttp2: 1.32.0 - node: 8.11.4 - openssl: 1.0.2p - tz: 2017c - unicode: 10.0 - uv: 1.19.1 - v8: 6.2.414.54 - zlib: 1.2.11 ERROR Summary: - broccoliBuilderErrorStack: Error: ENOENT: no such file or directory, scandir '/Users/chris/dev/oss/ember/freestyle/addon/styles/app/styles/' at Object.fs.readdirSync (fs.js:904:18) at _walkSync (/Users/chris/dev/oss/ember/freestyle/node_modules/walk-sync/index.js:74:18) at Function.entries (/Users/chris/dev/oss/ember/freestyle/node_modules/walk-sync/index.js:50:10) at Funnel.processFilters (/Users/chris/dev/oss/ember/freestyle/node_modules/broccoli-funnel/index.js:320:26) at Funnel.build (/Users/chris/dev/oss/ember/freestyle/node_modules/broccoli-funnel/index.js:258:10) at resolve (/Users/chris/dev/olo/web-client/node_modules/broccoli/lib/wrappers/transform-node.js:29:35) at new Promise (I'll get a PR opened first thing tomorrow!