angular/packages/compiler-cli/src
Alex Rickabaugh 628f957c4a fix(ivy): add strictLiteralTypes to align Ivy + VE checking of literals (#35462)
Under View Engine's default (non-fullTemplateTypeCheck) checking, object and
array literals which appear in templates are treated as having type `any`.
This allows a number of patterns which would not otherwise compile, such as
indexing an object literal by a string:

```html
{{ {'a': 1, 'b': 2}[value] }}
```

(where `value` is `string`)

Ivy, meanwhile, has always inferred strong types for object literals, even
in its compatibility mode. This commit fixes the bug, and adds the
`strictLiteralTypes` flag to specifically control this inference. When the
flag is `false` (in compatibility mode), object and array literals receive
the `any` type.

PR Close #35462
2020-02-21 12:36:12 -08:00
..
diagnostics refactor(compiler-cli): Move diagnostics files to language service (#33809) 2019-11-14 09:29:07 -08:00
metadata fix(compiler-cli): allow declaration-only template type check members (#34296) 2019-12-10 16:31:25 -08:00
ngtsc fix(ivy): add strictLiteralTypes to align Ivy + VE checking of literals (#35462) 2020-02-21 12:36:12 -08:00
transformers fix(compiler-cli): add sass as a valid css preprocessor extension (#35052) 2020-01-31 13:28:40 -08:00
extract_i18n.ts refactor(ivy): implement a virtual file-system layer in ngtsc + ngcc (#30921) 2019-06-25 16:25:24 -07:00
language_services.ts refactor(compiler-cli): Move diagnostics files to language service (#33809) 2019-11-14 09:29:07 -08:00
main.ts fix(compiler): switch to modern diagnostic formatting (#34234) 2019-12-09 11:37:49 -08:00
perform_compile.ts fix(compiler): switch to modern diagnostic formatting (#34234) 2019-12-09 11:37:49 -08:00
perform_watch.ts fix(ivy): recompile on template change in ngc watch mode on Windows (#34015) 2020-02-04 10:40:23 -08:00
tooling.ts fix(ivy): retain JIT metadata unless JIT mode is explicitly disabled (#33671) 2019-11-20 12:55:43 -08:00
typescript_support.ts build: typescript 3.7 support (#33717) 2020-01-14 16:42:23 -08:00
version.ts style: remove empty comments (#23404) 2018-05-10 15:48:13 -07:00