@axway/axway-cli-pm
Version:
Package manager for Axway products
68 lines (57 loc) • 1.79 kB
JavaScript
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