From bae6863ccfcb1b4e41763003a55dda90ed67c31c Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Tue, 21 May 2024 00:26:26 +0900 Subject: [PATCH] Replace dprint prettier plugin with yamlfmt (#196) * Replace dprint prettier plugin with yamlfmt * Do not install ruby by mise * Do not depend on mise-action * Fix use of mise --- .github/workflows/lint.yml | 15 +++++++++++++++ .vscode/extensions.json | 3 ++- .vscode/settings.json | 6 ++++++ Rakefile | 2 ++ dprint.json | 7 +------ flake.nix | 1 + yamlfmt.yml | 7 +++++++ 7 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 yamlfmt.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 839d028..c8c4358 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -24,6 +24,21 @@ jobs: with: dprint-version: '0.45.1' # selfup { "regex": "\\d[^']+", "script": "dprint --version | cut -d ' ' -f 2" } + yamlfmt: + timeout-minutes: 15 + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + - name: Install mise + run: | + curl https://mise.jdx.dev/install.sh | sh + echo "$HOME/.local/share/mise/bin" >> $GITHUB_PATH + echo "$HOME/.local/share/mise/shims" >> $GITHUB_PATH + - name: Install yamlfmt + # TODO: Apply selfup after https://github.com/google/yamlfmt/pull/180 + run: mise use -g yamlfmt@0.12.1 + - run: yamlfmt -lint . + typos: timeout-minutes: 15 runs-on: ubuntu-latest diff --git a/.vscode/extensions.json b/.vscode/extensions.json index dd49ab2..eb368cb 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -4,6 +4,7 @@ "github.vscode-github-actions", "tekumara.typos-vscode", "rubocop.vscode-rubocop", - "dprint.dprint" + "dprint.dprint", + "kachick.vscode-yamlfmt" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 5c0de25..f72c09e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,12 @@ { "editor.formatOnSave": true, "editor.defaultFormatter": "dprint.dprint", + "[yaml]": { + "editor.defaultFormatter": "kachick.vscode-yamlfmt" + }, + "[github-actions-workflow]": { + "editor.defaultFormatter": "kachick.vscode-yamlfmt" + }, "[ruby]": { "editor.defaultFormatter": "rubocop.vscode-rubocop" }, diff --git a/Rakefile b/Rakefile index 5842fed..b59b8c0 100644 --- a/Rakefile +++ b/Rakefile @@ -50,6 +50,7 @@ desc 'Print dependencies' task :deps do sh('ruby --version') sh('dprint --version') + sh('yamlfmt -version') sh('tree --version') sh('typos --version') end @@ -58,5 +59,6 @@ desc 'Tests except ruby' task :linters do sh('typos . .github .vscode') sh('dprint check') + sh('yamlfmt -lint .') sh('nixpkgs-fmt --check ./*.nix') end diff --git a/dprint.json b/dprint.json index 5fa4680..1e17bde 100644 --- a/dprint.json +++ b/dprint.json @@ -3,10 +3,6 @@ }, "markdown": { }, - "prettier": { - "printWidth": 120, - "singleQuote": true - }, "excludes": [ ".git", "**/*lock.json", @@ -17,7 +13,6 @@ ], "plugins": [ "https://plugins.dprint.dev/json-0.19.2.wasm", - "https://plugins.dprint.dev/markdown-0.16.4.wasm", - "https://plugins.dprint.dev/prettier-0.39.0.json@896b70f29ef8213c1b0ba81a93cee9c2d4f39ac2194040313cd433906db7bc7c" + "https://plugins.dprint.dev/markdown-0.16.4.wasm" ] } diff --git a/flake.nix b/flake.nix index 9779a3b..8cae456 100644 --- a/flake.nix +++ b/flake.nix @@ -28,6 +28,7 @@ libyaml dprint + yamlfmt tree nil nixpkgs-fmt diff --git a/yamlfmt.yml b/yamlfmt.yml new file mode 100644 index 0000000..417bd4f --- /dev/null +++ b/yamlfmt.yml @@ -0,0 +1,7 @@ +gitignore_excludes: true +line_ending: lf +formatter: + type: basic + retain_line_breaks_single: true + # https://github.com/google/yamlfmt/issues/182 + scan_folded_as_literal: true