From a5513c45d074478765ac4097880130add0d2984f Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Sun, 20 Oct 2013 17:50:13 -0300 Subject: [PATCH] Fixes #3047 -- Fixes module.paths when running directly with no explicit passed-in files. --- lib/coffee-script/coffee-script.js | 5 +++-- src/coffee-script.coffee | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) 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