A Gulp plugin for setting up a Stubby mock server based on YAML/JSON/JS configuration files.
Inspired by Grunt Stubby.
npm install gulp-stubby-server --save-dev
gulp.task('stubby', function(cb) {
var options = {
files: [
'mocks/*.{json,yaml,js}'
]
};
stubby(options, cb);
});
gulp.task('stubby', function() {
var options = {
callback: function (server, options) {
server.get(1, function (err, endpoint) {
if (!err)
console.log(endpoint);
});
},
stubs: 8000,
tls: 8443,
admin: 8010,
files: [
'mocks/foobar.json',
'mocks/another-foobar-file.yaml',
'mocks/foobar.yml',
'mocks/another-foobar-file.js'
]
};
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 objectoptions
- 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.
stubbyServer.stop();
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 https://github.com/felixzapata/gulp-stubby-server.git && cd gulp-stubby-server
Install dependencies
$ npm install
Run tests
$ npm test
-
0.4.0
- build(deps): Upgrade to stubby 4.1.1. The mute option has been renamed quiet to be more consistent with other cli tools. #17
-
0.3.1
25.05.2020- Update dependencies #16
-
0.3.0
06.05.2020 -
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