ci: fix latest-TypeScript typings gate (TS 7 removed moduleResolution=node)#4
Merged
Merged
Conversation
TypeScript 7 removed the legacy 'node' (node10) moduleResolution (TS5108), which broke the package-boundary job's latest-TS step. node16 resolution is what modern Node consumers use anyway and additionally exercises the exports map's import/require type conditions. The pinned TS 3.4.5 floor gate keeps the legacy flags it needs. Reproduced locally against TS 7.0.2: old flags exit 1 (TS5108), node16 flags exit 0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013eq96Mbqa2dBCAN3YCyrDK
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the red
package-boundaryjob on master.Diagnosis: the "latest TypeScript" typings gate ran
tsc --moduleResolution node, and TypeScript 7 (nowtypescript@latest, 7.0.2) removed the legacynode/node10 resolution — the step fails withTS5108: Option 'moduleResolution=node10' has been removedbefore ever checking the d.ts. The package's typings are fine: every other step in the job is green (CJS + ESM smokes, TS 3.4.5 floor gate).Fix: the latest-TS gate now uses
--module node16 --moduleResolution node16, which is what modern Node consumers use and additionally exercises theexportsmap'simport/requiretype conditions. The pinned TS 3.4.5 floor gate keeps its legacy flags (3.4 predates node16 resolution and is pinned, so it can't drift).Verified locally against the packed tarball with TS 7.0.2: old flags exit 1 (
TS5108), new flags exit 0.One-line diff to
.github/workflows/ci.yml; no package code changes. Worth merging before cutting thev3.0.0release so the release ships from a green master (the publish workflow itself is unaffected — its gates don't include this step).🤖 Generated with Claude Code
Generated by Claude Code