npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

grunt-stubby

v0.2.1

Published

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

Downloads

232

Readme

Grunt Stubby Build Status Dependency Status

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 object
  • options - 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