mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
a9a7654cbf
This commit migrates the remaining pieces of `compiler-cli` to `ts_project`. This involves a few more things during migration: - the `ng_module` ngc_wrapped rule broke as part of this change, so we switched it to `ts_project` too. This logic is soon gone anyway. - we needed an extra pnpm "package.json" for the linker babel test. This test is loading from the real compiler-cli npm package. Babel needs a real node module for this, so this solution seems reasonable. It may be worth exploring in the future to move this test into an integration test though. - the older integrationtest in compiler-cli is removed as the coverage is much better with the compliance test suite and this test. PR Close #61862
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.
Unit Testing
The unit tests are built and run using Bazel:
yarn bazel test //packages/compiler-cli/linker/test