Parsing error: Cannot read file '...tsconfig\file' 해결 방법

동화·2022년 12월 22일
4

코딩메모

목록 보기
1/8

Parsing error: Cannot Read File ...tsconfig.json

모든 파일 상단에 등장한 파일 에러..

따라서 eslint상에서 발생한 에러이며, 해당 파일의 경로를 추가해줌으로써 제대로 된 파일 경로를 찾도록 해야 했다.

🔎 해결 방법 1

해결방법
.eslintrc.js 파일에서 아래 내용을 추가해 주면 된다.

overrides: [
    {
      files: ['*.ts', '*.tsx'],
      rules: {
        'no-unused-vars': 'off',
        '@typescript-eslint/no-unused-vars': ['error'],
        '@typescript-eslint/no-shadow': ['error'],
        'no-shadow': 'off',
        'no-undef': 'off',
      },
      //이 부분을 추가주자!
      parserOptions: {
        project: ['tsconfig.json'],
        createDefaultProgram: true,
      },
    },
  ],

구글링으로 드디어 해결되었다.. 구글없이 못 살아

++ 근데 또 계속 이 상황이 계속 되었다 ㅠ.ㅠ
그래서 찾아보니
extends@typescript-eslint/parser를 넣으니 해결이 된다고...

그래서 결론은 (내 파일 작업환경일 뿐)

{
   "root": true,
   "extends": [
       "eslint:recommended",
       "plugin:@typescript-eslint/recommended",
       "plugin:@typescript-eslint/parser" // 여기
   ],
   "parser": "@typescript-eslint/parser",
   "parserOptions": { // 여기
       "project": ["tsconfig.json"],
       "createDefaultProgram": true
   },
   "plugins": ["@typescript-eslint"],
   "rules": {
       "@typescript-eslint/strict-boolean-expressions": [
           2,
           {
               "allowString": false,
               "allowNumber": false
           }
       ]
   },
   "ignorePatterns": ["src/**/*.test.ts", "src/frontend/generated/*"]
}

💡 해결 방법 2

이걸로 해결 봄!!!!!!!

  • 원인
    .eslintrc.jsparserOptions 내 project 들은 현재 작업 경로에 따라 상대적으로 구성됨.
    프로젝트 경로가 아래와 같이 되어 있고 00.dev 폴더를 root 으로 하여 workspace 를 열게 된 경우, ./tsconfig.json 은 곧 00.dev/tsconfig.json 이 된다. 해당 경로에는 tsconfig.json 파일이 없기 떄문에 parsing error 가 뜨게 된다.

parserOptions 내에 tsconfigRootDir 플래그를 추가하여 tsconfig.json 파일을 절대경로에서 찾도록 해준다.

module.exports = {
  parserOptions: {
    project: './tsconfig.json',
    sourceType: 'module',
    tsconfigRootDir: __dirname,
  }
}

그리고

tsconfig.eslint.json 에 아래 코드 삽입

{
  "extends": "./tsconfig.json",
  "include": [
    // 👇️ add all the directories and files
    // that you want to lint here
    "src",
    "tests",

    // add all files in which you see
    // the "parserOptions.project" error
    ".eslintrc.js"
  ]
}

1개의 댓글

comment-user-thumbnail
2023년 5월 27일

좋은 글 잘 보고 갑니다!

답글 달기