Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

blacktide

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

blacktide

Lightweight back-end framework for Micro-services and APIs with added security

  • 1.0.0-beta.6
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Blacktide

Blacktide is a lightweight back-end framework with optimization in security and based on Express.

Notes

* Beta version, not yet ready for production
* Works great stand alone, works better with the blacktide-cli tool
* For quick development
* REST
* No static content
* No sessions

Installation

$ npm i -S blacktide

Configuration

See blacktide-cli for more information about the cli tool to aid development in Blacktide.

How to run with pm2

$ NODE_ENV=production pm2 start services/ --name 'myapp'

Getting started (with blacktide-cli)

Lets create a very simple alerts API, first we create the folder for the project and enter it:

$ mkdir alerts && cd alerts

Creating the app, remember to select to use mongoose

$ blacktide generate app alerts

We are going to need a model for that

$ blacktide generate model alerts

After all that is done, dont forget to install everything, before this step is a very good time to install aditional dependencies!

$ npm i

We have all we need to get started editing some code:


'use strict';

const blacktide = require( 'blacktide' );

blacktide
	.service( '', { // the / is optional

		create: ( req, res, next ) =>
		{

			blacktide
				.db
				.models
				.alerts
				.create( {
					type: 'info',
					text: req.body.text
				}, ( err, doc ) => {

					if ( err )
					{
						return next( err );
					}

					res.json( doc );

				} );

		}

	} );

With that done we can create alerts on our database!

Usage

Simple

	const blacktide = require( 'blacktide' );

	blacktide
		.service( '/hello', { // the / is optional

			get: ( req, res, next ) =>
			{

				'use strict';

				res.json( { content: 'hello world' } );

			}

		} );

At root or /

	const blacktide = require( 'blacktide' );

	blacktide
		.service( '', { // to attach to / just leave the service name empty

			get: ( req, res, next ) =>
			{

				'use strict';

				res.json( { content: 'hello world' } );

			}

		} );

You can also access Express via:

	const blacktide = require( 'blacktide' );

	blacktide
		.app
		.use( ( req, res, next ) => {

		} );

Example of a full service:

	const blacktide = require( 'blacktide' );

	blacktide
		.service( 'users', {

			// Called before all routes.
			before ( req, res, next ) {

				'use strict';

				req.passing = true;

				next();

			},

			// /users/1
			get ( req, res ) {

				'use strict';

				res.json( {
					body: req.body,
					params: req.params,
					query: req.query
				} );

			},

			// /users
			find ( req, res ) {

				'use strict';

				res.json( {
					body: req.body,
					params: req.params,
					query: req.query
				} );

			},

			// /users
			create ( req, res ) {

				'use strict';

				res.json( {
					body: req.body,
					params: req.params,
					query: req.query
				} );

			},

			// /users/1
			put ( req, res ) {

				'use strict';

				res.json( {
					body: req.body,
					params: req.params,
					query: req.query
				} );

			},

			// /users/1
			patch ( req, res ) {

				'use strict';

				res.json( {
					body: req.body,
					params: req.params,
					query: req.query
				} );

			},

			// /users/1
			delete ( req, res ) {

				'use strict';

				res.json( {
					body: req.body,
					params: req.params,
					query: req.query
				} );

			},

			// Called after all routes.
			after ( req, res, next ) {

				'use strict';

				console.log( req.passing );

				next();

			}

		} );

Run some tests

npm test

License

MIT

Keywords

FAQs

Package last updated on 06 Jan 2017

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc