beelzebub v1.0.4
Description
A modern task runner pipeline framework. Allows your Tasks to be Modular, Extendable, Flexible, Manageable, and Fire Resistant!
Features
- Tasks are based on Promises, support:
- Generator (Example)
- Using co wrapping
- Async/Await (Example)
- Streams (Example)
- Compatible with your existing
gulptasks
- Compatible with your existing
- Generator (Example)
- ES6 Class base class
- Extending from other Tasks (Example)
- Sub Tasks
- Run other tasks in an task
- Before and After (Simple Example, Adv Example)
- each task
- all tasks
- Decorators
- Auto Help Docs (ALI Example, CLI Example)
- Passing Options (Vars) to a task or globally (ALI Example, CLI Example)
- CLI (Examples) and full Javascript API (Examples)
- Totally bad *ss logo!
Install
API
$ npm install beelzebubCLI
$ npm install beelzebub -gDOCS
Task Class
API
Examples
Simple Example
const Beelzebub = require('beelzebub');
class MyTasks extends Beelzebub.Tasks {
task1() {
this.logger.log('MyTasks task1');
}
}
// Add Task to BZ, it will now be registered
Beelzebub.add( MyTasks );
// ------------------------------------
// Runs the task, returning a promise
Beelzebub.run('MyTasks.task1');CLI
Examples
Reserved Global Flags
--helpor-h- Prints Usage, List of Task Help Docs and Vars Definitions
--versionor-v- Prints Beelzebub version
--file=<file path>or-f=<file path>- Uses this file instead of the
beelzebub.jsorbeelzebub.jsonfile
- Uses this file instead of the
Passing Vars
The CLI uses yargs and thus the vars parsing is handled by yargs-parser.
$ bz <global vars> TaskPath <vars to pass to this Task> AnotherTaskPath <vars will only pass to the preceding Task> Simple Example
beelzebub.js file
const Beelzebub = require('beelzebub');
class MyTasks extends Beelzebub.Tasks {
task() {
this.logger.log('MyTasks task');
}
}
module.exports = MyTasks;$ bz MyTasks.taskVars Example
beelzebub.js file
const Beelzebub = require('beelzebub');
class MyTasks1 extends Beelzebub.Tasks {
default(aVars) {
const gVars = this.$getGlobalVars();
this.logger.log(`MyTasks1 default ${gVars.myGlobalVar} ${aVars.v1}`);
}
}
class MyTasks2 extends Beelzebub.Tasks {
task(aVars) {
const gVars = this.$getGlobalVars();
this.logger.log(`MyTasks1 task ${gVars.myGlobalVar} ${aVars.v1}`);
}
}
module.exports = [MyTasks1, MyTasks2];$ bz --myGlobalVar=hello MyTasks1 --v1=1 MyTasks2.task --v1=2Load File Example
appTasks.js file
module.exports = [
require('bz-frontend-react'),
require('bz-frontend-babel'),
require('./mytask.js')
];$ bz --file=./appTasks.js MyTasks.task1Special Thanks
To everyone supporting the development and cost to the project. I would also like to thank the logo artist Irving Gerardo!!!
License
It should be an obvious choice or you totally missed the badge at the top.
However for completeness;
"I Beelzebub, declare myself to be under the MIT licence"
7 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago


