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

问题描述

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

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

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

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

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

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

解决方法

一种选择是在构建步骤(例如使用 typescript-json-schema)从您的类型定义生成一个 json 模式,并根据此类模式验证配置。