taskrush
v0.2.6
Published
A modern task runner with parallel execution and intelligent caching
Maintainers
Readme
TaskRush
A modern task runner with parallel execution and intelligent caching.
Installation
Global Installation (Recommended)
npm install -g taskrushLocal Installation
npm install taskrush
npx taskrush --helpQuick Start
- Create a
.rushfile in your project root:
tasks:
build:
cmd: npm run build
description: Build the application
cache_files:
- "src/**/*.js"
- "package.json"
test:
cmd: npm test
description: Run tests
depends_on:
- build- Run tasks:
taskrush build
taskrush test
taskrush --list # Show all available tasksFeatures
- 🚀 Parallel Execution: Run independent tasks simultaneously
- 💾 Intelligent Caching: Skip tasks when inputs haven't changed
- 📋 Dependency Management: Automatic task ordering based on dependencies
- 🎯 Selective Execution: Run only the tasks you need
- 📝 Clear Documentation: Task descriptions and help text
- 🔍 File Watching: Automatic re-runs when files change
- 🌍 Environment Variables: Dynamic configuration support
Command Line Usage
# Run a specific task
taskrush build
# List all available tasks
taskrush --list
# Run tasks in parallel when possible
taskrush -j build
# Watch for file changes and re-run
taskrush --watch build
# Verbose output for debugging
taskrush --verbose build
# Show help
taskrush --helpConfiguration
Create a .rush file in YAML format:
tasks:
task_name:
cmd: "command to run"
description: "Task description"
depends_on:
- other_task
cache_files:
- "file_pattern"
env:
KEY: valueProgrammatic Usage
const { runTaskRush } = require('taskrush');
// Run a task programmatically
runTaskRush(['build'])
.then(exitCode => {
console.log(`Task completed with exit code: ${exitCode}`);
})
.catch(err => {
console.error('Task failed:', err);
});Examples
See the examples directory for sample configurations.
Documentation
For complete documentation, visit: https://github.com/iPeluwa/rush
License
MIT
