{"_id":"@caredevi-suyog/eslint-config","_rev":"3-d68b027765b47b625400c4290ccf80ee","name":"@caredevi-suyog/eslint-config","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@caredevi-suyog/eslint-config","version":"1.0.0","_id":"@caredevi-suyog/eslint-config@1.0.0","maintainers":[{"name":"caredevi-suyog","email":"suyog.satyal@caredevi.com"}],"dist":{"shasum":"d9ff04bb24aa7636bd158e221e1ea2d155915b82","tarball":"https://registry.npmjs.org/@caredevi-suyog/eslint-config/-/eslint-config-1.0.0.tgz","fileCount":8,"integrity":"sha512-S6D0AkIGuUrwTAWL2+k+VYITJkTw0xw3iAro6jd22M52nefyU0ip0lrzHGXk1R9XwAh+jrcqYvjL1en2PrdZjg==","signatures":[{"sig":"MEYCIQDaeHcHbQP8OVhj0o9THJzM/uH+F5kzfn7fw48EK9VdRAIhAIKggsYoFwQjeCBhsOxvJZlui7DOP8iu6Kvwowzqm9lx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13712},"main":"index.js","type":"module","exports":{".":"./index.js","./next":"./next.js","./node":"./node.js","./react":"./react.js","./prettier":"./prettier.config.js","./reactnative":"./reactnative.js"},"gitHead":"9e29755eb8d6bdcfaf75337785b4109f54495b1e","_npmUser":{"name":"caredevi-suyog","email":"suyog.satyal@caredevi.com"},"_npmVersion":"11.6.2","description":"Shared ESLint flat configuration (ESLint v9+) for CareDevi projects.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@eslint/js":"^9.39.2","typescript-eslint":"^8.56.0","eslint-plugin-next":"^0.0.0","eslint-plugin-react":"^7.37.5","eslint-plugin-import":"^2.32.0","@next/eslint-plugin-next":"^16.1.6","@typescript-eslint/parser":"^8.55.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-native":"^5.0.0","eslint-plugin-unused-imports":"^4.4.1","@typescript-eslint/eslint-plugin":"^8.55.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.1","eslint-config-expo":"^10.0.0","eslint-define-config":"^2.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5"},"peerDependencies":{"eslint":"^9.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.0_1772269354519_0.06366245297612094","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@caredevi-suyog/eslint-config","version":"1.0.2","_id":"@caredevi-suyog/eslint-config@1.0.2","maintainers":[{"name":"caredevi-suyog","email":"suyog.satyal@caredevi.com"}],"dist":{"shasum":"6aa186d7924008394c18d4c0ed3a396d9a840ed3","tarball":"https://registry.npmjs.org/@caredevi-suyog/eslint-config/-/eslint-config-1.0.2.tgz","fileCount":9,"integrity":"sha512-oFrh8szM7IPlRFe0es7Kf7rrpxLQ70v3nlsXRpCEvpJBkF8jMDp0eppuwxXV70K4DzSuFYiotIfQH2OngaOUvw==","signatures":[{"sig":"MEUCIQDY/AZ4ltBhpH2lK/FNCuA/VdiORyHqM460UdHajRBWeAIgEECJNxiMnxZUkYxSeZjTcpVIHsLrM94jjFHKGJsw7XM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16440},"main":"index.js","type":"module","exports":{".":"./index.js","./next":"./next.js","./node":"./node.js","./react":"./react.js","./prettier":"./prettier.config.js","./reactnative":"./reactnative.js"},"gitHead":"69c01f43e7dd6cd042e7f4f52419da5715dbb089","_npmUser":{"name":"caredevi-suyog","email":"suyog.satyal@caredevi.com"},"_npmVersion":"11.6.2","description":"Shared ESLint flat configuration (ESLint v9+) for CareDevi projects.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@eslint/js":"^9.39.2","typescript-eslint":"^8.56.0","eslint-plugin-next":"^0.0.0","eslint-plugin-react":"^7.37.5","eslint-plugin-import":"^2.32.0","@next/eslint-plugin-next":"^16.1.6","@typescript-eslint/parser":"^8.55.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-native":"^5.0.0","eslint-plugin-unused-imports":"^4.4.1","@typescript-eslint/eslint-plugin":"^8.55.0"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^9.0.0","prettier":"^3.0.0","typescript":"^5.0.0","eslint-config-expo":"^10.0.0","eslint-config-prettier":"^10.0.0","eslint-plugin-prettier":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.2_1772544981985_0.9281391296974564","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@caredevi-suyog/eslint-config","version":"1.0.3","type":"module","main":"index.js","exports":{".":"./index.js","./node":"./node.js","./react":"./react.js","./next":"./next.js","./prettier":"./prettier.config.js","./reactnative":"./reactnative.js"},"peerDependencies":{"eslint":"^9.0.0","typescript":"^5.0.0","eslint-config-prettier":"^10.0.0","eslint-plugin-prettier":"^5.0.0","eslint-config-expo":"^10.0.0","prettier":"^3.0.0"},"dependencies":{"@eslint/js":"^9.39.2","@next/eslint-plugin-next":"^16.1.6","@typescript-eslint/eslint-plugin":"^8.55.0","@typescript-eslint/parser":"^8.55.0","eslint-plugin-import":"^2.32.0","eslint-plugin-next":"^0.0.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-native":"^5.0.0","eslint-plugin-unused-imports":"^4.4.1","typescript-eslint":"^8.56.0"},"gitHead":"034dfb4685a3ebea3a8054c1385e6358ffab16ca","_id":"@caredevi-suyog/eslint-config@1.0.3","description":"Shared ESLint flat configuration (ESLint v9+) for CareDevi projects.","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-2Yc7zSdLPsI0ZEYq/0KFqse6X5mqu3ARLHyi8Qqyzr9jNRd56knyxCoGEqpmeKu96k8nHDF0XGAVNzxxhaiEKg==","shasum":"bec9022b35c420bd9a3f798a8183a36f6dcec2cc","tarball":"https://registry.npmjs.org/@caredevi-suyog/eslint-config/-/eslint-config-1.0.3.tgz","fileCount":9,"unpackedSize":17123,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFSIs+OvLt80SO/wvvC1898TMu4S4hbNTxhHMSFUC5Q5AiBf32b3fPFcoGxDL/zThiCC8gmmGj0dX3KOviC22/tXMA=="}]},"_npmUser":{"name":"caredevi-suyog","email":"suyog.satyal@caredevi.com"},"directories":{},"maintainers":[{"name":"caredevi-suyog","email":"suyog.satyal@caredevi.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_1.0.3_1772545152865_0.7702741679088994"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-28T09:02:34.447Z","modified":"2026-03-03T13:39:13.177Z","1.0.0":"2026-02-28T09:02:34.673Z","1.0.2":"2026-03-03T13:36:22.133Z","1.0.3":"2026-03-03T13:39:13.067Z"},"description":"Shared ESLint flat configuration (ESLint v9+) for CareDevi projects.","maintainers":[{"name":"caredevi-suyog","email":"suyog.satyal@caredevi.com"}],"readme":"\n# @caredevi/eslint-config\n\nShared ESLint flat configuration (ESLint v9+) for CareDevi projects.\n\n## Supported Environments\n\n- JavaScript / TypeScript (general base)\n- React (web)\n- Next.js\n- React Native (Expo)\n- Node.js / backend\n\n> **Note:** This package is now published to npm: [@caredevi-suyog/eslint-config](https://www.npmjs.com/package/@caredevi-suyog/eslint-config)\n> \n> To install in your JavaScript/TypeScript project, simply run:\n> \n> ```bash\n> npm install @caredevi-suyog/eslint-config --save-dev\n> ```\n\n## Table of Contents\n\n- [@caredevi/eslint-config](#caredevieslint-config)\n  - [Supported Environments](#supported-environments)\n  - [Table of Contents](#table-of-contents)\n  - [Features](#features)\n  - [Current Status](#current-status)\n  - [Installation](#installation)\n  - [Entry Points](#entry-points)\n  - [Usage Examples](#usage-examples)\n    - [React project](#react-project)\n    - [React Native project (MyCaredevi)](#react-native-project-mycaredevi)\n    - [Next.js project (EMR/RPM)](#nextjs-project-emrrpm)\n    - [Node.js / Backend project (Caredevi Backend)](#nodejs--backend-project-caredevi-backend)\n  - [Recommended Scripts](#recommended-scripts)\n  - [VS Code Integration](#vs-code-integration)\n  - [Development \\& Contributing](#development--contributing)\n  - [Planned Improvements](#planned-improvements)\n  - [Publishing \\& Updating the npm Package](#publishing--updating-the-npm-package)\n    - [1. Generate a Fine-Tuned npm Access Token](#1-generate-a-fine-tuned-npm-access-token)\n    - [2. Add the Token to `.npmrc`](#2-add-the-token-to-npmrc)\n    - [3. Login to npm (if needed)](#3-login-to-npm-if-needed)\n    - [4. Bump the Version](#4-bump-the-version)\n    - [5. Publish the Package](#5-publish-the-package)\n  - [Versions](#versions)\n    - [1.0.3](#103)\n    - [1.0.2](#102)\n    - [1.0.1](#101)\n    - [1.0.0](#100)\n  - [License](#license)\n\n---\n\n## Features\n\n- ESLint 9+ flat config\n- Prettier integration (formatting via `eslint --fix`)\n- `eslint-plugin-import` with ordered imports (`import/order`)\n- `unused-imports` plugin for cleaning dead imports\n- TypeScript-aware rules via `@typescript-eslint`\n- Framework-specific rules for React, Next.js, and React Native (Expo)\n- Common opinionated rules: `eqeqeq`, `curly`, `prefer-const`, `no-var`, `no-console: warn`, etc.\n- Browser + Node + serviceworker globals by default\n\n---\n\n\n## Current Status\n\n- **Published!** The config is available on npm as [`@caredevi-suyog/eslint-config`](https://www.npmjs.com/package/@caredevi-suyog/eslint-config)\n- Use the npm install method below for all new projects.\n\n---\n\n\n## Installation\n\nInstall the config in your project using npm:\n\n```bash\nnpm install @caredevi-suyog/eslint-config --save-dev\n```\n\nThen, create or update `eslint.config.mjs` (or `.js`) in your project root:\n\n```js\n// eslint.config.mjs\nimport caredevi from '@caredevi-suyog/eslint-config/react'; // or /next, /reactnative, /node, or just base\n\nexport default [\n  ...caredevi,\n  // Optional project-specific overrides\n  {\n    rules: {\n      'no-console': 'off', // example\n    },\n  },\n];\n```\n\n---\n\n## Entry Points\n\n| Import path                                   | Purpose                                    |\n| --------------------------------------------- | ------------------------------------------ |\n| `@caredevi-suyog/eslint-config`               | Base (JS/TS + Prettier + import/order)     |\n| `@caredevi-suyog/eslint-config/react`         | React + React Hooks                        |\n| `@caredevi-suyog/eslint-config/next`          | Next.js (App Router & Pages)               |\n| `@caredevi-suyog/eslint-config/reactnative`   | React Native (Expo)                        |\n| `@caredevi-suyog/eslint-config/node`          | Node.js / backend                          |\n| `@caredevi-suyog/eslint-config/prettier`      | Only Prettier config                       |\n\n---\n\n## Usage Examples\n\n### React project\n\n```js\n// eslint.config.mjs\nimport config from '@caredevi-suyog/eslint-config/react';\n\nexport default [...config];\n```\n\n### React Native project (MyCaredevi)\n\n```js\n// eslint.config.mjs\nimport config from '@caredevi-suyog/eslint-config/reactnative';\n\nexport default [...config];\n```\n\n### Next.js project (EMR/RPM)\n\n```js\n// eslint.config.mjs\nimport config from '@caredevi-suyog/eslint-config/next';\n\nexport default [...config];\n```\n\n### Node.js / Backend project (Caredevi Backend)\n\n```js\n// eslint.config.mjs\nimport config from '@caredevi-suyog/eslint-config/node';\n\nexport default [...config];\n```\n\n---\n\n## Recommended Scripts\n\nAdd the following to your project's `package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"lint\": \"eslint . --ext .js,.jsx,.ts,.tsx\",\n    \"lint:fix\": \"eslint . --ext .js,.jsx,.ts,.tsx --fix\",\n    \"format\": \"eslint . --ext .js,.jsx,.ts,.tsx --fix\"\n  }\n}\n```\n\n---\n\n## VS Code Integration\n\nAdd the following to `.vscode/settings.json` in your project:\n\n```json\n{\n  \"editor.defaultFormatter\": \"dbaeumer.vscode-eslint\",\n  \"editor.formatOnSave\": true,\n  \"eslint.format.enable\": true,\n  \"[javascript]\": { \"editor.defaultFormatter\": \"dbaeumer.vscode-eslint\" },\n  \"[javascriptreact]\": { \"editor.defaultFormatter\": \"dbaeumer.vscode-eslint\" },\n  \"[typescript]\": { \"editor.defaultFormatter\": \"dbaeumer.vscode-eslint\" },\n  \"[typescriptreact]\": { \"editor.defaultFormatter\": \"dbaeumer.vscode-eslint\" }\n}\n```\n\n---\n\n## Development & Contributing\n\nInside the `eslint-config-caredevi` folder, run:\n\n```bash\nnpm install\n```\n\nChanges are immediately available in all linked projects after saving files.\n\n---\n\n## Planned Improvements\n\n- Publish to npm (`@caredevi/eslint-config`)\n- Add Vitest / Jest test config preset\n- Add stricter TypeScript type-aware rules option\n- Separate config for legacy JavaScript projects (if needed)\n- Better per-framework documentation\n\n---\n\n\n---\n\n## Publishing & Updating the npm Package\n\nTo update and publish a new version of `@caredevi-suyog/eslint-config` to npm, follow these steps:\n\n### 1. Generate a Fine-Tuned npm Access Token\n\n1. Go to your [npm account access tokens page](https://www.npmjs.com/settings/your-username/tokens).\n2. Click **Create New Token** → choose **Automation** (recommended for CI/CD) or **Publish** (for manual publishing).\n3. Copy the generated token. **Keep it secret!**\n\n### 2. Add the Token to `.npmrc`\n\nIn the root of your project (or your home directory), add the following line to your `.npmrc` file:\n\n```ini\n//registry.npmjs.org/:_authToken=YOUR_TOKEN_HERE\n```\n\nReplace `YOUR_TOKEN_HERE` with the token you generated above.\n\n### 3. Login to npm (if needed)\n\nIf you haven't already, log in to npm in your terminal:\n\n```bash\nnpm login\n```\n\nFollow the prompts for your username, password, and email. (If using a token in `.npmrc`, this step may be skipped.)\n\n### 4. Bump the Version\n\nUpdate the `version` field in `package.json` according to [semver](https://semver.org/):\n\n```bash\nnpm version patch   # or minor/major as appropriate\n```\n\n### 5. Publish the Package\n\nRun:\n\n```bash\nnpm publish --access public\n```\n\nIf successful, your new version will be available at [https://www.npmjs.com/package/@caredevi-suyog/eslint-config](https://www.npmjs.com/package/@caredevi-suyog/eslint-config)\n\n---\n\n\n---\n\n## Versions\n\n### 1.0.3\n- No changes here either, just for keeping the version consistent\n\n### 1.0.2\n- No new changes, I don't know why but NPM made this this the latest version lol\n\n### 1.0.1\n- Updated: Moved all dependencies to peerDependencies for better compatibility.\n- Added: Separate config for React Native to resolve lint config conflicts between Node and React Native packages.\n\n### 1.0.0\n- Initial release: Base, React, Next.js, Node, and Prettier configs.\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}