Make is from 1977, and is pretty rare for web developers. gulp was designed as a grunt replacement, anyone familiar with the former can learn the latter.
I love jslint, I love checking for insecure npm modules, and the other things this module provides seem good too, but having a build system doesn't preclude any of those.
Because web developers seem to be unfamiliar with software that has solved their problems decades ago in languages that aren't JavaScript.
That being said, javascript build systems just repeat the mistakes made by make, instead of learning from those mistakes.
[0] http://gittup.org/tup/build_system_rules_and_algorithms.pdf
My code is tested using mocha (albeit lightly), passes lint tests and seems to have no issues pre or post compiling, however when I run check-build I receive 28 errors and 25 warnings.
Here is a sample of check-build's output:
line 4 col 448 Line is too long.
line 4 col 22 Missing "use strict" statement.
line 4 col 80 Expected '===' and instead saw '=='.
line 4 col 99 Missing "use strict" statement.
line 4 col 109 Expected '{' and instead saw 'return'.
line 4 col 123 Missing "use strict" statement.
line 4 col 124 Missing "use strict" statement.
This seems to be directly related to using uglify – my guess is that I need to tweak the config file to fit my stack (I'm using the default example).edit - I already changed the config to match my directory structure and am running check-build on the compiled JS.
line 4 col 80 Expected '===' and instead saw '=='.
Think this one is due to coffeescript's `if var?` syntax, which compiles to a loose comparison.is a very silly reason. A build system is a system and needs to be learnt, whether it's a library in JS or a domain-specific language.
(That a JS-based build system shares syntax with JS is not relevant, since the useful denotation is JS syntax->build script, not JS syntax->JS code (unless you're debugging the build system itself). I contend that the denotation JS syntax->build script is no easier, and is perhaps more difficult, to learn than the denotation build syntax->build script, as it is, by definition, confusingly similar to the syntax for JS code!)
Really? gulp build step dependencies look almost exactly like AMD dependencies.
Edit: my wife has also asked me to ask you "will it scale?"
Are you implying that my parenthetical is invalid because the DSL has JS-like syntax? You must have missed where I said "no easier" and "perhaps more difficult". If the DSL's syntax is identical to that of the library's, then clearly the denotation of the library is no easier to understand than that of the DSL – they are identical.
Was your wife's question supposed to be funny?
They're used widely used in things with a front end.
> I infer that one must be implemented as a JS library, and one must be a DSL with JS-like syntax.
No, they're both JS libraries. See Google.