@blgc/config

中文文档
0.1.2发布于 2026/08/08MITESM + CJS近 30 天下载 7307

用于构建器组项目的共享类型脚本、 ESLint、 Pretier 和 Vitest 配置

中文使用文档
文档目录16 节
  1. 安装
  2. 使用量
  3. 高级
  4. ESLint 语录
  5. 类型脚本
  6. 维特
  7. 财务问题
  8. 我需要安装每个对等工具吗?
  9. 我能超越规则吗?
  10. 为什么ESLint报告警告而不是失败?
  11. 为什么共享配置文件是共同JS?
  12. 为什么"反应ESLint"配置使用"jiti"??
  13. 为什么库 TypeScript 配置使用模块保存?
  14. 为什么不启用每个严格的 TypeScript 旗?
  15. 为什么把这些配置放在包里?
  16. 贷项

@blgc/config banner

GitHub License NPM total downloads Join Discord

@blgc/config 是 Builder Group 用于 TypeScript 项目的共享配置包。 它在一个版本的依赖性中保持了格式化,linting,类型检查,和节点测试默认,因此包可以共享严格的工具行为而无需复制配置文件.

  • 格式代码, Markdown, 导入, Tailwind 类, 以及包含一个 Pretier 配置的软件包
  • 为库、React、Next.js和TanStack项目选择平面的 ESLint 预设
  • 扩展捆绑库、 DOM 库、 节点 20、 React、 Next.js 和 TanStack 的 TypeScript 预设
  • 重新使用带有 TypeScript 路径分辨率和覆盖记录员的 Vitest 节点预设
// eslint.config.js
module.exports = [...require('@blgc/config/eslint/library')];
// tsconfig.json
{
  "extends": "@blgc/config/typescript/library",
  "include": ["src"]
}
{
  "prettier": "@blgc/config/prettier"
}

从 0.0.x看到了吗 移民.md。 。 。 .

安装

安装配置包 :

npm install -D @blgc/config

安装您项目使用的入口工具包 :

# ESLint presets
npm install -D eslint typescript

# Prettier config
npm install -D prettier

# TypeScript configs
npm install -D typescript

# Vitest config
npm install -D vitest

共享插件依赖性解析自 @blgc/config,因此项目只需要安装它们直接运行的工具包.

使用量

使用匹配工具或项目类型的切入点 :

入境点用于
@blgc/config/prettier共享格式和排序规则
@blgc/config/eslint/base自定义预设共享的 ESLint 基础
@blgc/config/eslint/library类型脚本库
@blgc/config/eslint/react反应软件包和 Vite 应用程序
@blgc/config/eslint/nextNext.js 应用程序
@blgc/config/eslint/tanstackTanStack 路由器或 TanStack 启动应用程序
@blgc/config/typescript/base共享严格的类型脚本默认值
@blgc/config/typescript/library没有 DOM 全局化的捆绑库
@blgc/config/typescript/library-dom使用 DOM 全局化的捆绑库
@blgc/config/typescript/node20节点 20 套件和工具
@blgc/config/typescript/react反应软件包和 Vite 应用程序
@blgc/config/typescript/nextNext.js 应用程序
@blgc/config/typescript/tanstackTanStack 应用程序
@blgc/config/vitest/node节点测试环境

高级

引用共享配置来自 package.json数字 :

{
  "prettier": "@blgc/config/prettier"
}

该配置包括:

  • LF行结尾,代码文件标签,两相距马克下缩进,单引号,分号,以及 printWidth: 100
  • 导入排序通过 @ianvs/prettier-plugin-sort-imports
  • 软件包.json 订购通过 prettier-plugin-packagejson
  • 尾风类排序通过 prettier-plugin-tailwindcss

Pretier 插件从 @blgc/config,因此消耗性软件包不需要直接安装这些插件.

需要 Tailwind v4 样式表路径或 Tailwind v3 配置路径的项目可以在本地扩展配置 :

module.exports = {
  ...require('@blgc/config/prettier'),
  tailwindStylesheet: './src/styles.css'
};

ESLint 语录

使用平面配置从 eslint.config.js数字 :

// CommonJS
module.exports = [
  ...require('@blgc/config/eslint/library'),
  {
    rules: {
      // local overrides
    }
  }
];
// ESM
import libraryConfig from '@blgc/config/eslint/library';

export default [
  ...libraryConfig,
  {
    rules: {
      // local overrides
    }
  }
];

按项目类型选择预设 :

预设添加数
@blgc/config/eslint/baseJavaScript, TypeScript, Turbo, 警告模式, Pretier, 忽略
@blgc/config/eslint/libraryTypeScript 软件包代码的基础配置
@blgc/config/eslint/react浏览器 Globals, JSX 解析, ESLint React, React Hooks
@blgc/config/eslint/next重现配置, Next.js Core Web Vitals, Next.js 构建忽略
@blgc/config/eslint/tanstack重现配置, TanStack 构建忽略, Vite env- var 允许列表

