Socket
Book a DemoInstallSign in
Socket

eslint-config-blockabc

Package Overview
Dependencies
Maintainers
4
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-config-blockabc

A All-in-One eslint config project based on Standard Style

0.16.2
latest
Source
npmnpm
Version published
Weekly downloads
9
200%
Maintainers
4
Weekly downloads
 
Created
Source

eslint-config-blockabc

npm js-standard-style

An All-in-One ESLint Shareable Config project, based on Standard Style.

This project including ESLint Config for JavaScript, TypeScript, Vue, Nuxt.

Usage

JavaScript

  • install
npm install eslint-config-blockabc eslint @babel/eslint-parser eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-promise eslint-plugin-standard -D
  • Add this to your .eslintrc file
{
  "extends": ["blockabc"]
}

Typescript

Build on JavaScript:

npm install typescript @typescript-eslint/eslint-plugin @typescript-eslint/parser -D
{
  "extends": ["blockabc/typescript"]
}

Vue

Build on JavaScript:

npm install vue-eslint-parser eslint-plugin-vue eslint-config-standard-jsx eslint-plugin-react -D
{
  "extends": ["blockabc/vue"]
}

Nuxt

Build on Vue:

npm install eslint-plugin-nuxt -D
{
  "extends": ["blockabc/nuxt"]
}

Vue-TypeScript

Build on Vue & TypeScript

{
  "extends": ["blockabc/vue-ts"]
}

Nuxt-TypeScript

Build on Nuxt & TypeScript

{
  "extends": ["blockabc/nuxt-ts"]
}

FAQ

  • Sequence in eslintrc's extends field is important. Your config should always be the last one in extends array. https://github.com/eslint/eslint/issues/9191
  • You can run eslint --print-config [file] to see active eslint rules for specific file.

Notable

Vue

  • props 要有默认值

JavaScript

  • 函数定义的括号之前要有空格。

除了社区规范和风格倾向,该规则可以方便代码搜索:搜 func( 可以搜到所有函数调用,搜 func ( 可以搜到函数定义。

Todo

按理说 String 类型的 props 应该也可以没有默认值。可以给 eslint-plugin-vue 提一个 PR。

该规则要求插值的花括号两边有空格,但是是否是必须的呢?这样风格上的好处和坏处分别是什么?

  • vue slots/event

可以增加一个规则,使得所有的 slots 和 events 都必须显式地在 vue 配置上写出,方便后续维护者知道该组件的 "API"。

export default {
    events: ['input', 'change'],
    slots: ['default', 'title'],
    mounted() {
        this.$emit('input', 0)
    }
}
  • vue/attributes-order

该规则有点奇怪,没有按照 order 的意图去排序,代码应该是有问题的,有时间可以去看一下,提个 PR。 attributes-order.js

Keywords

eslint

FAQs

Package last updated on 28 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.