{"_id":"oxlint-config-moneyforward","_rev":"2-41b5ed3241b765c7ee1a16a5c5881a63","name":"oxlint-config-moneyforward","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"oxlint-config-moneyforward","version":"1.0.0","keywords":["oxlint","oxlint-config","lint","typescript"],"author":{"name":"Money Forward Engineers"},"license":"MIT","_id":"oxlint-config-moneyforward@1.0.0","maintainers":[{"name":"oss-frontend-moneyforward","email":"oss-frontend@moneyforward.co.jp"}],"homepage":"https://github.com/moneyforward/frontend-tools/tree/main/packages/oxlint-config#readme","bugs":{"url":"https://github.com/moneyforward/frontend-tools/issues"},"dist":{"shasum":"a43ae2ea93c5876d3454dc06c3ee0e082836ca50","tarball":"https://registry.npmjs.org/oxlint-config-moneyforward/-/oxlint-config-moneyforward-1.0.0.tgz","fileCount":77,"integrity":"sha512-UhSUjVOXjzJ5KoaG6FVGZWiHCUq+QEBn9rx9Ua9ZVE+nfW2s55kVw4v0a8bRb+w0WIk5LzXBOSRCPunkIhZT5Q==","signatures":[{"sig":"MEYCIQD4GihwVWwEW5P2dysmg95+zVDVDUbCpuCtxU9XWUyVoAIhAMN5+CZL+XRQkrdIMSWixvqU3vHSEizaPYwh2tjVlevf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138594},"type":"module","engines":{"node":"^22.18.0 || >=24.0.0"},"exports":{".":{"types":"./dist/configs/index.d.ts","import":"./dist/configs/index.js"}},"gitHead":"635a3d2e88eab6c5b6b18a8d89fdcb9e35a4407f","scripts":{"lint":"oxlint","test":"vitest","build":"pnpm build:js && pnpm build:rules-json && pnpm build:configs-json","release":"pnpm build && semantic-release","build:js":"tsc -p tsconfig.build.json","build:rules-json":"  node ./scripts/generateRulesJson.js","build:configs-json":"node ./scripts/generateConfigsJson.js"},"_npmUser":{"name":"oss-frontend-moneyforward","email":"oss-frontend@moneyforward.co.jp"},"repository":{"url":"git+https://github.com/moneyforward/frontend-tools.git","type":"git","directory":"packages/oxlint-config"},"_npmVersion":"11.17.0","description":"Money Forward's Oxlint rules as an extensible shared config.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"eslint-plugin-jest-dom":"5.10.1","eslint-plugin-storybook":"10.5.7","eslint-plugin-testing-library":"7.16.2"},"_hasShrinkwrap":false,"devDependencies":{"oxlint":"1.78.0","vitest":"4.1.10","typescript":"5.9.3","@types/node":"24.12.2","oxlint-tsgolint":"7.0.2001","semantic-release":"25.0.9","@frontend-tools/release-config":"workspace:*"},"peerDependencies":{"oxlint":"^1.78.0","oxlint-tsgolint":"^7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-config-moneyforward_1.0.0_1787282166636_0.8754952116726928","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"oxlint-config-moneyforward","version":"1.1.0","description":"Money Forward's Oxlint rules as an extensible shared config.","exports":{".":{"types":"./dist/configs/index.d.ts","import":"./dist/configs/index.js"}},"type":"module","engines":{"node":"^22.18.0 || >=24.0.0"},"scripts":{"lint":"oxlint","test":"vitest","build:js":"tsc -p tsconfig.build.json","build:configs-json":"node ./scripts/generateConfigsJson.js","build:rules-json":"  node ./scripts/generateRulesJson.js","build":"pnpm build:js && pnpm build:rules-json && pnpm build:configs-json","release":"pnpm build && semantic-release"},"repository":{"type":"git","url":"git+https://github.com/moneyforward/frontend-tools.git","directory":"packages/oxlint-config"},"keywords":["oxlint","oxlint-config","lint","typescript"],"author":{"name":"Money Forward Engineers"},"license":"MIT","bugs":{"url":"https://github.com/moneyforward/frontend-tools/issues"},"homepage":"https://github.com/moneyforward/frontend-tools/tree/main/packages/oxlint-config#readme","dependencies":{"eslint-plugin-jest-dom":"5.10.1","eslint-plugin-storybook":"10.5.7","eslint-plugin-testing-library":"7.16.2"},"devDependencies":{"@frontend-tools/release-config":"workspace:*","@types/node":"24.13.3","oxlint":"1.78.0","oxlint-tsgolint":"7.0.2001","semantic-release":"25.0.9","typescript":"5.9.3","vitest":"4.1.10"},"peerDependencies":{"oxlint":"^1.78.0","oxlint-tsgolint":"^7.0.2001"},"gitHead":"58ca1b089bccd3ec140f1208c992c97e00849945","_id":"oxlint-config-moneyforward@1.1.0","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-8jlQrEfBuaWEC/eMEXt8sFYLZeNmK4YpeC2E7+MbeOulVua6oWhUe4Q5GvCFApiDc1BLo8jH3XZTxrCwX6axww==","shasum":"8ddc18a661fcf1c9908e27eac56119848dc7f532","tarball":"https://registry.npmjs.org/oxlint-config-moneyforward/-/oxlint-config-moneyforward-1.1.0.tgz","fileCount":77,"unpackedSize":138716,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oxlint-config-moneyforward@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCYNgVKJhB0wwmJB1shTsEx5s38tjfaJ/mwmL5OYAqf4QIhAI/XoXnh8imOuX4F6S4AnzobXqskeW0cFacSPMeFNQyo"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1745611b-3433-42c7-b01e-e7144a52f677"}},"directories":{},"maintainers":[{"name":"oss-frontend-moneyforward","email":"oss-frontend@moneyforward.co.jp"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oxlint-config-moneyforward_1.1.0_1789107509966_0.4920121887651423"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-21T03:16:06.378Z","modified":"2026-09-11T06:18:30.392Z","1.0.0":"2026-08-21T03:16:06.788Z","1.1.0":"2026-09-11T06:18:30.106Z"},"bugs":{"url":"https://github.com/moneyforward/frontend-tools/issues"},"author":{"name":"Money Forward Engineers"},"license":"MIT","homepage":"https://github.com/moneyforward/frontend-tools/tree/main/packages/oxlint-config#readme","keywords":["oxlint","oxlint-config","lint","typescript"],"repository":{"type":"git","url":"git+https://github.com/moneyforward/frontend-tools.git","directory":"packages/oxlint-config"},"description":"Money Forward's Oxlint rules as an extensible shared config.","maintainers":[{"name":"oss-frontend-moneyforward","email":"oss-frontend@moneyforward.co.jp"}],"readme":"# oxlint-config-moneyforward\n\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org)\n\nThe Oxlint rules of Money Forward, Inc as an extensible shared config.\n\n## Usage\n\n### 1. Install dependencies (and peer dependencies)\n\n```bash\nnpm install --save-dev oxlint-config-moneyforward oxlint oxlint-tsgolint\n```\n\n### 2. Configure oxlint\n\nOxlint supports both `oxlint.config.ts` and `.oxlintrc.json`.\nUse either one in the same directory (not both).\n\n#### Option A: `oxlint.config.ts` (recommended)\n\n```ts\nimport { defineConfig } from 'oxlint';\nimport { essentials } from 'oxlint-config-moneyforward';\n\nexport default defineConfig({\n  extends: [essentials],\n});\n```\n\nIf you need TypeScript support:\n\n```ts\nimport { defineConfig } from 'oxlint';\nimport { essentials, typescript } from 'oxlint-config-moneyforward';\n\nexport default defineConfig({\n  extends: [essentials, typescript],\n});\n```\n\n`typescript` must be added after `essentials`.\n\nYou can also combine other provided rule sets:\n\n```ts\nimport { defineConfig } from 'oxlint';\nimport {\n  essentials,\n  jsdoc,\n  nextjs,\n  node,\n  react,\n  storybook,\n  test,\n  typescript,\n} from 'oxlint-config-moneyforward';\n\nexport default defineConfig({\n  extends: [\n    essentials,\n    typescript,\n    jsdoc,\n    node,\n    react,\n    nextjs,\n    storybook,\n    test.essentials,\n    test.react,\n  ],\n});\n```\n\n#### Option B: `.oxlintrc.json`\n\n```json\n{\n  \"$schema\": \"./node_modules/oxlint/configuration_schema.json\",\n  \"extends\": [\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/essentials.json\"\n  ]\n}\n```\n\nIf you need TypeScript support:\n\n```json\n{\n  \"$schema\": \"./node_modules/oxlint/configuration_schema.json\",\n  \"extends\": [\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/essentials.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/typescript.json\"\n  ]\n}\n```\n\nYou can combine other JSON presets as well, for example:\n\n```json\n{\n  \"$schema\": \"./node_modules/oxlint/configuration_schema.json\",\n  \"extends\": [\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/essentials.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/typescript.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/jsdoc.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/node.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/react.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/nextjs.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/storybook.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/test/essentials.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/test/react.json\"\n  ]\n}\n```\n\nYou can combine other JSON presets as well (for example `react.json`, `nextjs.json`, `test/essentials.json`).\n\n|          Rule set | Summary                                                                                                                                      |\n| ----------------: | -------------------------------------------------------------------------------------------------------------------------------------------- |\n|      `essentials` | Contains basic, import, and promise recommended rules.                                                                                       |\n|      `typescript` | Contains TypeScript recommended rules.                                                                                                       |\n|           `jsdoc` | Contains JSDoc recommended rules.                                                                                                            |\n|            `node` | Contains Node.js recommended rules.                                                                                                          |\n|           `react` | Contains React and jsx-a11y recommended rules.                                                                                               |\n|          `nextjs` | Contains Next.js recommended rules.                                                                                                          |\n|       `storybook` | Contains Storybook rules. This is an optional advanced module.                                                                               |\n| `test.essentials` | Contains core rules for JavaScript / TypeScript test code.                                                                                   |\n|      `test.react` | Contains React-specific test rules, including Testing Library / jest-dom equivalent rules where needed. This is an optional advanced module. |\n\n## Advanced modules\n\nSome rule sets are provided as optional advanced modules.\n\nAdvanced modules are not part of the baseline configuration. Use them only when your repository needs the corresponding checks.\n\nThe following modules are advanced modules:\n\n- `storybook`\n- `test.react`\n\nThese modules may depend on Oxlint's JS Plugins feature to provide rules equivalent to existing ESLint plugins.\n\n### `storybook`\n\nUse `storybook` when your repository contains Storybook stories and you want to keep Storybook-related lint rules aligned with the Money Forward standard.\n\n```ts\nimport { defineConfig } from 'oxlint';\nimport {\n  essentials,\n  react,\n  storybook,\n  typescript,\n} from 'oxlint-config-moneyforward';\n\nexport default defineConfig({\n  extends: [essentials, typescript, react, storybook],\n});\n```\n\nJSON config:\n\n```json\n{\n  \"$schema\": \"./node_modules/oxlint/configuration_schema.json\",\n\n  \"extends\": [\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/essentials.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/typescript.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/react.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/storybook.json\"\n  ]\n}\n```\n\nIf your repository does not use Storybook, you do not need to enable this module.\n\n### `test.react`\n\nUse `test.react` when your repository contains React component tests or custom hook tests.\n\nThis module is intended to provide React-specific test rules, including Testing Library / jest-dom equivalent rules where needed.\n\n`test.react` should be used together with `test.essentials`.\n\n```ts\nimport { defineConfig } from 'oxlint';\n\nimport {\n  essentials,\n  react,\n  test,\n  typescript,\n} from 'oxlint-config-moneyforward';\n\nexport default defineConfig({\n  extends: [essentials, typescript, react, test.essentials, test.react],\n});\n```\n\nJSON config:\n\n```json\n{\n  \"$schema\": \"./node_modules/oxlint/configuration_schema.json\",\n\n  \"extends\": [\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/essentials.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/typescript.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/react.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/test/essentials.json\",\n    \"./node_modules/oxlint-config-moneyforward/dist/configs/test/react.json\"\n  ]\n}\n```\n\nIf your repository has only general JavaScript / TypeScript tests and does not test React components or hooks, `test.essentials` may be enough.\n\n## About JS Plugins\n\n`oxlint-config-moneyforward` uses Oxlint native rules whenever possible.\n\nSome optional advanced modules may use Oxlint's JS Plugins feature to provide rules equivalent to existing ESLint plugins that are part of the current Money Forward linting standard.\n\nThis allows product teams to reuse the shared standard without manually adding the same JS Plugins in each repository.\n\nHowever, JS Plugins based modules have a different maintenance policy from Oxlint-native modules:\n\n- They are optional and are not included in `essentials`.\n- They may require additional maintenance compared with Oxlint-native modules.\n- They may be replaced by Oxlint-native rules when Oxlint provides equivalent native support.\n- They may be deprecated or removed if the underlying ESLint plugin becomes unhealthy or difficult to maintain.\n- If a module is replaced or removed, migration guidance will be provided.\n\n## Integration with ESLint\n\nYou can integrate oxlint with ESLint using the [eslint-plugin-oxlint](https://www.npmjs.com/package/eslint-plugin-oxlint) if you still need ESLint that oxlint does not cover yet. This plugin turns off all rules that are already covered by oxlint to avoid conflicts.\n\n```js\nimport oxlint from 'eslint-plugin-oxlint';\n\nexport default [\n  // Other ESLint configs...\n\n  ...oxlint.configs['flat/all'],\n];\n```\n\nThen, run ESLint after oxlint:\n\n```bash\nnpx oxlint --type-aware && npx eslint\n```\n\n## Versioning\n\n- Increment major version: Changed **error** rules.\n- Increment minor version: Changed **warn** rules.\n- Increment patch version: Not changed **error** and **warn** rules.\n\n## License\n\nOpen source [licensed as MIT](https://github.com/moneyforward/frontend-tools/blob/main/packages/eslint-config/LICENSE).\n","readmeFilename":"README.md"}