title: Merits of using npm over shell program(Bash)
body: <p>I have recently started using npm (<a href="https://www.npmjs.com" rel="nofollow">https://www.npmjs.com</a>) and it's wonderful that we can use npm as build tool. But after digging much, I got question in my mind.</p>
  
  <p>As a building tool, npm is almost like shell program(sh or bash), because we just execute shell commands in npm package.json file. And even sometimes we execute shell program from it.</p>
  
  <p>EDIT: here is an example how I use it.</p>
  
  <p>package.json</p>
  
  <p>{
    "name": "myproject",
    "devDependencies": {
      "jshint": "latest",
      "minify": "latest",
      "mocha": "latest"
    },
    "scripts": {
      "lint": "jshint **.js",
      "test": "mocha test/",
      "minify":"minify *.js",
      "build":"npm run lint &amp;&amp; npm run test &amp;&amp; npm run minify"
    }
  }</p>
  
  <p>So, everything we're doing with npm bundling facility, we can achieve by writing normal shell program(sh or bash). I want to know what are special advantages of npm over nprmal shell program. What we can't do with shell script, which we can achieve with npm as build tool.</p>
  
  <p>There must be some special vision behind developing tool. Otherwise everything we can do with shell program (Makefile).</p>
  
  <p>Your answer will be appreciated. </p>
  
  <p>Thanking in advance!</p>