Version Packages - #18
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
August 4, 2026 15:41
8da544e to
0b7f4ff
Compare
lintdeveloper
added a commit
that referenced
this pull request
Aug 4, 2026
tsup's clean:true deletes files but leaves empty directories behind. That produced a phantom dist/data during the pre-publish check on #18, which made a docs-only release look like it had changed dist — exactly the wrong false alarm to hit while deciding whether 'patch' was the right bump. Removing the outDir outright is deterministic and needs no new dependency. Verified by planting dist/data and dist/nested/deep before a build: 0 empty directories survive, and the output stays byte-identical to the published 0.5.0 dist. No changeset: consumers receive identical bytes, so this warrants no version entry.
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
August 4, 2026 15:49
0b7f4ff to
275cd9a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
naija-id@0.5.1
Patch Changes
e7030ef: Restructure the README for scanning. Documentation only — no code, no API change.
The README had grown to 437 lines across 16 sections with no table of contents, and 69% of it was prose. The qualities it was optimised for — stating every limit plainly, never overclaiming — had made it unscannable: every honest caveat was a paragraph, and the paragraphs accumulated.
Format for displaystarted around line 250, so anyone asking "how do I format a phone number" scrolled past 107 lines of identifier-specific caveats first.Four changes:
is*/format*/generate*/detect()name and whether redaction covers them by default. This is what most readers actually want, and it replaces a lot of scattered prose. Generated from the real exports, not from memory.<details>blocks — 109 lines of it: why validators cannot be detectors, the redaction false-positive measurements, the NUBAN residue proof behindinferBanks, the voter-VIN evidence table, and the fixed-line letter guard. Nothing is deleted; it is one click away instead of in the scroll path.Kept in the README rather than moved to a separate file so no link can rot and nothing depends on a doc that might not be published.
437 → 226 lines, with the rendered default view at ~198. Prose that explained why now links to
docs/design-decisions.mdinstead of repeating it, so the README carries what you need to call the API and one line of caveat per identifier — the reasoning is one click away rather than in the scroll path.Per-identifier caveats became a table rather than six prose blocks. Every snippet was extracted and compiled against the project's own tsc, every claimed output was executed and checked, and all 9 internal and cross-file anchors were verified against real headings.
162eeb0: Add
docs/design-decisions.md— a published record of the decisions that are easy to reverse incorrectly. Documentation only.Until now, the reasoning behind the load-bearing choices lived only in JSDoc comments and commit messages. A contributor asking "why is redaction anchored on written shape rather than on the validators?" had no findable answer, and the honest answer is a measurement, not an opinion.
Eight entries, each with the evidence it rests on:
parseXnormalizes before testing, soisPhone("Total: NGN 8,031,234,567")istrue. Redaction anchors on shape and uses the validator only to veto.isPhone, 0.4% for plate/passport).inferBanksuseful while making a silent detector dishonest.python-stdnumprecedent (de.idnr/de.stnr,in.aadhaar/in.vid) behind Tax ID vs TIN and vNIN vs NIN.0917, Yoruba labels, Pidgin labels, plate LGA decoding, VIN hex enforcement, historic area codes.detect()ordering is load-bearing — including the measured 0.09% trade behind placing fixed-line ahead of NIN.redact.tsmust not import the bank dataset.Plus a sources list and the known follow-ons. Linked from
CONTRIBUTING.md.docs/adds nothing to the published package —filesis["dist"], verified withnpm pack --dry-run.