Published types: `TransactionBuilder.d.ts` imports `DeferredRedeemer`, which `stripInternal` removes
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 82/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- typescript
- Domaine
- api, testing-qa
Piste de recherche
Commencez par packages/evolution/src/sdk/builders/RedeemerBuilder.ts, la ligne 87 de TransactionBuilder.ts et packages/evolution/tsconfig.build.json ; examinez l’impact de stripInternal sur les déclarations générées. Reproduisez l’exemple du consommateur avec TypeScript 5.9.3 et skipLibCheck désactivé. C’est terminé lorsque les déclarations publiées exportent les types publics requis, que le consommateur passe le contrôle de typage sans erreurs et que DeferredRedeemerData["deferred"] ne soit plus any.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 22
- Forks
- 31
- Merge moyen
- 4 j 6 h
- PR mergées (30 j)
- 27
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de IntersectMBO/evolution-sdk
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
IntersectMBO/evolution-sdk#579 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
IntersectMBO/evolution-sdk#559 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
IntersectMBO/evolution-sdk#557 ·
Les mainteneurs répondent en général sous 1 jour
-
dependencies good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 93/100
IntersectMBO/evolution-sdk#541 ·
Les mainteneurs répondent en général sous 1 jour
-
bug external-review
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
IntersectMBO/evolution-sdk#530 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de IntersectMBO/evolution-sdk
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
lichess-org/api#678 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
PostHog/posthog.com#20628 ·
Les mainteneurs répondent en général sous 1 jour
-
bug status:Needs Triage
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
jupyterlab/jupyterlab#19964 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
agentscope-ai/QwenPaw#8064 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
area: notebooks-jupyter bug theme: new notebook frontend
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
posit-dev/positron#16347 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour