Coder Social home page Coder Social logo

glob-watcher's People

Contributors

c-vetter avatar erikkemperman avatar github-actions[bot] avatar phated avatar shama avatar sttk avatar yocontra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

glob-watcher's Issues

Gaze._watchDir errors breaking gulp watchers

I'm not sure if is the glob-watcher module who should take care of this exception:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: watch ENOENT
    at errnoException (fs.js:1019:11)
    at FSWatcher.start (fs.js:1051:11)
    at Object.fs.watch (fs.js:1076:11)
    at Gaze._watchDir (.../node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:289:30)
    at .../node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:358:10
    at iterate (.../node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/helper.js:52:5)
    at .../node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/helper.js:61:11
    at .../node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:420:5
    at iterate (.../node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/helper.js:52:5)
    at .../node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/helper.js:61:11

I'm on Ubuntu, using Nautilus, but this may happen on any OS. When I go into a dir which gulp is watching (with a glob pattern) and I make a new folder, that folder will be created at first as "Untitled folder" on Nautilus and the watcher will see it as "added".

However, as soon as I rename the folder to a proper name, the above exception is thrown on Gaze and is not handled properly, which in turn will bubble up to the Node.JS process and kill the gulp watcher.

This kind of issue is very common on Gulp actually, I have fixed myself some gulp plugins that were not properly handling exceptions and also killing the watchers, like this one:

adamayres/gulp-extend#2

I don't know very well how glob-watcher works, could you point me the directions to fix it?

Crashes when an error occurs inside the callback & no error handlers are attached

Ref gulpjs/gulp#2111 and the comments in #34

It seems that this is a bug and it isn't likely that someone would rely on the "crashing" behavior (plus, it was never spec'ed by the tests). However, someone might want to attach an error listener and do something with the errors (outside of the gulp task system), so we should keep emitting errors. We can guard against the crash behavior by looking up if there's any handlers for 'error' and only emitting if any exist.

A right bracket in a folder name causes an error when watching files

Before you open this issue, please complete the following tasks:

  • use the search bar at the top of the page to search this repository for similar issues or discussions that have already been opened.
  • if you are looking for help from the gulp team or community, open a discussion.
  • if you think there is a problem with the plugin you're using, open a discussion.
  • if you think there is a bug in our code, open this issue.

What were you expecting to happen?

I expected the normal file watching behavior of triggering a callback when a change occurs to a watched file.

What actually happened?

After running the gulp command, I received an error in the terminal stating 'Error: no parsers registered for: "]"'.

Please give us a sample of your gulpfile

const gulp = require('gulp');

function change(cb) {
    console.log("A change occurred ");
    cb();
}

exports.default = function watch() {
    gulp.watch(['./**/*.js', '!./node_modules/'], change);
};

Terminal output / screenshots

H:\projects\browser-projects\gulp-test-bug>gulp
[19:27:35] Using gulpfile H:\projects\browser-projects\gulp-test-bug\gulpfile.js
[19:27:35] Starting 'default'...
[19:27:35] 'default' errored after 31 ms
[19:27:35] Error: no parsers registered for: "]"
    at parse (H:\projects\browser-projects\gulp-test-bug\node_modules\snapdragon\lib\parser.js:473:15)
    at Parser.parse (H:\projects\browser-projects\gulp-test-bug\node_modules\snapdragon\lib\parser.js:477:24)
    at Snapdragon.parse (H:\projects\browser-projects\gulp-test-bug\node_modules\snapdragon\index.js:122:28)
    at Snapdragon.<anonymous> (H:\projects\browser-projects\gulp-test-bug\node_modules\braces\lib\braces.js:40:45)
    at Braces.parse (H:\projects\browser-projects\gulp-test-bug\node_modules\braces\lib\braces.js:66:26)
    at Braces.expand (H:\projects\browser-projects\gulp-test-bug\node_modules\braces\lib\braces.js:87:18)
    at create (H:\projects\browser-projects\gulp-test-bug\node_modules\braces\index.js:142:15)
    at memoize (H:\projects\browser-projects\gulp-test-bug\node_modules\braces\index.js:298:13)
    at Function.braces.create (H:\projects\browser-projects\gulp-test-bug\node_modules\braces\index.js:165:10)
    at Function.braces.expand (H:\projects\browser-projects\gulp-test-bug\node_modules\braces\index.js:81:17)

