nodejs_latest: 23.11.0 -> 24.0.0-rc.2 (#395431)

Changed files
+18 -14
doc
release-notes
pkgs
by-name
ta
tailwindcss-language-server
wi
windsurf
update
development
web
top-level
+2
doc/release-notes/rl-2505.section.md
···
- `mkBinaryCache` now defaults to using `zstd` compression for the binary caches it creates. The previous `xz` compression method can be used by passing `compression = "xz";`.
- `nodePackages."@commitlint/config-conventional"` has been removed, as it is a library, and projects should depend on it instead.
- zigbee2mqtt is now available in version 2.x as `zigbee2mqtt_2`. In NixOS 25.11 we'll remove `zigbee2mqtt_1` and default to `zigbee2mqtt_2`. See the [breaking changes](https://github.com/Koenkk/zigbee2mqtt/discussions/24198) announcement for 2.0.0.
···
- `mkBinaryCache` now defaults to using `zstd` compression for the binary caches it creates. The previous `xz` compression method can be used by passing `compression = "xz";`.
+
- `nodejs_latest` was updated from 23.x to 24.x. `nodejs_23` has been removed in favor of `nodejs_24`.
+
- `nodePackages."@commitlint/config-conventional"` has been removed, as it is a library, and projects should depend on it instead.
- zigbee2mqtt is now available in version 2.x as `zigbee2mqtt_2`. In NixOS 25.11 we'll remove `zigbee2mqtt_1` and default to `zigbee2mqtt_2`. See the [breaking changes](https://github.com/Koenkk/zigbee2mqtt/discussions/24198) announcement for 2.0.0.
+3 -3
pkgs/by-name/ta/tailwindcss-language-server/package.nix
···
lib,
stdenv,
fetchFromGitHub,
-
nodejs_23,
pnpm_9,
cacert,
}:
···
};
nativeBuildInputs = [
-
nodejs_23
pnpm_9.configHook
];
buildInputs = [
-
nodejs_23
];
pnpmWorkspaces = [ "@tailwindcss/language-server..." ];
···
lib,
stdenv,
fetchFromGitHub,
+
nodejs_latest,
pnpm_9,
cacert,
}:
···
};
nativeBuildInputs = [
+
nodejs_latest
pnpm_9.configHook
];
buildInputs = [
+
nodejs_latest
];
pnpmWorkspaces = [ "@tailwindcss/language-server..." ];
+1 -1
pkgs/by-name/wi/windsurf/update/update.mts
···
#!/usr/bin/env nix-shell
/*
-
#!nix-shell -i node --pure --packages cacert nodejs_23
*/
import * as assert from "node:assert/strict";
import * as fsPromises from "node:fs/promises";
···
#!/usr/bin/env nix-shell
/*
+
#!nix-shell -i node --pure --packages cacert nodejs_latest
*/
import * as assert from "node:assert/strict";
import * as fsPromises from "node:fs/promises";
+4 -2
pkgs/development/web/nodejs/nodejs.nix
···
done
'';
package = stdenv.mkDerivation (
finalAttrs:
let
···
inherit pname version;
src = fetchurl {
-
url = "https://nodejs.org/dist/v${version}/node-v${version}.tar.xz";
inherit sha256;
};
···
passthru.tests = {
version = testers.testVersion {
package = self;
-
version = "v${version}";
};
};
···
done
'';
+
downloadDir = if lib.strings.hasInfix "-rc." version then "download/rc" else "dist";
+
package = stdenv.mkDerivation (
finalAttrs:
let
···
inherit pname version;
src = fetchurl {
+
url = "https://nodejs.org/${downloadDir}/v${version}/node-v${version}.tar.xz";
inherit sha256;
};
···
passthru.tests = {
version = testers.testVersion {
package = self;
+
version = "v${lib.head (lib.strings.splitString "-rc." version)}";
};
};
+2 -2
pkgs/development/web/nodejs/v23.nix pkgs/development/web/nodejs/v24.nix
···
in
buildNodejs {
inherit enableNpm;
-
version = "23.11.0";
-
sha256 = "f2c5db21fc5d3c3d78c7e8823bff770cef0da8078c3b5ac4fa6d17d5a41be99d";
patches =
(
if (stdenv.hostPlatform.emulatorAvailable buildPackages) then
···
in
buildNodejs {
inherit enableNpm;
+
version = "24.0.0-rc.2";
+
sha256 = "729fca42bb7266031dd020f3935423ea8d4b4e2d119b34b608f1d079e5c1621a";
patches =
(
if (stdenv.hostPlatform.emulatorAvailable buildPackages) then
+6 -6
pkgs/top-level/all-packages.nix
···
nodejs-slim_22 = callPackage ../development/web/nodejs/v22.nix { enableNpm = false; };
corepack_22 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_22; });
-
nodejs_23 = callPackage ../development/web/nodejs/v23.nix { };
-
nodejs-slim_23 = callPackage ../development/web/nodejs/v23.nix { enableNpm = false; };
-
corepack_23 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_23; });
# Update this when adding the newest nodejs major version!
-
nodejs_latest = nodejs_23;
-
nodejs-slim_latest = nodejs-slim_23;
-
corepack_latest = hiPrio corepack_23;
buildNpmPackage = callPackage ../build-support/node/build-npm-package { };
···
nodejs-slim_22 = callPackage ../development/web/nodejs/v22.nix { enableNpm = false; };
corepack_22 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_22; });
+
nodejs_24 = callPackage ../development/web/nodejs/v24.nix { };
+
nodejs-slim_24 = callPackage ../development/web/nodejs/v24.nix { enableNpm = false; };
+
corepack_24 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_24; });
# Update this when adding the newest nodejs major version!
+
nodejs_latest = nodejs_24;
+
nodejs-slim_latest = nodejs-slim_24;
+
corepack_latest = hiPrio corepack_24;
buildNpmPackage = callPackage ../build-support/node/build-npm-package { };