title: Conflicting use of babel/register
body: <p>I'm having what appears to be a conflict in <code>babel/register</code> between two local npm packages.</p>
  
  <p>In a package I am doing the following:</p>
  
  <pre><code>require('babel/register');
  require('index');
  </code></pre>
  
  <p>And in the index file of the same package:</p>
  
  <pre><code>require('test');
  </code></pre>
  
  <p>And in the "test" package:</p>
  
  <pre><code>require('babel/register');
  require('test/index');
  </code></pre>
  
  <p>This throws the following error:</p>
  
  <p><code>throw new Error("only one instance of babel/polyfill is allowed");</code></p>
  
  <p>But if I take the <code>babel/register</code> line out of the "test" package, I get the following error in the <code>index</code> file of the "test" package:</p>
  
  <pre><code>import fs from 'fs';
  ^^^^^^
  SyntaxError: Unexpected reserved word
  </code></pre>
  
  <p>I have tried using <code>System.import</code> to import the "test" package as well (using the polyfill specified on the BabelJS site), but in this context, I get the same error as above. How should I go about importing one package into the other and preserve the ability to use ES6 imports/exports and other ES6 features?</p>
  
  <p>EDIT: I've simplified this a little, I am still requiring the "test" into to the first package, but I am not loading an intermediary file. Instead, the "main" file of "test is set to <code>test/index.</code> Theoretically, now it is just loading a single ES6 module, which it should be able to register. I still get the above error.</p>