Please provide the following information:

  • OS & version [e.g. MacOS Catalina 10.15.4]: Windows 11 version 22H2 build 22621.674
  • node version (run node -v): 12.18.3
  • npm version (run npm -v): 8.12.1
  • gulp version (run gulp -v): cli 2.3.0 local 4.0.2

Additional information

The folder's full name was [001]. This issue is fixed after forking and updating to the latest chokidar package which gets rid of the snapdragon dependency. After reading the other open and closed issues, I understand why gulpjs team has not already updated the dependency, however it is possible for individual users to fork and update themselves if this is an issue. Thanks :)

When there is a midline, the watch result is wrong.

When there is a midline, the watch result is wrong.

Please give us a sample of your gulpfile

var gulp = require(‘gulp');

gulp.task('watch', series(() => {
  watch([
    'src/**/*',
  ], {
    ignored: [
      'src/abc/**/*',
    ]
  }, () => {
    return gulp.src('src/**/*')
      .pipe(gulp.dest('es'));
  }).on('all', (stats, file) => {
    console.log(`File [${file}] ${stats}`);
  })
}));

What were you expecting to happen?

src/abc-def/index.js should be watched

What actually happened?

src/abc-def/index.js is ignored

Additional information

The primary cause is anymatch. see micromatch/anymatch#35

We should update anymatch (the dependencies of glob-watcher) to the latest, then update glob-watcher (the dependencies of gulp) to the latest

Update to gaze 0.5

This will fix CPU issues, files going missing, new stuff not being watched, etc.

fsevents not accessible from glob-watcher:chokidar in GitHub Actions

Before you open this issue, please complete the following tasks:

  • use the search bar at the top of the page to search this repository for similar issues or discussions that have already been opened.
  • if you are looking for help from the gulp team or community, open a discussion.
  • if you think there is a problem with the plugin you're using, open a discussion.
  • if you think there is a bug in our code, open this issue.

What were you expecting to happen?

Hi, I'm using GitHub actions in my project. I expect npm ci to install my dependencies.

What actually happened?

When running npm ci in GH Actions, I get the following error:

npm ERR! fsevents not accessible from glob-watcher:chokidar

See here: https://github.com/skaut/shared-drive-mover/runs/2272345131

Please give us a sample of your gulpfile

I use gulp in the project, but the problem doesn't seem to be running it, just getting npm ci not to throw an error.

Please provide the following information:

  • OS & version [e.g. MacOS Catalina 10.15.4]: Ubuntu 20.04
  • node version (run node -v): 14.16.0
  • npm version (run npm -v): 6.14.11

All according to https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md

Additional information

I'm not 100% sure the issue is caused by this package, but seems related to #55

Potential vulnerability in package glob-watche

Hi, @phated @contra, I'd like to report a vulnerability introduced by package glob-parent:

Issue

A vulnerability is introduced in [email protected]:
Vulnerability CVE-2020-28469 is detected in package glob-parent (versions:<5.1.2): https://snyk.io/vuln/SNYK-JS-GLOBPARENT-1016905
The above vulnerable package is referenced by [email protected] via:

  1. @mrp-brasil/[email protected] ➔ @mrp-brasil/[email protected][email protected][email protected][email protected][email protected]

Solution

Since [email protected] (742,227 downloads per week) is transitively referenced by 2,759 downstream projects (e.g., workbox-cli 6.1.5 (latest version), just-task 1.4.1 (latest version), just-scripts 1.5.4 (latest version), aurelia-cli 2.0.3 (latest version), node-bandwidth 4.0.0 (latest version))

If [email protected].* removes the vulnerable package from the above version, then its fixed version can help downstream users decrease their pain.

Could you help update packages in these versions?

Fixing suggestions

In [email protected].*, you can kindly perform the following upgrade :
chokidar ^2.0.0 ➔ ^3.0.0;

Note:
[email protected](>=3.0.0) directly depends on [email protected] which has fixed the vulnerability (CVE-2020-28469)

Thanks for your contributions to the downstream users!

Best regards,
Paimon

Support passing glob options like nocase

Before you open this issue, please complete the following tasks:

  • [ x] use the search bar at the top of the page to search this repository for similar issues or discussions that have already been opened.
  • [ x] if you are looking for help from the gulp team or community, open a discussion.
  • if you think there is a problem with the plugin you're using, open a discussion.
  • if you think there is a bug in our code, open this issue.

Our thoughts on feature requests

Lots of developers rely on gulp, so we don't make big changes very often. Not every feature request will be added to gulp, but hearing about what you want is important. Don't be afraid to submit a feature request!

Describe your idea for a new feature

the glob watcher relies on anymatch which supports a lot of options. For example for me nocase is an example of option I wound like.

Explain the problem your idea is trying to solve

I need to use glob-matcher to match some globs with case insensitivy

How will it benefit gulp and its users?

I think it just allows a whole new set of options without bracking the current functionality

If this feature could exist outside of gulp (like as a plugin or a module), would you be interested in helping to create and maintain it?

Update npm package anymatch

Security issue detected in older versions of leaf node dependency"kind-of". Upgrading the dependency on npm package "anymatch" from "^2.0.0" to "^3.0.0" should resolve the issue.

Regular expression denial of service in glob-parent

Regular expression denial of service in glob-parent

high │ Regular expression denial of service in glob-parent │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ glob-parent │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=5.1.2 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ test │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ test > glob-watcher > chokidar > glob-parent │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://www.npmjs.com/advisories/1067329

Inside your dependency list you have "chokidar": "^2.0.0", which will install a version of "glob-parent": "^3.1.0", which is vulnerable.

Please conside upgrading chokidar module to the patched version (5.1.2)

GHSA-cj88-88mr-972w

Deprecate

We are using chokidar directly in gulp 4, so we should probably deprecate this library.

glob-watcher is no longer used by gulp

So, this package should be deprecated or removed since it's contributing to a dependency chain that contains other deprecated packages.

I opened another issue (#23) for this, but it was closed and muted without any attempt to actually resolve or inform the public about the issue to help reduce these contacts from continuing to come in. I reached out to @contra privately and after informing me that

We don't use the glob-watcher module at all in gulp anymore.

he said I should

... talk on github, private communications aren't helpful when people search for the same thing down the road.

I completely agree, and my response to his email was as follows:

I agree that private communications aren't helpful and am a huge advocate for communication and transparency; But I can't continue to talk on github because phated closed the issue and locked down comments. As far as I know, there is no way to get around that. I guess I could create a glob-watcher room on gitter.im, but I don't know that you use it and it's very unlikely that anyone else would come to talk about gulpjs's glob-watcher module on a channel that I own. And I shouldn't own it.

Just so you know, I installed gulp on a new machine yesterday and got the lodash deprecation warning and started investigating. It is extremely messy, but deprecation is a good thing. Apparently vinyl-fs has a glob-watcher dependency, so I guess it isn't truly gulp at fault here. However, the gulpjs org on github owns the glob-watcher dependency which still depends on gaze.... etc.

As the owner of the glob-watcher package, which other developers are using, it is their(your?) responsibility to either maintain your package or allow other people to resolve the issues you refuse to. As an open-source and largely influential package in the node/javascript community gulpjs should, at the very least, post a warning to not use glob-watcher anymore and suggest the alternatives, or it should be more open and willing to feedback and resolving issues this package presents.

I understand your want to keep issues as low as possible, but that effort is absolutely meaningless if you're not actually working towards resolving issues.

I will open a new issue on glob-watcher saying the same so that the public can see it.

What is your support policy for unsupported versions of Node?

Hello. I am wondering what your policy is, when you will drop support for older versions of Node. Currently, some issues are not being fixed because the maintainers want to maintain support for Node 0.10. Node 0.10.0 was released in March 2013. It hasn't been a supported version of Node for years. The oldest version of Node which is still currently supported is Node 12.0 . Have a look at Node's support schedule.

Now, I realise the maintainers of glob-watcher may want to support old versions of Node that aren't supported by Node themselves. However, I am interested in knowing what your support policy is. Are you going to be supporting Node 0.10 forever? When will you consider dropping support for it?

Knowing the answers to these questions will help me understand what the intended use-cases for glob-watcher are, and will help me decide whether to include glob-watcher as a dependency in my projects or not. If the current plan is to continue supporting Node 0.10, it would be helpful if that were documented in the README. Thank you!

Problem with gaze dependency on windows

There seems to be an issue with gaze 0.6.3:

node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" rebuild
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:101:14)
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:64:11
gyp ERR! stack at Object.oncomplete (fs.js:107:15)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:_tecapp\tecapp\TecApp.Client\node_modules\glob-watcher\node_modules\gaze
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the gaze package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls gaze
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install" "glob-watcher"
npm ERR! cwd C:\xxx
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\xxx\npm-debug.log
npm ERR! not ok code 0

Segfaults with gaze 0.5.x

I've been getting some segfaults with OSX, doesnt seem to happen in Ubuntu.

I think its due to this

I'll try and dig out a reproducible test case, but its intermittent.

Sounds like updating to gaze 0.6.x might solve it though.

Future: Update chokidar

Hi,

Could you please update chokidar to 3.x. It's been a couple of years and it seems that fsevents used by chokidar 2.x is broken when compiled against the newer Node APIs (v12.x). However that has to be fixed in newer chokidar and fsevents.

Consider Dropping Gaze?

Would you be open to dropping gaze for a library that uses fs.watch instead of fs.watchFile?

Gaze, uses fs.watchFile which can result in a lot of CPU utilization when there are a lot of files being watched. The major consideration is that below node v0.9.2 fs.watch doesn't work so this would break support for those earlier versions...

For some related reading, you can see how this impacts grunt-contrib-watch in this article.

On my system, grunt-contrib-watch uses 10% cpu. It'd be great if Gulp didn't. I am happy to write a PR if you guys are open to the switch.

unclear error: must provide pattern

I had an trailing empty array that caused an "Error: must provide pattern". Fortunately my paths list was short enough to figure it out, though I wish a better gulpfile location was provided.

'Won't fix' is fine; posting here more for bug searches, & hope that future error codes would be more at least more location specific.

Ignore queued events

Is it possible to configure glob-watcher to ignore all queued events?

The idea is to run a process when a change is detected, but ignore events that happen while the process is still running. Then, when the process is done, begin accepting events again. Is that possible with glob-watcher?

If that's not in scope, just let me know so I know to look elsewhere.

Upgrade chokidar for real. v2 will break on node 14

Hey @phated and folks,

We've released Chokidar 3 one year ago. See my post on that: Chokidar 3: How to save 32TB of traffic every week with one NPM package

The changes are pretty big. First of all, the package is 16 times smaller and uses 15 dependencies instead of 201. We've switched to n-api, which means users won't download fsevents binaries anymore. n-api is included in every nodejs installation, and it's tiny. Directory walking has been improved massively with stream implementation of readdirp. Massive RAM & CPU improvements etc.

I saw previous issues (#41 #42 #47 #48 #49 etc), but unfortunately they're either closed or closed for comments. I think it's time to drop old versions from the build matrix. Not doing so will break gulpjs/glob-watcher fsevents watching on nodejs 14+.

Upgrading chokidar to version 3

I noticed that the project currently depends on chokidar version 2, which has been deprecated since 2019 and no longer receives security updates.

I suggest considering an upgrade to chokidar version 3, which brings bug fixes and has some performance improvements.

Version 0.0.5 not working with Gulp 3.5.2

I discovered that Gulp tasks did not finish any more after re-installing dependencies (just hanging after logging the time it took to complete). When replacing the apparently updated glob-watcher 0.0.5 with the original 0.0.4, everything worked fine again.

Updating to Gulp 3.6 fixed the issue as well. So I'm not sure whether further debugging makes any sense here. However, I'm curious on how to prevent issues like this one in the future. While I use specific versions of dependencies in my package.json, I haven't found a way to fix the versions of dependencies of those dependencies. Within a CI environment, this is really unfortunate. Would you recommend to use https://www.npmjs.org/doc/cli/npm-shrinkwrap.html?

upgrade to newer gaze version

Hi,

Thanks a lot for the module. I think gulp uses this module for watching files and it works great!

Gaze is now at v0.6.4 and supports native OS events that takes much less resources. I'm not sure if it's fully compatible, but it'd be nice if you can update to use the later version.

Thanks!

CVE-2019-10747 - update anymatch to latest version to resolve set-value vulnerability

The latest version of gulp (4.0.2) depends on this package.
This package is still using anymatch^2.0.0 and needs to be updated 3.0.0.

I have verified that the packages down the chain will resolve itself and consume set-value v3.0.1 that has been patched for the CVE.

There are 2 unit tests failing when I do this:

(node:22456) UnhandledPromiseRejectionWarning: TypeError: pattern is not a function at matchPatterns (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:62:40) at anymatch (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:98:10) at shouldBeIgnored (C:\Users\fungalb\glob-watcher\index.js:75:25) at matchPatterns (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:62:18) at FSWatcher._userIgnored (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:94:14) at FSWatcher._isIgnored (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:757:15) at NodeFsHandler._addToNodeFs (C:\Users\fungalb\glob-watcher\node_modules\chokidar\lib\nodefs-handler.js:570:16) at Promise.all.paths.map (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:435:47) at Array.map (<anonymous>) at FSWatcher.add (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:434:13) at Object.watch (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:929:11) at watch (C:\Users\fungalb\glob-watcher\index.js:94:26) at Context.<anonymous> (C:\Users\fungalb\glob-watcher\test\index.js:286:15) at callFnAsync (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:415:21) at Test.Runnable.run (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:357:7) at Runner.runTest (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:535:10) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:653:12 at next (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:447:14) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:457:7 at next (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:362:14) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:420:7 at done (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:334:5) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:435:7 at Context.<anonymous> (C:\Users\fungalb\glob-watcher\test\index.js:39:5) at callFnAsync (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:415:21) at Hook.Runnable.run (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:357:7) at next (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:384:10) at Immediate.<anonymous> (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:425:5) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) at process.topLevelDomainCallback (domain.js:120:23) (node:22456) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2) (node:22456) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. √ can ignore a glob after it has been added (1502ms) (node:22456) UnhandledPromiseRejectionWarning: TypeError: pattern is not a function at matchPatterns (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:62:40) at anymatch (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:98:10) at shouldBeIgnored (C:\Users\fungalb\glob-watcher\index.js:76:25) at matchPatterns (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:62:18) at FSWatcher._userIgnored (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:94:14) at FSWatcher._isIgnored (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:757:15) at NodeFsHandler._addToNodeFs (C:\Users\fungalb\glob-watcher\node_modules\chokidar\lib\nodefs-handler.js:570:16) at Promise.all.paths.map (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:435:47) at Array.map (<anonymous>) at FSWatcher.add (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:434:13) at Object.watch (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:929:11) at watch (C:\Users\fungalb\glob-watcher\index.js:94:26) at Context.<anonymous> (C:\Users\fungalb\glob-watcher\test\index.js:301:15) at callFnAsync (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:415:21) at Test.Runnable.run (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:357:7) at Runner.runTest (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:535:10) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:653:12 at next (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:447:14) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:457:7 at next (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:362:14) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:420:7 at done (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:334:5) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:435:7 at Context.<anonymous> (C:\Users\fungalb\glob-watcher\test\index.js:39:5) at callFnAsync (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:415:21) at Hook.Runnable.run (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:357:7) at next (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:384:10) at Immediate.<anonymous> (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:425:5) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) at process.topLevelDomainCallback (domain.js:120:23) (node:22456) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 5) 1) can re-add a glob after it has been negated √ does not mutate the globs array (node:22456) UnhandledPromiseRejectionWarning: TypeError: pattern is not a function at matchPatterns (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:62:40) at anymatch (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:98:10) at shouldBeIgnored (C:\Users\fungalb\glob-watcher\index.js:76:25) at matchPatterns (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:62:18) at FSWatcher._userIgnored (C:\Users\fungalb\glob-watcher\node_modules\anymatch\index.js:94:14) at FSWatcher._isIgnored (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:757:15) at NodeFsHandler._addToNodeFs (C:\Users\fungalb\glob-watcher\node_modules\chokidar\lib\nodefs-handler.js:570:16) at Promise.all.paths.map (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:435:47) at Array.map (<anonymous>) at FSWatcher.add (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:434:13) at Object.watch (C:\Users\fungalb\glob-watcher\node_modules\chokidar\index.js:929:11) at watch (C:\Users\fungalb\glob-watcher\index.js:94:26) at Context.<anonymous> (C:\Users\fungalb\glob-watcher\test\index.js:314:15) at callFnAsync (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:415:21) at Test.Runnable.run (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:357:7) at Runner.runTest (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:535:10) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:653:12 at next (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:447:14) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:457:7 at next (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:362:14) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:420:7 at done (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:334:5) at C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:435:7 at Context.<anonymous> (C:\Users\fungalb\glob-watcher\test\index.js:39:5) at callFnAsync (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:415:21) at Hook.Runnable.run (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runnable.js:357:7) at next (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:384:10) at Immediate.<anonymous> (C:\Users\fungalb\glob-watcher\node_modules\mocha\lib\runner.js:425:5) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) at process.topLevelDomainCallback (domain.js:120:23) (node:22456) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 8)
Steps to repro:

  1. clone, npm install, npm run test -> everything passes
  2. Update anymatch in package.json to ^3.0.0
  3. npm install
  4. npm run test
  5. tests fail

