1 | AssetsManager = require './assets_manager'
|
2 | Js = require './js'
|
3 | Css = require './css'
|
4 | OnTheFlyCompiler = require './otf_compiler'
|
5 | compilers = require './default_compilers'
|
6 |
|
7 | class BundleUp
|
8 | constructor: (app, assetPath, options = {bundle:false}) ->
|
9 | unless options.compilers?
|
10 | options.compilers = compilers
|
11 | else
|
12 | options.compilers.stylus = options.compilers.stylus || compilers.stylus
|
13 | options.compilers.coffee = options.compilers.coffee || compilers.coffee
|
14 | options.compilers.js = options.compilers.js || compilers.js
|
15 | options.compilers.css = options.compilers.css || compilers.css
|
16 |
|
17 | @app = app
|
18 | @js = new Js(options)
|
19 | @css = new Css(options)
|
20 |
|
21 | require(assetPath)(new AssetsManager(@css, @js))
|
22 |
|
23 | if options.bundle
|
24 | @js.toBundles()
|
25 | @css.toBundles()
|
26 | else
|
27 |
|
28 | @app.use (new OnTheFlyCompiler(@js, @css, options.compilers)).middleware
|
29 |
|
30 | @app.helpers(
|
31 | renderStyles: (namespace=@css.defaultNamespace) =>
|
32 | return @css.render(namespace)
|
33 | renderJs: (namespace=@js.defaultNamespace) =>
|
34 | return @js.render(namespace)
|
35 | )
|
36 |
|
37 | module.exports = (app, assetPath, options)->
|
38 | new BundleUp(app, assetPath, options)
|