UNPKG

piral-cli

Version:

The standard CLI for creating and building a Piral instance or a Pilet.

63 lines 2.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.upgradePiralDefaults = void 0; exports.upgradePiral = upgradePiral; const path_1 = require("path"); const types_1 = require("../types"); const common_1 = require("../common"); exports.upgradePiralDefaults = { version: 'latest', target: '.', logLevel: types_1.LogLevels.info, install: true, npmClient: undefined, }; function updateDependencies(deps, version) { if (deps) { for (const name of Object.keys(deps)) { try { const data = require(`${name}/package.json`); const packageRepoUrl = data?.repository?.url; if (packageRepoUrl === common_1.repositoryUrl) { deps[name] = version; } } catch { (0, common_1.log)('packageNotInstalled_0023', name); } } } } async function upgradePiral(baseDir = process.cwd(), options = {}) { const { version = exports.upgradePiralDefaults.version, target = exports.upgradePiralDefaults.target, logLevel = exports.upgradePiralDefaults.logLevel, install = exports.upgradePiralDefaults.install, npmClient: defaultNpmClient = exports.upgradePiralDefaults.npmClient, } = options; (0, common_1.ensure)('baseDir', baseDir, 'string'); (0, common_1.ensure)('target', target, 'string'); const fullBase = (0, path_1.resolve)(process.cwd(), baseDir); const root = (0, path_1.resolve)(fullBase, target); (0, common_1.setLogLevel)(logLevel); const valid = await (0, common_1.checkExistingDirectory)(root); const exists = await (0, common_1.checkExists)((0, path_1.join)(root, 'package.json')); if (!valid || !exists) { (0, common_1.fail)('packageJsonNotFound_0020'); } const npmClient = await (0, common_1.determineNpmClient)(root, defaultNpmClient); (0, common_1.progress)(`Checking provided version ...`); const realVersion = await (0, common_1.findSpecificVersion)('piral-cli', version); if (!realVersion) { (0, common_1.fail)('packageVersionInvalid_0024', version); } (0, common_1.log)('generalDebug_0003', `Found real version: "${version}".`); const pckg = await (0, common_1.readJson)(root, 'package.json'); (0, common_1.log)('generalDebug_0003', `Updating all dependencies ...`); (0, common_1.progress)(`Reading installed packages ...`); updateDependencies(pckg.devDependencies, realVersion); updateDependencies(pckg.dependencies, realVersion); (0, common_1.log)('generalDebug_0003', `Patching the package.json ...`); await (0, common_1.updateExistingJson)(root, 'package.json', pckg); if (install) { (0, common_1.progress)(`Updating the npm packages to %s ...`, version); await (0, common_1.installNpmDependencies)(npmClient, root); } (0, common_1.logDone)('Piral instance upgraded successfully!'); } //# sourceMappingURL=upgrade-piral.js.map