UNPKG

@axway/axway-cli-pm

Version:

Package manager for Axway products

68 lines (57 loc) 1.79 kB
import semver from 'semver'; import snooplogg from 'snooplogg'; import { createTable } from '@axway/amplify-cli-utils'; import { list as list$1, packagesDir } from '../pm.js'; import 'fs-extra'; import 'npm-package-arg'; import 'libnpmsearch'; import 'pacote'; import 'path'; import 'promise-limit'; import 'cross-spawn'; import 'which'; import 'events'; import '@axway/amplify-utils'; var list = { aliases: [ 'ls' ], desc: 'List all installed packages', options: { '--json': { callback: ({ ctx, value }) => ctx.jsonMode = value, desc: 'Outputs packages as JSON' } }, async action({ argv, console }) { const installed = await list$1(); if (argv.json) { console.log(JSON.stringify(installed, null, 2)); return; } const { cyan, gray, green } = snooplogg.styles; console.log(`Packages directory: ${cyan(packagesDir)}\n`); if (!installed.length) { console.log('No packages installed'); return; } const table = createTable([ 'Name', 'Versions' ]); const unmanaged = {}; for (const pkg of installed) { const { version } = pkg; const versions = Object.keys(pkg.versions).sort(semver.rcompare); const managed = versions.every(v => pkg.versions[v].managed); table.push([ managed || Object.keys(pkg.versions).some(ver => pkg.versions[ver].managed) ? pkg.name : `${pkg.name} ${gray('(unmanaged)')}`, versions.map(v => version && semver.eq(v, version) ? green(v) : v).join(', ') ]); if (!managed) { unmanaged[`${pkg.name}${pkg.version}`] = 1; } } console.log(table.toString()); if (Object.keys(unmanaged).length) { console.log('\nNote: Unmanaged packages were not installed by the Axway CLI and cannot be purged or uninstalled.'); } } }; export { list as default }; //# sourceMappingURL=list.js.map