| 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 |
✓ |
- |
|
|