@epic-web/config

中文文档
3.2.1发布于 2026/08/04MITTypeScriptES Module构建来源已验证近 30 天下载 10.2万

合理 Oxlint, Oxfmt, 以及史诗网络devs 的 TypeScript 配置

中文使用文档
文档目录8 节
  1. 问题
  2. 这个解决方案
  3. 决定
  4. 使用量
  5. Oxfmt( 处理中)
  6. 类型脚本
  7. 氧化剂
  8. 许可证

@ epic- web/ 配置

合理 Oxlint, Oxfmt, 以及史诗网络devs 的 TypeScript 配置

由此可以假设你喜欢开发软件的方式,并给你一些能真正帮助你开发的配置.

npm install @epic-web/config

Build Status MIT License Code of Conduct

问题

你是一个专业,但你已经成熟 足以知道,即使专业 可以犯错误,你珍惜你的时间 以不想浪费时间 配置代码质量工具或照看它们.

这个解决方案

此套件为目前该 repo 船的工具提供了共享默认:

  • 氧化剂
  • 氧化剂
  • 类型脚本

决定

您可以在下列网址了解该项目的不同决定: 决定文件。 。 。 .

使用量

技术上,你自己配置所有的东西, 但你可以使用配置在 这个项目是您项目的启动者(在某些情况下,您不需要 配置超出默认值的任何东西).

Oxfmt( 处理中)

安装 氧化剂 和这个一起 软件包( 它在 peerDependencies) (中文(简体) ).

这个 @epic-web/config/oxfmt 条目解决为平原 .js 预设( 此) 软件包的使用 "type": "module"因此节点不需要将类型脚本从 文件在 node_modules 当你延长它.

创建一个 oxfmt.config.ts 在工程根中的文件 :

import epicOxfmt from '@epic-web/config/oxfmt'
import { defineConfig } from 'oxfmt'

export default defineConfig({
    ...epicOxfmt,
    printWidth: 100,
})

奥克塞夫姆特没有 extends 字段; 扩展预设并设置任意 之后的顶级选项是您如何覆盖它(同样的想法是) ignorePatterns: 传播 epicOxfmt.ignorePatterns 和附件路径).

添加脚本( 见 移徙指南:

{
    "scripts": {
        "format": "oxfmt",
        "format:check": "oxfmt --check"
    }
}

共享配置 80 printWidth,标签(仅在 package.json 没有分号 单引号, trailingComma: "all"尾风课 通过本地排序 sortTailwindcss,并且 MDX 覆盖 proseWrap 编号 : htmlWhitespaceSensitivity。 Oxfmt 不支持的选项 (单位:千美元)insertPragma, (中文(简体) ), requirePragma页:1.

ignorePatterns 覆盖常见的构建、缓存、 Playwright、 Prisma 和跨度使用的锁文件路径 Epic项目。 在您的调整 defineConfig 如果您的布局不同.

自定义 Oxfmt

如果您想要大量定制, 您可以从中复制选项 oxfmt-preset.js 进入自己的配置。 对于小的微软, 继续展开 epicOxfmt 覆盖或扩展字段,例如 见上文.

使用 "type": "module" 在你身边 package.json 当您 oxfmt.config.ts 用途 import 编号 : export 语法(与其他无害环境管理工具相同).

类型脚本

创建一个 tsconfig.json 在工程根中包含以下内容的文件 :

{
    "extends": ["@epic-web/config/typescript"],
    "include": ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"],
    "compilerOptions": {
        "paths": {
            "#app/*": ["./app/*"],
            "#tests/*": ["./tests/*"]
        }
    }
}

创建一个 reset.d.ts 包含这些内容的文件 :

import '@epic-web/config/reset.d.ts'
自定义类型脚本

学习更多 这里的脚本文件。 。 。 .

氧化剂

创建一个 .oxlintrc.json 在工程根中包含以下内容的文件 :

{
    "extends": ["./node_modules/@epic-web/config/oxlint-config.json"]
}

此配置包括自定义 epic-web/* 记录的规则 lint-rules/index.md。 。 。 .

说明: typescript/no-misused-promises 财务报告和审定财务报表 typescript/no-floating-promises 为: 在 Oxlint 有类型意识, 并需要 Oxlint 中描述的类型意识设置 医生.

一些Oxlint规则ID 仍然使用 eslint/ 命名空间,因为这样 Oxlint揭露了这些兼容规则. 您不需要安装 ESLint 到 使用它们.

这个 epic-web/no-prettier-ignore 规则警告 prettier-ignore 在 Java 脚本中 和 TypeScript 注释并可以自动将其修正到 oxfmt-ignore 为了Oxfmt. 保留 prettier-ignore 在 Oxfmt 仍然推荐的情况下(例如,在 Vue); 见 内置忽略注释 医生.

尚未涵盖

以下规则家庭被故意省略,因为它们还没有 oxlint号的一部分配置了这个包船:

  • import/order
  • react-hooks/rules-of-hooks
  • react-hooks/exhaustive-deps
  • testing-library/*
  • jest-dom/*
  • 多数 vitest/* 规则
  • playwright/*

许可证

麻省理工学院

版本与发布记录

@epic-web/config 共发布 74 个版本,首次发布于 2024/05/25;过去 12 个月发布了 9 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.2.1latest2026/08/043 个月前
3.2.02026/07/094 个月前
3.1.02026/04/156 个月前
3.0.02026/04/156 个月前
2.0.02026/03/277 个月前
1.24.12026/03/018 个月前

关于 @epic-web/config 的常见问题

@epic-web/config 是什么?

合理 Oxlint, Oxfmt, 以及史诗网络devs 的 TypeScript 配置

如何安装 @epic-web/config?

在项目目录运行 npm install @epic-web/config,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:oxfmt(>=0.45.0 <1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@epic-web/config 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@epic-web/config 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@epic-web/config 可以商用吗?

@epic-web/config 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@epic-web/config 的下载量有多少?

根据 npm 官方下载统计,@epic-web/config 在 2026/10/14 – 2026/11/12 这 30 天内被下载 102,290 次,日均约 3,410 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@epic-web/config 还在维护吗?

最新版本 3.2.1 发布于 2026/08/04(3 个月前);至今共发布 74 个版本,其中过去 12 个月发布了 9 个;首次发布于 2024/05/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。