Error on gulp.watch

[00:42:29] TypeError: boolean is not a function
    at Function.isPlainObject (/home/kaylee/projects/manic/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/lodash/dist/lodash.js:1652:64)
    at Object.globule.find (/home/kaylee/projects/manic/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/lib/globule.js:64:19)
    at Gaze.add (/home/kaylee/projects/manic/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:174:19)
    at new Gaze (/home/kaylee/projects/manic/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:74:10)
    at gaze (/home/kaylee/projects/manic/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:86:10)
    at Object.module.exports [as watch] (/home/kaylee/projects/manic/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/index.js:12:17)
    at Gulp.watch (/home/kaylee/projects/manic/node_modules/gulp/index.js:35:16)
    at Gulp.<anonymous> (/home/kaylee/projects/manic/gulpfile.babel.js:85:10)
    at module.exports (/home/kaylee/projects/manic/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:34:7)
    at Gulp.Orchestrator._runTask (/home/kaylee/projects/manic/node_modules/gulp/node_modules/orchestrator/index.js:273:3)

Gulp version is v3.8.11

Related issue: babel/babel#489

remove() not working properly

If you look in the gaze source code, you need to pass an argument for the path to remove to the watcher.remove() function. Right now you aren't passing any arguments so it does nothing.

Add type definitions

