Deliver web apps with confidence 🚀
Find a file
Alex Rickabaugh 4007422cc6 fix(compiler): correct confusion between field and property names (#38685)
The `R3TargetBinder` accepts an interface for directive metadata which
declares types for `input` and `output` objects. These types convey the
mapping between the property names for an input or output and the
corresponding property name on the component class. Due to
`R3TargetBinder`'s requirements, this mapping was specified with property
names as keys and field names as values.

However, because of duck typing, this interface was accidentally satisifed
by the opposite mapping, of field names to property names, that was produced
in other parts of the compiler. This form more naturally represents the data
model for inputs.

Rather than accept the field -> property mapping and invert it, this commit
introduces a new abstraction for such mappings which is bidirectional,
eliminating the ambiguous plain object type. This mapping uses new,
unambiguous terminology ("class property name" and "binding property name")
and can be used to satisfy both the needs of the binder as well as those of
the template type-checker (field -> property).

A new test ensures that the input/output metadata produced by the compiler
during analysis is directly compatible with the binder via this unambiguous
new interface.

PR Close #38685
2020-09-08 11:43:02 -07:00
.circleci fix(core): detect DI parameters in JIT mode for downleveled ES2015 classes (#38463) 2020-08-17 10:55:37 -07:00
.devcontainer build: update the recommended Dockerfile for VSCode remote development (#34697) 2020-01-09 13:31:14 -08:00
.github docs: add space between icon and text in issue template (#38712) 2020-09-08 10:06:25 -07:00
.ng-dev build: add configuration for the caretaker command (#38601) 2020-09-01 13:05:32 -07:00
.vscode build: Ignore .history for the xyz.local-history VSCode extension (#38121) 2020-07-17 13:33:39 -07:00
.yarn build: update to latest version of yarn (#36464) 2020-04-14 12:47:30 -07:00
aio build: upgrade all preview-server JS dependencies to latest versions (#38736) 2020-09-08 10:07:25 -07:00
dev-infra fix(dev-infra): change logging of commit message restoration to debug (#38704) 2020-09-08 10:07:03 -07:00
docs docs: update docs to reflect new PR targeting methods for release trains (#38401) 2020-08-27 14:52:04 -07:00
goldens perf(core): use ngDevMode to tree-shake error messages (#38612) 2020-09-08 11:41:43 -07:00
integration fix(bazel): fix integration test for bazel building (#38629) 2020-08-28 11:16:40 -07:00
modules refactor(dev-infra): ng_rollup_bundle rule should leverage @bazel/rollup (#37623) 2020-06-22 10:55:28 -07:00
packages fix(compiler): correct confusion between field and property names (#38685) 2020-09-08 11:43:02 -07:00
scripts style(dev-infra): enforce format on newly included files (#36940) 2020-06-12 15:06:41 -07:00
third_party build: move shims_for_IE to third_party directory (#37624) 2020-06-26 11:09:01 -07:00
tools feat(compiler-cli): add support for TypeScript 4.0 (#38076) 2020-08-24 13:06:59 -07:00
.bazelignore build: add npm package manifest to npm_integration_test (#35669) 2020-02-26 12:58:35 -08:00
.bazelrc build: cleanup .bazelrc file to no longer set unused flags (#38124) 2020-08-03 12:53:11 -07:00
.bazelversion build: upgrade to bazel 3.2.0 and rules_nodejs 1.7.0 (#37358) 2020-06-08 09:15:50 -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 test: fix ts api guardian and public guard tests on windows (#30105) 2019-04-26 16:32:22 -07:00
.gitignore build: Ignore .history for the xyz.local-history VSCode extension (#38121) 2020-07-17 13:33:39 -07:00
.gitmessage build: add .gitmessage file with commit message template (#37951) 2020-07-13 09:23:03 -07:00
.mailmap build: add a Git .mailmap with my new name (#19550) 2017-10-09 14:35:30 -07:00
.nvmrc build: migrate to node@12.14.1 (#34955) 2020-01-27 09:31:22 -08:00
.pullapprove.yml fix(dev-infra): update i18n-related file locations in PullApprove config (#38403) 2020-08-10 17:29:51 -07:00
.yarnrc build: update to latest version of yarn (#36464) 2020-04-14 12:47:30 -07:00
browser-providers.conf.js build: run browsers tests on chromium locally (#38435) 2020-08-13 09:37:02 -07:00
BUILD.bazel build: move shims_for_IE to third_party directory (#37624) 2020-06-26 11:09:01 -07:00
CHANGELOG.md docs: remove reverted bug fix from 10.1 change log (#38718) 2020-09-08 09:08:27 -07:00
CODE_OF_CONDUCT.md docs: fix community tab in GitHub by copying CoC 2018-02-27 19:02:30 -08:00
CONTRIBUTING.md refactor(dev-infra): remove style type from commit style guide (#38639) 2020-08-31 08:40:14 -07:00
gulpfile.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
karma-js.conf.js fix(core): detect DI parameters in JIT mode for downleveled ES2015 classes (#38463) 2020-08-17 10:55:37 -07:00
LICENSE build: bump year (#34651) 2020-01-13 07:21:43 -08:00
package.json feat(dev-infra): check services/status information of the repository for caretaker (#38601) 2020-09-01 13:05:30 -07:00
README.md docs: remove browserstack badge from readme (#35684) 2020-03-17 09:29:43 -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: import in-memory-web-api project (#37182) 2020-06-15 14:28:37 -07:00
tslint.json build: Update file-header lint rule to Google LLC (#37205) 2020-05-26 14:26:58 -04:00
WORKSPACE build: upgrade to bazel 3.2.0 and rules_nodejs 1.7.0 (#37358) 2020-06-08 09:15:50 -07:00
yarn.lock feat(dev-infra): check services/status information of the repository for caretaker (#38601) 2020-09-01 13:05:30 -07:00
yarn.lock.readme.md build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00

CircleCI Join the chat at https://gitter.im/angular/angular npm version

Angular

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

Quickstart

Get started in 5 minutes.

Changelog

Learn about the latest improvements.

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 in the hotlist: community-help.