audiocogs/aurora.js — pull request #75 by devongovett (2014-06-17 07:43:18+00:00)
Title: Switch build system to Browserify

This switches the build system from Importer to Browserify. Importer was kinda okish, but was buggy and suboptimal in terms of isolating modules, and our Node support was shabby at best because of it. Browserify fixes these problems: it's well maintained, uses a standardized module system (CommonJS, or more specifically, Node's module system), and makes Node and browsers able to use the same code easily. It will also allow us to use some of Node's features in the future, such as streams perhaps (I need to investigate this more).

This should cause no difference to the API. In browsers, a module is exported for CommonJS and AMD, and falls back to the `AV` global as before. In node, the API did change. We no longer need the special `AV.require` function to load codecs. You can now just `require` them normally:

```javascript
var AV = require('av');
require('mp3');
```

I will publish aurora and all the codecs on npm, as well as upload prebuild versions (with source maps) to Github's releases tab as we release new versions. All of this is in the new `Makefile`. At some point I'd like to separate the currently built-in decoders and demuxers into their own modules on npm and in Github too so people have more control over what is included in their build.

Hopefully this will make things easier to build and debug, and easier to understand for newcomers to the project. :smile: