Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Formatting JSONC can lose comments yet still indicate success #24

Open
mmuddasani opened this issue Sep 29, 2023 · 0 comments
Open

Formatting JSONC can lose comments yet still indicate success #24

mmuddasani opened this issue Sep 29, 2023 · 0 comments
Labels
bug Something isn't working

Comments

@mmuddasani
Copy link

Describe the bug

deno fmt can lose comments without any indication.
Minimal reproducible examples (via deno fmt): here
Additional details: denoland/std#3502 (comment)

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)
@dsherret dsherret added the bug Something isn't working label Oct 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants