@bts-soft/创建-启动器
用于生产准备的NestJS 12 企业启动器模板的 CLI 模板生成器(Omar-Sa6ry/nest-starter) (中文(简体) ).
概览
@bts-soft/create-starter 为克隆,再品牌,并初始化生产级的NestJS后端提供零配置命令行接口. 将重复设置的活儿自动化:
- 克隆从 GitHub 直接取自官方启动存储器
degit。 。 。 . - 自动剥去内部脚手架目录( E)
create-starter/财务报告和审定财务报表media-frontend/) (中文(简体) ). - 执行递归多文件字符串替换自定义工程名称,软件包名称,数据库名称,以及服务标识符.
- 执行依赖性安装( E)
make install自动. - 为推出多克开发服务并启动应用程序提供可立即采取行动的下一步措施.
先决条件
确保您的主机系统满足以下要求:
- 节点.js数字 :
>= 22.0.0 - 无数字 :
>= 10.0.0 - 生产: GNU (韩语) 制作( 如果手工引用 npm/ docker 命令, 可选择)
- 嵌入器( D): 运行数据库、缓存和对象存储堆栈所需的
快速启动
1. 创建一个新项目
使用生成器执行 npm create数字 :
npm create @bts-soft/starter my-service
或者,如果运行命令时没有参数,交互式提示会请求目标工程名称:
npm create @bts-soft/starter
2. 自动发生的事情
在初始化期间, @bts-soft/create-starter 执行下列顺序:
- 下载仓库快照
Omar-Sa6ry/nest-starter#main(或#master) (中文(简体) ). - 清理开发脚手架目录 :
- 删除
create-starter/ - 删除
media-frontend/
- 删除
- 自定义服务配置 :
- 重命名软件包名称
package.json转到您的工程名称. - 调整 TypeORM 数据库名称( 例如 ).
my_service_db, (中文(简体) ),my_service_test_db, (中文(简体) ),my_service_staging) (中文(简体) ). - 更新提醒管理器、 Prometheus 任务名称以及 Docker 容器标识符 .
- 重命名软件包名称
- 自动更新依赖关系( E)
npm run update通过执行来安装依赖关系make install。 。 。 .
3. 今后的步骤
导航您新生成的工程文件夹 :
cd my-service
启动本地支持服务( PostgreSQL, Redis, MinIO S3, Prometheus):
make docker-dev-up
在开发监视模式中启动应用程序 :
make dev
项目结构目标
生成的项目预配置为:
- 雀巢号12: 在本土ECMAScript模块(ESM)下快活/快活.
- 图QL: 代号- 第一代计划与阿波罗服务器.
- 关系存储: TypeORM + PostgreSQL 有迁移,软删除等功能,并有种子.
- 记忆缓存状态( N): Redis 缓存管理器, 令牌黑名单, 并分发会话存储 .
- 安保和中非区域局: JWT 访问/再更新令牌旋转,Google OAuth 2.0,Helmet,CORS,以及许可装饰.
- 媒体文件处理( F): S3/MINIO相容的上传会话,多段上传,和BullMQ工人队列处理.
- 实时网关: 苏克特. 具有Redis适配器支持的IO网关用于水平集群.
- 多频道通知: Email (Nodemailer),SMS (Twilio),和Push通知 (Firebase Admin).
- 支付引擎: 统一网关,用于Frede,PayPal,Paymob,和Fawry Pay,并带有自动的webhook验证.
- 观察性: 普罗米修斯度量衡(
/metrics),健康探测器(/health, (中文(简体) ),/health/ready温斯顿/皮诺伐木系统具有微量相关性. - 堆栈:为发展、试验、中转和生产创造专门的环境.
出版和维护
要发布此 CLI 工具的新版本 :
- 更新版本编号
package.json数字 :npm version patch - 将更改提交到 GitHub .
- 认证软件包并将其发布到 npm 公共注册 :
npm publish --access public
许可证
此软件包根据 Apache-2.0 许可证。 。 。 .