angular/packages/compiler-cli/private
Paul Gschwendtner c241f63e8d refactor(compiler-cli): remove unused class decorator downlevel code (#49351)
The decorator downlevel transform is never used for actual class
decorators because Angular class decorators rely on immediate execution
for JIT. Initially we also supported downleveling of class decorators
for View Engine library output, but libraries are shipped using partial
compilation output and are not using this transform anymore.

The transform is exclusively used for JIT processing, commonly for
test files to help ease temporal dead-zone/forward-ref issues. We can
remove the class decorator downlevel logic to remove technical debt.

PR Close #49351
2023-03-08 17:59:12 +00:00
..
babel.d.ts refactor(localize): update version of Babel (#44931) 2022-02-24 21:42:54 +00:00
bazel.ts refactor: switch packages away from deep cross-package imports (#43431) 2021-10-01 18:28:43 +00:00
BUILD.bazel refactor(compiler): rework and expose APIs to be used in schematics (#48730) 2023-01-13 12:24:32 -08:00
localize.ts refactor: switch packages away from deep cross-package imports (#43431) 2021-10-01 18:28:43 +00:00
migrations.ts refactor(compiler): rework and expose APIs to be used in schematics (#48730) 2023-01-13 12:24:32 -08:00
README.md refactor: switch packages away from deep cross-package imports (#43431) 2021-10-01 18:28:43 +00:00
tooling.ts refactor(compiler-cli): remove unused class decorator downlevel code (#49351) 2023-03-08 17:59:12 +00:00

This is a directory defining the @angular/compiler-cli/private entry-point. The entry-point can be used to expose code that is needed by other Angular framework packages, without having to expose code through the primary entry-point.

The primary entry-point has a couple of downsides when it comes to cross-package imports:

  • It exports various other things that will end up creating additional type dependencies. e.g. when the Angular localize package relies on it, it might end up accidentally relying on @types/node.
  • The primary entry-point has a larger build graph, slowing down local development as much more things can invalidate the dependent targets. A smaller subset leads to faster incremental builds.