如何从源代码解析 angular 元素元数据

How to parse angular elements metadata from source code

最近我一直在尝试根据 inputs/outputs 和评论为我的 angular 元素自动生成文档,但是我没有找到任何东西。我寻找的是类似于 compodocs 的东西,但它会输出我的 angular 组件的数据结构,其中包含组件描述(注释)以及它们的 inputs/outputs 与其关联的 types/comments 合并所以我可以将它们关联到 angular 元素并生成适当的文档。 例如,假设我有以下组件:

import { Component } from '@angular/core';

/*
  Component displaying "Hello {{nameInput}}" where nameInput is an input
*/
@Component({
  selector: 'hello',
  template: `
        Hello {{nameInput}}
      `
})
export class HelloComponent {
  /*
    name that should be displayed after 'Hello '
  */
  @Input()
  public nameInput: string;

  constructor(){}
}

我想要一个 json 输出,如下所示:

[
  {
    "HelloComponent":
      {
        "description": "Component displaying \"Hello {{name}}\" where name is an input",
        "inputs": [
          {
            "name": "nameInput",
            "type": "string",
            "description": "name that should be displayed after 'Hello '"
          }
        ]
      }
  }
]

是否有图书馆已经做了类似的事情?

EDIT:我仔细查看了 Compodoc,它实际上能够在 json 中生成文档,这正是我正在寻找的: compodoc src/tsconfig.json -e json

我仔细查看了 Compodoc,它实际上能够在 json 中生成文档,这正是我正在寻找的:compodoc src/tsconfig.json -e json