Grunt plugin to verify/generate directory layout
This plugin requires Grunt ~0.4.5
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-directory-layout --save-devOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-directory-layout');In your project's Gruntfile, add a section named directory_layout to the data object passed into grunt.initConfig().
grunt.initConfig({
directory_layout: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file/folder and/or options go here.
},
},
});Type: String
Default value: "verify"
Possible values: "verify" or "generate"
"verify" verifies an existing directory layout against the specified directory and "generate" generates a directory layout for a directory.
Type: Array
Default value: []
Files/Folders to ignore while generating the layout.
In this example, the default options are used to verify the layout of a directory.
grunt.initConfig({
directory_layout: {
options: {
action: 'verify'
},
files: {
// here "test/" directory layout has to be verified
// "test/expected/default_options" is the file that stores the layout
'test/': 'test/expected/default_options'
}
},
});In this example, the default options are used to generate the layout of a directory.
grunt.initConfig({
directory_layout: {
options: {
action: 'generate'
},
files: {
// "tmp/default_options" is the file that stores the layout
// and "test/" directory layout has to be generated
'tmp/default_options': 'test/'
}
},
});In this example, custom options are passed to generate the layout of a directory.
grunt.initConfig({
directory_layout: {
options: {
action: 'generate',
ignore: [
// ignore file named 123
'123'
]
},
files: {
// "tmp/custom_options" is the file that stores the layout
// and "test/" directory layout has to be generated
'tmp/custom_options': 'test/'
}
},
});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.