Skip to content
A Gulp plugin for setting up a Stubby mock server based on YAML/JSON/JS configuration files
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Gulp Stubby Server

Build Status

Package Quality

A Gulp plugin for setting up a Stubby mock server based on YAML/JSON/JS configuration files.

Inspired by Grunt Stubby.

Getting Started

npm install gulp-stubby-server --save-dev

The "stubby" task

Usage Examples

Default Options

gulp.task('stubby', function(cb) {
    var options = {
        files: [
    stubby(options, cb);

Custom Options

gulp.task('stubby', function() {
    var options = {
        callback: function (server, options) {
          server.get(1, function (err, endpoint) {
            if (!err)
        stubs: 8000,
        tls: 8443,
        admin: 8010,
        files: [
    stubby(options, cb);



Type: Array Default: null

Config files to run the server. It can accept a list of files or a glob pattern.


Type: Number Default value: 8882

Port number to run the stubs portal


Type: Number Default value: 7443

Port number to run the stubs portal over https


Type: Number Default value: 8889

Port number to run the admin portal

Type: Array/Object Default value: null

JavaScript Object/Array containing endpoint data. This option will be automatically filled from the JSON/YAML config files, however you can additionally add a customized data


Type: String Default value: localhost

Address/hostname at which to run stubby


Type: Boolean Default value: false

When you use the 'file' property for the request/response config Objects, enabling this options the data file path is relative to the the config file where it has been declared.


Type: String Default value: null

Path to keyfile contents (in PEM format)


Type: String Default value: null

Certificate file path contents (in PEM format)


Type: String Default value: null

Pfx file path contents (mutually exclusive with key/cert options)

Type: String Default value: null

Filename to monitor and load as stubby's data when changes occur


Type: Boolean Default value: true

Pass in false to have console output (if available)


Type: Function Default value: null

Callback function when the server starts successfully. The passed arguments are:

  • server - The Stubby server instance object
  • options - The server config options object


Type: Boolean Default value: false

Run the task in a persistent keep-alive server mode. Other tasks not will run until the Stubby server stops



Allows you to programmatically shutdown the stubby server.



In lieu of a formal styleguide, take care to maintain the existing coding style.

Add unit tests for any new or changed functionality. Lint and test your code using Gulp.


Clone the repository

$ git clone && cd gulp-stubby-server

Install dependencies

$ npm install

Run tests

$ npm test

Release History

  • 0.2.1 03.12.2018

    • Fix event-stream 3.3.6 vulnerability #13
  • 0.2.0 04.06.2016

    • Fix issue #9
    • Update Stubby package to 0.3.1
    • Update README file
    • Activate jshint task
  • 0.1.6 03.02.2016

    • Update glob package
  • 0.1.5 26.08.2015

    • Add YML files
    • Update package versions
    • Move gulp and gulp-util to dependencies
  • 0.1.4 16.07.2015

    • It adds a method to allows you to programmatically shutdown the stubby server.
  • 0.1.3 09.12.2014

    • Fix(package.json): glob should be a dependency instead of devDependency
  • 0.1.2 05.12.2014

    • Fix(index.js): on stubby error, calling the callback should be the last action
    • Fix(package.json): gulp-util must be as a dependency
  • 0.1.1 27.11.2014

    • Changes repository name
  • 0.1.0 27.11.2014

    • Initial release


Under MIT license

You can’t perform that action at this time.