UNPKG

veendor

Version:

a tool for stroing your npm dependencies in arbitraty storage

69 lines (68 loc) 3.5 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = __importDefault(require("path")); const fs_extra_1 = __importDefault(require("fs-extra")); const commander_1 = __importDefault(require("commander")); const resolveConfig_1 = __importDefault(require("../lib/resolveConfig")); const logger = __importStar(require("../lib/util/logger")); const gitWrapper = __importStar(require("../lib/commandWrappers/gitWrapper")); const resolveLockfile_1 = __importDefault(require("../lib/resolveLockfile")); const install_1 = __importStar(require("../lib/install")); process.on('uncaughtException', console.error); process.on('unhandledRejection', console.error); commander_1.default .description('Download and install node_modules') .option('-f, --force', 'overwrite node_modules if it already exists') .option('-c --config [configuration-file]') .option('-r --rsync', 'download node_modules into tmpdir \n' + 'and then rsync --delete them to working directory\n' + 'somewhat slower, but you-know-which IDE won\'t go crazy reindexing it') .option('--debug', 'don\'t remove .veendor-debug.log') .option('-v --verbose', 'Verbose output. Could be from `-v` to `-vvv`', increaseVerbosity, 0) .parse(process.argv); // @ts-ignore function increaseVerbosity(v, total) { return total + 1; } const daLogger = logger.setDefaultLogger(1, 3 - (commander_1.default.verbose || 0)); let config; resolveConfig_1.default(commander_1.default.config) .then((resolvedConfig) => __awaiter(void 0, void 0, void 0, function* () { config = resolvedConfig; const lockfilePath = yield resolveLockfile_1.default(); yield install_1.default({ force: Boolean(commander_1.default.force), config, lockfilePath, rsyncMode: commander_1.default.rsync }); if (!(commander_1.default.debug)) { yield fs_extra_1.default.remove(path_1.default.resolve(process.cwd(), '.veendor-debug.log')); } })) .catch(e => { if (e instanceof install_1.NodeModulesAlreadyExistError) { daLogger.error('\'node_modules\' directory already exists. Use -f option to overwrite'); return; } else if (e instanceof gitWrapper.NotAGitRepoError && config.useGitHistory) { daLogger.error(`'useGitHistory' set in config, but ${process.cwd()} is not a git repo`); return; } daLogger.error(e); process.exit(1); });