mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
The second argument to "assert.throws" is usually a validation RegExp or function for the thrown error. However, the function also accepts a string and in this case it is interpreted as a message for the AssertionError and not used for validation. It is common for people to forget this and pass a validation string by mistake. This new rule checks that we never pass a string literal as a second argument to "assert.throws". Additionally, there is an option to enforce the function to be called with at least two arguments. It is currently off because we have many tests that do not comply with this rule. PR-URL: https://github.com/nodejs/node/pull/10089 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Teddy Katz <teddy.katz@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
148 lines
3.8 KiB
Plaintext
148 lines
3.8 KiB
Plaintext
env:
|
|
node: true
|
|
es6: true
|
|
|
|
parserOptions:
|
|
ecmaVersion: 2016
|
|
|
|
rules:
|
|
# Possible Errors
|
|
# http://eslint.org/docs/rules/#possible-errors
|
|
comma-dangle: [2, only-multiline]
|
|
no-control-regex: 2
|
|
no-debugger: 2
|
|
no-dupe-args: 2
|
|
no-dupe-keys: 2
|
|
no-duplicate-case: 2
|
|
no-empty-character-class: 2
|
|
no-ex-assign: 2
|
|
no-extra-boolean-cast: 2
|
|
no-extra-parens: [2, functions]
|
|
no-extra-semi: 2
|
|
no-func-assign: 2
|
|
no-invalid-regexp: 2
|
|
no-irregular-whitespace: 2
|
|
no-obj-calls: 2
|
|
no-proto: 2
|
|
no-template-curly-in-string: 2
|
|
no-unexpected-multiline: 2
|
|
no-unreachable: 2
|
|
no-unsafe-negation: 2
|
|
use-isnan: 2
|
|
valid-typeof: 2
|
|
|
|
# Best Practices
|
|
# http://eslint.org/docs/rules/#best-practices
|
|
dot-location: [2, property]
|
|
no-fallthrough: 2
|
|
no-global-assign: 2
|
|
no-multi-spaces: 2
|
|
no-octal: 2
|
|
no-redeclare: 2
|
|
no-self-assign: 2
|
|
no-unused-labels: 2
|
|
no-useless-call: 2
|
|
no-useless-escape: 2
|
|
no-void: 2
|
|
no-with: 2
|
|
|
|
# Strict Mode
|
|
# http://eslint.org/docs/rules/#strict-mode
|
|
strict: [2, global]
|
|
|
|
# Variables
|
|
# http://eslint.org/docs/rules/#variables
|
|
no-delete-var: 2
|
|
no-undef: 2
|
|
no-unused-vars: [2, {args: none}]
|
|
|
|
# Node.js and CommonJS
|
|
# http://eslint.org/docs/rules/#nodejs-and-commonjs
|
|
no-mixed-requires: 2
|
|
no-new-require: 2
|
|
no-path-concat: 2
|
|
no-restricted-modules: [2, sys, _linklist]
|
|
no-restricted-properties: [2, {
|
|
object: assert,
|
|
property: deepEqual,
|
|
message: Please use assert.deepStrictEqual().
|
|
}, {
|
|
property: __defineGetter__,
|
|
message: __defineGetter__ is deprecated.
|
|
}, {
|
|
property: __defineSetter__,
|
|
message: __defineSetter__ is deprecated.
|
|
}]
|
|
|
|
# Stylistic Issues
|
|
# http://eslint.org/docs/rules/#stylistic-issues
|
|
brace-style: [2, 1tbs, {allowSingleLine: true}]
|
|
comma-spacing: 2
|
|
comma-style: 2
|
|
computed-property-spacing: 2
|
|
eol-last: 2
|
|
func-call-spacing: 2
|
|
func-name-matching: 2
|
|
indent: [2, 2, {SwitchCase: 1, MemberExpression: 1}]
|
|
key-spacing: [2, {mode: minimum}]
|
|
keyword-spacing: 2
|
|
linebreak-style: [2, unix]
|
|
max-len: [2, 80, 2]
|
|
new-parens: 2
|
|
no-mixed-spaces-and-tabs: 2
|
|
no-multiple-empty-lines: [2, {max: 2, maxEOF: 0, maxBOF: 0}]
|
|
no-tabs: 2
|
|
no-trailing-spaces: 2
|
|
quotes: [2, single, avoid-escape]
|
|
semi: 2
|
|
semi-spacing: 2
|
|
space-before-blocks: [2, always]
|
|
space-before-function-paren: [2, never]
|
|
space-in-parens: [2, never]
|
|
space-infix-ops: 2
|
|
space-unary-ops: 2
|
|
|
|
# ECMAScript 6
|
|
# http://eslint.org/docs/rules/#ecmascript-6
|
|
arrow-parens: [2, always]
|
|
arrow-spacing: [2, {before: true, after: true}]
|
|
constructor-super: 2
|
|
no-class-assign: 2
|
|
no-confusing-arrow: 2
|
|
no-const-assign: 2
|
|
no-dupe-class-members: 2
|
|
no-new-symbol: 2
|
|
no-this-before-super: 2
|
|
prefer-const: [2, {ignoreReadBeforeAssign: true}]
|
|
rest-spread-spacing: 2
|
|
template-curly-spacing: 2
|
|
|
|
# Custom rules in tools/eslint-rules
|
|
align-function-arguments: 2
|
|
align-multiline-assignment: 2
|
|
assert-fail-single-argument: 2
|
|
assert-throws-arguments: [2, { requireTwo: false }]
|
|
new-with-error: [2, Error, RangeError, TypeError, SyntaxError, ReferenceError]
|
|
no-useless-regex-char-class-escape: [2, { override: ['[', ']'] }]
|
|
|
|
# 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
|