I am using VS Code with Prettier 1.7.2 and ESLint 1.7.0. After every newline I get:
[eslint] Delete `CR` [prettier/prettier]
This is the .eslintrc.json
:
{
"extends": ["airbnb", "plugin:prettier/recommended"],
"env": {
"jest": true,
"browser": true
},
"rules": {
"import/no-extraneous-dependencies": "off",
"import/prefer-default-export": "off",
"no-confusing-arrow": "off",
"linebreak-style": "off",
"arrow-parens": ["error", "as-needed"],
"comma-dangle": [
"error",
{
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "ignore"
}
],
"no-plusplus": "off"
},
"parser": "babel-eslint",
"plugins": ["react"],
"globals": {
"browser": true,
"$": true,
"before": true,
"document": true
}
}
The .prettierrc
file:
{
"printWidth": 80,
"tabWidth": 2,
"semi": true,
"singleQuote": true,
"trailingComma": "es5",
"bracketSpacing": true,
"jsxBracketSameLine": false,
}
How can I get rid of this error?
Try setting the "endOfLine":"auto"
in your .prettierrc file (inside the object)
Or set
'prettier/prettier': [
'error',
{
'endOfLine': 'auto',
}
]
inside the rules object of the eslintrc file.
If you are using windows machine endOfLine can be "crlf" basing on your git config.
In my windows machine, I solved this by adding the below code snippet in rules
object of .eslintrc.js
file present in my current project's directory.
"prettier/prettier": [
"error",
{
"endOfLine": "auto"
},
],
This worked on my Mac as well
in the file .eslintrc.json in side roles add this code it will solve this issue
"rules": {
"prettier/prettier": ["error",{
"endOfLine": "auto"}
]
}
I know this is old but I just encountered the issue in my team (some mac, some linux, some windows , all vscode).
solution was to set the line ending in vscode's settings:
.vscode/settings.json
{
"files.eol": "\n",
}
https://qvault.io/2020/06/18/how-to-get-consistent-line-breaks-in-vs-code-lf-vs-crlf/
Fixed - My .eslintrc.js looks like this:
module.exports = {
root: true,
extends: '@react-native-community',
rules: {'prettier/prettier': ['error', {endOfLine: 'auto'}]},
};
git config --global core.autocrlf false
After global configuration, you need to pull the code again.
The culprit is git
, a configuration property of core.autocrlf
For historical reasons, the line breaks of the text file on windows
and linux
are different.
Windows
At the time of line break, carriage return is used at the same time CR(carriage-return character)
and line breaks LF(linefeed character)
Mac
and Linux
only use the newline character LF
Mac
uses carriage return CR
Therefore, there will be incompatibility problems when text files are created and used in different systems.
When I clone code on Windows
, autocrlf
is true as default and then each line of the file is automatically converted to CRLF
. If you do not make any changes to the file, eslint
delete CR
by pre-commit
since git
automatically convert CRLF
to LF
.
https://developpaper.com/solution-to-delete-%E2%90%8Deslint-prettier-prettier-error/
Try this. It works for me:
yarn run lint --fix
or
npm run lint -- --fix
Fixed: My eslintrc.js some rule look like this:
rules: {
'prettier/prettier': ['error', { "endOfLine": "auto"}, { usePrettierrc: true }], // Use our .prettierrc file as source
'react/react-in-jsx-scope': 'off',
'react/prop-types': 'off',
'simple-import-sort/imports': 'error',
"simple-import-sort/exports": "error"
}
I am using git+vscode+windows+vue, and after read the eslint document: https://eslint.org/docs/rules/linebreak-style
Finally fix it by:
add *.js text eol=lf
to .gitattributes
then run vue-cli-service lint --fix
将此添加到您的.prettierrc文件并打开VSCODE
"endOfLine": "auto"
If the above code is not working for you try these two steps.
1. in the file .eslintrc.json inside roles object add this code it will solve this issue
"prettier/prettier": ["error",{
"endOfLine": "auto"}
]
2 Change dev server --fix
npm run dev
To
npm run dev --fix
OR
npm run lint -- --fix
yarn run lint -- --fix
Add these below rule in .eslintrc file and then restart your project.
rules: {
'prettier/prettier': ['error', { "endOfLine": "auto"}, { usePrettierrc: true }],
}
Check the right-hand side of VS Code's status bar at the bottom where it shows information such as line and column, spaces, text encoding (UTF-8 etc). You should see a Select End Of Line Sequence
status display (either LF or CRLF ) that you can click on to change. Make sure you haven't manually changed this to something that conflicts with what you wish Prettier to use.
我升级到“更漂亮”:“^2.2.0”并且错误消失了
In my case I am using windows OS and git code supports in Mac and getting converted to CRLF run below Command in cmd prompt to stop files getting converted to CRLF:
git config --global core.autocrlf input
Checkout the code again and open Visual Studio Code again and run your scripts again. It worked for me.
The best solution is to use .editorconfig . Especially if you are working with a team with different type OS. So disabling prettier in.eslintrc is not a good option at all.
Install.editorconfig from your vscode extension. Create a .editorconfig file in your project root directory and it to your .gitignore
file so it won't bother your teammates.
Add this to your .editorconfig file or choose what workflow settings you need from the documentation .
[*]
end_of_line = lf
This will save your file automatically to EOL type lf
instead of crlf
in windows. Vise versa if using mac. Or depends on the project workflow setup.
The root cause is windows is default to crlf. So every time you try to create a file you will face this prettier Delete 'cr'
error.
In Addition
If all the files you got from git contains Delete 'cr'
.
In the root open the .editorconfig file and change:
end_of_line = lf
to
end_of_line = auto
This should fix it for new files.
There is no need to ignore linter's rule. Just auto-fix it
npm install -g prettier
prettier -w .\webpack.config.js # or other file
I tried everything here and for me, I needed to manage prettier config extension through icon extensions > prettier > small engine > extensions settings > Prettier: End Of Line > set to auto.
After adding these two lines in my settings.json
"eslint.run": "onSave",
"editor.formatOnSave": true,
I was able to use the config below inside .eslintrc.js rule.
"prettier/prettier": ["error", {
"endOfLine":"auto"
}],
If you need to use with.prettierrc.js:
module.exports = {
...[config params],
endOfLine: 'auto',
};
Note Not in rules
or prettier/prettier
.
Info here https://prettier.io/docs/en/options.html#end-of-line
上面的所有答案都是正确的,但是当我使用 Windows 并禁用 Prettier ESLint 扩展rvest.vs-code-prettier-eslint
,问题将得到解决。
What worked for me was:
npm update prettier
npm run lint -- --fix
It was not necessary to change .eslintrc and .prettierrc files!
I was having the same problem in my nest js app . Adding the below code to .eslintrc.js
rules and then running yarn run lint --fix
fixed the issue .
'prettier/prettier': [
'error',
{
endOfLine: 'auto',
},
],
and my .eslintrc.js
rules looks something like this..
rules: {
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'prettier/prettier': [
'error',
{
endOfLine: 'auto',
},
],
},
Solution
1. Disable auto conversion git setting
git --global config core.autocrlf false
2. Remove old cache data
git rm --cached -r .
3. Reset git files
git reset --hard
git config --global core.autocrlf false
Its work for me
step-1 React js root directory find .eslintrc file
Step-2 find in .eslintrc
"prettier/prettier": [
2,
{
"printWidth": 100,
"singleQuote": true,
"trailingComma": "none",
"tabWidth": 2
}
]
replace with
"prettier/prettier": [
"error",
{
"endOfLine": "auto"
}
]
save file and then run
npm start
edit your .eslintrc.json file and update "prettier/prettier" value shown below.
I face same problem and fixed using below changes. "prettier/prettier": ["error", { "singleQuote": true, "parser": "flow" }],
In the .eslintrc file add the following:
extends: ['prettier']
and plugins: ['prettier']
rules: {'prettier/prettier': ['error', {endOfLine: 'auto'}]}
In .prettierrc remove this:
endOfLine: 'auto'
It works for me.
if you have already checked out the code
git config --global core.autocrlf input
git rm --cached -r .
git reset --hard
npm run lint -- --fix
Run this command this worked for me
For those using @vue/prettier there may be a conflict between it and eslint which results in this error. Despite being installed along with vue cli, @vue/prettier was a temporary solution until prettier accepted vue natively and that has already been done . The problem can be solved by switching to just 'prettier'
executing eslint for linting and fixing solved my issue.
eslint. --ext.vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path.gitignore
or if you have lint script: npm run lint
You need add rules the file.eslintrc
"extends": ["plugin:prettier/recommended"],
"plugins": ["prettier"],
"rules": {
"prettier/prettier": ["error"],
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/unbound-method": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-empty-function": "off",
"@angular-eslint/no-empty-lifecycle-method": "off",
"@typescript-eslint/no-unused-vars": ["off"],
"@typescript-eslint/require-await": "off",
"@typescript-eslint/ban-types": "off"
}
Delete this line from the file.prettierrc
"endOfLine": "crlf"
Change file type from tsx -> ts, jsx -> js
You can get this error if you are working on .tsx or .jsx file and you are just exporting styles etc and not jsx. In this case the error is solved by changing the file type to .ts or .js
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.