title: npm glob pattern not matching subdirectories
body: <p>In my <code>package.json</code>, I have a scripts block that uses <code>**/*Test.js</code> to match files. When run via <code>npm</code>, they do not match sub-directories more than one level. When executed on the command line directly, they work as expected.</p>
  
  <p>Can anyone explain what is happening, and provide a workaround or solution?</p>
  
  <h3><code>package.json</code></h3>
  
  <pre><code>{
    "name": "immutable-ts",
    "scripts": {
      "test": "echo mocha dist/**/*Test.js",
    }
  }
  </code></pre>
  
  <h3>Execution</h3>
  
  <pre><code>% npm run test
  
  &gt; immutable-ts@0.0.0 test:unit .../immutable-ts
  &gt; echo mocha dist/**/*Test.js
  
  mocha dist/queue/QueueTest.js dist/stack/StackTest.js
  
  % echo mocha dist/**/*Test.js
  
  mocha dist/queue/QueueTest.js dist/stack/StackTest.js dist/tree/binary/BinaryTreeTest.js
  
  % ls dist/**/*                                                                                                                                                                                          
  
  dist/collections.js  dist/queue/QueueTest.js  dist/tree/binary/BinaryTree.js      dist/immutable.js.map        dist/stack/Stack.js.map             dist/tree/binary/BinaryTreeTest.js.map
  dist/immutable.js    dist/stack/Stack.js      dist/tree/binary/BinaryTreeTest.js  dist/queue/Queue.js.map      dist/stack/StackTest.js.map
  dist/queue/Queue.js  dist/stack/StackTest.js  dist/collections.js.map             dist/queue/QueueTest.js.map  dist/tree/binary/BinaryTree.js.map
  </code></pre>