Skip to content

WalkerChan2019/eslint-config-soybeanjs

 
 

Repository files navigation

SoybeanJS's eslint config presets

  • Auto fix for formatting with prettier
  • Mulit config presets: JavaScript, TypeScript, Vue, React, ReactNative, Svelte and Solid
  • Lint also for html, json, yaml, markdown
  • Reasonable defaults, best practices, only one-line of config
  • Default Alias mapping "@" => "src", "~" => "./"

Package

eslint-config-soybeanjs-base

this is base config, lints for JacaScript, HTML, JSON, yaml, markdown.

eslint-config-soybeanjs-ts

this config extends soybeanjs-base, and it lints for TypeScript.

eslint-config-soybeanjs

this config equals to soybeanjs-ts

eslint-config-soybeanjs-vue

this config extends soybeanjs-ts, and it lints for Vue3

eslint-config-soybeanjs-vue2

this config extends soybeanjs-ts, and it lints for Vue2

eslint-config-soybeanjs-react

this config extends soybeanjs-ts, and it lints for React

eslint-config-soybeanjs-react-native

this config extends soybeanjs-react, and it lints for React Native

eslint-config-soybeanjs-svelte

this config extends soybeanjs-ts, and it lints for Svelte

eslint-config-soybeanjs-solid

this config extends soybeanjs-ts, and it lints for Solid

Usage

Install

pnpm i -D eslint

pnpm i -D eslint-config-soybeanjs # equals to soybeanjs-ts
pnpm i -D eslint-config-soybeanjs-base # base
pnpm i -D eslint-config-soybeanjs-ts # for TypeScript
pnpm i -D eslint-config-soybeanjs-vue # for Vue3
pnpm i -D eslint-config-soybeanjs-vue2 # for Vue2
pnpm i -D eslint-config-soybeanjs-react # for React
pnpm i -D eslint-config-soybeanjs-react-native # for React Native
pnpm i -D eslint-config-soybeanjs-svelte # for Svelte
pnpm i -D eslint-config-soybeanjs-solid # for Solid

Config eslint (.eslintrc | .eslintrc.js | .eslintrc.json)

{
  "extends": "soybeanjs" // or soybeanjs-base, soybeanjs-ts, soybeanjs-vue, soybeanjs-vue2, soybeanjs-react, soybeanjs-react-native, soybeanjs-svelte, soybeanjs-solid
}

You don't need .eslintignore normally as it has been provided by the preset.

Change import alias

{
  "settings": {
    "import/resolver": {
      "alias": { // default alias
        "map": [
          ["~", "."],
          ["@", "./src"]
        ],
        "extensions": [".js", ".jsx", ".mjs", ".ts", ".tsx", "mts", ".d.ts"]
      }
    }
  }
}

Add scripts for package.json

For example:

{
  "scripts": {
    "lint": "eslint . --fix"
  }
}

About

SoybeanJS's eslint config presets with prettier

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.9%
  • Shell 0.1%