Registry / testing / eslint-config-moneyforward

eslint-config-moneyforward

JSON →
library6.0.0jsnpmunverified

Money Forward's extensible ESLint shared config providing curated rule sets for JavaScript/TypeScript projects. Current stable version: 6.0.0 (released 2026-04-18). The config is actively maintained by Money Forward and supports both flat config (ESLint v9) and legacy .eslintrc format. It includes presets for essentials, TypeScript, React, Next.js, Node.js, Storybook, JSDoc, and testing with Jest. Key differentiators: opinionated rules with breaking changes documented; TypeScript-first; flat config support via 'eslint-config-moneyforward/flat' subpath exports. Requires Node ^18.18.0 || ^20.9.0 || >=21.1.0 and peer dependencies on eslint ^8.57.0 || ^9.0.0, jest, and typescript ^4.8.4 || ^5.0.0.

npm install eslint-config-moneyforward
INSTALL
IMPORT
SIG · ESLINT-CONFIG-MONE
E
eslint-config-moneyforward
testingjavascriptv6.0.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
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 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

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

essentials
import { essentials } from 'eslint-config-moneyforward/flat';
const { essentials } = require('eslint-config-moneyforward');
Flat config import path uses subpath './flat'. Required for ESLint v9 flat config.
typescript
import { essentials, typescript } from 'eslint-config-moneyforward/flat';
import { typescript } from 'eslint-config-moneyforward';
Must import typescript after essentials. Do not import from package root.
flat config array
import { essentials } from 'eslint-config-moneyforward/flat'; export default [...essentials];
module.exports = { extends: ['moneyforward/essentials'] };
ESLint v9 flat config requires exporting an array from eslint.config.js.
legacy eslintrc extends
{ "extends": ["moneyforward/essentials"] }
{ "extends": ["eslint-config-moneyforward/essentials"] }
Use 'moneyforward/essentials' not full package name. For flat config use import.

Install dependencies and configure ESLint flat config with TypeScript, testing, and React presets.

npm install --save-dev eslint-config-moneyforward eslint typescript jest # Create eslint.config.js import { essentials, typescript, test, react } from 'eslint-config-moneyforward/flat'; export default [ ...essentials, ...typescript, ...test.jest, ...react, { rules: { 'no-console': 'warn' } } ];
Debug
Known issues
breakingVersion 6.0.0 enables 13 new error-level react-hooks rules by default (component-hook-factories, config, error-boundaries, gating, globals, immutability, preserve-manual-memoization, purity, refs, set-state-in-effect, set-state-in-render, static-components, use-memo) and 2 new warn-level rules.
fix
Review and fix code violating these rules before upgrading from v5.
affects: >=6.0.0
breakingFlat config support requires ESLint v8.57.0 or v9+ and import from 'eslint-config-moneyforward/flat'. Legacy exports from root are removed in v6.
fix
Use subpath import for flat config: import { essentials } from 'eslint-config-moneyforward/flat'.
affects: >=6.0.0
deprecatedLegacy .eslintrc format (extends: ['moneyforward/...']) is not deprecated but flat config is recommended for new projects with ESLint v9.
fix
Migrate to eslint.config.js using flat config imports.
affects: >=6.0.0
gotchaThe TypeScript rule set must be added AFTER essentials in flat config arrays, otherwise rules may not apply correctly.
fix
Ensure order: [...essentials, ...typescript, ...other].
affects: >=5.0.0
gotchaPeer dependencies are not automatically installed. You must manually install eslint, typescript, and jest.
fix
Run npm install --save-dev eslint typescript jest plus any optional peer deps.
affects: >=0.0.0
Errors
Common errors & fixes
Cannot find module 'eslint-config-moneyforward/flat'
Using flat config import without the package or on an older version (<5.0.0) without flat config support.
fix
Ensure eslint-config-moneyforward >=5.0.0 is installed: npm install eslint-config-moneyforward@latest
Configuration for rule 'react-hooks/exhaustive-deps' is invalid
Conflicting configuration due to merging flat config arrays in wrong order.
fix
Place essentials before other rule sets in the export array: [...essentials, ...typescript, ...react]
ESLint: Failed to load parser '@typescript-eslint/parser'
TypeScript parser not installed. The typescript rule set expects it as a dependency.
fix
Install @typescript-eslint/parser and @typescript-eslint/eslint-plugin as devDependencies.
Oops! Something went wrong! :( ESLint: 9.x.x
Using flat config with an older version of the package that exports CommonJS only.
fix
Upgrade to v6+ and use import from 'eslint-config-moneyforward/flat'.
Upgrade
Version history
6.0.0latest on npm
Audit
Dependencies
eslintrequiredpeer dependency: core linting engine
jestoptionalpeer dependency: used by test rule set
typescriptoptionalpeer dependency: required for TypeScript rule sets
Agent activity
2 hits · last 30 days
node
2
Resources