summaryrefslogtreecommitdiffstats
path: root/security/.eslintrc.js
blob: c8b766d120823f788006460a8bfc236cb59a2682 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

"use strict";

module.exports = {
  extends: ["plugin:mozilla/valid-jsdoc"],

  rules: {
    // Enforce return statements in callbacks of array methods.
    "array-callback-return": "error",

    // Verify calls of super() in constructors.
    "constructor-super": "error",

    // Require default case in switch statements.
    "default-case": "error",

    // Disallow use of alert(), confirm(), and prompt().
    "no-alert": "error",

    // Disallow likely erroneous `switch` scoped lexical declarations in
    // case/default clauses.
    "no-case-declarations": "error",

    // Disallow use of the console API.
    "no-console": ["error", { allow: ["error"] }],

    // Disallow constant expressions in conditions (except for loops).
    "no-constant-condition": ["error", { checkLoops: false }],

    // Disallow extending of native objects.
    "no-extend-native": "error",

    // Disallow case statement fallthrough without explicit `// falls through`
    // annotation.
    "no-fallthrough": "error",

    // No reassigning native JS objects or read only globals.
    "no-global-assign": "error",

    // Disallow use of assignment in return statement.
    "no-return-assign": ["error", "always"],

    // Disallow template literal placeholder syntax in regular strings.
    "no-template-curly-in-string": "error",

    // Disallow use of this/super before calling super() in constructors.
    "no-this-before-super": "error",

    // Disallow unmodified loop conditions.
    "no-unmodified-loop-condition": "error",

    // No expressions where a statement is expected
    "no-unused-expressions": "error",

    // Disallow unnecessary escape usage in strings and regular expressions.
    "no-useless-escape": "error",

    // Require "use strict" to be defined globally in the script.
    strict: ["error", "global"],

    // Disallow Yoda conditions.
    yoda: ["error", "never"],
  },
};