@ts-bridge/cli ^0.1.2 -> ^0.6.4
@ts-bridge/shims ^0.1.1 -> removed
This builds the published artifacts, so the output was diffed rather than
just checked for a zero exit. 216 files before and after, none added or
removed, and only two of them changed:
versions.mjs switches from a default import of semver plus destructuring
to direct named imports. semver is CJS, so this now leans on
Node's cjs-module-lexer resolving the names.
logging.mjs gains an $importDefault helper that honours __esModule when
importing debug, which is more correct than the old plain
default import.
The semver change is the risky one, and the test suite cannot catch it
because tests run against src/ through ts-jest, never against dist/. Both
entry points were therefore imported directly from the built output on Node
18, 20, 22 and 24, in ESM and CJS. All pass, so the named imports resolve
everywhere we support.
@ts-bridge/shims was never referenced by src/ or by the build output, and
core does not carry it. Removing it produces a byte identical dist/.
Top of stack #315, on #319.
@ts-bridge/cli^0.1.2^0.6.4@ts-bridge/shims^0.1.1Output diff
This builds the published artifacts, so
dist/was diffed rather than just checked for a zero exit. 216 files before and after, none added or removed, and only two changed:versions.mjsswitches from a default import plus destructuring to direct named imports:semveris CJS, so this now leans on Node'scjs-module-lexerresolving those names.logging.mjsgains an$importDefaulthelper honouring__esModulewhen importingdebug, which is more correct than the old plain default import.Why that needed checking by hand
The semver change cannot be caught by the test suite: tests run against
src/through ts-jest and never touchdist/. If the lexer failed to resolve a name, it would surface as a runtimeSyntaxErrorfor consumers, not a test failure.So both entry points were imported directly from the built output, in ESM and CJS, on every Node version we support:
Dropping shims
@ts-bridge/shimswas never referenced bysrc/or by the build output, and core does not carry it. Removing it produces a byte identicaldist/.Note
Medium Risk
Published
dist/interop for CJS dependencies changes with the new ts-bridge emitter; runtime breakage would affect package consumers rather than CI tests alone.Overview
Upgrades the build dev dependency
@ts-bridge/clifrom^0.1.2to^0.6.4and removes unused@ts-bridge/shims. The lockfile picks up the CLI’s new transitive deps (@ts-bridge/resolver,cjs-module-lexer) and dropsresolve.exports.Rebuilding with the newer CLI slightly changes published ESM in
dist/(same file set):versions.mjsnow uses named imports from CJSsemvervia Node’s module lexer, andlogging.mjsuses an interop helper fordebugthat respects__esModule. Those paths aren’t covered by tests that run againstsrc/, so runtime import checks on supported Node versions were used to validate ESM/CJS entry points.Reviewed by Cursor Bugbot for commit 361c13c. Bugbot is set up for automated code reviews on this repo. Configure here.