{"_id":"@davitmunjishvili/eslint-config","_rev":"2-479028404c3f5f3016d30c63cf003b57","name":"@davitmunjishvili/eslint-config","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@davitmunjishvili/eslint-config","version":"0.1.0","keywords":["eslint","eslint-config","react","typescript"],"author":{"name":"Davit Munjishvili"},"license":"MIT","_id":"@davitmunjishvili/eslint-config@0.1.0","maintainers":[{"name":"davitmunjishvili","email":"dev.munjishvili@gmail.com"}],"homepage":"https://github.com/DavitMunjishvili/eslint-config#readme","bugs":{"url":"https://github.com/DavitMunjishvili/eslint-config/issues"},"dist":{"shasum":"5c0135c05f301c1e408cc2ecdf68cd4c38db8734","tarball":"https://registry.npmjs.org/@davitmunjishvili/eslint-config/-/eslint-config-0.1.0.tgz","fileCount":11,"integrity":"sha512-VfwA93nYaHD6pZX/oSCH4ch5oOAkzjsUFpPB0d+XFhhvEmjvUcVIjX6YnvwIROwzJ0k9+xNVOr53lJNmS+Mq6Q==","signatures":[{"sig":"MEUCIDV5pxh7mqrtMtEuaorG3bF82KgBIOykXTB2ym5N+TX8AiEAkxGsKvoEqRUX38hafewG7M2PidKpRz3QC1/ltbcc5No=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12722},"type":"module","exports":{".":"./src/index.js","./base":"./src/configs/base.js","./react":"./src/configs/react.js","./rules/node":"./src/rules/node.js","./rules/react":"./src/rules/react.js","./rules/imports":"./src/rules/imports.js","./rules/stylistic":"./src/rules/stylistic.js","./rules/javascript":"./src/rules/javascript.js","./rules/typescript":"./src/rules/typescript.js"},"gitHead":"49537bf0f9554ddfea9f4bc5bcbdc5b328ef081a","_npmUser":{"name":"davitmunjishvili","email":"dev.munjishvili@gmail.com"},"repository":{"url":"git+https://github.com/DavitMunjishvili/eslint-config.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared ESLint flat config for React + TypeScript projects","directories":{},"_nodeVersion":"24.14.1","dependencies":{"globals":"^15.0.0","eslint-plugin-n":"^17.0.0","typescript-eslint":"^8.0.0","eslint-plugin-react":"^7.37.0","eslint-config-prettier":"^9.0.0","eslint-plugin-import-x":"^4.0.0","@stylistic/eslint-plugin":"^2.0.0","eslint-plugin-react-hooks":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^9.0.0","typescript":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.1.0_1778657748230_0.8017724381991411","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@davitmunjishvili/eslint-config","version":"0.1.1","description":"Shared ESLint flat config for React + TypeScript projects","type":"module","exports":{".":"./src/index.js","./base":"./src/configs/base.js","./react":"./src/configs/react.js","./rules/javascript":"./src/rules/javascript.js","./rules/typescript":"./src/rules/typescript.js","./rules/imports":"./src/rules/imports.js","./rules/node":"./src/rules/node.js","./rules/stylistic":"./src/rules/stylistic.js","./rules/react":"./src/rules/react.js"},"author":{"name":"Davit Munjishvili"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DavitMunjishvili/eslint-config.git"},"homepage":"https://github.com/DavitMunjishvili/eslint-config#readme","bugs":{"url":"https://github.com/DavitMunjishvili/eslint-config/issues"},"keywords":["eslint","eslint-config","react","typescript"],"dependencies":{"@stylistic/eslint-plugin":"^2.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-react":"^7.37.0","eslint-plugin-react-hooks":"^5.0.0","globals":"^15.0.0","typescript-eslint":"^8.0.0"},"peerDependencies":{"eslint":"^9.0.0","typescript":">=5.0.0"},"publishConfig":{"access":"public"},"gitHead":"5a0f3dc5d2831fd70e223e10287bc2814d9d64bf","_id":"@davitmunjishvili/eslint-config@0.1.1","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-k+SKZXSIMQiUvRkQXBVdGEq/a3MsfYArIgS9vZbTvDHKnHfarGD44Y5rY5mqilTw4XUOwncB1aqk5jRD1n8pTA==","shasum":"a90e6c42a79fa3be8b1d5aaee04b1319e7fc4287","tarball":"https://registry.npmjs.org/@davitmunjishvili/eslint-config/-/eslint-config-0.1.1.tgz","fileCount":11,"unpackedSize":12722,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@davitmunjishvili%2feslint-config@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAG5Pf0q0LdOoGgJ5sdbOnfcLLmHyYwk4W+VSHnM4yvoAiEA8PixxaVsS7dmSClvFSyQ4cxI9s+sY61NzcsPucI6X1M="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b87ce5a9-9c47-47f2-b8c0-0b5b796dfeb3"}},"directories":{},"maintainers":[{"name":"davitmunjishvili","email":"dev.munjishvili@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_0.1.1_1778664413896_0.38427419713215816"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-13T07:35:48.016Z","modified":"2026-05-13T09:26:54.362Z","0.1.0":"2026-05-13T07:35:48.366Z","0.1.1":"2026-05-13T09:26:54.035Z"},"bugs":{"url":"https://github.com/DavitMunjishvili/eslint-config/issues"},"author":{"name":"Davit Munjishvili"},"license":"MIT","homepage":"https://github.com/DavitMunjishvili/eslint-config#readme","keywords":["eslint","eslint-config","react","typescript"],"repository":{"type":"git","url":"git+https://github.com/DavitMunjishvili/eslint-config.git"},"description":"Shared ESLint flat config for React + TypeScript projects","maintainers":[{"name":"davitmunjishvili","email":"dev.munjishvili@gmail.com"}],"readme":"# @davitmunjishvili/eslint-config\n\nShared ESLint flat config for React + TypeScript projects.\n\n## Installation\n\n```sh\nnpm install -D @davitmunjishvili/eslint-config eslint typescript\n```\n\n## Usage\n\n### React + TypeScript (recommended)\n\n```js\n// eslint.config.js\nimport { react } from '@davitmunjishvili/eslint-config'\n\nexport default [...react]\n```\n\n### Base (TypeScript only, no React)\n\n```js\n// eslint.config.js\nimport { base } from '@davitmunjishvili/eslint-config'\n\nexport default [...base]\n```\n\n### Composing individual rule sets\n\nEach rule module is also exported individually if you need to build a custom config:\n\n```js\nimport { javascriptRules, typescriptRules, importRules, nodeRules, stylisticRules, reactRules } from '@davitmunjishvili/eslint-config'\n```\n\nOr via subpath imports:\n\n```js\nimport { javascriptRules } from '@davitmunjishvili/eslint-config/rules/javascript'\nimport { typescriptRules } from '@davitmunjishvili/eslint-config/rules/typescript'\nimport { importRules } from '@davitmunjishvili/eslint-config/rules/imports'\nimport { nodeRules } from '@davitmunjishvili/eslint-config/rules/node'\nimport { stylisticRules } from '@davitmunjishvili/eslint-config/rules/stylistic'\nimport { reactRules } from '@davitmunjishvili/eslint-config/rules/react'\n```\n\n## What's included\n\n### `base` config\n\nTargets `**/*.{ts,tsx}` files with:\n\n- **JavaScript** — strict correctness rules (`no-var`, `prefer-const`, `no-shadow`, `sort-imports`, etc.)\n- **TypeScript** — type-aware rules (`consistent-type-imports`, `no-unnecessary-condition`, `prefer-for-of`, `require-await`, naming conventions for generics, etc.)\n- **Imports** — enforced import ordering, no CommonJS, no duplicate imports, `import type` at the top level\n- **Node** — enforces `node:` prefix for built-in imports\n- **Stylistic** — spaced comments via `@stylistic/eslint-plugin`\n\n### `react` config\n\nExtends `base` and adds:\n\n- **React Hooks** — enforces rules of hooks and exhaustive dependency arrays\n- **React** — requires `key` props on list elements, disallows deprecated APIs\n- **Prettier** — disables formatting rules that conflict with Prettier (`eslint-config-prettier`)\n- Test file overrides — relaxes `no-shadow` and `react-hooks/exhaustive-deps` in `*.spec.*` / `*.test.*` files\n\n## Peer dependencies\n\n| Package | Version |\n|---|---|\n| `eslint` | `^9.0.0` |\n| `typescript` | `>=5.0.0` |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}