mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
57891c3cfe
Add the following (seemingly non-controversial) ESLint rules: * `constructor-super`: Verify calls of `super()` in constructors. Flags situations that will result in runtime errors. Since we do not have 100% code coverage in tests, linting for runtime errors is useful. * `no-class-assign`: Flags cases where a class declaration is overwritten via variable assignment later. It is difficult to think of a situation where this is not an error, and easy to think of situations (particularly in lengthy test files) where it could come up. * `no-const-assign`: Assigning to a const after declaration is a runtime error. * `no-dupe-class-members`: Declare a class member twice, then only the second one counts. This is analogous to redeclaring a variable. * `no-this-before-super`: Using `this` or `super` in a derived class before a call to `super()` is a `ReferenceError` PR-URL: https://github.com/nodejs/node/pull/5210 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Rod Vagg <rod@vagg.org>
113 lines
3.1 KiB
Plaintext
113 lines
3.1 KiB
Plaintext
env:
|
|
node: true
|
|
|
|
# enable ECMAScript features
|
|
ecmaFeatures:
|
|
arrowFunctions: true
|
|
binaryLiterals: true
|
|
blockBindings: true
|
|
classes: true
|
|
forOf: true
|
|
generators: true
|
|
objectLiteralShorthandMethods: true
|
|
objectLiteralShorthandProperties: true
|
|
octalLiterals: true
|
|
templateStrings: true
|
|
|
|
rules:
|
|
# Possible Errors
|
|
# https://github.com/eslint/eslint/tree/master/docs/rules#possible-errors
|
|
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-semi: 2
|
|
no-func-assign: 2
|
|
no-invalid-regexp: 2
|
|
no-irregular-whitespace: 2
|
|
no-negated-in-lhs: 2
|
|
no-obj-calls: 2
|
|
no-proto: 2
|
|
no-unexpected-multiline: 2
|
|
no-unreachable: 2
|
|
use-isnan: 2
|
|
valid-typeof: 2
|
|
|
|
# Best Practices
|
|
# https://github.com/eslint/eslint/tree/master/docs/rules#best-practices
|
|
no-fallthrough: 2
|
|
no-octal: 2
|
|
no-redeclare: 2
|
|
|
|
# Stylistic Issues
|
|
# https://github.com/eslint/eslint/tree/master/docs/rules#stylistic-issues
|
|
comma-spacing: 2
|
|
eol-last: 2
|
|
indent: [2, 2, {SwitchCase: 1}]
|
|
max-len: [2, 80, 2]
|
|
new-parens: 2
|
|
no-mixed-spaces-and-tabs: 2
|
|
no-multiple-empty-lines: [2, {max: 2}]
|
|
no-trailing-spaces: 2
|
|
quotes: [2, "single", "avoid-escape"]
|
|
semi: 2
|
|
space-after-keywords: 2
|
|
space-before-blocks: [2, "always"]
|
|
space-before-function-paren: [2, "never"]
|
|
space-in-parens: [2, "never"]
|
|
space-infix-ops: 2
|
|
space-return-throw-case: 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-arrow-condition: 2
|
|
no-class-assign: 2
|
|
no-const-assign: 2
|
|
no-dupe-class-members: 2
|
|
no-this-before-super: 2
|
|
prefer-const: 2
|
|
|
|
# Strict Mode
|
|
# https://github.com/eslint/eslint/tree/master/docs/rules#strict-mode
|
|
strict: [2, "global"]
|
|
|
|
# Variables
|
|
# https://github.com/eslint/eslint/tree/master/docs/rules#variables
|
|
no-delete-var: 2
|
|
no-undef: 2
|
|
no-unused-vars: [2, {"args": "none"}]
|
|
|
|
# Custom rules in tools/eslint-rules
|
|
require-buffer: 2
|
|
new-with-error: [2, "Error", "RangeError", "TypeError", "SyntaxError", "ReferenceError"]
|
|
|
|
|
|
# Global scoped method and vars
|
|
globals:
|
|
DTRACE_HTTP_CLIENT_REQUEST : false
|
|
LTTNG_HTTP_CLIENT_REQUEST : false
|
|
COUNTER_HTTP_CLIENT_REQUEST : false
|
|
DTRACE_HTTP_CLIENT_RESPONSE : false
|
|
LTTNG_HTTP_CLIENT_RESPONSE : false
|
|
COUNTER_HTTP_CLIENT_RESPONSE : false
|
|
DTRACE_HTTP_SERVER_REQUEST : false
|
|
LTTNG_HTTP_SERVER_REQUEST : false
|
|
COUNTER_HTTP_SERVER_REQUEST : false
|
|
DTRACE_HTTP_SERVER_RESPONSE : false
|
|
LTTNG_HTTP_SERVER_RESPONSE : false
|
|
COUNTER_HTTP_SERVER_RESPONSE : false
|
|
DTRACE_NET_STREAM_END : false
|
|
LTTNG_NET_STREAM_END : false
|
|
COUNTER_NET_SERVER_CONNECTION_CLOSE : false
|
|
DTRACE_NET_SERVER_CONNECTION : false
|
|
LTTNG_NET_SERVER_CONNECTION : false
|
|
COUNTER_NET_SERVER_CONNECTION : false
|