{"id":21900872,"url":"https://github.com/phts/eslint-config","last_synced_at":"2026-04-03T23:36:57.032Z","repository":{"id":40275193,"uuid":"142788652","full_name":"phts/eslint-config","owner":"phts","description":"My config for ESLint ","archived":false,"fork":false,"pushed_at":"2025-02-12T20:36:38.000Z","size":1561,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-26T02:11:35.986Z","etag":null,"topics":["eslint","eslint-config","npm-package"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@phts/eslint-config","language":"JavaScript","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/phts.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}},"created_at":"2018-07-29T19:13:33.000Z","updated_at":"2025-02-12T20:36:40.000Z","dependencies_parsed_at":"2024-11-15T04:43:22.199Z","dependency_job_id":"6a168b4a-af5c-4fff-80ac-b8a854d1c808","html_url":"https://github.com/phts/eslint-config","commit_stats":{"total_commits":141,"total_committers":3,"mean_commits":47.0,"dds":0.3191489361702128,"last_synced_commit":"7d94385ab3a01ff86354e9aaa75093a486ae0e8d"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/phts/eslint-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2Feslint-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2Feslint-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2Feslint-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2Feslint-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phts","download_url":"https://codeload.github.com/phts/eslint-config/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2Feslint-config/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263121466,"owners_count":23416998,"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","npm-package"],"created_at":"2024-11-28T15:11:08.755Z","updated_at":"2025-12-30T19:56:29.093Z","avatar_url":"https://github.com/phts.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @phts/eslint-config\n\n[![GitHub Actions](https://github.com/phts/eslint-config/workflows/workflow/badge.svg)](https://github.com/phts/eslint-config)\n[![npm](https://img.shields.io/npm/v/@phts/eslint-config.svg)](https://www.npmjs.com/package/@phts/eslint-config)\n\nMy config for ESLint.\n\n## Install\n\n```\n$ npm i -D @phts/eslint-config\n```\n\n## Usage\n\n### Basic rules\n\n`.eslintrc.json`:\n\n```json\n{\n  \"extends\": \"@phts\"\n}\n```\n\n### Prettier\n\n```json\n{\n  \"extends\": [\"@phts\", \"@phts/eslint-config/addons/prettier\"]\n}\n```\n\nEnable support for Prettier via [eslint-config-prettier](https://www.npmjs.com/package/eslint-config-prettier) and [eslint-plugin-prettier](https://www.npmjs.com/package/eslint-plugin-prettier) for all `.js`, `.jsx`, `.ts`, `.tsx` files in the project.\n\nPrettier must be installed manually:\n\n```\n$ npm i -D prettier\n```\n\nMake sure to put this addon **last**, so it gets the chance to override other configs.\n\n### TypeScript\n\n[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser)\nand [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin) are used under the hood.\n\n`.eslintrc.json`:\n\n```json\n{\n  \"extends\": [\"@phts\", \"@phts/eslint-config/addons/typescript\"]\n}\n```\n\n`package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"lint\": \"eslint --ext .js,.ts,.tsx .\"\n  }\n}\n```\n\nSublimeText project:\n\n```json\n{\n  \"folders\": [\n    {\n      \"path\": \".\"\n    }\n  ],\n  \"settings\": {\n    \"SublimeLinter.linters.eslint.selector\": \"source.js, source.ts, source.tsx\",\n    \"SublimeLinter.linters.tslint.disable\": true\n  }\n}\n```\n\nVS Code workspace:\n\n```json\n{\n  \"settings\": {\n    // ...\n    \"eslint.validate\": [\"typescript\", \"typescriptreact\"]\n  }\n}\n```\n\n### Other addons\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003econfigs\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnable Node.js environment for all combinations of config files\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003ejest\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnable \u003ca href=\"https://jestjs.io/\"\u003ejest\u003c/a\u003e environment for \u003ca href=\"https://jestjs.io/docs/en/configuration#testregex-string-array-string\"\u003etest files\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003emodule\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnable ES-modules for \u003ccode\u003e.js\u003c/code\u003e files in \u003ccode\u003esrc/\u003c/code\u003e folder\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003enode\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnable Node.js environment for all \u003ccode\u003e.js\u003c/code\u003e files\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003ereact\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnable support for \u003ca href=\"https://reactjs.org/\"\u003ereact\u003c/a\u003e for \u003ccode\u003e.js\u003c/code\u003e and \u003ccode\u003e.jsx\u003c/code\u003e files in \u003ccode\u003esrc/\u003c/code\u003e folder\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003etypescript/configs\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnable Node.js environment for all combinations of config files written in TypeScript\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003etypescript/jest\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnable \u003ca href=\"https://jestjs.io/\"\u003ejest\u003c/a\u003e environment for \u003ca href=\"https://jestjs.io/docs/en/configuration#testregex-string-array-string\"\u003etest files\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003etypescript/node\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnable Node.js environment for all \u003ccode\u003e.ts\u003c/code\u003e files\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003etypescript/react\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnable support for \u003ca href=\"https://reactjs.org/\"\u003ereact\u003c/a\u003e for \u003ccode\u003e.ts\u003c/code\u003e and \u003ccode\u003e.tsx\u003c/code\u003e files in \u003ccode\u003esrc/\u003c/code\u003e folder\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphts%2Feslint-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphts%2Feslint-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphts%2Feslint-config/lists"}