Как применить точку с запятой в интерфейсе Typescript

И ,(запятая), и ;(точка с запятой) являются допустимым синтаксисом при объявлении интерфейса машинописного текста, например, оба варианта ниже являются допустимыми.

export interface IUser {
  name: string;
  email: string;
  id: number;
}
export interface IUser {
  name: string,
  email: string,
  id: number
}

Ниже мое беспокойство, поскольку это также действительно. Смешивание , и ; тоже работает

export interface IUser {
  name: string;
  email: string,
  id: number;
}

Теперь для последовательности я хотел бы принудительно использовать ; во всех случаях. Мой анализ по-прежнему проходит, даже если для typescript применено правило точки с запятой. Есть идеи, как это можно реализовать?

.eslintrc.json

{
  "root": true,
  "ignorePatterns": [
    "projects/**/*"
  ],
  "overrides": [
    {
      "files": [
        "*.ts"
      ],
      "parserOptions": {
        "project": [
          "tsconfig.json",
          "e2e/tsconfig.json"
        ],
        "createDefaultProgram": true
      },
      "extends": [
        "plugin:@angular-eslint/ng-cli-compat",
        "plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
        "plugin:@angular-eslint/template/process-inline-templates"
      ],
      "rules": {
        "@angular-eslint/component-selector": [
          "error",
          {
            "type": "element",
            "prefix": "app",
            "style": "kebab-case"
          }
        ],
        "@angular-eslint/directive-selector": [
          "error",
          {
            "type": "attribute",
            "prefix": "app",
            "style": "camelCase"
          }
        ]
      }
    },
    {
      "files": [
        "*.html"
      ],
      "extends": [
        "plugin:@angular-eslint/template/recommended"
      ],
      "rules": {}
    }
  ]
}

Tsconfig.json

/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "module": "es2020",
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

Ты ищешь это? github.com/typescript-eslint/typescript-eslint/blob/master/…

Shubham Srivastava 21.12.2020 07:04

Обновил ссылку, добавил не ту

Shubham Srivastava 21.12.2020 07:06

Спасибо @ShubhamSrivastava. Ссылка очень помогла

Owen Kelvin 21.12.2020 08:14
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Раскрытие чувствительных данных
Раскрытие чувствительных данных
Все внешние компоненты, рассмотренные здесь до сих пор, взаимодействуют с клиентской стороной. Однако, если они подвергаются атаке, они не...
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Руководство ChatGPT по продаже мини JS-файлов
Руководство ChatGPT по продаже мини JS-файлов
JS-файл - это файл, содержащий код JavaScript. JavaScript - это язык программирования, который в основном используется для добавления интерактивности...
12
3
8 714
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В файле .eslintrc добавьте указанное ниже правило:

 "@typescript-eslint/member-delimiter-style": [
            "warn",
            {
                "multiline": {
                    "delimiter": "semi",
                    "requireLast": true
                },
                "singleline": {
                    "delimiter": "semi",
                    "requireLast": false
                }
            }
        ]

Принимает три значения (или два для однострочного):

  • Запятая - каждый член должен быть разделен запятой (,).

  • Semi - каждый член должен быть разделен точкой с запятой (;).

  • None - каждый элемент не должен ничем ограничиваться.

ПРИМЕЧАНИЕ. Это не вариант для одиночной строки, поскольку отсутствие разделителя между элементами в одной строке является синтаксической ошибкой в ​​TS. требоватьПоследний Определяет, должен ли последний член в интерфейсе/типе иметь разделитель:

  • true — последний элемент должен иметь разделитель.
  • false — последний член не должен иметь разделителя.

Реф ссылка: кликните сюда

Другие вопросы по теме