软件包配置
轻松地处理软件包配置
目录
发展
运行以下开始开发
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 赞助商。 。 。 .
警卫
如果你认为你发现了安全漏洞 我们鼓励你 负责地披露此事,不公开问题我们将调查所有合法的报告。 电子邮件 [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软件包.
解析类型脚本配置文件 .
参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
options | ParseTsConfigOptions | {} | (备选) 定义所需参数的对象. |
options.filepath | string | "./tsconfig.json" | (可选) TypeScript 配置文件路径. |
掷出
丢出一个 Error 如果解决了 filepath 不存在.
回返
类型 : ParsedCommandLine
解析后的类型脚本配置文件 .
实例
import { parseTsConfig } from '@alessiofrittoli/package-configs/tsconfig'
const parsedTsConfig = parseTsConfig({ filepath: './tsconfig.build.json' })
getTSConfigCompilerTarget()
[尖叫声]
@ 已过期
此函数已移动到
@alessiofrittoli/tsconfig软件包.
从已解析的配置文件中获取 TypeScript 编译器目标 .
参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
options | ParseTsConfigOptions | {} | (备选) 定义所需参数的对象. |
options.filepath | string | "./tsconfig.json" | (可选) TypeScript 配置文件路径. |
options.parsedTsConfig | ParsedCommandLine | - 说吧 | (备选) 已经解析的 TS 配置 . |
回返
类型 : string | undefined
已解决的 TypeScript 编译器目标( 如果有的话), undefined 否则.
实例
import { getTSConfigCompilerTarget } from '@alessiofrittoli/package-configs/tsconfig'
const compilerTarget = getTSConfigCompilerTarget({
filepath: './tsconfig.build.json',
})
ESlint 配置
eslintConfig()
获取 ESLint 基础配置.
参数
| 参数 | 类型 | 说明 |
|---|---|---|
configs | LinterConfigArray | (可选)自定义配置. |
回返
类型 : 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 基础配置.
参数
| 参数 | 类型 | 说明 |
|---|---|---|
configs | T & OxlintConfig | (可选)自定义配置. |
回返
类型 : OxlintConfig
奥克林特配置.
实例
// my-project/oxlint.config.ts
import { oxlintConfig } from "@alessiofrittoli/package-configs/oxlint";
export default oxlintConfig( {...} );
高级配置
prettierConfig()
获取 Prettier 基础配置.
参数
| 参数 | 类型 | 说明 |
|---|---|---|
configs | PrettierConfig | (可选)自定义配置. |
回返
类型 : PrettierConfig
Pretier配置图.
实例
// my-project/prettier.config.ts
import { prettierConfig } from "@alessiofrittoli/package-configs/prettier";
export default prettierConfig( {...} );
下调配置
tsdownConfig()
获取 tsdown 基础配置.
参数
| 参数 | 类型 | 说明 |
|---|---|---|
options | UserConfig|UserConfigFn | (备选) 定义自定义选项的对象或返回自定义选项对象的可调用函数. |
回返
类型 : UserConfigFn
可调用函数 tsdown 进程.
默认配置
| 财产 | 数值 |
|---|---|
entry | ["src/**\/index.ts"] |
format | ["cjs", "esm"] |
dts | true |
shims | true |
clean | true |
treeshake | true |
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 基础配置.
参数
| 参数 | 类型 | 说明 |
|---|---|---|
options | UserConfig | (备选) 一个定义自定义 Vite 配置选项的对象 . |
回返
类型 : UserConfigFnObject
具有基础和自定义 Vite 配置选项的对象.
默认配置
| 财产 | 数值 |
|---|---|
resolve.tsconfigPaths | true |
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 } }
由 所制
|
|
|