UNPKG

autocode-cli

Version:

code automation for every language, framework and platform

44 lines (37 loc) 1.27 kB
// Generated by CoffeeScript 1.10.0 (function() { var fs, link, mkdirp, userHome; fs = require('fs-extra'); mkdirp = require('mkdirp'); userHome = require('user-home'); link = function(opts) { var dest, dir; opts = opts || {}; if (!opts.collection) { throw new Error("`collection` is required."); } else if (!opts.module) { throw new Error("`module` is required."); } else if (!opts.version) { throw new Error("`version` is required."); } else if (!opts.src) { throw new Error("`src` is required."); } dir = userHome + "/.autocode/module/" + opts.collection + "/" + opts.module; dest = dir + "/" + opts.version; if (fs.existsSync(dest)) { if (opts.force !== true) { throw new Error("Module already installed at: " + dest + ". Use -f to force link, but be careful: this entire directory will be destroyed."); } fs.removeSync(dest); } if (!fs.existsSync(dir)) { mkdirp.sync(dir); } console.log("Linking " + opts.collection + "." + opts.module + "..."); console.log("Source: " + opts.src); console.log("Destination: " + dest); fs.symlinkSync(opts.src, dest); return console.log("Done."); }; module.exports = link; }).call(this);