From c9e9c084187dd8c1cf504d4ef88562f0a789e07b Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Tue, 16 Jun 2026 18:15:46 +0200 Subject: [PATCH 1/3] Setup staged publication Enforces an operator intervention (gated by 2FA) to publish the package after the automated CI staged it. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a492495e..e57a2a07 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,4 +26,5 @@ jobs: # Ensure npm 11.5.1 or later for trusted publishing - run: npm install -g npm@latest - run: npm ci - - run: npm publish + - run: npm stage publish + - run: echo "The package has been staged, go to https://www.npmjs.com to publish it." From a2afd25f1a1bdccb9d26dd8a493539c4f6dc67ac Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Wed, 17 Jun 2026 09:59:15 +0200 Subject: [PATCH 2/3] Fix Jest configuration --- jest.config.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jest.config.ts b/jest.config.ts index d2a6a004..c64acde4 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -19,6 +19,11 @@ // import type { Config } from "jest"; +import { createRequire } from "node:module"; + +// Jest 30 loads .ts config files as ESM via Node's native TypeScript support, +// so `require` is not available. Use createRequire for require.resolve calls. +const esmRequire = createRequire(import.meta.url); import { createRequire } from "node:module"; From 368b651d93b8843fdeaa8f88003933d92c03b224 Mon Sep 17 00:00:00 2001 From: Nicolas Ayral Seydoux Date: Wed, 17 Jun 2026 11:57:59 +0200 Subject: [PATCH 3/3] Fix merge issue --- jest.config.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/jest.config.ts b/jest.config.ts index c64acde4..12f6286b 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -25,12 +25,6 @@ import { createRequire } from "node:module"; // so `require` is not available. Use createRequire for require.resolve calls. const esmRequire = createRequire(import.meta.url); -import { createRequire } from "node:module"; - -// Jest 30 loads .ts config files as ESM via Node's native TypeScript support, -// so `require` is not available. Use createRequire for require.resolve calls. -const esmRequire = createRequire(import.meta.url); - type ArrayElement = MyArray extends Array ? T : never; const baseConfig: ArrayElement> = {