Я использую prettier и eslint с машинописным текстом.
Когда я пишу код и мне приходится оставлять пустую функцию по причинам , Eslint и Prettier борются с добавлением и удалением пробелов между фигурные скобки пустых функций.
Prettier удаляет пробел, пока Eslint его добавляет.
Ожидается:
constructor(
@inject('UsersRepository')
private usersRepository: IUsersRepository,
) {}
const example = ({ variable }) => {
console.log(variable)
};
Что я получаю после сохранения (исправление Eslint при сохранении ):
constructor(
@inject('UsersRepository')
private usersRepository: IUsersRepository,
) { }
const example = ({ variable }) => {
console.log(variable)
};
Отметить пространство между скобками конструктора? Это дает мне ошибку Delete `·` eslint(prettier/prettier)
.
Когда я сохраняю файл или Prettier удаляет пробел ... тогда Eslint добавляет его снова.
Как я могу решить эту проблему?
РЕДАКТИРОВАТЬ: я хочу сохранить пространство назначения деструктуризации (например, ({ variable })
), но не в пустых фигурных скобках (например, {}
)
Ниже мои .eslintrc.json
и prettier.config.js
{
"env": {
"es6": true,
"node": true,
"jest": true
},
"extends": [
"airbnb-base",
"plugin:@typescript-eslint/recommended",
"prettier/@typescript-eslint",
"plugin:prettier/recommended"
],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"prettier"
],
"rules": {
"prettier/prettier": "error",
"class-methods-use-this": "off",
"@typescript-eslint/camelcase": "off",
"no-useless-constructor": "off",
"object-curly-spacing": [
"error",
"always"
],
"@typescript-eslint/no-unused-vars": [
"error",
{
"argsIgnorePattern": "_"
}
],
"@typescript-eslint/interface-name-prefix": [
"error",
{
"prefixWithI": "always"
}
],
"import/extensions": [
"error",
"ignorePackages",
{
"ts": "never"
}
]
},
"settings": {
"import/resolver": {
"typescript": {}
}
}
}
module.exports = {
singleQuote: true,
trailingComma: 'all',
arrowParens: 'avoid',
};