/
githubmirror
/
angular-cli
Обзор
Документация
Войти
/
githubmirror
/
angular-cli
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
scripts/release-checks/dependency-ranges/index.mts
53 строки
2 KB
Charles Lyding
build: use Node.js built-in TypeScript support for dev-infra scripts
10 дек 2025, 22:11
10 дек 2025, 22:11
85c6e39
Код
Авторство
О чём код?
/** * @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.dev/license */ import { Log, ReleasePrecheckError, bold } from '@angular/ng-dev'; import semver from 'semver'; import { checkSchematicsAngularLatestVersion } from './latest-versions-check.mts'; import { type PackageJson, checkPeerDependencies } from './peer-deps-check.mts'; /** Environment variable that can be used to skip this pre-check. */ const skipEnvVar = 'SKIP_DEPENDENCY_RANGE_PRECHECK'; /** * Ensures that dependency ranges are properly updated before publishing * a new version. This check includes: * * - checking of `latest-versions.ts` of `@schematics/angular`. * - checking of peer dependencies in `@angular-devkit/build-angular`. * * @throws {ReleasePrecheckError} If validation fails. */ export async function assertValidDependencyRanges( newVersion: semver.SemVer, allPackages: PackageJson[], ) { if (process.env[skipEnvVar] === '1') { return; } const failures: string[] = [ ...checkPeerDependencies(newVersion, allPackages), ...checkSchematicsAngularLatestVersion(newVersion), ]; if (failures.length !== 0) { Log.error('Discovered errors when validating dependency ranges.'); for (const f of failures) { Log.error(` - ${bold(f)}`); } Log.warn(); Log.warn('Please fix these failures before publishing a new release.'); Log.warn(`These checks can be forcibly ignored by setting: ${skipEnvVar}=1`); Log.warn(); throw new ReleasePrecheckError(); } }