Track the public API surface in CI
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 57/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- github-actions, node.js, typescript
- 領域
- api, build-system, ci-cd
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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
TestContainerinterface fell behindGenericContainer. - 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
majorlabel.
Where
.github/workflows/checks.yml- root
package.jsonscripts, next toknip packages/testcontainers, and optionally each module
Notes
npm run knipcovers 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.
- 主要言語
- TypeScript
- スター
- 2.6k
- フォーク
- 274
- 平均マージ
- 1日 14時間
- マージ済み PR(30日)
- 44
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
testcontainers/testcontainers-node のほかの issue
-
enhancement minor
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
testcontainers/testcontainers-node#1539 ·
メンテナーはふだん 1 日以内に返信
-
enhancement minor
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
testcontainers/testcontainers-node#1533 ·
メンテナーはふだん 1 日以内に返信
-
enhancement minor
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
testcontainers/testcontainers-node#1531 ·
メンテナーはふだん 1 日以内に返信
-
enhancement minor
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
testcontainers/testcontainers-node#1529 ·
メンテナーはふだん 1 日以内に返信
-
enhancement minor
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
testcontainers/testcontainers-node#1528 ·
メンテナーはふだん 1 日以内に返信
testcontainers/testcontainers-node の issue をすべて見る
似ている issue
-
documentation good first issue hacktoberfest help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
libredb/libredb-studio#1756 ·
メンテナーはふだん 1 日以内に返信
-
state:triage-needed
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
lingdojo/kana-dojo#32365 · コメント 1 件 · リアクション 5 件 ·
メンテナーはふだん 1 日以内に返信
-
friction
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
kentcdodds/kody#3706 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
copperheadhq/copperhead#378 ·
メンテナーはふだん 1 日以内に返信