eslint-plugin-import로 TypeScript import 문제 해결

2229 단어 TypeScriptESLint
JavaScript→TypeScript화하고 있는 가운데 막혔으므로 메모.
(JavaScript와 TypeScript가 혼합된 프로젝트)

사건



이런 남자
$ eslint app/javascript/components

/path/to/app/javascript/components/Container/Foo/index.js
  5:25  error  Unable to resolve path to module '../../../Bar'  import/no-unresolved
  5:25  error  Missing file extension for "../../../Bar"        import/extensions

✖ 2 problems (2 errors, 0 warnings)

해결


  • import/no-unresolved 는 webpack을 사용하고 있으므로 eslint-import-resolver-webpack 를 사용한다.
  • import/extensions 는 설정을 수정한다.

  • 플러그인을 추가하고,
    yarn add -D eslint-import-resolver-webpack
    

    설정 파일에 추가합니다.

    .eslintrc
    {
      "rules": {
    +    "import/extensions": [".js", ".jsx", ".json", ".ts", ".tsx"],
    
    ...
    
    +  "settings": {
    +    "import/resolver": {
    +      "webpack": {
    +        "config": "webpack.config.js"
    +      }
    +    }
    +  }
    } 
    

    이상

    참고


  • TypeScript + eslint에서 import / no-unresolved가 나오는 경우의 두 가지 해결책 - Qiita
  • import/resolver webpack typescript missing extension error · Issue #1116 · benmosher/eslint-plugin-import
  • 좋은 웹페이지 즐겨찾기