【问题标题】:how do I force my custom tslint rule to use the same version of the typescript module as the one tslint is using如何强制我的自定义 tslint 规则使用与 tslint 正在使用的相同版本的 typescript 模块
【发布时间】:2020-03-24 07:16:24
【问题描述】:

我很可能做错了什么,但我不知道是什么。

在我的自定义规则中,我正在检查节点的 SyntaxKind 以控制我的流程,如下所示:

import * as ts from "typescript"

function processPropertyName(pn: ts.PropertyName) {
    switch (pn.kind) {
        case ts.SyntaxKind.Identifier:
        case ts.SyntaxKind.StringLiteral:
            //doX
            break
        case ts.SyntaxKind.NumericLiteral:
            //doY
            break
    }
}

我已将 typescript 作为模块安装 当我开发和测试规则时,这很好用。但是,当我发布包并在另一个项目中使用它时,SyntaxKind 的值就搞砸了。例如: NumericalLiteral 在我的环境中的值为 8,但在消费环境中没有。很可能是因为使用了另一个版本的 typescript 包。 但是如何确保我在规则文件中导入的 typescript 包与用于解析源文件的 typescript 包相同?

【问题讨论】:

    标签: typescript npm tslint


    【解决方案1】:

    没关系,我找到了解决方案:)

    【讨论】:

    • 只是在开玩笑。看来我需要安装 tslint 和 typescript 作为 peerDependencies
    猜你喜欢
    • 2019-11-30
    • 2019-10-24
    • 2019-07-30
    • 2016-02-04
    • 2017-01-29
    • 2020-07-24
    • 2018-03-30
    • 2020-01-26
    • 2019-03-12
    相关资源
    最近更新 更多