#monorepo #javascript #utilities

bin+lib morp

JavaScript 单一仓库的实用工具

1 个不稳定版本

0.1.0 2019 年 2 月 1 日

开发工具 中排名 #2067

MIT 许可证

14KB
287 行(不包括注释)

MORP

morp 是一个命令行工具,提供用于操作 JavaScript 单一仓库的实用工具。

安装

  1. 安装 rustup 以获得有效的 Rust 环境。
  2. 运行 cargo install morp

您可能需要将 Cargo 的安装目录添加到您的 $PATH 中,以便能够运行 morp

先决条件

  • 您的单一仓库的软件包必须位于单一仓库根目录下的 packages 目录中。
  • 您的软件包的 package.json 文件中的 name 键必须与 packages 目录中的软件包目录名称匹配
monorepo
├── package.json
├── packages
│   ├── foo
│   │   ├── package.json -> `name` key must be `foo`
│   │   └── ...
│   └── ...
└── ...

子命令

morp graph

此命令输出单一仓库软件包之间的依赖关系图。

选项

--path -p 单一仓库的路径

morp diff

打印与分支相比发生更改的软件包名称,考虑依赖软件包。假设您有 3 个软件包,ABC。软件包 B 依赖于 A,而软件包 C 依赖于任何东西。如果您在软件包 A 中进行更改,那么 morp diff 将输出此

A
B

这对于 CI 目的很有用,如果您想根据更改的软件包触发作业。

此命令通过首先查找 HEAD 和您指定的分支(或默认的 develop)之间的共同祖先来实现。一旦我们有了这个共同祖先(ca),我们就会检查在 caHEAD 之间以及依赖于这些软件包的软件包之间发生了哪些更改。

选项

--path -p 单一仓库的路径

--branch -b 用于更改软件包的参考分支

--prefix 向输出中的每个软件包添加前缀

依赖关系

~18MB
~383K SLoC