타입스크립트의 tsconfig, tslint 설정과 웹팩 설정을 직접 해보면서 이게 도대체 뭘 나타내는 코드일까..?
라고 생각하게 만드는 것들이 있었습니다.
module.exports = {
globals: {
"ts-jest": {
tsConfig: "tsconfig.json"
}
},
moduleFileExtensions: ["ts", "js"],
//이건 대충 test 폴더 안에 있는 ts랑 js 파일인가..?
testMatch: ["**/test/**/*.test.(ts|js)"],
testEnvironment: "node"
};
그 중에 하나가 바로 글롭 패턴(Glob Pattern)입니다. 글롭 패턴의 생김새는 정규표현식과 매우 유사합니다. 하지만 서로 완전히 다른 특성을 가지고 있기 때문에 사용할 때 주의해야 합니다.
Glob
패턴은 와일드카드 문자를 사용해서 일정한 패턴을 가진 파일 이름들을 지정하기 위한 패턴입니다. 예를 들어서 유닉스 운영체제에서 rm *.txt
라는 명령어를 통해서 텍스트 파일만 지정해서 삭제할 수 있습니다. 혹은 git cui에서 커밋을 할 때 git commit *.ts -m 'init'
타입스크립트 파일만 따로 커밋을 할 수도 있습니다.
위 표를 통해서 우리가 자주 쓰는 glob 패턴의 뜻을 알아봅시다.
/**/*.js
: 현재 디렉토리와 그 하위 디렉토리 내에 존재하는 모든 .js
파일들을 선택
/*.{js,ts}
: 현재 디렉토리 내에 존재하는 모든 .js
, .ts
파일들을 선택
/example[1-3].js
: 현재 디렉토리 내에 있는 example1.js
, example2.js
, example3.js
파일들을 선택
혹시 새로운 glob 패턴을 시험하고 싶다면 이 주소에서 해보시면 됩니다.