@croutonn/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 or a compatibility tool to install.
$ npm install --save-dev eslint @croutonn/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
.
plugins:
- "@croutonn"
rules:
"@croutonn/func-style":
- error
- arrow
- topLevelStyle: declaration
See also Configuring ESLint.
Configs
-
@croutonn/recommended
... enables the recommended rules.
Rules
Best Practices
Rule ID | Description | |
---|---|---|
@croutonn/exports-last | 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. |
|
@croutonn/group-exports | 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 |
|
@croutonn/jsx-a11y-anchor-has-content | Enforce that anchors have content and that the content is accessible to screen readers | |
@croutonn/jsx-a11y-control-has-associated-label | Enforce that a control (an interactive element) has a text label | |
@croutonn/typescript-react-component-type | enforce FC and FunctionComponent types to one or the other |
|
@croutonn/typescript-react-require-props-suffix | require that prop interface names be suffixed with Props
|
|
@croutonn/typescript-react-require-props-type | require an props type to be provided to a React component |
Stylistic Issues
Rule ID | Description | |
---|---|---|
@croutonn/func-style | enforce consistent use of function declarations or expressions |
|
Semantic Versioning Policy
This plugin follows Semantic Versioning and ESLint's Semantic Versioning Policy.
Changelog
Contributing
Welcome your contribution!
See also ESLint Contribution Guide.
Development Tools
-
npm test
runs tests and measures coverage. -
npm version <TYPE>
updates the package version. And it updateslib/configs/recommended.js
,lib/index.js
, andREADME.md
's rule table. See also npm version CLI command. -
npm run add-rule <RULE_ID>
creates three files to add a new rule.