dnt icon indicating copy to clipboard operation
dnt copied to clipboard

Emitting ESM fails with "Lexical environment is suspended."

Open rotu opened this issue 3 months ago • 1 comments

Dnt chokes when trying to process this package: https://jsr.io/@rotu/structview/0.6.1

Deno handles the file fine, and it publishes to jsr.

deno run -A ./scripts/build_npm.ts 0.6.1
[dnt] Transforming...
[dnt] Running npm install...

added 7 packages, and audited 8 packages in 1s

found 0 vulnerabilities
[dnt] Building project...
[dnt] Emitting ESM package...
error: Uncaught (in promise) Error: Debug Failure. False expression: Lexical environment is suspended.
    Debug.assert(!lexicalEnvironmentSuspended, "Lexical environment is suspended.");
          ^
    at Object.startLexicalEnvironment (https://jsr.io/@ts-morph/common/0.27.0/typescript.js:119353:11)
    at visitParameterList (https://jsr.io/@ts-morph/common/0.27.0/typescript.js:94138:11)
    at visitEachChildOfGetAccessorDeclaration (https://jsr.io/@ts-morph/common/0.27.0/typescript.js:94392:7)
    at Object.visitEachChild (https://jsr.io/@ts-morph/common/0.27.0/typescript.js:94291:33)
    at visitNode (https://jsr.io/@deno/dnt/0.42.3/lib/compiler_transforms.ts:26:15)
    at visitArrayWorker (https://jsr.io/@ts-morph/common/0.27.0/typescript.js:94105:49)
    at visitNodes2 (https://jsr.io/@ts-morph/common/0.27.0/typescript.js:94076:19)
    at visitEachChildOfTypeLiteralNode (https://jsr.io/@ts-morph/common/0.27.0/typescript.js:94481:7)
    at Object.visitEachChild (https://jsr.io/@ts-morph/common/0.27.0/typescript.js:94291:33)
    at visitNode (https://jsr.io/@deno/dnt/0.42.3/lib/compiler_transforms.ts:26:15)

rotu avatar Oct 11 '25 08:10 rotu

I think this may be a downstream issue of https://github.com/microsoft/TypeScript/issues/58020

If I replace get foo(): X with readonly foo: X in all my type expressions, I don't seem to get this issue.

rotu avatar Oct 11 '25 08:10 rotu