From dc531c290fc5fee849166b63691fc20f6419765f Mon Sep 17 00:00:00 2001 From: HigherOrderLogic <73709188+HigherOrderLogic@users.noreply.github.com> Date: Sun, 30 Nov 2025 18:29:02 +0000 Subject: [PATCH 1/5] tsx: modernize --- pkgs/by-name/ts/tsx/package.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/ts/tsx/package.nix b/pkgs/by-name/ts/tsx/package.nix index 7db0c2905888..1d13a1098aa1 100644 --- a/pkgs/by-name/ts/tsx/package.nix +++ b/pkgs/by-name/ts/tsx/package.nix @@ -2,35 +2,35 @@ lib, stdenv, fetchFromGitHub, - pnpm_9, + pnpm_10, fetchPnpmDeps, pnpmConfigHook, nodejs_22, versionCheckHook, }: let - pnpm' = pnpm_9.override { nodejs = nodejs_22; }; + pnpm' = pnpm_10.override { nodejs = nodejs_22; }; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "tsx"; version = "4.19.3"; src = fetchFromGitHub { owner = "privatenumber"; repo = "tsx"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-wdv2oqJNc6U0Fyv4jT+0LUcYaDfodHk1vQZGMdyFF/E="; }; pnpmDeps = fetchPnpmDeps { - inherit + inherit (finalAttrs) pname version src ; pnpm = pnpm'; fetcherVersion = 1; - hash = "sha256-57KDZ9cHb7uqnypC0auIltmYMmIhs4PWyf0HTRWEFiU="; + hash = "sha256-IDPXEmACa+JbScp+CKJLW9S4MGgfQwS4ZYMvDL++Hy4="; }; nativeBuildInputs = [ @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { # because tsx uses semantic-release, the package.json has a placeholder # version number. this patches it to match the version of the nix package, # which in turn is the release version in github. - substituteInPlace package.json --replace-fail "0.0.0-semantic-release" "${version}" + substituteInPlace package.json --replace-fail "0.0.0-semantic-release" "${finalAttrs.version}" runHook postPatch ''; @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { buildPhase = '' runHook preBuild - npm run build + pnpm run build # remove devDependencies that are only required to build # and package the typescript code @@ -101,4 +101,4 @@ stdenv.mkDerivation rec { maintainers = [ lib.maintainers.sdedovic ]; mainProgram = "tsx"; }; -} +}) From eb559796d735cdf4c543bf2a070b9ff6d280890f Mon Sep 17 00:00:00 2001 From: HigherOrderLogic <73709188+HigherOrderLogic@users.noreply.github.com> Date: Sun, 30 Nov 2025 18:29:33 +0000 Subject: [PATCH 2/5] tsx: remove uneeded files --- pkgs/by-name/ts/tsx/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ts/tsx/package.nix b/pkgs/by-name/ts/tsx/package.nix index 1d13a1098aa1..bada03964581 100644 --- a/pkgs/by-name/ts/tsx/package.nix +++ b/pkgs/by-name/ts/tsx/package.nix @@ -64,6 +64,9 @@ stdenv.mkDerivation (finalAttrs: { pnpm run build + # remove unneeded files + find dist -type f \( -name '*.cts' -or -name '*.mts' -or -name '*.ts' \) -delete + # remove devDependencies that are only required to build # and package the typescript code CI=true pnpm prune --prod From f1e3951caa29d6601e889c2adf66746a4fee4518 Mon Sep 17 00:00:00 2001 From: HigherOrderLogic <73709188+HigherOrderLogic@users.noreply.github.com> Date: Sun, 30 Nov 2025 18:29:47 +0000 Subject: [PATCH 3/5] tsx: add update script --- pkgs/by-name/ts/tsx/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ts/tsx/package.nix b/pkgs/by-name/ts/tsx/package.nix index bada03964581..81b39b5ea5f6 100644 --- a/pkgs/by-name/ts/tsx/package.nix +++ b/pkgs/by-name/ts/tsx/package.nix @@ -7,6 +7,7 @@ pnpmConfigHook, nodejs_22, versionCheckHook, + nix-update-script, }: let pnpm' = pnpm_10.override { nodejs = nodejs_22; }; @@ -97,6 +98,8 @@ stdenv.mkDerivation (finalAttrs: { doInstallCheck = true; versionCheckProgramArg = "--version"; + passthru.updateScript = nix-update-script { }; + meta = { description = "TypeScript Execute (tsx): The easiest way to run TypeScript in Node.js"; homepage = "https://tsx.is"; From 103425fd84d398dfd3cd516062da9017fc8a37d6 Mon Sep 17 00:00:00 2001 From: HigherOrderLogic <73709188+HigherOrderLogic@users.noreply.github.com> Date: Fri, 7 Nov 2025 05:39:07 +0000 Subject: [PATCH 4/5] tsx: 4.19.3 -> 4.21.0 --- pkgs/by-name/ts/tsx/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ts/tsx/package.nix b/pkgs/by-name/ts/tsx/package.nix index 81b39b5ea5f6..360d7847d6cd 100644 --- a/pkgs/by-name/ts/tsx/package.nix +++ b/pkgs/by-name/ts/tsx/package.nix @@ -14,13 +14,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "tsx"; - version = "4.19.3"; + version = "4.21.0"; src = fetchFromGitHub { owner = "privatenumber"; repo = "tsx"; tag = "v${finalAttrs.version}"; - hash = "sha256-wdv2oqJNc6U0Fyv4jT+0LUcYaDfodHk1vQZGMdyFF/E="; + hash = "sha256-vlVRq637l84xi9Og0ryzYuu+1b/eBq13jQJIptY0u0o="; }; pnpmDeps = fetchPnpmDeps { @@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { ; pnpm = pnpm'; fetcherVersion = 1; - hash = "sha256-IDPXEmACa+JbScp+CKJLW9S4MGgfQwS4ZYMvDL++Hy4="; + hash = "sha256-6ZizQtZC43yXrz634VXksRCKGkDKryICvT3Q+JCuIEw="; }; nativeBuildInputs = [ From 8db56aee4d058df2fd6b9f0146d319d070074743 Mon Sep 17 00:00:00 2001 From: HigherOrderLogic <73709188+HigherOrderLogic@users.noreply.github.com> Date: Sun, 30 Nov 2025 18:33:34 +0000 Subject: [PATCH 5/5] tsx: add HigherOrderLogic as maintainer --- pkgs/by-name/ts/tsx/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ts/tsx/package.nix b/pkgs/by-name/ts/tsx/package.nix index 360d7847d6cd..80cef1ec8c63 100644 --- a/pkgs/by-name/ts/tsx/package.nix +++ b/pkgs/by-name/ts/tsx/package.nix @@ -104,7 +104,10 @@ stdenv.mkDerivation (finalAttrs: { description = "TypeScript Execute (tsx): The easiest way to run TypeScript in Node.js"; homepage = "https://tsx.is"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.sdedovic ]; + maintainers = with lib.maintainers; [ + sdedovic + higherorderlogic + ]; mainProgram = "tsx"; }; })