8.3.9-beat.2 • Published 12 months ago

epoint-mrc v8.3.9-beat.2

Weekly downloads
-
License
-
Repository
-
Last release
12 months ago

@epoint-mrc 移动前端跨端框架仓库

M8移动前端跨端框架使用monorepo仓库,将所有跨端框架的代码放在一个仓库中,使用pnpm维护发布,提高可维护性。why mono

全局安装 pnpm

首次使用,没有pnpm需要安装,如果已经安装,可以直接使用:

npm install -g pnpm

使用 pnpm 安装项目

pnpm install

会自动安装依赖,并且根据包名与版本号,自动互相关联packages中被依赖的工程。

使用 pnpm 添加远程依赖

pnpm --filter "@epoint-mrc/xxx" add xxx

# 指定安装源等
pnpm --filter "ejs.m8.mobileframe" add postcss-import@^12.0.1 -D --registry https://registry.npm.taobao.org

会对指定的仓库安装依赖。

使用 pnpm 运行指定包下的命令

pnpm --filter "ejs.m8.mobileframe" dev

此处的包名需要匹配子仓库下package.json中的name

清除项目node_modules依赖

未找到pnpm提供清除node_modules文件命令,使用npm run clean清除,并且会自动重新pnpm install安装依赖关联

npm run clean

开发调试子仓库

所有命令都可在epoint-mrc根目录执行

新建分支

  • 基于develop分支新建功能开发分支:
git checkout -b feature/xxx

功能开发调试

使用ejs.m8.mobileframe工程进行开发调试。

  • 运行ejs.m8.mobileframe工程;
pnpm --filter "ejs.m8.mobileframe" dev
  • 在子仓库中的改动会自动在ejs.m8.mobileframe工程中生效。

分支上传

  • feature/xxx分支上提交代码:
git add .
# 使用pnpm cz 代替 git commit -m "xxx"
pnpm cz 
git push

在git仓库中申请合并。

版本发布

跨端仓库使用 changesets 进行版本发布。

package.json中的scripts简写了changesetchangeset versionchangeset publish 命令。

提升版本

pnpm chs

使用changesets选择需要修改版本号的子仓库,一般回车跳过majorminor版本修改,只进行patch最后一位的版本号修改。

会生成一个changeset文件,需要提交到仓库中。

执行修改版本号

发布时,执行命令统一修改仓库的版本号:

会消耗changeset文件,对涉及的子仓库的package.json进行版本修改,子仓库依赖的关联依赖的版本会自动修改。

pnpm chs-v

发布

执行changeset publish 命令进行发布。

pnpm -r publish

预发布版本

有时需要发布spbeta等版本,通过 changeset 提供的 Prereleases 模式来实现。

命令为pnpm chs pre enter <tag>

<tag>可以为需要在版本后面添加的字符串,如spbeta等,例如:

pnpm chs pre enter sp

此时会进入预发布版本,.changeset文件夹下会生成一个per.json文件,表示预发布版本模式。

此时执行提升版本和执行修改版本号,会自动添加sp后缀

# 1-1 进入预发布模式
pnpm chs pre enter sp
# 1-2 提交变更集
pnpm chs
# 1-3 提升版本
pnpm chs-v
# 1-4 发包
pnpm -r publish
# 1-5 得到 1.0.0-sp.0 版本

完成版本发布之后,退出 Prereleases 模式:

pnpm chs pre exit
# 1-1 退出预发布模式
pnpm chs pre exit
# 1-2 提交变更集
pnpm chs
# 1-3 提升版本
pnpm chs-v
# 1-4 发包
pnpm -r publish
# 1-5 得到 1.0.1 版本