Npm 是否可以指定代码生成器的运行时依赖项?

Npm 是否可以指定代码生成器的运行时依赖项?,npm,code-generation,Npm,Code Generation,我正在开发一个npm包,该包用作生成代码的CLI。这个项目通常应该作为开发依赖项使用,这是有道理的 但是生成的代码在运行时需要第三方库。有没有办法通过package.json管理此依赖关系?我曾看到其他库在自述文件中包含了一个说明,它定义了这种依赖关系,但不能保证最终用户会阅读该自述文件,因此我希望能够实施这一点 我的一个想法是使用preinstall脚本来验证这个第三方库是否已经安装,否则会抛出错误,不允许用户安装。但这感觉更像是一个黑客而不是一个解决方案 我预计有人会说“但当生成的代码都不起

我正在开发一个npm包,该包用作生成代码的CLI。这个项目通常应该作为
开发依赖项使用,这是有道理的

但是生成的代码在运行时需要第三方库。有没有办法通过
package.json
管理此依赖关系?我曾看到其他库在自述文件中包含了一个说明,它定义了这种依赖关系,但不能保证最终用户会阅读该自述文件,因此我希望能够实施这一点

我的一个想法是使用
preinstall
脚本来验证这个第三方库是否已经安装,否则会抛出错误,不允许用户安装。但这感觉更像是一个黑客而不是一个解决方案

我预计有人会说“但当生成的代码都不起作用时,这不是很明显吗?”这是绝对正确的,但理想情况下,这个过程应该在运行之前就失败了


我不确定这里的细节是否真的重要,但我的包从OpenAPI规范为API项目生成样板类型脚本代码,并在运行时依赖于Express.js。

这听起来像是对等依赖。您可以使用在
package.json
中指定对等依赖项

npm
6中,缺少对等依赖项将导致警告


npm
7中,安装了缺少的对等依赖项。

第三方库是否在npm上可用?是的,它是Express.js。