grunt-preceptor v0.9.0
Grunt-Preceptor
Grunt plugin for Preceptor
Table of Contents
##Installation
Install this module with the following command:
npm install grunt-preceptorAdd the module to your package.json dependencies:
npm install --save grunt-preceptorAdd the module to your package.json dev-dependencies:
npm install --save-dev grunt-preceptorThis 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.
Getting Started
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-preceptor');The "preceptor" task
Overview
In your project's Gruntfile, add a section named preceptor to the data object passed into grunt.initConfig().
grunt.initConfig({
preceptor: {
your_target: {
// Target-specific Preceptor options go here.
},
},
})Options
options.ruleBook
Type: Object required
Options 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.
Usage Examples
Default Options
You can supply the rule-book file in the options object of a task:
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:
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:
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
11 years ago

