# eslint-config-bobobox

> Bobobox eslint rules

Latest version **1.1.1** (published 2022-12-30) · ISC license · 0 weekly downloads

## Install

```sh
npm install eslint-config-bobobox
pnpm add eslint-config-bobobox
yarn add eslint-config-bobobox
bun add eslint-config-bobobox
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.1 |
| Published | 2022-12-30 |
| First published | 2022-04-01 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 7 |
| Unpacked size | 13.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Bobobox Frontend Team |
| Maintainers | willi-dev, yehezgun |
| Keywords | eslint, eslint-config, typescript, eslint-rules, linter, javascript |

## Links

- npm: https://www.npmjs.com/package/eslint-config-bobobox
- Homepage: https://bobobox.co.id/
- npm.io page: https://npm.io/package/eslint-config-bobobox

## Dependencies (7)

- [eslint](https://npm.io/package/eslint.md) ^8.12.0
- [typescript](https://npm.io/package/typescript.md) ^4.6.3
- [eslint-plugin-import](https://npm.io/package/eslint-plugin-import.md) ^2.25.4
- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) ^0.13.0
- [@typescript-eslint/parser](https://npm.io/package/@typescript-eslint/parser.md) ^5.17.0
- [eslint-plugin-unused-imports](https://npm.io/package/eslint-plugin-unused-imports.md) ^2.0.0
- [@typescript-eslint/eslint-plugin](https://npm.io/package/@typescript-eslint/eslint-plugin.md) ^5.17.0

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 1.1.1 (latest) — 2022-12-30
- 1.1.0 — 2022-10-20
- 1.0.9 — 2022-10-20
- 1.0.8 — 2022-10-20
- 1.0.7 — 2022-10-19
- 1.0.6 — 2022-04-04
- 1.0.5 — 2022-04-01
- 1.0.4 — 2022-04-01
- 1.0.3 — 2022-04-01
- 1.0.2 — 2022-04-01
- 1.0.1 — 2022-04-01
- 1.0.0 — 2022-04-01

## README

# 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

```bash
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

```js
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:

- [`typescript-eslint/eslint-plugin`](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin): Add some new useful plugin
- [`eslint-plugin-import`](https://www.npmjs.com/package/eslint-plugin-import) : auto import sorting and grouping linter
- [`eslint-plugin-unused-import`](https://www.npmjs.com/package/eslint-plugin-unused-imports) : to avoid unused import or variable
- [`eslint-plugin-sonarjs`](https://github.com/SonarSource/eslint-plugin-sonarjs) : SonarJS rules for ESLint to detect bugs and suspicious patterns in your code.

# The ESLint rules that we used here

```js
 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/](https://bobobox.co.id/).

---
_Source: https://npm.io/package/eslint-config-bobobox · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
