-
Notifications
You must be signed in to change notification settings - Fork 27k
Description
Which @angular/* package(s) are the source of the bug?
core
Is this a regression?
No
Description
On Windows systems, the signal/queries migrations fail with the following error.
Error: File does not exist for "lstat": /C/tsconfig.app.json
at DevkitMigrationFilesystem.lstat (C:\angular-project\node_modules\@angular\core\schematics\bundles\group_replacements-472b2387.js:31333:19)
at calcProjectFileAndBasePath (C:\angular-project\node_modules\@angular\core\schematics\bundles\group_replacements-472b2387.js:144:31)
at readConfiguration (C:\angular-project\node_modules\@angular\core\schematics\bundles\group_replacements-472b2387.js:176:43)
at createNgtscProgram (C:\angular-project\node_modules\@angular\core\schematics\bundles\group_replacements-472b2387.js:331:22)
at SignalQueriesMigration.createProgram (C:\angular-project\node_modules\@angular\core\schematics\bundles\group_replacements-472b2387.js:367:16)
at C:\angular-project\node_modules\@angular\core\schematics\bundles\signal-queries-migration.js:861:40
at Array.map (<anonymous>)
at C:\angular-project\node_modules\@angular\core\schematics\bundles\signal-queries-migration.js:859:60
at async callRuleAsync (C:\angular-project\node_modules\@angular-devkit\schematics\src\rules\call.js:77:18)
This is reproducible with a new angular project generated by the CLI and updated to ng 19.
Commands run: ng g @angular/core:signal-input-migration or ng g @angular/core:signal-queries-migration with default options.
Please provide a link to a minimal reproduction of the bug
https://github.com/jsaguet/angular-signal-migration
Please provide the exception or error you saw
Error: File does not exist for "lstat": /C/tsconfig.app.json
at DevkitMigrationFilesystem.lstat (C:\angular-project\node_modules\@angular\core\schematics\bundles\group_replacements-472b2387.js:31333:19)
at calcProjectFileAndBasePath (C:\angular-project\node_modules\@angular\core\schematics\bundles\group_replacements-472b2387.js:144:31)
at readConfiguration (C:\angular-project\node_modules\@angular\core\schematics\bundles\group_replacements-472b2387.js:176:43)
at createNgtscProgram (C:\angular-project\node_modules\@angular\core\schematics\bundles\group_replacements-472b2387.js:331:22)
at SignalQueriesMigration.createProgram (C:\angular-project\node_modules\@angular\core\schematics\bundles\group_replacements-472b2387.js:367:16)
at C:\angular-project\node_modules\@angular\core\schematics\bundles\signal-queries-migration.js:861:40
at Array.map (<anonymous>)
at C:\angular-project\node_modules\@angular\core\schematics\bundles\signal-queries-migration.js:859:60
at async callRuleAsync (C:\angular-project\node_modules\@angular-devkit\schematics\src\rules\call.js:77:18)
Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 19.0.0-next.8
Angular Core: 19.0.0-next.8
Platform: Windows 10 64bits
Anything else?
From what I've seen while debugging, it looks like this line behaves differently on macOS and Windows:
angular/packages/core/schematics/utils/tsurge/helpers/angular_devkit/devkit_filesystem.ts
Line 79 in 306443d
| path.resolve(normalize('/'), ...normalizedPaths), |
On MacOS it returns /tsconfig.app.json which is working and on windows it returns /C/tsconfig.app.json which doesn't resolve to anything.