When I try to create a Range object in ace.js, an "Illegal Constructor" error is thrown

Range is a native type is most browsers that you cannot instantiate. I'm not really familiar with Ace, but I'm guessing that they use some sort of namespacing so that you will do something like new Ace.Range().

Edit: It looks like they are using CommonJS, so you can import the method and alias it however you like:

var Range = require('ace/range').Range,
    mine = new Range(0,0,10,0);

Replace require('ace/range').Range with ace.require('ace/range').Range