재시작하면 다시 에러가 생긴다. 그래서 방법을 다른 방법을 찾았다.
프로그래밍을 하다 보면 문자열의 줄 내림을 위해서 \n을 쓰는 경우가 있을 것이다. 그런데 윈도우즈에서 이것저것 하다 보면 단순히 \n만이 아닌 \r\n을 만나게 된다. 과연 이것은 무엇일까? \n은 Line Feed(
{
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"extends": [
"plugin:react/recommended",// Uses the recommended rules from @eslint-plugin-react"plugin:@typescript-eslint/recommended",
"prettier/@typescript-eslint",
"plugin:prettier/recommended"
],
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"rules": {
"linebreak-style": ["none"],
" global-require ": 0,
"semi": 2,
"@typescript-eslint/explicit-function-return-type": [
"warn",
{ "allowTypedFunctionExpressions": true }
]
},
"settings": {
"react": {
"version": "detect"
}
}
}
# 해결
위의 방법으로 해결했다가 프로젝트를 다시 켜서 파일을 생성하고 진행하면서 npm start를 해보니 Delete "CR" 에러가 다시 발생했다.
그 결과 스택오버플로우의 아래 정보를 보고
Setting(Ctrl + ,) -> "files eol" 검색 -> /n 선택
이렇게 하고 나면 기존 파일들은 LF로 변경해줘야 하지만 이제부터 생성하는 모든 파일들은 LF로 생성되기 때문에 매번 CRLF로 생성되는 파일들이 LF로 생성된다.
이 옵션을 바꿨던 기억이 있는데 원래 auto로 되어 있었다가 /r/n으로 선택했던 것 같다. 윈도우이기 때문에 auto로 했을 때도 CRLF로 생성된 것이고 /r/n으로 선택하면 오히려 CRLF로 fix해버리는 것인데 그 당시에 이해도 하지 못하고 따라해서 이런 실수가 생긴 것 같다.
windows 환경에서 vscode로 typescript + react를 시작하는 사람들이 eslint + prettier 설정과 에러 해결에 나처럼 애를 먹고 있을 것 같아 많은 도움이 되었으면 한다.