release(build-tsdoc): 0.2.1 — host-native manifest line endings#29
Conversation
Adopt one range convention across the workspace: caret by default, tilde reserved for 0.0.x packages where caret would otherwise pin an exact patch. - typescript ~5.9.3 -> ^5.9.3 (root, build-tsdoc) - pkg-pr-new ^0.0.71 -> ~0.0.75 (0.0.x tilde range, floor bumped) - @types/node ^20.19.37 -> ^20.19.43 (root, build-tsdoc) Lockfile regenerated via pnpm dedupe; @types/node resolves to 20.19.43 across the api-extractor and vitest peer trees, typescript stays on 5.9.3. Signed-off-by: Alejandro Mery <amery@apptly.co>
Replace the single-cell exports table, which crammed every symbol into one unreadable run, with bullet lists grouped as Functions, Types, Errors, and Constant, each with a short gloss. Signed-off-by: Alejandro Mery <amery@apptly.co>
The generated `.api.json` is consumer territory, so it should match whatever the consuming repo normalises to rather than api-extractor's unconditional CRLF default. Add a `newlineKind` option (and the `NewlineKind` type) on `extractEntryManifest` / `ExtractEntryOptions`, defaulting to `'os'` — the host's native ending. `'os'`, an omitted option, and any unexpected value resolve to the host via `EOL`; `'lf'` and `'crlf'` pin the ending regardless of platform. The resolved kind feeds both api-extractor's write and the import-path rewrite, the latter through a `serialiseJSON` helper whose CRLF pass normalises `\r?\n` so it can never emit `\r\r\n`. Signed-off-by: Alejandro Mery <amery@apptly.co>
Bump @kagal/build-tsdoc to 0.2.1 and promote the existing [Unreleased] changelog entries under the new version with a 2026-06-16 release date, keeping an empty [Unreleased] placeholder on top. 0.2.1 changes the generated `.api.json` to follow the host's native line endings by default instead of api-extractor's unconditional CRLF, so the manifest matches whatever the consuming repo normalises to. The new `newlineKind` option pins `'lf'`/`'crlf'` regardless of platform for repos that need a fixed ending. After this PR merges, tagging the merge commit v0.2.1 triggers publish.yml, which authenticates to npm via OIDC and publishes with Sigstore provenance. Signed-off-by: Alejandro Mery <amery@apptly.co>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
📝 WalkthroughWalkthroughAdds a ChangesNewlineKind feature for
Root devDependency updates
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Summary
Releases
@kagal/build-tsdoc0.2.1. The generated.api.jsonnow follows the host's native line endings by default instead of
api-extractor's unconditional CRLF, so the manifest matches
whatever the consuming repo normalises to — no more spurious
CRLF↔LF churn in repos that commit on LF. A new
newlineKindoption pins
'lf'/'crlf'regardless of platform for repos thatneed a fixed ending.
Changes
—
extractEntryManifest/ExtractEntryOptionsgain anewlineKindoption (and theNewlineKindtype), defaulting to'os'. The resolved kind feeds both api-extractor's write andthe import-path rewrite via a
serialiseJSONhelper whose CRLFpass normalises
\r?\n, so it can never emit\r\r\n. Anomitted or unexpected value falls back to the host.
the README Exports table is regrouped under Functions / Types /
Errors / Constant headings, each with a short gloss.
one range convention across the workspace (caret by default,
tilde for
0.0.x), plus@types/nodefloor bump and lockfilededupe.
changelog promotion. Per
0.x.ydiscipline this is a patch: anew option and a default tweak, neither breaking nor a
significant change.
Verification
pnpm precommitgreen: lint (eslint + cspell), type-check (allthree tsconfigs), build, and 59 tests across 4 files. The feature
is covered by an on-disk default-ending test, a non-index
import-path-rewrite test exercising the CRLF pass end-to-end, and
a
serialiseJSONunit suite.After merge, tagging the merge commit
v0.2.1triggerspublish.yml, which publishes to npm via OIDC with Sigstoreprovenance.
Summary by CodeRabbit
New Features
newlineKindoption for API manifest generation, allowing explicit control over line endings (default: host OS, with options for LF or CRLF).Documentation