需要Typescript接口,枚举,名称空间等的文档

问题描述 投票:0回答:1

我过去曾使用TSLint来要求文档化诸如接口,枚举之类的东西,以及Javascript中不存在的其他东西:

"completed-docs": [
            true,
            {
                ...
                "enums": {
                    "visibilities": ["all"]
                },
                "enum-members": {
                    "visibilities": ["all"]
                },
                "functions": {
                    "visibilities": ["all"]
                },
                "interfaces": {
                    "visibilities": ["all"]
                },
                "namespaces": {
                    "visibilities": ["all"]
                },
                "types": {
                    "visibilities": ["exported"]
                },
                "variables": {
                    "visibilities": ["exported"]
                }

鉴于TSLint已过时,我想使用Eslint,但无论如何我都找不到需要Typescript结构的文档...我可以通过此规则要求有关类,方法等的文档:

"jsdoc/require-jsdoc": ["error", {"require": {
      "FunctionExpression": true,
      "ClassDeclaration": true,
      "MethodDefinition": true,
      "ArrowFunctionExpression": true,
      "ClassExpression": true
    }}],

但是该规则不支持要求Typescript结构的文档。用Eslint进行此操作的任何方法(不使用TSLint插件?)

typescript eslint tslint
1个回答
0
投票

您的问题已解决here,您应该:

将AST类型添加到规则的上下文选项中。

您必须查阅TypeScript AST列表以找到类型或使用支持@ typescript-eslint / parser的AST资源管理器,例如astexplorer.net(也有ts-ast-viewer.com,这就是特定于TS,但未使用@ typescript-eslint / parser使TS接口适应ESLint所需的AST,我们使用)。

因此,例如:

'jsdoc/require-jsdoc': ['error', {contexts: ['TSInterfaceDeclaration', 'TSTypeAliasDeclaration', 'TSEnumDeclaration']}]
© www.soinside.com 2019 - 2024. All rights reserved.