I'd like to use this library as a dependency of a Typescript project but there are no type definitions currently (even on DT) so it's harder to integrate. It would be nice add types here. (See my plugin-error issue for other reasons it may be a good idea).

Having the types here would also allow the Gulp type definitions to pull its watch options from here instead of redefining them downstream.

I'll send a PR myself to fix this issue (probably after gulpjs/async-done#47 is merged). Given that the library is very short it may also be possible to just convert it to TS and generate the types.

Licensing issue with included library

Installing gaze installs a bunch of other packages, at least one of which has no license.

Here's an example:

gaze 0.5.1 requires globule ~0.1.0
globule ~0.1.0 requires glob ~3.1.21
glob 3.1.21 requires inherits 1

inherits 1.0.0 has just a README.md with no license specified, neither in the inherits.js file, nor in the README.md, nor in the package.json file. The repo itself on github.com has no tag for 1.0.0 either.

This is a problem with an organization that's perhaps concerned about making sure everything is licensed properly.

In tracing this back, it seems that if glob-watcher were to require gaze 0.6.4, it may fix the problem. At least inherits 2 would be required.

Upgrade to the latest version of `anymatch`

Please upgrade anymatch to the latest version of the package. The current version uses a few deprecated packages.

warning gulp > glob-watcher > anymatch > micromatch > snapdragon > [email protected]: See https://github.com/lydell/source-map-resolve#deprecated
warning gulp > glob-watcher > anymatch > micromatch > snapdragon > source-map-resolve > [email protected]: https://github.com/lydell/resolve-url#deprecated
warning gulp > glob-watcher > anymatch > micromatch > snapdragon > source-map-resolve > [email protected]: See https://github.com/lydell/source-map-url#deprecated
warning gulp > glob-watcher > anymatch > micromatch > snapdragon > source-map-resolve > [email protected]: Please see https://github.com/lydell/urix#deprecated

