UNPKG

piral-cli

Version:

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

50 lines 2.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.removePiralInstancePiletDefaults = void 0; exports.removePiralInstancePilet = removePiralInstancePilet; const path_1 = require("path"); const types_1 = require("../types"); const common_1 = require("../common"); exports.removePiralInstancePiletDefaults = { logLevel: types_1.LogLevels.info, app: undefined, source: '.', npmClient: undefined, }; async function removePiralInstancePilet(baseDir = process.cwd(), options = {}) { const { npmClient: defaultNpmClient = exports.removePiralInstancePiletDefaults.npmClient, logLevel = exports.removePiralInstancePiletDefaults.logLevel, source = exports.removePiralInstancePiletDefaults.source, app = exports.removePiralInstancePiletDefaults.app, } = options; (0, common_1.ensure)('baseDir', baseDir, 'string'); (0, common_1.ensure)('source', source, 'string'); (0, common_1.ensure)('app', app, 'string'); const fullBase = (0, path_1.resolve)(process.cwd(), baseDir); (0, common_1.setLogLevel)(logLevel); (0, common_1.progress)('Reading configuration ...'); const npmClient = await (0, common_1.determineNpmClient)(fullBase, defaultNpmClient); const allEntries = await (0, common_1.matchAnyPilet)(fullBase, [source]); const tasks = allEntries.map(async (entryModule) => { const targetDir = (0, path_1.dirname)(entryModule); const piletJsonPath = await (0, common_1.findFile)(targetDir, common_1.piletJson); if (piletJsonPath) { const piletJsonDir = (0, path_1.dirname)(piletJsonPath); const oldContent = await (0, common_1.readJson)(piletJsonDir, common_1.piletJson); const root = await (0, common_1.findPiletRoot)(piletJsonDir); if ('piralInstances' in oldContent && app in oldContent.piralInstances) { const newContent = { ...oldContent, piralInstances: { ...oldContent.piralInstances, [app]: undefined, }, }; await (0, common_1.writeJson)(piletJsonDir, common_1.piletJson, newContent, true); } await (0, common_1.uninstallNpmPackage)(npmClient, app, root); } else { (0, common_1.log)('piletJsonNotAvailable_0180', targetDir); } }); await Promise.all(tasks); (0, common_1.logDone)(`Removed the Piral instance!`); } //# sourceMappingURL=remove-piral-instance-pilet.js.map