И ,(запятая), и ;(точка с запятой) являются допустимым синтаксисом при объявлении интерфейса машинописного текста, например, оба варианта ниже являются допустимыми.
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"
]
}
}
Обновил ссылку, добавил не ту
Спасибо @ShubhamSrivastava. Ссылка очень помогла
В файле .eslintrc добавьте указанное ниже правило:
"@typescript-eslint/member-delimiter-style": [
"warn",
{
"multiline": {
"delimiter": "semi",
"requireLast": true
},
"singleline": {
"delimiter": "semi",
"requireLast": false
}
}
]
Принимает три значения (или два для однострочного):
Запятая - каждый член должен быть разделен запятой (,).
Semi - каждый член должен быть разделен точкой с запятой (;).
None - каждый элемент не должен ничем ограничиваться.
ПРИМЕЧАНИЕ. Это не вариант для одиночной строки, поскольку отсутствие разделителя между элементами в одной строке является синтаксической ошибкой в TS. требоватьПоследний Определяет, должен ли последний член в интерфейсе/типе иметь разделитель:
Реф ссылка: кликните сюда
Ты ищешь это? github.com/typescript-eslint/typescript-eslint/blob/master/…