
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Express for CLI apps.
$ npm install sushi --save
myapp.js:
var sushi = require('sushi');
var app = sushi();
app.on('start', function () {
console.log('start command');
});
app.on('stop', function () {
console.log('stop command');
});
app.on('index', function () {
console.log('index command');
});
app.run();
$ node myapp.js start
start command
$ node myapp.js stop
stop command
$ node myapp.js
index command
Program arguments are parsed using minimist.
Each command gets parsed arguments using minimist
in a first argument:
app.on('start', function (args) {
var name = args._[0];
var delay = args.delay;
console.log('start', name, 'with', delay, 'delay');
});
$ node myapp.js start my-process --delay 500ms
start my-process with 500ms delay
You can also customize the way minimist
parses arguments by passing options (see minimist):
app.run(argv, {
boolean: ['verbose']
});
Index command can be assigned using .on('index', fn)
.
It will be executed, when no other commands match.
app.on('index', function (args) {
console.log('index command');
});
$ node myapp.js
index command
Middleware is a function, that modifies the context or arguments before target command is executed.
app.use(function (args, context, next) {
context.ok = true;
// call `next()` when done
next();
});
app.on('start', function (args, context) {
context.ok === true; // true
console.log('start command');
});
Middleware can also abort command:
app.use(function (args, context, next) {
var err = new Error('Fatal error');
next(err);
});
app.on('start', function (args, context) {
// won't be executed
});
app.on('error', function (err) {
// err is the Error instance from middleware
err.message === 'Fatal error'; // true
});
$ make test
MIT © Vadym Demedes
FAQs
Sushi
The npm package sushi receives a total of 2,055 weekly downloads. As such, sushi popularity was classified as popular.
We found that sushi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.