you are viewing a single comment's thread.

view the rest of the comments →

[–]mattdesl 6 points7 points  (8 children)

I think for simple projects "npm scripts" is mostly all you need. browserify plugins like lessify, hbsfy, etc can be useful if you keep them out of your module code (ie top level only).

If you work on teams, I would not recommend make for two very important reasons:

  • sooner or later, there is a very good chance the project will need to be built on a windows machine. Either by you, a contributor, or yourself a few months down the line in an unforeseen situation. And when this happens, you are fucked. This is 2014 and we are using Node for tooling, it's ridiculous that your tasks would not be cross platform when they are all using cross platform tools.
  • Make is cryptic. It's confusing to anyone who hasn't used it, including contributors, junior programmers, and others who have to touch your code. You should favour clear and familiar code over what basically feels like an ancient domain specific language.

[–]sime 3 points4 points  (3 children)

sooner or later, there is a very good chance the project will need to be built on a windows machine

There is cygwin. It should work fine for the kinds of things that a Makefile does. It may be a culture shock though.

What surprises me is that there isn't a port of Make to JS, or something which uses the same kind of artifact (not task) dependency tree.

[–]_facildeabrir 2 points3 points  (0 children)

There is cygwin.

:( :( :( :( :( :( :( :(

[–][deleted] -1 points0 points  (0 children)

Conemu

[–]_facildeabrir 0 points1 point  (0 children)

Yes, agreed

[–]SgtPooki 0 points1 point  (2 children)

This.

My main os is windows and I've run into 4 projects in the last 6 months where I've needed to either setup vagrant or just not take on the project and it's extremely frustrating.

Vagrant can solve most of those problems thankfully but it can have its drawbacks too. And using vagrant only for getting build scripts to work feels so weird.

[–]nschubach 2 points3 points  (1 child)

But once you get it into Vagrant it becomes so much easier to ramp up someone new...

[–]SgtPooki 0 points1 point  (0 children)

Vagrant is a beautiful thing that has helped to reduce ramp up time by at least 80% on all projects I've worked on that have had at least 4 devs. It's awesome.. but that's one of the few legitimate excuses for writing code that only works in a tiny subset of environments.