chore: bump tsx from 4.21.0 to 4.23.11 - #27
Conversation
Bumps [tsx](https://github.com/privatenumber/tsx) from 4.21.0 to 4.23.11. - [Release notes](https://github.com/privatenumber/tsx/releases) - [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs) - [Commits](privatenumber/tsx@v4.21.0...v4.23.11) --- updated-dependencies: - dependency-name: tsx dependency-version: 4.23.11 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
454b579 to
03d4b1f
Compare
|
Claude finished @dependabot[bot]'s task in 2m 21s —— View job Dependency review:
|
| before (4.21.0) | after (4.23.11) | |
|---|---|---|
| tsx → esbuild range | ~0.27.x |
~0.28.0 (package-lock.json:2453) |
| resolution | deduped to top-level esbuild@0.27.7 |
nested node_modules/tsx/node_modules/esbuild@0.28.2 (package-lock.json:2907) |
get-tsconfig + resolve-pkg-maps |
present | dropped (no longer declared deps) |
vite (via vitest) requires esbuild@^0.27.0 (package-lock.json:3009), so it holds the top-level slot at 0.27.7. tsx's move to ~0.28.0 forces a second copy plus all 26 platform-specific @esbuild/* optional packages — that accounts for essentially the whole +495. The -28 is the two removed get-tsconfig/resolve-pkg-maps entries.
Practical consequences, all minor and dev-only:
npm cinow downloads two esbuild native binaries instead of one — slightly slower/larger dev installs.- Both esbuild entries are
hasInstallScript: true. Worth knowing if anyone audits or considers--ignore-scripts; it's not a new class of risk (esbuild was already there), just a second instance. - This resolves itself when
vitest/vitecatch up to esbuild 0.28.
esbuild 0.27 → 0.28 is the biggest behaviour change riding along here, but we only use esbuild transitively as tsx's TS→JS transform for a Node-executed script (no bundling, no output artifact), so the exposure is small.
3. How tsx is actually used
Exactly one call site, and it's narrow:
package.json:20—"generate-catalog": "tsx scripts/generate-catalog.ts".github/workflows/update-catalog.yml:33—npm run generate-catalog(weekly catalog regeneration PR)
scripts/generate-catalog.ts:1-6 imports only node:fs / node:path / node:url, one type-only import, and two relative .js-extension local modules. No CommonJS interop, no tsImport, no data URLs, no nyc, no node:test.
Cross-referencing that against the 4.22–4.23 fixes: CommonJS loader source fallback / async ESM require fallback, data URLs in tsImport, nyc coverage discovery, Node test location mapping, typeless ESM dependency exports, package subpath resolution — none of them intersect this usage. Plain ESM importing node builtins and sibling files is the most conservative path through tsx.
4. Risks and follow-ups
⚠️ CI does not exercisetsx.ci.ymlruns build + test +.mcpbsmoke test; none of those invoke tsx. The green CI run (31503339363) is therefore not evidence that tsx still works. The first real exercise is the next weeklyupdate-catalog.ymlrun. That's an acceptable place to find out — a failure there just means no catalog PR that week, with no user-facing impact — but if you want certainty before merging, runnpm run generate-cataloglocally once and confirmsrc/catalog.jsonregenerates with no diff beyond genuine API changes.- ℹ️ Publisher change, flagged in the PR body itself: tsx is now pushed to npm by GitHub Actions, a new releaser for this package. That's a human→CI publishing shift (usually an improvement, and it enables provenance), but it is a supply-chain change worth a conscious ack rather than a silent one, given this repo's care around pinning and signed commits.
- ✅ No
typescript,vitest,@types/node,@modelcontextprotocol/sdk, or GitHub Actions pins are touched by this PR, sostrict: true, theNodeNext+.js-extension convention, tool annotations insrc/index.ts, and the SHA-pinning style are all unaffected.
I could not run npm ci / npm test / npm run generate-catalog in this review environment (install and network access were not permitted), so section 3–4 conclusions come from reading the lockfile, package.json, the scripts, and the workflows rather than from executing them. Release notes beyond those quoted in the PR body (i.e. the truncated 4.22.x–4.23.7 range) were also not fetchable here — my read of that range is based on the commit list in the PR body.
· branch dependabot/npm_and_yarn/tsx-4.23.11
|
Superseded by #44. |
|
@dependabot rebase |
|
Looks like this PR is closed. If the branch still exists, you can re-open the PR and then use |
Bumps tsx from 4.21.0 to 4.23.11.
Release notes
Sourced from tsx's releases.
... (truncated)
Commits
bd3bc64test: cover CommonJS loader source fallback55cbecefix: preserve async ESM require fallback6c5ba85docs: document CommonJS default interopec1bcd5fix: support nyc coverage discovery (#710)b6e5b48docs: clarify CommonJS default imports2f55884fix: map Node test locationsde935d5docs: document Node source-map stack formattingb94f46ffix: support data URLs in tsImportbe1315efix: preserve package subpath resolution5efba41docs: organize transform backend researchMaintainer changes
This version was pushed to npm by GitHub Actions, a new releaser for tsx since your current version.