Custom rules |
|
|
|
|
no-empty-module |
✓ |
- |
|
|
no-substr |
|
error |
|
|
Possible Errors |
|
|
|
|
for-direction |
|
error |
|
|
getter-return |
|
error |
|
|
no-async-promise-executor |
|
error |
|
|
no-await-in-loop |
|
- |
|
|
no-compare-neg-zero |
|
error |
|
|
no-cond-assign |
|
error |
|
|
no-console |
|
- |
|
The library offers a compatibility layer that includes console.log, console.warn and console.error. |
no-constant-condition |
|
error |
|
|
no-control-regex |
|
error |
|
|
no-debugger |
|
error |
|
|
no-dupe-args |
|
error |
|
|
no-dupe-keys |
|
error |
|
|
no-duplicate-case |
|
error |
|
|
no-empty |
|
error |
|
|
no-empty-character-class |
|
error |
|
|
no-ex-assign |
|
error |
|
|
no-extra-boolean-cast |
✓ |
error |
|
|
no-extra-parens |
✓ |
error |
|
|
no-extra-semi |
✓ |
error |
|
|
no-func-assign |
|
error |
|
|
no-import-assign |
|
- |
|
|
no-inner-declarations |
|
error |
|
|
no-invalid-regexp |
|
error |
|
|
no-irregular-whitespace |
|
error |
|
|
no-misleading-character-class |
|
error |
|
|
no-negated-in-lhs |
|
- |
|
|
no-obj-calls |
|
error |
|
|
no-prototype-builtins |
|
error |
|
|
no-regex-spaces |
✓ |
error |
|
|
no-sparse-arrays |
|
error |
|
|
no-template-curly-in-string |
|
- |
|
|
no-unexpected-multiline |
|
error |
|
|
no-unreachable |
|
error |
|
|
no-unsafe-finally |
|
error |
|
|
no-unsafe-negation |
|
error |
|
|
require-atomic-updates |
|
error |
|
|
use-isnan |
|
error |
|
|
valid-jsdoc |
✓ |
error |
.eslintrc |
Rule parameters are used to normalize the jsdoc tags. Also, The rule was also customized to match @gpf tags. |
valid-typeof |
|
error |
|
|
Best Practices |
|
|
|
|
accessor-pairs |
|
error |
|
|
array-callback-return |
|
- |
|
|
block-scoped-var |
|
error |
|
This limits misuse of hoisting that leads to obscure code. |
class-methods-use-this |
|
- |
|
|
complexity |
|
error |
6 |
|
consistent-return |
|
- |
|
The API extensively uses the undefined value to represent no value. Since a method with no return statement returns undefined , many functions are not consistent. |
curly |
✓ |
error |
"all" |
|
default-case |
|
error |
|
|
default-param-last |
|
- |
|
|
dot-location |
✓ |
error |
"property" |
|
dot-notation |
✓ |
error |
.eslintrc |
|
eqeqeq |
✓ |
error |
|
|
guard-for-in |
|
error |
|
|
max-classes-per-file |
|
- |
|
|
no-alert |
|
error |
|
|
no-caller |
|
error |
|
|
no-case-declarations |
|
error |
|
|
no-div-regex |
✓ |
error |
|
|
no-else-return |
✓ |
error |
|
|
no-empty-function |
|
- |
|
|
no-empty-pattern |
|
error |
|
|
no-eq-null |
|
error |
|
|
no-eval |
|
error |
|
|
no-extend-native |
|
- |
|
Since the library implements polyfills to provide a compatibility layer, this rule is turned off. However, the general rule is to not extend native classes with non standard methods. |
no-extra-bind |
✓ |
error |
|
|
no-extra-label |
✓ |
- |
|
|
no-fallthrough |
|
error |
|
|
no-floating-decimal |
✓ |
error |
|
|
no-global-assign |
|
error |
|
|
no-implicit-coercion |
✓ |
error |
|
|
no-implicit-globals |
|
- |
|
|
no-implied-eval |
|
error |
|
|
no-invalid-this |
|
error |
|
|
no-iterator |
|
error |
|
|
no-labels |
|
error |
|
Really? |
no-lone-blocks |
|
error |
|
|
no-loop-func |
|
error |
|
|
no-magic-numbers |
|
error |
|
Disabled for test files. |
no-multi-spaces |
✓ |
error |
|
|
no-multi-str |
|
error |
|
|
no-native-reassign |
|
- |
|
|
no-new |
|
error |
|
|
no-new-func |
|
error |
|
|
no-new-wrappers |
|
error |
|
|
no-octal |
|
error |
|
|
no-octal-escape |
|
error |
|
|
no-param-reassign |
|
error |
|
|
no-proto |
|
error |
|
|
no-redeclare |
|
error |
.eslintrc |
|
no-restricted-properties |
|
- |
|
|
no-return-assign |
|
error |
|
|
no-return-await |
|
- |
|
|
no-script-url |
|
error |
|
|
no-self-assign |
|
error |
|
|
no-self-compare |
|
error |
|
|
no-sequences |
|
error |
|
|
no-throw-literal |
|
error |
|
|
no-unmodified-loop-condition |
|
- |
|
|
no-unused-expressions |
|
error |
|
|
no-unused-labels |
✓ |
error |
|
|
no-useless-call |
|
error |
|
|
no-useless-catch |
|
error |
|
|
no-useless-concat |
|
error |
|
|
no-useless-escape |
|
error |
|
|
no-useless-return |
✓ |
- |
|
|
no-void |
|
error |
|
|
no-warning-comments |
|
- |
|
|
no-with |
|
error |
|
Extracted from the MDN description: Use of the with statement is not recommended, as it may be the source of confusing bugs and compatibility issues. |
prefer-named-capture-group |
|
- |
|
|
prefer-promise-reject-errors |
|
- |
|
|
prefer-regex-literals |
|
- |
|
|
radix |
|
error |
|
|
require-await |
|
- |
|
|
require-unicode-regexp |
|
- |
|
|
vars-on-top |
|
- |
|
Unless you don't understand hoisting, it is useless to put all vars on top. |
wrap-iife |
✓ |
error |
"outside" |
|
yoda |
✓ |
error |
|
Do or do not, there is no try. |
Strict Mode |
|
|
|
|
strict |
✓ |
error |
"global" |
Required for all GPF-JS modules. |
Variables |
|
|
|
|
init-declarations |
|
- |
|
As GPF-JS uses undefined , variables are not necessarily initialized with a value. |
no-catch-shadow |
|
- |
|
|
no-delete-var |
|
error |
|
|
no-label-var |
|
error |
|
|
no-restricted-globals |
|
- |
|
|
no-shadow |
|
error |
|
|
no-shadow-restricted-names |
|
error |
|
|
no-undef |
|
error |
|
|
no-undef-init |
✓ |
error |
|
|
no-undefined |
|
- |
|
undefined is a value. |
no-unused-vars |
|
error |
.eslintrc |
|
no-use-before-define |
|
error |
.eslintrc |
|
Node.js and CommonJS |
|
|
|
|
callback-return |
|
- |
|
|
global-require |
|
- |
|
|
handle-callback-err |
|
error |
|
|
no-buffer-constructor |
|
- |
|
|
no-mixed-requires |
|
- |
|
|
no-new-require |
|
error |
|
|
no-path-concat |
|
- |
|
GPF-JS handles path separator the proper way |
no-process-env |
|
error |
|
|
no-process-exit |
|
- |
|
|
no-restricted-modules |
|
- |
|
|
no-sync |
|
error |
|
|
Stylistic Issues |
|
|
|
|
array-bracket-newline |
✓ |
- |
|
|
array-bracket-spacing |
✓ |
error |
"never" |
|
array-element-newline |
✓ |
- |
|
|
block-spacing |
✓ |
error |
"never" |
|
brace-style |
✓ |
error |
"1tbs" |
|
camelcase |
|
error |
|
|
capitalized-comments |
✓ |
- |
|
|
comma-dangle |
✓ |
error |
"never" |
|
comma-spacing |
✓ |
error |
.eslintrc |
|
comma-style |
✓ |
error |
"last" |
|
computed-property-spacing |
✓ |
- |
|
|
consistent-this |
|
error |
"me" |
|
eol-last |
✓ |
error |
|
|
func-call-spacing |
✓ |
error |
"never" |
|
func-name-matching |
|
- |
|
|
func-names |
|
- |
|
|
func-style |
|
error |
"declaration" |
Enforced on purpose. |
function-call-argument-newline |
✓ |
- |
|
|
function-paren-newline |
✓ |
- |
|
|
id-blacklist |
|
- |
|
|
id-length |
|
- |
|
|
id-match |
|
- |
|
A special rule will be developed to validate the IDs. From a general point of view, lowerCamelCase is preferred. Constants must be uppercase with _ to separate words. Finally, 'global' variables must start with _GPF or _gpf, they usually start with the module name (ex: _GpfStreamCsvParser) |
implicit-arrow-linebreak |
✓ |
- |
|
|
indent |
✓ |
error |
4 |
|
indent-legacy |
✓ |
- |
|
|
jsx-quotes |
✓ |
- |
|
|
key-spacing |
✓ |
error |
.eslintrc |
|
keyword-spacing |
✓ |
error |
.eslintrc |
|
line-comment-position |
|
- |
|
|
linebreak-style |
✓ |
warning |
"unix" |
|
lines-around-comment |
✓ |
- |
|
|
lines-around-directive |
✓ |
- |
|
|
lines-between-class-members |
✓ |
- |
|
|
max-depth |
|
error |
4 |
|
max-len |
|
error |
120 |
|
max-lines |
|
- |
|
|
max-lines-per-function |
|
- |
|
|
max-nested-callbacks |
|
error |
2 |
|
max-params |
|
error |
3 |
|
max-statements |
|
error |
15 |
|
max-statements-per-line |
|
- |
|
|
multiline-comment-style |
✓ |
- |
|
|
multiline-ternary |
|
- |
|
|
new-cap |
|
error |
|
|
new-parens |
✓ |
error |
|
|
newline-after-var |
✓ |
- |
|
|
newline-before-return |
✓ |
- |
|
|
newline-per-chained-call |
✓ |
- |
|
|
no-array-constructor |
|
error |
|
|
no-bitwise |
|
- |
|
|
no-continue |
|
- |
|
|
no-inline-comments |
|
- |
|
|
no-lonely-if |
✓ |
error |
|
|
no-mixed-operators |
|
- |
|
|
no-mixed-spaces-and-tabs |
|
error |
|
|
no-multi-assign |
|
- |
|
|
no-multiple-empty-lines |
✓ |
error |
|
|
no-negated-condition |
|
error |
|
|
no-nested-ternary |
|
error |
|
|
no-new-object |
|
error |
|
|
no-plusplus |
|
- |
|
|
no-restricted-syntax |
|
error |
.eslintrc |
Forbids the use of switch and with |
no-spaced-func |
✓ |
- |
|
|
no-tabs |
|
- |
|
|
no-ternary |
|
error |
|
|
no-trailing-spaces |
✓ |
error |
|
|
no-underscore-dangle |
|
- |
|
|
no-unneeded-ternary |
✓ |
error |
|
|
no-whitespace-before-property |
✓ |
- |
|
|
nonblock-statement-body-position |
✓ |
- |
|
|
object-curly-newline |
✓ |
- |
|
|
object-curly-spacing |
✓ |
error |
"never" |
|
object-property-newline |
✓ |
- |
|
|
one-var |
✓ |
- |
|
Following clean code principles, variables are declared close to their related functions. |
one-var-declaration-per-line |
✓ |
- |
|
|
operator-assignment |
✓ |
error |
"always" |
|
operator-linebreak |
✓ |
error |
"before" |
|
padded-blocks |
✓ |
- |
|
|
padding-line-between-statements |
✓ |
- |
|
|
prefer-object-spread |
✓ |
- |
|
|
quote-props |
✓ |
warning |
.eslintrc |
|
quotes |
✓ |
error |
"double" |
|
require-jsdoc |
|
- |
|
|
semi |
✓ |
error |
"always" |
|
semi-spacing |
✓ |
error |
.eslintrc |
|
semi-style |
✓ |
- |
|
|
sort-keys |
|
- |
|
|
sort-vars |
✓ |
- |
|
|
space-before-blocks |
✓ |
error |
.eslintrc |
|
space-before-function-paren |
✓ |
error |
"always" |
|
space-in-parens |
✓ |
error |
"never" |
|
space-infix-ops |
✓ |
error |
.eslintrc |
|
space-unary-ops |
✓ |
error |
|
|
spaced-comment |
✓ |
- |
|
|
switch-colon-spacing |
✓ |
- |
|
|
template-tag-spacing |
✓ |
- |
|
|
unicode-bom |
✓ |
- |
|
|
wrap-regex |
✓ |
error |
|
|
ECMAScript 6 |
|
|
|
|
arrow-body-style |
✓ |
- |
|
|
arrow-parens |
✓ |
- |
|
|
arrow-spacing |
✓ |
- |
|
|
constructor-super |
|
error |
|
|
generator-star-spacing |
✓ |
- |
|
|
no-class-assign |
|
error |
|
|
no-confusing-arrow |
✓ |
- |
|
|
no-const-assign |
|
error |
|
|
no-dupe-class-members |
|
error |
|
|
no-duplicate-imports |
|
- |
|
|
no-new-symbol |
|
error |
|
|
no-restricted-imports |
|
- |
|
|
no-this-before-super |
|
error |
|
|
no-useless-computed-key |
✓ |
- |
|
|
no-useless-constructor |
|
- |
|
|
no-useless-rename |
✓ |
- |
|
|
no-var |
✓ |
- |
|
|
object-shorthand |
✓ |
- |
|
|
prefer-arrow-callback |
✓ |
- |
|
|
prefer-const |
✓ |
- |
|
|
prefer-destructuring |
✓ |
- |
|
|
prefer-numeric-literals |
✓ |
- |
|
|
prefer-reflect |
|
- |
|
|
prefer-rest-params |
|
- |
|
|
prefer-spread |
|
- |
|
|
prefer-template |
✓ |
- |
|
|
require-yield |
|
error |
|
|
rest-spread-spacing |
✓ |
- |
|
|
sort-imports |
✓ |
- |
|
|
symbol-description |
|
- |
|
|
template-curly-spacing |
✓ |
- |
|
|
yield-star-spacing |
✓ |
- |
|
|