옥수수와 식빵 그리고 코딩

eslint 설정 규칙 및 설정 범위 본문

카테고리 없음

eslint 설정 규칙 및 설정 범위

옥식 2023. 11. 12. 14:40

https://velog.io/@dataliteracy/프로젝트에-ESLint-적용하기

 

프로젝트에 ESLint 적용하기

프로젝트에 ESLint 적용하기

velog.io

 

규칙이 있으니 규칙에 맞춰 .eslintrc.파일의 rule에 필요한 규칙 추가

 

eslint를 잘 쓰고 있는데... 오늘은 평소랑 다르게 src/밑에 하위 디렉터리를 만들어 하고 있었다.

그런데 src/에 있는 파일들에는 린트 적용이 잘 되지만 src/../ 이런 하위 디렉터리에는 하나도 적용이 안되서 구글과 지피티를 한시간동안 괴롭힌 결과 해결할 수 있었따.

 

일단 .eslinttrc.cjs파일을

module.exports = {
  env: {
    browser: true,
    es2021: true,
    jest: true,
  },
  extends: ['airbnb-base', 'prettier'],
  overrides: [
    {
      env: {
        node: true,
      },
      files: [
        '.eslintrc.{js,cjs}',
      ],
      parserOptions: {
        sourceType: 'script',
      },
    },
  ],
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
  },
  // eslint-disable-next-line no-dupe-keys
  rules: {
    'import/prefer-default-export': 'off',
    'import/extensions': ['off'],
    indent: 'off',
  },
};

이런거에서

 

module.exports = {
  env: {
    browser: true,
    es2021: true,
    jest: true,
  },
  extends: ['eslint-config-airbnb-base', 'prettier'],
  root: true,
  overrides: [
    {
      files: ['.eslintrc.js', '.eslintrc.cjs'],
      env: {
        node: true,
      },
      parserOptions: {
        sourceType: 'script',
      },
    },
    {
      files: ['src/**/*.js'],
      parserOptions: {
        sourceType: 'module',
      },
    },
  ],

  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
  },
  rules: {
    'max-depth': ['error', 2],
    'max-lines-per-function': ['error', { max: 15 }],
    'class-methods-use-this': 'off',
    'no-else-return': ['error', { allowElseIf: false }],
    'prefer-const': 2,
  },
};

이렇게 바꿨다.

 

근데 그래도 죽어도 적용이 안 되길래 진짜 왜이러냐...하고 

npx eslint src 명령어를 통해 검사를 한번 돌렸는데 검사는 하위디렉터리까지 잘 되고 있었다.

 

그리고 다시 하위 디렉터리로 돌아가 보니 린트 적용이 잘 됨..!

 

npx eslint src명령어로 뭔가 새로고침이 되어서 그런 듯..? 

 

Comments