Grunt json-schema validation task
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
tasks
.gitignore
.jshintrc
CHANGELOG.md
Gruntfile.js
LICENSE-MIT
README.md
package.json

README.md

grunt-json-schema

Grunt json-schema validation task

Getting Started

This plugin requires Grunt ~0.4.0

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-json-schema --save-dev

One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-json-schema');

The "json_schema" task

Overview

In your project's Gruntfile, add a section named json_schema to the data object passed into grunt.initConfig().

grunt.initConfig({
  json_schema: {
    test: {
      options: {
        // json-schema specific options go here
      },
      files: {
        // Schema to file mapping goes here
      }
    }
  }
})

Options

For configurable options see the documentation of json-schema.

Usage Examples

Default Options

In this example the files at path1/input.json and path2/*.json are validated with the path/schema.json file. You can define as much schemas to file mappings as you want.

grunt.initConfig({
  json_schema: {
    test: {
      options: {},
      files: {
        'path/schema.json': ['path1/input.json', 'path2/*.json']
      }
    }
  }
})

Custom Options

You can define custom options that are given to the [json-schema] validator.

grunt.initConfig({
  json_schema: {
    test: {
      options: {
        validateFormatsStrict: true
      },
      files: {
        'path/schema.json': ['path1/input.json', 'path2/*.json']
      }  
    }
  }
})

You can also define custom onError callback.

grunt.initConfig({
  json_schema: {
    test: {
      options: {
        onError: function(error){
          console.log("Error is ",error);
        }
      },
      files: {
        'path/schema.json': ['path1/input.json', 'path2/*.json']
      }  
    }
  }
})

Release History

(Nothing yet)