UNPKG

@o3r/schematics

Version:

Schematics module of the Otter framework

36 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getExternalDependenciesVersionRange = getExternalDependenciesVersionRange; exports.getNodeDependencyList = getNodeDependencyList; const fs = require("node:fs"); /** * Method to extract the provided package version range from a package.json file * @param packageNames list of package we want to retrieve the version * @param packageJsonPath Path to the package.json to refer to * @param logger logger * @returns The version range value retrieved from the provided package.json file */ function getExternalDependenciesVersionRange(packageNames, packageJsonPath, logger) { const packageJsonContent = JSON.parse(fs.readFileSync(packageJsonPath, { encoding: 'utf8' })); return packageNames.reduce((acc, packageName) => { acc[packageName] = packageJsonContent.generatorDependencies?.[packageName] || packageJsonContent.peerDependencies?.[packageName] || packageJsonContent.dependencies?.[packageName] || packageJsonContent.devDependencies?.[packageName]; if (!acc[packageName]) { logger.warn(`Unable to retrieve version for ${packageName} in ${packageJsonPath}. Version set to "latest".`); acc[packageName] = 'latest'; } return acc; }, {}); } /** * Method used to build the list of node dependencies to be installed * @param dependenciesVersions map of dependency and its associated required version * @param type node type of the dependency * @returns the list of node dependencies to be installed */ function getNodeDependencyList(dependenciesVersions, type) { return Object.entries(dependenciesVersions).map(([name, version]) => ({ name, version, type, overwrite: true })); } //# sourceMappingURL=dependencies.js.map