The package micromatch was replaced with picomatch
micromatch/anymatch@5ece3fd

unclear error: must provide pattern

caused an "Error: must provide pattern".

Could you please help me in solving this issue

{
"version": "0.01",
"common": {
"css": [
"ui/assets/icons/style.css",
"ui/css/core.css"
],
"js": [
"ui/plugins/jquery-2.2.3.js",
"ui/utils/browser-check.js",
"ui/plugins/slick.js",
"ui/plugins/bootstrap.js",
"ui/jquery/commons.js",
"ui/molecules/main-navigation/main-navigation.js",
"ui/utils/google-analytics.js",
"ui/utils/touch-move.js",
"ui/utils/utils.js"
]
},
"pages": {
"concept-detail": {
"css": [
"ui/css/pages/concept-detail/concept-detail.css"
],
"js": [
"ui/molecules/accordion/accordion.js",
"ui/pages/concept-detail/concept-detail.js"
],
"contentCategoryType": "product"
},
"article-detail": {
"css": [
"ui/css/pages/article-detail/article-detail.css"
],
"js": [
"ui/pages/article-detail/article-detail.js",
"ui/vendor-js/add-to-any.js"
],
"contentCategoryType": "community"
},
"article-overview": {
"css": [
"ui/css/pages/article-overview/article-overview.css"
],
"js": [
"ui/molecules/related-article/related-article.js"
],
"contentCategoryType": "community"
},
"techproduct-info": {
"css": [
"ui/css/pages/techproduct-info/techproduct-info.css"
],
"js": [
"ui/molecules/product-block/product-block.js"
],
"contentCategoryType": "product"
},
"concept-overview": {
"css": [
"ui/css/pages/concept-overview/concept-overview.css"
],
"js": [
"ui/molecules/slider/slider.js"
],
"contentCategoryType": "product"
},
"privacy-policy": {
"css": [
"ui/css/pages/privacy-policy/privacy-policy.css"
],
"js": [ ],
"contentCategoryType": "other"
},
"partners-details": {
"css": [
"ui/css/pages/partners-details/partners-details.css"
],
"js": [ ],
"contentCategoryType": "other"
},
"contact-us": {
"css": [
"ui/css/pages/contact-us/contact-us.css"
],
"js": [
"ui/molecules/accordion/accordion.js",
"ui/utils/form-validation.js",
"ui/molecules/contact-message/contact-message.js"
],
"contentCategoryType": "help center"
},
"home": {
"css": [
"ui/css/pages/home/home.css"
],
"js": [
"ui/molecules/testimonial/testimonial.js",
"ui/molecules/discover/discover.js"
],
"contentCategoryType": "homepage"
},
"faq": {
"css": [
"ui/css/pages/faq/faq.css"
],
"js": [
"ui/pages/faq/faq.js",
"ui/molecules/accordion/accordion.js"
],
"contentCategoryType": "help center"
},
"concrete-overview": {
"css": [
"ui/css/pages/concrete-overview/concrete-overview.css"
],
"js": [ ],
"contentCategoryType": "product"
}
}
}

