angular/packages/compiler-cli/ngcc/test
George Kalpakas d4e949f45c fix(ngcc): cope with packages following APF v14+ (#45833)
In PR #45405, the Angular Package Format (APF) was updated so that
secondary entry-points (such as `@angular/common/http`) do not have
their own `package.json` file, as they used to. Instead, the paths to
their various formats and types are exposed via the primary
`package.json` file's `exports` property. As an example, see the v13
[@angular/common/http/package.json][1] and compare it with the v14
[@angular/common/package.json > exports][2].

Previously, `ngcc` was not able to analyze such v14+ entry-points and
would instead error as it considered such entry-points missing.

This commit addresses the issue by detecting this situation and
synthesizing a `package.json` file for the secondary entry-points based
on the `exports` property of the primary `package.json` file. This data
is only used by `ngcc` in order to determine that the entry-point does
not need further processing, since it is already in Ivy format.

[1]: https://unpkg.com/browse/@angular/common@13.3.5/http/package.json
[2]: https://unpkg.com/browse/@angular/common@14.0.0-next.15/package.json

PR Close #45833
2022-05-06 09:51:14 -07:00
..
analysis refactor(ngcc): remove Ivy switch marker transform (#43891) 2021-11-24 19:26:25 +00:00
dependencies fix(ngcc): cope with packages following APF v14+ (#45833) 2022-05-06 09:51:14 -07:00
entry_point_finder fix(compiler-cli): ensure ngcc can handle wildcard base-paths (#41033) 2021-03-01 15:25:44 -08:00
execution fix(ngcc): cope with packages following APF v14+ (#45833) 2022-05-06 09:51:14 -07:00
helpers feat(core): support TypeScript 4.7 (#45749) 2022-04-29 12:19:45 -04:00
host test(ngcc): run more tests against more supported UMD formats (#44245) 2021-11-29 12:38:05 -05:00
integration refactor(compiler-cli): propagate standalone flag in .d.ts metadata (#45672) 2022-04-20 05:45:57 -07:00
locking build: enable useUnknownInCatchVariables (#44679) 2022-02-01 18:17:29 +00:00
migrations refactor: make all imports compatible with ESM/CJS output. (#43431) 2021-10-01 18:28:45 +00:00
packages fix(ngcc): cope with packages following APF v14+ (#45833) 2022-05-06 09:51:14 -07:00
rendering refactor(compiler): remove usages of deprecated AST creation functions (#45134) 2022-02-22 10:22:47 -08:00
writing fix(ngcc): cope with packages following APF v14+ (#45833) 2022-05-06 09:51:14 -07:00
BUILD.bazel build: disable bazel nodejs linker to improve stability on windows (#45872) 2022-05-04 16:20:57 -07:00
ngcc_options_spec.ts refactor(compiler-cli): do not use __filename or __dirname global for ESM compatibility (#43431) 2021-10-01 18:28:45 +00:00
utils_spec.ts fix(ngcc): cope with packages following APF v14+ (#45833) 2022-05-06 09:51:14 -07:00