Appearance
ESLint 配置
UnoCSS 的 ESLint 配置:@unocss/eslint-config
。
安装
bash
pnpm add -D @unocss/eslint-config
bash
yarn add -D @unocss/eslint-config
bash
npm install -D @unocss/eslint-config
bash
bun add -D @unocss/eslint-config
在 扁平配置风格 中:
js
import unocss from '@unocss/eslint-config/flat'
export default [
unocss,
// other configs
]
在传统的 .eslintrc
风格中:
json
{
"extends": [
"@unocss"
]
}
规则
@unocss/order
- 强制类选择器遵循特定顺序。@unocss/order-attributify
- 强制属性化选择器遵循特定顺序。@unocss/blocklist
- 禁止使用特定的类选择器 [可选]。@unocss/enforce-class-compile
- 强制类编译 [可选]。
可选规则
这些规则默认未启用。若要启用,请在 .eslintrc
中添加以下内容:
json
{
"extends": [
"@unocss"
],
"rules": {
"@unocss/<rule-name>": "warn", // or "error",
"@unocss/<another-rule-name>": ["warn" /* or "error" */, { /* options */ }]
}
}
@unocss/blocklist
当使用与 blocklist
中列出的工具类匹配的工具类时,会抛出警告或错误。
你可以通过使用元对象的 message
属性来自定义被阻止规则的消息,使其更具信息性和针对性:
ts
export default defineConfig({
blocklist: [
['bg-red-500', { message: 'Use bg-red-600 instead' }],
[/-auto$/, { message: s => `Use ${s.replace(/-auto$/, '-a')} instead` }], // -> "my-auto" is in blocklist: Use "my-a" instead
],
})
@unocss/enforce-class-compile
🔧
此规则旨在与 编译类转换器 配合使用。
当类属性或指令不以 :uno:
开头时,抛出警告或错误。
🔧 自动为所有类属性和指令添加前缀 :uno:
。
选项:
prefix
(字符串) - 可与 自定义前缀 结合使用。默认值::uno:
enableFix
(布尔值) - 当值为false
时,可用于逐步迁移。默认值:true
注意:目前仅支持 Vue。如果你希望在 JSX 中使用,请 提交一个 PR。如果你正在 Svelte 中寻找此功能,你可能需要查看 svelte-scoped
模式。
先前成果
感谢 @devunt 开发的 eslint-plugin-unocss。