#grunt-lintspaces
A Grunt task for checking spaces in files.
If you haven't used grunt before, be sure to check out the Getting Started guide.
From the same directory as your project's Gruntfile and package.json, install this plugin with the following command:
npm install grunt-lintspaces --save-dev
Once that's done, add this line to your project's Gruntfile:
grunt.loadNpmTasks('grunt-lintspaces');
Inside your grunt.js
file add a section named lintspaces
. This section specifies the tasks. Each task takes sources and options as parameters.
This sets the path of the files to be checked.
This controls how this task operate and should contain key:value pairs, see options below.
Tests for newlines at the end of all files. Default value is false
.
newline: true
Tests for useless whitespaces (trailing whitespaces) at each lineending of all files. Default value is false
.
trailingspaces: true
Tests for correct indentation using tabs or spaces. Default value is false
. To enable indentation check use the value 'tabs'
or 'spaces'
.
indentation: 'tabs'
If the indentation option is set to 'spaces'
, there is also the possibility to set the amount of spaces per indentation using the spaces
option. Default value is 4
.
indentation: 'spaces',
spaces: 2
Use the ignores
option when special lines such as comments should be ignored. Provide an array of regular expressions to the ignores
property.
ignores: [
/\/\*[\s\S]*?\*\//g,
/foo bar/g
]
There are some build in ignores for comments which you can apply by using these strings:
- 'js-comments'
- 'c-comments'
- 'java-comments'
- 'as-comments'
- 'xml-comments'
- 'html-comments'
- 'python-comments'
- 'ruby-comments'
- 'applescript-comments'
(build in strings and userdefined regular expressions are mixable in the ignores
array)
ignores: [
'js-comments',
/foo bar/g
]
Feel free to contribute some new regular expressions as build in!
lintspaces: {
all: {
src: [
'**/*'
],
options: {
newline: true,
trailingspaces: true,
indentation: 'spaces',
spaces: 2
}
},
javascript: {
src: [
'js/src/**/*.js'
],
options: {
newline: true,
trailingspaces: true,
indentation: 'tabs',
ignores: ['js-comments']
}
}
}
Run grunt
to lint and run the tests.