3.1.0 • Published 8 months ago

@jannajs/lint v3.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

@jannajs/lint

代码规范初始化工具

功能特色

基于 @antfu/eslint-config 定制,默认禁用 vue,开启 react 支持。特别的,支持 Next.js 规则,tailwind 规则。

  • .editorconfig
  • eslint.config.ts
  • commitlint.config.ts

如何使用

$ npm i -D @jannajs/lint
# yarn add -D @jannajs/lint
# pnpm add -D @jannajs/lint

$ npx --no -- @jannajs/lint init

# 审查当前项目的 eslint 规则详情
$ npx @eslint/config-inspector

VS Code 支持

参考该配置

{
  // Disable the default formatter, use eslint instead
  "prettier.enable": false,
  "editor.formatOnSave": false,

  // Auto fix
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit",
    "source.organizeImports": "never"
  },

  // Silent the stylistic rules in you IDE, but still auto fix them
  "eslint.rules.customizations": [
    { "rule": "style/*", "severity": "off", "fixable": true },
    { "rule": "format/*", "severity": "off", "fixable": true },
    { "rule": "*-indent", "severity": "off", "fixable": true },
    { "rule": "*-spacing", "severity": "off", "fixable": true },
    { "rule": "*-spaces", "severity": "off", "fixable": true },
    { "rule": "*-order", "severity": "off", "fixable": true },
    { "rule": "*-dangle", "severity": "off", "fixable": true },
    { "rule": "*-newline", "severity": "off", "fixable": true },
    { "rule": "*quotes", "severity": "off", "fixable": true },
    { "rule": "*semi", "severity": "off", "fixable": true }
  ],

  // Enable eslint for all supported languages
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact",
    "vue",
    "html",
    "markdown",
    "json",
    "jsonc",
    "yaml",
    "toml",
    "xml",
    "gql",
    "graphql",
    "astro",
    "svelte",
    "css",
    "less",
    "scss",
    "pcss",
    "postcss"
  ]
}

Next.js

要启用 Next.js 支持,你需要显式地启用:

// eslint.config.js
import janna from '@jannajs/lint/eslint'

export default janna({
  next: true
})

运行 npx eslint 会提示你安装所需的依赖项,当然,你可以手动安装它们:

npm i -D @next/eslint-plugin-next

Tailwind CSS

要启用 Tailwind CSS 支持,你需要显式地启用:

// eslint.config.js
import janna from '@jannajs/lint/eslint'

export default janna({
  tailwind: true
})

运行 npx eslint 会提示你安装所需的依赖项,当然,你可以手动安装它们:

npm i -D eslint-plugin-tailwindcss

文档说明

开发调试

commitlint 调试

echo "foo" | npx commitlint

echo "feat\!: foo" | npx commitlint

echo "feat(module)\!: foo" | npx commitlint

echo "feat(模块)\!: foo" | npx commitlint

注意事项

报错形如 Error ERR_REQUIRE_ESM: Must use import to load ES Module: **/*/commitlint.config.ts

commitlint 使用 ts-node 加载模块导致,package.json 没有配置 "type": "module",如果确实不配置,那么可以尝试将 commitlint.config.ts 重命名为 commitlint.config.cts

3.1.0

8 months ago

3.0.0

8 months ago

3.0.0-next.19

9 months ago

3.0.0-next.20

9 months ago

3.0.0-next.11

12 months ago

3.0.0-next.10

12 months ago

3.0.0-next.13

12 months ago

3.0.0-next.12

12 months ago

3.0.0-next.18

10 months ago

3.0.0-next.15

10 months ago

3.0.0-next.14

11 months ago

3.0.0-next.17

10 months ago

3.0.0-next.16

10 months ago

3.0.0-next.9

12 months ago

3.0.0-next.8

12 months ago

3.0.0-next.7

1 year ago

3.0.0-next.6

1 year ago

3.0.0-next.5

1 year ago

3.0.0-next.4

1 year ago

3.0.0-next.3

1 year ago

3.0.0-next.2

1 year ago

3.0.0-next.1

1 year ago

3.0.0-next.0

1 year ago

2.3.0

2 years ago

2.3.2

2 years ago

2.3.1

2 years ago

2.3.4

2 years ago

2.3.3

2 years ago

2.3.6

2 years ago

2.3.5

2 years ago

2.3.8

2 years ago

2.3.7

2 years ago

2.3.9

2 years ago

2.2.1

3 years ago

2.1.2

3 years ago

2.2.0

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

1.0.0

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago

0.0.0

3 years ago