1
0
Fork 0
mirror of https://github.com/jashkenas/coffeescript.git synced 2022-11-09 12:23:24 -05:00

made the path handling a little more robust

This commit is contained in:
Jeremy Ashkenas 2010-01-29 23:41:18 -05:00
parent f5a37035cf
commit b0ecb39e9f
4 changed files with 20 additions and 6 deletions

View file

@ -1,11 +1,15 @@
(function(){
var sys;
var compiler, path, sys;
// Executes the `coffee` Ruby program to convert from CoffeeScript to JavaScript.
sys = require('sys');
path = require('path');
// The path to the CoffeeScript executable.
compiler = path.normalize(path.dirname(__filename) + '/../../bin/coffee');
// Compile a string over stdin, with global variables, for the REPL.
exports.compile = function compile(code, callback) {
var coffee, js;
js = '';
coffee = process.createChildProcess('coffee', ['--eval', '--no-wrap', '--globals']);
coffee = process.createChildProcess(compiler, ['--eval', '--no-wrap', '--globals']);
coffee.addListener('output', function(results) {
if ((typeof results !== "undefined" && results !== null)) {
return js += results;
@ -17,10 +21,11 @@
coffee.write(code);
return coffee.close();
};
// Compile a list of CoffeeScript files on disk.
exports.compile_files = function compile_files(paths, callback) {
var coffee, js;
js = '';
coffee = process.createChildProcess('coffee', ['--print'].concat(paths));
coffee = process.createChildProcess(compiler, ['--print'].concat(paths));
coffee.addListener('output', function(results) {
if ((typeof results !== "undefined" && results !== null)) {
return js += results;

View file

@ -1,5 +1,6 @@
(function(){
var coffee, paths;
// Quickie script to compile and run all the files given as arguments.
coffee = require('./coffee-script');
process.mixin(require('sys'));
paths = process.ARGV;

View file

@ -1,10 +1,15 @@
# Executes the `coffee` Ruby program to convert from CoffeeScript to JavaScript.
sys: require('sys')
path: require('path')
# The path to the CoffeeScript executable.
compiler: path.normalize(path.dirname(__filename) + '/../../bin/coffee')
# Compile a string over stdin, with global variables, for the REPL.
exports.compile: (code, callback) ->
js: ''
coffee: process.createChildProcess 'coffee', ['--eval', '--no-wrap', '--globals']
coffee: process.createChildProcess compiler, ['--eval', '--no-wrap', '--globals']
coffee.addListener 'output', (results) ->
js += results if results?
coffee.addListener 'exit', ->
@ -12,9 +17,10 @@ exports.compile: (code, callback) ->
coffee.write(code)
coffee.close()
# Compile a list of CoffeeScript files on disk.
exports.compile_files: (paths, callback) ->
js: ''
coffee: process.createChildProcess 'coffee', ['--print'].concat(paths)
coffee: process.createChildProcess compiler, ['--print'].concat(paths)
coffee.addListener 'output', (results) ->
js += results if results?
coffee.addListener 'exit', ->

View file

@ -1,3 +1,5 @@
# Quickie script to compile and run all the files given as arguments.
coffee: require './coffee-script'
process.mixin require 'sys'