{"_id":"@duchi/eslint-config","_rev":"6-5ce5b2dbf7cbaa0fdb7cc108d51873a1","name":"@duchi/eslint-config","description":"## Installation","dist-tags":{"latest":"1.0.11"},"versions":{"1.0.2":{"name":"@duchi/eslint-config","version":"1.0.2","_id":"@duchi/eslint-config@1.0.2","maintainers":[{"name":"duchi","email":"duchang.dev@gmail.com"}],"dist":{"shasum":"da886c345b200a0388ddaa9134d6277bc1788b16","tarball":"https://registry.npmjs.org/@duchi/eslint-config/-/eslint-config-1.0.2.tgz","fileCount":4,"integrity":"sha512-ul8oZJoyFG19Dxqh3betRdxPISCKcEY5kA6jcD9/P7uiXsl6dkScBYCshrQwaioH2+nnwAs2+vQIC4vLILiSfg==","signatures":[{"sig":"MEUCIQDC06SzgC2m4Lr0AQizYEK5YJu2Y0oNnUw5tNF3sNYNjgIgF1Adk6J0jQMnd7WKsZTmwnGnauFBoe06ftbKwhP7LJ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4331},"main":"index.js","_from":"file:duchi-eslint-config-1.0.2.tgz","_npmUser":{"name":"duchi","email":"duchang.dev@gmail.com"},"_resolved":"/private/var/folders/1_/8h8jktnx7139m2zbt9s06gf40000gn/T/891c90174f384cecaed6dae2b78090d9/duchi-eslint-config-1.0.2.tgz","_integrity":"sha512-ul8oZJoyFG19Dxqh3betRdxPISCKcEY5kA6jcD9/P7uiXsl6dkScBYCshrQwaioH2+nnwAs2+vQIC4vLILiSfg==","_npmVersion":"9.8.1","directories":{},"_nodeVersion":"18.12.1","dependencies":{"eslint-plugin-react":"7.34.1","eslint-plugin-import":"^2.29.1","eslint-plugin-jsx-a11y":"6.8.0","@rushstack/eslint-patch":"1.10.1","@rushstack/eslint-config":"3.6.8","eslint-plugin-react-hooks":"4.6.0","eslint-plugin-react-refresh":"0.4.6","eslint-plugin-no-relative-import-paths":"1.5.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":">= 8","typescript":">= 5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.2_1718694668582_0.31480001082019826","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@duchi/eslint-config","version":"1.0.6","_id":"@duchi/eslint-config@1.0.6","maintainers":[{"name":"duchi","email":"duchang.dev@gmail.com"}],"dist":{"shasum":"70fde644d8c72e5952b00b6cc0945424b8d7f1ea","tarball":"https://registry.npmjs.org/@duchi/eslint-config/-/eslint-config-1.0.6.tgz","fileCount":4,"integrity":"sha512-vgk/kZj1XVyxE9VhP06tlIOUoeuNDTF2cP+SjKnLTtxeKlfF/5yidu0DY1SyDgeVxZCvJKGUJxz+e5egLv1sjw==","signatures":[{"sig":"MEUCIQDjZfjuI6aVjA//kNio11I0e5L19xAAOmlL2HLY3na3WAIgYp5lJVMQLPEYAn2M1jKnyfHwvy84qvGoBmDLkJuBLl8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4331},"main":"index.js","_from":"file:duchi-eslint-config-1.0.6.tgz","_npmUser":{"name":"duchi","email":"duchang.dev@gmail.com"},"_resolved":"/tmp/e345c9d2cef0e0d171725f5589f3568a/duchi-eslint-config-1.0.6.tgz","_integrity":"sha512-vgk/kZj1XVyxE9VhP06tlIOUoeuNDTF2cP+SjKnLTtxeKlfF/5yidu0DY1SyDgeVxZCvJKGUJxz+e5egLv1sjw==","_npmVersion":"10.7.0","directories":{},"_nodeVersion":"18.20.3","dependencies":{"eslint-plugin-react":"7.34.1","eslint-plugin-import":"^2.29.1","eslint-plugin-jsx-a11y":"6.8.0","@rushstack/eslint-patch":"1.10.1","@rushstack/eslint-config":"3.6.8","eslint-plugin-react-hooks":"4.6.0","eslint-plugin-react-refresh":"0.4.6","eslint-plugin-no-relative-import-paths":"1.5.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":">= 8","typescript":">= 5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.6_1718720315898_0.6472157378126604","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@duchi/eslint-config","version":"1.0.7","_id":"@duchi/eslint-config@1.0.7","maintainers":[{"name":"duchi","email":"duchang.dev@gmail.com"}],"dist":{"shasum":"0b5ae127d4daa06c0587990a493642b604d970db","tarball":"https://registry.npmjs.org/@duchi/eslint-config/-/eslint-config-1.0.7.tgz","fileCount":5,"integrity":"sha512-I1scccTglw5PRSA7iB+TpAfi28CwaLZ1DdD8sLBlK5gvX7BNI9Fz1hA80MEghDyUWuR4niDDp3WugmnykS9VIA==","signatures":[{"sig":"MEUCIQCKipsmE+XCQY6/Sk/XikqAlH+1alTGa08p8XMfDy81qQIgEorxIdA7bKn+RpMu9yTkh6I7xikXkQWfnrHgfqL0dVI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6997},"main":"index.js","_from":"file:duchi-eslint-config-1.0.7.tgz","_npmUser":{"name":"duchi","email":"duchang.dev@gmail.com"},"_resolved":"/tmp/cda36eddb77a210c2a00de82ee0622a4/duchi-eslint-config-1.0.7.tgz","_integrity":"sha512-I1scccTglw5PRSA7iB+TpAfi28CwaLZ1DdD8sLBlK5gvX7BNI9Fz1hA80MEghDyUWuR4niDDp3WugmnykS9VIA==","_npmVersion":"10.7.0","description":"## Installation","directories":{},"_nodeVersion":"18.20.3","dependencies":{"eslint-plugin-react":"7.34.1","eslint-plugin-import":"^2.29.1","eslint-plugin-jsx-a11y":"6.8.0","@rushstack/eslint-patch":"1.10.1","@rushstack/eslint-config":"3.6.8","eslint-plugin-react-hooks":"4.6.0","eslint-plugin-react-refresh":"0.4.6","eslint-plugin-no-relative-import-paths":"1.5.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":">= 8","typescript":">= 5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.7_1718723818655_0.32099966043066464","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@duchi/eslint-config","version":"1.0.8","_id":"@duchi/eslint-config@1.0.8","maintainers":[{"name":"duchi","email":"duchang.dev@gmail.com"}],"dist":{"shasum":"67e4ea2f7c4e104cd2bcf5465b39502a2232b173","tarball":"https://registry.npmjs.org/@duchi/eslint-config/-/eslint-config-1.0.8.tgz","fileCount":5,"integrity":"sha512-UGHmNP7GSfwjhe5nSN+uWooZV2MJ5+hLSSv/OogsPBaV2wMBEhi7Yio3e9GQw5WHZlN5x8Sb+QoaVLPwUF0H/Q==","signatures":[{"sig":"MEYCIQDrAIW/zBTA1mLkWzhgry4d4NPiQgw61scxwP4iqhFIlQIhAM2ATwdZh8BNbLIALUky4vPUbsldbfQhwARa/Dzfzg2K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7144},"main":"index.js","_from":"file:duchi-eslint-config-1.0.8.tgz","_npmUser":{"name":"duchi","email":"duchang.dev@gmail.com"},"_resolved":"/tmp/396a44f8b01881847b0c1f640fa09d9c/duchi-eslint-config-1.0.8.tgz","_integrity":"sha512-UGHmNP7GSfwjhe5nSN+uWooZV2MJ5+hLSSv/OogsPBaV2wMBEhi7Yio3e9GQw5WHZlN5x8Sb+QoaVLPwUF0H/Q==","_npmVersion":"10.7.0","description":"## Installation","directories":{},"_nodeVersion":"18.20.3","dependencies":{"eslint-plugin-react":"7.34.1","eslint-plugin-import":"^2.29.1","eslint-plugin-jsx-a11y":"6.8.0","@rushstack/eslint-patch":"1.10.1","@rushstack/eslint-config":"3.6.8","eslint-plugin-react-hooks":"4.6.0","eslint-plugin-react-refresh":"0.4.6","eslint-plugin-no-relative-import-paths":"1.5.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":">= 8","typescript":">= 5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.8_1718773344659_0.49187062183510566","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@duchi/eslint-config","version":"1.0.9","_id":"@duchi/eslint-config@1.0.9","maintainers":[{"name":"duchi","email":"duchang.dev@gmail.com"}],"dist":{"shasum":"971d756c02e50d3a094f04164c23661e2510fd6e","tarball":"https://registry.npmjs.org/@duchi/eslint-config/-/eslint-config-1.0.9.tgz","fileCount":5,"integrity":"sha512-IOzjFzPCCW8ZFj+5A2bCW8kQ7yykesM9cR3DLsFVk1M8Ch1Rn85urNyeXgV5oNSmyybvOspolug1Q0091+0bhw==","signatures":[{"sig":"MEYCIQD8yrvylMRZ0R/22yDat4+kK+mBjr/S/zYLaeMaXV0IqAIhAPTVGoU4H7QOW3R2tUUcSh/erzZ4cMmLVo5BYF8nSGFK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8371},"main":"index.js","_from":"file:duchi-eslint-config-1.0.9.tgz","_npmUser":{"name":"duchi","email":"duchang.dev@gmail.com"},"_resolved":"/tmp/eea92082bb66a5f960ab6029e3dc5445/duchi-eslint-config-1.0.9.tgz","_integrity":"sha512-IOzjFzPCCW8ZFj+5A2bCW8kQ7yykesM9cR3DLsFVk1M8Ch1Rn85urNyeXgV5oNSmyybvOspolug1Q0091+0bhw==","_npmVersion":"10.7.0","description":"## Installation","directories":{},"_nodeVersion":"18.20.3","dependencies":{"eslint-plugin-react":"7.34.1","eslint-plugin-import":"^2.29.1","eslint-plugin-jsx-a11y":"6.8.0","@rushstack/eslint-patch":"1.10.1","@rushstack/eslint-config":"3.6.8","eslint-plugin-react-hooks":"4.6.0","eslint-plugin-react-refresh":"0.4.6","eslint-plugin-no-relative-import-paths":"1.5.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":">= 8","typescript":">= 5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.9_1718775889694_0.8452073228031605","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"@duchi/eslint-config","version":"1.0.10","_id":"@duchi/eslint-config@1.0.10","dist":{"shasum":"a9c39d4ed500f80333fe5de955c68f98292e7f70","tarball":"https://registry.npmjs.org/@duchi/eslint-config/-/eslint-config-1.0.10.tgz","fileCount":5,"integrity":"sha512-Td5HWEgblKm1G66SecCOJPZ/K/56+V3oa36q5VBflSicpIudE7THNiyHmY2/wx8PGzGxUJE0pcZZdQNSquIfxQ==","signatures":[{"sig":"MEUCIDuRLdGpj2AqkvAzZ53xCvd1t0WVYvUIUJhhmk4TYY0fAiEA0T3xXxhT2pXGQukCpzUwDjtUpC6fhEd/18N3wOrFB88=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8372},"main":"index.js","_from":"file:duchi-eslint-config-1.0.10.tgz","_npmUser":{"name":"duchi","email":"duchang.dev@gmail.com"},"_resolved":"/tmp/3cb9276c2db36bdfc882767fd7139cd1/duchi-eslint-config-1.0.10.tgz","_integrity":"sha512-Td5HWEgblKm1G66SecCOJPZ/K/56+V3oa36q5VBflSicpIudE7THNiyHmY2/wx8PGzGxUJE0pcZZdQNSquIfxQ==","_npmVersion":"10.7.0","description":"## Installation","directories":{},"_nodeVersion":"18.20.3","dependencies":{"eslint-plugin-react":"7.34.1","eslint-plugin-import":"^2.29.1","eslint-plugin-jsx-a11y":"6.8.0","@rushstack/eslint-patch":"1.10.1","@rushstack/eslint-config":"3.6.8","eslint-plugin-react-hooks":"4.6.0","eslint-plugin-react-refresh":"0.4.6","eslint-plugin-no-relative-import-paths":"1.5.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":">= 8","typescript":">= 5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.10_1719298105223_0.1136796942932865","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"@duchi/eslint-config","main":"index.js","version":"1.0.11","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"dependencies":{"@rushstack/eslint-config":"3.6.8","@rushstack/eslint-patch":"1.10.1","eslint-plugin-import":"^2.29.1","eslint-plugin-jsx-a11y":"6.8.0","eslint-plugin-no-relative-import-paths":"1.5.3","eslint-plugin-react":"7.34.1","eslint-plugin-react-hooks":"4.6.0","eslint-plugin-react-refresh":"0.4.6"},"peerDependencies":{"eslint":">= 8","typescript":">= 5"},"_id":"@duchi/eslint-config@1.0.11","description":"## Installation","_integrity":"sha512-d8Xie323R0shyVKEYJXPc1QHaSUjbHU3/cgR4m56w4RJXNrwKe2joXIvAFtxwFhtuReoYBkRSNPJEecwY0drfw==","_resolved":"/tmp/caa1d41593c2a4ee72b38ad429481b15/duchi-eslint-config-1.0.11.tgz","_from":"file:duchi-eslint-config-1.0.11.tgz","_nodeVersion":"18.20.3","_npmVersion":"10.7.0","dist":{"integrity":"sha512-d8Xie323R0shyVKEYJXPc1QHaSUjbHU3/cgR4m56w4RJXNrwKe2joXIvAFtxwFhtuReoYBkRSNPJEecwY0drfw==","shasum":"11b079c5a6c1ff836d9b1612bf18cef31c0d5945","tarball":"https://registry.npmjs.org/@duchi/eslint-config/-/eslint-config-1.0.11.tgz","fileCount":5,"unpackedSize":8372,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+aJLgPgm4n6NH3wVYVStPaXiskFB2tKyoca1y7CPtSgIhAPIQwjP8RjgF9enV8VZb9p7ECHRnEqYJSPyPxAuONCfC"}]},"_npmUser":{"name":"duchi","email":"duchang.dev@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-config_1.0.11_1719814888854_0.17487944661688415"},"_hasShrinkwrap":false}},"time":{"created":"2024-06-18T07:11:08.501Z","modified":"2024-07-01T06:21:29.178Z","1.0.2":"2024-06-18T07:11:08.746Z","1.0.6":"2024-06-18T14:18:36.027Z","1.0.7":"2024-06-18T15:16:58.798Z","1.0.8":"2024-06-19T05:02:24.846Z","1.0.9":"2024-06-19T05:44:49.840Z","1.0.10":"2024-06-25T06:48:25.384Z","1.0.11":"2024-07-01T06:21:28.998Z"},"maintainers":[{"name":"duchi","email":"duchang.dev@gmail.com"}],"readme":"# @duchi/eslint-config\n\n## Installation\n\n```bash\nnpm i -D @duchi/eslint-config\n```\n\n## Configuration\n\n프로젝트 루트의 `.eslintrc.cjs`파일을 경우에 따라 다음과 같이 수정합니다.\n\n### TypeScript Only\n\n```js\n/**\n * patch 파일을 불러옵니다.\n * 이렇게 하면 ESLint 플러그인들을 프로젝트에서 일일이 설치할 필요가 없어집니다.\n */\nrequire(\"@duchi/eslint-config/patch\");\n\nmodule.exports = {\n  env: { browser: true, es2020: true },\n  extends: [\n    // 공통 ESLint 컨피그 불러오기\n    \"@duchi/eslint-config/index\",\n  ],\n  parserOptions: {\n    /**\n     * rushstack은 @typescript-eslint 플러그인을 내장하고 있으므로\n     * 아래와 같이 tsconfig 경로를 명시해줘야합니다.\n     */\n    project: true,\n    tsconfigRootDir: __dirname,\n  },\n};\n```\n\n### TypeScript with React\n\n```js\n/**\n * patch 파일을 불러옵니다.\n * 이렇게 하면 ESLint 플러그인들을 프로젝트에서 일일이 설치할 필요가 없어집니다.\n */\nrequire(\"@duchi/eslint-config/patch\");\n\nmodule.exports = {\n  env: { browser: true, es2020: true },\n  extends: [\n    // 공통 ESLint 컨피그 불러오기\n    \"@duchi/eslint-config/index\",\n    // React용 ESLint 컨피그 불러오기\n    \"@duchi/eslint-config/mixins/react\",\n  ],\n  settings: {\n    react: {\n      /**\n       * 현재 React 버전을 명시합니다.\n       * 명시하지 않을 경우(기본값 'detect') React 라이브러리 전체를 불러오므로\n       * 린트 과정에서 속도가 느려질 수 있습니다.\n       * 예: '16.9', '17.0', '18.0' 등\n       */\n      version: \"18.2\",\n    },\n  },\n  /**\n   * rushstack은 @typescript-eslint 플러그인을 내장하고 있으므로\n   * 아래와 같이 tsconfig 경로를 명시해줘야합니다.\n   */\n  parserOptions: {\n    project: true,\n    tsconfigRootDir: __dirname,\n  },\n};\n```\n\n# Based on @rushstack/eslint-config\n\n이 ESLint 설정은 널리 사용되는 `@rushstack/eslint-config`를 기반으로 만들어졌습니다.\n`@rushstack/eslint-config`를 활용하면 JavaScript와 TypeScript에 대한 구성이 모두 포함된 잘 유지 관리되고 포괄적인 ESLint 설정을 활용할 수 있습니다. `@rushstack/eslint-config`에 대한 자세한 내용은 [Rushstack ESLint 구성 설명서](https://www.npmjs.com/package/@rushstack/eslint-config)를 참조하세요.\n\n추가적으로 구성된 설정은 다음과 같습니다.\n\n1. @typescript-eslint/explicit-function-return-type: off\n2. sort-imports\n3. import/order\n\n# Reference\n\n[우리 팀을 위한 ESLint, Prettier 공유 컨피그 만들어보기](https://techblog.woowahan.com/15903/#toc-3)\n","readmeFilename":"README.md"}