refactor(compiler-cli): linker - add Babel plugin, FileLinker and initial PartialLinkers (#39116)
This commit adds the basic building blocks for linking partial declarations. In particular it provides a generic `FileLinker` class that delegates to a set of (not yet implemented) `PartialLinker` classes. The Babel plugin makes use of this `FileLinker` providing concrete classes for `AstHost` and `AstFactory` that work with Babel AST. It can be created with the following code: ```ts const plugin = createEs2015LinkerPlugin({ /* options */ }); ``` PR Close #39116
This commit is contained in:

committed by
Andrew Kushnir

parent
b304bd0535
commit
7e742aea7c
18
packages/compiler-cli/linker/README.md
Normal file
18
packages/compiler-cli/linker/README.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Angular Linker
|
||||
|
||||
This package contains a `FileLinker` and supporting code to be able to "link" partial declarations of components, directives, etc in libraries to produce the full definitions.
|
||||
|
||||
The partial declaration format allows library packages to be published to npm without exposing the underlying Ivy instructions.
|
||||
|
||||
The tooling here allows application build tools (e.g. CLI) to produce fully compiled components, directives, etc at the point when the application is bundled.
|
||||
These linked files can be cached outside `node_modules` so it does not suffer from problems of mutating packages in `node_modules`.
|
||||
|
||||
Generally this tooling will be wrapped in a transpiler specific plugin, such as the provided [Babel plugin](./babel).
|
||||
|
||||
## Unit Testing
|
||||
|
||||
The unit tests are built and run using Bazel:
|
||||
|
||||
```bash
|
||||
yarn bazel test //packages/compiler-cli/linker/test
|
||||
```
|
Reference in New Issue
Block a user