{"id":49362939,"url":"https://github.com/rashedmakkouk/eslint-config","last_synced_at":"2026-04-27T17:32:45.715Z","repository":{"id":57679847,"uuid":"418210654","full_name":"rashedmakkouk/eslint-config","owner":"rashedmakkouk","description":"Opinionated linting rules and configurations.","archived":false,"fork":false,"pushed_at":"2024-05-05T08:15:54.000Z","size":5947,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-16T18:16:37.523Z","etag":null,"topics":["eslint","linting","markdown","prettier","tsdoc","typedoc","typescript","vscode"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rashedmakkouk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-10-17T17:47:37.000Z","updated_at":"2024-05-05T08:13:01.000Z","dependencies_parsed_at":"2023-02-14T18:01:01.712Z","dependency_job_id":null,"html_url":"https://github.com/rashedmakkouk/eslint-config","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/rashedmakkouk/eslint-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rashedmakkouk%2Feslint-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rashedmakkouk%2Feslint-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rashedmakkouk%2Feslint-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rashedmakkouk%2Feslint-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rashedmakkouk","download_url":"https://codeload.github.com/rashedmakkouk/eslint-config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rashedmakkouk%2Feslint-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32348046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T17:12:42.749Z","status":"ssl_error","status_checked_at":"2026-04-27T17:12:41.658Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eslint","linting","markdown","prettier","tsdoc","typedoc","typescript","vscode"],"created_at":"2026-04-27T17:32:44.612Z","updated_at":"2026-04-27T17:32:45.708Z","avatar_url":"https://github.com/rashedmakkouk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESLint Config\n\n![npm (scoped with tag)](https://img.shields.io/npm/v/@rashedmakkouk/eslint-config/latest)\n![ecmascript-version-supported](https://img.shields.io/badge/ECMAScript-2022-%23F27B10)\n\nOpinionated linting rules providing a standardized developer experience across projects.\n\n## v0.8.0\n\nThis package has gone through an overhaul and `v0.8.0` introduces many changes, including:\n\n- New plugins support.\n- Added/enabled new linting rules.\n- Removed previously set rules custom overrides.\n- Better support for TypeScript source code including stricter rules.\n- Updated peer dependencies.\n- And more, see [What's Included](#whats-included) section for details.\n\nThese changes will most likely output new errors and warnings in your project(s) codebase that will\nneed to be updated/refactored.\n\nThis README file has been updated with the latest changes along with configuration examples.\n\n## Installation\n\nInstall the package in your project.\n\n```bash\n# NPM\nnpm install @rashedmakkouk/eslint-config --dev\n\n# Yarn\nyarn add @rashedmakkouk/eslint-config --dev\n```\n\n## Configuration\n\n\u003e For consistency, all configuration files use '.json' file extension.\n\n### ESLint\n\nAdd `.eslintrc.json` file to the root of your project, or to each of your packages if you are\nworking on a monorepo, and add the following configuration:\n\n\u003e .eslintrc.json\n\n```json\n{\n  \"extends\": [\n    ...\n    /**\n    * If you already have a .eslintrc.* file, add this line to the end of the list if you want to\n    * override preceding configurations.\n    */\n    \"@rashedmakkouk/eslint-config\"\n  ],\n  /**\n    * ESLint looks for configuration files in successive parent directories all the way up to the\n    * root directory of the filesystem (/). See 'Cascading and Hierarchy' for more details.\n    * https://eslint.org/docs/latest/user-guide/configuring/configuration-files#cascading-and-hierarchy\n    *\n    * To prevent this behavior, set 'root' property to true in your root project directory. This\n    * tells ESLint to stop looking for other configuration files when it reaches this directory.\n    *\n    * If you are using this package in a monorepo, see 'Monorepos' for more details.\n    * https://typescript-eslint.io/linting/typed-linting/monorepos\n    */\n  \"root\": true\n}\n```\n\n### Supported File Extensions\n\nThis package supports both JavaScript and TypeScript file extensions by default:\n\n- .js\n- .ts\n\n#### React\n\nIf you are using React in your project, this package supports [JSX][jsx-github] file extensions by\ndefault:\n\n- .jsx\n- .tsx\n\nTo **Enable** JSX syntax support, add the following configuration:\n\n\u003e .eslintrc.json\n\n```json\n{\n  ...\n  \"parserOptions\": {\n    \"ecmaFeatures\": {\n      \"jsx\": true // Add this.\n    }\n  }\n}\n```\n\nIf you use [eslint-plugin-react][eslint-plugin-react-npm], add the following configuration:\n\n\u003e .eslintrc.json\n\n```json\n{\n  ...\n  \"settings\": {\n    \"react\": {\n      \"version\": \"detect\" // Add this.\n    }\n  }\n}\n```\n\n#### Node.js\n\nThis package can be used in back-end Node.js projects out-of-the-box.\n\nYou may also want to install and configure [eslint-plugin-node][eslint-plugin-node-npm] for\nlanguage-specific rules, then add the following configuration:\n\n\u003e .eslintrc.json\n\n```json\n{\n  ...\n  \"extends\": [\n    \"plugin:node/recommended\", // Add this.\n    \"@rashedmakkouk/eslint-config\"\n  ]\n}\n```\n\n#### Other Frameworks\n\nIf you use other frameworks in your project like [eslint-plugin-vue][eslint-plugin-vue-npm] or\n[eslint-plugin-svelte][eslint-plugin-svelte-npm], you can add custom file extensions support after\ninstalling and configuring respective plugin as follows:\n\n\u003e .eslintrc.json\n\n```json\n{\n  ...\n  \"extraFileExtensions\": [\".vue\"],\n  ...\n}\n```\n\nSee [Using Plugins](#using-plugins) section below for more details.\n\n### Ignored Patterns\n\nIgnored file and directory patterns from scanning and linting:\n\n```json\n{\n  \"ignorePatterns\": [\n    \"**/node_modules\",\n    \"**/build\",\n    \"**/dist\"\n  ]\n}\n```\n\n### Customizing Base Configuration\n\nIf you want to customize part of the base configuration, you can do so by adding respective\nproperty. Some example configuration:\n\n\u003e .eslintrc.json\n\n```json\n{\n  ...\n  \"parserOptions\": {\n    /**\n     * Refer to 'ECMAScript' badge at the top of this document for the latest\n     * supported version by this package.\n     */\n    \"ecmaVersion\": \"latest\", // Or specify a number version (e.g. 2020).\n    \"ecmaFeatures\": {\n      \"arrowFunctions\": true\n    }\n  },\n  \"env\": {\n    \"browser\": true, // Default: false.\n    \"es6\": true, // Default: true.\n    \"node\": true // Default: true.\n  },\n  \"ignorePatterns\": [\n    \"**/node_modules\"\n    \"**/scripts\"\n    \"**/lib\"\n    ...\n  ]\n}\n```\n\nSee ESLint [Specifying Parser Options][eslint-specifying-parser-options] official documentation for\nthe full list of available options.\n\n### Using Plugins\n\nYou can add other linting plugins that are not part of this package to your project and extend\ncustom rules:\n\n\u003e .eslintrc.json\n\n```json\n{\n  ...\n  \"plugins\": [\n    ...\n    \"custom-plugin\" // Add plugins.\n  ],\n  \"extends\": [\n    ...\n    \"plugin:custom/recommended\", // Add rules.\n    \"@rashedmakkouk/eslint-config\"\n  ]\n}\n```\n\nSee ESLint [Use a plugin][eslint-use-a-plugin] and the plugin's official documentation for\ninstallation instructions.\n\n### Configuring Rules\n\n#### Overriding Existing Rules\n\nIt is possible to customize options of linting rules applied by default with this package, you can\nadd the rules you want to change under `overrides` property. Some example overrides:\n\n\u003e .eslintrc.json\n\n```json\n{\n  ...\n  \"overrides\": [\n    ...\n    {\n      \"files\": [\"*\"],\n      \"rules\": {\n        /** Add and configure rules you want to override in all files. */\n        \"sort-vars\": [ \"warn\", { \"ignoreCase\": true } ]\n      }\n    },\n    {\n      /** Specify file patterns to apply rule(s) to. */\n      \"files\": [\"*.jsx\"],\n      \"rules\": {\n        \"react/prop-types\": \"off\",\n      }\n    }\n  ]\n}\n```\n\nSee ESLint [Configuring Rules][eslint-configuring-rules] official documentation for more details.\n\n#### Extending New Rules\n\nThere are many rules provided by the [Included Plugins](#included-plugins) that are part of this\npackage but not **Enabled**, you can extend and enable specific rules you want in your project. See\nthe official documentation of the plugin you want to extend for a complete list of available rules.\n\n### Usage with [TypeScript][typescript-eslint-plugin-npm]\n\nThe recommended pattern is to create a new config file `tsconfig.eslint.json` and extend your base\n`tsconfig.json` file. This allows you to include file and directory patterns that are not supposed\nto be part of the main configuration file or should not be compiled, but you still want to apply\nthe same linting standards to (e.g. scripts).\n\n\u003e tsconfig.eslint.json\n\n```json\n{\n  \"extends\": \"./tsconfig.json\", // Or './tsconfig.base.json'.\n  \"compilerOptions\": {\n    /** Prevent using this file for a build. */\n    \"noEmit\": true\n  },\n  /**\n   * This configuration overrides 'includes' property in your base tsconfig file, make sure to list\n   * all file and directory patterns you want to lint.\n   */\n  \"include\": [\n    \"**/scripts\",\n    \"src/**/*\",\n    ...\n  ]\n}\n```\n\nIf you choose to opt out of this pattern, tsconfig.json file will be loaded instead; see\n[Supported File Patterns](#supported-file-patterns) section below.\n\n#### Supported File Patterns\n\nThis package supports loading the following tsconfig file patterns:\n\n- tsconfig.json (scanned and loaded by both ESLint 'parser' and 'import/resolver' plugin)\n- tsconfig.eslint.json (scanned and loaded only by ESLint 'parser')\n\n#### Supported Directory Patterns\n\nDirectory patterns support both standard and monorepo projects and look for tsconfig files in:\n\n- root/\n- packages/*/\n- libs/*/\n- apps/*/\n- docs/\n\n#### TSConfig ([Reference][tsconfig-reference])\n\nTypeScript compiler options may be extended to set default values from a base configuration file.\nThis package provides such file that you can extend, and override any project-specific\nconfiguration depending on your project needs.\n\nAdd the following configuration to the top of your project's `tsconfig.json` file:\n\n\u003e tsconfig.json\n\n```json\n{\n  \"extends\": \"@rashedmakkouk/eslint-config/lib/bases/tsconfig.base.json\"\n}\n```\n\nThe base configuration set:\n\n```json\n{\n  \"$schema\": \"https://json.schemastore.org/tsconfig\",\n  \"display\": \"tsconfig Recommended\",\n  \"compilerOptions\": {\n    \"module\": \"commonjs\",\n    \"declaration\": false,\n    \"sourceMap\": false,\n    \"removeComments\": false,\n    \"noEmit\": false,\n    \"isolatedModules\": false,\n    \"forceConsistentCasingInFileNames\": true,\n    \"strict\": true,\n    \"noImplicitAny\": false,\n    \"noUnusedLocals\": false,\n    \"noUnusedParameters\": false,\n    \"moduleResolution\": \"Node\",\n    \"allowSyntheticDefaultImports\": true,\n    \"esModuleInterop\": true,\n    \"resolveJsonModule\": true,\n    \"noEmitOnError\": true,\n    \"skipLibCheck\": true,\n    \"experimentalDecorators\": true,\n    \"types\": [\n      \"node\"\n    ]\n  }\n}\n```\n\n## Usage\n\n### Command Line Interface ([Options][eslint-cli-options])\n\nTo run ESLint from the command line, use the following command pattern:\n\n```bash\nnpx eslint [options] [file|dir|glob]*\n```\n\nSome basic command usage examples:\n\n```bash\n# Find errors and warnings in multiple files in a directory.\n#\n# If you are on Microsoft Windows, wrap \"src/**\" with quotes to use node 'glob' syntax.\nnpx eslint src/**\n\n# Find errors and warnings in specific file extensions.\nnpx eslint --ext .jsx,.js libs/\n\n# Fix errors and warnings in file(s).\nnpx eslint --fix src/file1.js libs/file2.js\n```\n\nYou can also use your package manager such as 'Yarn' or 'pnpm' to run commands, see respective\nofficial documentation for usage details.\n\nSee ESLint [Command Line Interface][eslint-command-line-interface] official documentation for more\nin-depth usage information.\n\n### Editor Integration\n\n#### Visual Studio Code\n\nBefore you begin, it is recommended that you use a [Workspace Settings][vscode-workspace-settings]\nor a [User Settings][vscode-user-settings] configuration file to apply the needed settings, it\nhelps with portability and with committing the file as part of your repository. This section will\nfocus on Workspace configuration steps.\n\n\u003e You can get a copy of `code-workspace.base.json` file provided with this package from `bases`\n\u003e directory that you can use out-of-the-box. *Make sure to rename the file to\n\u003e `your-project.code-workspace`.*\n\nTurn on auto-fix option only for needed providers to avoid overrides and/or unexpected results.\n\n##### [`eslint`][eslint-npm]\n\n\u003e Static code analysis (auto-fix support).\n\n1. Install [dbaeumer.vscode-eslint][vs-marketplace-vscode-eslint] extension from VS Marketplace.\n\n2. Add the following configuration to VS Code Settings to turn on auto-fix for ESLint provider:\n\n\u003e project.code-workspace\n\n```json\n{\n  ...\n  \"editor.codeActionsOnSave\": {\n    \"source.fixAll.eslint\": true\n  }\n}\n```\n\n3. Configure ESLint extension behavior:\n\n\u003e project.code-workspace\n\n```json\n{\n  ...\n  \"eslint.run\": \"onType\", // Options: onType, onSave.\n  \"eslint.alwaysShowStatus\": true,\n  \"eslint.packageManager\": \"yarn\", // Options: yarn, npm.\n  /**\n   * Also accepts array of string paths you want to apply rules to.\n   * Example: [ \"./src\", \"./libs/client\" ]\n   */\n  \"eslint.workingDirectories\": [\n    {\n      \"mode\": \"location\", // Options: location, auto.\n      \"pattern\": \"./src/*/\" // Optional: A glob pattern to match a working directory.\n    }\n  ],\n  \"eslint.validate\": [\n    \"typescript\",\n    \"typescriptreact\",\n    \"javascript\",\n    \"javascriptreact\"\n  ],\n  \"eslint.options\": {\n    \"extensions\": [\n      \".ts\",\n      \".tsx\",\n      \".js\",\n      \".jsx\"\n    ]\n  }\n}\n```\n\n##### [`prettier`][prettier-npm]\n\n\u003e Code styling and formatting (auto-fix support).\n\nDefined rules and the linting process are part of ESLint main configuration, you do not need to\ninstall any additional extensions or make any changes to enable this plugin.\n\n##### [`markdownlint`][markdownlint-npm]\n\n\u003e Markdown/CommonMark style checker and linting (auto-fix support).\n\n1. Install [DavidAnson.vscode-markdownlint][vs-marketplace-vscode-markdownlint] extension from VS\nMarketplace.\n\n2. Add `.markdownlint.json` file to the root of your project and add the following configuration:\n\n\u003e .markdownlint.json\n\n```json\n{\n  \"extends\": \"@rashedmakkouk/eslint-config/lib/bases/.markdownlint.base.json\"\n}\n```\n\n3. Add the following configuration to VS Code Settings to turn on auto-fix for Markdownlint\nprovider:\n\n```json\n{\n  \"editor.codeActionsOnSave\": {\n    ...\n    \"source.fixAll.markdownlint\": true\n  }\n}\n```\n\n##### [`cspell`][cspell-npm]\n\n\u003e Basic spell checker to help catch common spelling errors.\n\n1. Install [streetsidesoftware.code-spell-checker][vs-marketplace-vscode-code-spell-checker]\nextension from VS Marketplace.\n\n2. Add  `cspell.json` file to the root of your project and add the following configuration:\n\n\u003e cspell.json\n\n```json\n{\n  \"words\": [\n    /** Add words you want to be ignored and not reported as 'Unknown word'. */\n    \"ignore-word\"\n  ]\n}\n```\n\n##### [`tsdoc`][eslint-plugin-tsdoc-npm]\n\n\u003e TypeScript comments standards.\n\n1. Defined rules and the linting process are part of ESLint main configuration, you do not need to\ninstall any additional extensions to enable this plugin.\n\n2. Add `.tsdoc.json` file to the root of your project and add the following configuration:\n\n\u003e tsdoc.json\n\n```json\n{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json\",\n  \"extends\": [\"@rashedmakkouk/eslint-config/lib/bases/tsdoc.base.json\"]\n}\n```\n\n## What's Included\n\n### Included Plugins\n\nPlugins configured out-of-the-box:\n\n```json\n{\n  \"plugins\": [\n    \"@typescript-eslint\",\n    \"eslint-plugin-tsdoc\",\n    \"simple-import-sort\",\n    \"import\",\n    \"deprecation\"\n  ]\n}\n```\n\n### Included Rules\n\nRules extended out-of-the-box:\n\n```json\n{\n  \"extends\": [\n    \"eslint:recommended\",\n    \"plugin:promise/recommended\",\n    \"plugin:import/recommended\",\n    \"plugin:import/typescript\",\n    \"plugin:@typescript-eslint/recommended\",\n    \"plugin:@typescript-eslint/recommended-requiring-type-checking\",\n    \"plugin:prettier/recommended\"\n  ]\n}\n```\n\n#### @typescript-eslint/strict ([Rules][typescript-eslint-rules])\n\nSelect rules are extended from `@typescript-eslint/strict` set that can be helpful in recommending\nbest practice alternatives:\n\n```json\n{\n  \"rules\": {\n    \"@typescript-eslint/prefer-for-of\": \"error\",\n    \"@typescript-eslint/prefer-includes\": \"error\",\n    \"@typescript-eslint/prefer-string-starts-ends-with\": \"error\",\n    \"@typescript-eslint/prefer-ts-expect-error\": \"error\",\n    \"@typescript-eslint/no-throw-literal\": [\n      \"error\",\n      {\n        \"allowThrowingAny\": true,\n        \"allowThrowingUnknown\": true\n      }\n    ],\n    \"@typescript-eslint/no-useless-constructor\": \"error\"\n  }\n}\n```\n\n#### @typescript-eslint/naming-convention ([Options][typescript-eslint-naming-convention-options])\n\nNaming convention standards applied:\n\n```json\n{\n  \"rules\": {\n    \"@typescript-eslint/naming-convention\": [\n      \"error\",\n      {\n        \"format\": [\"camelCase\", \"snake_case\", \"UPPER_CASE\"],\n        \"leadingUnderscore\": \"allow\",\n        \"selector\": \"variable\",\n        \"trailingUnderscore\": \"forbid\"\n      },\n      {\n        \"format\": null,\n        \"modifiers\": [\"destructured\"],\n        \"selector\": \"variable\"\n      },\n      {\n        \"format\": [\"camelCase\"],\n        \"leadingUnderscore\": \"forbid\",\n        \"selector\": \"parameter\",\n        \"trailingUnderscore\": \"forbid\"\n      },\n      {\n        \"format\": [\"StrictPascalCase\"],\n        \"selector\": \"typeLike\"\n      },\n      {\n        \"custom\": {\n          \"match\": false,\n          \"regex\": \"^I[A-Z]\"\n        },\n        \"format\": [\"StrictPascalCase\"],\n        \"selector\": \"interface\"\n      },\n      {\n        \"format\": [\"StrictPascalCase\"],\n        \"selector\": \"typeParameter\",\n        \"suffix\": [\"T\"]\n      },\n      {\n        \"format\": [\"StrictPascalCase\"],\n        \"leadingUnderscore\": \"forbid\",\n        \"selector\": \"class\",\n        \"trailingUnderscore\": \"forbid\"\n      },\n      {\n        \"format\": [\"camelCase\"],\n        \"leadingUnderscore\": \"allow\",\n        \"selector\": \"function\",\n        \"trailingUnderscore\": \"forbid\"\n      },\n    ]\n  }\n}\n```\n\n#### prettier/prettier ([Options][prettier-options])\n\nStyling and formatting rules applied:\n\n```json\n{\n  \"rules\": {\n    ...\n    \"prettier/prettier\": [\n      \"warn\",\n      {\n        \"arrowParens\": \"always\",\n        \"bracketSpacing\": true,\n        \"endOfLine\": \"auto\",\n        \"insertPragma\": false,\n        \"printWidth\": 80,\n        \"proseWrap\": \"preserve\",\n        /** https://prettier.io/docs/en/options.html#require-pragma */\n        \"requirePragma\": false,\n        \"semi\": true,\n        \"singleQuote\": true,\n        /** Indent formatting. */\n        \"tabWidth\": 2,\n        \"trailingComma\": \"es5\"\n      }\n    ]\n  }\n}\n```\n\n#### Turned Off Rules\n\nA few rules are turned off intentionally by this package to provide flexibility and freedom to use\nother available alternatives:\n\n```json\n{\n  \"rules\": {\n    /** Interface naming for brevity, may simply extend other interfaces. */\n    \"@typescript-eslint/no-empty-interface\": \"off\",\n    /**\n     * Disabled in favor of a more explicit and granular rule:\n     * @typescript-eslint/naming-convention\n     * https://typescript-eslint.io/rules/naming-convention\n     */\n    \"camelcase\": \"off\",\n    /** Avoid false positives when using Bracket notation. */\n    \"dot-notation\": \"off\",\n    /** Suppress errors and warnings when importing from external packages. */\n    \"import/named\": \"off\",\n    /** Suppress errors and warnings when importing from external packages. */\n    \"import/namespace\": \"off\",\n    /** Suppress errors and warnings when importing from external packages. */\n    \"import/no-named-as-default\": \"off\",\n    \"no-async-promise-executor\": \"off\"\n  }\n}\n```\n\n## FAQ\n\n### None of those TSConfigs include this file\n\nThis happens when TypeScript tries to parse a file not part of your project's tsconfig 'include'\nproperty.\n\nAn easy fix is to add the file where the error is reported to your project's tsconfig.json or\ntsconfig.eslint.json file.\n\n\u003e See [Usage with TypeScript](#usage-with-typescript) for recommendations and best practices.\n\nAlso check [Troubleshooting and FAQ][typescript-eslint-troubleshooting] official documentation for\nmore information on this and other issues.\n\n### You must therefore provide a value for the \"parserOptions.project\" property for @typescript-eslint/parser\n\nThis can happen when ESLint TypeScript parser fails to load a 'tsconfig.json' file inside your\nproject directory, particularly in a monorepo project.\n\nTo fix this issue, add the following configuration to your '.eslintrc.*' file:\n\n```json\n{\n  \"parserOptions\": {\n    \"project\": [\"./tsconfig.json\"] // Add this.\n  }\n}\n```\n\n### What does --fix-dry-run supposed to do\n\nIn short, the `npx eslint --fix-dry-run` option is mostly for integrations via stdin.\n\nSee the full explanation here [#15668][what-does-fix-dry-run-supposed-to-do].\n\n## Community\n\nHead over to [Discussions][discussions] where you can ask questions, request to add support for new\nplugins or voice your ideas and suggestions.\n\n- [`Plugins`][discussions-plugins]\n- [`Rules`][discussions-rules]\n- [`Ideas`][discussions-ideas]\n- [`Q\u0026A`][discussions-q-a]\n\nIf you discover a bug and/or have an enhancement proposition for existing code, [Issues][issues] is\nthe place to go.\n\n## License\n\nThis package is available under the [BSD 3-Clause license][bsd-3-clause-license]. It also includes\nexternal libraries that are available under a variety of licenses. See [LICENSE][license-file] for\nthe full license text.\n\n[discussions]: https://github.com/rashedmakkouk/eslint-config/discussions\n[discussions-plugins]:https://github.com/rashedmakkouk/eslint-config/discussions/categories/plugins\n[discussions-ideas]: https://github.com/rashedmakkouk/eslint-config/discussions/categories/ideas\n[discussions-rules]: https://github.com/rashedmakkouk/eslint-config/discussions/categories/rules\n[discussions-q-a]: https://github.com/rashedmakkouk/eslint-config/discussions/categories/q-a\n[issues]: https://github.com/rashedmakkouk/eslint-config/issues\n[license-file]: https://github.com/rashedmakkouk/eslint-config/blob/main/LICENSE\n\n[vs-marketplace-vscode-eslint]: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint\n[vs-marketplace-vscode-markdownlint]: https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint\n[eslint-plugin-tsdoc-npm]: https://www.npmjs.com/package/eslint-plugin-tsdoc\n[markdownlint-npm]: https://www.npmjs.com/package/markdownlint\n[prettier-npm]:https://www.npmjs.com/package/prettier\n[cspell-npm]: https://www.npmjs.com/package/cspell\n[vs-marketplace-vscode-code-spell-checker]:https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker\n[typescript-eslint-plugin-npm]: https://www.npmjs.com/package/@typescript-eslint/eslint-plugin\n[eslint-plugin-svelte-npm]: https://www.npmjs.com/package/eslint-plugin-svelte\n[eslint-plugin-vue-npm]: https://www.npmjs.com/package/eslint-plugin-vue\n[eslint-plugin-react-npm]: https://www.npmjs.com/package/eslint-plugin-react\n[eslint-npm]: https://www.npmjs.com/package/eslint\n[eslint-plugin-node-npm]: https://www.npmjs.com/package/eslint-plugin-node\n\n[bsd-3-clause-license]: https://opensource.org/licenses/BSD-3-Clause\n[tsconfig-reference]: https://www.typescriptlang.org/vo/tsconfig\n[jsx-github]: https://facebook.github.io/jsx\n[typescript-eslint-troubleshooting]: https://typescript-eslint.io/linting/troubleshooting\n[eslint-use-a-plugin]: https://eslint.org/docs/latest/user-guide/configuring/plugins#use-a-plugin\n[eslint-configuring-rules]: https://eslint.org/docs/latest/user-guide/configuring/rules\n[what-does-fix-dry-run-supposed-to-do]: https://github.com/eslint/eslint/discussions/15668#discussioncomment-2282580\n[eslint-command-line-interface]: https://eslint.org/docs/latest/use/command-line-interface\n[eslint-cli-options]: https://eslint.org/docs/latest/use/command-line-interface#options\n[prettier-options]: https://prettier.io/docs/en/options.html\n[eslint-specifying-parser-options]: https://eslint.org/docs/latest/use/configure/language-options#specifying-parser-options\n[typescript-eslint-naming-convention-options]: https://typescript-eslint.io/rules/naming-convention/#options\n[vscode-user-settings]: https://code.visualstudio.com/docs/getstarted/settings#_settingsjson\n[vscode-workspace-settings]: https://code.visualstudio.com/docs/getstarted/settings#_workspace-settings\n[typescript-eslint-rules]: https://typescript-eslint.io/rules\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frashedmakkouk%2Feslint-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frashedmakkouk%2Feslint-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frashedmakkouk%2Feslint-config/lists"}