{"id":16818551,"url":"https://github.com/rubiin/eslint-config","last_synced_at":"2025-12-25T12:33:58.618Z","repository":{"id":187858139,"uuid":"677702443","full_name":"rubiin/eslint-config","owner":"rubiin","description":"My shareable  version of eslint config ","archived":false,"fork":false,"pushed_at":"2023-11-23T17:04:02.000Z","size":929,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T15:57:34.240Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubiin.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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},"funding":{"github":["rubiin"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.buymeacoffee.com/XbgWxt567"]}},"created_at":"2023-08-12T10:55:25.000Z","updated_at":"2024-08-03T14:03:04.000Z","dependencies_parsed_at":"2024-09-25T13:08:47.896Z","dependency_job_id":"8a283aad-4f12-4aee-90e7-a80d019ff802","html_url":"https://github.com/rubiin/eslint-config","commit_stats":null,"previous_names":["rubiin/eslint-config"],"tags_count":108,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubiin%2Feslint-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubiin%2Feslint-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubiin%2Feslint-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubiin%2Feslint-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubiin","download_url":"https://codeload.github.com/rubiin/eslint-config/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242926234,"owners_count":20207754,"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":[],"created_at":"2024-10-13T10:50:26.976Z","updated_at":"2025-12-25T12:33:58.577Z","avatar_url":"https://github.com/rubiin.png","language":"TypeScript","funding_links":["https://github.com/sponsors/rubiin","https://www.buymeacoffee.com/XbgWxt567"],"categories":[],"sub_categories":[],"readme":"# @rubiin/eslint-config [![npm](https://img.shields.io/npm/v/@rubiin/eslint-config.svg)](https://npmjs.com/package/@rubiin/eslint-config)\n\nFlat ESLint config for JavaScript, TypeScript, React.\n\n[Legacy Version](https://github.com/rubiin/eslint-config/tree/da354907ff785d03000b4ce74e75adc50143a592)\n\n## Features\n\n- Format with Eslint.\n- Designed to work with TypeScript, React out-of-box.\n- Sort imports, `package.json`, `tsconfig.json`...\n- [ESLint Flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new), compose easily!\n- Reasonable defaults, best practices, only one-line of config\n\n## Install\n\n```bash\nnpm i -D @rubiin/eslint-config\n```\n\nRequire Node.js \u003e= 16\n\n## Usage\n\n\n### Create config file\n\nWith [`\"type\": \"module\"`](https://nodejs.org/api/packages.html#type) in `package.json` (recommended):\n\n```js\n// eslint.config.js\nimport rubiin from \"@rubiin/eslint-config\";\n\nexport default  await rubiin();\n```\n\nWith CJS:\n\n```js\n// eslint.config.js\nconst rubiin = require(\"@rubiin/eslint-config\").default;\n\nmodule.exports = rubiin();\n```\n\n\u003e Note that `.eslintignore` no longer works in Flat config, see [customization](#customization) for more details.\n\n### Add script for package.json\n\nFor example:\n\n```json\n{\n  \"scripts\": {\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  }\n}\n```\n\n## VS Code support (auto fix)\n\nInstall [VS Code ESLint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)\n\nAdd the following settings to your `.vscode/settings.json`:\n\n```jsonc\n{\n  // Enable the ESlint flat config support\n  \"eslint.experimental.useFlatConfig\": true,\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\": false\n  },\n\n  // Silent the stylistic rules in you IDE, but still auto fix them\n  \"eslint.rules.customizations\": [\n    { \"rule\": \"style/*\", \"severity\": \"off\" },\n    { \"rule\": \"*-indent\", \"severity\": \"off\" },\n    { \"rule\": \"*-spacing\", \"severity\": \"off\" },\n    { \"rule\": \"*-spaces\", \"severity\": \"off\" },\n    { \"rule\": \"*-order\", \"severity\": \"off\" },\n    { \"rule\": \"*-dangle\", \"severity\": \"off\" },\n    { \"rule\": \"*-newline\", \"severity\": \"off\" },\n    { \"rule\": \"*quotes\", \"severity\": \"off\" },\n    { \"rule\": \"*semi\", \"severity\": \"off\" }\n  ],\n\n  // Enable eslint for all supported languages\n  \"eslint.validate\": [\n    \"javascript\",\n    \"javascriptreact\",\n    \"typescript\",\n    \"typescriptreact\",\n    \"vue\",\n    \"html\",\n    \"markdown\",\n    \"json\",\n    \"jsonc\",\n    \"yaml\"\n  ]\n}\n```\n\n### Custom Config\n\n```js\n// eslint.config.js\nimport rubiin from \"@rubiin/eslint-config\";\n\nexport default await rubiin({\n  // Enable stylistic formatting rules\n  // stylistic: true,\n\n  // Or customize the stylistic rules\n  stylistic: {\n    indent: 2, // 4, or 'tab'\n    quotes: \"single\", // or 'double'\n  },\n\n  // TypeScript and Vue are auto-detected, you can also explicitly enable them:\n  typescript: true,\n  vue: true,\n\n  // Disable jsonc and yaml support\n  jsonc: false,\n  yaml: false,\n\n  // `.eslintignore` is no longer supported in Flat config, use `ignores` instead\n  ignores: [\n    \"./fixtures\",\n    // ...globs\n  ]\n});\n```\n\n### VSCode\n\n```jsonc\n{\n  \"eslint.experimental.useFlatConfig\": true\n}\n```\n\n## Comparing to [`@antfu/eslint-config`](https://github.com/antfu/eslint-config)\n\nMost of the rules are the same, but there are some differences:\n\n- Supports react as well as vue\n- Adds deprecation plugin\n- More stricter rules.\n\n## License\n\n[MIT](./LICENSE) License © 2021-PRESENT [rubiin](https://github.com/rubiin)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubiin%2Feslint-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubiin%2Feslint-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubiin%2Feslint-config/lists"}