@ifanrx/scaffolder
v1.1.1
Published
Scaffolding CLI for generating projects or update project dependencies
Downloads
7
Readme
脚手架 @ifanrx/scaffolder
@ifanrx/scaffolder
脚手架工具有以下核心功能:
- 快速创建项目(init):轻松创建项目初始结构。
- 拉取模板代码(pull):无缝迭代到现有项目中。
- 快速升级依赖(update-package):可一键升级
@ifanrx/*
系列依赖包至指定版本。
Usage: @ifanrx/scaffolder [command] [options]
Scaffolding CLI for generating projects or update project dependencies
Options:
-v, --version 查看版本信息
-h, --help 查看帮助信息
Commands:
init [options] [template] 快速创建项目
pull [options] [template] 拉取模板代码到现有项目中
update-package [packageName] 一键升级 @ifanrx/* 系列依赖包至指定版本
help [command] display help for command
tips: 可通过 [command] -h 查看每个命令的使用方法
快速创建项目
使用 init
命令可快速创建一个新项目,常规操作流程是:先创建代码仓库,拉取代码仓库到本地,然后在项目根目录运行:
pnpm dlx @ifanrx/scaffolder init
根据提示填写项目配置信息,即可基于最新模板快速构建一个全新项目。
Usage: @ifanrx/scaffolder init [options] [template]
快速创建项目
Arguments:
template 模板类型 (choices: "app", "miniapp", "dashboard", "faas")
Options:
--name 英文项目名称(默认创建在当前目录)
--description 中文项目名称
--appid appid
--clientId, --client_id 知晓云 client id
--clientSecret, --client_secret 知晓云 client secret
--envId, --env_id 知晓云 env id
--qaClientId, --qa_client_id 知晓云 QA client id
--projectType, --project_type 项目类型 (choices: "yghact", "business")
--useZAA 是否接入 0AA
--initHgFlow 是否初始化 hg flow
--autoCommit 是否自动 commit
-h, --help display help for command
:::tip
init
命令有以下几种使用方式:
# 不指定模板类型,会询问模板类型,其中 app 包含所有模板
pnpm dlx @ifanrx/scaffolder init
# 只需要创建某个模板
pnpm dlx @ifanrx/scaffolder init dashboard
# 直接设置参数值
pnpm dlx @ifanrx/scaffolder init --name=test --description=示例项目 ...
:::
拉取模板代码
使用 pull
命令可快速将最新的模板代码迭代更新到现有项目中,方便后续添加统一公用代码。
适用于以下场景:
- 需要在现有项目中合并最新的公共模板代码
- 希望利用最新模板提供的新功能或改进
- 保持项目代码与最新模板保持同步和一致
该命令在活动集等类型项目中尤为实用,因为这些项目的运营后台结构基本一致,后续都将采用这种方式统一管理和迭代升级项目的基础通用代码模块。
常规操作流程是:当模板代码有更新且需要将其合并到现有项目时,只需在项目根目录下运行:
pnpm dlx @ifanrx/scaffolder pull [template] # 目前仅支持 dashboard 模板
执行命令后,如遇到冲突文件,会得到提示,根据情况选择合并策略:
conflict package.json
? Overwrite package.json? (ynarxdeiH)
合并策略如下:
- y - 覆盖文件
- n - 跳过该文件
- a - 覆盖所有文件
- d - 查看当前与远端文件的区别(diff)
- e - 修改文件,这里修改的是远端文件内容,修改后再进行 diff
- i - 忽略该文件
- H - 查看帮助
快速升级依赖
使用 update-package
命令可一键将 @ifanrx/* 系列依赖包升级至指定版本。
由于 @ifanrx/* 包内的依赖与项目内依赖存在部分重叠,在依赖版本冲突时,有概率出现灵异现象,如:样式丢失、打包失败等。故在更新 @ifanrx/* 依赖时,需要同步共同依赖版本号。
以下 npm 包更新时需要同步依赖版本号:
- @ifanrx/uni-mp
- @ifanrx/dashboard
- @ifanrx/faas
因此,@ifanrx/* 依赖都必须使用以下命令进行更新:
pnpm dlx @ifanrx/scaffolder update-package # 手动选择依赖以及版本号
pnpm dlx @ifanrx/scaffolder update-package @ifanrx/uni-mp # 指定依赖,手动选择版本号
pnpm dlx @ifanrx/scaffolder update-package @ifanrx/[email protected] # 指定依赖以及版本号
pnpm dlx @ifanrx/scaffolder update-package @ifanrx/uni-mp@latest # 更新至最新版本