UNPKG

vtex

Version:

The platform for e-commerce apps

37 lines (36 loc) 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fixPinnedDependencies = exports.fixBuilderFolderPinnedDeps = void 0; const tslib_1 = require("tslib"); const logger_1 = tslib_1.__importDefault(require("./logger")); const ManifestUtil_1 = require("./manifest/ManifestUtil"); const packageJson_1 = require("../lib/packageJson"); const fixBuilderFolderPinnedDeps = async (appRoot, builder, builderPinnedDeps) => { const pkgJson = await packageJson_1.PackageJson.getBuilderPackageJsonIfExists(appRoot, builder, true, logger_1.default); if (!pkgJson) { return; } const depNames = Object.keys(builderPinnedDeps); depNames.forEach(depName => { const depVersion = builderPinnedDeps[depName]; pkgJson.changeDepVersionIfUnsatisfied(depName, depVersion); }); await pkgJson.flushChanges(); }; exports.fixBuilderFolderPinnedDeps = fixBuilderFolderPinnedDeps; const fixPinnedDependencies = async (pinnedDeps, buildersToFixDeps, manifestBuilders) => { const appRoot = (0, ManifestUtil_1.getAppRoot)(); await Promise.all(buildersToFixDeps.map((builder) => { var _a; const builderMajorLocator = manifestBuilders[builder]; if (!builderMajorLocator) { return Promise.resolve(); } const pinnedDepsForBuilder = { ...pinnedDeps.common, ...(_a = pinnedDeps.builders[builder]) === null || _a === void 0 ? void 0 : _a[builderMajorLocator], }; return (0, exports.fixBuilderFolderPinnedDeps)(appRoot, builder, pinnedDepsForBuilder); })); }; exports.fixPinnedDependencies = fixPinnedDependencies;