Registry / testing / eslint-config-love

eslint-config-love

JSON →
library153.0.0jsnpmunverified

eslint-config-love is a highly opinionated and strict ESLint shareable configuration specifically designed for TypeScript projects, prioritizing code safety and explicit patterns over conciseness. It currently stands at version 153.0.0, indicative of its extremely rapid development cycle where even minor rule additions or dependency updates are considered breaking changes, leading to frequent major version bumps (often weekly or bi-weekly). This configuration differentiates itself by intentionally avoiding formatting rules, instead advocating for dedicated code formatters like Prettier. It also refrains from duplicating checks already enforced by TypeScript's strict mode and steers clear of library- or framework-specific rules, maintaining a focus on core JavaScript and TypeScript linting. It integrates rules from various sources including ESLint itself, `@typescript-eslint`, `@eslint-community/eslint-comments`, `n`, `promise`, and `import` plugins.

npm install eslint-config-love
INSTALL
IMPORT
SIG · ESLINT-CONFIG-LOVE
E
eslint-config-love
testingjavascriptv153.0.0
Install
—
Import
—
Disk
—
Pass rate
0/ 6
Env Coverage0 / 6
glibc
18–22
musl
18–22
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18–226 runs
build_error
glibc
node 18–226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

love
✓ import love from 'eslint-config-love'
✗ import { love } from 'eslint-config-love'
The configuration object is exported as the default in an ESM environment.
love
✓ const { default: love } = await import('eslint-config-love')
✗ const love = require('eslint-config-love')
For CommonJS, dynamic `import()` is required to load the ESM-first package; direct `require()` will not work.

This quickstart shows how to configure ESLint in a CommonJS project using dynamic import and provides a basic tsconfig.json necessary for the configuration's type-aware rules.

// .eslintrc.cjs (for CommonJS projects) module.exports = (async function config() { const { default: love } = await import('eslint-config-love') return [ { ...love, files: ['**/*.js', '**/*.ts', '**/*.jsx', '**/*.tsx'], }, ] })() // tsconfig.json (required for TypeScript rules utilizing type information) { "compilerOptions": { "target": "ESNext", "module": "ESNext", "lib": ["ESNext"], "strict": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "isolatedModules": true, // ... other compiler options }, "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.js", "src/**/*.jsx"], "exclude": ["node_modules"] }
Debug
Known issues
breakingThis package has an extremely aggressive major version release schedule, with new major versions often released weekly or bi-weekly. Each new version frequently introduces breaking changes, typically by enabling new rules or upgrading underlying ESLint plugins. Users should anticipate needing to adjust their code or ESLint configurations with almost every update. Always review the changelog before upgrading.
fix
Always check the release notes and changelog on GitHub for specific migration instructions before upgrading to a new major version.
affects: >=1.0.0
breakingVersion 153.0.0 introduced breaking changes related to promise handling, specifically enabling `promise/prefer-catch` and updating `eslint-plugin-promise` to `^7.2.0`.
fix
Review and refactor promise chains to ensure they always include a `.catch()` or are otherwise handled, and update `eslint-plugin-promise` if managed separately.
affects: >=153.0.0
breakingMultiple recent versions have introduced breaking changes due to significant updates to `@typescript-eslint` plugins, enabling new strict TypeScript-specific rules.
fix
Review your TypeScript code for new linting errors related to rules like `@typescript-eslint/strict-void-return`, `@typescript-eslint/no-useless-default-assignment`, or `@typescript-eslint/no-unused-private-class-members` and refactor as necessary or disable specific rules if they do not fit your project's needs.
affects: >=147.0.0
gotchaThe configuration explicitly sets `languageOptions.parserOptions.project = true`, meaning ESLint will require a `tsconfig.json` file in your project to correctly parse and lint TypeScript files, especially for type-aware rules. Without it, you will encounter parsing errors.
fix
Ensure you have a `tsconfig.json` file in your project root or configure `parserOptions.project` in your `.eslintrc` to point to your `tsconfig.json` files.
affects: >=1.0.0
Errors
Common errors & fixes
Parsing error: 'parserOptions.project' has been set for 'parser'. The 'project' of 'parserOptions' was set and now 'parser' needs to be configured with 'project'.
The `eslint-config-love` configuration enables type-aware linting rules which require a `tsconfig.json` to be present and correctly configured.
fix
Ensure a valid `tsconfig.json` file exists in your project's root or specified location, and that the `include` glob covers all files ESLint should process.
ESLint couldn't find the config "love".
The `eslint-config-love` package is not installed or the `extends` path in `.eslintrc` is incorrect.
fix
Run `npm install --save-dev eslint-config-love` and ensure your ESLint configuration file correctly references `love` in the `extends` array or similar.
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".cjs" for <path-to-eslint-config-love>/index.js
You are attempting to use `require()` for `eslint-config-love` in a CommonJS context, but the package is ESM-first.
fix
For CommonJS configurations, use a dynamic import: `const { default: love } = await import('eslint-config-love')` inside an `async` function for your ESLint config.
ESLint: Cannot find module 'eslint' or 'typescript'.
Missing peer dependencies. `eslint-config-love` relies on `eslint` and `typescript` as peer dependencies.
fix
Install the required peer dependencies: `npm install --save-dev eslint typescript`.
Upgrade
Version history
153.0.0latest on npm
Audit
Dependencies
eslintrequiredPeer dependency for the core ESLint linter functionality.
typescriptrequiredPeer dependency as this configuration is specifically for TypeScript projects and leverages TypeScript's type information.
Agent activity
8 hits · last 30 days
node
8
Resources
eslint-config-love — npm install eslint-config-love · libregistry