PATH:
usr
/
local
/
lib
/
node_modules
/
bower
/
lib
/
commands
var path = require('path'); var rimraf = require('../util/rimraf'); var Q = require('q'); var Project = require('../core/Project'); var createLink = require('../util/createLink'); var defaultConfig = require('../config'); var relativeToBaseDir = require('../util/relativeToBaseDir'); function link(logger, name, localName, config) { if (name) { return linkTo(logger, name, localName, config); } else { return linkSelf(logger, config); } } function linkSelf(logger, config) { var project; config = defaultConfig(config); project = new Project(config, logger); return project.getJson().then(function(json) { var src = config.cwd; var dst = path.join(config.storage.links, json.name); // Delete previous link if any return ( Q.nfcall(rimraf, dst) // Link globally .then(function() { return createLink(src, dst); }) .then(function() { return { src: src, dst: dst }; }) ); }); } function linkTo(logger, name, localName, config) { var src; var dst; var project; config = defaultConfig(config); project = new Project(config, logger); localName = localName || name; src = path.join(config.storage.links, name); dst = path.join(relativeToBaseDir(config.cwd)(config.directory), localName); // Delete destination folder if any return ( Q.nfcall(rimraf, dst) // Link locally .then(function() { return createLink(src, dst); }) // Install linked package deps .then(function() { return project.update([localName]); }) .then(function(installed) { return { src: src, dst: dst, installed: installed }; }) ); } // ------------------- link.readOptions = function(argv) { var cli = require('../util/cli'); var options = cli.readOptions(argv); var name = options.argv.remain[1]; var localName = options.argv.remain[2]; return [name, localName]; }; module.exports = link;
[-] home.js
[edit]
[-] lookup.js
[edit]
[+]
..
[+]
cache
[-] link.js
[edit]
[-] install.js
[edit]
[-] login.js
[edit]
[-] info.js
[edit]
[-] uninstall.js
[edit]
[-] init.js
[edit]
[-] prune.js
[edit]
[-] search.js
[edit]
[-] list.js
[edit]
[-] index.js
[edit]
[-] update.js
[edit]
[-] help.js
[edit]
[-] unregister.js
[edit]
[-] register.js
[edit]
[-] version.js
[edit]