UNPKG

1.24 kBtext/coffeescriptView Raw
1AssetsManager = require './assets_manager'
2Js = require './js'
3Css = require './css'
4OnTheFlyCompiler = require './otf_compiler'
5compilers = require './default_compilers'
6
7class 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 # Compile files on-the-fly when not bundled
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
37module.exports = (app, assetPath, options)->
38 new BundleUp(app, assetPath, options)