gulpjs / glob-watcher Goto Github PK
View Code? Open in Web Editor NEWWatch globs and execute a function upon change, with intelligent defaults for debouncing and queueing.
License: MIT License
Watch globs and execute a function upon change, with intelligent defaults for debouncing and queueing.
License: MIT License
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:
I don't know very well how glob-watcher works, could you point me the directions to fix it?
As shown in this report https://snyk.io/test/npm/glob-watcher/5.0.5
Also, chokidar & anymatch are upgraded to a newer version with fixed vulnerabilities.
https://snyk.io/test/npm/chokidar/3.0.0
https://snyk.io/test/npm/anymatch/3.1.2
It would be great if they are incorporated in glob-watcher with minor updates as it is being used by
[email protected] › [email protected] › [email protected]
Thought it would be worthwhile pointing out that chokidar won't glob symlinks while gaze did.
paulmillr/chokidar#419
paulmillr/chokidar#530
If I have the paths:
origin
symlink-to-origin -> ./origin
I can watch ./symlink-to-origin/*
but I can't watch ./symlink-*/*
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.
Before you open this issue, please complete the following tasks:
I expected the normal file watching behavior of triggering a callback when a change occurs to a watched file.
After running the gulp command, I received an error in the terminal stating 'Error: no parsers registered for: "]"'.
const gulp = require('gulp');
function change(cb) {
console.log("A change occurred ");
cb();
}
exports.default = function watch() {
gulp.watch(['./**/*.js', '!./node_modules/'], change);
};
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)
node -v
): 12.18.3npm -v
): 8.12.1gulp -v
): cli 2.3.0 local 4.0.2The 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.
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}`);
})
}));
src/abc-def/index.js
should be watched
src/abc-def/index.js
is ignored
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
This will fix CPU issues, files going missing, new stuff not being watched, etc.
Before you open this issue, please complete the following tasks:
Hi, I'm using GitHub actions in my project. I expect npm ci
to install my dependencies.
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
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.
node -v
): 14.16.0npm -v
): 6.14.11All according to https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md
I'm not 100% sure the issue is caused by this package, but seems related to #55
Hi, @phated @contra, I'd like to report a vulnerability introduced by package glob-parent:
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:
@mrp-brasil/[email protected] ➔ @mrp-brasil/[email protected] ➔ [email protected] ➔ [email protected] ➔ [email protected] ➔ [email protected]
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?
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
Before you open this issue, please complete the following tasks:
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!
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.
I need to use glob-matcher to match some globs with case insensitivy
I think it just allows a whole new set of options without bracking the current functionality
in your source code, although file is excluded by negativeMatch > positiveMatch
。
watch task still run。。
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
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)
We are using chokidar directly in gulp 4, so we should probably deprecate this library.
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.
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!
warning gulp > glob-watcher > [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
A good example of this is https://github.com/gulpjs/glob-stream/commits/master which I just completed.
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
Probably replace it with https://www.npmjs.com/package/debounce
This will be a breaking change because we are passing our options object to lodash.debounce.
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.
With the fix for gulpjs/gulp#2192, we defined our own function for ignored
but that actually needs to be combined with any user passed ignored
.
I'll take a look at this. cc @James-Quigley
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
.
Hello everyone,
For "glob-parent" of version "^3.1.0" there is a vulnerability generated: CVE-2020-28469
This vulnerability will be fixed for "glob-watcher" if the related "chokidar" will be updated to at least "^3.0.0"
Could anybody please take a look?
Thanks,
-Vladimir
This fails with a variety of abort traps. It would appear that the source of the issue in the old version of chokidar
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.
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.
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.
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+.
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.
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?
Just update chokidar.
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!
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:
upath - the module that glob-watcher depends on has the following setting specified in package.json:
"engines": {
"node": ">=4 <=9"
},
This setting prevents it from being installed when the local version of node is newer than 9. This problem has been fixed already in upath v1.0.5, so please update your package.json
Thanks.
I figured I'd just ask this here. Is there a module that behaves like the usage of lodash.assignWith
(at https://github.com/gulpjs/glob-watcher/blob/master/index.js#L24) but avoids having the empty object at the beginning (immutable) and ignores nullish values by default? @jonschlinkert @contra maybe you know of some?
[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
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.
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.
Beginning of dependency tree (link to your package.json)
[email protected] tag no longer exists, resolves to 0.5.2, which points to [email protected]
Ultimate Cause in [email protected]
You should point to [email protected] or later to resolve this dependency error when installing your package.
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.
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
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"
}
}
}
glob-watcher currently depends on [email protected]
Reference to caused issue in 6to5:
babel/babel#489
There is already [email protected] which depends on newer globule which depends on newer lodash.
With newer lodash this issue no longer happens.
So updating to newer gaze would be very appreciating.
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?
npm install glob-watcher
$ 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'
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.