grunt-preceptor
v0.9.0
Published
Grunt plugin for Preceptor
Downloads
5
Readme
Grunt-Preceptor
Grunt plugin for Preceptor
Table of Contents
##Installation
Install this module with the following command:
npm install grunt-preceptor
Add the module to your package.json
dependencies:
npm install --save grunt-preceptor
Add the module to your package.json
dev-dependencies:
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.
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