Socket
Socket
Sign inDemoInstall

mini-tools

Package Overview
Dependencies
102
Maintainers
2
Versions
58
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    mini-tools

mini tools for express and others


Version published
Weekly downloads
50
increased by51.52%
Maintainers
2
Install size
9.77 MB
Created
Weekly downloads
 

Readme

Source

mini-tools

mini tools for express and others

stable npm-version downloads build windows coverage outdated-deps

language: English also available in: Spanish

Install

$ npm install mini-tools

Main goal

Have some mini tools for express and others

API

serveErr(req, res [, next])

Returns a function that sends a error message to de front-end. If the error object has setted the property

  • code: is displayed before the message
  • status: is sended in the header (otherwise "400" is sended)
app.post('/insert' , function(req,res){
  //...
  if(duplicate){
    serveErr(req,res)(new Error("Duplicate name. Can't insert"));
    return;
  }
  //...

It is promise friendly

app.use('/tools', function(req,res,next){
  //...
  .then(function(){
    if(not_in_this_middleware){
      throw new Error("next");
    }
    // ...
  }).catch(serveErr(req,res,next));

catch expects a function that receive an error. serveErr returns that function.

When err is Error("next") serveErr calls next and does not send any result to de front-end; otherwise it sends a 400 error with the message and stack.

serveJade(path, opts)

var express = require('express');
var app = express();

app.use('/',MiniTools.serveJade('./static',true));

app.use('/main',MiniTools.serveJade('./static/index.jade',false));

Returns an express middleware to serve jade files.

If opts is boolean it will be the any option.

If any==true it serves files adding .jade to req.path; and if there is no jade file it call next().

If any==false it serves that specific file.

Others options in opts are pased to pug.render function.

Note: for use serveJade you must include "pug" in package.json

serveStylus(path, any)

var express = require('express');
var app = express();

app.use('/',MiniTools.serveStylus('./static',true));

app.use('/site.css',MiniTools.serveStylus('./static/index.styl',false));

Returns an express middleware to serve jade files. If any==true it serves files adding .jade to req.path; and if there is no jade file it call next().

If any==false it serves that specific file.

Note: for use serveStylus you must include stylus in package.json

serveText(anyText,contentTypeText)

var express = require('express');
var app = express();

app.use('/about',MiniTools.serveText('<h1>This app</h1>','html'));

app.use('/is-up-service',MiniTools.serveText('Yes.'));

Returns an express middleware to serve pain text. Optionaly you can pass "content type".

serveJson(object)

var express = require('express');
var app = express();

var config = {devel:false, title: "title"};

app.use('/config',MiniTools.serveJson(config));

Returns an express middleware to serve an object in JSON format.

serveYaml(object)

var express = require('express');
var app = express();

var config = {devel:false, title: "title"};

app.use('/config',MiniTools.serveYaml(config));

Returns an express middleware to serve an object in yaml format (using js-yaml).

readConfig(list, opts)

MiniTools.readConfig(
    [
        {production: true},
        'package.json',
        'other-configs.yml',
        'more-configs',
    ],
    {whenNotExist:'ignore'}
).then(function(config){
    console.log(config);
});

Reads the chain of configuration merging with best-globals.changing.

If the list element is a fileName ending with .json .yaml o .yml, it reads and parse, if doesn't have extension it search first, if it is a plain object it uses directly.

options

  • whenNotExist:'ignore'
  • whenNotExist:'fail'

License

MIT

FAQs

Last updated on 27 May 2023

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc