Linting with Coala.
This new script and the associated configuration files lint our source code (JS and C++). This will be extended in the future, refs #4833. Reviewed By: Imarok Differential Revision: https://code.wildfiregames.com/D213 This was SVN commit r20364.
This commit is contained in:
parent
1033e105f0
commit
7e0d19cd7a
10
.coafile
Normal file
10
.coafile
Normal file
@ -0,0 +1,10 @@
|
||||
[Source]
|
||||
bears = CPPCheckBear
|
||||
files = source/**.(cpp|h)
|
||||
ignore = source/third_party/**
|
||||
|
||||
[JS]
|
||||
bears = ESLintBear, JSHintBear
|
||||
eslint_config = build/jenkins/lint-config/eslintrc.json
|
||||
jshint_config = build/jenkins/lint-config/jshintrc.json
|
||||
files = binaries/data/**.js
|
95
build/jenkins/lint-config/eslintrc.json
Normal file
95
build/jenkins/lint-config/eslintrc.json
Normal file
@ -0,0 +1,95 @@
|
||||
{
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 6
|
||||
},
|
||||
"plugins": [
|
||||
"brace-rules"
|
||||
],
|
||||
"rules": {
|
||||
"no-cond-assign": 1,
|
||||
"no-constant-condition": 1,
|
||||
"no-dupe-args": 1,
|
||||
"no-dupe-keys": 1,
|
||||
"no-duplicate-case": 1,
|
||||
"no-empty": 1,
|
||||
"no-extra-boolean-cast": 0,
|
||||
"no-extra-parens": 0,
|
||||
"no-extra-semi": 1,
|
||||
"no-func-assign": 1,
|
||||
"no-negated-in-lhs": 1,
|
||||
"no-obj-calls": 1,
|
||||
"no-unreachable": 1,
|
||||
"use-isnan": 1,
|
||||
"valid-jsdoc": 0,
|
||||
"valid-typeof": 1,
|
||||
|
||||
"block-scoped-var": 0,
|
||||
"consistent-return": 1,
|
||||
"curly": ["warn", "multi"],
|
||||
"default-case": 1,
|
||||
"dot-notation": 1,
|
||||
"no-else-return": 1,
|
||||
"no-invalid-this": 1,
|
||||
"no-lone-blocks": 1,
|
||||
"no-loop-func": 0,
|
||||
"no-multi-spaces": ["warn", { "ignoreEOLComments": true }],
|
||||
"no-new": 1,
|
||||
"no-redeclare": 0,
|
||||
"no-return-assign": 1,
|
||||
"no-self-assign": 1,
|
||||
"no-self-compare": 1,
|
||||
"no-unmodified-loop-condition": 1,
|
||||
"no-unused-expressions": 1,
|
||||
"no-unused-labels": 1,
|
||||
"no-useless-concat": 0,
|
||||
"yoda": 1,
|
||||
|
||||
"no-delete-var": 1,
|
||||
"no-label-var": 1,
|
||||
"no-shadow-restricted-names": 1,
|
||||
"no-shadow": 1,
|
||||
"no-undef": 0,
|
||||
"no-undef-init": 1,
|
||||
"no-unused-vars": 0,
|
||||
|
||||
"comma-spacing": 1,
|
||||
"indent": ["warn", "tab", { "outerIIFEBody": 0 }],
|
||||
"key-spacing": 1,
|
||||
"new-cap": 0,
|
||||
"new-parens": 1,
|
||||
"no-mixed-spaces-and-tabs": ["warn", "smart-tabs"],
|
||||
"no-multi-assign": 1,
|
||||
"no-trailing-spaces": 1,
|
||||
"no-unneeded-ternary": 1,
|
||||
"object-curly-spacing": ["warn", "always"],
|
||||
"operator-assignment": 1,
|
||||
"operator-linebreak": ["warn", "after"],
|
||||
"quote-props": 1,
|
||||
"semi": 1,
|
||||
"semi-spacing": 1,
|
||||
"space-before-function-paren": ["warn", "never"],
|
||||
"space-in-parens": 1,
|
||||
"space-unary-ops": 1,
|
||||
"spaced-comment": ["warn", "always"],
|
||||
|
||||
"no-class-assign": 1,
|
||||
"no-const-assign": 1,
|
||||
"no-dupe-class-members" : 1,
|
||||
"prefer-const": 0,
|
||||
|
||||
"brace-rules/brace-on-same-line": ["warn", {
|
||||
"FunctionDeclaration": "never",
|
||||
"FunctionExpression": "ignore",
|
||||
"ArrowFunctionExpression": "always",
|
||||
"IfStatement": "never",
|
||||
"TryStatement": "ignore",
|
||||
"CatchClause": "ignore",
|
||||
"DoWhileStatement": "never",
|
||||
"WhileStatement": "never",
|
||||
"ForStatement": "never",
|
||||
"ForInStatement": "never",
|
||||
"ForOfStatement": "never",
|
||||
"SwitchStatement": "never"
|
||||
}, { "allowSingleLine": true }]
|
||||
}
|
||||
}
|
11
build/jenkins/lint-config/jshintrc.json
Normal file
11
build/jenkins/lint-config/jshintrc.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"esversion": 6,
|
||||
"eqeqeq": false,
|
||||
"freeze": true,
|
||||
"latedef": "nofunc",
|
||||
"loopfunc": true,
|
||||
"noarg": true,
|
||||
"nonbsp": true,
|
||||
"undef": false,
|
||||
"unused": false
|
||||
}
|
12
build/jenkins/lint-patch.sh
Executable file
12
build/jenkins/lint-patch.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Lint errors should not count as build failures
|
||||
set +e
|
||||
set -v
|
||||
|
||||
# Move to the root of the repository (this script is in build/jenkins/)
|
||||
cd "$(dirname $0)"/../../
|
||||
|
||||
arc patch --diff "$DIFF_ID" --force
|
||||
|
||||
svn st | grep '^[AM]' | cut -c 9- | xargs coala --ci --flush-cache --limit-files > .phabricator-comment
|
Loading…
Reference in New Issue
Block a user