Magnetme/web-components — pull request #6 by TiddoLangerak (2014-12-24 14:34:28+00:00)
Title: Implemented a simple standalone compilation process

Unfortunately it turned out to be pretty difficult to work with the web-components library without pre-compilation. Therefore for now I just implemented a pre-compilation step that compiles the following files (all in the `dist` folder):

- `magnet-web-components-[lang].js` - The unminified language specific js bundle
- `magnet-web-components-[lang].min.js` - The minified language specific js bundle (no source maps)
- `magnet-web-components.css` - The minified css file.

Few remarks:

- The build tool expects that each root folder in the `src` folder is a valid NodeJS package. That is, it should either contain an `index.js(on)` or have specified a different main file in a `package.json` file. (By convention we have an `index.js` in each folder)
- The bundles include `AngularJS` and `LoDash`. Since we don't compile the components anymore with the dependants (e.g. `web-frontier`), we cannot let Browserify automatically share dependencies. For simplicity I just let all base-libraries being included here, we should exclude them from the `web-frontier` build for now.
- The `less` file does not yet have source maps due to a bug in one of the gulp plugins we use. Once [this issue](https://github.com/jonathanepollack/gulp-minify-css/issues/34) is resolved I will enable source maps (it will cost 1 minute when that issue is merged, but probably several hours if I try to do it now).
- `gulp` will be run on post-install, so any project that depends on this project will have the compiled files available.
- No support for resources other than translations & less yet, we can build more support when needed.

Some additional fly-bys:
- `ngInject.js` is now generated by gulp, such that we don't need a `node_modules` folder in the source repo anymore.
- I've readded `angular` as a dependency, such that when we have a proper solution for the shimming problem (#3) the build doesn't suddenly break

@Magnetme/developers (espcially @wouterwillems10) - Ready for review!