Files
meteor/packages/coffeescript/plugin/compile-coffeescript.js
David Glasser 8a7b1ddf35 Merge branch 'devel' into linker.
Conflicts:
	meteor
	packages/absolute-url/.gitignore
	packages/accounts-base/package.js
	packages/accounts-oauth/package.js
	packages/audit-argument-checks/.gitignore
	packages/coffeescript/.gitignore
	packages/coffeescript/package.js
	packages/localstorage-polyfill/.gitignore
	packages/oauth1/package.js
	packages/oauth2/package.js
	packages/random/random.js
	scripts/generate-dev-bundle.sh
	tools/packages.js
	tools/run.js
	tools/server/server.js
2013-05-28 15:10:48 -07:00

35 lines
892 B
JavaScript

var fs = Npm.require('fs');
var path = Npm.require('path');
var coffee = Npm.require('coffee-script');
var handler = function (compileStep) {
var source = compileStep.read().toString('utf8');
var options = {
bare: true,
filename: compileStep.inputPath,
literate: path.extname(compileStep.inputPath) === '.litcoffee'
};
try {
var output = coffee.compile(source, options);
} catch (e) {
// XXX better error handling, once the Plugin interface support it
throw new Error(
compileStep.inputPath + ':' +
(e.location ? (e.location.first_line + ': ') : ' ') +
e.message
);
}
compileStep.addJavaScript({
path: compileStep.inputPath + ".js",
sourcePath: compileStep.inputPath,
data: output,
lineForLine: false
});
};
Plugin.registerSourceHandler("coffee", handler);
Plugin.registerSourceHandler("litcoffee", handler);