From 749d2ae0c8cbd9b341305f3461d20feabe925619 Mon Sep 17 00:00:00 2001 From: chillcicada <2210227279@qq.com> Date: Sun, 8 Mar 2026 21:53:15 +0800 Subject: [PATCH 1/3] yo: 5.1.0 -> 7.0.0 --- pkgs/by-name/yo/yo/package.nix | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/yo/yo/package.nix b/pkgs/by-name/yo/yo/package.nix index 92debbdcc52d..62818e94da1e 100644 --- a/pkgs/by-name/yo/yo/package.nix +++ b/pkgs/by-name/yo/yo/package.nix @@ -1,35 +1,21 @@ { lib, buildNpmPackage, - fetchNpmDeps, fetchFromGitHub, }: -buildNpmPackage rec { +buildNpmPackage (finalAttrs: { pname = "yo"; - version = "5.1.0"; + version = "7.0.0"; src = fetchFromGitHub { owner = "yeoman"; repo = "yo"; - tag = "v${version}"; - hash = "sha256-twV5vmQ5loR8j9guf0w5DG4sU4BQYz22GjqjsUkqE4U="; + tag = "v${finalAttrs.version}"; + hash = "sha256-tTT+KjJ8Fol2IjPzuWpkd3SymODe8Jmge9sreSxBU5M="; }; - # needed to fix https://github.com/NixOS/nixpkgs/issues/367282 - # once yo gets a new lockfile upstream, we can go back to regular - # `npmDepsHash` and remove the `postPatch`. - npmDeps = fetchNpmDeps { - src = fetchFromGitHub { - owner = "yeoman"; - repo = "yo"; - rev = "96ebb14020a7f3f10699b3f88eadfa063a9e6b07"; - hash = "sha256-wMxH9Er+gb6rsSEgmH0zA4d6yvP2PSpsV+A0nBTIxBI="; - }; - hash = "sha256-7TAH4Im+H7fbjI0xUxYZficcFQNZbweK2U0hGCZV+lQ="; - }; - - postPatch = "cp -v ${npmDeps.src}/package-lock.json ./package-lock.json"; + npmDepsHash = "sha256-bBGGZ5O4Nkw+nMZ5VAz7wjm8tIrCCvtv6TaXTwUCLPk="; dontNpmBuild = true; @@ -40,4 +26,4 @@ buildNpmPackage rec { mainProgram = "yo"; maintainers = [ ]; }; -} +}) From d4f1ad9f8b0dd65ee81ce12a021f25e4f0acdf26 Mon Sep 17 00:00:00 2001 From: chillcicada <2210227279@qq.com> Date: Sun, 8 Mar 2026 21:57:51 +0800 Subject: [PATCH 2/3] yo: add install check and update script --- pkgs/by-name/yo/yo/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/yo/yo/package.nix b/pkgs/by-name/yo/yo/package.nix index 62818e94da1e..a2454402a003 100644 --- a/pkgs/by-name/yo/yo/package.nix +++ b/pkgs/by-name/yo/yo/package.nix @@ -2,6 +2,8 @@ lib, buildNpmPackage, fetchFromGitHub, + versionCheckHook, + nix-update-script, }: buildNpmPackage (finalAttrs: { @@ -19,6 +21,11 @@ buildNpmPackage (finalAttrs: { dontNpmBuild = true; + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + + passthru.updateScript = nix-update-script { }; + meta = { description = "CLI tool for running Yeoman generators"; homepage = "https://github.com/yeoman/yo"; From 3ffa4a0ec1a20f9af86f9c0095d70afaaef0d263 Mon Sep 17 00:00:00 2001 From: chillcicada <2210227279@qq.com> Date: Sun, 8 Mar 2026 21:58:36 +0800 Subject: [PATCH 3/3] yo: adopted by chillcicada --- pkgs/by-name/yo/yo/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/yo/yo/package.nix b/pkgs/by-name/yo/yo/package.nix index a2454402a003..f8dd66a02a15 100644 --- a/pkgs/by-name/yo/yo/package.nix +++ b/pkgs/by-name/yo/yo/package.nix @@ -31,6 +31,6 @@ buildNpmPackage (finalAttrs: { homepage = "https://github.com/yeoman/yo"; license = lib.licenses.bsd2; mainProgram = "yo"; - maintainers = [ ]; + maintainers = with lib.maintainers; [ chillcicada ]; }; })