From 24d0a30d2237a4d35a103c636155576611f7ac80 Mon Sep 17 00:00:00 2001 From: Geoffrey Booth Date: Sun, 7 May 2017 17:33:46 -0700 Subject: [PATCH 1/2] =?UTF-8?q?Don=E2=80=99t=20prefer=20global=20installat?= =?UTF-8?q?ion;=20the=20`coffee`=20or=20`cake`=20commands=20should=20try?= =?UTF-8?q?=20to=20run=20the=20locally-installed=20module=20if=20it=20exis?= =?UTF-8?q?ts,=20or=20the=20global=20version=20otherwise?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/cake | 15 +++++++++++++-- bin/coffee | 15 +++++++++++++-- package.json | 1 - 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/bin/cake b/bin/cake index 70b9aa0d06..a096fdc1bd 100755 --- a/bin/cake +++ b/bin/cake @@ -2,6 +2,17 @@ var path = require('path'); var fs = require('fs'); -var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib'); -require(lib + '/coffeescript/cake').run(); +var potentialPaths = [ + path.join(process.cwd(), 'node_modules/coffeescript/lib/coffeescript'), + path.join(process.cwd(), 'node_modules/coffeescript/lib/coffee-script'), + path.join(process.cwd(), 'node_modules/coffee-script/lib/coffee-script'), + path.join(path.dirname(fs.realpathSync(__filename)), '../lib/coffeescript') +]; + +for (var i = 0; i < 4; i++) { + if (fs.existsSync(potentialPaths[i])) { + require(potentialPaths[i] + '/cake').run(); + break; + } +} diff --git a/bin/coffee b/bin/coffee index c84782acca..a6beaf5189 100755 --- a/bin/coffee +++ b/bin/coffee @@ -2,6 +2,17 @@ var path = require('path'); var fs = require('fs'); -var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib'); -require(lib + '/coffeescript/command').run(); +var potentialPaths = [ + path.join(process.cwd(), 'node_modules/coffeescript/lib/coffeescript'), + path.join(process.cwd(), 'node_modules/coffeescript/lib/coffee-script'), + path.join(process.cwd(), 'node_modules/coffee-script/lib/coffee-script'), + path.join(path.dirname(fs.realpathSync(__filename)), '../lib/coffeescript') +]; + +for (var i = 0; i < 4; i++) { + if (fs.existsSync(potentialPaths[i])) { + require(potentialPaths[i] + '/command').run(); + break; + } +} diff --git a/package.json b/package.json index d52205f416..79f0aa3a16 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "register.js", "repl.js" ], - "preferGlobal": true, "scripts": { "test": "node ./bin/cake test", "test-harmony": "node --harmony ./bin/cake test" From 35e36bb88857690fec391181d44397b1afbcbe2e Mon Sep 17 00:00:00 2001 From: Geoffrey Booth Date: Mon, 8 May 2017 21:58:21 -0700 Subject: [PATCH 2/2] Style --- bin/cake | 4 ++-- bin/coffee | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/cake b/bin/cake index a096fdc1bd..5694676ae8 100755 --- a/bin/cake +++ b/bin/cake @@ -7,10 +7,10 @@ var potentialPaths = [ path.join(process.cwd(), 'node_modules/coffeescript/lib/coffeescript'), path.join(process.cwd(), 'node_modules/coffeescript/lib/coffee-script'), path.join(process.cwd(), 'node_modules/coffee-script/lib/coffee-script'), - path.join(path.dirname(fs.realpathSync(__filename)), '../lib/coffeescript') + path.join(__dirname, '../lib/coffeescript') ]; -for (var i = 0; i < 4; i++) { +for (var i = 0, len = potentialPaths.length; i < len; i++) { if (fs.existsSync(potentialPaths[i])) { require(potentialPaths[i] + '/cake').run(); break; diff --git a/bin/coffee b/bin/coffee index a6beaf5189..9d8468bc35 100755 --- a/bin/coffee +++ b/bin/coffee @@ -7,10 +7,10 @@ var potentialPaths = [ path.join(process.cwd(), 'node_modules/coffeescript/lib/coffeescript'), path.join(process.cwd(), 'node_modules/coffeescript/lib/coffee-script'), path.join(process.cwd(), 'node_modules/coffee-script/lib/coffee-script'), - path.join(path.dirname(fs.realpathSync(__filename)), '../lib/coffeescript') + path.join(__dirname, '../lib/coffeescript') ]; -for (var i = 0; i < 4; i++) { +for (var i = 0, len = potentialPaths.length; i < len; i++) { if (fs.existsSync(potentialPaths[i])) { require(potentialPaths[i] + '/command').run(); break;