[英]eslint object-curly-newline conflicts prettier multi-line rationale
I'm new in prettier + typescript + eslint.我是漂亮 + 打字稿 + eslint 的新手。 Most of the integration works fine but multi-line in destructure object is not.
大多数集成工作正常,但解构对象中的多行则不然。
Prettier 1.19.1 Playground link Prettier 1.19.1 游乐场链接
Input:输入:
const {
ciq,
drawingMenuX,
drawingMenuY,
selectedDrawing,
} = store.chartStore;
Output:输出:
const { ciq, drawingMenuX, drawingMenuY, selectedDrawing } = store.chartStore;
Expected behavior:预期行为:
const {
ciq,
drawingMenuX,
drawingMenuY,
selectedDrawing,
} = store.chartStore;
I wanna keep a multiline format in destructure object like the rationale ( https://prettier.io/docs/en/rationale.html#multi-line-objects )我想在像基本原理一样的解构对象中保留多行格式( https://prettier.io/docs/en/rationale.html#multi-line-objects )
It works well in a normal object but it's not in destructure object它适用于普通对象,但不适用于解构对象
How can I fix this problem?我该如何解决这个问题? Do I just have to fix each line?
我只需要修复每一行吗?
package.json包.json
"@typescript-eslint/eslint-plugin": "^2.11.0",
"@typescript-eslint/parser": "^2.11.0",
"eslint": "^6.7.2",
"eslint-config-airbnb": "^18.0.1",
"eslint-config-prettier": "^6.7.0",
"eslint-plugin-import": "^2.19.1",
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-prettier": "^3.1.1",
"eslint-plugin-react": "^7.17.0",
"eslint-plugin-react-hooks": "^1.7.0",
"prettier": "^1.19.1",
.eslintrc.js .eslintrc.js
module.exports = {
env: {
browser: true,
es6: true,
},
extends: ['plugin:react/recommended', 'plugin:prettier/recommended', 'airbnb'],
plugins: ['react', '@typescript-eslint'],
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly',
},
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 2018,
sourceType: 'module',
},
settings: {
'import/resolver': {
node: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
},
},
rules: {
'react/jsx-filename-extension': [
1,
{
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
],
'import/extensions': [
'error',
'ignorePackages',
{
js: 'never',
jsx: 'never',
ts: 'never',
tsx: 'never',
},
],
'no-confusing-arrow': [0],
},
overrides: [
{
files: ['*.ts', '*.tsx'],
rules: {
'@typescript-eslint/no-unused-vars': [2, { args: 'none' }],
},
},
],
};
I prefer the way Prettier handles this as well.我也更喜欢 Prettier 处理这个问题的方式。
In your .eslintrc.js
add this to your rules
.在您的
.eslintrc.js
添加到您的rules
。
'object-curly-newline': 'off',
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.