angular/angular
Glossary
Vocabulary used throughout the codebase. Many of these terms predate the public-facing Angular documentation and only appear in internal commentary, commit messages, and design docs.
Compilation
- Ivy — the rendering and compilation pipeline introduced in Angular 9. Replaces View Engine. Implemented in
packages/core/src/render3at runtime andpackages/compiler-cli/src/ngtscat compile time. The legacy "View Engine" compiler has been removed; "Ivy" is mostly a historical name. - ngtsc — Angular's TypeScript compiler plugin under
packages/compiler-cli/src/ngtsc. Replaces the olderngc. It runs as part of an ordinarytscinvocation and rewrites Angular decorators into Ivyɵ-prefixed definitions. - Annotation handler — a class under
ngtsc/annotations/that recognizes an Angular decorator (e.g.,ComponentDecoratorHandler) and produces analysis, resolution, and compilation output. - TCB / type check block — a synthetic TypeScript snippet generated by
ngtsc/typecheckthat encodes a template's binding semantics as expressionstsccan type-check. The output ofngtsctemplate type checking shows up in TypeScript diagnostics. - Linker — the partial-compilation linker in
packages/compiler-cli/linker. Libraries on npm are shipped as "partial" Ivy code; the linker finishes compilation in the consumer's bundler step (Babel plugin / Webpack loader). - Partial compilation — the intermediate, version-stable Ivy output checked into npm packages so that libraries don't have to re-publish for every framework patch.
Runtime data structures
TView— Template View. The static, compile-time-derived metadata for a template, shared by every component instance. Seepackages/core/src/render3/interfaces/view.ts.LView— Logical View. The per-instance, mutable array that holds component context, binding values, child views, and DOM node references. The fundamental unit of work for change detection.TNode— Template Node. Per-template-position metadata describing a DOM element, container, or projection point. Stored on theTViewand shared across instances.LContainer— an array slot in anLViewthat holds dynamically created views (e.g., from*ngFor,@for, structural directives).- Instruction — a generated function call (e.g.,
ɵɵelementStart,ɵɵproperty) emitted by the compiler. Implemented inpackages/core/src/render3/instructions. ɵprefix — the "theta" prefix on private Angular APIs (ɵcmp,ɵfac,ɵɵelementStart). Reserved for emit and runtime internals; not part of the public API.
Reactivity
- Signal — a cell holding a value with subscriber tracking. Defined in
packages/core/primitives/signals. The basis forsignal(),computed(),effect(), and signal-based component inputs. linkedSignal— a signal that tracks an upstream signal but allows local override. Used by signal forms.- Reactive consumer — anything that subscribes to a signal: a
computed(), aneffect(), anLViewrendering signals, or a template binding. - Zoneless — a mode where Angular schedules change detection without
zone.js. Driven by signals and explicitmarkForCheck/scheduleMicrotaskcalls. The framework now defaults to zoneless-friendly testing patterns.
Dependency injection
Injector— a lookup table that resolves provider tokens to instances. Multiple injectors form a tree.EnvironmentInjector— the application-scoped injector created bybootstrapApplication. Contains "environment providers" (provideRouter,provideHttpClient, etc.).- Element injector — a per-DOM-element injector that resolves directives and component-level providers. Looked up via the bloom filter in
render3/di.ts. - Provider — a binding from token → factory or instance. Configured via
providers,provideXxxfunctions, or static@Injectable({ providedIn: 'root' }).
App composition
- Standalone component — a component declared with
standalone: true(now the default) that imports its dependencies directly instead of via anNgModule. bootstrapApplication— the standalone bootstrap entry point in@angular/platform-browser. ReplacesplatformBrowserDynamic().bootstrapModule(...).- NgModule — the legacy compositional unit. Still supported but deprecated for new code; the long-term plan is to remove
@NgModuleentirely. - Deferrable view — a
@defer { ... }block whose dependencies are loaded lazily based on a trigger (idle, viewport, hover, interaction). Implemented inpackages/core/src/defer. - Control flow blocks — the
@if,@for,@switch,@lettemplate syntax that replaces*ngIf,*ngFor,*ngSwitch. Compiled bypackages/compiler/src/render3/view/template.
Hydration & SSR
- Hydration — reusing server-rendered DOM at client boot instead of re-creating it. See
packages/core/src/hydration. ngSkipHydration— an attribute that opts a component out of hydration when it cannot be safely rehydrated (e.g., manual DOM manipulation).- Incremental hydration — hydrating deferred views only when their trigger fires, not at boot.
- Transfer state — server-to-client state passed via a serialized JSON island. See
packages/core/src/transfer_state.ts. - Domino — a fork of Mozilla's
dom.jsused byplatform-serverto provide a DOM implementation in Node. Forked atangular/domino.
Tooling
ng-dev— the internal CLI that powers commit linting, format, release, and PR utilities. Configured in.ng-dev/and shipped from the@angular/ng-devsister repository.bazelisk— the Bazel launcher pinned to a specific Bazel version via.bazelversion.ibazel— Bazel's iterative watcher; used bypnpm adevandpnpm devtools:devserverfor incremental dev builds.- Goldens — snapshot files under
goldens/that pin public API surfaces and bundle-size budgets. Tested in CI; updated viapnpm public-api:update/pnpm symbol-extractor:update. tsec— Google's "trusted-types" enforcement for TypeScript, configured inpackages/tsec-exemption.jsonand run viapnpm test-tsec.
Versioning & release
- Patch / minor / major — Angular ships every 6 months for major versions; minor/patch happen biweekly. Each major has an LTS window. See
contributing-docs/branches-and-versioning.md. -next.X— the pre-release tag on the next major (currentlyv22.0.0-next.10).- Caretaker — the rotating role that triages issues and merges PRs that week. See
contributing-docs/caretaking.md. - CHANGELOG_ARCHIVE.md — the historical changelog (everything before the current major). The active changelog is
CHANGELOG.md.
Repository quirks
workspace:*— pnpm syntax inpackage.jsondeclaring an in-workspace dependency that resolves to source.adev— short for "Angular dev"; the docs site at angular.dev. Located inadev/.dev-app— a single-app pnpm workspace (dev-app/) used for ad-hoc framework experimentation. Distinct fromadev.devtools— the browser DevTools extension atdevtools/, which uses message passing between an inspected page, a content script, and a DevTools panel.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.