@univa/tsconfig
v0.0.2
Published
Shared TypeScript configuration for univa
Readme
@univa/tsconfig
📦 共享的 TypeScript 配置,专为 univa 项目设计
安装
# npm
npm install -D @univa/tsconfig
# pnpm
pnpm add -D @univa/tsconfig
# yarn
yarn add -D @univa/tsconfig使用方式
应用项目
{
"extends": "@univa/tsconfig/app"
}基础配置
如果只需要编译选项,不需要文件配置:
{
"extends": "@univa/tsconfig/base"
}配置说明
tsconfig.base.json
基础配置,只包含 compilerOptions,不包含文件配置。
主要特性:
target: "ESNext"- 使用最新的 ECMAScript 特性module: "ESNext"- 使用 ES 模块moduleResolution: "bundler"- 使用 bundler 模式解析模块strict: true- 启用所有严格类型检查选项jsxImportSource: "vue"- Vue 3 JSX 支持
tsconfig.app.json
应用项目配置,继承自 tsconfig.base.json。
额外配置:
types: 包含@dcloudio/types和@univa/core/clientinclude: 包含src/**/*.ts、src/**/*.d.ts、src/**/*.tsx、src/**/*.vueexclude: 排除node_modules和dist
自定义配置
添加额外的类型
{
"extends": "@univa/tsconfig/app",
"compilerOptions": {
"types": [
"@dcloudio/types",
"@univa/core/client",
"vite/client"
]
}
}自定义 include
⚠️ 注意:include 和 exclude 是覆盖,不是合并!
{
"extends": "@univa/tsconfig/app",
"include": [
"src/**/*.ts",
"src/**/*.d.ts",
"src/**/*.tsx",
"src/**/*.vue",
"tests/**/*.ts"
]
}TypeScript 继承规则
| 字段 | 行为 |
|------|------|
| compilerOptions | 合并(用户配置覆盖同名选项) |
| include | 覆盖 |
| exclude | 覆盖 |
| files | 覆盖 |
License
MIT
