Skip to content

Signal input/queries migrations fail on Windows #58132

@jsaguet

Description

@jsaguet

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:

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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions