angular-cli/scripts/packages.ts
Charles Lyding c1512e4274 build: update files to be eslint compliant
All TypeScript files have been updated to pass the new eslint-based linting checks. eslint compatible disabling comments have also been added in place of the previous tslint comments.
2021-05-03 07:31:02 -04:00

57 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
*/
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'),
);
}
}