jyt - JSON <> YAML <> TOML 간의 변환기

저는 Rust로 작성된 JSON, YAML 및 TOML 간의 변환기인 jyt 를 개발했습니다.


켄마츠이 / 지트


기본 및 WebAssembly를 모두 지원하는 Json, Yaml 및 Toml 간의 3방향 변환기





지트


네이티브 및 WebAssembly를 모두 지원하는 Json, Yaml 및 Toml 간의 삼방향 변환기

설치

cargo install 명령을 사용하여 설치할 수 있습니다.
$ cargo install jyt

웹어셈블리

This application also provides a wasm package You can install it using wapm by the following command:

$ wapm install ken-matsui/jyt

용법

%%{init: {"flowchart" : { "curve" : "linear" } } }%%
graph LR;
  JSON --&gt; |$ jyt jy|YAML
  JSON --&gt; |$ jyt jt|TOML
  YAML --&gt; |$ jyt yt|TOML
  YAML --&gt; |$ jyt yj|JSON
  TOML --&gt; |$ jyt ty|YAML
  TOML --&gt; |$ jyt tj|JSON
$ jyt --help
jyt 0.1.0
Ken Matsui <[email protected]>
A tridirectional converter between Json, Yaml, and Toml
USAGE:
    jyt <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    help            Print this message or the help of the given subcommand(s)
    json-to-toml    Convert Json to Toml (also as 

I would introduce what jyt can do.

소개

Many tools support many extensions of configuration files; for example, ESLint supports JavaScript, YAML, and JSON. I personally use YAML for ESLint config files rather than other formats. However, blog posts often provide a config file as JSON because it is the most popular, and YAML is not - I am a minority.

It was a waste of time to convert it to YAML manually, so I developed jyt to convert the config file posted on blog posts to YAML.

jyt originated from the respective initials of JSON, YAML, and TOML.

특징

  • Written in Rust
  • Supports both native and WebAssembly
  • Preserves order

설치

You can install jyt with Cargo so that it is published on crates.io:

$ cargo install jyt

jyt는 WebAssembly도 지원하며 wapm.io 을 통해 설치할 수 있습니다.

$ wapm install ken-matsui/jyt


용법



다음 도움말과 같이 간단히 실행할 수 있습니다jyt.

$ jyt --help
jyt 0.1.0
Ken Matsui <[email protected]>
A tridirectional converter between Json, Yaml, and Toml
USAGE:
    jyt <SUBCOMMAND>
OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information
SUBCOMMANDS:
    help            Print this message or the help of the given subcommand(s)
    json-to-toml    Convert Json to Toml (also as `json2toml`, `j2t`, and `jt`)
    json-to-yaml    Convert Json to Yaml (also as `json2yaml`, `j2y`, and `jy`)
    toml-to-json    Convert Toml to Json (also as `toml2json`, `t2j`, and `tj`)
    toml-to-yaml    Convert Toml to Yaml (also as `toml2yaml`, `t2y`, and `ty`)
    yaml-to-json    Convert Yaml to Json (also as `yaml2json`, `y2j`, and `yj`)
    yaml-to-toml    Convert Yaml to Toml (also as `yaml2toml`, `y2t`, and `yt`)


도표로:


jyt는 파이프와 함께 사용할 수 있으므로 cat 명령의 출력을 직접 전달할 수 있습니다.

$ cat ./examples/example.json | jyt json-to-yaml
---
title: TOML Example
owner:
  name: Tom Preston-Werner
database:
  server: 192.168.1.1
  ports:
    - 8000
    - 8001
    - 8002
  connection_max: 5000
  enabled: true


순서 보존 기능은 다음 명령을 올바르게 실행할 수 있습니다.
이 예는 미리 변환된 TOML 파일과 TOML -> YAML -> JSON -> TOML 변환이 일치함을 나타냅니다.

$ test "$(cat ./examples/example.toml)" = "$(cat ./examples/example.toml | jyt ty | jyt yj | jyt jt)"

$ echo $?
0


The above example will fail if your file includes data that requires special operation in a conversion, such as the datetime type of TOML.



더 많은 예제를 보려면 README.md의 예제 페이지로 이동하세요.

https://github.com/ken-matsui/jyt#examples

ESLint 구성 변환



공식 문서에서 예제 구성을 가져오겠습니다.

https://eslint.org/docs/user-guide/configuring/configuration-files
.eslintrc.json
{
    "root": true,
    "extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/recommended"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": { "project": ["./tsconfig.json"] },
    "plugins": [
        "@typescript-eslint"
    ],
    "rules": {
        "@typescript-eslint/strict-boolean-expressions": [
            2,
            {
                "allowString" : false,
                "allowNumber" : false
            }
        ]
    },
    "ignorePatterns": ["src/**/*.test.ts", "src/frontend/generated/*"]
}


다음 명령을 사용하여 구성을 YAML로 변환합니다.

cat .eslintrc.json | jyt jy > .eslintrc.yaml


아래와 같은 출력이 표시됩니다.
.eslintrc.yaml
---
root: true
extends:
  - "eslint:recommended"
  - "plugin:@typescript-eslint/recommended"
parser: "@typescript-eslint/parser"
parserOptions:
  project:
    - "./tsconfig.json"
plugins:
  - "@typescript-eslint"
rules:
  "@typescript-eslint/strict-boolean-expressions":
    - 2
    - allowString: false
      allowNumber: false
ignorePatterns:
  - src/**/*.test.ts
  - src/frontend/generated/*


웹어셈블리 지원



앞서 언급한 것처럼 WebAssembly를 지원하기 때문에 웹에서 시도해 볼 수 있습니다jyt.

https://wapm.io/ken-matsui/jyt
Open in Shell를 클릭하여 위 사이트에서 jyt를 실행합니다.

결론


jyt가 가벼운 상호 변환 CLI로 도움이 될 것 같습니다.

이 기사와 jyt이 도움이 되기를 바랍니다.

좋은 웹페이지 즐겨찾기