mirror of
https://github.com/nushell/nushell
synced 2024-12-28 22:13:10 +00:00
cf4864a9cd
# Description This is a minor breaking change to JSON output syntax/style of the `to json` command. This fixes #13326 by setting `braces_same_line` to true when creating a new `HjsonFormatter`. This then simply tells `HjsonFormatter` to keep the braces on the same line when outputting which is what I expected nu's `to json` command to do. There are almost no changes to nushell itself, all changes are contained within `nu-json` crate (minus any documentation updates). Oh, almost forgot to mention, to get the tests compiling, I added fancy_regex as a _dev_ dependency to nu-json. I could look into eliminating that if desirable. # User-Facing Changes **Breaking Change** nushell now outputs the desired result using the reproduction command from the issue: ``` echo '{"version": "v0.4.4","notes": "blablabla","pub_date": "2024-05-04T16:05:00Z","platforms":{"windows-x86_64":{"signature": "blablabla","url": "https://blablabla"}}}' | from json | to json ``` outputs: ``` { "version": "v0.4.4", "notes": "blablabla", "pub_date": "2024-05-04T16:05:00Z", "platforms": { "windows-x86_64": { "signature": "blablabla", "url": "https://blablabla" } } } ``` whereas previously it would push the opening braces onto a new line: ``` { "version": "v0.4.4", "notes": "blablabla", "pub_date": "2024-05-04T16:05:00Z", "platforms": { "windows-x86_64": { "signature": "blablabla", "url": "https://blablabla" } } } ``` # Tests + Formatting toolkit check pr mostly passes - there are regrettably some tests not passing on my windows machine _before making any changes_ (I may look into this as a separate issue) I have re-enabled the [hjson tests](https://github.com/nushell/nushell/blob/main/crates/nu-json/tests/main.rs). This is done in the second commit 🙂 They have a crucial difference to what they were previously asserting: * nu-json outputs in json syntax, not hjson syntax I think this is desirable, but I'm not aware of the history of these tests. # After Submitting I suspect there `to json` command examples will need updating to match, haven't checked yet!
32 lines
864 B
TOML
32 lines
864 B
TOML
[package]
|
|
authors = [
|
|
"The Nushell Project Developers",
|
|
"Christian Zangl <laktak@cdak.net>",
|
|
]
|
|
description = "Fork of serde-hjson"
|
|
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-json"
|
|
edition = "2021"
|
|
license = "MIT"
|
|
name = "nu-json"
|
|
version = "0.95.1"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
bench = false
|
|
|
|
[features]
|
|
preserve_order = ["linked-hash-map", "linked-hash-map/serde_impl"]
|
|
default = ["preserve_order"]
|
|
|
|
[dependencies]
|
|
linked-hash-map = { version = "0.5", optional = true }
|
|
num-traits = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
nu-test-support = { path = "../nu-test-support", version = "0.95.1" }
|
|
nu-path = { path = "../nu-path", version = "0.95.1" }
|
|
serde_json = "1.0"
|
|
fancy-regex = "0.13.0"
|