Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
eslint-config-kensho
Advanced tools
This ESLint config extends Airbnb's config (based on their style guide) to work with TypeScript.
Since the upstream config is well-maintained and justified, we try to stick as close to it as possible. All divergences are annotated, and tend towards increased ES2019 support, Prettier adoption, and TypeScript compatibility, rather than stylistic preferences.
To add linting to a project, first install ESLint, Prettier, TypeScript, and this config as development dependencies:
$ npm i -D eslint prettier typescript eslint-config-kensho
Add an ESLint config which extends the config, e.g.:
extends: kensho
Add a script in package.json to run the linter, e.g.:
{
"scripts": {
"lint": "eslint src --ext=tsx"
}
}
A JavaScript config is also provided, for projects which do not use TypeScript. To use it, extend kensho/javascript
instead of kensho
, e.g.:
extends: kensho/javascript
The ESLint plugin dependencies specified in package.json should actually be peer dependencies (see this issue), and installed alongside ESLint and this config. In practice, this is quite tedious, so we have instead specified them as dependencies and rely on npm's dependency flattening to install them alongside the linter.
Note that this approach is technically incorrect, and if any plugin cannot be flattened this way (e.g. due to a conflicting version somewhere else in your dependency tree), this config will break. Since our projects use only this config, we feel that practicality outweighs absolute correctness in this case.
FAQs
Standard Kensho config to lint JS files.
The npm package eslint-config-kensho receives a total of 3 weekly downloads. As such, eslint-config-kensho popularity was classified as not popular.
We found that eslint-config-kensho demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.