Roest 📦
A lightweight CLI tool to analyze package freshness in your Node.js or Web projects. Roest - meaning "Rust" in Dutch - helps you identify outdated packages by checking when they were last updated, making it easier to keep your dependencies current and secure.
Usage
Basic Usage
Navigate to your project directory and run:
npx roest check
This will analyze your package-lock.json file and display package update information.
Analyze GitHub Repository
You can also analyze any GitHub repository directly. In order to do this, you need to make sure you have the GITHUB_TOKEN environment variable set. You can create a new GitHub token here.
Once you have your token, run the following command:
npx roest repo owner/repository
This will find and analyze all lock files in the specified GitHub repository.
Generate HTML Report
After running an analysis, you can generate a visual HTML report:
npx roest show
This will read the output.json file and generate a report.html file with a visual representation of your package freshness data.
You can also specify custom input and output paths:
npx roest show ./custom-output.json -o ./custom-report.html
Command Options
check command
-f, --file <path>: Path to your lock file (default: auto-detect in current directory)
-o, --output <path>: Output file path for JSON results (default: ./output.json)
repo command
-o, --output <path>: Output file path for JSON results (default: ./output.json)
show command
[input]: Input JSON file path (default: ./output.json)
-o, --output <path>: Output HTML file path (default: ./report.html)
Output Format
JSON Output
The tool also generates a detailed JSON file containing:
[
{
"name": "chalk",
"current": {
"version": "5.6.2",
"publishDate": "2024-01-15T10:30:00.000Z"
},
"next": {
"version": "5.6.3",
"publishDate": "2024-03-01T14:20:00.000Z"
}
}
]
Supported Lock File Formats
- npm package-lock.json v2: Full support
- npm package-lock.json v3: Full support
- pnpm: Planned
- bun: Full support
- yarn: Planned
Development
Prerequisites
Make sure you have Bun installed on your system.
Install Dependencies
bun install
License
MIT License - see LICENSE file for details.