Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
eslint-config-es
Advanced tools
eslint-config-es contains a strict ESLint configuration for ES2015+ and TypeScript.
eslint-config-es contains a strict ESLint configuration for ES2015+ and TypeScript.
Category | Status |
---|---|
Version | |
Dependencies | |
Dev dependencies | |
Build | |
License |
$ npm install eslint-config-es \
eslint
The following additional ESLint plugins are included by default, so you don't have to install them:
Plugin | Automatically enabled |
---|---|
eslint-plugin-eslint-comments | Yes |
eslint-plugin-extended | Yes |
eslint-plugin-mocha | Yes |
eslint-plugin-react | No |
eslint-plugin-unicorn | Yes |
@typescript-eslint/eslint-plugin | No |
To enable support for React and JSX, all you need to do is to install the react module. The appropriate rules will become enabled automatically.
To enable support for TypeScript, all you need to do is to install the typescript module. The appropriate rules will become enabled automatically for .ts
and .tsx
files. The generated configuration expects a tsconfig.json
at the project root.
This module contains a very strict ESLint configuration for ES2015 and above, both for Node.js and browser development. Its aims to eradicate any variation in code style. If you can not tell any more, based on little individual manners, who of your co-workers wrote a piece of code, this module succeeded. This helps you to narrow down your focus to pure functionality, as you do not have to think about code styling any more at all.
To use one of those configurations, create a .eslintrc.json
file in your project and use the extends
keyword.
{
"extends": "es/node"
}
Alternatively, you may also use es/browser
.
If you want to override any rules, you can do so in your configuration file. For details on how to do this, e.g. to get an explanation on how to enable or disable specific rules, see the ESLint documentation on extending configuration files.
To run quality assurance for this module use roboter:
$ npm run roboter
Note: npx roboter
will not work as our ESLint Rules are written in TypeScript, so they have to be compiled before usage. npm run roboter
will do this.
This package has a built-in library that allows defining ESLint-Rules in a more strict but (what we think) better and intuitive format.
A basic example looks like this:
const betterRulesRecord: BetterRulesRecord = {
camelcase: false, // compiles to "camelcase: 'off'"
forDirection: [], // compiles to "for-direction: 'error'"
noParens: [ 'always', { otherConfig: 'value' } ], // compiles to "no-parens: [ 'error', 'always', {otherConfig: 'value' } ]"
}
To be able to use those rules with ESLint, they have to be compiled with the betterRules.compile
method. The whole betterRules
package is exported by this library and can be used like this:
import { betterRules } from 'eslint-config-es';
const compiledESLintRules = betterRules.compile(betterRulesRecord);
// Will produce:
{
camelcase: 'off',
'for-direction': [ 'error' ],
'no-parens': [ 'error', 'always', { otherConfig: 'value' } ],
}
false
for turning it off.[]
(possible empty) to turn it on with severity error
and provide additional configuration.You can use the withPlugin
hook to avoid having to put plugin-rules in quotes ('react/test-rule'
) like this:
import { betterRules } from 'eslint-config-es'
const reactRules: BetterRulesRecord = betterRules.withPlugin('react', {
booleanPropNaming: false
});
Thus, you can use this hook to avoid weird constructs and streamline your configs:
const weirdMix: BetterRulesRecord = {
'@typescript-eslint/arrayType': []
};
const betterDefiniton: BetterRulesRecord =
betterRules.withPlugin('@typescript-eslint', {
arrayType: []
};
false
rather than with a string 'off'
is easier to distinguish from turned on rules and strictly avoids typos (false
will yield a compiler error if mistyped).warnings
, as warnings tend to get ignored.true
, or a string), thus only allowing arrays []
streamlines and simplifies the configuration a lot.'
(e.g. { 'for-direction': 'off'}
), thus again streamlining configuration.FAQs
eslint-config-es contains a strict ESLint configuration for ES2015+ and TypeScript.
The npm package eslint-config-es receives a total of 392 weekly downloads. As such, eslint-config-es popularity was classified as not popular.
We found that eslint-config-es demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers 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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.