diff --git a/lib/coffee-script/coffee-script.js b/lib/coffee-script/coffee-script.js index 383a1850..4cdecd8c 100644 --- a/lib/coffee-script/coffee-script.js +++ b/lib/coffee-script/coffee-script.js @@ -103,14 +103,15 @@ }); exports.run = function(code, options) { - var answer, mainModule, _ref; + var answer, dir, mainModule, _ref; if (options == null) { options = {}; } mainModule = require.main; mainModule.filename = process.argv[1] = options.filename ? fs.realpathSync(options.filename) : '.'; mainModule.moduleCache && (mainModule.moduleCache = {}); - mainModule.paths = require('module')._nodeModulePaths(path.dirname(fs.realpathSync(options.filename || '.'))); + dir = options.fileName ? path.dirname(fs.realpathSync(options.filename)) : fs.realpathSync('.'); + mainModule.paths = require('module')._nodeModulePaths(dir); if (!helpers.isCoffee(mainModule.filename) || require.extensions) { answer = compile(code, options); code = (_ref = answer.js) != null ? _ref : answer; diff --git a/src/coffee-script.coffee b/src/coffee-script.coffee index e6ceecd7..ec8cb91c 100644 --- a/src/coffee-script.coffee +++ b/src/coffee-script.coffee @@ -107,7 +107,11 @@ exports.run = (code, options = {}) -> mainModule.moduleCache and= {} # Assign paths for node_modules loading - mainModule.paths = require('module')._nodeModulePaths path.dirname fs.realpathSync options.filename or '.' + dir = if options.fileName + path.dirname fs.realpathSync options.filename + else + fs.realpathSync '.' + mainModule.paths = require('module')._nodeModulePaths dir # Compile. if not helpers.isCoffee(mainModule.filename) or require.extensions