angular/packages/compiler-cli/src/ngtsc/indexer
Kristiyan Kostadinov 0a48d584f2 feat(core): add support for let syntax (#56715)
Enables the new `@let` syntax by default.

`@let` declarations are defined as:
1. The `@let` keyword.
2. Followed by one or more whitespaces.
3. Followed by a valid JavaScript name and zero or more whitespaces.
4. Followed by the `=` symbol and zero or more whitespaces.
5. Followed by an Angular expression which can be multi-line.
6. Terminated by the `;` symbol.

Example usage:
```
@let user = user$ | async;
@let greeting = user ? 'Hello, ' + user.name : 'Loading';
<h1>{{greeting}}</h1>
```

Fixes #15280.

PR Close #56715
2024-06-26 12:37:02 -07:00
..
src refactor(compiler-cli): integrate let declaration into the indexer (#56199) 2024-06-04 17:28:03 +00:00
test feat(core): add support for let syntax (#56715) 2024-06-26 12:37:02 -07:00
BUILD.bazel feat(ivy): integrate indexing pipeline with NgtscProgram (#31151) 2019-06-24 18:47:56 -07:00
index.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
README.md docs(ivy): Add README to indexer module (#31260) 2019-07-31 11:37:11 -07:00

indexer

The indexer module generates semantic analysis about components used in an Angular project. The module is consumed by a semantic analysis API on an Angular program, which can be invoked separately from the regular Angular compilation pipeline.

The module is not a fully-featured source code indexer. Rather, it is designed to produce semantic information about an Angular project that can then be used by language analysis tools to generate, for example, cross-references in Angular templates.

The indexer module is developed primarily with the Kythe ecosystem in mind as an indexing service.

Scope of Analysis

The scope of analysis performed by the module includes

  • indexing template syntax identifiers in a component template
  • generating information about directives used in a template
  • generating metadata about component and template source files

The module does not support indexing TypeScript source code.