{"_id":"@conychoi/eslint-config","name":"@conychoi/eslint-config","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@conychoi/eslint-config","version":"1.0.0","description":"공통 ESLint 설정 (flat config)","type":"module","main":"index.js","exports":{".":"./index.js","./react":"./react.js","./next":"./next.js","./react-native":"./react-native.js"},"keywords":["eslint","config","flat-config"],"author":{"name":"HwanyoungChoi"},"license":"ISC","publishConfig":{"access":"public"},"peerDependencies":{"eslint":">=9.7.0 <10","typescript":">=5.0.0"},"dependencies":{"@eslint/eslintrc":"^3.1.0","@eslint/js":"^9.0.0","@next/eslint-plugin-next":"^15.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-import":"^2.31.0","eslint-plugin-react":"^7.37.0","eslint-plugin-react-hooks":"^5.0.0","eslint-plugin-react-native":"^5.0.0","typescript-eslint":"^8.0.0"},"_id":"@conychoi/eslint-config@1.0.0","gitHead":"d6a5147745380eff5d64536a724ad9e01962e78f","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-zWOMcXxjuPQEHG/xZ+XENmfWXFOG+9mTChdIjvnJv89vIooW5XznKF3VrG8xbJg4G28vHxQYplSZgkAVt+/nbw==","shasum":"9f2def7206532df946a40112405cd673be68e02b","tarball":"https://registry.npmjs.org/@conychoi/eslint-config/-/eslint-config-1.0.0.tgz","fileCount":6,"unpackedSize":7616,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICuKFUUlNiu72Obg1jnyc6/5xf83+RWYncFYiRhZVEZZAiEApgzaamwv+cLzBzx4T1AZyOgIIVXXCd8ZxfmWBCMMFQY="}]},"_npmUser":{"name":"conychoi","email":"welcomechoi94@gmail.com"},"directories":{},"maintainers":[{"name":"conychoi","email":"welcomechoi94@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_1.0.0_1781449801071_0.5925243784897085"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-14T15:10:00.932Z","1.0.0":"2026-06-14T15:10:01.255Z","modified":"2026-06-14T15:10:01.443Z"},"maintainers":[{"name":"conychoi","email":"welcomechoi94@gmail.com"}],"description":"공통 ESLint 설정 (flat config)","keywords":["eslint","config","flat-config"],"author":{"name":"HwanyoungChoi"},"license":"ISC","readme":"# @superbin/eslint-config\n\nESLint 설정 (flat config)\n\n## 설치\n\n```bash\nnpm install --save-dev @conychoi/prettier-config\n```\n\n## 사용법\n\n프로젝트 루트에 `eslint.config.mjs` 파일을 만들고 (또는 `eslint.config.js` + `\"type\": \"module\"`):\n\n### Next.js 프로젝트\n\n```js\nimport nextConfig from \"@superbin/eslint-config/next\";\n\nexport default nextConfig;\n```\n\n### React 프로젝트\n\n```js\nimport reactConfig from \"@superbin/eslint-config/react\";\n\nexport default reactConfig;\n```\n\n### React Native 프로젝트\n\n```js\nimport rnConfig from \"@superbin/eslint-config/react-native\";\n\nexport default rnConfig;\n```\n\n### TypeScript만 (React 없이)\n\n```js\nimport baseConfig from \"@superbin/eslint-config\";\n\nexport default baseConfig;\n```\n\n## 설정 구조\n\n```\nindex.js          — TypeScript + import 정렬 + prettier 충돌 방지\n  ↑\nreact.js          — + React / Hooks 규칙\n  ↑               ↑\nnext.js           react-native.js\n(+ Next.js 규칙)   (+ React Native 규칙, 느슨한 프리셋)\n```\n\n상위 설정을 자동으로 포함하므로, `next`나 `react-native`를 쓰면 `react`와 `index` 규칙도 적용됩니다.\n\n## 포함된 주요 규칙\n\n### import 정렬 (자동 fix)\n\n```\n1. builtin    — Node.js 내장 모듈 (fs, path)\n2. external   — 외부 모듈 (react, axios)\n3. internal   — 절대 경로 모듈 (@/lib, @/components)\n4. relative   — 상대 경로 모듈 (../utils, ./hooks)\n5. type       — 타입 임포트\n```\n\n그룹 사이에 빈 줄이 삽입되며, 각 그룹 내에서 알파벳 순으로 정렬됩니다.\n\n### TypeScript\n\n- `no-explicit-any` — any 사용 시 경고\n- `no-unused-vars` — 미사용 변수 경고 (`_` 접두사 허용)\n- `consistent-type-imports` — `import type` 권장\n\n### React (react, next, react-native 설정에 포함)\n\n- `rules-of-hooks` — Hooks 규칙 위반 시 에러\n- `exhaustive-deps` — useEffect 의존성 누락 경고\n\n## 확장하고 싶다면\n\nflat config는 배열을 spread해서 항목을 덧붙이는 형태로 확장합니다.\n\n```js\nimport nextConfig from \"@superbin/eslint-config/next\";\n\nexport default [\n  ...nextConfig,\n  {\n    rules: {\n      \"no-console\": \"off\",\n    },\n  },\n];\n```\n\n## 기술스택\n\n- peerDependency: eslint (>=9.0.0), typescript (>=5.0.0)\n- 포함: typescript-eslint, eslint-plugin-import, eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-react-native, @next/eslint-plugin-next, eslint-config-prettier\n\n## 배포\n\n```bash\nnpm publish\n```\n","readmeFilename":"README.md","_rev":"1-0edb46833d79164954bf055f903fba23"}