{"_id":"@10xscale/eslint-modern","_rev":"10-9e0742879e1c7f559c450a7e1967ec85","name":"@10xscale/eslint-modern","dist-tags":{"latest":"0.2.0"},"versions":{"0.0.1":{"name":"@10xscale/eslint-modern","version":"0.0.1","keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"author":{"name":"10XScale"},"license":"MIT","_id":"@10xscale/eslint-modern@0.0.1","maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"homepage":"https://github.com/10XScale-in/react-style-guide#readme","bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"dist":{"shasum":"95c24b9dbf7321c4abfc6e15b2c8b4c376e78c2d","tarball":"https://registry.npmjs.org/@10xscale/eslint-modern/-/eslint-modern-0.0.1.tgz","fileCount":3,"integrity":"sha512-rg/pJRr3HgnHknHVPAQfsYcWGdsQWMiEzO4cxQnPK2UziBYC8S79ysyCOfwl3DboupJttH2DbS/g1bzGKJA8ew==","signatures":[{"sig":"MEQCIEM/ZaiVaB3GeUjeDqa1Kbvgzv543X9FcgnHS9i/SHJxAiAadPabz81KYX/EoULTCf/+CQ2+r0d2oywSG1lCrqC0zA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16413},"main":"index.js","gitHead":"bb707b18c43bde0628190dd26e0c0c6d19bf81a2","_npmUser":{"name":"iamsdt","email":"shudiptotrafder@gmail.com"},"repository":{"url":"git+https://github.com/10XScale-in/react-style-guide.git","type":"git"},"_npmVersion":"10.9.2","description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@eslint/js":"^9.0.0","@eslint/eslintrc":"^3.0.0","eslint-plugin-react":"^7.0.0","@babel/eslint-parser":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-promise":"^7.0.0","eslint-plugin-sonarjs":"^3.0.0","eslint-plugin-unicorn":"^59.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-modern_0.0.1_1749711417217_0.7035647919574481","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@10xscale/eslint-modern","version":"0.0.2","keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"author":{"name":"10XScale"},"license":"MIT","_id":"@10xscale/eslint-modern@0.0.2","maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"homepage":"https://github.com/10XScale-in/react-style-guide#readme","bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"dist":{"shasum":"6b8d086a11e0ad47803eff321237cbc67056c289","tarball":"https://registry.npmjs.org/@10xscale/eslint-modern/-/eslint-modern-0.0.2.tgz","fileCount":3,"integrity":"sha512-gBj3WrnY0s2QFTCEXUfYDMtusFeMM3rgqnF5SWhCCNPmFJPi4LE1bWRhWoSurnZVJPRA8KG3fBilgTX6orXXtA==","signatures":[{"sig":"MEYCIQCc1LXFzme4HHD6bIl+FYjmzTfzuzv5hpEYbayUUDfWlAIhAJekESuAIY5+HLIZGhfEiNv2a9iuWRitw2l4sthstCsk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16413},"main":"index.js","gitHead":"60c7fd6d95c2fbb6ab572d3f91897512023f12e4","_npmUser":{"name":"iamsdt","email":"shudiptotrafder@gmail.com"},"repository":{"url":"git+https://github.com/10XScale-in/react-style-guide.git","type":"git"},"_npmVersion":"10.9.2","description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@eslint/js":"^9.0.0","@eslint/eslintrc":"^3.0.0","eslint-plugin-react":"^7.0.0","@babel/eslint-parser":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-promise":"^7.0.0","eslint-plugin-sonarjs":"^3.0.0","eslint-plugin-unicorn":"^59.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-modern_0.0.2_1749711544180_0.35532954324731914","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@10xscale/eslint-modern","version":"0.0.3","keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"author":{"name":"10XScale"},"license":"MIT","_id":"@10xscale/eslint-modern@0.0.3","maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"homepage":"https://github.com/10XScale-in/react-style-guide#readme","bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"dist":{"shasum":"8f6e455df6743818f5bd5ff1766d256246ab6956","tarball":"https://registry.npmjs.org/@10xscale/eslint-modern/-/eslint-modern-0.0.3.tgz","fileCount":3,"integrity":"sha512-XcqmWuzbkiO/e/XhIIBKpbeQauo7mVk7vm3Qxb+dDVwOjIJccm6wAmiu89MTF4vctgqSHVRxq4CUafbinYe3ww==","signatures":[{"sig":"MEUCIB+S4B/Nvv71Uyd5WcqqveaNgwJwdQDvLlVvMj21WYG+AiEA3JnEa3qcg0kEZi3DEVmEC9JcZzUPCMzlpbZ+db5uMMQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16403},"main":"index.js","gitHead":"be53d85d38b124c92e31488805be41d20ed43eee","_npmUser":{"name":"iamsdt","email":"shudiptotrafder@gmail.com"},"repository":{"url":"git+https://github.com/10XScale-in/react-style-guide.git","type":"git"},"_npmVersion":"10.9.2","description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@eslint/js":"^9.0.0","@eslint/eslintrc":"^3.0.0","eslint-plugin-react":"^7.0.0","@babel/eslint-parser":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-promise":"^7.0.0","eslint-plugin-sonarjs":"^3.0.0","eslint-plugin-unicorn":"^59.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-modern_0.0.3_1749712147418_0.8487538589511208","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@10xscale/eslint-modern","version":"0.0.4","keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"author":{"name":"10XScale"},"license":"MIT","_id":"@10xscale/eslint-modern@0.0.4","maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"homepage":"https://github.com/10XScale-in/react-style-guide#readme","bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"dist":{"shasum":"e84678195b4b7e8a3efd3495cd2fafa1397900db","tarball":"https://registry.npmjs.org/@10xscale/eslint-modern/-/eslint-modern-0.0.4.tgz","fileCount":3,"integrity":"sha512-2pF3soA/GCljdEZ6+MmtQwVBBVuCEFG09ob9Ws7FnmHRVGnueTHyZp6cfiK3whprP23S07a1QjHbRV4mt/2b+A==","signatures":[{"sig":"MEQCIB7IB0qQKXLMTCo5tDUTVvMTF8SoDkPzhHJqhtk92wy9AiAg3yUej8DAMX0Cm+Dofv7PxekqlxHrDFTu3JBDl7CutA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17282},"main":"index.js","gitHead":"bf2b0d8bfcd4fe681b0c7c798b7028b7374ff48a","_npmUser":{"name":"iamsdt","email":"shudiptotrafder@gmail.com"},"repository":{"url":"git+https://github.com/10XScale-in/react-style-guide.git","type":"git"},"_npmVersion":"10.9.2","description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@eslint/js":"^9.0.0","@eslint/eslintrc":"^3.0.0","eslint-plugin-react":"^7.0.0","@babel/eslint-parser":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-promise":"^7.0.0","eslint-plugin-sonarjs":"^3.0.0","eslint-plugin-unicorn":"^59.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-modern_0.0.4_1749712523871_0.9955959182410627","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@10xscale/eslint-modern","version":"0.0.5","keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"author":{"name":"10XScale"},"license":"MIT","_id":"@10xscale/eslint-modern@0.0.5","maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"homepage":"https://github.com/10XScale-in/react-style-guide#readme","bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"dist":{"shasum":"f7cb6efa7cd5025d536a77862f34d6a5be3bf2f8","tarball":"https://registry.npmjs.org/@10xscale/eslint-modern/-/eslint-modern-0.0.5.tgz","fileCount":3,"integrity":"sha512-D9Kle/0LhXcnkNr6tt9dv1czeN2v4VjLSlMlWX7rsK0DdEhc+NoJKXeVECOP7Iv7vzpzymFTvo2AkDJx0GoCkA==","signatures":[{"sig":"MEYCIQCTFWXnMtgaAC8U9UYecYm7/q+H+uuOQ+Oh4CamiLM1SQIhAJgvArDkb4bqJyjDeAqQ3G3TDOVcvh5yeJNzTT8BI570","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17585},"main":"index.js","gitHead":"bf2b0d8bfcd4fe681b0c7c798b7028b7374ff48a","_npmUser":{"name":"iamsdt","email":"shudiptotrafder@gmail.com"},"repository":{"url":"git+https://github.com/10XScale-in/react-style-guide.git","type":"git"},"_npmVersion":"10.9.2","description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@eslint/js":"^9.0.0","@eslint/eslintrc":"^3.0.0","eslint-plugin-react":"^7.0.0","@babel/eslint-parser":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-promise":"^7.0.0","eslint-plugin-sonarjs":"^3.0.0","eslint-plugin-unicorn":"^59.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-modern_0.0.5_1749715779737_0.5809029734170248","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@10xscale/eslint-modern","version":"0.1.0","keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"author":{"name":"10XScale"},"license":"MIT","_id":"@10xscale/eslint-modern@0.1.0","maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"homepage":"https://github.com/10XScale-in/react-style-guide#readme","bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"dist":{"shasum":"3fa4127b3dcdd72a97e53f32429ace33abddc5b9","tarball":"https://registry.npmjs.org/@10xscale/eslint-modern/-/eslint-modern-0.1.0.tgz","fileCount":3,"integrity":"sha512-3u3jsMUmum5E6f168rz4e4W1Q8z3VHocxXgxAAibnJ9/cL2r4SKgx4gBOA+FRLfnskm1JWqnjIgdHu9EDlKLNg==","signatures":[{"sig":"MEUCIQD8hMSv4ypwnyC1qzPnXHR7xYYAfhnqMk/wpRfaTJTesAIgUPOJ9Np8v7XaU0XpZVAae8MFvgp5ROaTajrYSVtm+q8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17870},"main":"index.js","gitHead":"e82e655f5f19cb899fbaa1fb1e4a640bc55d0ca8","_npmUser":{"name":"iamsdt","email":"shudiptotrafder@gmail.com"},"repository":{"url":"git+https://github.com/10XScale-in/react-style-guide.git","type":"git"},"_npmVersion":"10.9.2","description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@eslint/js":"^9.0.0","@eslint/eslintrc":"^3.0.0","eslint-plugin-jsdoc":"^51.0.1","eslint-plugin-react":"^7.0.0","@babel/eslint-parser":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-promise":"^7.0.0","eslint-plugin-sonarjs":"^3.0.0","eslint-plugin-unicorn":"^59.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-react-hooks":"^5.0.0","eslint-import-resolver-alias":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/eslint-modern_0.1.0_1749811426982_0.2526689435548142","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@10xscale/eslint-modern","version":"0.1.1","keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"author":{"name":"10XScale"},"license":"MIT","_id":"@10xscale/eslint-modern@0.1.1","maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"homepage":"https://github.com/10XScale-in/react-style-guide#readme","bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"dist":{"shasum":"83f23a627c28a4ceadf2632b09a55769ffbcba2e","tarball":"https://registry.npmjs.org/@10xscale/eslint-modern/-/eslint-modern-0.1.1.tgz","fileCount":3,"integrity":"sha512-l0MEIn03GBbEcnNsop/fYinFCdmoWdgQ64LBAnC/hrpSREZrujw/TZWMHsKJ7rNfDs0AjDndk9peNL76TY2hHg==","signatures":[{"sig":"MEYCIQD8PU1d3SLzxislP1xSQMRxK1Ugma0DcbnEQ3AQKDOf2QIhAMWBMp8aMDnA3OspqvQM+L5yExuwpshnZnRLW0f72zDm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17779},"main":"index.js","gitHead":"d9ad44d8c0d647d15aa43f348205cfa87198cef7","_npmUser":{"name":"iamsdt","email":"shudiptotrafder@gmail.com"},"repository":{"url":"git+https://github.com/10XScale-in/react-style-guide.git","type":"git"},"_npmVersion":"10.9.2","description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@eslint/js":"^9.0.0","@eslint/eslintrc":"^3.0.0","eslint-plugin-jsdoc":"^51.0.1","eslint-plugin-react":"^7.0.0","@babel/eslint-parser":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-promise":"^7.0.0","eslint-plugin-sonarjs":"^3.0.0","eslint-plugin-unicorn":"^59.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-react-hooks":"^5.0.0","eslint-import-resolver-alias":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/eslint-modern_0.1.1_1749811930571_0.12645454440215587","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@10xscale/eslint-modern","version":"0.1.2","keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"author":{"name":"10XScale"},"license":"MIT","_id":"@10xscale/eslint-modern@0.1.2","maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"homepage":"https://github.com/10XScale-in/react-style-guide#readme","bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"dist":{"shasum":"1acba0599e9bc415a00a39b0cb8d26b331078280","tarball":"https://registry.npmjs.org/@10xscale/eslint-modern/-/eslint-modern-0.1.2.tgz","fileCount":3,"integrity":"sha512-sXrpUXP+RtkME/CrSkQeqbOH9OX/STMLErv02se55EEAZjFRyWC79QnvD6Sie6/gCRsVYFA2OuZNwR4geC8H8A==","signatures":[{"sig":"MEUCIQDXN1MKx5QErGy0P+KJ3ZOPqlY4Fm1HmHp/CWdZPzqZvgIgEu+dBakh8vpp/U1kKyCaYUiEMnIWYkYIJhSQwJIKN84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17146},"main":"index.js","type":"module","gitHead":"f5b387f3147241a17b4f30c784510c524059a4be","_npmUser":{"name":"iamsdt","email":"shudiptotrafder@gmail.com"},"repository":{"url":"git+https://github.com/10XScale-in/react-style-guide.git","type":"git"},"_npmVersion":"10.9.3","description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@eslint/js":"^9.37.0","@eslint/eslintrc":"^3.3.0","eslint-plugin-jsdoc":"^61.1.0","eslint-plugin-react":"^7.37.0","@babel/eslint-parser":"^7.28.0","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.0","eslint-plugin-sonarjs":"^3.0.0","eslint-plugin-unicorn":"^61.0.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-prettier":"^5.5.0","eslint-plugin-react-hooks":"^7.0.0","eslint-import-resolver-alias":"^1.1.0","eslint-plugin-prefer-arrow-functions":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-modern_0.1.2_1760103280146_0.4312101646929105","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@10xscale/eslint-modern","version":"0.1.3","keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"author":{"name":"10XScale"},"license":"MIT","_id":"@10xscale/eslint-modern@0.1.3","maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"homepage":"https://github.com/10XScale-in/react-style-guide#readme","bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"dist":{"shasum":"f0138f9df4e3cbc47833be585620dc01051dd684","tarball":"https://registry.npmjs.org/@10xscale/eslint-modern/-/eslint-modern-0.1.3.tgz","fileCount":3,"integrity":"sha512-mArLrO4PUocjfHE6q60/SIAUlm7abkD04b8g7pzITrvbm3tu2osOlH9rykLZaZ8jWi1IHOo4xzRXeVQE0TLZMQ==","signatures":[{"sig":"MEUCIQDCz2PDEjE6UAhpJFaqmtvluesd0hnb3+fmbV2WSRRtcQIgBED15v2L7F4FfwIXZcAMJRG9NG/+DmONTxCDWa6yHz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29798},"main":"index.js","type":"module","gitHead":"f5b387f3147241a17b4f30c784510c524059a4be","_npmUser":{"name":"iamsdt","email":"shudiptotrafder@gmail.com"},"repository":{"url":"git+https://github.com/10XScale-in/react-style-guide.git","type":"git"},"_npmVersion":"10.9.3","description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@eslint/js":"^9.37.0","@eslint/eslintrc":"^3.3.0","eslint-plugin-jsdoc":"^61.1.0","eslint-plugin-react":"^7.37.0","@babel/eslint-parser":"^7.28.0","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.0","eslint-plugin-sonarjs":"^3.0.0","eslint-plugin-unicorn":"^61.0.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-prettier":"^5.5.0","eslint-plugin-react-hooks":"^7.0.0","eslint-import-resolver-alias":"^1.1.0","eslint-plugin-prefer-arrow-functions":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-modern_0.1.3_1760103356490_0.43251900664426635","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@10xscale/eslint-modern","version":"0.2.0","description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","main":"index.js","license":"MIT","type":"module","repository":{"type":"git","url":"git+https://github.com/10XScale-in/react-style-guide.git"},"publishConfig":{"access":"public"},"author":{"name":"10XScale"},"keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"peerDependencies":{"@babel/eslint-parser":"^7.28.0","@eslint/eslintrc":"^3.3.0","@eslint/js":"^9.37.0","eslint-plugin-import":"^2.32.0","eslint-import-resolver-alias":"^1.1.0","eslint-plugin-jsx-a11y":"^6.10.0","eslint-plugin-prettier":"^5.5.0","eslint-plugin-promise":"^7.2.0","eslint-plugin-react":"^7.37.0","eslint-plugin-react-hooks":"^7.0.0","eslint-plugin-sonarjs":"^3.0.0","eslint-plugin-unicorn":"^61.0.0","eslint-plugin-jsdoc":"^61.1.0","eslint-plugin-prefer-arrow-functions":"^3.2.0"},"gitHead":"d55fe290eb7955775d5c1c1fbca8844f02115204","_id":"@10xscale/eslint-modern@0.2.0","bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"homepage":"https://github.com/10XScale-in/react-style-guide#readme","_nodeVersion":"25.0.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-2o0UbeALZiDqAzEuu1tEPruVqsoP+W7i9MzbVh95Bjox6Ed/ZuQNMHlfK+RBiJHoww8n76B/q0KjhzUvRP9KKg==","shasum":"c78114c3892b2b7feaf46e5867715549a4e88981","tarball":"https://registry.npmjs.org/@10xscale/eslint-modern/-/eslint-modern-0.2.0.tgz","fileCount":3,"unpackedSize":29995,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD7ocRwXwX0yChLrdMBlrfx7tojWVkwjFZYBj6Y+m8gQwIhAK35J2hJlHli4lXaPDVUXmUgxJ1rL8jfn/qkVapzt55A"}]},"_npmUser":{"name":"iamsdt","email":"shudiptotrafder@gmail.com"},"directories":{},"maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-modern_0.2.0_1763453043942_0.1729850214116606"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-12T06:56:57.110Z","modified":"2025-11-18T08:04:04.324Z","0.0.1":"2025-06-12T06:56:57.388Z","0.0.2":"2025-06-12T06:59:04.380Z","0.0.3":"2025-06-12T07:09:07.595Z","0.0.4":"2025-06-12T07:15:24.040Z","0.0.5":"2025-06-12T08:09:39.929Z","0.1.0":"2025-06-13T10:43:47.164Z","0.1.1":"2025-06-13T10:52:10.773Z","0.1.2":"2025-10-10T13:34:40.316Z","0.1.3":"2025-10-10T13:35:56.675Z","0.2.0":"2025-11-18T08:04:04.142Z"},"bugs":{"url":"https://github.com/10XScale-in/react-style-guide/issues"},"author":{"name":"10XScale"},"license":"MIT","homepage":"https://github.com/10XScale-in/react-style-guide#readme","keywords":["eslint","eslintconfig","eslint-config","react","javascript","flat config","prettier","unicorn","sonarjs","import","jsx-a11y","promise","config"],"repository":{"type":"git","url":"git+https://github.com/10XScale-in/react-style-guide.git"},"description":"Modern React & JavaScript ESLint config (ESLint v9+ Flat Config) by 10xScale.","maintainers":[{"name":"iamsdt","email":"shudiptotrafder@gmail.com"}],"readme":"# @10xscale/eslint-modern\n\nA shareable ESLint configuration for React projects, designed to enforce consistent code style and best practices across your codebase. Built for use with ESLint v9+ Flat Config.\n\n# Modern React Development Guide\n\n> Comprehensive guide for building scalable React applications with modern patterns, performance optimization, and best practices\n\n## 🚀 Overview\n\nThis repository contains a complete set of development guides for modern React applications, focusing on JavaScript patterns, performance optimization, and maintainable code architecture. Built for teams transitioning from traditional setups to modern React development.\n\n📖 **Read the full documentation online**: [https://10xhub.github.io/react-style-guide/](https://10xhub.github.io/react-style-guide/)\n\n## 📦 ESLint Configuration Package\n\nThis repository also includes a published ESLint configuration package for React projects:\n\n**[@10xscale/eslint-modern](https://www.npmjs.com/package/@10xscale/eslint-modern)** - A shareable ESLint configuration for React projects, designed to enforce consistent code style and best practices across your codebase. Built for use with ESLint v9+ Flat Config.\n\nSee the [package README](./package/README.md) for installation and usage instructions.\n\n## 📚 Guide Collection\n\n### Core Development Guides\n\n| Guide | Description | Key Topics |\n|-------|-------------|------------|\n| **[JavaScript Guide](./docs/guidelines/JAVASCRIPT_GUIDE.md)** | Modern JavaScript patterns and best practices | ES2024, async/await, modules, error handling |\n| **[React Guide](./docs/guidelines/REACT_GUIDE.md)** | React 19+ patterns and component architecture | Hooks, components, state management, performance |\n| **[SOLID Principles](./docs/guidelines/SOLID_PRINCIPLES.md)** | SOLID principles applied to React development | Component design, maintainability, architecture |\n| **[Custom Hooks Guide](./docs/guidelines/CUSTOM_HOOKS_GUIDE.md)** | Hook design patterns and best practices | Hook composition, testing, performance |\n\n### Configuration & Setup\n\n| Guide | Description | Key Topics |\n|-------|-------------|------------|\n| **[File Organization](./docs/guidelines/FILE_ORGANIZATION.md)** | Project structure and naming conventions | Folder structure, imports, code splitting |\n| **[ESLint Configuration](./docs/guidelines/ESLINT_CONFIG.md)** | Modern ESLint setup extending Airbnb | Rules, IDE integration, CI/CD |\n| **[Testing Guide](./docs/guidelines/TESTING_GUIDE.md)** | Comprehensive testing with Vitest | Component testing, hooks, integration |\n\n### Optimization & Migration\n\n| Guide | Description | Key Topics |\n|-------|-------------|------------|\n| **[Performance Guide](./docs/guidelines/PERFORMANCE_GUIDE.md)** | React performance optimization techniques | Bundle optimization, memory management, monitoring |\n| **[Migration Guide](./docs/guidelines/MIGRATION_GUIDE.md)** | Migrating from legacy patterns and Airbnb config | Step-by-step migration, code transformation |\n\n## 🎯 Quick Start\n\n### 1. Project Setup\n\n```bash\n# Create new React project with Vite\nnpm create vite@latest my-react-app -- --template react\ncd my-react-app\n\n# Install dependencies\nnpm install\n\n# Install development dependencies\nnpm install --save-dev eslint vitest @testing-library/react\n```\n\n### 2. Configure ESLint\n\nInstall the published ESLint configuration package:\n\n```bash\n# Install the complete ESLint config package\nnpm install --save-dev @10xscale/eslint-modern\n\n# Or install with all peer dependencies at once\nnpm install --save-dev @10xscale/eslint-modern @babel/eslint-parser @eslint/eslintrc @eslint/js eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-prettier eslint-plugin-promise eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-sonarjs eslint-plugin-unicorn eslint-import-resolver-alias eslint-plugin-jsdoc\n```\n\nSee the [package README](./package/README.md) for detailed installation and usage instructions.\n\n### 3. Set Up Testing\n\nFollow the [Testing Guide](./docs/guidelines/TESTING_GUIDE.md) to configure Vitest:\n\n```bash\n# Install testing dependencies\nnpm install --save-dev vitest @testing-library/jest-dom @testing-library/user-event\n```\n\n### 4. Organize Project Structure\n\nUse the [File Organization Guide](./docs/guidelines/FILE_ORGANIZATION.md) to structure your project:\n\n```\nsrc/\n├── components/          # Reusable components\n├── pages/              # Page components\n├── lib/                # Utilities and helpers\n├── services/           # API and external services\n└── assets/             # Static assets\n```\n\n## 🏗️ Architecture Principles\n\n### Component Design\n- **Functional Components Only** - Use hooks for all state and side effects\n- **Single Responsibility** - Each component has one clear purpose\n- **Composition over Inheritance** - Build complex UIs through composition\n- **Props Interface Design** - Clear, documented prop interfaces\n\n### Performance First\n- **Bundle Optimization** - Code splitting and tree shaking\n- **React Optimization** - memo, useMemo, useCallback where beneficial\n- **Loading Strategies** - Progressive enhancement and lazy loading\n- **Memory Management** - Proper cleanup and optimization\n\n### Developer Experience\n- **Modern Tooling** - Vite, Vitest, ESLint with modern rules\n- **Type Safety** - PropTypes and careful data handling\n- **Testing Strategy** - Comprehensive testing at all levels\n- **Documentation** - Clear documentation and examples\n\n## 📋 Development Workflow\n\n### 1. Component Development\n\n```jsx\n// Follow React Guide patterns\nimport { useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\n\nconst UserCard = ({ user, onEdit, onDelete }) => {\n  const [isExpanded, setIsExpanded] = useState(false);\n\n  const handleEdit = useCallback(() => {\n    onEdit(user);\n  }, [user, onEdit]);\n\n  return (\n    <div className=\"user-card\">\n      <UserAvatar user={user} />\n      <UserInfo user={user} expanded={isExpanded} />\n      <UserActions onEdit={handleEdit} onDelete={onDelete} />\n    </div>\n  );\n};\n\nUserCard.propTypes = {\n  user: PropTypes.shape({\n    id: PropTypes.string.isRequired,\n    name: PropTypes.string.isRequired,\n    email: PropTypes.string.isRequired\n  }).isRequired,\n  onEdit: PropTypes.func,\n  onDelete: PropTypes.func\n};\n\nexport default UserCard;\n```\n\n### 2. Custom Hook Development\n\n```javascript\n// Follow Custom Hooks Guide patterns\nconst useUserData = (userId) => {\n  const [user, setUser] = useState(null);\n  const [loading, setLoading] = useState(true);\n  const [error, setError] = useState(null);\n\n  useEffect(() => {\n    let cancelled = false;\n\n    const fetchUser = async () => {\n      try {\n        setLoading(true);\n        const userData = await getUserById(userId);\n        \n        if (!cancelled) {\n          setUser(userData);\n        }\n      } catch (err) {\n        if (!cancelled) {\n          setError(err);\n        }\n      } finally {\n        if (!cancelled) {\n          setLoading(false);\n        }\n      }\n    };\n\n    if (userId) {\n      fetchUser();\n    }\n\n    return () => {\n      cancelled = true;\n    };\n  }, [userId]);\n\n  return { user, loading, error };\n};\n```\n\n### 3. Testing Approach\n\n```javascript\n// Follow Testing Guide patterns\nimport { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, it, expect, vi } from 'vitest';\nimport UserCard from './UserCard';\n\ndescribe('UserCard', () => {\n  const mockUser = {\n    id: '1',\n    name: 'John Doe',\n    email: 'john@example.com'\n  };\n\n  it('renders user information correctly', () => {\n    render(<UserCard user={mockUser} />);\n\n    expect(screen.getByText('John Doe')).toBeInTheDocument();\n    expect(screen.getByText('john@example.com')).toBeInTheDocument();\n  });\n\n  it('calls onEdit when edit button is clicked', async () => {\n    const user = userEvent.setup();\n    const onEdit = vi.fn();\n    \n    render(<UserCard user={mockUser} onEdit={onEdit} />);\n\n    await user.click(screen.getByRole('button', { name: /edit/i }));\n\n    expect(onEdit).toHaveBeenCalledWith(mockUser);\n  });\n});\n```\n\n## 🛠️ Available Scripts\n\n```json\n{\n  \"scripts\": {\n    \"dev\": \"vite\",\n    \"build\": \"vite build\",\n    \"preview\": \"vite preview\",\n    \"test\": \"vitest\",\n    \"test:ui\": \"vitest --ui\",\n    \"test:coverage\": \"vitest run --coverage\",\n    \"lint\": \"eslint src --ext .js,.jsx --max-warnings 0\",\n    \"lint:fix\": \"eslint src --ext .js,.jsx --fix\",\n    \"type-check\": \"tsc --noEmit\"\n  }\n}\n```\n\n## 📦 Recommended Dependencies\n\n### Core Dependencies\n```bash\n# React ecosystem\nnpm install react react-dom react-router-dom\n\n# State management (choose based on needs)\nnpm install @tanstack/react-query  # For server state\nnpm install @reduxjs/toolkit react-redux  # For complex client state\n\n# UI and utilities\nnpm install axios date-fns\n```\n\n### Development Dependencies\n```bash\n# Build tools\nnpm install --save-dev vite @vitejs/plugin-react\n\n# Linting and formatting\nnpm install --save-dev eslint-plugin-react eslint-plugin-react-hooks\nnpm install --save-dev prettier\n\n# Testing\nnpm install --save-dev vitest @testing-library/react\nnpm install --save-dev @testing-library/jest-dom @testing-library/user-event\nnpm install --save-dev jsdom\n```\n\n## 🚀 Performance Optimization\n\n### Bundle Analysis\n```bash\n# Analyze bundle size\nnpm run build\nnpx vite-bundle-analyzer dist\n\n# Monitor bundle size\nnpm install --save-dev size-limit\n```\n\n### Code Splitting Examples\n```javascript\n// Route-based splitting\nconst Dashboard = lazy(() => import('./pages/Dashboard'));\nconst UserProfile = lazy(() => import('./pages/UserProfile'));\n\n// Feature-based splitting\nconst AdminPanel = lazy(() => import('./features/admin/AdminPanel'));\n```\n\n### Performance Monitoring\n```javascript\n// Core Web Vitals\nimport { getCLS, getFID, getFCP, getLCP, getTTFB } from 'web-vitals';\n\ngetCLS(console.log);\ngetFID(console.log);\ngetFCP(console.log);\ngetLCP(console.log);\ngetTTFB(console.log);\n```\n\n## 🔧 IDE Configuration\n\n### VS Code Settings\n```json\n{\n  \"editor.codeActionsOnSave\": {\n    \"source.fixAll.eslint\": true\n  },\n  \"editor.formatOnSave\": true,\n  \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n  \"eslint.validate\": [\"javascript\", \"javascriptreact\"]\n}\n```\n\n### Recommended Extensions\n- ESLint\n- Prettier - Code formatter\n- ES7+ React/Redux/React-Native snippets\n- Auto Rename Tag\n- Bracket Pair Colorizer\n\n## 🎯 Migration Path\n\n### From Airbnb Configuration\n1. **Update ESLint Config** - Follow [ESLint Configuration Guide](./docs/guidelines/ESLINT_CONFIG.md)\n2. **Convert Class Components** - Use [Migration Guide](./docs/guidelines/MIGRATION_GUIDE.md)\n3. **Modernize Patterns** - Apply [React Guide](./docs/guidelines/REACT_GUIDE.md) patterns\n4. **Optimize Performance** - Implement [Performance Guide](./docs/guidelines/PERFORMANCE_GUIDE.md) techniques\n\n### From Create React App\n1. **Migrate to Vite** - Follow build tool migration in [Migration Guide](./docs/guidelines/MIGRATION_GUIDE.md)\n2. **Update Testing** - Switch from Jest to Vitest\n3. **Reorganize Structure** - Apply [File Organization Guide](./docs/guidelines/FILE_ORGANIZATION.md)\n4. **Optimize Bundle** - Implement code splitting and optimization\n\n## 🤝 Contributing\n\n### Adding New Patterns\n1. **Follow Existing Structure** - Use established guide formats\n2. **Provide Examples** - Include practical, real-world examples\n3. **Test Thoroughly** - Ensure all examples work as expected\n4. **Document Rationale** - Explain why patterns are recommended\n\n### Updating Guides\n1. **Keep Current** - Update for latest React and ecosystem changes\n2. **Maintain Consistency** - Follow established conventions\n3. **Add Migration Notes** - Help teams transition smoothly\n4. **Test Examples** - Verify all code examples work\n\n## 📖 Additional Resources\n\n### Official Documentation\n- [React Documentation](https://react.dev/)\n- [Vite Documentation](https://vitejs.dev/)\n- [Vitest Documentation](https://vitest.dev/)\n- [ESLint Documentation](https://eslint.org/)\n\n### Community Resources\n- [React Patterns](https://reactpatterns.com/)\n- [JavaScript Info](https://javascript.info/)\n- [Web.dev](https://web.dev/) - Performance and best practices\n\n### Tools and Libraries\n- [React DevTools](https://react.dev/learn/react-developer-tools)\n- [Redux DevTools](https://github.com/reduxjs/redux-devtools)\n- [React Hook Form](https://react-hook-form.com/)\n- [TanStack Query](https://tanstack.com/query)\n\n## 📄 License\n\nThis guide collection is available under the MIT License. Feel free to use, modify, and distribute as needed for your projects and teams.\n\n---\n\n**Built for modern React development** 🚀\n\nFor specific implementation details, dive into the individual guides. Each guide is designed to be comprehensive yet practical, with real-world examples and clear migration paths from legacy patterns.\n\n## Installation\n\nInstall the package:\n\n```sh\n# Using npm\nnpm install --save-dev @10xscale/eslint-modern\n\nnpm install --save-dev eslint-import-resolver-alias\n\n# Using yarn\nyarn add --dev @10xscale/eslint-modern\n\n# Using pnpm\npnpm add -D @10xscale/eslint-modern\n```\n\nInstall the package and all required peer dependencies:\n\n```sh\n# Using npm\nnpm install --save-dev @10xscale/eslint-modern @babel/eslint-parser @eslint/eslintrc @eslint/js eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-prettier eslint-plugin-promise eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-sonarjs eslint-plugin-unicorn eslint-import-resolver-alias eslint-plugin-jsdoc\n\n# Using yarn\nyarn add --dev @10xscale/eslint-modern @babel/eslint-parser @eslint/eslintrc @eslint/js eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-prettier eslint-plugin-promise eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-sonarjs eslint-plugin-unicorn eslint-import-resolver-alias eslint-plugin-jsdoc\n\n\n# Using pnpm\npnpm add -D @10xscale/eslint-modern @babel/eslint-parser @eslint/eslintrc @eslint/js eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-prettier eslint-plugin-promise eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-sonarjs eslint-plugin-unicorn eslint-import-resolver-alias eslint-plugin-jsdoc\n```\n\n> **Note:** You must also install all listed peer dependencies. Check the `peerDependencies` section in [`package.json`](./package.json) for the required versions.\n\n## Usage (ESLint v9+ Flat Config)\n\n> **Important:** This config is published as an ES module. You must set \"type\": \"module\" in your project's `package.json` to use it, or use the `.mjs` extension for your ESLint config file.\n\n### 1. Enable ES Modules in your project\n\nAdd this to your `package.json`:\n\n```json\n{\n  \"type\": \"module\"\n}\n```\n\n### 2. Create an `eslint.config.js` (or `.mjs`) file in your project root:\n\n```js\n// eslint.config.js\nimport config from '@10xscale/eslint-modern';\n\nexport default [\n  ...config,\n  // Add your custom rules or overrides here\n];\n```\n\nIf you cannot use `type: \"module\"`, rename your config to `eslint.config.mjs` and use the same import/export syntax.\n\n## Updating Peer Dependencies\n\nWhen updating this package, always ensure your project's peer dependencies match the versions specified in [`package.json`](./package.json). Update them as needed to avoid version conflicts.\n\n## Contributing & Contact\n\nContributions, issues, and suggestions are welcome! Please open an issue or pull request on the repository.\n\nFor questions or support, contact the maintainers via the repository's issue tracker.","readmeFilename":"README.md"}