@aurienbn/oxfmt-config
每个 JS/TS 重播一个 oxfmt 配置: 100 列,双引号,后置逗号,多行 JSDoc,排序 package.json。 。 。 .
pnpm add -D @aurelienbbn/oxfmt-config oxfmt # oxfmt >=0.67.0 <0.69.0 · Node ^22.19.0 || ^24.11.0
// oxfmt.config.ts
import { defineOxfmtConfig } from "@aurelienbbn/oxfmt-config";
import { defineConfig } from "oxfmt";
export default defineConfig(defineOxfmtConfig({ ignorePatterns: ["dist/**"] }));
平面 OxfmtConfig: 直接或作为 Vite+ 工作的 oxfmt fmt 配置, 不依赖 Vite+ .
出口
| 导出 | 什麽 |
|---|---|
defaultOxfmtConfig | 基线对象 |
defineOxfmtConfig(overrides?, options?) | 基线 + 您的覆盖, 新的克隆 |
OxfmtConfig | 类型,从 oxfmt |
基线值
| 设置 | 数值 |
|---|---|
printWidth | 100 |
tabWidth | 2 |
semi | true |
singleQuote | false |
trailingComma | "all" |
arrowParens | "always" |
jsdoc.commentLineStrategy | "multiline" |
sortPackageJson | true |
ignorePatterns | .agents/**, (中文(简体) ), **/*.wasm, (中文(简体) ), pnpm-lock.yaml |
overrides | [] |
列表合并, 其他都替换
defineOxfmtConfig(o) ignorePatterns, overrides → baseline + yours, deduplicated
defineOxfmtConfig(o, { replaceLists: true }) ignorePatterns, overrides → yours only (drops default ignores)
any other top-level key → yours wins
结果是a structuredClone数字 : 变换它从不碰 defaultOxfmtConfig。 。 。 .
兼容性矩阵: 已打包的配置 vs 基线和当前 oxfmt, 完整的依赖性声明检查, 干净且格式化不良的输入.