angular/packages/compiler-cli/src
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
..
bin refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
ngtsc fix(compiler-cli): support relative imports to symbols outside rootDir (#60555) 2025-03-26 20:45:56 -07:00
transformers refactor(compiler): remove preservePlaceholders (#58176) 2024-10-16 06:42:37 +00:00
extract_i18n.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
main.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
perform_compile.ts refactor(compiler-cli): parse angularCompilerOptions from bazel options as a fallback (#58637) 2024-11-14 14:55:54 +00:00
perform_watch.ts refactor(compiler): update dependency chokidar to v4 (#57945) 2024-10-04 10:56:02 -07:00
typescript_support.ts feat(core): support TypeScript 5.8 (#59830) 2025-02-03 14:00:41 -08:00
version.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
version_helpers.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00