CHANGELOG - sitespeed.io/plugin (we use semantic versioning)
- Relaxed the config validation introduced in 1.0.1 so that
queueis no longer required at construction time. Existing plugins likepagexraycallsuper({ name, options, context })without aqueue, which broke in 1.0.1 withSitespeedioPlugin requires a config object with name, context and queue. The constructor now only requiresnameandcontext;queueis consumed later bysendMessage()and may be set by the framework after construction.
- Removed an unreachable
log()wrapper method on the base class. The constructor'sthis.logassignment had always shadowed it, so callingplugin.log(...)invoked the logger object directly. Behavior is unchanged; the dead method is gone. - Validate the constructor's
configargument up front and throw a clear error whenname,contextorqueueis missing, instead of letting a confusingCannot read properties of undefinedescape later. - Use
===for the abstract-class guard. - Fixed a malformed
@param {}JSDoc tag onsendMessage. - README with install, example and API reference.
enginesfield (node >= 20).test/plugin.test.jscovering the public surface (run withnpm test, uses the built-innode:testrunner — no test deps).- GitHub Actions workflow that runs lint and tests on Node 20/22/24.
- Bumped dev tooling:
eslint8 → 10,prettier2 → 3,eslint-plugin-unicorn45 → 64,eslint-config-prettier8 → 10,eslint-plugin-prettier4 → 5. - Migrated
.eslintrc.jsonto flat config (eslint.config.mjs).
- Replaced the use of intel, instead use sitespeed.io/log.