title: Typescript default export
body: <p>I just started taking a look at Typescript and have an issue when playing around.<br>
  I want to write a library to manage a general tree structure and just doing some very basic tests to see how TS works.  </p>
  
  <p>Start of the simple setup with 3 files: </p>
  
  <ul>
  <li>GForest.ts </li>
  <li>GTree.ts </li>
  <li>GNode.ts </li>
  </ul>
  
  <p>Currently, GForest.ts: </p>
  
  <pre><code>import * as Immutable   from "immutable"; 
  import GTree            from "./GTree"; 
  
  export default class Forest{ 
      public static createTree(){ 
          let tree = new GTree(); 
      } 
  } 
  </code></pre>
  
  <p>GTree.ts: </p>
  
  <pre><code>export default class GTree{ 
      constructor(){ 
          console.log("Tree constructed"); 
      } 
  
      public static createNode(){ 
  
      } 
  } 
  </code></pre>
  
  <p>I created a simple test.js file to call the library (compiled TS to ES5): </p>
  
  <pre><code>var GForest = require("./build/GForest"); 
  
  console.log(GForest); 
  </code></pre>
  
  <p>When running </p>
  
  <pre><code>&gt; node test
  </code></pre>
  
  <p>The output is: </p>
  
  <p>I don't understand why the result is: </p>
  
  <pre><code>{ default: { [Function: Forest] createTree: [Function] } }
  </code></pre>
  
  <p>Why is there an object with <code>default</code> as key and how do I change this to achieve desired behaviour?  </p>
  
  <p>Because of this, I'm unable to just call: </p>
  
  <pre><code>GForest.createTree(); 
  </code></pre>
  
  <p>(I want to expose the creation of a tree through a static factory) 
  Any help? </p>