A Sails Micro-app architecture framework
Last updated 2 years ago by iamcxa .
Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install sails-hook-blacksails 
SYNC missed versions from official npm registry.


A Sails hook which to generate routes /doc and /doc/{your_micro_app_name} in order to provide Swagger UI support for each Sails Micro-Apps(fka, hooks). Each micro-app will have different Swagger documentation, which is a really good idea for API driven development.

Let's getting started! Just install this plugin and put your Swagger JSON file under the micro-app's root path, and enjoy the documentation.


  • Swagger 2.x~3.0 in JSON format
  • Sails 1.x basement
  • Sails hook sails-util-micro-apps installed
  • use micro-apps pattern, which means each micro-app has its own swagger definition.


  • Install plugin

sails-hook-swagger-ui is super easy to install.

// because your are using sails micro-app, so you have to install this first.
npm install sails-util-micro-apps

npm install sails-hook-swagger-ui
  • Setup the swagger json file path
import path from 'path';
import swagger from './swagger.json'; // import or require yor swagge here

module.exports = function (sails) {
    var loader = require('sails-util-micro-apps')(sails);

    return {
      swagger,  // put swagger here
      configure() {
          assets: `${__dirname}/assets`,
          views: `${__dirname}/views`,
          policies: `${__dirname}/api/policies`, // Path to your hook's policies
          config: `${__dirname}/config`, // Path to your hook's config
      initialize(next) {
          responses: `${__dirname}/api/responses`,
          models: `${__dirname}/api/models`, // Path to your hook's models
          services: `${__dirname}/api/services`, // Path to your hook's services
          controllers: `${__dirname}/api/controllers`, // Path to your hook's controllers
        }, err => next(err));


After you installed the plugin, you can redirect to {you_sails_app_root_path_and_port}/doc/${you_micro_app_folder_name} to see you Swagger documentation.

if you like to have a default /doc documentation, setup the config json to get better flexibility.


sails-hook-swagger-ui has a simple config file that outputted for you.

so you can decided to enable this plugin or not, or change the default entry /doc to load the swagger documentation you want.

module.exports['swagger-ui'] = {
  // To control this sails hook enable or not.
  enable: true,
  // Give a default sails project name(which is the folder name of target hook), or keep it null to set no default one.
  // default: 'sails-app-my-awesome-app'
  default: null,

Current Tags

  • 0.1.2                                ...           latest (2 years ago)

3 Versions

  • 0.1.2                                ...           2 years ago
  • 0.1.1                                ...           2 years ago
  • 0.1.0                                ...           2 years ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 3
Dependencies (10)
Dev Dependencies (8)
Dependents (0)

Copyright 2014 - 2016 © |