3 Commits

Author SHA1 Message Date
Dan Poltawski
1aa454eda4 MDL-49817 grunt: handle multiple watched files changed at once
Includes multiple changes to the shifter task to simplify and
support this:
* Use grunt.file for shifter yui 'module' detection rather than our own
  70 line function
* Use grunt.util.spawn rather than our own exec for shifter
* Improve behaviour on various yui subdirectories

We have to add the 'async' depndency to npm because we are running
multiple async operations in the single task. We use async.eachSeries to
run each shifter job sequentally (else the output would be unreadable
when running async).

We also run shifter in non-recursive mode on the module directory so its
not building everything (thanks to Ryan for pointing this out!)
2016-01-28 08:30:04 +00:00
Dan Poltawski
8efbb7b1a1 MDL-49817 grunt: add watch task
This allows files to be watched and automatically build when changed.

Thanks to David Monllaó for the initial basis for this patch.
2016-01-28 08:27:31 +00:00
Dan Poltawski
f8de8c7147 MDL-52250 npm: shrinkwrap to lock down dependencies
We've tried various approaches to lock down our dependencies and they
have been flawed because dependencies in our included packages may not
be locked down and previous attempts to do that have not been correct.

With npm shrinkwrap we lock down versions so that any npm install will
always install the exact same versions for all developers - see:
https://docs.npmjs.com/cli/shrinkwrap

(This is a lot like composer.lock for those more fluent with composer)
2015-12-04 15:10:59 +00:00