# System map — angular/angular

> Canonical page: https://codevetter.com/unpack/angular/system-map

# System map — angular/angular

Scanned commit 831cb13e1c6e5ff17da23273109772c2b088302e (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

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:*. — [package.json#L1-14](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/package.json#L1-L14) [package.json#L60-81](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/package.json#L60-L81)
- pnpm-workspace.yaml includes framework libraries, adev/shared-docs, dev-app, DevTools, integration projects, Zone.js, and the VS Code client/server workspaces. — [pnpm-workspace.yaml#L1-33](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/pnpm-workspace.yaml#L1-L33)
- adev/src/main.ts boots AppComponent with appConfig; appConfig registers hydration, router providers, Algolia search, analytics initialization, document loaders, and a TypeScript worker provider. — [adev/src/main.ts#L9-13](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/adev/src/main.ts#L9-L13) [adev/src/app/app.config.ts#L37-58](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/adev/src/app/app.config.ts#L37-L58)
- bootstrapApplication assembles browser providers and delegates to internalCreateApplication, which creates an application injector under the platform injector and installs zoneless scheduling. — [packages/platform-browser/src/browser.ts#L123-171](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/packages/platform-browser/src/browser.ts#L123-L171) [packages/core/src/application/create_application.ts#L56-85](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/packages/core/src/application/create_application.ts#L56-L85)
- Compilation has distinct template parsing and TypeScript annotation-analysis layers: parseTemplate constructs HTML and binding parsers, while ComponentDecoratorHandler implements DecoratorHandler for @Component. — [packages/compiler/src/render3/view/template.ts#L140-156](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/packages/compiler/src/render3/view/template.ts#L140-L156) [packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts#L236-257](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts#L236-L257)
- renderApplication creates a server platform, passes it into the application's bootstrap callback, waits for stability, renders, and destroys the platform in finally. — [packages/platform-server/src/utils.ts#L342-379](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/packages/platform-server/src/utils.ts#L342-L379)
- 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. — [adev/shared-docs/services/search-history.service.ts#L32-44](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/adev/shared-docs/services/search-history.service.ts#L32-L44) [adev/shared-docs/services/search-history.service.ts#L95-120](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/adev/shared-docs/services/search-history.service.ts#L95-L120) [packages/service-worker/worker/src/db-cache.ts#L13-19](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/packages/service-worker/worker/src/db-cache.ts#L13-L19) [packages/service-worker/worker/src/db-cache.ts#L77-88](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/packages/service-worker/worker/src/db-cache.ts#L77-L88)
- Browser DevTools connects a Chrome runtime port to a same-page message bus, injecting backend_bundle.js into the inspected document after Angular detection. — [devtools/projects/shell-browser/src/app/content-script.ts#L18-20](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/devtools/projects/shell-browser/src/app/content-script.ts#L18-L20) [devtools/projects/shell-browser/src/app/content-script.ts#L64-114](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/devtools/projects/shell-browser/src/app/content-script.ts#L64-L114)
- 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. — [package.json#L19-25](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/package.json#L19-L25) [scripts/build/build-packages-dist.mts#L11-24](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/scripts/build/build-packages-dist.mts#L11-L24) [scripts/build/package-builder.mts#L21-42](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/scripts/build/package-builder.mts#L21-L42) [scripts/build/package-builder.mts#L72-108](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/scripts/build/package-builder.mts#L72-L108)
- 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. — [adev/src/app/app.config.server.ts#L13-22](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/adev/src/app/app.config.server.ts#L13-L22) [.github/workflows/ci.yml#L195-217](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/.github/workflows/ci.yml#L195-L217) [.github/workflows/release.yml#L10-24](https://github.com/angular/angular/blob/831cb13e1c6e5ff17da23273109772c2b088302e/.github/workflows/release.yml#L10-L24)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
