{"_id":"@alborz-taiv/taiv-eslint-config","_rev":"3-debf7d5a78b101f8bec795feb41609a5","name":"@alborz-taiv/taiv-eslint-config","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@alborz-taiv/taiv-eslint-config","version":"1.0.0","author":{"name":"alborz-taiv"},"_id":"@alborz-taiv/taiv-eslint-config@1.0.0","maintainers":[{"name":"alborz-taiv","email":"alborz@taiv.tv"}],"dist":{"shasum":"4621db3b8257a39d06cb7574e4dcfc8f9286b067","tarball":"https://registry.npmjs.org/@alborz-taiv/taiv-eslint-config/-/taiv-eslint-config-1.0.0.tgz","fileCount":6,"integrity":"sha512-07QflwBBtyZUQsCei8TVW2uClYOFv22tiQ+jJtqlEow9MwTmL3Z+aWvGl+lKoxPwfFvPa5CWgzJXczrZFI2xuA==","signatures":[{"sig":"MEUCIQDzzykO3AqNy15h0clkao0nMi45SfcB7ql8UdrzTd7gzQIgLAXk73dmvpHkCSDsS9Sod6mhiVG69AFj0psnZPOoayM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6346},"main":"index.js","type":"module","engines":{"node":"20"},"exports":{".":"./index.js","./base":"./base.js","./node":"./node.js","./react":"./react.js"},"gitHead":"3126aaed828cec790dcd1abc3b73511e5f30b068","_npmUser":{"name":"alborz-taiv","email":"alborz@taiv.tv"},"_npmVersion":"11.5.1","description":"Taiv's shared ESLint configuration for consistent code formatting and linting across all projects.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","prettier":"^3.6.2","typescript":"^4.5.3","typescript-eslint":"^8.38.0","eslint-plugin-react":"^7.37.5","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^9.1.2","eslint-plugin-prettier":"^5.5.3","eslint-import-resolver-typescript":"^4.4.4"},"peerDependencies":{"eslint":"^8.57.1","prettier":"^3.6.2","typescript":"^4.5.3"},"_npmOperationalInternal":{"tmp":"tmp/taiv-eslint-config_1.0.0_1753911238512_0.9518639805029214","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@alborz-taiv/taiv-eslint-config","version":"1.1.0","author":{"name":"alborz-taiv"},"_id":"@alborz-taiv/taiv-eslint-config@1.1.0","maintainers":[{"name":"alborz-taiv","email":"alborz@taiv.tv"}],"dist":{"shasum":"c844465586539e1bc7c3170aea15efb7ac5de8c0","tarball":"https://registry.npmjs.org/@alborz-taiv/taiv-eslint-config/-/taiv-eslint-config-1.1.0.tgz","fileCount":6,"integrity":"sha512-MZSOqp52pVJW8bofzXu6e2io4ywKAkXrtiQ2WdwqmfqLV90le/BDaQLV+muDSamD/rC8YepJFyco78IQF8tS7Q==","signatures":[{"sig":"MEUCIFYWqz7AkXdu/thBv3Ej75XQVGZpB4ihDTggg+BPstovAiEAgyCaAGNyw9Yl+0M9KjyrerC9CFoCtWVHCjin9hy4TyA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6425},"main":"index.js","type":"module","engines":{"node":"20"},"exports":{".":"./index.js","./base":"./base.js","./node":"./node.js","./react":"./react.js"},"gitHead":"e172245f3b4061d071b2efcf6bb5b23727042e22","_npmUser":{"name":"alborz-taiv","email":"alborz@taiv.tv"},"_npmVersion":"11.5.1","description":"Taiv's shared ESLint configuration for consistent code formatting and linting across all projects.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"globals":"^15.0.0","@eslint/js":"^9.32.0","typescript-eslint":"^8.38.0","eslint-plugin-react":"^7.37.5","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^9.1.2","eslint-plugin-prettier":"^5.5.3","eslint-import-resolver-typescript":"^4.4.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","prettier":"^3.6.2","typescript":"^4.5.3"},"peerDependencies":{"eslint":"^8.57.1","prettier":"^3.6.2","typescript":"^4.5.3"},"_npmOperationalInternal":{"tmp":"tmp/taiv-eslint-config_1.1.0_1753914376431_0.7472643059953024","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@alborz-taiv/taiv-eslint-config","version":"1.2.0","type":"module","description":"Taiv's shared ESLint configuration for consistent code formatting and linting across all projects.","author":{"name":"alborz-taiv"},"main":"index.js","exports":{".":"./index.js","./react":"./react.js","./base":"./base.js","./node":"./node.js"},"engines":{"node":"20"},"dependencies":{"@eslint/js":"^9.32.0","eslint-config-prettier":"^9.1.2","eslint-import-resolver-typescript":"^4.4.4","eslint-plugin-import":"^2.32.0","eslint-plugin-prettier":"^5.5.3","eslint-plugin-react":"^7.37.5","typescript-eslint":"^8.38.0","globals":"^15.0.0"},"peerDependencies":{"eslint":"^8.57.1","prettier":"^3.6.2","typescript":">=4.5.3"},"devDependencies":{"eslint":"^8.57.1","prettier":"^3.6.2","typescript":">=4.5.3"},"_id":"@alborz-taiv/taiv-eslint-config@1.2.0","gitHead":"5908dbd18dcc987f6fd5f582aed324c23a4fa672","_nodeVersion":"20.19.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-zpf9/90byuZI/BDx5Tbl4NlaIIvVnUeE8dfVW9PW6aQm0QJCd2Nn7Qb3M1MGPFEpsG50GAEAMRnPasCJsKxGeQ==","shasum":"ac72fb7c7d0e03fc617d566b30add21706e1fdd4","tarball":"https://registry.npmjs.org/@alborz-taiv/taiv-eslint-config/-/taiv-eslint-config-1.2.0.tgz","fileCount":6,"unpackedSize":6427,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCGfGozxg4tyKD+rIZ29p7c11tJF1oGXZ/gxrHD2AFQ3QIgD49vJQDsj29NJLTuUDDG9OCaZrz9OcjQtUXQ5lDj12E="}]},"_npmUser":{"name":"alborz-taiv","email":"alborz@taiv.tv"},"directories":{},"maintainers":[{"name":"alborz-taiv","email":"alborz@taiv.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/taiv-eslint-config_1.2.0_1753914857240_0.27256347436068484"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-30T21:33:58.421Z","modified":"2025-07-30T22:34:17.610Z","1.0.0":"2025-07-30T21:33:58.700Z","1.1.0":"2025-07-30T22:26:16.596Z","1.2.0":"2025-07-30T22:34:17.450Z"},"author":{"name":"alborz-taiv"},"description":"Taiv's shared ESLint configuration for consistent code formatting and linting across all projects.","maintainers":[{"name":"alborz-taiv","email":"alborz@taiv.tv"}],"readme":"# @alborz-taiv/taiv-eslint-config\n\nTaiv's shared ESLint configuration for consistent code quality and linting across all projects.\n\n## Installation\n\n```bash\nnpm install --save-dev @alborz-taiv/taiv-eslint-config\n```\n\n## Usage\n\nThis package uses ESLint's new flat config format. Import the config for your stack into an eslint.config.mjs file and extend as needed.\n\n```javascript\n// eslint.config.mjs\nimport { reactConfig } from '@alborz-taiv/taiv-eslint-config';\n\nexport default [...reactConfig];\n```\n\n## Available Configs\n\n- **`base`** - Base TypeScript configuration.\n- **`react`** - React configuration for web apps.\n- **`node`** - Node.js configuration for servers and backends.\n\n## Extending Configurations\n\nYou can extend any configuration by spreading it and adding your own rules:\n\n```javascript\n// eslint.config.mjs\nimport { reactConfig } from '@alborz-taiv/taiv-eslint-config';\n\nexport default [\n  ...reactConfig,\n  {\n    rules: {\n      // Your custom rules here\n      'no-console': 'off',\n    },\n  },\n  {\n    ignores: ['**/dist/**/*', '**/build/**/*'],\n  },\n];\n```\n\n## Prettier Configuration\n\nThis package includes linting with Prettier. It will lint based off of our formatting rules:\n\n```json\n{\n  \"tabWidth\": 2,\n  \"printWidth\": 120,\n  \"semi\": true,\n  \"singleQuote\": true,\n  \"arrowParens\": \"always\",\n  \"trailingComma\": \"es5\"\n}\n\n```\n\n## Scripts\n\nAdd these scripts to your `package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"lint\": \"npx eslint .\",\n    \"lint:fix\": \"npx eslint . --fix\",\n    \"format\": \"npx prettier --write .\",\n    \"format:check\": \"npx prettier --check .\",\n  }\n}\n```\n\n## Requirements\n\nThe following are required as dev dependencies for this package to be used.\n\n- Node.js 20+\n- ESLint 8.57.1+\n- TypeScript 4.5.3+\n- Prettier 3.6.2+\n\n## Plugins\n\nThis package uses the following eslint plugins/configs. Peers do NOT require these packages installed, but this package does rely on them.\n\n- eslint-config-prettier\n- eslint-import-resolver-typescript\n- eslint-plugin-import\n- eslint-plugin-react\n- typescript-eslint\n\n## Development\n\n### Local Testing\n\nYou can use npm link to test changes if you are developing within this repo.\n\n```bash\n# In the config package (this one)\nnpm link\n\n# In your project, i.e., the web app\nnpm link @alborz-taiv/taiv-eslint-config\n```\n\n### Publishing Updates\nDo \nWhen you are ready to make changes, do a version bump and publish it. Then update any projects that use this package.\n\n```bash\nnpm version patch  # or minor/major\nnpm publish\n```\n","readmeFilename":"README.md"}