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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
|
root: true
env:
node: true
es6: true
parserOptions:
ecmaVersion: 2017
overrides:
- files: ["doc/api/esm.md", "*.mjs"]
parserOptions:
sourceType: module
rules:
# Possible Errors
# http://eslint.org/docs/rules/#possible-errors
no-control-regex: error
no-debugger: error
no-dupe-args: error
no-dupe-keys: error
no-duplicate-case: error
no-empty-character-class: error
no-ex-assign: error
no-extra-boolean-cast: error
no-extra-parens: [error, functions]
no-extra-semi: error
no-func-assign: error
no-invalid-regexp: error
no-irregular-whitespace: error
no-obj-calls: error
no-template-curly-in-string: error
no-unexpected-multiline: error
no-unreachable: error
no-unsafe-negation: error
use-isnan: error
valid-typeof: error
# Best Practices
# http://eslint.org/docs/rules/#best-practices
dot-location: [error, property]
eqeqeq: [error, smart]
no-fallthrough: error
no-global-assign: error
no-multi-spaces: [error, {ignoreEOLComments: true}]
no-octal: error
no-proto: error
no-redeclare: error
no-restricted-properties:
- error
- object: assert
property: deepEqual
message: Use assert.deepStrictEqual().
- object: assert
property: equal
message: Use assert.strictEqual() rather than assert.equal().
- object: assert
property: notEqual
message: Use assert.notStrictEqual() rather than assert.notEqual().
- property: __defineGetter__
message: __defineGetter__ is deprecated.
- property: __defineSetter__
message: __defineSetter__ is deprecated.
no-self-assign: error
no-throw-literal: error
no-unused-labels: error
no-useless-call: error
no-useless-concat: error
no-useless-escape: error
no-useless-return: error
no-void: error
no-with: error
# Variables
# http://eslint.org/docs/rules/#variables
no-delete-var: error
no-undef: error
no-unused-vars: [error, {args: none}]
no-use-before-define: [error, {classes: true,
functions: false,
variables: false}]
# Node.js and CommonJS
# http://eslint.org/docs/rules/#nodejs-and-commonjs
no-mixed-requires: error
no-new-require: error
no-path-concat: error
no-restricted-modules: [error, sys]
# Stylistic Issues
# http://eslint.org/docs/rules/#stylistic-issues
block-spacing: error
brace-style: [error, 1tbs, {allowSingleLine: true}]
comma-dangle: [error, only-multiline]
comma-spacing: error
comma-style: error
computed-property-spacing: error
eol-last: error
func-call-spacing: error
func-name-matching: error
func-style: [error, declaration, {allowArrowFunctions: true}]
indent: [error, 2, {ArrayExpression: first,
CallExpression: {arguments: first},
FunctionDeclaration: {parameters: first},
FunctionExpression: {parameters: first},
MemberExpression: off,
ObjectExpression: first,
SwitchCase: 1}]
key-spacing: [error, {mode: minimum}]
keyword-spacing: error
linebreak-style: [error, unix]
max-len: [error, {code: 80,
ignoreRegExpLiterals: true,
ignoreUrls: true,
tabWidth: 2}]
new-parens: error
no-mixed-spaces-and-tabs: error
no-multiple-empty-lines: [error, {max: 2, maxEOF: 0, maxBOF: 0}]
no-restricted-syntax: [error, {
selector: "CallExpression[callee.object.name='assert'][callee.property.name='throws'][arguments.1.type='Literal']:not([arguments.1.regex])",
message: "use a regular expression for second argument of assert.throws()"
}, {
selector: "CallExpression[callee.object.name='assert'][callee.property.name='throws'][arguments.length<2]",
message: "assert.throws() must be invoked with at least two arguments."
}, {
selector: "CallExpression[callee.name='setTimeout'][arguments.length<2]",
message: "setTimeout() must be invoked with at least two arguments."
}, {
selector: "CallExpression[callee.name='setInterval'][arguments.length<2]",
message: "setInterval() must be invoked with at least 2 arguments."
}, {
selector: "ThrowStatement > CallExpression[callee.name=/Error$/]",
message: "Use new keyword when throwing an Error."
}]
no-tabs: error
no-trailing-spaces: error
object-curly-spacing: [error, always]
one-var-declaration-per-line: error
operator-linebreak: [error, after]
quotes: [error, single, avoid-escape]
semi: error
semi-spacing: error
space-before-blocks: [error, always]
space-before-function-paren: [error, {
anonymous: never,
named: never,
asyncArrow: always
}]
space-in-parens: [error, never]
space-infix-ops: error
space-unary-ops: error
unicode-bom: error
# ECMAScript 6
# http://eslint.org/docs/rules/#ecmascript-6
arrow-parens: [error, always]
arrow-spacing: [error, {before: true, after: true}]
constructor-super: error
no-class-assign: error
no-confusing-arrow: error
no-const-assign: error
no-dupe-class-members: error
no-new-symbol: error
no-this-before-super: error
prefer-const: [error, {ignoreReadBeforeAssign: true}]
rest-spread-spacing: error
template-curly-spacing: error
# Global scoped method and vars
globals:
COUNTER_HTTP_CLIENT_REQUEST: false
COUNTER_HTTP_CLIENT_RESPONSE: false
COUNTER_HTTP_SERVER_REQUEST: false
COUNTER_HTTP_SERVER_RESPONSE: false
COUNTER_NET_SERVER_CONNECTION: false
COUNTER_NET_SERVER_CONNECTION_CLOSE: false
DTRACE_HTTP_CLIENT_REQUEST: false
DTRACE_HTTP_CLIENT_RESPONSE: false
DTRACE_HTTP_SERVER_REQUEST: false
DTRACE_HTTP_SERVER_RESPONSE: false
DTRACE_NET_SERVER_CONNECTION: false
DTRACE_NET_STREAM_END: false
LTTNG_HTTP_CLIENT_REQUEST: false
LTTNG_HTTP_CLIENT_RESPONSE: false
LTTNG_HTTP_SERVER_REQUEST: false
LTTNG_HTTP_SERVER_RESPONSE: false
LTTNG_NET_SERVER_CONNECTION: false
LTTNG_NET_STREAM_END: false
|