UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

80 lines 3.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseLockFile = parseLockFile; exports.composeLockFile = composeLockFile; exports.getNpmrcContent = getNpmrcContent; exports.updateNpmrcContent = updateNpmrcContent; exports.resetNpmrcContent = resetNpmrcContent; const tslib_1 = require("tslib"); const detect_indent_1 = tslib_1.__importDefault(require("detect-indent")); const upath_1 = tslib_1.__importDefault(require("upath")); const logger_1 = require("../../../logger"); const fs_1 = require("../../../util/fs"); function parseLockFile(lockFile) { const detectedIndent = (0, detect_indent_1.default)(lockFile).indent || ' '; let lockFileParsed; try { lockFileParsed = JSON.parse(lockFile); } catch (err) { logger_1.logger.warn({ err }, 'Error parsing npm lock file'); } return { detectedIndent, lockFileParsed }; } function composeLockFile(lockFile, indent) { return JSON.stringify(lockFile, null, indent) + '\n'; } async function getNpmrcContent(dir) { const npmrcFilePath = upath_1.default.join(dir, '.npmrc'); let originalNpmrcContent = null; try { originalNpmrcContent = await (0, fs_1.readLocalFile)(npmrcFilePath, 'utf8'); /* v8 ignore start -- needs test */ } catch { originalNpmrcContent = null; } /* v8 ignore stop -- needs test */ if (originalNpmrcContent) { logger_1.logger.debug(`npmrc file ${npmrcFilePath} found in repository`); } return originalNpmrcContent; } async function updateNpmrcContent(dir, originalContent, additionalLines) { const npmrcFilePath = upath_1.default.join(dir, '.npmrc'); const newNpmrc = originalContent ? [originalContent, ...additionalLines] : additionalLines; try { const newContent = newNpmrc.length ? newNpmrc.join('\n') : null; if (newContent !== originalContent) { logger_1.logger.debug(`Writing updated .npmrc file to ${npmrcFilePath}`); await (0, fs_1.writeLocalFile)(npmrcFilePath, `${newContent}\n`); } /* v8 ignore start -- needs test */ } catch { logger_1.logger.warn('Unable to write custom npmrc file'); } /* v8 ignore stop -- needs test */ } async function resetNpmrcContent(dir, originalContent) { const npmrcFilePath = upath_1.default.join(dir, '.npmrc'); if (originalContent) { try { await (0, fs_1.writeLocalFile)(npmrcFilePath, originalContent); /* v8 ignore start -- needs test */ } catch { logger_1.logger.warn('Unable to reset npmrc to original contents'); } /* v8 ignore stop -- needs test */ } else { try { await (0, fs_1.deleteLocalFile)(npmrcFilePath); /* v8 ignore start -- needs test */ } catch { logger_1.logger.warn('Unable to delete custom npmrc'); } /* v8 ignore stop -- needs test */ } } //# sourceMappingURL=utils.js.map