CodeVetter · Repo Unpack · System map
angular/angular
The repository combines framework libraries with documentation, developer tooling, and distribution automation. Runtime application creation separates browser platform providers from application providers, while server rendering supplies a request-specific platform. Persistent state differs by subsystem: documentation history uses localStorage and the service worker uses CacheStorage. pnpm scripts delegate most builds and tests to Bazel, and GitHub workflows separate product checks from publishing.
- The private root package is angular-srcs version 22.3.0-next.0 and pins pnpm 11.27.1; its dependencies link framework packages through workspace:*.
- pnpm-workspace.yaml includes framework libraries, adev/shared-docs, dev-app, DevTools, integration projects, Zone.js, and the VS Code client/server workspaces.
- adev/src/main.ts boots AppComponent with appConfig; appConfig registers hydration, router providers, Algolia search, analytics initialization, document loaders, and a TypeScript worker provider.
- bootstrapApplication assembles browser providers and delegates to internalCreateApplication, which creates an application injector under the platform injector and installs zoneless scheduling.
- Compilation has distinct template parsing and TypeScript annotation-analysis layers: parseTemplate constructs HTML and binding parsers, while ComponentDecoratorHandler implements DecoratorHandler for @Component.
- renderApplication creates a server platform, passes it into the application's bootstrap callback, waits for stability, renders, and destroys the platform in finally.
- Documentation history owns an in-memory signal-backed Map and serializes it to localStorage; service-worker CacheDatabase instead stores JSON in Response objects inside CacheStorage.
- Browser DevTools connects a Chrome runtime port to a same-page message bus, injecting backend_bundle.js into the inspected document after Angular detection.
- pnpm build invokes build-packages-dist.mts; package-builder queries npm_package targets tagged release-with-framework, stamps their versions, and copies outputs into dist/packages-dist.
- Adev is configured to prerender all routes; push CI builds its production artifact and deploys through the docs-site action, while package releases delegate to a pinned angular/dev-infra reusable workflow.