Welcome!

Open Source Authors: Peter Silva, Tad Anderson, Elizabeth White, Jayaram Krishnaswamy, Michelle Drolet

Blog Feed Post

Announcing MinorJS: An Unopinionated, Ultra-minimal Web Framework for Node.js

Skytap is a big believer in open source software. Our company is built on amazing open source projects like Linux, Ruby on Rails and Node.js. That’s why we feel it’s so important to give back to the open source community by releasing and maintaining the MinorJS project.

What is MinorJS?

MinorJS is an unopinionated, ultra-minimal web framework that alleviates the pain of routing, testing, and deployment clustering for Node.js applications.

Why MinorJS?

By starting with MinorJS you maintain the freedom to develop your application with whichever technologies and philosophies you find appropriate for your Node.js project. MinorJS only handles routing, testing, and deployment clustering, ensuring that you have the tools to develop with speed and ship with confidence.

Features

Express and Rails-like Controllers. With MinorJS, creating a new page or RESTful interface is as simple as creating a new controller file. Routes are automatically created for present controllers and use the Rails convention of mapping each action to a particular CRUD operation in a database. Custom methods can be easily added to a controller as well, ensuring you have the flexibility to build the infrastructure you want while providing the foundation you need for the most common requests.

Simple and Powerful Functional Testing. MinorJS has a functional-testing framework that allows you to exercise both your frontend and server side web application code.  The testing framework uses Zombie.js as the web browser, allowing your tests to run quickly while giving you full access to the DOM. Zombie.js runs your front-end code the way an actual browser would, enabling you to write tests for complicated in-browser interactions.

The functional-testing framework takes care of starting and stopping your web server, so running your tests on CI machines like Jenkins is extremely easy. Just ‘npm install’ your application modules and run your tests!

Enterprise-Ready Deployment Clustering. MinorJS takes advantage of Node.js clustering support to handle HTTP requests with multiple workers across multiple CPU cores.  You can easily combine MinorJS with robust clustering tools like Strongloop’s Cluster Control or pm2 for zero-downtime deploys and automatic restarting of crashed workers.

A Fast and Flexible Development Environment. When MinorJS is running in development mode it will automatically reload files (code and templates) when they change. Sound taxing? Don’t worry, this feature won’t put any extra load on your CPU or disk because it doesn’t use file-watching to keep things up-to-date. Running your web stack using Vagrant and an NFS mount? No problem, MinorJS will even work with mounted filesystems!

Get Started with MinorJS

To get started using MinorJS, head over to Skytap’s Github page to find instructions on installation.

Does working with Node.js sound interesting to you? Come work with us!

Read the original blog entry...

More Stories By Noel Wurst

I am the managing content editor for at Skytap. Skytap provides SaaS-based dev/test environments to the enterprise. Our solution removes the inefficiencies and constraints that companies have within their software development lifecycle. As a result, our customers release better software faster. My aim is to publish engaging, thought provoking stories that revolve around agile enterprise applications and cloud-based development and testing.