{"_id":"@aerosium/config","_rev":"7-f1d7b5e2ff19649fadc4b3356cc25dd9","name":"@aerosium/config","dist-tags":{"latest":"1.1.5"},"versions":{"1.0.0":{"name":"@aerosium/config","version":"1.0.0","keywords":["eslint-config","prettier-config","aerosium","nextjs","react"],"author":{"name":"Aerosium"},"license":"MIT","_id":"@aerosium/config@1.0.0","maintainers":[{"name":"flakke","email":"flakke@blazenet.work"}],"dist":{"shasum":"6c40da38a4b242880d21d3dfed03418fd31b7af0","tarball":"https://registry.npmjs.org/@aerosium/config/-/config-1.0.0.tgz","fileCount":4,"integrity":"sha512-d9iM+2JaVotrtnTATNgJWF49u24Yw2EKTX55S+F9fQP90ivaftQkhx4dlYEKlW9Lkg0B8dZoePAHmhZrndlOgQ==","signatures":[{"sig":"MEUCIQC0FvLtMaVQX3S3t3ZWxZOpsJK60s2yHSLOBCjP3dwlIAIgO9MtpywvF37gfjyUxRcKKgN9viMi5yYKbEc3l/IM0lc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8816},"main":"index.js","type":"module","exports":{"./eslint":"./eslint/index.js","./prettier":"./prettier/index.json"},"gitHead":"4fdfe5442118ff8f48b98ecb657f7f1947c8ea6b","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"flakke","email":"flakke@blazenet.work"},"_npmVersion":"10.9.2","description":"Shared ESLint and Prettier configurations for Aerosium projects","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","typescript":"^5.0.0","eslint-plugin-react":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-unicorn":"^48.0.0","eslint-plugin-jsx-a11y":"^6.0.0","@next/eslint-plugin-next":"^14.0.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/config_1.0.0_1742997852047_0.813216983565431","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aerosium/config","version":"1.1.0","keywords":["eslint-config","prettier-config","aerosium","nextjs","react"],"author":{"name":"Aerosium"},"license":"MIT","_id":"@aerosium/config@1.1.0","maintainers":[{"name":"flakke","email":"flakke@blazenet.work"}],"dist":{"shasum":"3298c907eb5324e842208e65e68274b1a6863398","tarball":"https://registry.npmjs.org/@aerosium/config/-/config-1.1.0.tgz","fileCount":4,"integrity":"sha512-IF1Zid/kidoVvj1hgidOY7iBR0WSy4K6Iyq/MLHNKIpxP4kuqGJPJbhOE4PYyjQLortpamiPKmHv8BmYycGnPw==","signatures":[{"sig":"MEUCIQDrpPkNdW7M+cetCodFa1zIPe6vvNmJMYIFSsKPxWnNxQIgcHRSsjmKAMC9GfMN8iESAQ1eBmWO3iwQ6RLtfmSSOQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14195},"main":"index.js","type":"module","exports":{"./eslint":"./eslint/index.js","./prettier":"./prettier/index.json"},"gitHead":"f318da5dfa60e39e13946cd8d36faad0aa11d564","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"flakke","email":"flakke@blazenet.work"},"_npmVersion":"10.9.2","description":"Shared ESLint and Prettier configurations for Aerosium projects","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","@eslint/js":"^8.0.0","typescript":"^5.0.0","@eslint/eslintrc":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-unicorn":"^48.0.0","eslint-plugin-jsx-a11y":"^6.0.0","@next/eslint-plugin-next":"^14.0.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/config_1.1.0_1743497974429_0.9787460843656066","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@aerosium/config","version":"1.1.1","keywords":["eslint-config","prettier-config","aerosium","nextjs","react"],"author":{"name":"Aerosium"},"license":"MIT","_id":"@aerosium/config@1.1.1","maintainers":[{"name":"flakke","email":"flakke@blazenet.work"}],"dist":{"shasum":"0bfd4ae2e55943361ebc4ba8aa6d9533b833f8f9","tarball":"https://registry.npmjs.org/@aerosium/config/-/config-1.1.1.tgz","fileCount":4,"integrity":"sha512-yq03mG5t2a3jHXByxpHzQ7eGBcJ2W7yklyM70AwPS8SNMRNxoc5FELsrX/CkqUoBqe3b9rb0iv+t8icJ1cjjew==","signatures":[{"sig":"MEYCIQD7NisN4FGoV+2GlE47LqJ7fuDpjLbDBbEsBbv7cdxh0AIhAMIwk2ve75DRlKy9ZA1KLv6bk8RNQTnRFCVK3lJtT+X7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11670},"main":"index.js","type":"module","exports":{"./eslint":"./eslint/index.js","./prettier":"./prettier/index.json"},"gitHead":"6a1f70d03a4c8b06c8ca76ecf9843dc83b28907b","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"flakke","email":"flakke@blazenet.work"},"_npmVersion":"10.9.2","description":"Shared ESLint and Prettier configurations for Aerosium projects","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","@eslint/js":"^8.0.0","typescript":"^5.0.0","@eslint/eslintrc":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-unicorn":"^48.0.0","eslint-plugin-jsx-a11y":"^6.0.0","@next/eslint-plugin-next":"^14.0.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/config_1.1.1_1743498291675_0.9109816456184325","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@aerosium/config","version":"1.1.2","keywords":["eslint-config","prettier-config","aerosium","nextjs","react"],"author":{"name":"Aerosium"},"license":"MIT","_id":"@aerosium/config@1.1.2","maintainers":[{"name":"flakke","email":"flakke@blazenet.work"}],"dist":{"shasum":"3b70f709b175d230b1c480690d7ae7a14e0db8fd","tarball":"https://registry.npmjs.org/@aerosium/config/-/config-1.1.2.tgz","fileCount":4,"integrity":"sha512-uLgp8UyLLuqJCLayZ2pL3orfaKkAyiTw3GkW3W/MBsN88fOgMIY/PWrNB3Spqhe572ZFzpxb9b1NGVfOQ44dtA==","signatures":[{"sig":"MEYCIQCE0q2EMwNk3hSwL2Y5SjELiIyBUVOCdD9tdasVqcu+GAIhALbdiJaqbcNiSw04dbdKIxLAowwEQjZhn/nFeY7v9I9Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11929},"main":"index.js","type":"module","exports":{"./eslint":"./eslint/index.js","./prettier":"./prettier/index.json"},"gitHead":"c675112deee05602da574e296f90d79823c75954","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"flakke","email":"flakke@blazenet.work"},"_npmVersion":"10.9.2","description":"Shared ESLint and Prettier configurations for Aerosium projects","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","@eslint/js":"^8.0.0","typescript":"^5.0.0","@eslint/eslintrc":"^3.0.0","eslint-plugin-react":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-unicorn":"^48.0.0","eslint-plugin-jsx-a11y":"^6.0.0","@next/eslint-plugin-next":"^14.0.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","eslint-import-resolver-typescript":"^3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/config_1.1.2_1743498556564_0.49838533089328063","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@aerosium/config","version":"1.1.3","keywords":["eslint-config","prettier-config","aerosium","nextjs","react"],"author":{"name":"Aerosium"},"license":"MIT","_id":"@aerosium/config@1.1.3","maintainers":[{"name":"flakke","email":"flakke@blazenet.work"}],"dist":{"shasum":"ae3f5a701ee52b024ebe976286d9e9cac3b188f4","tarball":"https://registry.npmjs.org/@aerosium/config/-/config-1.1.3.tgz","fileCount":4,"integrity":"sha512-e6Ew0davLIujSj2Wz8p6U+PTrXcPfeMryzcsZ1kVxEWb7LBtGGyGCFYhHws4xPGE8FZMjasxQA32rHji6QjDbw==","signatures":[{"sig":"MEUCIEnz0X7EcYt897Ad49j158+yZGdE3kiINSgilTxH3H5vAiEAyD2bcHDVz3SBHG+WBKprC1nZc20LSVWMjvI91dzXQVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11966},"main":"index.js","type":"module","exports":{"./eslint":"./eslint/index.js","./prettier":"./prettier/index.json"},"gitHead":"48bd8d673917fd50d0e4b4a78c2604ad716fa50f","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"flakke","email":"flakke@blazenet.work"},"_npmVersion":"10.9.2","description":"Shared ESLint and Prettier configurations for Aerosium projects","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","@eslint/js":"^8.0.0","typescript":"^5.0.0","@eslint/eslintrc":"^3.0.0","eslint-config-next":"^14.0.0","eslint-plugin-react":"^7.0.0","eslint-plugin-import":"^2.0.0","eslint-plugin-unicorn":"^48.0.0","eslint-plugin-jsx-a11y":"^6.0.0","@next/eslint-plugin-next":"^14.0.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","eslint-import-resolver-typescript":"^3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/config_1.1.3_1743500001368_0.05995824580585074","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@aerosium/config","version":"1.1.4","keywords":["eslint-config","prettier-config","aerosium","nextjs","react"],"author":{"name":"Aerosium"},"license":"MIT","_id":"@aerosium/config@1.1.4","maintainers":[{"name":"flakke","email":"flakke@blazenet.work"}],"dist":{"shasum":"2b8e8a0ce24cbd6fd86ae671511b8fc532fa936a","tarball":"https://registry.npmjs.org/@aerosium/config/-/config-1.1.4.tgz","fileCount":4,"integrity":"sha512-K+tx4NZnmNKLFNsXyfQpG034iduagJNXzIqE3nqk0wyzH4IrEvV3bqbxfO4xXpXjB41e+eAM74Ia+xkqvIihZw==","signatures":[{"sig":"MEQCIAMNf//vqYyH3iyww6q0sCCDWLrlFdH6OcG6wQemY2SUAiAMhJl9vSGbndVYHDoUTUxiz2ygFU/WYDiOvC2Ghgc5mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11982},"main":"index.js","type":"module","exports":{"./eslint":"./eslint/index.js","./prettier":"./prettier/index.json"},"gitHead":"bfe59577ef9cbb59412c8593c82eb9d596f16a1d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"flakke","email":"flakke@blazenet.work"},"_npmVersion":"10.9.2","description":"Shared ESLint and Prettier configurations for Aerosium projects","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":">=8.0.0","prettier":">=3.0.0","@eslint/js":">=8.0.0","typescript":">=5.0.0","@eslint/eslintrc":">=3.0.0","eslint-config-next":">=14.0.0","eslint-plugin-react":">=7.0.0","eslint-plugin-import":">=2.0.0","eslint-plugin-unicorn":">=48.0.0","eslint-plugin-jsx-a11y":">=6.0.0","@next/eslint-plugin-next":">=14.0.0","@typescript-eslint/parser":">=6.0.0","eslint-plugin-react-hooks":">=4.0.0","@typescript-eslint/eslint-plugin":">=6.0.0","eslint-import-resolver-typescript":">=3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/config_1.1.4_1743500184717_0.7528399890180704","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@aerosium/config","version":"1.1.5","description":"Shared ESLint and Prettier configurations for Aerosium projects","main":"index.js","type":"module","exports":{"./eslint":"./eslint/index.js","./prettier":"./prettier/index.json"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["eslint-config","prettier-config","aerosium","nextjs","react"],"author":{"name":"Aerosium"},"license":"MIT","peerDependencies":{"@eslint/eslintrc":">=3.0.0","@eslint/js":">=8.0.0","@next/eslint-plugin-next":">=14.0.0","@typescript-eslint/eslint-plugin":">=6.0.0","@typescript-eslint/parser":">=6.0.0","eslint":">=8.0.0","eslint-config-next":">=14.0.0","eslint-import-resolver-typescript":">=3.6.0","eslint-plugin-import":">=2.0.0","eslint-plugin-jsx-a11y":">=6.0.0","eslint-plugin-react":">=7.0.0","eslint-plugin-react-hooks":">=4.0.0","eslint-plugin-unicorn":">=48.0.0","prettier":">=3.0.0","typescript":">=5.0.0"},"publishConfig":{"access":"public"},"_id":"@aerosium/config@1.1.5","gitHead":"af5152a6e9f3a9cd81652ddc2bbf9427d075bd5e","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-L6f20I3ZpWLCdAJ6eVAWmouaFzwj0KHh5bpKb/XXanNbJlMx6Wm0kv0lmLdr3QQDIU4VMec9Jo7U65QkG7bUFw==","shasum":"6f49013b8bbf186ae2c9ed3ad9496f5adce0c640","tarball":"https://registry.npmjs.org/@aerosium/config/-/config-1.1.5.tgz","fileCount":4,"unpackedSize":12037,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDXXLp/33abefg4zCndtL+Gw60x9C1/j392zWEJFwUdOAiEAliKeTKt+ymULTPVQywrMEGkfPJ6P3tgcoSrXyjAK6/4="}]},"_npmUser":{"name":"flakke","email":"flakke@blazenet.work"},"directories":{},"maintainers":[{"name":"flakke","email":"flakke@blazenet.work"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/config_1.1.5_1743500351112_0.28017792986015455"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-26T14:04:11.989Z","modified":"2025-04-01T09:39:11.495Z","1.0.0":"2025-03-26T14:04:12.244Z","1.1.0":"2025-04-01T08:59:34.595Z","1.1.1":"2025-04-01T09:04:51.856Z","1.1.2":"2025-04-01T09:09:16.754Z","1.1.3":"2025-04-01T09:33:21.532Z","1.1.4":"2025-04-01T09:36:24.897Z","1.1.5":"2025-04-01T09:39:11.312Z"},"author":{"name":"Aerosium"},"license":"MIT","keywords":["eslint-config","prettier-config","aerosium","nextjs","react"],"description":"Shared ESLint and Prettier configurations for Aerosium projects","maintainers":[{"name":"flakke","email":"flakke@blazenet.work"}],"readme":"# @aerosium/config\n\nModern ESLint and Prettier configuration for Next.js and React projects with TypeScript support. This package provides a ready-to-use set of rules for maintaining high code quality and consistent style across all projects.\n\n## Features\n\n### ✨ Key Benefits\n\n- **Ready-made Next.js Configuration** - optimized rules for working with Next.js 14+\n- **Modern Standards Support** - uses the new ESLint flat config structure\n- **TypeScript Out of the Box** - full TypeScript support with strict rules\n- **Performance Optimization** - rules for Core Web Vitals and optimization\n- **Accessibility (A11Y)** - built-in rules for ensuring accessibility\n- **Consistent Code Style** - Prettier integration for unified formatting\n- **Automatic Import Sorting** - maintaining order in imports\n- **File Naming** - rules for consistent file naming\n\n### 🎯 What's Included\n\n- Next.js and React rules\n- TypeScript configuration\n- Accessibility rules (jsx-a11y)\n- Import sorting\n- Prettier integration\n- Unicorn rules for modern JavaScript\n- Strict TypeScript rules\n\n## Installation\n\n```bash\n# Using yarn\nyarn add -D @aerosium/config\n\n# Install peer dependencies\nyarn add -D @eslint/eslintrc @eslint/js @next/eslint-plugin-next @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-unicorn prettier typescript eslint-config-next eslint-import-resolver-typescriptы\n```\n\n## Usage\n\n### ESLint Configuration\n\nCreate `eslint.config.mjs` in your project root:\n\n```javascript\nimport aerosiumConfig from '@aerosium/config/eslint'\n\nexport default aerosiumConfig\n```\n\n### Prettier Configuration\n\nCreate `.prettierrc` in your project root:\n\n```json\n\"@aerosium/config/prettier\"\n```\n\n### VS Code Settings\n\nAdd these settings to your VS Code workspace:\n\n```json\n{\n  \"editor.formatOnSave\": true,\n  \"editor.formatOnPaste\": true,\n  \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n  \"editor.codeActionsOnSave\": {\n    \"source.fixAll\": \"always\",\n    \"source.organizeImports\": \"explicit\",\n    \"source.fixAll.eslint\": \"always\"\n  },\n  \"prettier.arrowParens\": \"avoid\"\n}\n```\n\n## Benefits\n\n1. **Unified Code Style**\n   - Automatic formatting with Prettier\n   - Consistent rules across all projects\n   - Import and props sorting\n\n2. **Code Quality Improvement**\n   - Prevention of common mistakes\n   - Following React and Next.js best practices\n   - Strict typing with TypeScript\n\n3. **Performance**\n   - Core Web Vitals optimization rules\n   - Prevention of unnecessary re-renders\n   - Image and font optimization\n\n4. **Accessibility**\n   - Built-in a11y rules\n   - ARIA attributes validation\n   - Semantic validation\n\n5. **Modern Standards**\n   - Support for new ESLint flat config structure\n   - Compatibility with latest Next.js versions\n   - Rules for modern JavaScript\n\n## Limitations and Considerations\n\n1. **Strict Rules**\n   - Some rules might seem too strict\n   - Team adaptation time might be needed\n   - May need to disable some rules for legacy code\n\n2. **Dependencies**\n   - Large number of peer dependencies\n   - Need to maintain up-to-date versions\n   - Possible version conflicts in large projects\n\n3. **Performance**\n   - ESLint with many rules might work slower\n   - Might need to configure ignored files/folders\n   - ESLint cache recommended for large projects\n\n## Usage Recommendations\n\n1. **Gradual Implementation**\n   - Implement rules gradually in existing projects\n   - Use `eslint --fix` for automatic fixes\n   - Start with formatting, then add stricter rules\n\n2. **Project-specific Setup**\n   - Disable rules that don't fit your project\n   - Configure ignored files and folders\n   - Adapt configuration to project specifics\n\n3. **Process Optimization**\n   - Set up pre-commit hooks\n   - Use ESLint and Prettier in CI/CD\n   - Regularly update dependencies\n\n## License\n\nMIT\n","readmeFilename":"README.md"}