Угловая опция для проверки символов в шаблоне - PullRequest
1 голос
/ 21 сентября 2019

Как пользователь Angular / TypeScript / VSCode, я использую отличные инструменты, такие как tslint, Wallaby.js, markdownlint, sasslint и другие, чтобы обеспечить надежную сеть безопасности, чтобы помочь мне попытаться избежать появления проблем с кодом, будь то тонкиеили стреляй в себя.Но есть одно вопиющее упущение в этой экосистеме ... или есть?Я надеюсь, что это просто мое невежество, и кто-то сможет вскочить и сказать: «Конечно, вы можете сделать это, просто установите x!»

Чего мне не хватает, так это способности проверять используемые символыв угловом шаблоне.Ни компилятор, ни какой-либо обнаруженный мною линтер не могут проверить, например, из этого фрагмента шаблона Angular ...

<click-outside (clickOutside)="closeDropdown()">{{ scenario }}
  <dropdown [attr.visible]="active">
    <checkbox
      *ngFor="let project of projectsArray()"
      [checked]="project.checked"
      [attr.title]="project.name"
      (change)="projectChecked($event.detail, project)"
    </checkbox>
  </dropdown>
</click-outside>

..., есть ли какие-либо свойства (активные, сценарий) или функции (closeDropdown,projectsArray, projectChecked) определены.Все они должны быть определены статически, чтобы их можно было проверять во время компиляции.

Конечно, в большинстве случаев такое упущение будет сразу же очевидно, когда вы действительно запустите свой код.Но это ни надежно, ни масштабируемо.

И меньший процент времени, когда ваш набор тестов поймает его, но, как известно, сложно выполнить «последнюю милю» модульных тестов, которые фактически проверяют то, что отображается вбраузер, так что опять не надежный механизм.

Вопрос: Есть ли что-то, чтобы сделать такую ​​проверку символов?Может быть в любой из этих форм или что-то еще:

  1. Опция угловой конфигурации
  2. отдельная утилита командной строки (linux)
  3. Плагин IDE (VSCode)
...