dprint / dprint-plugin-json

JSON code formatting plugin for dprint.
https://dprint.dev/plugins/json
MIT License
18 stars 5 forks source link

Invalid UTF-8 chars prevent formatting #5

Open lucacasonato opened 3 years ago

lucacasonato commented 3 years ago

Describe the bug

deno fmt fails to format a JSON file because it contains invalid UTF8 chars.

dprint-plugin-json version: 0.10.2

Input Code

See https://gist.github.com/lucacasonato/a060df497ca3156327bcef46a554a8fb

Expected Output

A nicely formatted file, like prettier is able to generate.

Actual Output

Error formatting: /home/lucacasonato/Downloads/report.json
   Line 1, column 785340: Invalid unicode escape sequence. 'd834' is not a valid UTF8 character

  to ArrayBuffer with \ud834A\udf06A¥
                      ~~~~~~
dsherret commented 3 years ago

Related: https://github.com/dprint/jsonc-parser/issues/8

I think we will just have to make jsonc-parser handle invalid utf8 characters.

Gerrit0 commented 9 months ago

A similar "\uD835\uDD04" can't be handled in typedoc when I looked at using dprint today, what's the path forward in jsonc-parser? I very briefly looked at doing this, but jsonc-parser's StringLit struct holds a Cow<'a, str>, and changing that seems like quite a major change...