-
Notifications
You must be signed in to change notification settings - Fork 136
Open
Labels
Description
When the tool fails to parse a JSON file, it crashes trying to write a debug log:
> npx tfx-cli extension create --manifests test.json --no-color --trace-level debug
TFS Cross Platform Command Line Interface v0.17.0
Copyright Microsoft Corporation
2024-09-07T19:10:32.263Z : merger.merge
2024-09-07T19:10:32.265Z : merger.gatherManifests
2024-09-07T19:10:32.266Z : Merging 1 manifest from the following paths:
2024-09-07T19:10:32.267Z : test.json
error: Error parsing the JSON in C:\Source\ado-notebook-preview\test.json:
2024-09-07T19:10:32.272Z : Error: The number of replacements (1) does not match the number of placeholders (0)
2024-09-07T19:10:32.272Z : at format (C:\Source\ado-notebook-preview\node_modules\tfx-cli\_build\lib\trace.js:98:15)
2024-09-07T19:10:32.272Z : at write (C:\Source\ado-notebook-preview\node_modules\tfx-cli\_build\lib\trace.js:83:24)
2024-09-07T19:10:32.272Z : at log (C:\Source\ado-notebook-preview\node_modules\tfx-cli\_build\lib\trace.js:68:9)
2024-09-07T19:10:32.272Z : at Object.debug (C:\Source\ado-notebook-preview\node_modules\tfx-cli\_build\lib\trace.js:60:9)
2024-09-07T19:10:32.272Z : at C:\Source\ado-notebook-preview\node_modules\tfx-cli\_build\exec\extension\_lib\merger.js:157:43
2024-09-07T19:10:32.272Z : at async Promise.all (index 0)
error: Error: The number of replacements (1) does not match the number of placeholders (0)
This is likely due to the code calling trace.debug(jsonData, null);
in merger.js with the JSON string as first parameter, which gets interpreted as a format string.
test.json file to repro:
Activity
linked a pull request that will close this issuefixing json5 parsing issue #470on Sep 24, 2024
linked a pull request that will close this issue on Sep 24, 2024
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
Select code repository
{ // A comment }