npm.io
1.1.1 • Published 3 years ago

eslint-config-bobobox

Licence
ISC
Version
1.1.1
Deps
7
Size
13 kB
Vulns
0
Weekly
0

ESLint-Config-Bobobox

This is ESLint rules that Bobobox use for frontend projects. Currently it contains some custom rules depending on our current needs.

Before You install This

There're maybe some rules that you have to disable if you mix JS/TS or JS only codebase. And, this ESLint rules may changes without any announcement because of company needs.

Installation

npm i --save-dev eslint-config-bobobox
# or if you're using yarn
yarn add -D eslint-config-bobobox

Usage

In your .eslintrc file you can extend like this

mocule.exports = {
  extends: ["bobobox"],
};

What's in here?

eslint-config-bobobox uses custom ESLint rules to adjust based on the company's current needs. But it also uses some plugins and extend the configuration from external library:

The ESLint rules that we used here

 rules: {
    "no-unused-vars": "off",
    "no-var": "warn",
    "@typescript-eslint/no-unused-vars": "off",
    "unused-imports/no-unused-imports": "error",
    "unused-imports/no-unused-vars": [
      "warn",
      {
        vars: "all",
        varsIgnorePattern: "^_",
        args: "after-used",
        argsIgnorePattern: "^_",
      },
    ],
    "@typescript-eslint/explicit-module-boundary-types": "off",
    "@typescript-eslint/no-non-null-assertion": "off",
    "@typescript-eslint/no-inferrable-types": "off",
    "@typescript-eslint/naming-convention": [
      "warn",
      {
        selector: "variable",
        format: ["camelCase", "snake_case", "PascalCase"],
      },
      { selector: "typeProperty", format: ["camelCase", "snake_case"] },
      { selector: "function", format: ["camelCase"] },
      { selector: "typeAlias", format: ["PascalCase"] },
      { selector: "parameter", format: ["camelCase", "snake_case"] },
    ],
    "import/order": [
      "warn",
      {
        groups: [
          ["builtin", "external"],
          "internal",
          "parent",
          ["sibling", "index"],
          "object",
        ],
        "newlines-between": "always",
        alphabetize: {
          order: "asc",
          caseInsensitive: true,
        },
      },
    ],
    complexity: "warn",
    "no-console": ["error"],
    "sonarjs/no-duplicate-string": ["error", 8],
  },

By the way, want to have a staycation in a high-tech capsule hotel or cabin? Visit our website at https://bobobox.co.id/.

Keywords