Node-sass: Migrate to a better file watcher

Created on 22 Jan 2015  ยท  15Comments  ยท  Source: sass/node-sass

Hey. Your file watcher (gaze) has 53 opened issues. Many bugs on various platforms.

Can we make a pull request that migrates the watching to chokidar? Chokidar is ultra-stable and is used in many popular projects.

Discussion - Proposal Module - CLI

Most helpful comment

Can I open a PR to switch to Chokidar?

The use of Gaze makes my CPU burn at 150-300% when using with docker for mac, with Chokidar my CPU runs at a normal 6-10%.

I will start working on this as it really prevents me from using node-sass, or docker-for-mac.

What do you need to see in my PR to get it merged?

Edit: I see a PR already open to do this https://github.com/sass/node-sass/pull/844
What is the holdup?

All 15 comments

+1, I basically chose gaze because it's widely used in gulp and seems to work there. But I'm all for a change.

Gulp is switching to chokidar ;) https://github.com/wearefractal/glob-watcher/pull/13

:+1: Lets make it a post-v2 (stable) change.

BTW, nice name for a watcher library: Chokidar (watchman in my lang) :p

:+1:

FWIW, I've worked a lot with gaze, chokidar and sane. sane is the newest and least well known, but it is by far the most reliable in my experience. And I think it has the most sensible API. Worth a look.

@callumlocke, thanks for the suggestion. Will take a look.

:+1: would really like this!

:+1: Gaze is using ancient deprecated dependencies.

Some help is needed to fix the watcher tests, we had to disable them because the way the CLI was called didn't really work.

+1 to swtich to chokidar, or at least update the gaze dependency, as the current version used by node-sass contains very outdated deps:

โ”œโ”€โ”ฌ [email protected]
โ”‚ โ””โ”€โ”ฌ [email protected]
โ”‚   โ”œโ”€โ”ฌ [email protected]
โ”‚   โ”‚ โ””โ”€โ”ฌ [email protected]
โ”‚   โ”‚   โ””โ”€โ”€ [email protected] 

Why does node-sass even include a --watch option? It just seems out of scope. In fact, other tools [including but not limited to] webpack need to set up their own file watchers to properly trigger auto reloading and hot swapping. Including this functionality in node-sass increases the surface area for bugs, , expands the required API and documentation, and inflates the dependency tree. And now the dependencies that gaze is using are printing multiple warnings because they're so old.

Why not improve the focus of this package and remove the --watch option entirely?

@cody-greene I think there is some value in having it, but agree it should be separated out from this module, eg sass vs sass-cli. Lots of other modules have made this change recently and it works well imo

@callumlocke Yes there is value in the feature. I can understand a few people are definitely using it. But I meant to suggest that the value provided is vastly overshadowed by these other issues.

Can I install a "chokidar version" of node-sass now ๐Ÿ˜?!

node-sass can't watch files for a long time, and do not know why, now I'm using nodemon around node-sass... LOL

Can I open a PR to switch to Chokidar?

The use of Gaze makes my CPU burn at 150-300% when using with docker for mac, with Chokidar my CPU runs at a normal 6-10%.

I will start working on this as it really prevents me from using node-sass, or docker-for-mac.

What do you need to see in my PR to get it merged?

Edit: I see a PR already open to do this https://github.com/sass/node-sass/pull/844
What is the holdup?

Was this page helpful?
0 / 5 - 0 ratings