@alessiofrittoli/package-configs

中文文档
1.12.0发布于 2026/10/30MITTypeScriptESM + CJS近 30 天下载 3642

为您的软件包提供基础配置的工具库 .

中文使用文档
文档目录5 节
  1. 轻松地处理软件包配置
  2. 目录
  3. 发展
  4. API 参考
  5. 由 所制

软件包配置

轻松地处理软件包配置

Latest version Test coverage Socket Security score npm downloads Dependencies Dependencies status

minified minizipped Tree shakable

Fund this package

目录


发展

运行以下开始开发

nvm use

pnpm i

地方发展

运行以下

pnpm dev

这将生成未忽略的输出代码, 源图并启用源文件监视器 .


生产建设

运行以下来创建本地生产建筑

pnpm build

这将生成没有源代码的已修改输出代码 .


单位测试

通过运行下列程序运行所有定义的测试套件 :

# Run tests and watch file changes.
pnpm test:watch

# Run tests in a CI environment.
pnpm test:ci

进行覆盖测试

然后开始使用 HTTP 服务器服务覆盖文件 ./coverage 文件夹.

您可以在您第一次运行此命令时看到空白页 。 只需刷新浏览器即可看到更新 .

pnpm test:coverage:serve

捐款

献礼真受欢迎!

请参看 贡献文件 了解如何开始为该项目作出贡献的更多信息.

帮助更新此项目 GitHub 赞助商。 。 。 .

GitHub Sponsor


警卫

如果你认为你发现了安全漏洞 我们鼓励你 负责地披露此事,不公开问题我们将调查所有合法的报告。 电子邮件 [email protected] 披露任何安全弱点.


API 参考

安装可选依赖性

此软件包提供了一个脚本, 它将通过基于当前工程工具的依赖性安装来引导您 .

一旦安装 @alessiofrittoli/package-configs 您可以运行如下:

node node_modules/@alessiofrittoli/package-configs/scripts/install-dependencies.cjs

类型脚本配置

此工程输出不同的配置 JSON 文件以及您在项目中可能需要的一些工具功能 .

类型脚本配置文件
基础配置文件

此文件旨在 base 进程并主要包含您的 IDE 所需的所有配置.

{
  "extends": "@alessiofrittoli/package-configs/tsconfig/base.json",
  "compilerOptions": {
    "paths": {
      "@/*": ["./src/*"]
    }
  }
}

反应捆绑器配置文件
{
  "extends": "@alessiofrittoli/package-configs/tsconfig/react-bundler.json"
}

下个. JS 捆绑器配置文件
{
  "extends": "@alessiofrittoli/package-configs/tsconfig/nextjs-bundler.json"
}

类型脚本工具函数
parseTsConfig()

[尖叫声]

@ 已过期

此函数已移动到 @alessiofrittoli/tsconfig 软件包.

解析类型脚本配置文件 .

参数
参数类型默认说明
optionsParseTsConfigOptions{}(备选) 定义所需参数的对象.
options.filepathstring"./tsconfig.json"(可选) TypeScript 配置文件路径.

掷出

丢出一个 Error 如果解决了 filepath 不存在.


回返

类型 : ParsedCommandLine

解析后的类型脚本配置文件 .


实例
import { parseTsConfig } from '@alessiofrittoli/package-configs/tsconfig'

const parsedTsConfig = parseTsConfig({ filepath: './tsconfig.build.json' })

getTSConfigCompilerTarget()

[尖叫声]

@ 已过期

此函数已移动到 @alessiofrittoli/tsconfig 软件包.

从已解析的配置文件中获取 TypeScript 编译器目标 .

参数
参数类型默认说明
optionsParseTsConfigOptions{}(备选) 定义所需参数的对象.
options.filepathstring"./tsconfig.json"(可选) TypeScript 配置文件路径.
options.parsedTsConfigParsedCommandLine- 说吧(备选) 已经解析的 TS 配置 .

回返

类型 : string | undefined

已解决的 TypeScript 编译器目标( 如果有的话), undefined 否则.


实例
import { getTSConfigCompilerTarget } from '@alessiofrittoli/package-configs/tsconfig'

const compilerTarget = getTSConfigCompilerTarget({
  filepath: './tsconfig.build.json',
})

ESlint 配置

eslintConfig()

获取 ESLint 基础配置.

参数
参数类型说明
configsLinterConfigArray(可选)自定义配置.

回返

类型 : LinterConfigArray

ESLint配置阵列.


实例
使用标准配置文件
// my-project/eslint.config.ts
import { eslintConfig } from "@alessiofrittoli/package-configs/eslint";

export default eslintConfig( {...}, {...} );

使用 React.js 配置文件
// my-project/eslint.config.ts
import { reactProfile } from '@alessiofrittoli/package-configs/eslint/profiles/react'
import { eslintConfig } from '@alessiofrittoli/package-configs/eslint'

