{"_id":"@bollgade/eslint-config-base","name":"@bollgade/eslint-config-base","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@bollgade/eslint-config-base","version":"0.0.1","description":"Base ESLint config for TypeScript backend & vanilla JS/TS","license":"MIT","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":"./dist/index.js"},"keywords":["eslint","eslintconfig","eslint-config","eslint flat config","flat config","typescript","prettier","import","unused-imports","node","backend","nestjs"],"author":{"name":"Bollgade","email":"bollgade@gmail.com"},"scripts":{"build":"tsup src/index.ts --format esm --dts --clean","prepublishOnly":"npm run build","lint:ts":"eslint \"**/*.{ts,tsx}\" --max-warnings=0","lint:ts:fix":"npm run lint:ts -- --fix","type-check":"tsc --project ./tsconfig.json --noEmit"},"publishConfig":{"access":"public"},"peerDependencies":{"eslint":">=9.0.0"},"dependencies":{"@eslint/js":"^9.18.0","@stylistic/eslint-plugin":"^5.2.3","eslint-import-resolver-typescript":"^4.4.4","eslint-plugin-import":"^2.32.0","eslint-plugin-prettier":"^5.5.4","eslint-plugin-unused-imports":"^4.1.4","globals":"^15.0.0","typescript-eslint":"^8.40.0"},"devDependencies":{"@types/node":"22.10.7","eslint":"9.39.2","tsup":"8.5.1","typescript":"5.9.3"},"engines":{"node":">=18.18.0"},"_id":"@bollgade/eslint-config-base@0.0.1","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-0OinUum3ZiObCcTPBIL+py4Qt+Byatn5Wuqh5GNmX+RYsUM/v5ex2OllC/eLVfIoJ78wDgLXlpesktUAFR9XJA==","shasum":"6673253435bf48132be74c8c5ada8257db0454bd","tarball":"https://registry.npmjs.org/@bollgade/eslint-config-base/-/eslint-config-base-0.0.1.tgz","fileCount":5,"unpackedSize":9846,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQClGUYE04FL0RNPHErj83hu4IClJ3oGLH3DK9QJGhCl0wIhAPvGH8H37RU4ya5KgyUQqaqeUI34wR7Hjw3TqH8dPmW7"}]},"_npmUser":{"name":"bollgade","email":"bollgade@yandex.ru"},"directories":{},"maintainers":[{"name":"bollgade","email":"bollgade@yandex.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config-base_0.0.1_1767298281808_0.11379384802765391"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-01T20:11:21.608Z","0.0.1":"2026-01-01T20:11:21.939Z","modified":"2026-01-01T20:11:22.339Z"},"maintainers":[{"name":"bollgade","email":"bollgade@yandex.ru"}],"description":"Base ESLint config for TypeScript backend & vanilla JS/TS","keywords":["eslint","eslintconfig","eslint-config","eslint flat config","flat config","typescript","prettier","import","unused-imports","node","backend","nestjs"],"author":{"name":"Bollgade","email":"bollgade@gmail.com"},"license":"MIT","readme":"# @bollgade/eslint-config-base\n\n[![npm](https://img.shields.io/npm/v/@bollgade/eslint-config-base)](https://www.npmjs.com/package/@bollgade/eslint-config-base)\n[![downloads](https://img.shields.io/npm/dm/@bollgade/eslint-config-base)](https://www.npmjs.com/package/@bollgade/eslint-config-base)\n\nBase **ESLint flat config** for TypeScript projects: NestJS, Express, and plain TypeScript.  \nIt bundles rules from [`@eslint/js`](https://www.npmjs.com/package/@eslint/js), [`typescript-eslint`](https://www.npmjs.com/package/typescript-eslint), [`eslint-plugin-import`](https://www.npmjs.com/package/eslint-plugin-import), [`eslint-plugin-unused-imports`](https://www.npmjs.com/package/eslint-plugin-unused-imports), [`@stylistic/eslint-plugin`](https://www.npmjs.com/package/@stylistic/eslint-plugin), and integrates Prettier via [`eslint-plugin-prettier`](https://www.npmjs.com/package/eslint-plugin-prettier) (using its `recommended` preset).\n\n## Installation\n\n```bash\nnpm install -D @bollgade/eslint-config-base\n```\n\n## Usage (ESLint 9 flat config)\n\nCreate eslint.config.mts (or eslint.config.js):\n\n```ts\n// eslint.config.mts\nimport { defineConfig } from 'eslint/config';\nimport baseConfig from '@bollgade/eslint-config-base';\n\nexport default defineConfig(\n  baseConfig,\n);\nWith local overrides:\n```\n\n```ts\n// eslint.config.mts\nimport { defineConfig } from \"eslint/config\";\nimport baseConfig from \"@bollgade/eslint-config-base\";\n\nexport default defineConfig(baseConfig, {\n  rules: {\n    // your overrides\n    \"no-console\": \"off\",\n  },\n});\n```\n\nThis config assumes you have `tsconfig.json` in your project root; it is used for typed linting via parserOptions.project.\n\n## What’s included\n\n| Category | Purpose                   | Main config / rules                                                                                               |\n| -------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------- |\n| Core     | Baseline JS linting       | `@eslint/js` → `eslint.configs.recommended` + a few extras (e.g. `no-trailing-spaces`, `max-len`)                 |\n| Language | Runtime globals + parsing | `ecmaVersion: 2024`, `sourceType: 'module'`, `globals: node + jest`                                               |\n| TS rules | Strictness & safety       | `strictTypeChecked` + `stylisticTypeChecked` + extra rules like `no-floating-promises`, `no-unsafe-member-access` |\n| Imports  | Import hygiene            | `eslint-plugin-import` flat configs + `import/order` + `import/no-extraneous-dependencies`                        |\n| Style    | ESLint-first formatting   | `@stylistic/eslint-plugin` preset + a few overrides                                                               |\n| Prettier | Formatting enforcement    | `eslint-plugin-prettier/recommended` + `prettier/prettier` (`singleQuote: true`)                                  |\n\n## Roadmap\n\nPlanned improvements:\n\n- Expose a `createBaseConfig(options)` factory to:\n  - Customize `tsconfig` path(s) used for typed linting (e.g. `tsconfig.json`, `tsconfig.eslint.json`).\n  - Toggle strict type-aware linting on/off (switch between strict typed configs and lighter presets).\n  - Enable/disable most rule categories and customize them via options (without requiring users to append manual override blocks).\n","readmeFilename":"README.md","_rev":"1-3baff28ea9fabf9d74d8bb3738d273d5"}