Skip to content

feat: introduce plugin-based notifier system and refactor core#28

Merged
kaedeek merged 1 commit into
VersaLog:mainfrom
kaedeek:feat
Apr 24, 2026
Merged

feat: introduce plugin-based notifier system and refactor core#28
kaedeek merged 1 commit into
VersaLog:mainfrom
kaedeek:feat

Conversation

@kaedeek

@kaedeek kaedeek commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

Overview

This PR introduces a plugin-based architecture and removes direct dependencies on external notification libraries.

Changes

  • Removed node-notifier from core to improve security and reduce dependencies
  • Added setNotifier() API to allow external notification plugins
  • Refactored logging output to use process.stdout.write for better performance
  • Improved module exports for better TypeScript / ESM compatibility
  • Cleaned up unused dependencies

Breaking Changes

  • Removed built-in notification support (node-notifier)
  • Users must now provide a notifier via plugin if needed

Example

import VersaLog from "versalog"
import { notifyPlugin } from "versalog/plugin/notify"

const log = new VersaLog()
notifyPlugin(log)

log.error("Test error")

Motivation

  • Resolve indirect dependency vulnerabilities (uuid via node-notifier)
  • Reduce bundle size and improve maintainability
  • Provide a more flexible and extensible architecture

Notes

This is a breaking change, so version bump to v2.1.0 is recommended.

@kaedeek kaedeek merged commit d01af86 into VersaLog:main Apr 24, 2026
1 check failed
@kaedeek kaedeek deleted the feat branch April 24, 2026 11:59
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.

1 participant