dprint-plugin-json
dprint-plugin-json copied to clipboard
Formatting JSONC can lose comments yet still indicate success
Describe the bug
deno fmt
can lose comments without any indication.
Minimal reproducible examples (via deno fmt
): here
Additional details: https://github.com/denoland/deno_std/issues/3502#issuecomment-1738428869
Another way to reproduce:
dprint fmt --config <(echo '{"plugins": ["https://plugins.dprint.dev/json-0.17.4.wasm"]}')
dprint version: 0.41.0 dprint-plugin-json version: 0.17.4
Input Code
// before-value (context: top-level)
{
// before-key (context: object spot 0)
"k0"
// after-key (context: object spot 0)
:
// before-value (context: object spot 0)
"v0"
// after-value (context: object spot 0)
,
// before-key (context: object spot 1)
}
// after-value (context: top-level)
Expected Output
One of two options:
- A canonical rearrangement of the comments' contents.
- Failure if comments would otherwise be lost! (To signal to the user that the comments should be rearranged in order to avoid comment loss.)
Actual Output
// before-value (context: top-level)
{
// before-key (context: object spot 0)
"k0": // before-value (context: object spot 0)
"v0"
// before-key (context: object spot 1)
}
// after-value (context: top-level)