Grunt plugin to detect illegal expressions in javascript code with regular expressions
npm install grunt-regex-check> Grunt plugin to detect illegal expressions in javascript code with regular expressions
~0.4.1If 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:
``shell`
npm install grunt-regex-check --save-dev
One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
`js`
grunt.loadNpmTasks('grunt-regex-check');
to the data object passed into grunt.initConfig().$3
#### options.excluded
Type:
String
Default value: none
Mandatory: No#### options.pattern
Type:
Regular expression or an Array of Regular Expression
Default value: none
Mandatory: YesAn Array of Regular Expression to match files content
#### options.breakOnError
Type:
boolean
Default value: true
Mandatory: falseBy setting to
false you can only warn the user, but not break the build.$3
#### Options
_Note that there are no default options and you must specify the configuration values_
In this example, the configuration is looking through all javascript files in 'src', except for those excluded ones
and will fail the build if the string 'console' is found
__Example__: Check all source files to ensure they do not contain
console. Exclude those that have excluded in the file name`js
grunt.initConfig({
"regex-check": {
files: "src/*/.js",
options: {
excluded : "src/*/xcluded.js",
pattern : /console/g
},
},
})
`__Example__: Find
console calls, but only warn the user without stopping the grunt build`js
grunt.initConfig({
"regex-check": {
files: "src/*/.js",
options: {
excluded : "src/*/xcluded.js",
pattern : /console/g,
breakOnError: false
},
},
})
`__Example__: Check all files in
src/server and src/logger to ensure they do not contain throw or catch. Exclude three specific files`js
grunt.initConfig({
"regex-check": {
files: ["src/server//.js", "src/logger//.js"],
options: {
excluded : ["src/server/ajax/requestErrors.js", "src/logger/defaultErrorLogger.js", "src/server/jqueryPluginWrapper.js"],
pattern : /(throw)|(catch)/g
},
},
})
`__Example__: User contributed example - thanks eitanp461
`js
grunt.initConfig({
"regex-check": {
directives: {
files: [
{src: ['app/js/*/-drtv.js']}
],
options: {
// force file naming conventions
pattern: /templateUrl(?!(.-tmpl.html|.\{|;))/g
}
},
scopes: {
files: [
{src: ['app/js/*/.js']}
],
// Check that scopes that are created programatically with $new are eventually cleaned up
options: {
pattern: /\$new(?!(\$on('\$destroy')))/g
}
}
},
})
``- Add automated tests for breakOnError
- Move pattern outside of options
- Support another configuration in the same file (e.g. another file set with a particular string)