Node Modules at War: Why CommonJS and ES Modules Can’t Get Along
JavaScript just gives to much options. I keep having problems with libraries because ES6 allows<p><pre><code>  import x from "library";
  import {x} from "library";
  import * as x from "library";
  import {x as y} from "library";
</code></pre>
Just to compare Java uses this:<p><pre><code>  import java.lang.Double;
  import java.lang.*;
</code></pre>
No renaming, not a gazillion options during in- and export, but one statement. If you want to rename something, assign it to a variable.<p>I don't understand why ES-module authors made it that complicated, when they had the chance to introduce a proper module system.<p>Why did they not just copy Java's system and be done with it.