/
githubmirror
/
angular
Обзор
Документация
Войти
/
githubmirror
/
angular
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
.github/actions/deploy-docs-site/lib/deployments.mts
76 строк
2 KB
Alan Agius
refactor(docs-infra): use Node.js temp APIs in deploy action
01 май 2026, 02:10
01 май 2026, 02:10
116f55c
Код
Авторство
О чём код?
import { fetchLongTermSupportBranchesFromNpm, ActiveReleaseTrains, AuthenticatedGitClient, ReleaseConfig, } from '@angular/ng-dev'; export interface Deployment { branch: string; redirect?: { from: string; to: string; }; destination?: string; servingUrl: string; } export type Deployments = Map<string, Deployment>; export async function getDeployments(): Promise<Deployments> { const {github} = await AuthenticatedGitClient.get(); const releaseTrains = await ActiveReleaseTrains.fetch({ api: github, name: 'angular', owner: 'angular', nextBranchName: 'main', }); const ltsBranches = await fetchLongTermSupportBranchesFromNpm({ representativeNpmPackage: '@angular/core', } as ReleaseConfig); const docSites = new Map<string, Deployment>(); [...ltsBranches.active, ...ltsBranches.inactive].forEach((branch) => { docSites.set(branch.name, { branch: branch.name, destination: `v${branch.version.major}-angular-dev`, servingUrl: `https://v${branch.version.major}.angular.dev/`, }); }); docSites.set(releaseTrains.latest.branchName, { branch: releaseTrains.latest.branchName, redirect: { from: `v${releaseTrains.latest.version.major}-angular-dev`, to: 'https://angular.dev', }, servingUrl: 'https://angular.dev/', destination: 'angular-dev-site', }); if (releaseTrains.releaseCandidate) { docSites.set(releaseTrains.next.branchName, { branch: releaseTrains.next.branchName, servingUrl: 'https://next.angular.dev/', }); docSites.set(releaseTrains.releaseCandidate.branchName, { branch: releaseTrains.releaseCandidate.branchName, destination: 'next-angular-dev', redirect: { from: `v${releaseTrains.releaseCandidate.version.major}-angular-dev`, to: 'https://next.angular.dev', }, servingUrl: 'https://next.angular.dev/', }); } else { docSites.set(releaseTrains.next.branchName, { branch: releaseTrains.next.branchName, destination: 'next-angular-dev', servingUrl: 'https://next.angular.dev/', }); } return docSites; }