export default eslintConfig(...reactProfile)

使用 Next.JS 配置文件
// my-project/eslint.config.ts
import { nextjsProfile } from '@alessiofrittoli/package-configs/eslint/profiles/nextjs'
import { eslintConfig } from '@alessiofrittoli/package-configs/eslint'

export default eslintConfig(...nextjsProfile)

氧化剂配置

oxlintConfig()

获取 Oxlint 基础配置.

参数
参数类型说明
configsT & OxlintConfig(可选)自定义配置.

回返

类型 : OxlintConfig

奥克林特配置.


实例
// my-project/oxlint.config.ts
import { oxlintConfig } from "@alessiofrittoli/package-configs/oxlint";

export default oxlintConfig( {...} );

高级配置

prettierConfig()

获取 Prettier 基础配置.

参数
参数类型说明
configsPrettierConfig(可选)自定义配置.

回返

类型 : PrettierConfig

Pretier配置图.


实例
// my-project/prettier.config.ts
import { prettierConfig } from "@alessiofrittoli/package-configs/prettier";

export default prettierConfig( {...} );

下调配置

tsdownConfig()

获取 tsdown 基础配置.

参数
参数类型说明
optionsUserConfig|UserConfigFn(备选) 定义自定义选项的对象或返回自定义选项对象的可调用函数.

回返

类型 : UserConfigFn

可调用函数 tsdown 进程.


默认配置
财产数值
entry["src/**\/index.ts"]
format["cjs", "esm"]
dtstrue
shimstrue
cleantrue
treeshaketrue
minify!watch
sourcemap!!watch
target解析 tsconfig 目标
deps{ ... }

实例
// my-project/tsdown.config.ts

import { tsdownConfig } from '@alessiofrittoli/package-configs/tsdown'
import { join, resolve } from 'path'

const tsConfigFile = 'tsconfig.build.json'

export default tsdownConfig(({ outDir = 'example-custom-directory' }) => ({
  tsconfig: resolve(process.cwd(), tsConfigFile),
  outDir,
  copy: [
    {
      from: 'src/assets',
      to: join(outDir, 'assets'),
    },
  ],
}))

虚拟配置

viteConfig()

获取 vite 基础配置.

参数
参数类型说明
optionsUserConfig(备选) 一个定义自定义 Vite 配置选项的对象 .

回返

类型 : UserConfigFnObject

具有基础和自定义 Vite 配置选项的对象.


默认配置
财产数值
resolve.tsconfigPathstrue
test.reporters["tree"]|[] 基于 VITEST_VSCODE 环境变量.
test.coverage.exclude["**/*.mock.ts", "**/__tests__/**/*.mock.ts"]

实例
// my-project/vite.config.ts

/// <reference types="vitest/config" />
import { viteConfig } from "@alessiofrittoli/package-configs/vite";

export default viteConfig( {...} )

马克下林特配置

为了帮助您在写下标记文档时拥有更好的DX,这个库为您提供了一套基本林入规则.

简单创建 .markdownlint.json 文件位于您的工程根并像这样配置 :

{
  "extends": "@alessiofrittoli/package-configs/markdownlint/base.json"
}

[尖叫声]

进口 base.json 用途 https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.41.0/schema/markdownlint-config-schema.json 在用户/项目 JSON 设置文件中添加以下设置:

{
  "json.schemaDownload.trustedDomains": {
    "https://raw.githubusercontent.com/DavidAnson/markdownlint/": true
  }
}

由 所制

avatar
阿莱西奥·弗里托利
https://alessiofrittoli.it (英语) | (原始内容存档于2018-10-21) (英语). info.it

版本与发布记录

@alessiofrittoli/package-configs 共发布 26 个版本,首次发布于 2026/09/28;过去 12 个月发布了 26 个版本。

版本发布日期距今
1.12.0latest2026/10/308 天前
1.11.02026/10/2711 天前
1.10.12026/10/2711 天前
1.10.02026/10/2711 天前
1.9.02026/10/2414 天前
1.8.12026/10/2414 天前

其他发布通道:alpha → 1.8.0-alpha.10。

关于 @alessiofrittoli/package-configs 的常见问题

@alessiofrittoli/package-configs 是什么?

为您的软件包提供基础配置的工具库 .

如何安装 @alessiofrittoli/package-configs?

在项目目录运行 npm install @alessiofrittoli/package-configs,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:typescript(^6.0.3)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@alessiofrittoli/package-configs 支持 TypeScript 吗?

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

@alessiofrittoli/package-configs 支持 ESM 还是 CommonJS?

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

@alessiofrittoli/package-configs 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24.15.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@alessiofrittoli/package-configs 可以商用吗?

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

@alessiofrittoli/package-configs 的下载量有多少?

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

@alessiofrittoli/package-configs 还在维护吗?

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