Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Track the public API surface in CI

Aperta
#1,580 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
57/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
github-actions, node.js, typescript

Direzione di ricerca

Read .github/workflows/checks.yml, the root package.json scripts near knip, and the exports in packages/testcontainers/src/index.ts; review API Extractor’s report and CI setup. Check the status of blocking issue #1528 and coordinate the initial report timing with #1529 before implementing. Done when CI checks a committed API report, flags unexported types in public signatures, and requires the major label for removed or changed exports.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

maintenance patch

What happens

The public API is whatever packages/testcontainers/src/index.ts exports, plus every type reachable from those exports. Nothing shows a reviewer when a pull request changes it.

  • Types used in public signatures went unexported.
  • The TestContainer interface fell behind GenericContainer.
  • Whether a change is breaking is judged by hand, and the semver label is applied by hand.

Expected

A generated API report checked in CI, for example with API Extractor:

  • The report is committed. A pull request that changes the public API changes the report, and the diff is visible in review.
  • An exported signature that references an unexported type fails the check.
  • A removed or changed export requires the major label.

Where

  • .github/workflows/checks.yml
  • root package.json scripts, next to knip
  • packages/testcontainers, and optionally each module

Notes

  • npm run knip covers unused exports. This covers the opposite problem.
  • A committed report is touched by every API change, so it conflicts when many API pull requests are open at once. Regenerating on rebase resolves it.

Dependencies

  • Blocked by #1528: the unexported-type check fails until those types are exported.
  • Coordinate with #1529: the first report should be taken after the interface is complete.
Lingua principale
TypeScript
Stelle
2.6k
Fork
274
Merge medio
1g 14h
PR unite (30g)
44

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di testcontainers/testcontainers-node

Tutte le issue di testcontainers/testcontainers-node

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.