// Generated by CoffeeScript 1.6.2 var __hasProp = {}.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; module.exports = function(BasePlugin) { var CoffeescriptPlugin, _ref; return CoffeescriptPlugin = (function(_super) { __extends(CoffeescriptPlugin, _super); function CoffeescriptPlugin() { _ref = CoffeescriptPlugin.__super__.constructor.apply(this, arguments); return _ref; } CoffeescriptPlugin.prototype.name = 'coffeescript'; CoffeescriptPlugin.prototype.config = { compileOptions: {} }; CoffeescriptPlugin.prototype.render = function(opts) { var coffee, compileOptions, file, fileFullPath, inExtension, key, outExtension, value, _ref1, _ref2; inExtension = opts.inExtension, outExtension = opts.outExtension, file = opts.file; if ((inExtension === 'coffee' || inExtension === 'litcoffee') && (outExtension === 'js' || outExtension === null)) { coffee = require('coffee-script'); fileFullPath = file.get('fullPath'); compileOptions = { filename: fileFullPath, literate: coffee.helpers.isLiterate(fileFullPath) }; _ref1 = this.getConfig().compileOptions; for (key in _ref1) { if (!__hasProp.call(_ref1, key)) continue; value = _ref1[key]; if ((_ref2 = compileOptions[key]) == null) { compileOptions[key] = value; } } opts.content = coffee.compile(opts.content, compileOptions); } }; return CoffeescriptPlugin; })(BasePlugin); };