Deliver web apps with confidence 🚀
Find a file
Kristiyan Kostadinov 7767aa640c fix(compiler): allow more characters in square-bracketed attribute names (#62742)
Currently the HTML parser will stop parsing as soon as it hits an end character in the name of an attribute (e.g. `/` or `>`). This ends up being problematic with some third-party packages like Tailwind which uses a wider range of characters for its class names. While the characters are fine when inside the `class` attribute, our current parser behavior prevents users from setting those classes conditionally through `[class.]` bindings.

These changes adjust the parser to handle such cases.

Fixes #61671.

PR Close #62742
2025-07-23 11:06:47 -04:00
.aspect/rules/external_repository_action_cache build: update dependency angular-split to v20 (#62740) 2025-07-22 14:18:14 -04:00
.devcontainer ci: remove circleci as we no longer rely on it (#58615) 2024-11-12 18:39:25 +00:00
.gemini ci: add gemini code assist config (#62560) 2025-07-09 12:42:45 -07:00
.github build: update github/codeql-action action to v3.29.3 (#62739) 2025-07-22 10:16:28 -04:00
.husky build: simplify husky setup (#54315) 2024-02-07 16:34:13 +00:00
.ng-dev ci: use new size tracking in integration tests (#62650) 2025-07-17 13:56:22 -04: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 docs: create MCP server setup guide (#62746) 2025-07-23 07:24:48 -04:00
contributing-docs build: move nodejs_test to js_test (#62709) 2025-07-22 10:07:13 -04:00
devtools feat(devtools): add transfer state tab (#62465) 2025-07-22 08:41:10 -04:00
goldens refactor(compiler): Tree shake Element Registry (#62682) 2025-07-23 09:37:16 -04:00
integration ci: use new size tracking in integration tests (#62650) 2025-07-17 13:56:22 -04:00
modules build: remove all usages of the interop_deps attr for ts_project and ng_project (#62732) 2025-07-21 13:03:09 -04:00
packages fix(compiler): allow more characters in square-bracketed attribute names (#62742) 2025-07-23 11:06:47 -04:00
scripts ci: use new size tracking in integration tests (#62650) 2025-07-17 13:56:22 -04:00
third_party refactor(devtools): use Material Symbols without fill (#62028) 2025-06-24 14:07:00 +00:00
tools build: remove unused @bazel/* npm packages (#62709) 2025-07-22 10:07:14 -04:00
.bazelignore build: migrate adev to use rules_angular based cli rules (#62435) 2025-07-03 08:09:33 +00:00
.bazelrc build: migrate to @devinfra for toolchains (#62302) 2025-06-27 07:19:18 +00:00
.bazelversion build: update to bazel 6 (#61087) 2025-05-02 09:12:23 -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
.git-blame-ignore-revs build: exclude relative imports commits via .git-blame-ignore-revs (#60680) 2025-04-01 20:18:36 +00: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 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.17.1 (#62676) 2025-07-17 14:18:19 -04:00
.pnpmfile.cjs feat(core): support TypeScript 5.9 (#62541) 2025-07-14 14:04:58 -07:00
.prettierignore build: add .prettierignore configuration file (#61087) 2025-05-02 09:12:23 -07:00
.prettierrc build: Update prettierrc to always use trailing commas (#58266) 2024-11-04 18:14:05 +01:00
.pullapprove.yml ci: update renovate reviewers (#62761) 2025-07-23 07:24:13 -04: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: remove all usages of the interop_deps attr for ts_project and ng_project (#62732) 2025-07-21 13:03:09 -04:00
CHANGELOG.md docs: release notes for the v20.1.2 release 2025-07-17 17:49:06 -04: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 refactor(devtools): inject number and symbol values with injection tokens (#56898) 2025-06-25 17:02:54 +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: migrate to use web test runner rules (#62292) 2025-06-26 17:19:10 +00:00
LICENSE docs: update copyright year (#59359) 2025-01-06 19:58:30 +00:00
package.json build: update dependency angular-split to v20 (#62740) 2025-07-22 14:18:14 -04:00
packages.bzl build: replace all ng_package with new rule from rules_angular (#61843) 2025-06-04 09:13:41 +00:00
pnpm-lock.yaml build: update dependency angular-split to v20 (#62740) 2025-07-22 14:18:14 -04:00
pnpm-workspace.yaml build: migrate adev to use rules_angular based cli rules (#62435) 2025-07-03 08:09:33 +00:00
README.md docs: replace material.a.io with material.a.dev (#61513) 2025-05-20 13:40:42 +00:00
renovate.json build: move nodejs_test to js_test (#62709) 2025-07-22 10:07:13 -04: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: migrate tslint rules from dev-infra to local (#62709) 2025-07-22 10:07:13 -04:00
WORKSPACE build: remove unused @bazel/* npm packages (#62709) 2025-07-22 10:07:14 -04:00
yarn.bzl build: update yarn to 1.22.22 (#58448) 2024-10-31 19:06:16 +01:00
yarn.lock build: update dependency angular-split to v20 (#62740) 2025-07-22 14:18:14 -04: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 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 ⬆️.