Updating chokidar npm package

Hello,

I just wanted to poke this issue and possibly get an explanation as to why chokidar has not been upgraded since it currently results in a
high npm security vulnerability?

image

Thanks for you help!

Warnings during installation on GNU/Linux

Issue details

When using glob-watcher on GNU/Linux I got several warnings during the installation with npm. The warnings concern only the packages fsevents. According to npm this optional dependency comes from the package chokidar.
Is it possible to only define chokidar as a dependency when using macOS?

Steps to reproduce/test case

  • Execute npm install glob-watcher

Versions running

  • glob-watcher [5.0.3]
  • Node [12.16.1]
  • Npm [6.14.3]

Affected platforms

  • linux
  • windows
  • OS X
  • freebsd
  • solaris
$ npm ls fsevents    
[email protected] /home/dom/test/testpackage
└─┬ [email protected]
  └─┬ [email protected]
    └── UNMET OPTIONAL DEPENDENCY [email protected]

These warnings appear during the installation:

$ npm install glob-watcher
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/abbrev):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/abbrev' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.abbrev.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/ansi-regex):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/ansi-regex' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.ansi-regex.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/aproba):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/aproba' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.aproba.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/balanced-match):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/balanced-match' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.balanced-match.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/chownr):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/chownr' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.chownr.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/code-point-at):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/code-point-at' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.code-point-at.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/concat-map):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/concat-map' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.concat-map.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/console-control-strings):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/console-control-strings' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.console-control-strings.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/core-util-is):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/core-util-is' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.core-util-is.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/deep-extend):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/deep-extend' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.deep-extend.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/delegates):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/delegates' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.delegates.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/detect-libc):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/detect-libc' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.detect-libc.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/fs.realpath):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/fs.realpath' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.fs.realpath.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/has-unicode):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/has-unicode' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.has-unicode.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/inherits):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/inherits' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.inherits.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/ini):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/ini' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.ini.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/isarray):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/isarray' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.isarray.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/minimist):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/minimist' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.minimist.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/ms):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/ms' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.ms.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/npm-normalize-package-bin):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/npm-normalize-package-bin' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.npm-normalize-package-bin.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/number-is-nan):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/number-is-nan' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.number-is-nan.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/object-assign):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/object-assign' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.object-assign.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/os-homedir):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/os-homedir' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.os-homedir.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/os-tmpdir):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/os-tmpdir' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.os-tmpdir.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/path-is-absolute):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/path-is-absolute' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.path-is-absolute.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/process-nextick-args):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/process-nextick-args' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.process-nextick-args.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/safe-buffer):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/safe-buffer' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.safe-buffer.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/safer-buffer):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/safer-buffer' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.safer-buffer.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/sax):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/sax' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.sax.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/semver):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/semver' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.semver.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/set-blocking):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/set-blocking' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.set-blocking.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/signal-exit):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/signal-exit' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.signal-exit.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/strip-json-comments):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/strip-json-comments' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.strip-json-comments.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/util-deprecate):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/util-deprecate' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.util-deprecate.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/wrappy):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/wrappy' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.wrappy.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/yallist):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/home/dom/test/testpackage/node_modules/fsevents/node_modules/yallist' -> '/home/dom/test/testpackage/node_modules/fsevents/node_modules/.yallist.DELETE'

Negative globs do not work when a `cwd` option is passed

When a cwd option is provided, it appears as though negative globs do not properly get applied.

For example, given a watcher:

watch([ 'bar/**', '!bar/*.css' ], { cwd : 'foo' }, someFunction);

A change to foo/bar/styles.css still triggers someFunction to be invoked.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.