Socket
Book a DemoInstallSign in
Socket

@aplus-frontend/sync-cli

Package Overview
Dependencies
Maintainers
11
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aplus-frontend/sync-cli

aplus sync template for aplus-frontend team.

latest
npmnpm
Version
1.0.5
Version published
Maintainers
11
Created
Source

Aplus Sync Cli

NPM Version NPM Downloads NPM License

aplus 业务应用代码同步工具,用于在不同仓库间收集和同步代码,支持用户应用和管理应用。

提示: 本工具主要用于管理多仓库前端项目,简化代码同步与整合流程。

建议使用方式

npx @aplus-frontend/sync-cli [命令]

使用

# 显示帮助信息
npx @aplus-frontend/sync-cli  --help

# 更新用户模板
npx @aplus-frontend/sync-cli  up:user-template

# 收集用户子应用代码
npx @aplus-frontend/sync-cli  collect:user:son-all

# 更新管理员模板
npx @aplus-frontend/sync-cli  up:admin-template

可用命令

用户应用相关

命令描述
up:user-template收集aplus-manage-template特定分支拉取代码更新目标仓库,忽略subapp-base,subapp-mos,subapp-wms,subapp-bms
可选参数: --not-commit 只更新不产生提交记录
可选参数: --auto-push 更新完自动推送
可选参数: --branch 拉取分支名称,默认不设置就从.aplus-sync-rcaplus-user-sync-template-branch配置项读取
collect:user:base收集aplus-user-base项目的代码到目标仓
可选参数: --branch 拉取分支名称,默认dev-publish拉取库
collect:user:mos收集aplus-user-mos项目的代码到目标仓
可选参数: --branch 拉取分支名称,默认dev-publish拉取库
collect:user:wms收集aplus-user-wms项目的代码到目标仓
可选参数: --branch 拉取分支名称,默认dev-publish拉取库
collect:user:bms收集aplus-user-bms项目的代码到目标仓
可选参数: --branch 拉取分支名称,默认dev-publish拉取库
collect:user:son-all收集aplus-user,base,mos,wms,bms项目的代码到目标仓库
up:publish-user-app收集publish-user-app项目的代码到目标仓库,忽略subapp-base,subapp-mos,subapp-wms,subapp-bms

管理应用相关

命令描述
up:admin-template收集aplus-manage-template特定分支拉取代码更新目标仓库,忽略subapp-base,subapp-mos,subapp-wms,subapp-bms
可选参数: --not-commit 只更新不产生提交记录
可选参数: --auto-push 更新完自动推送
可选参数: --branch 拉取分支名称,默认不设置就从.aplus-sync-rcaplus-admin-sync-template-branch配置项读取
collect:admin:base收集aplus-admin-base项目的代码到目标仓
可选参数: --branch 拉取分支名称,默认dev-publish拉取库
collect:admin:mos收集aplus-admin-mos项目的代码到目标仓
可选参数: --branch 拉取分支名称,默认dev-publish拉取库
collect:admin:wms收集aplus-admin-wms项目的代码到目标仓
可选参数: --branch 拉取分支名称,默认dev-publish拉取库
collect:admin:bms收集aplus-admin-bms项目的代码到目标仓
可选参数: --branch 拉取分支名称,默认dev-publish拉取库
collect:admin:son-all收集aplus-admin,base,mos,wms,bms项目的代码到目标仓库
up:publish-admin-app收集publish-admin-app项目的代码到目标仓库,忽略subapp-base,subapp-mos,subapp-wms,subapp-bms

配置文件

为了简化操作,您可以在项目根目录创建 .aplus-sync-rc 配置文件:

{
  "aplus-manage-template": "https://codeup.aliyun.com/xxx/frontend/aplus-basic/aplus-manage-template.git",
  "aplus-user-sync-template-branch": "feature/user",
  "aplus-admin-sync-template-branch": "feature/admin",
  "publish-user-app": "https://codeup.aliyun.com/xxx/frontend/aplus-user-group/publish-user-app.git",
  "publish-admin-app": "https://codeup.aliyun.com/xxx/frontend/aplus-admin-group/publish-admin-app.git",
  "aplus-user": {
    "aplus-user-base": "https://codeup.aliyun.com/xxx/frontend/aplus-user-group/aplus-user-base.git",
    "aplus-user-mos": "https://codeup.aliyun.com/xxx/frontend/aplus-user-group/aplus-user-mos.git",
    "aplus-user-wms": "https://codeup.aliyun.com/xxx/frontend/aplus-user-group/aplus-user-wms.git",
    "aplus-user-bms": "https://codeup.aliyun.com/xxx/frontend/aplus-user-group/aplus-user-bms.git"
  },
  "aplus-admin": {
    "aplus-admin-base": "https://codeup.aliyun.com/xxx/frontend/aplus-admin-group/aplus-admin-base.git",
    "aplus-admin-mos": "https://codeup.aliyun.com/xxx/frontend/aplus-admin-group/aplus-admin-mos.git",
    "aplus-admin-wms": "https://codeup.aliyun.com/xxx/frontend/aplus-admin-group/aplus-admin-wms.git",
    "aplus-admin-bms": "https://codeup.aliyun.com/xxx/frontend/aplus-admin-group/aplus-admin-bms.git"
  },
  "ignoreFiles": [
    "subapp-base",
    "subapp-bms",
    "subapp-mos",
    "subapp-wms",
    "i18n.config.cjs",
    "node_modules",
    "dist",
    ".env",
    ".git"
  ]
}
配置参数描述类型
aplus-manage-template模板仓库的远程地址string
aplus-user-sync-template-branch用户应用模板分支名称string
aplus-admin-sync-template-branch管理员应用模板分支名称string
publish-user-app用户发布应用仓库地址string
publish-admin-app管理发布应用仓库地址string
aplus-user用户应用各子模块的仓库地址配置Object
aplus-admin管理应用各子模块的仓库地址配置Object
ignoreFiles在同步过程中需要忽略的文件或目录string[]

工作流程说明

模板更新流程

  • 检查目标仓库的 Git 工作区是否干净
  • 克隆模板仓库的指定分支到临时目录
  • 将模板文件复制到目标目录,忽略配置中指定的文件
  • 保留目标目录中独有的文件
  • 生成一个更新模板的 Git 提交记录

代码收集流程

  • 克隆源子应用仓库到临时目录
  • 将源代码复制到目标目录下对应的子应用文件夹
  • 保留目标特有的文件,避免覆盖其他子应用的代码
  • 删除临时目录
  • 显示详细的操作摘要(忽略的文件、更新的文件等)

性能优化

  • 使用 CPU 多核加速复制和同步过程
  • 基于文件哈希比较,只更新确实变更的文件
  • 批量文件操作优化,提高大量文件处理效率

License

MIT

Keywords

@aplus-frontend/sync-cli

FAQs

Package last updated on 27 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts