Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AndreaPontrandolfo/sheriff
A comprehensive and opinionated Typescript-first ESLint configuration.
https://github.com/AndreaPontrandolfo/sheriff
astro code-quality eslint javascript jest lint linting lodash nextjs playwright prettier react storybook typescript vitest
Last synced: 3 months ago
JSON representation
A comprehensive and opinionated Typescript-first ESLint configuration.
- Host: GitHub
- URL: https://github.com/AndreaPontrandolfo/sheriff
- Owner: AndreaPontrandolfo
- License: mit
- Created: 2022-09-25T14:40:07.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-02T22:38:13.000Z (3 months ago)
- Last Synced: 2024-08-03T00:36:07.749Z (3 months ago)
- Topics: astro, code-quality, eslint, javascript, jest, lint, linting, lodash, nextjs, playwright, prettier, react, storybook, typescript, vitest
- Language: TypeScript
- Homepage: https://www.eslint-config-sheriff.dev
- Size: 9.31 MB
- Stars: 102
- Watchers: 3
- Forks: 6
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-eslint - Sheriff - Comprehensive and highly opinionated Eslint configuration. Typescript oriented. (Configs / Other Configs)
README
β¨ A comprehensive and opinionated Typescript-first ESLint configuration β¨
## π₯³ Overview
This repository is a monorepo that hosts the sourcecode of the following projects:
| Link | Source | Description | Version |
| ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Sheriff docs website](https://www.eslint-config-sheriff.dev) | [docs-website](https://github.com/AndreaPontrandolfo/sheriff/tree/master/apps/docs-website) | Sheriff documentation website | [![GitHub release](https://img.shields.io/github/release/AndreaPontrandolfo/sheriff.svg)](https://github.com/AndreaPontrandolfo/sheriff/releases/latest) |
| [`eslint-config-sheriff`](https://www.npmjs.com/package/eslint-config-sheriff) | [eslint-config-sheriff](https://github.com/AndreaPontrandolfo/sheriff/tree/master/packages/eslint-config-sheriff) | A comprehensive and opinionated Typescript-first ESLint configuration | [![npm](https://img.shields.io/npm/v/eslint-config-sheriff.svg)](https://www.npmjs.com/package/eslint-config-sheriff) |
| [`create-sheriff-config`](https://www.npmjs.com/package/create-sheriff-config) | [create-sheriff-config](https://github.com/AndreaPontrandolfo/sheriff/tree/master/packages/create-sheriff-config) | CLI/starter to bootstrap a Sheriff config | [![npm](https://img.shields.io/npm/v/create-sheriff-config.svg)](https://www.npmjs.com/package/create-sheriff-config) |
| [`@sherifforg/types`](https://www.npmjs.com/package/@sherifforg/types) | [sheriff-types](https://github.com/AndreaPontrandolfo/sheriff/tree/master/packages/sheriff-types) | Sheriff types package | [![npm](https://img.shields.io/npm/v/@sherifforg/types.svg)](https://www.npmjs.com/package/@sherifforg/types) |## π Getting Started
VisitΒ the [official docs](https://www.eslint-config-sheriff.dev)Β to get started with Sheriff.
## π Updates
You can follow the latest updates on the project in the [official blog](https://www.eslint-config-sheriff.dev/blog).
## 𧑠Contributing
### Suggestions
I consider Sheriff a community effort, and I welcome suggestions and contributions of any kind.
Feel free to propose suggestions about new rules to implement, or tweaks to existing rules.
Please use the discussions tab or the issues tab for new rules proposals.### Development
1. Clone the repo
1. Install the dependencies with pnpm
1. Do the changes## π€ Changelog
[Releases](https://github.com/AndreaPontrandolfo/sheriff/releases).
## π Acknowledgments
For some of this configuration, [eslint-config-red](https://github.com/GrosSacASac/JavaScript-Set-Up/blob/master/js/red-javascript-style-guide/index.js) was partially used as a base.
Additionally, inspiration was drawn from [eslint-config-airbnb](https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb) for some of the rules in `no-restricted-syntax`.
I don't take any attribution for the rules in the various eslint-plugins used here (except for the few that I personally created). Please consider starring the respective projects for the awesome work their authors made. Sheriff wouldn't be possible without their efforts.
The full list of the plugins used is [here](https://www.eslint-config-sheriff.dev/docs/eslint-plugins).