From d1bc669c269004d3733f2a3a3ef14b56328b998e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 23 Sep 2025 16:29:38 +0100 Subject: [PATCH] Add openapi-generate-html Signed-off-by: Oliver Davies --- openapi/.gitignore | 1 + openapi/build-docs | 12 ++++++++++++ openapi/flake.nix | 5 +++++ openapi/openapi-generate-html.nix | 17 +++++++++++++++++ 4 files changed, 35 insertions(+) create mode 100755 openapi/build-docs create mode 100644 openapi/openapi-generate-html.nix diff --git a/openapi/.gitignore b/openapi/.gitignore index c4a847d..81ce768 100644 --- a/openapi/.gitignore +++ b/openapi/.gitignore @@ -1 +1,2 @@ +/out/ /result diff --git a/openapi/build-docs b/openapi/build-docs new file mode 100755 index 0000000..d07d212 --- /dev/null +++ b/openapi/build-docs @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -euo pipefail + +rm -fr out +mkdir out + +openapi-generate-html \ + --input petstore.yaml \ + --output out/docs.html \ + --ui swagger \ + "$@" diff --git a/openapi/flake.nix b/openapi/flake.nix index 9f15689..c4f918f 100644 --- a/openapi/flake.nix +++ b/openapi/flake.nix @@ -9,6 +9,10 @@ in { packages.${system} = { + openapi-generate-html = import ./openapi-generate-html.nix { + inherit (pkgs) buildNpmPackage fetchFromGitHub; + }; + openapi-mock = import ./openapi-mock.nix { inherit (pkgs) buildGoModule fetchFromGitHub; }; @@ -19,6 +23,7 @@ openapi-generator-cli openapi-tui + self.packages.${system}.openapi-generate-html self.packages.${system}.openapi-mock ]; }; diff --git a/openapi/openapi-generate-html.nix b/openapi/openapi-generate-html.nix new file mode 100644 index 0000000..0920736 --- /dev/null +++ b/openapi/openapi-generate-html.nix @@ -0,0 +1,17 @@ +{ buildNpmPackage, fetchFromGitHub }: + +buildNpmPackage rec { + pname = "openapi-generate-html"; + version = "0.5.3"; + + src = fetchFromGitHub { + owner = "qazsato"; + repo = pname; + rev = "v${version}"; + hash = "sha256-+RmwoRhvfkaj/d3EwID7E6noVV+M3h6pe7IEVYyuUwk="; + }; + + dontNpmBuild = true; + + npmDepsHash = "sha256-7yYM43fAR2HLACOQNw7N/t8Lk+17qNfeDKzfb1wx/0U="; +}