Go to file
Alex Rickabaugh 0f54d6c4a5 fix(language-service): use 'any' instead of failing for inline TCBs (#41513)
In environments such as the Language Service where inline type-checking code
is not supported, the compiler would previously produce a diagnostic when a
template would require inlining to check. This happened whenever its
component class had generic parameters with bounds that could not be safely
reproduced in an external TCB. However, this created a bad user experience
for the Language Service, as its features would then not function with such
templates.

Instead, this commit changes the compiler to use the same strategy for
inline TCBs as it does for inline type constructors - falling back to `any`
for generic types when inlining isn't available. This allows the LS to
support such templates with slightly weaker type-checking semantics, which
a test verifies. There is still a case where components that aren't
exported require an inline TCB, and the compiler will still generate a
diagnostic if so.

Fixes #41395

PR Close #41513
2021-04-12 21:02:20 -07:00
.circleci ci: enable compliance tests on Windows (#41556) 2021-04-12 10:08:41 -07:00
.devcontainer build: update the recommended `Dockerfile` for VSCode remote development (#41396) 2021-04-05 12:41:34 -07:00
.github docs: use dedicated anchors for links to `CONTRIBUTING.md` (#41250) 2021-04-01 11:19:57 -07:00
.husky
.ng-dev build: add breakingChangesLabel to merge configuration (#41546) 2021-04-12 10:11:17 -07:00
.vscode
.yarn
aio docs: change ActivatedRouteStub code sample to work with strictNullChecks on (#41559) 2021-04-12 21:01:39 -07:00
dev-infra build: update several dependencies (#41434) 2021-04-12 16:46:29 -07:00
docs docs: use dedicated anchors for links to `CONTRIBUTING.md` (#41250) 2021-04-01 11:19:57 -07:00
goldens test: update CLI integration tests to run only for Ivy (#41434) 2021-04-12 16:46:29 -07:00
integration test: update CLI integration tests to run only for Ivy (#41434) 2021-04-12 16:46:29 -07:00
modules
packages fix(language-service): use 'any' instead of failing for inline TCBs (#41513) 2021-04-12 21:02:20 -07:00
scripts build: correctly publish `angular-in-memory-web-api` as CI build artifact (#41429) 2021-04-06 10:22:54 -07:00
third_party test(core): fix `Function#name` shim used in IE11 (#41439) 2021-04-05 08:56:17 -07:00
tools build: update several dependencies (#41434) 2021-04-12 16:46:29 -07:00
.bazelignore test: remove `cli-hello-world-lazy-rollup` tests (#41434) 2021-04-12 16:46:29 -07:00
.bazelrc build: emit performance JSON file for each ng_module() (#41125) 2021-03-24 13:42:25 -07:00
.bazelversion
.clang-format
.editorconfig
.gitattributes
.gitignore
.gitmessage
.mailmap
.npmrc build: rely on engines to prevent using npm for dependency install (#41477) 2021-04-07 12:05:01 -07:00
.nvmrc
.pullapprove.yml ci: add Zach Arend to pullapprove (#41386) 2021-04-01 12:06:17 -07:00
.yarnrc
BUILD.bazel
CHANGELOG.md release: cut the v12.0.0-next.8 release (#41493) 2021-04-07 11:40:31 -07:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md docs: add link to fork repo how-to (#41266) 2021-03-23 11:22:31 -07:00
LICENSE
README.md docs: document `help wanted` and `good first issue` labels (#41195) 2021-03-15 10:31:29 -07:00
WORKSPACE build: update to rules_nodejs@3.2.1 (#40972) 2021-02-24 08:00:03 -08:00
browser-providers.conf.js
gulpfile.js
karma-js.conf.js
package.json build: update `@angular-devkit/build-angular` to use commit SHA (#41434) 2021-04-12 16:46:29 -07:00
renovate.json ci: improve renovate configuration (#41434) 2021-04-12 16:46:29 -07:00
test-events.js
test-main.js
tslint.json
yarn.lock build: update `@angular-devkit/build-angular` to use commit SHA (#41434) 2021-04-12 16:46:29 -07:00
yarn.lock.readme.md

README.md

Angular - One framework. Mobile & desktop.

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