Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/typehut/eslint-plugin
This is a plugin that puts the ESLint rules I have wanted into one place.
https://github.com/typehut/eslint-plugin
eslint eslint-config eslint-plugin eslint-rules
Last synced: 1 day ago
JSON representation
This is a plugin that puts the ESLint rules I have wanted into one place.
- Host: GitHub
- URL: https://github.com/typehut/eslint-plugin
- Owner: typehut
- License: mit
- Created: 2020-10-16T15:19:13.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-05-28T17:36:02.000Z (over 3 years ago)
- Last Synced: 2024-03-27T23:20:38.617Z (8 months ago)
- Topics: eslint, eslint-config, eslint-plugin, eslint-rules
- Language: JavaScript
- Homepage:
- Size: 405 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @typehut/eslint-plugin
[![npm version](https://img.shields.io/github/v/release/typehut/eslint-plugin)](https://github.com/typehut/eslint-plugin/packages/816892)
[![Build Status](https://img.shields.io/github/workflow/status/typehut/eslint-plugin/Test)](https://travis-ci.org/typehut/eslint-plugin)
[![Dependency Status](https://david-dm.org/typehut/eslint-plugin.svg)](https://david-dm.org/typehut/eslint-plugin)This is a plugin that puts the ESLint rules I have wanted into one place.
It also contains rules for existing plug-ins with additional auto-fixer.## Installation
Use [npm](https://www.npmjs.com/) or a compatibility tool to install.
```
$ npm install --save-dev eslint @typehut/eslint-plugin
```### Requirements
- Node.js v8.10.0 or newer versions.
- ESLint v5.16.0 or newer versions.## Usage
Write your config file such as `.eslintrc.yml`.
```yml
plugins:
- "@typehut"
rules:
"@typehut/func-style":
- error
- arrow
- topLevelStyle: declaration
```See also [Configuring ESLint](https://eslint.org/docs/user-guide/configuring).
## Configs
- `@typehut/recommended` ... enables the recommended rules.
## Rules
### Best Practices
| Rule ID | Description | |
|:--------|:------------|:--:|
| [@typehut/exports-last](./docs/rules/exports-last.md) | This rule enforces that all exports are declared at the bottom of the file. This rule will report any export declarations that comes before any non-export statements. | ⭐️✒️ |
| [@typehut/group-exports](./docs/rules/group-exports.md) | Reports when named exports are not grouped together in a single export declaration or when multiple assignments to CommonJS module.exports or exports object are present in a single file | ⭐️✒️ |
| [@typehut/jsx-a11y-anchor-has-content](./docs/rules/jsx-a11y-anchor-has-content.md) | Enforce that anchors have content and that the content is accessible to screen readers | |
| [@typehut/jsx-a11y-control-has-associated-label](./docs/rules/jsx-a11y-control-has-associated-label.md) | Enforce that a control (an interactive element) has a text label | |
| [@typehut/typescript-react-component-type](./docs/rules/typescript-react-component-type.md) | enforce `FC` and `FunctionComponent` types to one or the other | ⭐️✒️ |
| [@typehut/typescript-react-require-props-suffix](./docs/rules/typescript-react-require-props-suffix.md) | require that prop interface names be suffixed with `Props` | ⭐️ |
| [@typehut/typescript-react-require-props-type](./docs/rules/typescript-react-require-props-type.md) | require an props type to be provided to a React component | ⭐️ |### Stylistic Issues
| Rule ID | Description | |
|:--------|:------------|:--:|
| [@typehut/func-style](./docs/rules/func-style.md) | enforce consistent use of `function` declarations or expressions | ⭐️✒️ |## Semantic Versioning Policy
This plugin follows [Semantic Versioning](http://semver.org/) and [ESLint's Semantic Versioning Policy](https://github.com/eslint/eslint#semantic-versioning-policy).
## Changelog
- [GitHub Releases](https://github.com/typehut/eslint-plugin/releases)
## Contributing
Welcome your contribution!
See also [ESLint Contribution Guide](https://eslint.org/docs/developer-guide/contributing/).
### Development Tools
- `npm test` runs tests and measures coverage.
- `npm version ` updates the package version. And it updates `lib/configs/recommended.js`, `lib/index.js`, and `README.md`'s rule table. See also [npm version CLI command](https://docs.npmjs.com/cli/version).
- `npm run add-rule ` creates three files to add a new rule.