chore(ci): dependabot typescript ceiling + fix Build-job flake - #172
Merged
Conversation
`npm run build` is a plain `tsc`, but embedding.ts's only use of this package is a dynamic import of an *optional* dependency. Environments that install without optional deps — CI does so intermittently, since the package pulls platform-specific native artifacts — fail resolution and die with TS2307 on an unchanged source tree. That made Build a coin-flip rather than a signal (it is what failed on #168). The declaration is minimal by design: one factory, returning `unknown`, because embedding.ts already defines its own FeatureExtractionPipeline shape and casts to it. No upstream type is depended on, so shadowing them when the package is present costs nothing. Verified all three states: package present (passes), package absent (passes), and package absent without this declaration (reproduces TS2307 at embedding.ts:208). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011xCqQo49d3CEbn6oEvb3Ru
…ling Every published @typescript-eslint release declares peer typescript ">=4.8.4 <6.1.0". A bump past that ceiling fails `npm ci` with ERESOLVE before any job starts, so it reds out every open PR in the repo rather than only its own — which is what happened for a day after #154 landed typescript@^7.0.2, and is what open PR #169 is currently retrying. Expressed as a version ceiling rather than `update-types: version-update:semver-major`, because 6.1.0 is a *minor* bump that would breach the same peer range and slip through a major-only ignore. CI already fails fast and loudly on this, so the rule is about not burning CI minutes and reviewer attention on PRs that cannot pass — not a substitute for the gate. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011xCqQo49d3CEbn6oEvb3Ru
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.
Summary
Gen 0 of the post-Phase-5 follow-ups — two independent CI-trust fixes, one commit each.
1.
fix(build): declare the optional@huggingface/transformersmodule.npm run buildis a plaintsc, butembedding.ts's only use of that package is a dynamic import of an optional dependency. Environments installing without optional deps (CI does so intermittently — the package pulls platform-specific native artifacts) fail resolution and die withTS2307on an unchanged tree. This is what failed on #168, and it makes Build a coin-flip rather than a signal.The declaration is deliberately minimal — one factory returning
unknown, sinceembedding.tsalready defines its ownFeatureExtractionPipelineshape and casts to it. No upstream type is depended on.Verified all three states:
TS2307atembedding.ts:208— reproduces the CI failure2.
ci(deps): ignoretypescript >=6.1.0in dependabot. Every published@typescript-eslintrelease caps peer typescript at<6.1.0; a bump past it failsnpm ciwith ERESOLVE before any job runs, so it reds out every open PR. That cost the repo a day after #154, and open PR #169 is retrying it right now.Expressed as a version ceiling, not
update-types: version-update:semver-major— 6.1.0 is a minor bump that would breach the same peer range and slip past a major-only ignore. CI already catches this fast and loudly; the rule is about not burning CI minutes on unmergeable PRs, not a replacement for the gate.Follow-on dependabot housekeeping (after this merges)
~6.0.3pin; all 11 jobs fail atnpm ci.🤖 Generated with Claude Code
https://claude.ai/code/session_011xCqQo49d3CEbn6oEvb3Ru