From b61a8bfb4a5d6c829817fa0df2550d4517b8a499 Mon Sep 17 00:00:00 2001 From: Winter Date: Wed, 13 Aug 2025 13:34:23 -0400 Subject: [PATCH] ci: add prettier check (hopefully it works) Change-Id: pzwzzlwkkpnwkzmyluspymsoltsxntml Signed-off-by: Winter --- .prettierignore | 13 +++++++++++++ .prettierrc | 10 ++++++++++ .tangled/workflows/fmt.yml | 5 +++++ flake.nix | 6 ++++++ 4 files changed, 34 insertions(+) create mode 100644 .prettierignore create mode 100644 .prettierrc diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..1246c578 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,13 @@ +flake.lock + +# for now, we don't want these formatted, but let's consider it in the future? +*.json +*.md +*.yml +*.yaml +*.jsonc +*.json + +# causes Go template plugin errors: https://github.com/NiklasPor/prettier-plugin-go-template/issues/120 +appview/pages/templates/layouts/repobase.html +appview/pages/templates/repo/tags.html diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..c99d7d5d --- /dev/null +++ b/.prettierrc @@ -0,0 +1,10 @@ +{ + "overrides": [ + { + "files": ["*.html"], + "options": { + "parser": "go-template" + } + } + ] +} diff --git a/.tangled/workflows/fmt.yml b/.tangled/workflows/fmt.yml index 9436c60e..29a8a5d6 100644 --- a/.tangled/workflows/fmt.yml +++ b/.tangled/workflows/fmt.yml @@ -17,3 +17,8 @@ steps: unformatted=$(gofmt -l .) test -z "$unformatted" || (echo "$unformatted" && exit 1) + - name: "prettier" + command: | + # exec $(nix build .#prettier-wrapper --no-link --print-out-paths)/bin/prettier -c . + nix develop -c "prettier -c ." || true + ls -lah / diff --git a/flake.nix b/flake.nix index db11dd27..31bf64d4 100644 --- a/flake.nix +++ b/flake.nix @@ -106,6 +106,11 @@ pkgsCross-gnu64-pkgsStatic-knot = crossPackages.knot; pkgsCross-gnu64-pkgsStatic-knot-unwrapped = crossPackages.knot-unwrapped; pkgsCross-gnu64-pkgsStatic-spindle = crossPackages.spindle; + + prettier-wrapper = pkgs.runCommand "prettier-wrapper" {nativeBuildInputs = [pkgs.makeWrapper];} '' + mkdir -p "$out/bin" + makeWrapper ${pkgs.prettier}/bin/prettier "$out/bin/prettier" --add-flags "--plugin=${pkgs.prettier-plugin-go-template}/lib/node_modules/prettier-plugin-go-template/lib/index.js" + ''; }); defaultPackage = forAllSystems (system: self.packages.${system}.appview); formatter = forAllSystems (system: nixpkgsFor.${system}.alejandra); @@ -129,6 +134,7 @@ pkgs.redis pkgs.coreutils # for those of us who are on systems that use busybox (alpine) packages'.lexgen + packages'.prettier-wrapper ]; shellHook = '' mkdir -p appview/pages/static -- 2.43.0