Problem
The quickpickle package (v1.11.1) imports pixelmatch in its distributed bundle:
dist/index.esm.js: import pixelmatch from 'pixelmatch'
dist/index.cjs: var pixelmatch = require('pixelmatch')
dist/world.d.ts: import { type PixelmatchOptions } from 'pixelmatch'
However, pixelmatch is not listed in dependencies or peerDependencies in packages/main/package.json. This means running quickpickle without explicitly adding pixelmatch to your own project fails at runtime.
Steps to reproduce
- Install
quickpickle without pixelmatch:
npm install --save-dev quickpickle vitest
- Run tests — they fail with a module-not-found error for
pixelmatch.
Expected behavior
pixelmatch should be declared as
peerDependency — PixelmatchOptions type is being used in quickpickle options type
Actual behavior
Consumers must manually add pixelmatch to their own devDependencies to avoid a runtime error, even when they don't use screenshot comparison functionality.
Problem
The
quickpicklepackage (v1.11.1) importspixelmatchin its distributed bundle:dist/index.esm.js:import pixelmatch from 'pixelmatch'dist/index.cjs:var pixelmatch = require('pixelmatch')dist/world.d.ts:import { type PixelmatchOptions } from 'pixelmatch'However,
pixelmatchis not listed independenciesorpeerDependenciesinpackages/main/package.json. This means runningquickpicklewithout explicitly addingpixelmatchto your own project fails at runtime.Steps to reproduce
quickpicklewithoutpixelmatch:pixelmatch.Expected behavior
pixelmatchshould be declared aspeerDependency— PixelmatchOptions type is being used in quickpickle options typeActual behavior
Consumers must manually add
pixelmatchto their owndevDependenciesto avoid a runtime error, even when they don't use screenshot comparison functionality.