The core kernel surface is now tagged @public (commit 68953fe), but nothing enforces it: a future PR can still add or change an export without review.
Goal: add api-extractor to @rdk-moss/core so the public surface is captured in a reviewable report (etc/core.api.md) and CI fails when the surface changes unexpectedly.
Steps:
- Add
@microsoft/api-extractor as a dev dependency.
- Add
packages/dmoss/api-extractor.json (extends the recommended config; point mainEntryPointFilePath at the built dist/index.d.ts).
- Commit the generated
etc/core.api.md report.
- Wire
api-extractor run into the package build / verify so a drifted surface fails CI.
Done when: running the check on an unchanged surface passes, and changing/removing a @public export makes it fail. This is the enforcement half of the API-stability work; the remaining packages (#12, and teaching) can follow the same pattern.
The core kernel surface is now tagged
@public(commit68953fe), but nothing enforces it: a future PR can still add or change an export without review.Goal: add api-extractor to
@rdk-moss/coreso the public surface is captured in a reviewable report (etc/core.api.md) and CI fails when the surface changes unexpectedly.Steps:
@microsoft/api-extractoras a dev dependency.packages/dmoss/api-extractor.json(extends the recommended config; pointmainEntryPointFilePathat the builtdist/index.d.ts).etc/core.api.mdreport.api-extractor runinto the package build /verifyso a drifted surface fails CI.Done when: running the check on an unchanged surface passes, and changing/removing a
@publicexport makes it fail. This is the enforcement half of the API-stability work; the remaining packages (#12, and teaching) can follow the same pattern.