Javascript,根据 npm 包的导出类型验证对象

Javascript, validate object against exported type from npm package

我开发了一个带有 TS 的 ClI npm 包,它使用来自给定路径的配置文件。

> tool --config="./path/to/config"

配置文件导出我的工具导入的单个对象。
有没有一种方法可以根据特定类型定义验证导入的对象?

该工具已导出类型定义,因此我可以强制用户使用 TS 创建他们的配置文件,并仅引用成功编译的 JS 文件。

但是,还有其他选择吗? 是否可以让 JS 文件使用我的 CLI 工具中的类型,这样用户就不必在他们希望利用我的工具的任何地方安装 TSC。

我在写这篇文章时遇到了 Schemas。它们是我问题的最佳解决方案吗?

一个选项是在构建步骤中根据您的类型定义生成一个 json 架构(例如使用 typescript-json-schema)并根据该架构验证配置。