1.1.1 • Published 1 year ago

@ifanrx/scaffolder v1.1.1

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

脚手架 @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/uni-mp@1.1.0 # 指定依赖以及版本号
pnpm dlx @ifanrx/scaffolder update-package @ifanrx/uni-mp@latest # 更新至最新版本
1.1.1

1 year ago

1.1.0

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.0.10

1 year ago

0.0.11

1 year ago

0.0.12

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago