grunt-initconfig
Seperate your long configuration. It conventionally init your configurations.
Getting Started
Install the module with: npm install grunt-initconfig --save-dev
Then add this line to your project's Gruntfile.js
gruntfile:
grunt;
You can run initconfig task:
grunt.task.run('initconfig');
grunt.registerTask('dev', 'lint server watch');
grunt.registerTask('prod', 'lint test');
Otherwise:
grunt.registerTask('dev', 'initconfig lint server watch');
grunt.registerTask('prod', 'initconfig lint test');
Documentation
grunt-initconfig
support a lot of formats. Choose your favorate:
Put your configuration files in .initconfig
. grunt-initconfig
automatically load and initialize configurations in .initconfig
directory. Let's see examples:
$ tree -a
.
└── .initconfig
├── clean.json
├── coffee
│ ├── tasks.coffee
│ └── test.coffee
├── coffeelint.coffee
├── copy.yaml
├── jshint.js
├── simplemocha.md
└── watch.cson
All of configuration will be injected into 'grunt config'.
In .initconfig
, directory is a namespace. Next two examples is the same.
.initconfig/coffee-tasks.coffee
:
= coffee: tasks: expand: true cwd: 'src/tasks/' src: '**/*.coffee' dest: 'tasks/' ext: '.js'
.initconfig/coffee/tasks.coffee
:
= tasks: expand: true cwd: 'src/tasks/' src: '**/*.coffee' dest: 'tasks/' ext: '.js'
Examples
.yaml
:
copy: tasks: files: - expand: true cwd: src/tasks src: - '**/*.js' dest: tasks/ test: files: - expand: true cwd: src/test src: - '**/*.js' dest: out/test
.json
:
"clean": "out/" "tasks/" "*.js" "*.js.map" "src/**/*.js" "src/**/*.js.map"
.js
:
module { return jshint: options: jshintrc: '.jshintrc' tasks: src: 'src/tasks/**/*.js' test: src: 'src/test/**/*.js' ;};
.cson
:
watch: gruntfile: files: '<%= coffeelint.gruntfile.src %>' tasks: 'coffeelint:gruntfile' jsTasks: files: '<%= jshint.tasks.src %>' tasks: 'jshint:tasks' 'test' jsTest: files: '<%= jshint.test.src %>' tasks: 'jshint:test' 'test' coffeeTasks: files: '<%= coffeelint.tasks.src %>' tasks: 'coffeelint:tasks' 'coffee:tasks' 'test' coffeeTest: files: '<%= coffeelint.test.src %>' tasks: 'coffeelint:test' 'coffee:test' 'test'
.coffee
:
module.exports = (grunt)->
coffeelint:
gruntfile:
src: 'Gruntfile.coffee'
tasks:
src: ['src/tasks/*.coffee']
test:
src: ['src/test/*.coffee']
options:
no_trailing_whitespace:
level: 'error'
max_line_length:
level: 'warn'
.md
:
# simplemocha ## options Blur Blur Blur - timeout: 3000- ignoreLeaks: false- ui: bdd- reporter: spec ### globals - should ## test `test` is target ### src [mocha]() requires these files like `--require` options - node_modules/should/lib/should.js- out/test/**/*.js
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.
Release History
- 2013-08-25 v0.0.1 Release grunt-initconfig
License
Copyright (c) 2013 Changwoo Park Licensed under the MIT license.