Skip to content

v0.3.0

Choose a tag to compare

@ranacseruet ranacseruet released this 26 May 01:10
· 41 commits to main since this release

What's new

Package extraction (Phase 1)

SnapDrift's monolithic lib/ modules are now backed by four standalone npm packages:

  • @snapdrift/manifest — Schema validation, route selection, viewport presets, drift status classification (zero deps)
  • @snapdrift/compare-core — Pure pixel comparison engine with ignore-region masking (deps: pngjs)
  • @snapdrift/adapter-report-md — Markdown and HTML report generators (zero runtime deps)
  • @snapdrift/adapter-fs — Filesystem I/O: capture, compare, config, staging, drift report generation (deps: manifest, compare-core, pngjs, playwright)

All lib/*.mjs modules are now thin re-export shims with identical export surfaces — backward compatible.

Other changes

  • generateDiffImage ignore regions — ignored pixels are overlaid with semi-transparent gray instead of being skipped
  • Publish workflow — now publishes all four @snapdrift/* packages in dependency order before the root package
  • Performance: concurrent route capture, SNAPDRIFT_CAPTURE_CONCURRENCY env var, animations: 'disabled'

npm packages

Package Version
snapdrift 0.3.0
@snapdrift/manifest 1.0.0
@snapdrift/compare-core 1.0.0
@snapdrift/adapter-report-md 1.0.0
@snapdrift/adapter-fs 1.0.0

Full Changelog: v0.2.1...v0.3.0