From 6262669c6ebcee31e4dfca8289a1ded173affc65 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Mon, 26 May 2025 14:27:21 +0900 Subject: [PATCH] typescript: cleanup - add updateScript - prefer finalAttrs - remove `with lib;` - prefer tag rather than rev for fetchFromGitHub --- pkgs/by-name/ty/typescript/package.nix | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ty/typescript/package.nix b/pkgs/by-name/ty/typescript/package.nix index ce6a4d89553a..8b349c5c6160 100644 --- a/pkgs/by-name/ty/typescript/package.nix +++ b/pkgs/by-name/ty/typescript/package.nix @@ -3,16 +3,17 @@ buildNpmPackage, fetchFromGitHub, versionCheckHook, + nix-update-script, }: -buildNpmPackage rec { +buildNpmPackage (finalAttrs: { pname = "typescript"; version = "5.8.2"; src = fetchFromGitHub { owner = "microsoft"; repo = "TypeScript"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-fOA5IblxUd+C9ST3oI8IUmTTRL3exC63MPqW5hoWN0M="; }; @@ -29,12 +30,20 @@ buildNpmPackage rec { versionCheckProgram = "${placeholder "out"}/bin/tsc"; versionCheckProgramArg = "--version"; - meta = with lib; { + passthru = { + updateScript = nix-update-script { + extraArgs = [ + "--version-regex=^v([\\d.]+)$" + ]; + }; + }; + + meta = { description = "Superset of JavaScript that compiles to clean JavaScript output"; homepage = "https://www.typescriptlang.org/"; - changelog = "https://github.com/microsoft/TypeScript/releases/tag/v${version}"; - license = licenses.asl20; + changelog = "https://github.com/microsoft/TypeScript/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.asl20; maintainers = [ ]; mainProgram = "tsc"; }; -} +})