create-npkg
v0.0.12
Published
Create a new TypeScript npm package with best practices
Maintainers
Readme
create-npkg
快速创建符合最佳实践的 TypeScript npm 包
特性
- ✅ 现代化 TypeScript 配置(严格模式)
- ✅ ES2022 + NodeNext 模块系统
- ✅ 标准的 package.json 配置(含 exports 字段)
- ✅ 可选的 Git 初始化
- ✅ 可选的自动依赖安装
- ✅ 交互式命令行界面
- ✅ 快速模式支持(--yes 标志)
- ✅ 完善的测试套件(36 个测试)
- ✅ 类型安全的源代码
- ✅ 完善的 .gitignore 配置
- ✅ 支持路径别名(@src/*)
使用方法
交互式模式
npm create npkg@latest快速模式(使用默认配置)
npm create npkg@latest my-package -- --yes带选项的创建
npm create npkg@latest my-package -- --yes --no-git --no-install使用 npx
npx create-npkg my-package使用 Yarn
yarn create npkg my-package命令行选项
| 标志 | 说明 |
|------|------|
| --yes / -y | 跳过交互式提示,使用默认配置 |
| --no-git | 跳过 Git 仓库初始化 |
| --no-install | 跳过依赖安装 |
生成的项目结构
my-package/
├── .gitignore # 完善的忽略规则配置
├── package.json # 现代化 npm 配置(含 exports)
├── tsconfig.json # 严格模式的 TypeScript 配置
├── README.md # 自动生成的项目文档
└── src/
└── index.ts # 示例 TypeScript 代码生成的 package.json
{
"name": "your-package",
"version": "1.0.0",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"import": "./dist/index.js",
"types": "./dist/index.d.ts"
}
},
"scripts": {
"build": "tsc",
"dev": "tsc --watch",
"prepublishOnly": "npm run build"
},
"engines": {
"node": ">=18.0.0"
}
}TypeScript 配置
生成的 tsconfig.json 包含以下特性:
- ✅ 启用严格模式
- ✅ ES2022 目标版本
- ✅ NodeNext 模块解析
- ✅ 路径别名(@src/*)
- ✅ 声明文件映射
- ✅ 源码映射
- ✅ 所有严格检查选项
测试
create-npkg 拥有完善的测试套件:
# 运行测试
npm test
# 监听模式运行测试
npm run test:watch测试覆盖范围
- ✅ 包名验证(有效/无效用例)
- ✅ package.json 生成
- ✅ tsconfig.json 生成
- ✅ .gitignore 生成
- ✅ README.md 生成
- ✅ 源代码生成
- ✅ 测试文件生成
- ✅ 完整包创建流程
- ✅ 目录结构验证
- ✅ 不同许可证类型(MIT、Apache-2.0、ISC、BSD-3-Clause)
- ✅ 作者字段处理
- ✅ TypeScript 严格模式选项
36 个测试覆盖所有功能
开发
# 克隆仓库
git clone https://github.com/yourusername/create-npkg.git
cd create-npkg
# 安装依赖
npm install
# 构建
npm run build
# 运行测试
npm test
# 监听模式
npm run dev为什么选择 create-npkg?
vs Yeoman
- ✅ 无需全局安装
- ✅ 使用现代 npm 标准
- ✅ 更简单的 API
- ✅ 更快的执行速度
vs Shell 脚本
- ✅ 类型安全(TypeScript)
- ✅ 跨平台兼容
- ✅ 更好的错误处理
- ✅ 交互式命令行
- ✅ 美观的输出效果
vs 自定义脚本
- ✅ 完善的测试套件
- ✅ 内置最佳实践
- ✅ 持续更新
- ✅ 社区支持
许可证
MIT © [Your Name]
