Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Published types: `TransactionBuilder.d.ts` imports `DeferredRedeemer`, which `stripInternal` removes

Fermée Adaptée aux débutants
#554 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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.ts imports DeferredRedeemer from ./RedeemerBuilder.js, but RedeemerBuilder.d.ts doesn't export it.
  • In RedeemerBuilder.ts, DeferredRedeemer is marked /** @internal */, and packages/evolution/tsconfig.build.json sets "stripInternal": true. The declaration is removed, while the import in TransactionBuilder.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.ts files in dist reports just this one.
  • With skipLibCheck: true the build passes, but silently. The unresolved import becomes any, so DeferredRedeemerData["deferred"] is any for consumers. DeferredRedeemerData is documented as public (@since 2.0.0, @category state), and TxBuilderState.deferredRedeemers uses it.
  • Restoring four declarations fixes it. I restored the four @internal type declarations from RedeemerBuilder.ts (StaticRedeemer, SelfRedeemer, BatchRedeemer and DeferredRedeemer) into the published RedeemerBuilder.d.ts. Both the consumer above and all 222 files then type-check, and deferred is typed again. toDeferredRedeemer can stay internal. So dropping @internal from those four types is enough, unless DeferredRedeemerData isn't meant to be public after all.
  • CI could catch this kind of break. A consumer compiled with skipLibCheck: false would 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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de IntersectMBO/evolution-sdk

Toutes les issues de IntersectMBO/evolution-sdk

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.