JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3053
  • Score
    100M100P100Q121563F
  • License MIT

A simple vite-plus lint configuration (oxlint)

Package Exports

  • @configurajs/vite-plus

Readme

@configurajs/vite-plus

English

Vite+ 项目提供的开箱即用 Oxlint + Oxfmt 配置预设。

特性

  • TypeScript(默认开启)
  • Vue 3(默认开启)
  • React(按需开启)
  • Vitest(默认开启)
  • Oxfmt 格式化,支持 import 排序和 Tailwind CSS class 排序
  • 开箱即用的 lint-staged 预设

安装

pnpm add -D @configurajs/vite-plus

使用

Oxc 配置文件

在项目根目录创建 oxlint.config.ts

// oxlint.config.ts
import { lint } from '@configurajs/vite-plus'

export default lint()

在项目根目录创建 oxfmt.config.ts

// oxfmt.config.ts
import { fmt } from '@configurajs/vite-plus'

export default fmt()

Vite+ 配置文件

如果你使用的是 Vite+,可以直接在 vite.config.ts 中配置 lint、fmt 和 staged:

// vite.config.ts
import { defineConfig } from 'vite-plus'
import { lint, fmt, staged } from '@configurajs/vite-plus'

export default defineConfig({
  lint: lint(),
  fmt: fmt(),
  staged: staged(),
})

Lint 选项

lint({
  // 启用 TypeScript 支持(默认:true)
  ts: true,
  // 启用 Vue 支持,默认 Vue 3(默认:true)
  vue: true, // 或 { version: 2 }
  // 启用 React 支持(默认:false)
  react: false,
  // 启用 Vitest 支持(默认:true)
  vitest: true,
  // 自定义规则
  rules: {
    'no-console': 'error',
  },
  // 忽略文件模式
  ignores: ['**/generated/**'],
  // 额外的 overrides
  overrides: [
    {
      files: ['scripts/**'],
      rules: { 'no-console': 'off' },
    },
  ],
})

Fmt 选项

fmt({
  // 忽略文件模式
  ignores: ['**/generated/**'],
})

Staged

staged() 返回一个预设的 lint-staged 配置:

staged()
// 等同于:
// {
//   '*.{js,jsx,ts,tsx,vue}': ['vp fmt --no-error-on-unmatched-pattern', 'vp lint --fix'],
//   '*.{md,json,yaml,yml,html,css,scss,less}': 'vp fmt --no-error-on-unmatched-pattern',
// }
  • js / jsx / ts / tsx / vue — 格式化 + lint 修复
  • md / json / yaml / yml / html / css / scss / less — 仅格式化

VSCode 工作区配置

.vscode/settings.json 中添加:

{
  "prettier.enable": false,
  "eslint.enable": false,
  "editor.defaultFormatter": "oxc.oxc-vscode",
}

License

MIT