Skip to content

chore: complete tap 20 migration - #196

Open
martinrrm wants to merge 2 commits into
mainfrom
fix/tap20-coverage-migration
Open

martinrrm wants to merge 2 commits into
mainfrom
fix/tap20-coverage-migration

Conversation

@martinrrm

@martinrrm martinrrm commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Completes the TAP 20 upgrade proposed in #186 rather than changing only the dependency version.

  • Upgrade TAP to ^20.0.3, remove unsupported check-coverage and nyc-arg, retain coverage-map: "map.js", and use the modern configuration expected by the existing template-oss version.
  • Keep full coverage enforcement enabled.
  • Migrate the keys in the four existing snapshot files to TAP 20's hierarchical naming. All 88 recorded snapshot values were compared against the original files and are identical.
  • Add a development-only TypeScript 5 dependency: a fresh install otherwise resolves TypeScript 7 through TAP's loader peer dependency, causing Cannot read properties of undefined (reading 'fileExists') before tests run. Default TAP plugins remain enabled.
  • Regenerate the Dependabot and branch-protection entries for the newly created release/v5 branch using the pinned template-oss version. Existing main and release/v6 entries are unchanged.

No production source, runtime dependencies, supported Node versions, lockfiles, or workflows were changed.

Validation

  • Full TAP suite: 14 files, 174 passing assertions; 100% statements, branches, functions, and lines.
  • ESLint passes.
  • Template-oss postlint passes after regenerating the maintenance-branch configuration.
  • Snapshot key/value comparison passes for all four files.
  • Both generated YAML files parse successfully; their release/v5 entries match the existing release/v6 policy, and regeneration is idempotent.
  • Validation ran on Linux with Node 24.15.0; the GitHub Actions matrix remains to be verified.

Maintenance-branch configuration

The initial postlint failure was caused by the newly created release/v5 branch not being represented in .github/dependabot.yml and .github/settings.yml.

The same failures were reproduced on unchanged main commit af44cf63cd89291906be6c7d107a06f5583b1203. A separate follow-up commit now regenerates those two files and resolves the lint gate. It does not change workflow definitions, runtime code, or the TAP migration.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: de8cfc56-323d-407e-916c-10914ddd2136
@martinrrm
martinrrm requested a review from a team as a code owner October 26, 2026 19:11
jeffkl
jeffkl previously approved these changes Oct 26, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: de8cfc56-323d-407e-916c-10914ddd2136
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants