gstack’s /ship receipts stop refusing .jsx components imported without an extension

1 hour ago

gstack 1.91.188.0 and 1.91.189.0 (2026-10-24 to 2026-10-25): gstack-pregate now maps extensionless .jsx, .mts and .cts imports and index.jsx/index.tsx/index.mjs directory imports to their tests, so /ship receipts stop refusing on Next.js and webpack JSX repos. The Bun install default moves to 1.4.4, with the CVE-2026-111497 fix. Release notes: https://github.com/garrytan/gstack/blob/main/CHANGELOG.md#1911890---2026-10-25 https://github.com/garrytan/gstack/blob/main/CHANGELOG.md#1911880---2026-10-24 Commits: https://github.com/garrytan/gstack/commits/main

Ask about this presentation

Chapters

  1. 0:00JSX imports
  2. 0:15Resolver
  3. 0:34Bun 1.4.4
  4. 0:50Next
Show transcript

JSX imports

gstack logo

gstack’s /ship receipts stop refusing .jsx components imported without an extension

Before · an extensionless .jsx import had no test lane, and /ship refused its receipt
Now · the import maps to its tests
JSX importsResolverBun 1.4.4Next
garrytan/gstack · CHANGELOG.md · 1.91.188.0

On a Next.js or webpack repo, gstack refused the ship receipt for every JSX component imported without an extension. Pregate couldn't find a test lane for it. Those imports now map to their tests, and the receipt goes through.

Resolver

Pregate now tries six more file forms on an extensionless import

.jsx.mts.cts /index.tsx/index.jsx/index.mjs
A .js file still wins over a .jsx sibling. Relative, paths alias and baseUrl imports all resolve the new forms.
JSX importsResolverBun 1.4.4Next
garrytan/gstack · CHANGELOG.md · 1.91.188.0

The resolver now tries JSX, MTS and CTS files, and index files in TSX, JSX and MJS. A directory import selects its index file instead of the whole directory. When a JS file sits beside a JSX file, the JS file still wins.

Bun 1.4.4

gstack now installs Bun 1.4.4, with the CVE-2026-111497 fix

1.4.3→1.4.4install default
Matches · the Bun that Capy images ship and gbrain pins
Unchanged · the 1.4.2 minimum, engines.bun and Dockerfile.ci
JSX importsResolverBun 1.4.4Next
garrytan/gstack · CHANGELOG.md · 1.91.189.0

The installer now downloads Bun 1.4.4 instead of 1.4.3, which carries a security fix. It is the Bun that Capy images ship and gbrain pins. The 1.4.2 minimum is unchanged.

Next

On a JSX repo, I would upgrade gstack before the next /ship

CHANGELOG.mdgarrytan/gstack · 1.91.188.0 and 1.91.189.0
JSX importsResolverBun 1.4.4Next
garrytan/gstack · CHANGELOG.md · 1.91.189.0

If your repo imports JSX components without extensions, I would upgrade gstack before your next /ship, because this is the release that lets the receipt through. The full notes are in the gstack changelog.

What happened in AI today, in your inbox

One short email each evening. Read it and you’re caught up.

Built in New York with ❤️