npm.io
2.0.0 • Published 3 years ago

@hokla/eslint-plugin-custom-rules

Licence
MIT
Version
2.0.0
Deps
4
Size
44 kB
Vulns
0
Weekly
0
Stars
8
Install scriptsThis package runs scripts during installation (preinstall/install/postinstall)

Hokla's Eslint plugin

Recommended custom eslint rules at Hokla

How to use

Install

yarn add --dev @hokla/eslint-plugin-custom-rules

Optional: In case you also need to setup eslint :

yarn add --dev eslint typescript @typescript-eslint/parser @typescript-eslint/eslint-plugin

Use rules in your projects

In your .eslintrc.json file :

{
  "root": true,
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:@hokla/custom-rules/recommended"
  ],
  "plugins": ["@typescript-eslint"],
  "parser": "@typescript-eslint/parser",
  // In case you want to customize the level of warning (default to 'warn')
  "rules": {
    "@hokla/custom-rules/react-query-specify-typing": "warn" // "error" | "warn
  }
}
               |

Contribute

Configs

Configs section would normally go here.

Rules

Configurations enabled in.
Configurations set to warn in.
Set in the react configuration.
Set in the recommended configuration.

Name Description
forbid-lowercase-jsx-tags To be used in a React Native project: this rule forbids JSX tags that don't begin with a capital letter
luxon-force-zone-in-datetime TODO
mutation-decorator-return-type-mismatch Parameter of Mutation Decorator should match the method's return type
no-async-in-foreach Array.prototype.forEach is not designed for asynchronous code
no-key-or-ref-prop This rule forbids using props named key or ref in React function components, as they are reserved words and will not act as intended
no-value-export-in-declaration-file This rule forbids exporting values from TypeScript declaration files (ending in ".d.ts"), which can lead to bugs since these files are dropped during transpilation.
property-decorator-type-mismatch Parameter of Type Decorator should match the property type
react-query-specify-typing Type parameters should always be specified when calling useQuery and useMutation from react-query
react-routes-must-be-wrapped-in-router enforce encapsulation of <...Routes> in <...Router> provider and explicit naming of components returning <...Routes> element
redux-saga-no-sequential-actions description here
typeorm-enforce-repository-generic-method-typing enforce calls to repository generic methods (save, softRemove and recover) without type specification
typeorm-query-runner-release Any statement calling a queryRunner should be followed by a try/catch/finally block that ensures that the connection pool is released in any case by calling queryRunner.release().

Keywords