{"id":15020735,"url":"https://github.com/bluzzi/eslint-config","last_synced_at":"2025-10-08T19:01:55.051Z","repository":{"id":63401500,"uuid":"567594465","full_name":"Bluzzi/eslint-config","owner":"Bluzzi","description":"ESLint configuration preset for linting and formatting all your files ⚙️","archived":false,"fork":false,"pushed_at":"2025-01-17T17:01:34.000Z","size":458,"stargazers_count":10,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T16:54:04.432Z","etag":null,"topics":["eslint","eslint-config"],"latest_commit_sha":null,"homepage":"https://eslint.camilledugas.me","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bluzzi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-18T05:54:11.000Z","updated_at":"2025-01-17T17:01:35.000Z","dependencies_parsed_at":"2022-11-18T07:00:45.965Z","dependency_job_id":"ef3d02f1-590b-4931-a82e-5ecd19f367c2","html_url":"https://github.com/Bluzzi/eslint-config","commit_stats":{"total_commits":116,"total_committers":1,"mean_commits":116.0,"dds":0.0,"last_synced_commit":"80fd52b1ff5a980dab280e6da4899f30f4d78241"},"previous_names":["we-use/eslint-config","bluzzi/eslint-config"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bluzzi%2Feslint-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bluzzi%2Feslint-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bluzzi%2Feslint-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bluzzi%2Feslint-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bluzzi","download_url":"https://codeload.github.com/Bluzzi/eslint-config/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238284908,"owners_count":19446752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","eslint-config"],"created_at":"2024-09-24T19:55:31.269Z","updated_at":"2025-10-08T19:01:50.016Z","avatar_url":"https://github.com/Bluzzi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @bluzzi/eslint-config\nA ready-to-use ESLint config preset that's highly opinionated and strict on best practices, allowing you to both lint and [format](https://eslint.style/guide/why) any file that can be used in the JavaScript ecosystem.\n\n- 📖 formatting (Prettier alternative) with only basic configurations (semi, quotes, indent)\n- ⚒️ very strict rules for JS and TS, which encourages best practices\n- 🌏 designed to work with TS, JSX, React, JSON, YAML, TOML, GraphQL, CSS, HTML and Markdown\n- ✅ automatically enables specific rules based on your dependencies\n- 🧲 uses the recommended shared configs (ESLint, TSLint, Stylistic...)\n\nIf you're looking for a less opinionated configuration with more customization possibilities, I recommend you the [Antfu preset](https://github.com/antfu/eslint-config).\n\n## Installation\nInstalling the config preset in your project.\n\n### Packages\n```\nnpm install -D eslint @bluzzi/eslint-config\n```\n```\nyarn add --dev eslint @bluzzi/eslint-config\n```\n```\npnpm install -D eslint @bluzzi/eslint-config\n```\n\n### Configuration file\nCreate the `eslint.config.mjs` file at the root of the project and add the minimum configuration:\n```js\nimport { eslintConfig } from \"@bluzzi/eslint-config\";\n\nexport default eslintConfig();\n```\n\n### Scripts\nIn your package.json file, you can optionally add the following scripts to easily run ESLint in your project:\n```json\n{\n  \"scripts\": {\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  }\n}\n```\n\n## VS Code support\nInstallation and configuration of the VS Code plugin to take advantage of an automatic correction when saving a file, as well as a display of problems.\n\nInstall [VS Code ESLint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) and add the following settings to your `.vscode/settings.json`:\n```jsonc\n{\n  // Disable the default formatter, use eslint instead:\n  \"prettier.enable\": false,\n  \"editor.formatOnSave\": false,\n\n  // Auto fix:\n  \"editor.codeActionsOnSave\": {\n    \"source.fixAll.eslint\": \"explicit\",\n    \"source.organizeImports\": \"never\"\n  },\n\n  // Silent the stylistic rules in you IDE, but still auto fix them:\n  \"eslint.rules.customizations\": [\n    { \"rule\": \"style/*\", \"severity\": \"off\", \"fixable\": true },\n    { \"rule\": \"format/*\", \"severity\": \"off\", \"fixable\": true },\n    { \"rule\": \"*-indent\", \"severity\": \"off\", \"fixable\": true },\n    { \"rule\": \"*-spacing\", \"severity\": \"off\", \"fixable\": true },\n    { \"rule\": \"*-spaces\", \"severity\": \"off\", \"fixable\": true },\n    { \"rule\": \"*-order\", \"severity\": \"off\", \"fixable\": true },\n    { \"rule\": \"*-dangle\", \"severity\": \"off\", \"fixable\": true },\n    { \"rule\": \"*-newline\", \"severity\": \"off\", \"fixable\": true },\n    { \"rule\": \"*quotes\", \"severity\": \"off\", \"fixable\": true },\n    { \"rule\": \"*semi\", \"severity\": \"off\", \"fixable\": true }\n  ],\n\n  // Enable eslint for all supported languages:\n  \"eslint.validate\": [\n    \"javascript\",\n    \"javascriptreact\",\n    \"typescript\",\n    \"typescriptreact\",\n    \"html\",\n    \"markdown\",\n    \"json\",\n    \"jsonc\",\n    \"yaml\",\n    \"toml\",\n    \"gql\",\n    \"graphql\"\n  ]\n}\n```\n\n## Customization\nTo enable TS [type aware rules](https://typescript-eslint.io/getting-started/typed-linting) (recommended for best practice with TS), you need to define the relative path to your `tsconfig.json`:\n```js\nexport default eslintConfig({\n  typescript: { tsconfigPath: \"./tsconfig.json\" },\n});\n```\n\nYou can adjust some formatting options for your code, but we recommend sticking to [Stylistic](https://eslint.style/guide/config-presets)'s default rules for consistency within the JS community:\n```js\nexport default eslintConfig({\n  stylistic: {\n    indent: 2,\n    quotes: \"single\",\n    semi: false,\n  },\n});\n```\n\nFinally, you can make full use of the power of [ESLint's flat configs](https://eslint.org/docs/latest/use/configure/configuration-files) to extend the configuration as much as you like:\n```js\nexport default eslintConfig(\n  {\n    // The configuration options offered by our package\n  },\n\n  // From the second arguments they are ESLint Flat Configs\n  // you can have multiple configs:\n  {\n    files: [\"**/*.ts\"],\n    rules: {},\n  },\n  {\n    rules: {},\n  },\n);\n```\n\n## Thanks\n- [Anthony Fu](https://github.com/antfu), for his [config preset](https://github.com/antfu/eslint-config) and its work on [Stylistic](https://eslint.style/)\n- [ESLint team](https://eslint.org/team/), for this [amazing project](https://eslint.org/) that pushes the whole JS ecosystem forward\n\n## License\nThis package is MIT licensed.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluzzi%2Feslint-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbluzzi%2Feslint-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluzzi%2Feslint-config/lists"}