基础预设用途 @eslint/js 建议的规则, typescript-eslint 严格规则, Turbo env-var 警告, 生成/ 构建文物忽略, 配置文件的节点全局, 以及 Pretier 兼容性 。 共享规则结果报告为警告 eslint-plugin-only-warn; 使用 eslint --max-warnings=0 当项目准备执行干净结果时,在CI中.

类型脚本

扩展最近的类型脚本配置 :

{
  "extends": "@blgc/config/typescript/library",
  "compilerOptions": {
    "outDir": "./dist",
    "rootDir": "./src",
    "declarationDir": "./dist/types"
  },
  "include": ["src"]
}

可用的配置 :

配置用于
@blgc/config/typescript/base共享严格的基础设置
@blgc/config/typescript/library没有 DOM API 的捆绑库
@blgc/config/typescript/library-dom使用 DOM 全球的图书馆
@blgc/config/typescript/node20节点 20 套件和工具
@blgc/config/typescript/react反应软件包和 Vite 应用程序
@blgc/config/typescript/nextNext.js 应用程序
@blgc/config/typescript/tanstackTanStack 应用程序

默认知道:基础配置使用ES2022, module: preserve,捆绑模块分辨率,强制模块检测,声明输出,声明地图, skipLibCheck,并严格类型检查。 TypeScript未使用的检查停止,因为ESLint拥有未使用的诊断.

使用 @blgc/config/typescript/library 当一个包通过捆绑器释放出JavaScript时,并使用TypeScript来发布声明. 使用 @blgc/config/typescript/node20 用于发送 JavaScript 的节点软件包或工具 tsc。 。 。 .

维特

想要默认测试设置时合并共享的 Vitest 节点配置 :

import { nodeConfig } from '@blgc/config/vitest/node';
import { defineConfig, mergeConfig } from 'vitest/config';

export default mergeConfig(
  nodeConfig,
  defineConfig({
    test: {
      // project-specific test options
    }
  })
);

节点配置设置了节点测试环境,实现了TypeScript路径解析,并使用文本,JSON,和HTML覆盖记录员.

财务问题

我需要安装每个对等工具吗?

没有。 安装您运行的工具 。 例如,只扩展TypeScript配置的软件包不需要安装ESLint,Prettier,或Vitest.

我能超越规则吗?

对 在共享配置后添加另一个配置对象 eslint.config.js,添加 compilerOptions 内 tsconfig.json,或将特定项目选项传递给 mergeConfig 为了维特.

为什么ESLint报告警告而不是失败?

共享的 ESLint 配置首先是一个准则. 规则的发现报告为警告,这样人类和特工们就可以在不阻碍当地工作的情况下看到什么改进.

使用 eslint --max-warnings=0 在 CI 或软件包脚本中,当项目准备执行干净的插件结果时.

为什么共享配置文件是共同JS?

CommonJS保留了从CommonJS和无害环境管理项目配置中可以使用的配置包. 无害环境管理项目可以导入普通JS预设,但普通JS项目不能同步 require() 无害环境管理预设.

为什么"反应ESLint"配置使用"jiti"??

@eslint-react/eslint-plugin 仅限无害环境管理. jiti 让 CommunityJS ESLint 预设加载插件而不强制每个消费者迁移其 eslint.config.js 对无害环境管理的考虑.

为什么库 TypeScript 配置使用模块保存?

大多数"构建者"组包让"Rollup"或"esbuilt"放出JavaScript并让"TypeScript"放出声明. module: preserve 让 TypeScript 的导入分辨率更接近这些捆绑者所看到的. 以 JavaScript 发布节点包 tsc 应当使用节点预设或覆盖 compilerOptions.module。 。 。 .

为什么不启用每个严格的 TypeScript 旗?

像旗帜 exactOptionalPropertyTypes, (中文(简体) ), verbatimModuleSyntax,以及 erasableSyntaxOnly 它们是有用的迁移目标,但它们要求进行源一级清理,或不允许当前源模式。 一旦一个项目为更严格的合同做好准备,就在当地启用.

为什么把这些配置放在包里?

一个软件包保持默认版本,可审查,可再使用. 项目可以更新一个依赖,而不是手工复制配置变化.

贷项

版本与发布记录

@blgc/config 共发布 31 个版本,首次发布于 2024/08/02;过去 12 个月发布了 6 个版本。

版本发布日期距今
0.1.2latest2026/08/083 个月前
0.1.12026/07/283 个月前
0.1.02026/05/275 个月前
0.0.422026/05/046 个月前
0.0.412026/04/087 个月前
0.0.402026/01/159 个月前

关于 @blgc/config 的常见问题

@blgc/config 是什么?

用于构建器组项目的共享类型脚本、 ESLint、 Pretier 和 Vitest 配置

如何安装 @blgc/config?

在项目目录运行 npm install @blgc/config,或使用 pnpm add / yarn add / bun add。

@blgc/config 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/blgc__config 是否存在。

@blgc/config 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@blgc/config 可以商用吗?

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

@blgc/config 的下载量有多少?

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

@blgc/config 还在维护吗?

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