{"_id":"@alldev/eslint-config","_rev":"2-b1aba23758f3b9590ce3cb3572446961","name":"@alldev/eslint-config","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@alldev/eslint-config","version":"0.1.0","keywords":["eslint","eslintconfig","flat-config"],"license":"MIT","_id":"@alldev/eslint-config@0.1.0","maintainers":[{"name":"alldev","email":"info@alldev.co"}],"homepage":"https://github.com/ALeon-code/npm_packages/tree/main/eslint","bugs":{"url":"https://github.com/ALeon-code/npm_packages/issues"},"dist":{"shasum":"c13b5e100b0a60d5af5580aa9f2f44a1a0b5930d","tarball":"https://registry.npmjs.org/@alldev/eslint-config/-/eslint-config-0.1.0.tgz","fileCount":3,"integrity":"sha512-P5cMxjkuUxmwo9DMZUjvTHekf4NFQw9blDYLb8FGU34bMuFBhXp0zf38KrDhLSCQm+YKvlFfUes0GzIXnhPp8A==","signatures":[{"sig":"MEYCIQCZ/pmkw0cRUiAKu13A5TXr2C837hXsdRUhVIwlcPUTlAIhAJoTTaHvPIyrZDVxb94bDcZYz4oLHv5jrxXzsh0Wzvgn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6168},"main":"./index.js","type":"module","exports":{".":"./index.js"},"_npmUser":{"name":"alldev","email":"info@alldev.co"},"repository":{"url":"git+https://github.com/ALeon-code/npm_packages.git","type":"git","directory":"eslint"},"_npmVersion":"11.3.0","description":"Shared ESLint flat config: TypeScript, Airbnb, Stylistic, JSON, CSS","directories":{},"_nodeVersion":"24.2.0","dependencies":{"globals":"^17.4.0","@eslint/css":"^1.1.0","@eslint/json":"^1.2.0","typescript-eslint":"^8.58.0","@stylistic/eslint-plugin":"^5.10.0","eslint-flat-config-airbnb":"^2.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^9.0.0","typescript":">=4.8.4 <7"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.1.0_1775007040480_0.5672754357432004","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@alldev/eslint-config","version":"0.1.1","description":"Shared ESLint flat config: TypeScript, Airbnb, Stylistic, JSON, CSS","type":"module","main":"./index.js","exports":{".":"./index.js"},"keywords":["eslint","eslintconfig","flat-config"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ALeon-code/npm_packages.git","directory":"eslint"},"bugs":{"url":"https://github.com/ALeon-code/npm_packages/issues"},"homepage":"https://github.com/ALeon-code/npm_packages/tree/main/eslint","peerDependencies":{"eslint":"^9.0.0","typescript":">=4.8.4 <7"},"dependencies":{"@eslint/css":"^1.1.0","@eslint/json":"^1.2.0","@stylistic/eslint-plugin":"^5.10.0","eslint-flat-config-airbnb":"^2.0.5","globals":"^17.4.0","typescript-eslint":"^8.58.0"},"publishConfig":{"access":"public"},"gitHead":"707e5763a9102d86edfb02205d07b5427c72e314","_id":"@alldev/eslint-config@0.1.1","_nodeVersion":"22.22.1","_npmVersion":"11.12.1","dist":{"integrity":"sha512-C5MvFRd/h9fMoaTXCINhEmFPxaZkQAF2chZF28A0jJVwgFWeaoVYbqaRRKn4hkDMo9tn/dRaWx3CilwNtr9HQA==","shasum":"c69fa4db31a97999370aa8ea7d4626d268b1e7bd","tarball":"https://registry.npmjs.org/@alldev/eslint-config/-/eslint-config-0.1.1.tgz","fileCount":3,"unpackedSize":6168,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCmvqFhRhJ7oypaQYTWp7JP98VrIOryCtYY/0h3o9jR1QIhAK0n+pm6Mdk3wE3Rk7n9z+J9c+nCSOlEkQWoPCEmqwAm"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05d49218-d2c7-431f-8bea-8342899cadbc"}},"directories":{},"maintainers":[{"name":"alldev","email":"info@alldev.co"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_0.1.1_1775008641328_0.6141876030364906"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-01T01:30:40.358Z","modified":"2026-04-01T01:57:21.575Z","0.1.0":"2026-04-01T01:30:40.651Z","0.1.1":"2026-04-01T01:57:21.474Z"},"bugs":{"url":"https://github.com/ALeon-code/npm_packages/issues"},"license":"MIT","homepage":"https://github.com/ALeon-code/npm_packages/tree/main/eslint","keywords":["eslint","eslintconfig","flat-config"],"repository":{"type":"git","url":"git+https://github.com/ALeon-code/npm_packages.git","directory":"eslint"},"description":"Shared ESLint flat config: TypeScript, Airbnb, Stylistic, JSON, CSS","maintainers":[{"name":"alldev","email":"info@alldev.co"}],"readme":"# `@alldev/eslint-config`\n\nShared [ESLint flat config](https://eslint.org/docs/latest/use/configure/configuration-files) for Alldev projects: TypeScript (typescript-eslint recommended), Airbnb (flat), Stylistic, JSON, and CSS.\n\n## Requirements\n\n- **Node.js** 18+ (or whatever your apps already use).\n- **ESLint 9** (`eslint@^9`).\n- **TypeScript** as a dev dependency (`typescript` satisfies the `typescript-eslint` toolchain, even if the repo is mostly JavaScript).\n\n## Install\n\nIn the project root (app, package, or worker):\n\n```bash\npnpm add -D eslint typescript @alldev/eslint-config\n```\n\n```bash\nnpm install --save-dev eslint typescript @alldev/eslint-config\n```\n\n```bash\nyarn add -D eslint typescript @alldev/eslint-config\n```\n\n`eslint-flat-config-airbnb` already pulls in plugins such as React, React Hooks, import, and jsx-a11y; you do **not** need to duplicate those in each repo unless you want extra plugins locally.\n\n## Use in a project\n\nAdd **`eslint.config.mjs`** (or **`eslint.config.js`** if the project is ESM-ready) at the **repository root** of that project—same level as its `package.json`. Do not copy rule lists from this package; import the preset and only add **local** overrides when needed.\n\n### Default (use shared rules as-is)\n\n```javascript\n// eslint.config.mjs\nimport eslintconfig from \"@alldev/eslint-config\";\n\nexport default eslintconfig;\n```\n\nThe package already calls `defineConfig`, so the default export is ready for ESLint.\n\n### With local overrides\n\n```javascript\n// eslint.config.mjs\nimport eslintconfig from \"@alldev/eslint-config\";\n\nexport default [\n  ...eslintconfig,\n  {\n    files: [\"**/*.ts\", \"**/*.tsx\"],\n    rules: {\n      // project-specific only\n    },\n  },\n];\n```\n\nIf your default export is a single config object/array from `defineConfig`, spreading works the same as with any flat-config array.\n\n## Scripts\n\nAdd something like:\n\n```json\n{\n  \"scripts\": {\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  }\n}\n```\n\nPoint ESLint at the right roots if you use monorepos (`eslint packages/foo` or `eslint .` from each package root with its own `eslint.config.mjs`).\n\n## What this config covers\n\n- **Ignores**: `node_modules`, `dist`, `build`, `.next`, `.wrangler`, `coverage`.\n- **JS/TS/JSX/TSX**: `typescript-eslint` recommended + Airbnb flat + shared globals (browser + node) + Stylistic and import/React-related tweaks (see `index.js` in this repo).\n- **JSON / JSONC / JSON5**: `@eslint/json` recommended.\n- **CSS**: `@eslint/css` recommended.\n\n## Updating rules\n\nChange rules in **`index.js`** in this package, bump **`version`** in `package.json`, publish, then bump **`@alldev/eslint-config`** in each consumer and reinstall.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}