![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
eslint-config-esnext
Advanced tools
Pluggable eslint config for ECMAScript Next that you can import, extend and override
In your js project directory:
npm install --save-dev eslint-config-esnext
And in your .eslintrc.yaml
:
---
extends:
- esnext
Alternatively, in your .eslintrc.js
or .eslintrc.json
:
{
"extends": ["esnext"]
}
To add a git-hook to your commits, consider using husky
npm install --save-dev husky
And in your package.json
:
"scripts": {
"precommit": "eslint ."
}
This config is biased and opinionated, and errs on the side of too many rules instead of too few. Think of this as a superset of your repo's lint config, and discard what you don't like in it. It's easy to override and disable the rules you find inconvenient.
env:
es6: true
parser: babel-eslint
enables parsing all babel supported code
parserOptions:
ecmaVersion: 7
sourceType: module
ecmaFeatures:
impliedStrict: true
modules: true
experimentalObjectRestSpread: true
allows es2015 modules and es2016 object rest and spread to be parsed, and applies strict mode to all js code
extends: eslint:recommended
includes the following rules:
constructor-super
: require super()
calls in constructorsno-case-declarations
: disallow let
, const
, function
and class
declarations in case
/ default
clauses inside switch
blocksno-class-assign
: disallow reassigning variables declared as classesno-cond-assign
: disallow assignment operators in conditional expressionsno-console
: disallow the use of console
no-const-assign
: disallow reassigning const
variablesno-constant-condition
: disallow constant expressions in conditionsno-control-regex
: disallow control characters in regular expressionsno-debugger
: disallow the use of debugger
no-delete-var
: disallow deleting variablesno-dupe-args
: disallow duplicate arguments in function
definitionsno-dupe-class-members
: disallow duplicate class membersno-dupe-keys
: disallow duplicate keys in object literalsno-duplicate-case
: disallow duplicate case labelsno-empty
: disallow empty block statementsno-empty-character-class
: disallow empty character classes in regular expressionsno-empty-pattern
: disallow empty destructuring patternsno-ex-assign
: disallow reassigning exceptions in catch
clausesno-extra-boolean-cast
: disallow unnecessary boolean castsno-extra-semi
: disallow unnecessary semicolonsno-fallthrough
: disallow fallthrough of case
statementsno-func-assign
: disallow reassigning function
declarationsno-inner-declarations
: disallow function
or var
declarations in nested blocksno-invalid-regexp
: disallow invalid regular expression strings in RegExp
constructorsno-irregular-whitespace
: disallow irregular whitespace outside of strings and commentsno-mixed-spaces-and-tabs
: disallow mixed spaces and tabs for indentationno-native-reassign
: disallow assignments to native objects or read-only global variablesno-negated-in-lhs
: disallow negating the left operand in in
expressionsno-new-symbol
: disallow new
operators with the Symbol
objectno-obj-calls
: disallow calling global object properties as functionsno-octal
: disallow octal literalsno-redeclare
: disallow var
redeclarationno-regex-spaces
: disallow multiple spaces in regular expression literalsno-self-assign
: disallow assignments where both sides are exactly the sameno-sparse-arrays
: disallow sparse arraysno-this-before-super
: disallow this
/super
before calling super()
in constructorsno-undef
: disallow the use of undeclared variables unless mentioned in /-global -/
commentsno-unexpected-multiline
: disallow multiline expressions likely to cause ASI errorsno-unreachable
: disallow unreachable code after return
, throw
, continue
, and break
statementsno-unsafe-finally
: disallow control flow statements in finally
blocksno-unused-labels
: disallow unused labelsno-unused-vars
: disallow unused variablesrequire-yield
: require generator functions to contain yield
use-isnan
: disallow comparisons with NaN
, requiring calls to isNaN()
insteadvalid-typeof
: enforce comparing typeof
expressions against valid type strings rules:
selected from here, configured to:
array-callback-return
: enforce return
statements in callbacks to array prototype methods such as map
, reduce
, find
etc.arrow-body-style
: require braces around arrow function bodies, as-needed
dot-notation
: enforce dot notation for accessing object properties whenever possibleeqeqeq
: prefer ===
and !==
over ==
and !=
no-alert
: disallow the use of alert
, confirm
, and prompt
no-constant-condition
: override eslint:recommended
with checkLoops: false
to avoid errors in infinite generatorsno-duplicate-imports
: disallow duplicate module importsno-empty-function
: disallow empty functionsno-eval
: disallow the use of eval()
no-extend-native
: disallow extending built-in or native objectsno-extra-bind
: disallow binding functions that don't use this
no-implicit-globals
: disallow var
and named function
declarations in the global scope, doesn't apply to modulesno-implied-eval
: disallow the use of eval()-like methodsno-invalid-this
: disallow this
outside of constructors, classes or methodsno-lonely-if
: disallow if
statements as the only statement in else
blocksno-loop-func
: disallow function
s inside loopsno-new-func
: disallow creating functions with the Function
constructorno-new-wrappers
: disallow creating objects with the String
, Number
, and Boolean
constructorsno-proto
: disallow use of the __proto__
propertyno-script-url
: disallow javascript:
urlsno-unmodified-loop-condition
: enforce updating the loop condition in each iterationno-unneeded-ternary
: disallow ternary operators when simpler alternatives exist; defaultAssignment: false
prefers ||
for default assignmentsno-unused-expressions
: disallow expressions that have no effect on the state of the program, with allowShortCircuit: true
and allowTernary: true
allowing &&
, ||
and the ternary operator as shorthands for if
and else
no-use-before-define
: disallow the use of variables before they are defined; nofunc
ignores function
declarations since they're hoistedno-useless-call
: disallow unnecessary .call()
and .apply()
no-useless-computed-key
: disallow unnecessary computed property keys in object literalsno-useless-concat
: disallow unnecessary concatenation of literals or template literalsno-useless-constructor
: disallow unnecessary constructorsno-useless-escape
: disallow unnecessary escape charactersno-useless-rename
: disallow renaming import
, export
, and destructured assignments to the same nameno-var
: require let
or const
instead of var
no-with
: disallow with
statementsobject-shorthand
: require method and property shorthand syntax for object literalsoperator-assignment
: require assignment operator shorthand where possibleprefer-arrow-callback
: require callbacks to be arrow functionsprefer-const
: require const
declarations for variables that are never reassigned after declaredprefer-rest-params
: require rest parameters instead of arguments
prefer-spread
: require spread operator instead of .apply()
FAQs
Pluggable eslint config for ECMAScript Next that you can import, extend and override
The npm package eslint-config-esnext receives a total of 0 weekly downloads. As such, eslint-config-esnext popularity was classified as not popular.
We found that eslint-config-esnext demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.