Deliver web apps with confidence 🚀
Find a file
arturovt 099bf577ee fix(router): skip scroll-to-top on initial navigation when hydrating
When scrollPositionRestoration is enabled and the app hydrates an
SSR-rendered page, RouterScroller was unconditionally scrolling the
viewport to [0, 0] on the first imperative navigation. This discards
any scroll position the user established while the server-rendered
page was loading.

Fix by injecting IS_HYDRATION_DOM_REUSE_ENABLED into RouterScroller
and suppressing the scroll-to-top for the initial navigation only.
Subsequent navigations are unaffected.

Closes #64578

(cherry picked from commit 8ec0d1eee8)
2026-05-19 13:01:59 -07:00
.agent refactor: attempt stronger automatic comment blocking 2026-04-30 15:45:45 -07:00
.devcontainer build: update dev container configuration 2026-01-12 13:39:29 -08:00
.gemini refactor: ignore pnpm-lock.yaml in Gemini code reviews 2026-03-19 14:56:00 -07:00
.github build: update all github actions 2026-04-30 16:09:31 -07:00
.husky build: use pnpm as the package manager instead of yarn (#62924) 2025-07-31 22:06:27 +00:00
.ng-dev build: no longer require release mode for releases 2026-03-04 22:48:59 +00:00
.vscode build: use @angular/language-service from source (#64306) 2025-10-09 10:00:31 -07:00
adev docs(docs-infra): Show function args 2026-05-18 13:22:33 -07:00
contributing-docs docs: normalize product name casing across docs 2026-05-07 15:09:49 -07:00
dev-app build: update cross-repo angular dependencies 2026-04-29 13:29:44 -07:00
devtools fix(devtools): fix incorrect logic in destroy function for ChromeMessageBus 2026-03-23 14:51:32 -07:00
goldens fix(platform-server): add allowedHosts option to renderModule and renderApplication 2026-05-07 15:30:07 -07:00
integration fix(platform-server): add allowedHosts option to renderModule and renderApplication 2026-05-07 15:30:07 -07:00
modules build: update cross-repo angular dependencies 2026-04-29 13:29:44 -07:00
packages fix(router): skip scroll-to-top on initial navigation when hydrating 2026-05-19 13:01:59 -07:00
scripts refactor(dev-infra): use shell: false and quote args in benchmark-compare workflow 2026-04-28 17:29:28 +00:00
skills/dev-skills docs: add "Using Agent Skills" + command to skills README.md 2026-04-13 21:12:30 +03:00
third_party build: drop usage of pkg_web (#62990) 2025-08-05 10:08:47 +02:00
tools docs: clarify @for track expression scope to include properties and methods 2026-05-05 17:02:57 -07:00
vscode-ng-language-service fix(vscode-extension): Look for tsdk override in the new js/ts.tsdk.path setting 2026-04-29 13:32:02 -07:00
.bazelrc build: update to bazel version 8.4.2 2025-12-08 10:21:59 -08:00
.bazelversion build: update dependency bazel to v8.6.0 2026-02-27 09:10:15 -08:00
.clang-format feat(tooling): Add a .clang-format for automated JavaScript formatting. 2015-04-02 08:44:34 -07:00
.editorconfig build: use https link to editorconfig.org in .editorconfig (#27664) 2018-12-18 09:30:09 -08:00
.git-blame-ignore-revs build: add commits to the ignore revs files. 2025-12-16 16:32:49 -08:00
.gitattributes build: cleanup .gitattributes file and remove outdated CRLF attribute (#46513) 2022-06-28 13:38:27 -07:00
.gitignore build: update dev container configuration 2026-01-12 13:39:29 -08:00
.gitmessage docs: move commit message guidelies to a separate file (#58786) 2025-03-04 19:35:54 +00:00
.mailmap build: add a Git .mailmap with my new name (#19550) 2017-10-09 14:35:30 -07:00
.npmrc build: ensure optimization rule can use compiler-cli from HEAD (#61810) 2025-06-02 09:52:57 -04:00
.nvmrc build: update dependency node to v22.22.2 2026-03-25 13:29:38 -07:00
.pnpmfile.cjs build: improve dependency management for local packages 2025-11-12 09:34:27 -08:00
.prettierignore build: update cross-repo angular dependencies 2026-02-25 10:26:00 -08:00
.prettierrc ci: enable embeddedLanguageFormatting for prettier 2025-12-15 09:54:48 -08:00
.pullapprove.yml ci: mark devversion as unavailable 2026-05-12 10:47:13 -07:00
AGENTS.md docs: add testing tips to AGENTS.md 2026-02-17 08:23:59 -08:00
browser-providers.conf.d.ts build: share Saucelabs browsers between karma test targets using background Saucelabs daemon and custom karma launcher (#49200) 2023-05-15 09:21:46 -07:00
browser-providers.conf.js refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
BUILD.bazel build: use snapshot builds for dependencies in @angular/language-server (#64334) 2025-10-10 06:48:51 -07:00
CHANGELOG.md release: cut the v21.2.13 release 2026-05-13 16:24:31 -07:00
CHANGELOG_ARCHIVE.md build: format md files 2025-11-06 10:03:05 -08:00
CODE_OF_CONDUCT.md build: format md files 2025-11-06 10:03:05 -08:00
context7.json docs: add context7.json config (#63000) 2025-08-05 18:15:38 +02:00
CONTRIBUTING.md docs: fix typos and grammar errors across documentation 2026-04-08 16:40:51 +00:00
gulpfile.js refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
karma-js.conf.js build: update to bazel 7.6.0 (#63096) 2025-08-14 13:01:30 +02:00
LICENSE docs: update copyright year 2026-01-07 12:28:34 -05:00
MODULE.bazel build: update dependency bazel_lib to v3.3.1 2026-04-30 16:14:02 -07:00
MODULE.bazel.lock build: update cross-repo angular dependencies 2026-04-30 16:09:55 -07:00
package.json release: cut the v21.2.13 release 2026-05-13 16:24:31 -07:00
packages.bzl docs(docs-infra): remove unused examples 2026-01-26 23:19:35 +00:00
pnpm-lock.yaml build: update cross-repo angular dependencies 2026-04-30 16:09:55 -07:00
pnpm-workspace.yaml ci: add zone.js to minimumReleaseAgeExclude 2026-02-19 20:41:24 +00:00
README.md docs: Fix typo in doc 2026-04-28 00:08:06 +00:00
renovate.json build: remove redundant Bazel lockfile update workarounds 2026-03-17 12:53:11 -07:00
REPO.bazel build: migrate Bazel ignore rules from .bazelignore to REPO.bazel 2025-12-17 10:14:00 -08:00
SECURITY.md docs: update security guide link to adev (#56469) 2024-06-17 08:54:08 -07:00
tsconfig-tslint.json build: update tslint configuration (#61146) 2025-05-06 13:35:24 -07:00
tslint.json build: add a noDuplicateEnumValue rule (#63483) 2025-09-10 22:16:10 +00:00

Angular - The modern web developer's platform

angular-logo
Angular is a development platform for building mobile and desktop web applications
using TypeScript/JavaScript and other languages.

angular.dev

Contributing Guidelines · Submit an Issue · Blog

Angular on npm


Documentation

Get started with Angular, learn the fundamentals and explore advanced topics on our documentation website.

Advanced

Local Development

To contribute to the Angular Docs, check out the Angular.dev README

Development Setup

Prerequisites

Setting Up a Project

Install the Angular CLI globally:

npm install -g @angular/cli

Create a workspace:

ng new [PROJECT NAME]

Run the application:

cd [PROJECT NAME]
ng serve

Angular is cross-platform, fast, scalable, has incredible tooling, and is loved by millions.

Quickstart

Get started in 5 minutes.

Ecosystem

angular ecosystem logos

Changelog

Learn about the latest improvements.

Upgrading

Check out our upgrade guide to find out the best way to upgrade your project.

Contributing

Contributing Guidelines

Read through our contributing guidelines to learn about our submission process, coding rules, and more.

Want to Help?

Want to report a bug, contribute some code, or improve the documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues labeled as help wanted or good first issue.

Code of Conduct

Help us keep Angular open and inclusive. Please read and follow our Code of Conduct.

Community

Join the conversation and help the community.

Love Angular badge

Love Angular? Give our repo a star ⬆️.