![38% of CISOs Fear They’re Not Moving Fast Enough on AI](https://cdn.sanity.io/images/cgdhsj6q/production/faa0bc28df98f791e11263f8239b34207f84b86f-1024x1024.webp?w=400&fit=max&auto=format)
Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
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
- esnext/style-guide #optional
Alternatively, in your .eslintrc.js
or .eslintrc.json
:
{
"extends": ["esnext", "esnext/style-guide"]
}
To add a git-hook to your commits, consider using husky
npm install --save-dev husky
And in your package.json
:
"scripts": {
"precommit": "eslint ."
}
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()
---
plugins:
- babel
provides some alternatives to standard rules that are better compatible with babel-supported code
rules:
selected from here, configured to:
array-bracket-spacing
: enforce spacing inside array bracketsarrow-parens
: require parentheses around arrow function arguments, as-needed
arrow-spacing
: enforce spacing before and after =>
in arrow functionsbabel/generator-star-spacing
: alternative to generator-star-spacing
that handles async
functions and await
properlyblock-spacing
: enforce spacing inside single-line blocksbrace-style
: enforce K&R brace stylecamelcase
: enforce camelcase naming convention, ignore object propertiescomma-spacing
: disallow spacing before and enforce after commascomma-style
: allow commas only after and on the same line as an array element, object property, or variable declarationcomputed-property-spacing
: disallow spaces inside computed property bracketsconsistent-this
: allow this
to only be assigned to a variable named that
curly
: require curly braces around blocks if they contain multiple statements, disallow braces if notdot-location
: require the dot in a member expression to be on the same line as the property portiongenerator-star-spacing
: enforce spacing before and disallow after *
operators in generator functionsindent
: enforce tabs (why?), SwitchCase: 1
; override in your .eslintrc
if you disagreekey-spacing
: disallow spacing after keys and enforce spacing before values in object literal propertieskeyword-spacing
: enforce spacing before and after keywordslinebreak-style
: enforce unix linebreaksnewline-per-chained-call
: require a newline after each call in a method chain exceeding 2 callsno-extra-parens
: disallow unnecessary parentheses; set to warn onlyno-multi-spaces
: disallow multiple spaces that are not used for indentationno-spaced-func
: disallow spacing between function
identifiers and their applicationsno-trailing-spaces
: disallow trailing whitespace at the end of linesno-whitespace-before-property
: disallow whitespace before propertiesobject-curly-newline
: require line breaks inside braces if there are line breaks inside properties or between properties in object literalsobject-curly-spacing
: enforce spacing inside curly bracesobject-property-newline
: enforce placing object properties on separate lines; set to warn onlyone-var-declaration-per-line
: require newlines around var initializationsoperator-linebreak
: require the line break to be placed before the operatorquote-props
: disallow unneeded quotes around object literal property namesquotes
: enforce single quotes, while allowing template literals and double quotes to avoid escape charactersrest-spread-spacing
: disallow spacing between rest and spread operators and their expressionssemi
: disallow semicolons (why?); override in your .eslintrc
if you disagreesemi-spacing
: disallow spacing before and enforce after semicolonssort-imports
: enforce sorted import declarations within modulesspace-before-blocks
: enforce spacing before blocksspace-before-function-paren
: enforce spacing before function
definition opening parenthesisspace-in-parens
: disallow spacing inside parenthesesspace-infix-ops
: require spacing around operatorsspace-unary-ops
: require spacing between operand and unary word operators, disallow it between operand and unary non-word operatorspaced-comment
: enforce spacing after the //
or /*
in a commenttemplate-curly-spacing
: require spacing around embedded expressions of template stringsvalid-jsdoc
: enforce valid JSDoc comments; set to warn onlyFAQs
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
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.