From 3d54c9414902147736ae565770659dee0dcc0d7d Mon Sep 17 00:00:00 2001 From: Rowan Crawford Date: Tue, 18 Dec 2012 12:02:02 +1300 Subject: [PATCH] Remove save-dev and all for running from any directory. --- lib/commands/install.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/commands/install.js b/lib/commands/install.js index 4a86bb1..37c195a 100644 --- a/lib/commands/install.js +++ b/lib/commands/install.js @@ -70,8 +70,7 @@ exports.run = function (settings, args) { 'repository': {match: ['-r', '--repository'], value: true}, 'target_dir': {match: ['-d', '--package-dir'], value: true}, 'baseurl': {match: ['-b', '--baseurl'], value: true}, - 'save': {match: ['-S', '--save'], value: false}, - 'save_dev': {match: ['-D', '--save-dev'], value: false} + 'save': {match: ['-S', '--save'], value: false} }); var opt = a.options; @@ -119,6 +118,8 @@ exports.run = function (settings, args) { exports.extendOptions = function (proj_dir, settings, cfg, opt) { + opt.proj_dir = proj_dir; + if (!opt.target_dir) { if (cfg.jam && cfg.jam.packageDir) { opt.target_dir = path.resolve(proj_dir, cfg.jam.packageDir); @@ -406,11 +407,11 @@ exports.installRepo = function (name, range, opt, callback) { if (err) { return callback(err); } - if (opt.save || opt.save_dev) { + if (opt.save) { exports.cpDir(name, v, from_cache, cdir, opt, function() { - fs.readFile('package.json', function(err, data) { - var deps = opt.save ? 'dependencies' : 'devDependencies'; + var package = path.resolve(opt.proj_dir, 'package.json'); + fs.readFile(path.resolve(package), function(err, data) { try { data = JSON.parse(data.toString('utf8')); } catch(e) { @@ -422,11 +423,11 @@ exports.installRepo = function (name, range, opt, callback) { if (!data.jam) { data.jam = {}; } - data.jam[deps] = data.jam[deps] || {}; - data.jam[deps][name] = v; + data.jam.dependencies = data.jam.dependencies || {}; + data.jam.dependencies[name] = v; data = JSON.stringify(data, null, 2) + '\n'; - fs.writeFile('package.json', data, function(err) { + fs.writeFile(package, data, function(err) { callback(err); }); });