UNPKG

veendor

Version:

a tool for stroing your npm dependencies in arbitraty storage

36 lines (35 loc) 1.45 kB
'use strict'; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const util_1 = __importDefault(require("util")); const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); const logger_1 = require("./util/logger"); // add yarn.lock one day const LOCKFILE_TYPES = ['npm-shrinkwrap.json', 'package-lock.json']; function resolveLockfile() { const logger = logger_1.getLogger(); logger.trace(`Looking for lockfiles: ${LOCKFILE_TYPES.join(', ')}`); const statPromises = LOCKFILE_TYPES.map(filename => fs_extra_1.default .stat(path_1.default.resolve(process.cwd(), filename)) .catch(error => error)); // not letting Promise.all to reject early return Promise.all(statPromises).then(getLockfile); } exports.default = resolveLockfile; function getLockfile(results) { const logger = logger_1.getLogger(); for (let i = 0; i < LOCKFILE_TYPES.length; i++) { if (util_1.default.isError(results[i])) { const err = (results[i]); if (err.code && err.code === 'ENOENT') { continue; } throw err; } logger.info(`Found '${LOCKFILE_TYPES[i]}'. Using it to calculate bundle hashes.`); return LOCKFILE_TYPES[i]; } return null; }