تایپاسکریپت - ESLint میگوید که سمیکالنها حذف شدهاند حتی پس از اضافه کردن آنها
من این رابط تایپاسکریپت را در پروژهام دارم:
`
export default interface User {
avatar: string;
email: string;
name: string;
}
`
بعد از فرمت کردن با Prettier، ESLint همچنان به من میگوید که نقطهویرگولها در انتهای کد جا افتادهاند، اکنون به این شکل فرمت شدهاند:
`
export default interface User {
avatar: string;
cpf: string;
email: string;
name: string;
};;;;;;;;;;;
`
من میتوانستم برای همیشه فرمتبندی و ذخیره کنم و باز هم در پایان آن خط نقطهویرگول اضافه میشد
من فایل .eslintrc زیر را در پروژه خود دارم
`
module.exports = {
env: {
browser: true,
es6: true
},
extends: [
'plugin:react/recommended',
'standard'
],
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly'
},
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
jsx: true
},
ecmaVersion: 2018,
sourceType: 'module'
},
plugins: [
'react',
'@typescript-eslint'
],
rules: {
"semi": [2, "always"]
}
}
`
پاسخ شماره ۱
من این مشکل را در https://github.com/typescript-eslint/typescript-eslint/issues/1695 ثبت کردم، و آنها پاسخ دادند که این رفتار مورد انتظار است، زیرا شما باید semi را غیرفعال کنید و به جای آن @typescript-eslint/semi را فعال کنید.
پاسخ شماره ۲
من همیشه از قوانین نیمه به عنوان never استفاده میکنم. مستندات را اینجا ببینید
module.exports = {
env: {
browser: true,
es6: true
},
extends: [
'plugin:react/recommended',
'standard'
],
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly'
},
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
jsx: true
},
ecmaVersion: 2018,
sourceType: 'module'
},
plugins: [
'react',
'@typescript-eslint'
],
rules: {
"semi": [2, "never"]
}
}
مطمئن نیستم که یکی بهتر از دیگری باشد، اما در مورد شما باید مشکل شما را برطرف کند. من از اینکه روی همیشه است، شگفت زده شدم؛ آیا خودتان آن را تنظیم کردید؟
