diff --git a/lib/modules/browserify.coffee b/lib/modules/browserify.coffee index c8497e1..51bfe99 100644 --- a/lib/modules/browserify.coffee +++ b/lib/modules/browserify.coffee @@ -13,17 +13,31 @@ class exports.BrowserifyAsset extends Asset @require = options.require @debug = options.debug or false @compress = options.compress + @external = options.external + @transform = options.transform @compress ?= false @extensionHandlers = options.extensionHandlers or [] agent = browserify watch: false, debug: @debug for handler in @extensionHandlers agent.register(handler.ext, handler.handler) - agent.addEntry @filename - agent.require @require if @require - if @compress is true - uncompressed = agent.bundle() - @contents = uglify.minify(uncompressed, {fromString: true}).code - @emit 'created' - else - @emit 'created', contents: agent.bundle() + agent.add @filename if @filename + if @require + for r in @require + if r.file + agent.require r.file, r.options + else + agent.require r + + agent.external ext for ext in @external if @external + agent.transform t for t in @transform if @transform + + agent.transform 'coffeeify' if /.coffee$/.test @filename + + agent.bundle (error, src) => + return @emit 'error', error if error? + if @compress is true + @contents = uglify.minify(src, {fromString: true}).code + @emit 'created' + else + @emit 'created', contents: src diff --git a/package.json b/package.json index 72629eb..fd7deb3 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "author": "Brad Carleton ", "repository": "https://github.com/techpines/asset-rack", "dependencies": { - "browserify": "1.17.3", + "browserify": "~2.34.0", "snockets": "~1.3.8", "uglify-js": "~2.4.0", "async": "~0.2.9", @@ -17,6 +17,7 @@ "stylus": "~0.38.0", "underscore": "~1.5.2", "coffee-script": "~1.6.3", + "coffeeify": "~0.5.0", "markdown": "~0.5.0", "node-sassy": "~0.0.1" },