A drop in replacement for Broccoli's Watcher that uses the sane module for file watching.
This package has been merged into Broccoli core and is no longer needed for Broccoli 1.0.0 and above.
Any info on how to use this with broccoli-cli?
(current broccoli-cli idles at ~37%)
npm WARN engine makeerror@1.0.10: wanted: {"node":"0.6.x"} (current: {"node":"1.6.2","npm":"2.7.3"})
npm WARN engine tmpl@1.0.3: wanted: {"node":"0.6.x"} (current: {"node":"1.6.2","npm":"2.7.3"})
I've submitted PR's to the offending dependencies
Once they update, someone (me if I notice it) should update this module accordingly.
I can't find any docs on broccoli-sane-watcher, is it meant to integrate it in the Brocfile.js
or the cli
?
We have broccoli running with some people on one dev-server, and it consumes almost all the CPU.
Comparison of master against my forked branch: master...timmfin:move-to-broccoli-v1
This was a very quick "brute force" pass. but it got me going locally. Maybe this helps (but if not no biggie... just figured I'd FYI you on my changes).
This enables:
DEBUG=broccoli-sane-watcher*
When a change is detected, the watcher builds and then
change
event with the results hash
that includes the filePath
that changed and triggered the buildBecause the build is debounced, it's possible for multiple files to change before the build starts, but only the first one will get reported in the results hash filePath
property.
This can be demonstrated by changing two files very quickly, e.g.:
touch path/to/a.js && touch path/to/b.js
-> broccoli-sane-watcher emits change with {filePath: path/to/a.js}
touch path/to/b.js && touch path/to/a.js
-> broccoli-sane-watcher emits change with {filePath: path/to/b.js}
I'm not sure how "public" the filePath
property on the hash is considered to be, but the livereload server in ember-cli does use that property to determine whether it should trigger a livereload notification in the shouldTriggerReload
method.
If it seems like a good idea to gather all the filepaths that changed before the build started and report them in a filePaths
property on the results hash
I would be happy to make a PR for that.
cc @krisselden
I am unsure if it is this watcher, but since introducing it we seem to kill the build when a filter fails. For example if es6-validate-import fails to parse the JS. The build breaks, and we are unable to recover without restarting ember-cli
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.