如何从包含其自己的.d.ts的包中覆盖不正确的类型?

时间:2018-04-17 17:52:28

标签: typescript checkjs

我正在使用带有JavaScript项目的粉笔,我正在使用TypeScript的checkJs标志进行检查。

JavaScript代码导入它如下:

const chalk = require('chalk')

不幸的是,粉笔有自己的类型,其类型是错误的。它应该使用语法export = chalk(这是TypeJ的CommonJS语法),而是使用export default chalk

某人submitted a PR to fix it,但项目暂时没有合并任何公关。

如何解决粉笔打字输出错误的问题?

1 个答案:

答案 0 :(得分:2)

您可以通过提供path mapping

来覆盖包的类型
  1. 在项目根目录中创建名为chalk-override.d.ts的文件。复制粉笔类型并修复它们。
  2. 将以下内容添加到tsconfig.json(如果您还没有tsc --init --checkJs,请创建一个):

    {
        // ... other settings ...
    
        "baseUrl": "./",
        "paths": {
            "chalk": ["chalk-override"]
        }
    }