title: Why is TS not generating a pure javascript code but it generates a node.js function?
body: <p>I'm currently learning javascript development - typescript, node.js and express. There is something that I don't understand:</p>
  
  <p>Typescript is a javascript superset and it should generate a classic javascript code from the typescript syntax, right? There is this code for importing modules in my node.js project in <code>app.ts</code> file:</p>
  
  <pre><code>import * as express from 'express';
  </code></pre>
  
  <p>which generates an <code>app.js</code> file with this code:</p>
  
  <pre><code>Object.defineProperty(exports, "__esModule", { value: true });
  // Include dependencies
  var express = require("express");
  </code></pre>
  
  <p>AFAIK the <code>require()</code> function is not a 'classic' javascript function, but it is a Node.js function for importing modules. This is what I dont understand:</p>
  
  <p><strong>Why is TS not generating a pure javascript code but it generates a node.js function?</strong> </p>
  
  <p>What If I will be using typescript for a non-node.js project? Will the typescript generate a <code>require()</code> function that does not exists? What am I missing?</p>