Go to file
Pete Bacon Darwin 942b24d5ea refactor(compiler): support encoded entity tokens when lexing markup (#42062)
The lexer now splits encoded entity tokens out from text and attribute value tokens.

Previously encoded entities would be decoded and the decoded value would be
included as part of the text token of the surrounding text. Now the entities
have their own tokens. There are two scenarios: text and attribute values.

Previously the contents of `<div>Hello &amp; goodbye</div>` would be a single
TEXT token. Now it will be three tokens:

```
TEXT: "Hello "
ENCODED_ENTITY: "&", "&amp;"
TEXT: " goodbye"
```

Previously the attribute value in `<div title="Hello &amp; goodbye">` would be
a single text token. Now it will be three tokens:

```
ATTR_VALUE_TEXT: "Hello "
ENCODED_ENTITY: "&", "&amp;"
ATTR_VALUE_TEXT: " goodbye"
```

- ENCODED_ENTITY tokens have two parts: "decoded" and "encoded".
- ENCODED_ENTITY tokens are always preceded and followed by either TEXT tokens
  or ATTR_VALUE_TEXT tokens, depending upon the context, even if they represent
  an empty string.

The HTML parser has been modified to recombine these tokens to allow this
refactoring to have limited effect in this commit. Further refactorings
to use these new tokens will follow in subsequent commits.

PR Close #42062
2021-08-02 09:53:13 -07:00
.circleci build: remove ts-api-guardian from repository (#42735) 2021-07-26 12:02:14 -07:00
.devcontainer build: upgrade to node 14 (#41544) 2021-04-14 09:40:17 -07:00
.github ci: fix typo in docs-bug issue template (#42908) 2021-07-22 16:25:39 +00:00
.husky build: remove unnecessary husky gitignore file (#42870) 2021-07-19 17:31:55 -07:00
.ng-dev ci: exempt bazel scope from merge tool target label checks (#42869) 2021-07-19 17:29:01 -07:00
.vscode build: use "outFiles" in .vscode/launch.json to speed up debugging sessions (#39848) 2020-12-17 11:23:13 -08:00
.yarn build: update to yarn v1.22.10 (#40562) 2021-01-26 10:52:27 -08:00
aio build: lock file maintenance (#42890) 2021-07-30 09:27:01 -07:00
dev-infra fix(dev-infra): browser archive rule should handle `.dmg` files (#42992) 2021-07-30 09:28:06 -07:00
docs docs: clarify voting phase for feature requests (#42663) 2021-07-12 15:25:46 -07:00
goldens refactor(compiler): remove cyclic dependencies (#42062) 2021-08-02 09:53:12 -07:00
integration build: remove `skydoc` and `rules_sass` from repository (#42760) 2021-07-09 14:50:15 -07:00
modules build: remove `skydoc` and `rules_sass` from repository (#42760) 2021-07-09 14:50:15 -07:00
packages refactor(compiler): support encoded entity tokens when lexing markup (#42062) 2021-08-02 09:53:13 -07:00
scripts ci: do not update shared dev-infra package in components-repo-unit-tests job (#42268) 2021-06-03 10:37:41 -07:00
third_party test(core): fix `Function#name` shim used in IE11 (#41439) 2021-04-05 08:56:17 -07:00
tools build: remove ts-api-guardian from repository (#42735) 2021-07-26 12:02:14 -07:00
.bazelignore test: delete integration test for language service plugin (#41740) 2021-04-23 11:00:40 -07:00
.bazelrc build: update to new remote instance name for RBE (#42636) 2021-06-24 08:28:57 -07:00
.bazelversion build: remove outdated note when updating bazel version (#42760) 2021-07-09 14:50:14 -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: remove ts-api-guardian from repository (#42735) 2021-07-26 12:02:14 -07:00
.gitignore build: convert CLDR locale extraction from Gulp to Bazel tool (#42230) 2021-07-16 12:44:59 -07:00
.gitmessage fix(platform-webworker): remove platform-webworker and platform-webworker-dynamic (#38846) 2020-09-30 09:13:59 -04: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: upgrade to node 14 (#41544) 2021-04-14 09:40:17 -07:00
.prettierrc ci: use prettier to format yml files (#42136) 2021-05-19 11:20:20 -07:00
.pullapprove.yml ci: add atscott to fw-compiler reviewers (#42963) 2021-07-27 09:22:49 -07:00
.yarnrc build: update to yarn v1.22.10 (#40562) 2021-01-26 10:52:27 -08:00
BUILD.bazel fix(dev-infra): `ng_rollup_bundle` rule should error if import cannot be resolved (#42760) 2021-07-09 14:50:14 -07:00
CHANGELOG.md docs: release notes for the v12.2.0-rc.0 release 2021-07-28 12:05:41 -07:00
CODE_OF_CONDUCT.md docs: add Discord as an official communication channel (#39149) 2020-10-14 10:23:15 -07:00
CONTRIBUTING.md docs: add link to fork repo how-to (#41266) 2021-03-23 11:22:31 -07:00
LICENSE docs: update the copyright notice date (#40707) 2021-02-16 10:04:23 -08:00
README.md docs: update tagline (#41922) 2021-05-03 10:04:05 -07:00
WORKSPACE build: update bazel to v4.0.0-beta.1 (#42967) 2021-07-28 10:54:05 -07:00
browser-providers.conf.js ci: remove IE 9 and IE 10 from CI (#38931) 2020-09-25 14:31:10 -04:00
gulpfile.js build: convert CLDR locale extraction from Gulp to Bazel tool (#42230) 2021-07-16 12:44:59 -07:00
karma-js.conf.js fix(dev-infra): `ng_rollup_bundle` rule should error if import cannot be resolved (#42760) 2021-07-09 14:50:14 -07:00
package.json release: bump the next branch to v13.0.0-next.0 2021-07-28 12:03:49 -07:00
renovate.json build: remove ts-api-guardian from repository (#42735) 2021-07-26 12:02:14 -07:00
test-events.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
test-main.js build: remove unnecessary polyfills from tests (#42567) 2021-06-14 14:14:41 -07:00
tsconfig-tslint.json feat(dev-infra): add lint rule to enforce no-implicit-override abstract members (#42512) 2021-07-12 13:11:16 -07:00
tslint.json build: remove ts-api-guardian from repository (#42735) 2021-07-26 12:02:14 -07:00
yarn.lock build: lock file maintenance (#42890) 2021-07-30 09:27:01 -07:00
yarn.lock.readme.md build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00

README.md

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.

www.angular.io

Contributing Guidelines · Submit an Issue · Blog

CI status   Angular on npm   Discord conversation


Documentation

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

Advanced

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 file a bug, contribute some code, or improve 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 ⬆️.