VersionWave
Achieve legendary control over package updates in Node.js applications with VersionWave. Designed with precision and automation, VersionWave ensures seamless stability, security, and integration for every update, keeping your projects cutting-edge and ready to perform.
Features
-
Automated Updates on Your Schedule: Configure updates to run daily, weekly, monthly, or at specific times to maintain peak performance without interrupting workflows.
-
Comprehensive Backup and Recovery: Captures full, timestamped backups before each update, enabling instant rollbacks and maintaining project stability.
-
Customizable Validation and Testing: Run pre- and post-update scripts, custom tests, and checksum validation to ensure each update aligns with your standards.
-
Effortless Restarts and Scheduling: Automatically restart your project with built-in commands or custom scripts, seamlessly integrating updates when it’s most convenient.
-
Flexible Logging and Notifications: Track update success, validate changes, and troubleshoot instantly with customizable logs or real-time notifications.
Installation
Install VersionWave with NPM:
npm install versionwave
Usage
VersionWave provides flexible configuration options, allowing you to customize the update flow to fit your project needs. Here’s a quick start:
const { cascadeVersion } = require('versionwave');
cascadeVersion({
autoRestart: true,
versionRange: "1.2.3",
scheduleUpdate: "daily",
startupScript: "node server.js",
});
Configuration Options
Option | Description | Default |
---|
autoRestart | Automatically restart the project after updates. | false |
versionRange | Specify a version or range (e.g., "1.0.0" , "^2.0.0" , or "latest" for the latest version). | "latest" |
preUpdateScript | Script to run before updating. | null |
postUpdateScript | Script to run after updating. | null |
backupDirectory | Directory for storing backup files. | "./backups" |
notifyOnly | Notify without applying updates. | false |
customTestFunction | Custom tests to validate after update. | null |
scheduleUpdate | Schedule options: "daily" , "weekly" , "monthly" , or cron expression. | null |
logCallback | Custom logging function for update notifications. | null |
maxRetries | Maximum retries for failed updates. | 3 |
rollbackOnFailure | Roll back if the update fails. | true |
checksumValidation | Validate downloaded packages using checksum verification. | false |
startupScript | Command to restart the project after updates (default "npm start" ). | "npm start" |
Author
Steven Compton
License
See License in LICENSE.md
With VersionWave, every version update flows like a wave, ensuring your project maintains peak performance and stability. Embrace the future of automated package management in Node.js, and let VersionWave handle the updates while you focus on what you do best.