angular/packages/compiler-cli
Paul Gschwendtner 22a0e54ac4 fix(compiler-cli): support relative imports to symbols outside rootDir (#60555)
By default, the compiler-cli uses the relative import strategy when
there is no `rootDir` or `rootDirs`. This is expected as everything is
assumed to be somehow reachable through relative imports.

With `rootDirs` that allow for a "virtual file system"-like environment,
the compiler is not necessarily able to always construct proper relative
imports. The compiler includes the `LogicalProjectStrategy` for this
reason. This strategy is able to respect `rootDirs` to construct
relative paths when possible.

This logic currently accidentally triggers when there is a `rootDir`
set. This option is not to be confused with the virtual directory
option called `rootDirs`. The compiler currently confuses this and
accidentally enters this mode when there is just a `rootDir`— breaking
in monorepos that imports can point outside the `rootDir` to e.g. other
compilation unit's `.d.ts` (which is valid; just not `.ts` sources can
live outside the root dir).

This is necessary for our Bazel toolchain migration.

PR Close #60555
2025-03-26 20:45:56 -07:00
..
integrationtest Revert "refactor(core): remove unused injection props (#59209)" (#59386) 2025-01-06 21:35:58 +00:00
linker refactor(compiler-cli): handle template literals in ngtsc (#59230) 2025-01-21 12:04:53 -08:00
ngcc refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
private build: properly compile tests in core with Angular compiler (#60268) 2025-03-07 11:00:48 -08:00
src fix(compiler-cli): support relative imports to symbols outside rootDir (#60555) 2025-03-26 20:45:56 -07:00
test fix(compiler-cli): support relative imports to symbols outside rootDir (#60555) 2025-03-26 20:45:56 -07:00
BUILD.bazel refactor(platform-server): Add an ssr benchmark setup. (#57647) 2024-10-04 10:45:22 -07:00
esbuild.config.js refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
index.ts refactor(compiler-cli): expose diagnostic error code (#59353) 2025-01-06 16:21:26 +00:00
package.json build: update babel dependencies to v7.26.9 (#59743) 2025-02-14 19:15:15 +00:00
tsconfig-build.json refactor(compiler-cli): dismantle View Engine implementation of ngc (#44269) 2021-12-01 10:36:30 -08:00
tsconfig.json build: update tsconfigs to use ES2020 as target and module (#43431) 2021-10-01 18:28:42 +00:00