npm install grunt-preceptorGrunt-Preceptor
===============
Grunt plugin for Preceptor










Table of Contents
* Installation
* Getting Started
* The "preceptor" Task
* Overview
* Options
* Usage Examples
* Third-party libraries
* License
##Installation
Install this module with the following command:
``shell`
npm install grunt-preceptor
Add the module to your `package.json` dependencies:`shell`
npm install --save grunt-preceptor`
Add the module to your package.json` dev-dependencies:`shell`
npm install --save-dev grunt-preceptor
This plugin requires Grunt.
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 the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
`javascript`
grunt.loadNpmTasks('grunt-preceptor');
to the data object passed into grunt.initConfig().`javascript
grunt.initConfig({
preceptor: {
your_target: {
// Target-specific Preceptor options go here.
},
},
})
`
$3
#### options.ruleBook
Type:
Object requiredOptions that would be otherwise in a
`rule-book.js` or `rule-book.json`.
You can also require the js or json file instead of adding here all the options.#### options.profile
Type:
String --optional--Selects a profile in the root of the
`ruleBook` option.#### options.subProfile
Type:
String --optional--Selects a sub-profile in the root of the
`tasks` object of the `ruleBook` option.$3
#### Default Options
You can supply the rule-book file in the options object of a task:
`javascript
grunt.initConfig({
preceptor: {
ci: {
options: {
ruleBook: require('./rule-book.js')
}
}
}
})
`#### Inline Options
You can supply the rule-book file in the options object of a task - in the following case for the
`preceptor:ci` task:`javascript
grunt.initConfig({
preceptor: {
ci: {
options: {
ruleBook: {
"configuration": {
"reportManager": {
"reporter": [
{"type": "Spec"},
{"type": "List", "progress": false}
]
}
}, "tasks": [
...
]
}
}
}
}
})
`#### Profile and Sub-Profile Options
For multiple configurations, you can supply the profile or sub-profile options:
`javascript
grunt.initConfig({ preceptor: {
ciSmoke: {
options: {
ruleBook: {
"ci": { // "ci" profile (see example)
"configuration": {
"reportManager": {
"reporter": [
{"type": "Spec"},
{"type": "List", "progress": false}
]
}
},
"tasks": {
"smoke": [ // "smoke"-test sub-profile (see example)
...
]
}
}
}
}
}
}
})
``##Third-party libraries
The following third-party libraries are used by this module:
###Dependencies
* preceptor: https://github.com/yahoo/preceptor
###Dev-Dependencies
* grunt: http://gruntjs.com
* chai: http://chaijs.com
* codeclimate-test-reporter: https://github.com/codeclimate/javascript-test-reporter
* coveralls: https://github.com/cainus/node-coveralls
* istanbul: https://github.com/gotwarlost/istanbul
* mocha: https://github.com/visionmedia/mocha
* sinon: http://sinonjs.org
* sinon-chai: https://github.com/domenic/sinon-chai
* yuidocjs: https://github.com/yui/yuidoc
##License
The MIT License
Copyright 2015 Marcel Erz