Deliver web apps with confidence 🚀
Find a file
Kristiyan Kostadinov 9e847fc60d fix(compiler): handle tracking expressions requiring temporary variables (#58520)
Currently when we generate the tracking expression for a `@for` block, we process its expression in the context of the creation block. This is incorrect, because the expression may require ops of its own for cases like nullish coalescing or safe reads. The result is that while we do generate the correct variable, they're added to the creation block rather than the tracking function which causes an error at runtime.

These changes address the issue by keeping track of a separate set of ops for the `track` expression that are prepended to the generated function, similarly to how we handle event listeners.

Fixes #56256.

PR Close #58520
2025-02-12 09:56:08 -08:00
.devcontainer ci: remove circleci as we no longer rely on it (#58615) 2024-11-12 18:39:25 +00:00
.github build: update github/codeql-action action to v3.28.8 (#59786) 2025-02-03 13:54:01 -08:00
.husky build: simplify husky setup (#54315) 2024-02-07 16:34:13 +00:00
.ng-dev ci: configure merge tool to enforce mandatory PR statuses (#59749) 2025-01-28 12:53:33 +01:00
.vscode refactor(docs-infra): complete removal of aio directory (#56496) 2024-06-18 12:26:00 -07:00
.yarn build: update yarn to 1.22.22 (#58448) 2024-10-31 19:06:16 +01:00
adev docs: fix tabs in example code in creating injectable services (#59911) 2025-02-12 09:46:51 -08:00
contributing-docs docs: updates versioning docs to recommend that fixes in an RC period be released as a -next release prior to hitting stable (#59766) 2025-01-29 10:52:44 -08:00
devtools fix(devtools): regressions in component tree (#59873) 2025-02-12 09:22:28 -08:00
goldens fix(core): fix race condition in resource() (#59851) 2025-02-05 15:01:02 -08:00
integration feat(core): support TypeScript 5.8 (#59830) 2025-02-03 14:00:41 -08:00
modules docs: update license URL from angular.io to angular.dev and year of license to 2025 (#59407) 2025-01-09 10:27:54 -05:00
packages fix(compiler): handle tracking expressions requiring temporary variables (#58520) 2025-02-12 09:56:08 -08:00
scripts ci: remove circleci as we no longer rely on it (#58615) 2024-11-12 18:39:25 +00:00
third_party build: create NodeJS ESM loader for supporting Bazel setup (#48521) 2022-12-19 19:50:40 +00:00
tools docs: clarify that @for doesn't support break/continue (#59533) 2025-01-15 12:00:21 -05:00
.bazelignore build: correct ignore nested node_modules (#58821) 2024-11-22 14:56:23 +00:00
.bazelrc ci: remove circleci as we no longer rely on it (#58615) 2024-11-12 18:39:25 +00:00
.bazelversion build: update to bazel v5 for new runfiles API used in dev-infra (#45407) 2022-03-21 16:55:36 -07: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
.gitattributes build: cleanup .gitattributes file and remove outdated CRLF attribute (#46513) 2022-06-28 13:38:27 -07:00
.gitignore build: correct ignore nested node_modules (#58821) 2024-11-22 14:56:23 +00:00
.gitmessage build: clean up references to old master branch (#45856) 2022-05-04 16:23:33 -07:00
.mailmap build: add a Git .mailmap with my new name (#19550) 2017-10-09 14:35:30 -07:00
.npmrc build: rely on engines to prevent using npm for dependency install (#41477) 2021-04-07 12:05:01 -07:00
.nvmrc build: bump to node 18.20 to support v18 (#55162) 2024-04-12 14:51:44 -07:00
.prettierrc build: Update prettierrc to always use trailing commas (#58266) 2024-11-04 18:14:05 +01:00
.pullapprove.yml build: remove self from unavailable list (#59858) 2025-02-05 12:18:57 -08:00
.yarnrc build: update yarn to 1.22.22 (#58448) 2024-10-31 19:06:16 +01: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: update yarn to 1.22.22 (#58448) 2024-10-31 19:06:16 +01:00
CHANGELOG.md release: cut the v19.2.0-next.2 release 2025-02-06 12:50:20 -08:00
CHANGELOG_ARCHIVE.md docs: fix typos 2023-06-22 12:56:49 +02:00
CODE_OF_CONDUCT.md build: update CODE_OF_CONDUCT.md to match the content of angular/.github 2023-03-13 21:07:51 +00:00
CONTRIBUTING.md docs: update contributing guidelines to reference TypeScript style guide (#59282) 2025-01-06 17:27:28 +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 ci: remove circleci as we no longer rely on it (#58615) 2024-11-12 18:39:25 +00:00
LICENSE docs: update copyright year (#59359) 2025-01-06 19:58:30 +00:00
package.json build: update dependency saucelabs to v9 (#59801) 2025-02-12 09:39:28 -08:00
packages.bzl refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
README.md docs: add Bluesky links (#59661) 2025-01-22 07:58:15 -08:00
renovate.json ci: prevent renovate from updating @bazel/ibazel (#59761) 2025-01-28 19:17:34 +01:00
SECURITY.md docs: update security guide link to adev (#56469) 2024-06-17 08:54:08 -07:00
tsconfig-tslint.json docs(docs-infra): enable tslint (#58961) 2024-12-05 16:03:35 -08:00
tslint.json refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
WORKSPACE build: update io_bazel_rules_sass digest to d829b6a (#59862) 2025-02-12 09:47:52 -08:00
yarn.bzl build: update yarn to 1.22.22 (#58448) 2024-10-31 19:06:16 +01:00
yarn.lock build: update dependency saucelabs to v9 (#59801) 2025-02-12 09:39:28 -08: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   Discord conversation


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 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 ⬆️.