eslint-config-bobobox

1.1.1 • Public • Published

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/.

Package Sidebar

Install

npm i eslint-config-bobobox

Weekly Downloads

1

Version

1.1.1

License

ISC

Unpacked Size

13.6 kB

Total Files

6

Last publish

Collaborators

  • willi-dev
  • yehezgun