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