{"id":28566445,"url":"https://github.com/js-devtools/eslint-config","last_synced_at":"2025-06-10T15:10:59.889Z","repository":{"id":40400553,"uuid":"279257807","full_name":"JS-DevTools/eslint-config","owner":"JS-DevTools","description":"Opinionated JSDevTools ESLint configuration for JavaScript, TypeScript, and JSX","archived":false,"fork":false,"pushed_at":"2022-05-11T17:04:43.000Z","size":1144,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-03-25T20:07:21.341Z","etag":null,"topics":["eslint","eslint-config","eslint-rules","javascript","jsx","nodejs","typescript"],"latest_commit_sha":null,"homepage":"https://jstools.dev/eslint-config/","language":"JavaScript","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/JS-DevTools.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}},"created_at":"2020-07-13T09:30:04.000Z","updated_at":"2023-08-31T08:44:46.000Z","dependencies_parsed_at":"2022-08-09T19:20:52.429Z","dependency_job_id":null,"html_url":"https://github.com/JS-DevTools/eslint-config","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":"JS-DevTools/template-node-typescript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JS-DevTools%2Feslint-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JS-DevTools%2Feslint-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JS-DevTools%2Feslint-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JS-DevTools%2Feslint-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JS-DevTools","download_url":"https://codeload.github.com/JS-DevTools/eslint-config/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JS-DevTools%2Feslint-config/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259098639,"owners_count":22804794,"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","eslint-rules","javascript","jsx","nodejs","typescript"],"created_at":"2025-06-10T15:10:59.038Z","updated_at":"2025-06-10T15:10:59.862Z","avatar_url":"https://github.com/JS-DevTools.png","language":"JavaScript","readme":"ESLint Config\n==============================================\n### Opinionated JSDevTools ESLint config for JavaScript, TypeScript, and JSX\n\n[![Cross-Platform Compatibility](https://jstools.dev/img/badges/os-badges.svg)](https://github.com/JS-DevTools/eslint-config/actions)\n[![Build Status](https://github.com/JS-DevTools/eslint-config/workflows/CI-CD/badge.svg)](https://github.com/JS-DevTools/eslint-config/actions)\n\n[![Coverage Status](https://coveralls.io/repos/github/JS-DevTools/eslint-config2/badge.svg?branch=master)](https://coveralls.io/github/JS-DevTools/eslint-config2)\n[![Dependencies](https://david-dm.org/JS-DevTools/eslint-config.svg)](https://david-dm.org/JS-DevTools/eslint-config)\n\n[![npm](https://img.shields.io/npm/v/@jsdevtools/eslint-config.svg)](https://www.npmjs.com/package/@jsdevtools/eslint-config)\n[![License](https://img.shields.io/npm/l/@jsdevtools/eslint-config.svg)](LICENSE)\n[![Buy us a tree](https://img.shields.io/badge/Treeware-%F0%9F%8C%B3-lightgreen)](https://plant.treeware.earth/JS-DevTools/eslint-config)\n\n\nThis is a [shareable config](https://eslint.org/docs/developer-guide/shareable-configs) for [ESLint](https://eslint.org/) that's used for [JSDevTools projects](https://jstools.dev).  It's highly opinionated and tailored to the types of projects we build, so it's probably not relevant to you.  But nonetheless, it could be a good starting point for creating your own custom shareable config.\n\nThis config uses [ESLint's `overrides` feature](https://eslint.org/docs/user-guide/configuring#configuration-based-on-glob-patterns) to apply different rulesets to different files based on glob patterns.  It currently includes rulesets for JavaScript, TypeScript, and JSX files, as well more relaxed rulesets for test files in any of those languages.\n\n\n\nRelated Projects\n-----------------------\n- [eslint-config-modular](https://jstools.dev/eslint-config-modular/)\u003cbr\u003e\n  Modular ESLint configuration\n\n- [tslint-modular](https://jstools.dev/tslint-modular/)\u003cbr\u003e\n  Modular TSLint configuration for TypeScript projects\n\n\n\nInstallation\n-----------------------\nRun the following [npm](https://docs.npmjs.com/about-npm/) command to install [ESLint](https://eslint.org/) and our ESLint config as dev-dependencies of your project:\n\n```bash\nnpm install eslint @jsdevtools/eslint-config --save-dev\n```\n\n\n\nUsage\n-----------------------\nShareable configs are designed to work with the `extends` feature of `.eslintrc` files. You can learn more about\n[Shareable Configs](https://eslint.org/docs/developer-guide/shareable-configs) on the official ESLint website.\n\nTo use our ESLint config in your project, create an `.eslintrc.yml` file with the following contents:\n\n**.eslintrc.yml**\n```yaml\nroot: true\nextends: \"@jsdevtools\"\n\nrules:\n  # You can override any rules here\n```\n\n\n\nLicense\n--------------------------\nOur ESLint config is 100% free and open-source, under the [MIT license](LICENSE). Use it however you want.\n\nThis package is [Treeware](http://treeware.earth). If you use it in production, then we ask that you [**buy the world a tree**](https://plant.treeware.earth/JS-DevTools/eslint-config) to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.\n\n\n\nBig Thanks To\n--------------------------\nThanks to these awesome companies for their support of Open Source developers ❤\n\n[![GitHub](https://jstools.dev/img/badges/github.svg)](https://github.com/open-source)\n[![NPM](https://jstools.dev/img/badges/npm.svg)](https://www.npmjs.com/)\n[![Coveralls](https://jstools.dev/img/badges/coveralls.svg)](https://coveralls.io)\n[![Travis CI](https://jstools.dev/img/badges/travis-ci.svg)](https://travis-ci.com)\n[![SauceLabs](https://jstools.dev/img/badges/sauce-labs.svg)](https://saucelabs.com)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjs-devtools%2Feslint-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjs-devtools%2Feslint-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjs-devtools%2Feslint-config/lists"}