Deliver web apps with confidence 🚀
Find a file
Kristiyan Kostadinov 2b12b8a569 refactor(core): move duplicate directive check outside of host directives (#60137)
The check that verifies that there are no duplicates in the directives array was only running after host directive matching since that was the only case when it can happen. After the upcoming changes that won't be the case anymore so these changes move it always run after directive matching.

I also did some additional cleanup by adding comments and by not lazily initializing the `allDirectiveDefs` array when matching host directives. The array is guaranteed to be defined since earlier in the function we verify that there's at least one def with host directives.

PR Close #60137
2025-03-03 22:04:48 +00:00
.devcontainer ci: remove circleci as we no longer rely on it (#58615) 2024-11-12 18:39:25 +00:00
.github build: update actions/cache digest to d4323d4 (#60145) 2025-02-27 18:23:42 +00: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 build: add ignore revs file for git blame (#60117) 2025-02-26 16:19:25 -05:00
.yarn build: update yarn to 1.22.22 (#58448) 2024-10-31 19:06:16 +01:00
adev feat(compiler): support tagged template literals in expressions (#59947) 2025-02-28 19:53:33 +00: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 feat(core): emit template function for template related profiler hooks (#60174) 2025-03-03 22:03:44 +00:00
goldens fix(core): Catch and report rejections in async function of PendingTasks.run (#60044) 2025-03-03 17:13:33 +00:00
integration build: update to TypeScript 5.8 RC (#59952) 2025-02-14 16:32:50 +00: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 refactor(core): move duplicate directive check outside of host directives (#60137) 2025-03-03 22:04:48 +00: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 build: temporarily patch @angular/build (#60024) 2025-02-24 17:10:04 -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
.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 ignore revs file for git blame (#60117) 2025-02-26 16:19:25 -05: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
.npmrc build: rely on engines to prevent using npm for dependency install (#41477) 2021-04-07 12:05:01 -07:00
.nvmrc ci: update nvm node.js verson to 18.20.5 (#59957) 2025-02-14 17:24:55 +00:00
.prettierrc build: Update prettierrc to always use trailing commas (#58266) 2024-11-04 18:14:05 +01:00
.pullapprove.yml build: remove circular deps goldens (#60021) 2025-02-19 21:01:31 +00: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 v20.0.0-next.0 release 2025-02-26 16:52:39 -05: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 all non-major dependencies (#60093) 2025-02-25 10:49:23 -05: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 3b3667f (#60092) 2025-02-25 10:45:34 -05:00
yarn.bzl build: update yarn to 1.22.22 (#58448) 2024-10-31 19:06:16 +01:00
yarn.lock build: lock file maintenance (#60073) 2025-02-27 17:45:05 +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   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 ⬆️.