diff --git a/.changeset/patched-node-toolchain.md b/.changeset/patched-node-toolchain.md new file mode 100644 index 000000000..14402a840 --- /dev/null +++ b/.changeset/patched-node-toolchain.md @@ -0,0 +1,5 @@ +--- + +--- + +Pin development and release tooling to Node 24.22.1, including Nix-generated TypeScript launchers. diff --git a/flake.nix b/flake.nix index 0bb19098a..44dc69a2c 100644 --- a/flake.nix +++ b/flake.nix @@ -34,6 +34,8 @@ nodejsSrc = nodejsSources.${system} or (throw "no nodejs ${nodejsVersion} binary for ${system}"); nodejs = pkgs.stdenv.mkDerivation { pname = "nodejs"; + passthru.python = pkgs.python3; + meta.platforms = builtins.attrNames nodejsSources; version = nodejsVersion; src = pkgs.fetchurl nodejsSrc; sourceRoot = "node-v${nodejsVersion}-${ @@ -95,6 +97,10 @@ runHook postInstall ''; }; + # keep generated compiler launchers on the patched runtime + typescript = pkgs.typescript.override { + buildNpmPackage = pkgs.buildNpmPackage.override { inherit nodejs; }; + }; tools = with pkgs; [ git nixfmt-classic diff --git a/packages/vue/test/inactiveInvalidation.test.ts b/packages/vue/test/inactiveInvalidation.test.ts index 448bd3b64..83810a469 100644 --- a/packages/vue/test/inactiveInvalidation.test.ts +++ b/packages/vue/test/inactiveInvalidation.test.ts @@ -69,11 +69,10 @@ const mountSuspense = (atom: any) => { return { app, getPromise: () => promise } } -const settle = (p: Promise | undefined) => - Promise.race([ - Promise.resolve(p).then(() => "resolved" as const, () => "rejected" as const), - new Promise<"pending">((resolve) => setTimeout(() => resolve("pending"), 40)) - ]) +const settle = async (promise: Promise | undefined) => { + expect(promise).toBeDefined() + await promise +} const fullKeyOf = (self: { id: string }) => [...makeQueryKey(self), undefined]