70 lines
1.9 KiB
TypeScript
70 lines
1.9 KiB
TypeScript
import { defineConfig } from 'oxfmt'
|
|
|
|
/** 项目的 Oxfmt 格式化规则 */
|
|
export default defineConfig({
|
|
// 单参数箭头函数省略括号
|
|
arrowParens: 'avoid',
|
|
// 多行标签的右尖括号单独换行
|
|
bracketSameLine: false,
|
|
// 对象大括号保留空格
|
|
bracketSpacing: true,
|
|
// 自动格式化嵌入代码
|
|
embeddedLanguageFormatting: 'auto',
|
|
// 统一使用 LF 换行
|
|
endOfLine: 'lf',
|
|
// 按 CSS 规则处理 HTML 空白
|
|
htmlWhitespaceSensitivity: 'css',
|
|
// 排除生成物、依赖和文档
|
|
ignorePatterns: [
|
|
'dist',
|
|
'coverage',
|
|
'docs',
|
|
'node_modules',
|
|
'README*.md',
|
|
|
|
'.agent',
|
|
'.agents',
|
|
'.codex',
|
|
'.claude',
|
|
'.langgraph_api',
|
|
'.worktree',
|
|
'*.lock',
|
|
'*-lock.yaml'
|
|
],
|
|
// 文件末尾保留换行
|
|
insertFinalNewline: true,
|
|
// JSON 系列文件单独配置
|
|
overrides: [
|
|
{
|
|
// 匹配 JSON、JSON5 和 JSONC
|
|
files: ['*.json', '*.json5', '*.jsonc', '**/*.json', '**/*.json5', '**/*.jsonc'],
|
|
options: {
|
|
// 保留原有属性引号
|
|
quoteProps: 'preserve',
|
|
// JSON 使用双引号
|
|
singleQuote: false,
|
|
// JSON 不添加尾逗号
|
|
trailingComma: 'none'
|
|
}
|
|
}
|
|
],
|
|
// 单行最大 120 字符
|
|
printWidth: 120,
|
|
// 不自动折叠 Markdown 文本
|
|
proseWrap: 'never',
|
|
// 仅必要时给属性名加引号
|
|
quoteProps: 'as-needed',
|
|
// 语句末尾不加分号
|
|
semi: false,
|
|
// JavaScript 使用单引号
|
|
singleQuote: true,
|
|
// 不自动排序导入
|
|
sortImports: false,
|
|
// 不自动排序 package.json
|
|
sortPackageJson: false,
|
|
// 使用四空格缩进
|
|
tabWidth: 4,
|
|
// 多行结构不添加尾逗号
|
|
trailingComma: 'none'
|
|
})
|