Published types: `TransactionBuilder.d.ts` imports `DeferredRedeemer`, which `stripInternal` removes
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- api, testing-qa
Direzione di ricerca
Inizia da packages/evolution/src/sdk/builders/RedeemerBuilder.ts, dalla riga 87 di TransactionBuilder.ts e da packages/evolution/tsconfig.build.json; esamina in che modo stripInternal influisce sulle dichiarazioni generate. Riproduci l’esempio del consumer con TypeScript 5.9.3 e skipLibCheck disabilitato. Il lavoro è completato quando le dichiarazioni pubblicate esportano i tipi pubblici richiesti, il consumer supera il controllo dei tipi senza errori e DeferredRedeemerData["deferred"] non è più any.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The type declarations published in 0.5.14 don't type-check; the sources are unchanged on main at 714a6da.
dist/sdk/builders/TransactionBuilder.d.tsimportsDeferredRedeemerfrom./RedeemerBuilder.js, butRedeemerBuilder.d.tsdoesn't export it.- In
RedeemerBuilder.ts,DeferredRedeemeris marked/** @internal */, andpackages/evolution/tsconfig.build.jsonsets"stripInternal": true. The declaration is removed, while the import inTransactionBuilder.ts(line 87) stays.
Reproduce
package.json: "@evolution-sdk/evolution": "0.5.14", "typescript": "5.9.3"
tsconfig.json:
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"strict": true,
"noEmit": true,
"skipLibCheck": false
},
"include": ["index.ts"]
}
index.ts:
import * as Evolution from "@evolution-sdk/evolution"
export const sdk = Evolution
Then run npx tsc -p .
Expected
No errors.
Actual
node_modules/@evolution-sdk/evolution/dist/sdk/builders/TransactionBuilder.d.ts(54,15): error TS2305: Module '"./RedeemerBuilder.js"' has no exported member 'DeferredRedeemer'.
Notes
- It is the only such error. Type-checking all 222
.d.tsfiles indistreports just this one. - With
skipLibCheck: truethe build passes, but silently. The unresolved import becomesany, soDeferredRedeemerData["deferred"]isanyfor consumers.DeferredRedeemerDatais documented as public (@since 2.0.0,@category state), andTxBuilderState.deferredRedeemersuses it. - Restoring four declarations fixes it. I restored the four
@internaltype declarations fromRedeemerBuilder.ts(StaticRedeemer,SelfRedeemer,BatchRedeemerandDeferredRedeemer) into the publishedRedeemerBuilder.d.ts. Both the consumer above and all 222 files then type-check, anddeferredis typed again.toDeferredRedeemercan stay internal. So dropping@internalfrom those four types is enough, unlessDeferredRedeemerDataisn't meant to be public after all. - CI could catch this kind of break. A consumer compiled with
skipLibCheck: falsewould do it.
Investigated with AI assistance (Claude Code); the reproduction above was run with TypeScript 5.9.3 against 0.5.14.
- Lingua principale
- TypeScript
- Stelle
- 22
- Fork
- 31
- Merge medio
- 3g 19m
- PR unite (30g)
- 25
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di IntersectMBO/evolution-sdk
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
IntersectMBO/evolution-sdk#579 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
IntersectMBO/evolution-sdk#559 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
IntersectMBO/evolution-sdk#557 ·
I maintainer di solito rispondono entro 1 giorno
-
dependencies good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 93/100
IntersectMBO/evolution-sdk#541 ·
I maintainer di solito rispondono entro 1 giorno
-
bug external-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
IntersectMBO/evolution-sdk#530 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di IntersectMBO/evolution-sdk
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
callstackincubator/rozenite#518 ·
I maintainer di solito rispondono entro 1 giorno
-
Area/Workflow Priority/Blocker Type/Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
wso2/product-integrator#2622 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
area:bash bug has repro platform:macos
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
anthropics/claude-code#98644 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
allure-framework/allure-js#1603 ·
I maintainer di solito rispondono entro 1 giorno