Description
π Search Terms
getSpecifierForModuleSymbol, Debug Failure, False expression,
π Version & Regression Information
- This is a crash
- This changed between versions 5.5 beta and 5.5 rc
β― Playground Link
https://github.com/Agoric/agoric-sdk/actions/runs/9440222557/job/25999288161?pr=9476
π» Code
My only repro is half-way through the build of a large repo, so I don't think I can isolate it to a code snippet.
Agoric/agoric-sdk#9476 changed the typescript
from,
- typescript@^5.5.0-beta
- version "5.5.0-dev.20240426"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.0-dev.20240426.tgz#e9ba7d0b3cdaa54021faca61d1bc399e4766c93b"
- integrity sha512-96cu+y3DrjSNhNSgB3t3nRiesCwBVjZpbjJ6DcQoCgt0crXXPrOMmJQH/E8TZ41U4JzaULD+cB1Z2owh5HANew==
+ typescript@^5.5.1-rc:
+ version "5.5.1-rc"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.1-rc.tgz#4be420f1ecb5e66c52a7cb11444f06f02294c977"
+ integrity sha512-7cbqBhh2QH0RaI7AD0ElJ2Ww/iRdW1w2wH/S2dv6EbdNQQlv39fx+V5VOepxLgfUvRkU5D5pxzgPuvHSAQOdpQ==
A CI job builds each package topologically.
π Actual behavior
The job started failing with:
Error: Debug Failure. False expression.
at first (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:605:9)
at getSpecifierForModuleSymbol (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:50904:21)
at rewriteModuleSpecifier (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51977:22)
at visitExistingNodeTreeSymbolsWorker (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51827:58)
at visitExistingNodeTreeSymbols (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51535:24)
at visitArrayWorker (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:87695:49)
at visitNodes2 (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:87666:19)
at tryVisitTypeReference (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51672:33)
at visitExistingNodeTreeSymbolsWorker (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51811:26)
at visitExistingNodeTreeSymbols (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51535:24)
In the debugger I see that it happens while looking for escapedName: 'globalThis'
in the context of this file.
π Expected behavior
Continues to build like the beta and past releases.
Additional information about the issue
Our repo makes use of a hack to make types available both ambiently and by explicit imports.
https://github.com/Agoric/agoric-sdk/blob/e7b0cebd17f093793e93f4f236921cb4a3f595b8/packages/internal/exported.d.ts#L17-L29
The motivation for this is in transitioning from ambient types to define exportable types and retain backwards compatibility with consumers expecting ambients.