1.0.17 • Published 3 years ago

eslint-plugin-dynamic v1.0.17

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

eslint-plugin-dynamic

NPM badge

Install

yarn add -D eslint eslint-plugin-dynamic
# or using npm
npm i -D eslint eslint-plugin-dynamic

How to use

Add this plugin to your .eslintrc file

"extends": "plugin:dynamic/typescript+react+effector+import+prettier+next",
"plugins": ["dynamic"],

Construction typescript+react+effector+import+prettier+next is dynamic.
Possible import modules typescript, ts, prettier, react, reactjs, import, imports, effector, effectorjs, babel, babeljs, a11y, next, nextjs, styled-components, sc, unicorn

Examples:

  "extends": "plugin:dynamic/react+typescript",  
  "plugins": ["dynamic"]
  "extends": ["plugin:dynamic/typescript+import"],  
  "plugins": ["dynamic"]
  "extends": ["plugin:dynamic/import+prettier"],  
  "plugins": ["dynamic"]

modules

typescript

dependencies: @typescript-eslint/eslint-plugin@^4.28.3, @typescript-eslint/parser@^4.28.3

definitions:
ts, typescript
conflicts:
babel

configuration:

{
  "parser": "@typescript-eslint/parser",
  "extends": [
    "plugin:@typescript-eslint/recommended"
  ],
  "plugins": [
    "@typescript-eslint"
  ],
  "rules": {
    "no-empty-interface": "off",
    "@typescript-eslint/no-empty-interface": "off",
    "no-use-before-define": "off",
    "@typescript-eslint/no-use-before-define": "error",
    "no-unused-vars": "off",
    "@typescript-eslint/no-unused-vars": "error",
    "@typescript-eslint/explicit-module-boundary-types": "off"
  }
}

prettier

dependencies: prettier@^2.4.1, eslint-plugin-prettier@^4.0.0, eslint-config-prettier@^8.3.0

definitions:
prettier

configuration:

{
  "extends": [
    "plugin:prettier/recommended"
  ],
  "plugins": [
    "prettier"
  ],
  "rules": {
    "prettier/prettier": [
      "error",
      {
        "endOfLine": "auto",
        "printWidth": 80,
        "tabWidth": 2,
        "trailingComma": "all",
        "semi": true
      }
    ]
  }
}

react

dependencies: eslint-plugin-react@^7.25.1, eslint-plugin-react-hooks@^4.2.0

definitions:
react, reactjs

configuration:

{
  "settings": {
    "react": {
      "version": "detect"
    }
  },
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    }
  },
  "extends": [
    "plugin:react/recommended",
    "plugin:react-hooks/recommended"
  ],
  "plugins": [
    "react",
    "react-hooks"
  ],
  "rules": {
    "react/display-name": "off",
    "react/prop-types": "off",
    "react-hooks/rules-of-hooks": "error"
  }
}

import

dependencies: eslint-plugin-import@^2.24.2

definitions:
import, imports

configuration:

{
  "settings": {
    "import/resolver": {
      "alias": {
        "extensions": [
          ".js",
          ".jsx",
          ".json"
        ]
      }
    }
  },
  "extends": [
    "plugin:import/errors",
    "plugin:import/warnings"
  ],
  "plugins": [
    "import"
  ],
  "rules": {
    "import/order": [
      "error",
      {
        "groups": [
          [
            "external"
          ],
          [
            "builtin"
          ],
          [
            "internal"
          ],
          [
            "parent"
          ],
          [
            "sibling"
          ],
          [
            "object"
          ],
          [
            "index"
          ]
        ],
        "newlines-between": "always",
        "alphabetize": {
          "order": "asc",
          "caseInsensitive": true
        }
      }
    ]
  }
}

relations:

  • typescript
    
{
  "settings": {
    "import/resolver": {
      "alias": {
        "extensions": [
          ".ts",
          ".tsx",
          ".js",
          ".jsx",
          ".json"
        ]
      }
    }
  },
  "extends": [
    "plugin:import/typescript"
  ],
  "plugins": [],
  "rules": {}
}    

effector

dependencies: eslint-plugin-effector@^0.2.0

definitions:
effector, effectorjs

configuration:

{
  "extends": [
    "plugin:effector/recommended"
  ],
  "plugins": [
    "effector"
  ],
  "rules": {}
}

babel

dependencies: @babel/eslint-parser@^7.15.7

definitions:
babel, babeljs
conflicts:
typescript

configuration:

{
  "parser": "@babel/eslint-parser",
  "parserOptions": {
    "sourceType": "module",
    "allowImportExportEverywhere": false,
    "ecmaFeatures": {
      "globalReturn": false
    }
  },
  "extends": [],
  "plugins": [],
  "rules": {}
}

a11y

dependencies: eslint-plugin-jsx-a11y@^6.4.1

definitions:
a11y

configuration:

{
  "extends": [
    "plugin:jsx-a11y/recommended"
  ],
  "plugins": [
    "jsx-a11y"
  ],
  "rules": {}
}

next

dependencies: eslint-config-next@^11.1.2

definitions:
next, nextjs

configuration:

{
  "extends": [
    "next/core-web-vitals"
  ],
  "plugins": [],
  "rules": {}
}

styled-components

dependencies: eslint-plugin-better-styled-components@^1.1.2

definitions:
sc, styled-components

configuration:

{
  "extends": [],
  "plugins": [
    "better-styled-components"
  ],
  "rules": {
    "better-styled-components/sort-declarations-alphabetically": 2
  }
}

unicorn

dependencies: eslint-plugin-unicorn@^36.0.0

definitions:
unicorn

configuration:

{
  "extends": [
    "plugin:unicorn/recommended"
  ],
  "plugins": [
    "unicorn"
  ],
  "rules": {}
}
1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.9

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago