{"bugs":{"url":"https://github.com/Shinigami92/eslint-define-config/issues"},"dist":{"shasum":"08cc8bdaba2e8556138681cc6f5ebb7d69e25c8e","tarball":"https://registry.npmjs.org/eslint-define-config/-/eslint-define-config-2.0.0-alpha.1.tgz","fileCount":1477,"integrity":"sha512-OL+eDzdBq2t/P6j2duPCWL9+0n681WRf86QjkGN3SAI0SaQK8fso8Kjk8PyvyM8pQE6DMx0s+uS5tTnjBfmLhw==","signatures":[{"sig":"MEUCIQCwLDj3oNa8uoZGyMv6PW7X8TkqHaoKku4XeP31pQrvGwIgLyYZ62HH4WZNckl9p2Usmeom2TCP2ythuvGD7PSzmHM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1662140},"main":"dist/index.cjs","name":"eslint-define-config","type":"module","types":"dist/index.d.ts","author":{"url":"https://github.com/Shinigami92","name":"Christopher Quadflieg","email":"chrissi92@hotmail.de"},"module":"dist/index.js","readme":"<p>\n  <a href=\"https://www.npmjs.com/package/eslint-define-config\" target=\"_blank\">\n    <img alt=\"NPM package\" src=\"https://img.shields.io/npm/v/eslint-define-config.svg\">\n  </a>\n  <a href=\"https://www.npmjs.com/package/eslint-define-config\" target=\"_blank\">\n    <img alt=\"Downloads\" src=\"https://img.shields.io/npm/dt/eslint-define-config.svg\">\n  </a>\n  <a href=\"https://github.com/Shinigami92/eslint-define-config/actions/workflows/ci.yml\">\n    <img alt=\"Build Status\" src=\"https://github.com/Shinigami92/eslint-define-config/actions/workflows/ci.yml/badge.svg?branch=main\">\n  </a>\n  <a href=\"https://github.com/Shinigami92/eslint-define-config/blob/main/LICENSE\">\n    <img alt=\"License: MIT\" src=\"https://img.shields.io/github/license/Shinigami92/eslint-define-config.svg\">\n  </a>\n  <a href=\"https://prettier.io\" target=\"_blank\">\n    <img alt=\"Code Style: Prettier\" src=\"https://img.shields.io/badge/code_style-prettier-ff69b4.svg\">\n  </a>\n  <a href=\"https://www.paypal.com/donate?hosted_button_id=L7GY729FBKTZY\" target=\"_blank\">\n    <img alt=\"Donate: PayPal\" src=\"https://img.shields.io/badge/Donate-PayPal-blue.svg\">\n  </a>\n</p>\n\n# eslint-define-config\n\nProvide a `defineConfig` function for `.eslintrc.js`, and a `defineFlatConfig` function for `eslint.config.js` files.\n\n> This project is written by a human and only partially automatically generated!  \n> Some rules are even enhanced by hand!  \n> Unfortunately, this has the disadvantage that not everything is immediately defined. For example, if a rule is not defined, it falls back to a basic definition.  \n> However, the advantage is that you get documentation for pretty much everything in the code and usually get a direct link to the respective plugin or eslint rule. The types are also strictly typed.\n>\n> So if you are missing something like a rule or a plugin that should also be supported or a rule definition is e.g. out of date, feel free to open an issue or PR for it.\n\n# Installation\n\n```bash\n# add eslint and eslint-define-config to project’s dev dependencies\nnpm add --save-dev eslint eslint-define-config\n# or\nyarn add --dev eslint eslint-define-config\n# or\npnpm add --save-dev eslint eslint-define-config\n```\n\n# Usage\n\n`.eslintrc.js`\n\n```ts\n// @ts-check\n\n// To activate auto-suggestions for Rules of specific plugins, you need to add a `/// <reference types=\"eslint-plugin-PLUGIN_NAME\" />` comment.\n/// <reference types=\"@typescript-eslint/eslint-plugin\" />\n\nconst { defineConfig } = require('eslint-define-config');\n\nmodule.exports = defineConfig({\n  root: true,\n  rules: {\n    // rules...\n  },\n});\n```\n\n## Flat Config\n\n`eslint.config.js`\n\n```ts\n// @ts-check\nconst { defineFlatConfig } = require('eslint-define-config');\n\nmodule.exports = defineFlatConfig([\n  'eslint:recommended',\n  {\n    plugins: {\n      // plugins...\n    },\n    rules: {\n      // rules...\n    },\n  },\n]);\n```\n\n# Why?\n\nImprove your eslint configuration experience with:\n\n- auto-suggestions\n- type checking (Use `// @ts-check` at the first line in your `.eslintrc.js` or `eslint.config.js`)\n- documentation\n- deprecation warnings\n\n<img src=\"https://user-images.githubusercontent.com/7195563/112484789-8a416480-8d7a-11eb-9337-d8b5bc16de17.png\" alt=\"Image\" width=\"600px\"/>\n\n## Video\n\n_Click on the thumbnail to play the video_\n\n<a href=\"https://user-images.githubusercontent.com/7195563/112726158-4a19e780-8f1c-11eb-8cc6-4ea6c100137f.mp4\" target=\"_blank\">\n  <img src=\"https://user-images.githubusercontent.com/7195563/112726343-30c56b00-8f1d-11eb-9b92-260c530caf1b.png\" alt=\"Video\" width=\"600px\"/>\n</a>\n\n## Want to support your own plugin?\n\nAdd a `declare module` to your plugin package like this:\n\n```ts\ndeclare module 'eslint-define-config' {\n  export interface CustomRuleOptions {\n    /**\n     * Require consistently using either `T[]` or `Array<T>` for arrays.\n     *\n     * @see [array-type](https://typescript-eslint.io/rules/array-type)\n     */\n    '@typescript-eslint/array-type': [\n      {\n        default?: 'array' | 'generic' | 'array-simple';\n        readonly?: 'array' | 'generic' | 'array-simple';\n      },\n    ];\n\n    // ... more Rules\n  }\n}\n```\n\n# Credits\n\n- [Proposal Idea](https://github.com/eslint/eslint/issues/14249)\n- [Vite](https://github.com/vitejs/vite) and [Evan You](https://github.com/yyx990803) for the idea\n- [@antfu](https://github.com/antfu) and his [tweet](https://twitter.com/antfu7/status/1365907188338753536)\n","engines":{"npm":">=9.0.0","node":">=18.0.0","pnpm":">= 8.6.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"funding":[{"url":"https://github.com/Shinigami92","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=L7GY729FBKTZY","type":"paypal"}],"gitHead":"09804b0248e07c3fd50b69c00b4131dde756d384","license":"MIT","scripts":{"lint":"run-s build lint:run","test":"vitest","build":"tsup-node","clean":"rimraf coverage .eslintcache dist pnpm-lock.yaml node_modules","format":"prettier --cache --write .","coverage":"vitest run --coverage","lint:run":"eslint --cache --cache-strategy content --report-unused-disable-directives .","ts-check":"tsc","preflight":"pnpm install && run-s format lint ts-check test typecheck","typecheck":"vitest typecheck","generate:rules":"tsx ./scripts/generate-rule-files/cli.ts","prepublishOnly":"pnpm run clean && pnpm install && pnpm run build"},"_npmUser":{"name":"shinigami92","email":"chrissi92@hotmail.de"},"homepage":"https://github.com/Shinigami92/eslint-define-config#readme","keywords":["config","configuration","define-config","eslint-config","eslint","eslintconfig","typed","typescript"],"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/Shinigami92/eslint-define-config.git","type":"git"},"_npmVersion":"10.1.0","description":"Provide a defineConfig function for .eslintrc.js files","directories":{},"maintainers":[{"name":"shinigami92","email":"chrissi92@hotmail.de"}],"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"packageManager":"pnpm@8.7.6","readmeFilename":"README.md","devDependencies":{"tsx":"~3.12.10","tsup":"~7.2.0","eslint":"~8.49.0","rimraf":"~5.0.1","vitest":"~0.34.5","graphql":"~16.8.1","prettier":"3.0.3","ts-dedent":"~2.2.0","typescript":"~5.2.2","@types/node":"~20.6.3","change-case":"~4.1.2","expect-type":"~0.16.0","json-schema":"~0.4.0","npm-run-all":"~4.1.5","@types/eslint":"~8.44.2","@poppinss/cliui":"~3.0.5","eslint-plugin-n":"~16.1.0","eslint-gitignore":"~0.1.0","upper-case-first":"~2.0.2","eslint-plugin-mdx":"~2.2.0","eslint-plugin-vue":"~9.17.0","eslint-plugin-yml":"~1.9.0","json-schema-to-ts":"~2.9.2","vue-eslint-parser":"~9.3.1","@types/json-schema":"~7.0.13","eslint-plugin-node":"~11.1.0","@vitest/coverage-v8":"~0.34.5","eslint-plugin-jsdoc":"~46.8.2","eslint-plugin-jsonc":"~2.9.0","eslint-plugin-react":"~7.33.2","eslint-plugin-import":"~2.28.1","eslint-plugin-vitest":"~0.3.1","eslint-plugin-promise":"~6.1.1","eslint-plugin-sonarjs":"~0.21.0","eslint-plugin-unicorn":"~48.0.1","eslint-plugin-vue-pug":"~0.6.0","eslint-config-prettier":"~9.0.0","eslint-plugin-jsx-a11y":"~6.7.1","eslint-plugin-prettier":"~5.0.0","eslint-plugin-spellcheck":"~0.0.20","@typescript-eslint/parser":"~6.7.2","eslint-plugin-deprecation":"~2.0.0","eslint-plugin-react-hooks":"~4.6.0","json-schema-to-typescript":"~13.1.1","@graphql-eslint/eslint-plugin":"~3.20.1","eslint-plugin-eslint-comments":"~3.2.0","eslint-plugin-testing-library":"~6.0.1","@intlify/eslint-plugin-vue-i18n":"~2.0.0","@typescript-eslint/eslint-plugin":"~6.7.2","eslint-plugin-inclusive-language":"~2.2.1","prettier-plugin-organize-imports":"~3.2.3"},"_npmOperationalInternal":{"tmp":"tmp/eslint-define-config_2.0.0-alpha.1_1696613306917_0.27906086062492386","host":"s3://npm-registry-packages"},"_id":"eslint-define-config@2.0.0-alpha.1","version":"2.0.0-alpha.1"}