Research: Gruntfile.js Infomration extraction
Language : Javascript
Parsing Method : PyJSParser, generates a parsed dictionary of a JS file
Relevant Issues: https://github.com/coala/coala-quickstart/issues/42
Information of interest to coala
-
lint
subtasks ingrunt.registerTask
: These can be used to match our LinterBears in quickstart. - configuration of tasks in
grunt.initConfig
. This includes:- File paths on which the linter acts.
- File paths ignored by the linter.
- Path to configuration files(if any) corresponding to linter (like
.csslintrc
,.jshintrc
,.jshintignore
)
- It is also possible to extract some of task-specific options and use their values as setting values for our bears. Example,
curly
,eqeqeq
, andeqnull
in case of jshint task can be used byJSHintBear
.
Currently, following linters and corresponding bears can be detected from Gruntfile.js
coffeelint : CoffeeLintBear
tslint : TSLintBear
typescript : TSLintBear
autoprefixer : CSSAutoPrefixBear
stylelint : StyleLintBear
babel-eslint : ESLintBear
csslint : CSSLintBear
dockerfile_lint : DockerfileLintBear
complexity-report : JSComplexityBear
remark-cli : MarkdownBear
bootlint : BootLintBear
ramllint : RAMLLintBear
jshint : JSHintBear
eslint : ESLintBear
postcss-cli : CSSAutoPrefixBear
remark-lint : MarkdownBear
eslint-plugin-import : ESLintBear
Sub-issue of https://gitlab.com/coala/GSoC-2017/issues/21