@storm-software/workspace-tools
Version:
Tools for managing a Storm workspace, including various Nx generators and executors for common development tasks.
131 lines (114 loc) • 4.8 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});
var _chunk3GQAWCBQjs = require('./chunk-3GQAWCBQ.js');
// src/utils/lock-file.ts
var _devkit = require('@nx/devkit');
var _fs = require('fs');
var _path = require('path');
var _npmparser = require('nx/src/plugins/js/lock-file/npm-parser');
var _pnpmparser = require('nx/src/plugins/js/lock-file/pnpm-parser');
var _yarnparser = require('nx/src/plugins/js/lock-file/yarn-parser');
var YARN_LOCK_FILE = "yarn.lock";
var NPM_LOCK_FILE = "package-lock.json";
var PNPM_LOCK_FILE = "pnpm-lock.yaml";
var LOCK_FILES = [
YARN_LOCK_FILE,
NPM_LOCK_FILE,
PNPM_LOCK_FILE
];
var YARN_LOCK_PATH = _path.join.call(void 0, _devkit.workspaceRoot, YARN_LOCK_FILE);
var NPM_LOCK_PATH = _path.join.call(void 0, _devkit.workspaceRoot, NPM_LOCK_FILE);
var PNPM_LOCK_PATH = _path.join.call(void 0, _devkit.workspaceRoot, PNPM_LOCK_FILE);
function getLockFileNodes(packageManager, contents, lockFileHash, context) {
try {
if (packageManager === "yarn") {
const packageJson = _devkit.readJsonFile.call(void 0, _path.join.call(void 0, context.workspaceRoot, "package.json"));
return _yarnparser.getYarnLockfileNodes.call(void 0, contents, lockFileHash, packageJson);
}
if (packageManager === "pnpm") {
return _pnpmparser.getPnpmLockfileNodes.call(void 0, contents, lockFileHash);
}
if (packageManager === "npm") {
return _npmparser.getNpmLockfileNodes.call(void 0, contents, lockFileHash);
}
} catch (e) {
if (!isPostInstallProcess()) {
_devkit.output.error({
title: `Failed to parse ${packageManager} lockfile`,
bodyLines: errorBodyLines(e)
});
}
throw e;
}
throw new Error(`Unknown package manager: ${packageManager}`);
}
_chunk3GQAWCBQjs.__name.call(void 0, getLockFileNodes, "getLockFileNodes");
function getLockFileDependencies(packageManager, contents, lockFileHash, context) {
try {
if (packageManager === "yarn") {
return _yarnparser.getYarnLockfileDependencies.call(void 0, contents, lockFileHash, context);
}
if (packageManager === "pnpm") {
return _pnpmparser.getPnpmLockfileDependencies.call(void 0, contents, lockFileHash, context);
}
if (packageManager === "npm") {
return _npmparser.getNpmLockfileDependencies.call(void 0, contents, lockFileHash, context);
}
} catch (e) {
if (!isPostInstallProcess()) {
_devkit.output.error({
title: `Failed to parse ${packageManager} lockfile`,
bodyLines: errorBodyLines(e)
});
}
throw e;
}
throw new Error(`Unknown package manager: ${packageManager}`);
}
_chunk3GQAWCBQjs.__name.call(void 0, getLockFileDependencies, "getLockFileDependencies");
function lockFileExists(packageManager) {
if (packageManager === "yarn") {
return _fs.existsSync.call(void 0, YARN_LOCK_PATH);
}
if (packageManager === "pnpm") {
return _fs.existsSync.call(void 0, PNPM_LOCK_PATH);
}
if (packageManager === "npm") {
return _fs.existsSync.call(void 0, NPM_LOCK_PATH);
}
throw new Error(`Unknown package manager ${packageManager} or lock file missing`);
}
_chunk3GQAWCBQjs.__name.call(void 0, lockFileExists, "lockFileExists");
function getLockFileName(packageManager) {
if (packageManager === "yarn") {
return YARN_LOCK_FILE;
}
if (packageManager === "pnpm") {
return PNPM_LOCK_FILE;
}
if (packageManager === "npm") {
return NPM_LOCK_FILE;
}
throw new Error(`Unknown package manager: ${packageManager}`);
}
_chunk3GQAWCBQjs.__name.call(void 0, getLockFileName, "getLockFileName");
function errorBodyLines(originalError, additionalInfo = []) {
const result = [
"Please open an issue at `https://github.com/storm-software/storm-ops/issues/new?template=1-bug.yml` and provide a reproduction.",
...additionalInfo
];
if (originalError.message) {
result.push(`
Original error: ${originalError.message}
`);
}
if (originalError.stack) {
result.push(originalError.stack);
}
return result;
}
_chunk3GQAWCBQjs.__name.call(void 0, errorBodyLines, "errorBodyLines");
function isPostInstallProcess() {
return process.env.npm_command === "install" && process.env.npm_lifecycle_event === "postinstall";
}
_chunk3GQAWCBQjs.__name.call(void 0, isPostInstallProcess, "isPostInstallProcess");
exports.YARN_LOCK_FILE = YARN_LOCK_FILE; exports.NPM_LOCK_FILE = NPM_LOCK_FILE; exports.PNPM_LOCK_FILE = PNPM_LOCK_FILE; exports.LOCK_FILES = LOCK_FILES; exports.YARN_LOCK_PATH = YARN_LOCK_PATH; exports.NPM_LOCK_PATH = NPM_LOCK_PATH; exports.PNPM_LOCK_PATH = PNPM_LOCK_PATH; exports.getLockFileNodes = getLockFileNodes; exports.getLockFileDependencies = getLockFileDependencies; exports.lockFileExists = lockFileExists; exports.getLockFileName = getLockFileName;