我有一个带有多个 TypeScript 项目和共享库的 monorepo。我已经使用 npm 工作区实现了这个 monorepo,因此任何项目和共享库都有自己的 package.json。这是目录树的摘要:
monorepo
| package.json
|
└───project1
| | package.json
| └───src
| | ...
|
└───project2
| | package.json
| └───src
| | ...
|
└───library1
| | package.json
| └───src
| | service1.ts
| | service2.ts
| | ...
|
└───library2
| package.json
└───src
| service1.ts
| service2.ts
| ...
任何项目都可以使用一个或多个共享库,并且只能使用这些库中的一些服务。我想从 monorepo 中“提取”一个项目,并提供它所依赖的库的服务。例如,如果我想提取project1
依赖于service1
fromlibrary1
和service2
from 的library2
,我想获得这个目录树:
project1
| package.json
└───src
└─── library1
| |
| | service1.ts
|
└─── library2
| |
| | service2.ts
|
| ...
是否存在完成这项工作的工具?