mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-17 11:03:53 +08:00
51 lines
1.6 KiB
TypeScript
51 lines
1.6 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright Google LLC All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
|
|
// tslint:disable:no-implicit-dependencies
|
|
import { logging } from '@angular-devkit/core';
|
|
import * as colors from 'ansi-colors';
|
|
|
|
const { packages, loadRootPackageJson, stableToExperimentalVersion } = require('../lib/packages');
|
|
|
|
|
|
export default function(args: { json: boolean, version: boolean, releaseCheck: boolean }, logger: logging.Logger) {
|
|
|
|
if (args.releaseCheck) {
|
|
const {version: root} = loadRootPackageJson();
|
|
const experimental = stableToExperimentalVersion(root);
|
|
logger.info(`The expected version for the release is ${colors.bold(root)} (${experimental}) based on root package.json.`);
|
|
logger.info(
|
|
Object.keys(packages)
|
|
.filter(name => !packages[name].private)
|
|
.map(name => {
|
|
let result = colors.red(colors.symbols.cross);
|
|
const version = packages[name].version;
|
|
if ([root, experimental].includes(version)) {
|
|
result = colors.green(colors.symbols.check);
|
|
}
|
|
|
|
return ` ${result} ${name}@${packages[name].version}`;
|
|
})
|
|
.join('\n'));
|
|
} else if (args.json) {
|
|
logger.info(JSON.stringify(packages, null, 2));
|
|
} else {
|
|
logger.info(
|
|
Object.keys(packages)
|
|
.filter(name => !packages[name].private)
|
|
.map(name => {
|
|
if (args.version) {
|
|
return `${name}@${packages[name].version}`;
|
|
} else {
|
|
return name;
|
|
}
|
|
})
|
|
.join('\n'));
|
|
}
|
|
}
|