{"_id":"@derviloper/eslint-config","_rev":"6-0ba528eee462c41a720ff8c0fc61797d","name":"@derviloper/eslint-config","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.1":{"name":"@derviloper/eslint-config","version":"1.0.1","author":{"name":"Daniel da Silva"},"license":"MIT","_id":"@derviloper/eslint-config@1.0.1","maintainers":[{"name":"derviloper","email":"derviloper@gmx.de"}],"dist":{"shasum":"30079081ef23d4aaeb39a9e78139e6fb6e8cddae","tarball":"https://registry.npmjs.org/@derviloper/eslint-config/-/eslint-config-1.0.1.tgz","fileCount":4,"integrity":"sha512-JdiQ9WE1q5+sPf1ktAS4qjQsx97tFsMF9a8NKiKkeqbZkkZko+x9tBDoFjszU/qMtrUDuCFkxnzVLhBk6VHBww==","signatures":[{"sig":"MEQCIAwk6zum4w3YCdMq7AT7dkn7Go6NzZq7Jz0T+klAQZY6AiB2IEu6947/lfDwEMx6Bhx4Arvx0FLlrKTYHaVzZs8VBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5814},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"178e63ea2f0f4d5d6f23b2f9f11628bfe4795cbc","scripts":{"dev":"concurrently -k -c auto npm:dev:*","lint":"eslint","build":"tsdown","types":"tsc --build","format":"prettier --check .","release":"semantic-release","lint:fix":"eslint --fix","dev:build":"tsdown -w","format:fix":"prettier --write .","dev:inspect":"CHOKIDAR_USEPOLLING=1 eslint-config-inspector"},"_npmUser":{"name":"derviloper","email":"derviloper@gmx.de"},"_npmVersion":"10.9.4","directories":{},"_nodeVersion":"22.20.0","dependencies":{"eslint":"^9.37.0","@eslint/js":"^9.37.0","@eslint/compat":"^1.4.0","eslint-plugin-vue":"^10.5.0","typescript-eslint":"^8.46.0","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-perfectionist":"^4.15.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.15.6","prettier":"^3.6.2","typescript":"^5.9.3","@types/node":"^24.7.2","concurrently":"^9.2.1","semantic-release":"^24.2.9","@semantic-release/exec":"^7.1.0","@eslint/config-inspector":"^1.3.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.1_1760261006503_0.7960624424188145","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@derviloper/eslint-config","version":"1.0.2","author":{"name":"Daniel da Silva"},"license":"MIT","_id":"@derviloper/eslint-config@1.0.2","maintainers":[{"name":"derviloper","email":"derviloper@gmx.de"}],"homepage":"https://github.com/Derviloper/eslint-config#readme","bugs":{"url":"https://github.com/Derviloper/eslint-config/issues"},"dist":{"shasum":"bde5e49e70df826a64739ea4e4733256ce68355b","tarball":"https://registry.npmjs.org/@derviloper/eslint-config/-/eslint-config-1.0.2.tgz","fileCount":5,"integrity":"sha512-mnqZBdGXaBneOUb8sce//BlsO/NeF9Kk4c6vSSS0GJ8tOnFaQsmdOWE8VKYDZE/ZeKf21DptrMr4aOgLeaEEiw==","signatures":[{"sig":"MEUCIQD76hf8NhpqB5ifceQBVfvRB1hHqUakO8WsU3YxCRVM2gIgQtv7s4toGOWlPlKGLjWUMBFH+4Gghpy5kAwR14s+zSE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@derviloper%2feslint-config@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9509},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"779bdfe22e2ddb7765b9ea042f6d7e502f94d750","scripts":{"dev":"concurrently -k -c auto npm:dev:*","lint":"eslint","build":"tsdown","types":"tsc --build","format":"prettier --check .","release":"semantic-release","lint:fix":"eslint --fix","dev:build":"tsdown -w","format:fix":"prettier --write .","dev:inspect":"CHOKIDAR_USEPOLLING=1 eslint-config-inspector"},"_npmUser":{"name":"derviloper","email":"derviloper@gmx.de"},"repository":{"url":"git+https://github.com/Derviloper/eslint-config.git","type":"git"},"_npmVersion":"10.9.4","description":"A comprehensive ESLint configuration for TypeScript and Vue.js projects with opinionated rules for code quality and consistency.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@eslint/js":"^9.37.0","@eslint/compat":"^1.4.0","eslint-plugin-vue":"^10.5.0","typescript-eslint":"^8.46.0","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-perfectionist":"^4.15.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.15.6","prettier":"^3.6.2","typescript":"^5.9.3","@types/node":"^24.7.2","concurrently":"^9.2.1","semantic-release":"^24.2.9","@semantic-release/exec":"^7.1.0","@eslint/config-inspector":"^1.3.0","conventional-changelog-conventionalcommits":"^9.1.0"},"peerDependencies":{"eslint":"^9.37.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.2_1760331437062_0.216450472922749","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@derviloper/eslint-config","author":{"name":"Daniel da Silva"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Derviloper/eslint-config.git"},"publishConfig":{"access":"public","provenance":true},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"concurrently -k -c auto npm:dev:*","dev:build":"tsdown -w","dev:inspect":"CHOKIDAR_USEPOLLING=1 eslint-config-inspector","build":"tsdown","release":"semantic-release","types":"tsc --build","format":"prettier --check .","format:fix":"prettier --write .","lint":"eslint","lint:fix":"eslint --fix"},"dependencies":{"@eslint/compat":"^1.4.0","@eslint/js":"^9.37.0","eslint-config-prettier":"^10.1.8","eslint-plugin-perfectionist":"^4.15.1","eslint-plugin-unicorn":"^61.0.2","eslint-plugin-vue":"^10.5.0","typescript-eslint":"^8.46.0"},"peerDependencies":{"eslint":"^9.37.0"},"devDependencies":{"@eslint/config-inspector":"^1.3.0","@semantic-release/exec":"^7.1.0","@types/node":"^24.7.2","concurrently":"^9.2.1","conventional-changelog-conventionalcommits":"^9.1.0","prettier":"^3.6.2","semantic-release":"^24.2.9","tsdown":"^0.15.6","typescript":"^5.9.3"},"version":"1.0.3","_id":"@derviloper/eslint-config@1.0.3","gitHead":"09694ccfdb20e08695a21ca9ed0e42e04cb790aa","description":"A comprehensive ESLint configuration for TypeScript and Vue.js projects with opinionated rules for code quality and consistency.","bugs":{"url":"https://github.com/Derviloper/eslint-config/issues"},"homepage":"https://github.com/Derviloper/eslint-config#readme","_nodeVersion":"22.20.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-Kf4fDqkhuEMa2mcig/ylvTbUNBHV81IIhZ57uR0vLEutYtjfQzlHbNbqdf/Rj0AHXb8GkqlxYO2PbOAaEwqZzA==","shasum":"23017afaaf050861c5a8ffdbabb8a4eadcc4a4d6","tarball":"https://registry.npmjs.org/@derviloper/eslint-config/-/eslint-config-1.0.3.tgz","fileCount":5,"unpackedSize":9617,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@derviloper%2feslint-config@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCY6rDjV43BTKIJdXZzx9G/UfPgy54+yKOffOn78ko/egIgLcyT+ozDwOzMtOYRd2vO46wOH68A4QHnjYx1e0FQT60="}]},"_npmUser":{"name":"derviloper","email":"derviloper@gmx.de"},"directories":{},"maintainers":[{"name":"derviloper","email":"derviloper@gmx.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_1.0.3_1760333834551_0.1941064948797635"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-12T09:23:26.402Z","modified":"2025-10-13T05:37:15.125Z","1.0.0":"2025-10-12T09:00:14.303Z","1.0.1":"2025-10-12T09:23:26.741Z","1.0.2":"2025-10-13T04:57:17.249Z","1.0.3":"2025-10-13T05:37:14.761Z"},"bugs":{"url":"https://github.com/Derviloper/eslint-config/issues"},"author":{"name":"Daniel da Silva"},"license":"MIT","homepage":"https://github.com/Derviloper/eslint-config#readme","repository":{"type":"git","url":"git+https://github.com/Derviloper/eslint-config.git"},"description":"A comprehensive ESLint configuration for TypeScript and Vue.js projects with opinionated rules for code quality and consistency.","maintainers":[{"name":"derviloper","email":"derviloper@gmx.de"}],"readme":"# @derviloper/eslint-config\n\nA comprehensive ESLint configuration for TypeScript and Vue.js projects with opinionated rules for code quality and consistency.\n\n## Features\n\n- ✨ **TypeScript Support** - Strict TypeScript linting with [`typescript-eslint`](https://typescript-eslint.io/)\n- 🎯 **Vue.js Ready** - Optional Vue.js configuration with SFC support\n- 🔧 **Opinionated Rules** - Curated set of rules for consistent code style\n- 📦 **Plugin Integration** - Includes popular plugins:\n  - [`eslint-config-prettier`](https://github.com/prettier/eslint-config-prettier) - Prettier compatibility\n  - [`eslint-plugin-perfectionist`](https://perfectionist.dev/) - Import and object sorting\n  - [`eslint-plugin-unicorn`](https://github.com/sindresorhus/eslint-plugin-unicorn) - Additional JavaScript rules\n  - [`eslint-plugin-vue`](https://eslint.vuejs.org/) - Vue.js specific linting\n- 🚀 **Modern ESLint** - Uses the new flat config format (ESLint 9+)\n- 📁 **Gitignore Integration** - Automatically respects your `.gitignore` file\n\n## Installation\n\n```bash\nnpm install --save-dev @derviloper/eslint-config\n```\n\n### Peer Dependencies\n\nMake sure you have ESLint installed:\n\n```bash\nnpm install --save-dev eslint\n```\n\n## Usage\n\n### TypeScript Projects\n\nCreate an `eslint.config.js` file in your project root:\n\n```javascript\nimport { config } from \"@derviloper/eslint-config\";\n\nexport default config(\"typescript\");\n```\n\n### Vue.js Projects\n\nFor Vue.js projects with TypeScript:\n\n```javascript\nimport { config } from \"@derviloper/eslint-config\";\n\nexport default config(\"vue\");\n```\n\n### Custom Configuration\n\nYou can extend the configuration with your own rules:\n\n```javascript\nimport { config } from \"@derviloper/eslint-config\";\n\nexport default [\n  ...config(\"typescript\"),\n  {\n    rules: {\n      // Your custom rules here\n      \"no-console\": \"warn\",\n    },\n  },\n];\n```\n\n## What's Included\n\n### TypeScript Configuration\n\n- **ESLint Recommended** - Base ESLint rules\n- **TypeScript ESLint** - Strict type checking and stylistic rules\n- **Perfectionist** - Automatic sorting of imports, objects, and types\n- **Unicorn** - Modern JavaScript best practices\n- **Prettier Integration** - Disables conflicting formatting rules\n\n### Vue.js Configuration (when using `\"vue\"`)\n\nEverything from TypeScript configuration plus:\n\n- **Vue Recommended** - Vue.js specific linting rules\n- **SFC Support** - Single File Component linting\n- **Template Linting** - Vue template specific rules\n- **Nuxt.js Ready** - Special filename casing for Nuxt.js projects\n\n### Key Rules Highlights\n\n- **Consistent Type Definitions** - Enforces `type` over `interface`\n- **Import Sorting** - Automatically sorts imports alphabetically\n- **Object Sorting** - Sorts object properties with `id` and `name` first\n- **Filename Casing** - Enforces camelCase for TypeScript files, PascalCase for Vue components\n- **No Unused Variables** - Strict unused variable detection with underscore prefix exception\n- **Function Style** - Enforces function declarations over expressions\n\n## Development Commands\n\n```bash\n# Development with watch mode\nnpm run dev\n\n# Build the package\nnpm run build\n\n# Lint the codebase\nnpm run lint\n\n# Format code\nnpm run format\n\n# Type checking\nnpm run types\n```\n\n## Requirements\n\n- ESLint 9.0.0 or higher\n- Node.js 18.0.0 or higher\n- TypeScript 5.0.0 or higher (for TypeScript projects)\n\n## License\n\nMIT © [Daniel da Silva](https://github.com/Derviloper)\n\n## Contributing\n\nIssues and pull requests are welcome! Please check the [repository](https://github.com/Derviloper/eslint-config) for more information.\n","readmeFilename":"README.md"}