tsconfig/bases 소개!
8522 단어 TypeScripttech
결론
$ yarn add -D @tsconfig/strictest
tsconfig.json{
"extends": "@tsconfig/strictest/tsconfig.json",
}
이상은!tsconfig.제이슨은 어떻게 썼어요?
tsconfig.json
이렇게 쓰신 분 있나요?tsconfig.json
{
"compilerOptions": {
"strict": true,
"allowUnusedLabels": false,
"allowUnreachableCode": false,
"exactOptionalPropertyTypes": true,
"noFallthroughCasesInSwitch": true,
"noImplicitOverride": true,
"noImplicitReturns": true,
"noPropertyAccessFromIndexSignature": true,
"noUncheckedIndexedAccess": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"lib": ["dom"],
"outDir": "./dist",
// ...以下略
}
}
그리고 여러 항목에서 복사하고 반복해서 사용합니다...뭐, 전혀 상관없는 것 같아, 이런 것도 있어!소개 좀 해주세요!
tsconfig/bases에서간소화 json
결과적으로 우리는
"strict": true
하기로 결정했다. "noUncheckedIndexedAccess": true
해야 하지 않겠는가. 더 나아가 말하면 형이 엄격할수록 즐겁다는 것은 떨림이 아니겠는가()그런 거. "어쨌든 딱딱하게 하고 싶어!"이런 설정을 묵인할 수 있는 편리한 게 있어요.
이거다!
작은 것들README에 관해서는 보기 좋지만, @tsconfig/strictest를 사용하면 견고형 검사 옵션이 모두 실려 있습니다.
사용 방법은 정상적으로 설치하십시오
$ yarn add -D @tsconfig/strictest
tsconfig.json
의 extends
에서만 지정tsconfig.json
{
"extends": "@tsconfig/strictest/tsconfig.json",
}
굉장히 쉽죠?이것을 지정하면 아래의 내용이 적용됩니다.
우리 팀에 지나치게 엄격한 규칙이 있다면 명확하게 끄면 돼.
그러니 꼭 사용해 보세요!
번외편: "importsNotUsedAsValues": "error"
strictest
에는 "importsNotUsedAsValues": "error"
의 옵션이 있지만 이것은 유형 정보import
만을 위한 경우import type
는 반드시 import
로 규정되어 있다.구체적으로 말하면// これはエラーになる
import { Foo } from "./foo";
const foo: Foo = {};
// この場合正しいのは
import type { Foo } from "./foo";
// これはエラーにならない
import { Foo } from "./foo";
const foo = new Foo();
이런 느낌은 있지만 하나하나 수동으로 관리할 수는 없다.실제로 @typescript-eslint/eslint-plugin
의 규칙 중에는 이것을 자동으로 수정하는 규칙이 있기 때문에 그것을 설정하는 것이 좋다..eslintrc
{
"rules": {
"@typescript-eslint/consistent-type-imports": "error",
}
}
또한 이 규칙도 @typescript-eslint/recommended
의 설정에 포함되어 있기 때문에 상술한 대로 지정할지 여부.eslintrc
{
"extends": ["plugin:@typescript-eslint/recommended"]
}
그래도 괜찮아.
Reference
이 문제에 관하여(tsconfig/bases 소개!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/yuta_ura/articles/introduce-tsconfig-bases텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)