Files
short-drama-agent-front/oxfmt.config.ts
T

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'
})