Overview
Relevant source files
- .devcontainer/recommended-Dockerfile
- .devcontainer/recommended-devcontainer.json
- .github/PULL_REQUEST_TEMPLATE.md
- .gitignore
- .gitmessage
- .vscode/extensions.json
- CONTRIBUTING.md
- MODULE.bazel
- MODULE.bazel.lock
- README.md
- adev/package.json
- adev/src/app/core/constants/links.ts
- adev/src/assets/BUILD.bazel
- adev/src/assets/icons/BUILD.bazel
- adev/src/assets/images/BUILD.bazel
- adev/src/assets/others/BUILD.bazel
- adev/src/content/ai/BUILD.bazel
- adev/src/content/ai/develop-with-ai.md
- adev/src/content/best-practices/update.md
- adev/src/content/cdk/BUILD.bazel
- adev/src/content/examples/service-worker-getting-started/src/app/app.component.html
- adev/src/content/introduction/what-is-angular.md
- adev/src/content/reference/press-kit.md
- adev/src/content/reference/releases.md
- adev/src/content/reference/roadmap.md
- adev/src/content/tools/cli/setup-local.md
- adev/src/context/BUILD.bazel
- contributing-docs/branches-and-versioning.md
- contributing-docs/building-and-testing-angular.md
- contributing-docs/building-with-bazel.md
- contributing-docs/caretaking.md
- contributing-docs/commit-message-guidelines.md
- contributing-docs/documentation-authoring.md
- contributing-docs/saved-issue-replies.md
- contributing-docs/spam.md
- contributing-docs/triage-and-labelling.md
- contributing-docs/using-fixup-commits.md
- goldens/public-api/manage.js
- integration/animations/package.json
- integration/animations/pnpm-lock.yaml
- integration/ng_elements/package.json
- integration/ng_elements/pnpm-lock.yaml
- modules/package.json
- package.json
- packages/BUILD.bazel
- packages/common/upgrade/PACKAGE.md
- packages/compiler-cli/src/ngtsc/imports/README.md
- packages/core/BUILD.bazel
- packages/core/resources/BUILD.bazel
- packages/core/resources/best-practices.md
- packages/core/test/bundling/package.json
- packages/core/test/strict_types/BUILD.bazel
- packages/router/upgrade/PACKAGE.md
- packages/upgrade/PACKAGE.md
- packages/upgrade/src/common/src/downgrade_component.ts
- packages/upgrade/src/common/src/downgrade_component_adapter.ts
- packages/upgrade/src/common/test/downgrade_component_adapter_spec.ts
- packages/upgrade/static/test/integration/downgrade_component_spec.ts
- packages/zone.js/CHANGELOG.md
- packages/zone.js/DEVELOPER.md
- packages/zone.js/NON-STANDARD-APIS.md
- packages/zone.js/package.json
- packages/zone.js/tools/release.mts
- pnpm-lock.yaml
- scripts/benchmarks/README.md
- scripts/ci/publish-snapshot-build-artifacts.sh
- tools/BUILD.bazel
- tools/gulp-tasks/changelog-zonejs.js
- vscode-ng-language-service/CHANGELOG.md
- vscode-ng-language-service/docs/release.md
- vscode-ng-language-service/tools/release.mts
- vscode-ng-language-service/tools/tsconfig.json
The Angular repository at https://github.com/angular/angular is the monorepo containing the source code for the Angular web framework, including the core framework packages, compiler, CLI tooling, developer tools, and supporting infrastructure. This repository builds all published Angular packages (@angular/core, @angular/common, @angular/router, etc.) that application developers install via npm.
This page provides a high-level orientation to the repository structure, build systems, and major architectural components. For detailed information about specific subsystems, see the subsequent sections in the documentation.
Repository Identity and Structure
Monorepo Organization
Angular is structured as a monorepo managed by pnpm workspaces, containing multiple publishable packages, developer tools, documentation sites, and integration tests.
Sources: package.json1-9 pnpm-lock.yaml11-86 MODULE.bazel80-112
Key Directories
Sources: package.json19-54 MODULE.bazel80-112 pnpm-lock.yaml11-86
Framework Package Architecture
Core Package Dependencies
The framework packages form a layered dependency graph where higher-level packages depend on lower-level ones. The repository uses workspace:* to link these packages internally.
Sources: package.json57-81 pnpm-lock.yaml13-86 adev/package.json7-22
Package Workspace Configuration
The repository uses pnpm workspaces with the workspace:* protocol for cross-package dependencies, ensuring that development builds always use the source code within the monorepo.
Sources: package.json60-81 adev/package.json7-22 modules/package.json3-15
Build System Infrastructure
Multi-Tool Build Architecture
Angular uses a hybrid build system combining Bazel for orchestration and pnpm for dependency management. Bazel is configured via MODULE.bazel to handle external dependencies and toolchains.
Package Manager Configuration:
- Uses
pnpmversion 11.5.0 (enforced viapackageManagerandenginesfields). package.json9-14 - Workspace dependencies link to local
packages/directories. pnpm-lock.yaml23-86
Bazel Configuration:
- Uses
rules_nodejs,aspect_rules_ts, andrules_angularfor compilation. MODULE.bazel8-18 - Manages Node.js toolchains (v22.22.3) across platforms. MODULE.bazel49-61
Sources: package.json9-14 package.json19-54 MODULE.bazel1-120
Build Commands
Sources: package.json19-54
Roadmap and Modern Features
The Angular framework is currently focused on improving developer experience (DX), performance, and AI integration. Key modern features currently in the repository include:
- Signals and Reactivity:
resource(),httpResource(), andlinkedSignal. adev/src/content/reference/roadmap.md24-30 - Change Detection: Stable Zoneless change detection and a shift toward
OnPushby default. adev/src/content/reference/roadmap.md29-81 - Hydration: Incremental hydration and event replay for SSR. adev/src/content/reference/roadmap.md31-33
- Signal Forms: A new experimental approach to form management using signals. adev/src/content/reference/roadmap.md23-74
Sources: adev/src/content/reference/roadmap.md1-88
Development Tooling and Documentation
Documentation Site (Angular.dev)
The adev/ directory contains the source for the Angular documentation platform. It is built using the core framework packages and includes:
- Search: Integrated Algolia search. adev/package.json3-6
- Code Editing: Integrated CodeMirror and StackBlitz SDK for interactive examples. adev/package.json23-34 adev/package.json51
- Tutorials: Interactive tutorials powered by WebContainer API. adev/package.json57
Sources: adev/package.json1-97
Public API Management
Angular maintains strict API stability using "golden" files. These files track the public symbols exported by each package.
- Check:
pnpm public-api:checkvalidates that no undocumented or accidental API changes were made. package.json29 - Update:
pnpm public-api:updateaccepts changes to the public API surface. package.json30 - Symbol Extraction:
pnpm symbol-extractor:checkensures internal symbol consistency. package.json31
Sources: package.json29-32 goldens/public-api/manage.js1-30
Version Information
Current Version: 22.1.0-next.0 package.json3 License: MIT package.json8 Repository: https://github.com/angular/angular.git package.json17
Sources: package.json1-18
Refresh this wiki
On this page
- Overview
- Repository Identity and Structure
- Monorepo Organization
- Key Directories
- Framework Package Architecture
- Core Package Dependencies
- Package Workspace Configuration
- Build System Infrastructure
- Multi-Tool Build Architecture
- Build Commands
- Roadmap and Modern Features
- Development Tooling and Documentation
- Documentation Site (Angular.dev)
- Public API Management
- Version Information
