Skip to content

v0.6.1-alpha — test harness + CI hygiene

Pre-release
Pre-release

Choose a tag to compare

@Shepdesign Shepdesign released this 24 May 19:54
· 57 commits to main since this release

Tooling-only patch release — no plugin behavior changed. Safe to skip if you're already on 0.6.0-alpha and not contributing.

What's new

First JS test suite. Vitest 4 + jsdom 29 wired into the project (npm test / npm run test:watch). 15 tests covering:

  • Swipe-deck runtime (public/src/swiper.js): commit/skip via click + keyboard, deck-position math, Card vs Grid deckDepth, reset coalescing into a single change event, done-state + button-disable when the deck empties.
  • URL-state reconciliation (patchSwiper in public/src/refresh.js): count patching, server-included → right-swiped + hidden + checked sync, popstate restore when the server clears a value we'd locally right-swiped, preservation of local left-swipes.

Markdown lint is actually gating now. The Markdown · Lint CI job had continue-on-error: true set since it landed, quietly hiding 122 markdownlint findings. This release:

  • Adds .markdownlint.json that turns off the rules that fight this project's writing voice — MD013 (long prose lines are intentional), MD060 (padded tables read better than |col|col|), MD034 (bare GitHub URLs are fine inline).
  • Fixes the 21 real readability issues MD022/MD032 flagged — missing blank lines around headings glued to lists in plan.md, SECURITY.md, SHEPDESIGN.md.
  • Drops continue-on-error: true so future regressions can't sneak through.

Minor production tweaks (testability)

These are the only non-doc/non-test changes to runtime code:

  • initSwiper(root, { signal }) — accepts an AbortSignal for listener teardown. Standard pattern; needed because vi.resetModules clears the module cache but leaks document-level listeners the prior copy registered.
  • patchSwiper is now a named export from public/src/refresh.js — was a module-private helper; now reachable from tests without going through fetch + DOMParser.

Upgrade

git pull && npm install

No DB changes. No reindex needed. No admin-visible changes.