我有一个npm软件包,它充当云服务的客户端/ ORM。
程序包本身提供基本功能(身份验证,检索/更新数据等),但是ORM对象本身是使用云服务实例的自定义配置生成的类。这些生成的类是使用命令行工具创建的(只是在节点中编写的cli,并使用package.json bin
配置进行设置)。
例如,运行命令>my-orm --objects Contact
可能会生成以下内容:
import {BaseORMOBject} from 'my-orm';
export class Contact extends BaseORMOBject{
private firstName: string;
private lastName: string;
public update(){
this.update(
{lastName: this.lastName, firstName: this.firstName}
)
}
}
这一代使用了一些相当繁重的库,例如lodash
和ts-simple-ast
,因此我之前将其拆分为两个单独的npm
软件包。但是,我意识到这可能是一个错误,因为这一代人非常依赖于基础库,因此版本控制变得更具挑战性并且容易出错。
我当时想将它们移回到单个存储库和npm包中会更容易。如果这样做,会将lodash
,ts-simple-ast
添加到devDependencies
实际使它们脱离生产代码(devDependencies
总是让我感到困惑)?
这似乎是一个常见的用例,我只是想知道是否是处理此依赖关系问题的标准方法。
注意:基于浏览器和节点的项目都使用此客户端/ orm