grunt-stubby
v0.2.1
Published
A Grunt plugin for setting up a Stubby mock server based on YAML/JSON/JS configuration files
Downloads
154
Maintainers
Readme
Grunt Stubby
A Grunt plugin for setting up a Stubby mock server based on YAML/JSON/JS configuration files
Getting Started
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-stubby --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-stubby');
The "stubby" task
Usage Examples
Default Options
grunt.initConfig({
stubby: {
stubsServer: {
// note the array collection instead of an object
files: [{
src: [ 'mocks/*.{json,yaml,js}' ]
}]
}
}
})
Custom Options
grunt.initConfig({
stubby: {
stubsServer: {
options: {
callback: function (server, options) {
server.get(1, function (err, endpoint) {
if (!err)
console.log(endpoint);
});
},
stubs: 8000,
tls: 8443,
admin: 8010
},
// note the array collection instead of an object
files: [{
src: [ 'mocks/*.{json,yaml,js}' ]
}]
}
}
})
Options
options.stubs
Type: Number
Default value: 8882
Port number to run the stubs portal
options.tls
Type: Number
Default value: 7443
Port number to run the stubs portal over https
options.admin
Type: Number
Default value: 8889
Port number to run the admin portal
options.data
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
options.location
Type: String
Default value: localhost
Address/hostname at which to run stubby
options.relativeFilesPath
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.
options.key
Type: String
Default value: null
Path to keyfile contents (in PEM format)
options.cert
Type: String
Default value: null
Certificate file path contents (in PEM format)
options.pfx
Type: String
Default value: null
Pfx file path contents (mutually exclusive with key/cert options)
options.watch
Type: String
Default value: null
Filename to monitor and load as stubby's data when changes occur
options.mute
Type: Boolean
Default value: true
Pass in false to have console output (if available)
options.callback
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
options.persistent
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
Contributing
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 Grunt.
Testing
Clone the repository
$ git clone https://github.com/h2non/grunt-stubby.git && cd grunt-stubby
Install dependencies
$ npm install
Run tests
$ npm test
Release History
0.1.4
23.09.2013- Added persisten task option
0.1.3
18.09.2013- Added support to obtain relative paths from config file directory for the request/response data files
0.1.2
13.09.2013- Added support to JavaScript sources configuration files
- Detect and use full paths
0.1.1
09.09.2013- Removed basePath files option
0.1.0
01.09.2013- Initial release
TODO
You miss something? Open an issue or PR!
License
Under MIT license