์ด๊ธฐ ์ธํ / eslint, prettier / tsconfig.json / tsconfig ์ ์ญ ์์ฑ
์ด๊ธฐ ์ธํ ์ดํดํ๋๋ผ
๋ช์๊ฐ ๊ฑธ๋ ธ๋ค..
ํ์ง๋ง.. ๋ฃ๋๋ค.. ๊ฐ์๋ฅผ..
๊ทธ๋ฆฌ๊ณ .. ๊ธฐ๋ก ํ๋ค...
ํ๋ก ํธ์๋ ์ด๊ธฐ ์ธํ - exlint, prettier
npm i -D prettier eslint-plugin-prettier eslint-config-prettier
exlint : ์ฝ๋ ๊ฒ์ฌ ๋๊ตฌ
prettier : ์ฝ๋ ์ ๋ ฌ ๋๊ตฌ
.eslintrc >
{
"extends": ["plugin:prettier/recommended"],
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2021
}
}
"extends": ["plugin:prettier/recommended"],
: ํ๋ฆฌํฐ์ด๊ฐ ์ถ์ฒํ ๋๋ก ๋ฐ๋ฅด๊ฒ ๋ค๋ผ๋ ์๋ฏธ์ด๋ค.
.prettierrc >
{
"printWidth": 120,
"tabWidth": 2,
"singleQuote": true,
"trailingComma": "all",
"semi": true
}
์ต๋ ๊ธ์์ 120
์คํ์ด์ค ๋์นธ
ํ ๋ฐ์ดํ ์ฌ์ฉ
ํญ์ ์ฝค๋ง๋ฅผ ๋ถ์ด๊ฒ ๋ค
์ธ๋ฏธ์ฝ๋ก ์ ํญ์ ๋ถ์ด๊ฒ ๋ค๋ ๋ป
tsconfig.json
tsconfig.json์ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ณํ์ํค๋ ์ปดํ์ผ ์ค์ ์ ํ๊บผ๋ฒ์ ์ ์ ํด๋๋ ํ์ผ์ด๋ค.
ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผ ํ๋๋ฐ ํ์ํ ๋ฃจํธํ์ผ, ์ปดํ์ผ๋ฌ ์ต์ ๋ฑ์ ์์ธํ ์ค์ ํ ์ ์๋ค.
๋๋ ํ ๋ฆฌ์ tsconfig.jsonํ์ผ์ด ์๋ค๋ฉด ํด๋น ๋๋ ํ ๋ฆฌ๊ฐ TypeScriptํ๋ก์ ํธ์ ๋ฃจํธ๊ฐ ๋๋ค.
tsconfig.jsonํ์ผ์ ํ๋ก์ ํธ๋ฅผ ์ปจํ์ผ ํ๋๋ฐ ํ์ํ ๋ฃจํธ ํ์ผ๊ณผ ์ปดํ์ผ๋ฌ ์ต์ ์ ์ง์ ํ๋ค.
JavaScript ํ๋ก์ ํธ๋ jsconfig.json ํ์ผ์ ๋์ ์ฌ์ฉํ ์ ์๋ค.
์ด ํ์ผ์ tsconfig.json ํ์ผ๊ณผ ๊ฑฐ์ ๋์ผํ๊ฒ ๋์ํ์ง๋ง,
๋ช๋ช JavaScript ๊ด๋ จ ์ปดํ์ผ๋ฌ ํ๋๊ทธ๊ฐ ๊ธฐ๋ณธ์ผ๋ก ํ์ฑํ๋์ด ์๋ค.
tsconfig์์ ์ต์ ๋ค์ ๋ฏธ๋ฆฌ ์ ์ํด ๋์ผ๋ฉด, ๋์ด์ ์ปดํ์ผ ํ ๋ ๋ช ๋ น์ด์ ์ผ์ผํ ๋์ ํ์ผ์ด๋
์ต์ ์ ์ง์ ํ์ง ์์๋ ๋๋ค.
๊ทธ๋์ tsc๋ ts-node๋ช ๋ น์ด๋ฅผ ๊ทธ๋ฅ ์คํํ๊ฒ ๋๋ฉด, ํ์ฌ ํด๋์ ์๋ tsconfig์ค์ ๋ด์ฉ์ ๊ธฐ์ค์ผ๋ก
ํ๋ก์ ํธ์์ ์์ค๋ค์ ๋ณํ ์์ (์ปดํ์ผ)์ ์งํํ๊ฒ ๋๋ค.
๋ง์ฝ ํ์ฌ ํด๋์ tsconfig์ค์ ํ์ผ์ด ์๋ค๋ฉด ํ๋ก์ ํธ ํด๋ ๋ด์์ ์์ ํด๋์ ๊ฒฝ๋ก๋ฅผ ๊ฒ์ํด ๋๊ฐ๋ค.
tsc --init
ํด๋น ๋ช ๋ น์ด๋ฅผ์คํํ๋ฉด, ๋ฏธ๋ฆฌ ์์ฑ๋ tsconfig.jsonํ์ผ์ ์๋์ผ๋ก ๋ง๋ค์ด์ค๋ค.
ํ์ผ์ ์ด์ด๋ณด๋ฉด ์ฌ์ง์์ ๋ณด๋ค์ํผ ๋ฌด์ํ ๋ง์ ์ต์ ๋ค์ด ์๋ ๊ฑธ ๋ณผ ์ ์๋ค.
tsconfig ์ ์ญ ์์ฑ
tsconfig์ ์ญ ์์ฑ์ด๋, ํ์ผ์ ์ต์์์ ์์นํ๊ณ ์๋ ์์ฑ๋ค์ ์ผ์ปซ๋๋ค.
{
// TypeScript ์ปดํ์ผ๋ฌ์ ์ต์
๋ค์ ์ง์ ํ๋ ์์ฑ
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true,
"sourceMap": true
// ... ๋ฌด์ํ ๋ง์ ์์ฑ๋ค
},
// ์ปดํ์ผํ ํ์ผ๋ค์ ๊ฐ๋ณ ๋ชฉ๋ก์ ์ง์ ํ๋ ์์ฑ
"files": ["src/main.ts", "src/utils.ts"],
// ์ปดํ์ผํ ํ์ผ๋ค์ ์ง์ ํ๋ ์์ฑ (์์ผ๋ ์นด๋ ํจํด์ผ๋ก ๋ฌถ์ด ํํ)
"include": [ "src/**/*.ts" ],
// ์ปดํ์ผ ๋์์์ ์ ์ธํ ํ์ผ๋ค์ ์ง์ ํ๋ ์์ฑ
"exclude": [ "node_modules", "**/*.test.ts" ],
// ๋ค๋ฅธ tsconfig.json ํ์ผ์ ์์๋ฐ์์ ์ค์ ์ ์ฌ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ์์ฑ
"extends": "./configs/base.json",
// ์ฌ๋ฌ ๊ฐ์ ํ์ ํ๋ก์ ํธ๋ก ๊ตฌ์ฑ๋ ํ๋ก์ ํธ์ ์์กด ๊ด๊ณ๋ฅผ ์ง์ ํ๋ ์์ฑ
"references": [
{ "path": "./subproject1" },
{ "path": "./subproject2" }
],
// ํ์
์ต๋(type acquisition)๊ณผ ๊ด๋ จ๋ ์ต์
๋ค์ ์ง์ ํ๋ ์์ฑ
"typeAcquisition": {
"enable": true,
"include": ["jquery"],
"exclude": ["react"]
},
// watch ๋ชจ๋์ ๊ด๋ จ๋ ์ต์
๋ค์ ์ง์ ํ๋ ์์ฑ
"watchOptions": {
"watchFile": "useFsEvents",
"watchDirectory": "useFsEvents",
"fallbackPolling": "dynamicPriority"
}
}
๋ง์ ์ ์ญ ์์ฑ๋ค์ด ์์ง๋ง, ์ด ์ค์์ ์ฃผ๋ก ์ฐ์ด๋ ๋ค์ฏ๊ฐ์ง ์์ฑ์ผ๋ก๋
compilerOptions, files, include, exclude, extends ์ ๋๊ฐ ์๋ค.
files
ํ๋ก์ ํธ์์ ์ปดํ์ผํ ๋ชฉ๋ก๋ค์ ๋ช ์์ ์ผ๋ก ์ง์ ํ๋ ์์ฑ
files ์์ฑ์ exclude๋ณด๋ค ์ฐ์ ์์๊ฐ ๋๋ค.
๋ง์ผ ์ด ์์ฑ์ด ์๋ต๋๋ฉด, include์ exclude์์ฑ์ผ๋ก ์ปดํ์ผ ๋์์ ๊ฒฐ์ ํ๋ค.
{
"files": [ // ํ์ผ ํ์ฅ์๊น์ง ์ ํํ ์์ฑํด์ค์ผ ํ๋ค
"src/main.ts",
"src/utils.ts",
"src/types.d.ts"
]
}
extends
extends๋ ๋ค๋ฅธ tsconfig.jsonํ์ผ์ ์ค์ ๋ค์ ๊ฐ์ ธ์ ์ฌ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ์ต์ ์ด๋ค.
๋ณดํต extends์์ฑ์ tsconfig.jsonํ์ผ์ ์ต์์์ ์์นํ๋ค.
์๋ฅผ๋ค์ด config/base.json ํ์ผ์ ์์ฑ ์ค์ ์
ํ tsconfig.json ํ์ผ์ ํฌ๋งท์ด ๋ง์ผ๋ฉด baseํ์ผ์ ์ค์ ์ ์์ ๋ฐ๊ฒ ๋๋ค.
// config/base.json
{
"compilerOptions": {
"noImplicitAny": true,
"strictNullChecks": true
}
}
{
"extends": "./configs/base",
"compilerOptions": {
"strictNullChecks": false
},
"files": [
"src/main.ts",
"src/utils.ts",
"src/types.d.ts"
]
}
include
include ์์ฑ์ files ์์ฑ๊ณผ ๊ฐ์ด ํ๋ก์ ํธ์์ ์ปดํ์ผํ ํ์ผ๋ค์ ์ง์ ํ๋ ์์ฑ์ด์ง๋ง, ์์ผ๋ ์นด๋ ํจํด์ผ๋ก ์ง์ ํ๋ค๋ ์ ์์ ์ฐจ์ด๊ฐ ์๋ค. ๋ํ include๋ files ์์ฑ๊ณผ๋ ๋ฌ๋ฆฌ exclude๋ณด๋ค ์ฝํด include์ ๋ช ์๋์ด ์์ด๋ exclude์๋ ๋ช ์๋์ด ์์ผ๋ฉด ์ ์ธ ๋๊ฒ ๋๋ค.
{
"compilerOptions": {
...
},
"include": [
"src/*.ts", // src ๋๋ ํ ๋ฆฌ์ ์๋ ๋ชจ๋ .ts ํ์ผ
"dist/test?.ts" // dist ๋๋ ํ ๋ฆฌ์ ์๋ test1.ts, test2.ts , test3.ts ..๋ฑ์ ์ผ์น
"test/**/*.spec.ts" // test ๋๋ ํ ๋ฆฌ์ ๊ทธ ํ์ ๋๋ ํ ๋ฆฌ์ ์๋ ๋ชจ๋ .spec.ts ํ์ผ
]
}
์์ผ๋ ์นด๋ ํจํด์ด๋ tsconfig.json ํ์ผ์์ include๋ exclude ์์ฑ์ ์ฌ์ฉํ ์ ์๋ ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ทธ๋ฃนํํ์ฌ ์ผ์น์ํค๋ ๊ธฐํธ๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
* : ํด๋น ๋๋ ํ ๋ฆฌ์ ์๋ ๋ชจ๋ ํ์ผ
? : ํด๋น ๋๋ ํ ๋ฆฌ์ ์๋ ํ์ผ๋ค์ ์ด๋ฆ ์ค ํ ๊ธ์๋ผ๋ ํฌํจํ๋ฉด ํด๋น
** : ํด๋น ๋๋ ํ ๋ฆฌ์ ํ์ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ์ ํฌํจ
exclude
exclude ์์ฑ์ ํ๋ก์ ํธ์์ ์ปดํ์ผ ๋์์์ ์ ์ธํ ํ์ผ๋ค์ ์์ผ๋์นด๋ ํจํด์ผ๋ก ์ง์ ํ๋ ์์ฑ์ด๋ค.
์ฆ, include์ ๋ฐ๋๋ฒ์ ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
์์ผ๋ ์นด๋ ํจํด์ด๋?
์ปดํจํฐ๋ ํน์ ๋ช ๋ น์ด๋ก ๋ช ๋ น์ ๋ด๋ฆด ๋, ์ฌ๋ฌ ํ์ผ์ ํ๊บผ๋ฒ์ ์ง์ ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ธฐํธ๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
์ด ๋ฌธ์๋ ์ด๋ ๊ณณ์์ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ ์ฝ๊ฐ์ ์ฐจ์ด๋ฅผ ๋ณด์ธ๋ค.
์ฃผ๋ก ํน์ ํ ํจํด์ด ์๋ ๋ฌธ์์ด ํน์ ํ์ผ์ ์ฐพ๊ฑฐ๋, ๊ธด ์ด๋ฆ์ ์๋ตํ ๋ ์ฐ์ธ๋ค.
{
"compilerOptions": {
...
},
"exclude": [
"node_modules", // node_modules ๋๋ ํ ๋ฆฌ๋ฅผ ์ ์ธ
"**/*.test.ts" // ๋ชจ๋ .test.ts ํ์ผ์ ์ ์ธ
]
}
compilerOptions
์ปดํ์ผ ๋์ ํ์ผ๋ค์ ์ด๋ป๊ฒ ๋ณํํ ์ง ์ธ์ธํ ์ ํ๋ ์ต์
์ ๋ง ๋ง์ ์ต์ ๋ค์ด ์๋ค.
{
"compilerOptions": {
/* ๊ธฐ๋ณธ ์ต์
* ------------------------------------------------------------------------------------------------------------------------------------------------ */
"incremental": true, /* ์ฆ๋ถ ์ปดํ์ผ ํ์ฑํ */
"target": "es5", /* ECMAScript ๋ชฉํ ๋ฒ์ ์ค์ : 'ES3'(๊ธฐ๋ณธ), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
"module": "esnext", /* ์์ฑ๋ ๋ชจ๋ ์ฝ๋ ์ค์ : 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
"lib": ["dom", "dom.iterable", "esnext"], /* ์ปดํ์ผ ๊ณผ์ ์ ์ฌ์ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ ์ค์ */
"allowJs": true, /* JavaScript ํ์ผ ์ปดํ์ผ ํ์ฉ */
"checkJs": true, /* .js ํ์ผ ์ค๋ฅ ๋ฆฌํฌํธ ์ค์ */
"jsx": "react", /* ์์ฑ๋ JSX ์ฝ๋ ์ค์ : 'preserve', 'react-native', or 'react'. */
"declaration": true, /* '.d.ts' ํ์ผ ์์ฑ ์ค์ */
"declarationMap": true, /* ํด๋นํ๋ ๊ฐ '.d.ts'ํ์ผ์ ๋ํ ์์ค ๋งต ์์ฑ */
"sourceMap": true, /* ์์ค๋งต '.map' ํ์ผ ์์ฑ ์ค์ */
"outFile": "./", /* ๋ณต์ ํ์ผ์ ๋ฌถ์ด ํ๋์ ํ์ผ๋ก ์ถ๋ ฅ ์ค์ */
"outDir": "./dist", /* ์ถ๋ ฅ๋ ๋๋ ํ ๋ฆฌ ์ค์ */
"rootDir": "./", /* ์
๋ ฅ ํ์ผ๋ค์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ ์ค์ . --outDir ์ต์
์ ์ฌ์ฉํด ์ถ๋ ฅ ๋๋ ํ ๋ฆฌ ์ค์ ์ด ๊ฐ๋ฅ */
"composite": true, /* ํ๋ก์ ํธ ์ปดํ์ผ ํ์ฑํ */
"tsBuildInfoFile": "./", /* ์ฆ๋ถ ์ปดํ์ผ ์ ๋ณด๋ฅผ ์ ์ฅํ ํ์ผ ์ง์ */
"removeComments": true, /* ์ถ๋ ฅ ์, ์ฃผ์ ์ ๊ฑฐ ์ค์ */
"noEmit": true, /* ์ถ๋ ฅ ๋ฐฉ์ถ(emit) ์ ๋ฌด ์ค์ */
"importHelpers": true, /* 'tslib'๋ก๋ถํฐ ํฌํผ๋ฅผ ํธ์ถํ ์ง ์ค์ */
"downlevelIteration": true, /* 'ES5' ํน์ 'ES3' ํ๊ฒ ์ค์ ์ Iterables 'for-of', 'spread', 'destructuring' ์๋ฒฝ ์ง์ ์ค์ */
"isolatedModules": true, /* ๊ฐ ํ์ผ์ ๋ณ๋ ๋ชจ๋๋ก ๋ณํ ('ts.transpileModule'๊ณผ ์ ์ฌ) */
/* ์๊ฒฉํ ์ ํ ๊ฒ์ฌ ์ต์
* ------------------------------------------------------------------------------------------------------------------------------------------------ */
"strict": true, /* ๋ชจ๋ ์๊ฒฉํ ์ ํ ๊ฒ์ฌ ์ต์
ํ์ฑํ */
"noImplicitAny": true, /* ๋ช
์์ ์ด์ง ์์ 'any' ์ ํ์ผ๋ก ํํ์ ๋ฐ ์ ์ธ ์ฌ์ฉ ์ ์ค๋ฅ ๋ฐ์ */
"strictNullChecks": true, /* ์๊ฒฉํ null ๊ฒ์ฌ ์ฌ์ฉ */
"strictFunctionTypes": true, /* ์๊ฒฉํ ํจ์ ์ ํ ๊ฒ์ฌ ์ฌ์ฉ */
"strictBindCallApply": true, /* ์๊ฒฉํ 'bind', 'call', 'apply' ํจ์ ๋ฉ์๋ ์ฌ์ฉ */
"strictPropertyInitialization": true, /* ํด๋์ค์์ ์์ฑ ์ด๊ธฐํ ์๊ฒฉ ๊ฒ์ฌ ์ฌ์ฉ */
"noImplicitThis": true, /* ๋ช
์์ ์ด์ง ์์ 'any'์ ํ์ผ๋ก 'this' ํํ์ ์ฌ์ฉ ์ ์ค๋ฅ ๋ฐ์ */
"alwaysStrict": true, /* ์๊ฒฉ๋ชจ๋์์ ๊ตฌ๋ฌธ ๋ถ์ ํ, ๊ฐ ์์ค ํ์ผ์ "use strict" ์ฝ๋๋ฅผ ์ถ๋ ฅ */
/* ์ถ๊ฐ ๊ฒ์ฌ ์ต์
* ------------------------------------------------------------------------------------------------------------------------------------------------ */
"noUnusedLocals": true, /* ์ฌ์ฉ๋์ง ์์ ๋ก์ปฌ์ด ์์ ๊ฒฝ์ฐ, ์ค๋ฅ๋ก ๋ณด๊ณ */
"noUnusedParameters": true, /* ์ฌ์ฉ๋์ง ์์ ๋งค๊ฐ๋ณ์๊ฐ ์์ ๊ฒฝ์ฐ, ์ค๋ฅ๋ก ๋ณด๊ณ */
"noImplicitReturns": true, /* ํจ์๊ฐ ๊ฐ์ ๋ฐํํ์ง ์์ ๊ฒฝ์ฐ, ์ค๋ฅ๋ก ๋ณด๊ณ */
"noFallthroughCasesInSwitch": true, /* switch ๋ฌธ ์ค๋ฅ ์ ํ์ ๋ํ ์ค๋ฅ ๋ณด๊ณ */
"noUncheckedIndexedAccess": true, /* ์ธ๋ฑ์ค ์๊ทธ๋์ฒ ๊ฒฐ๊ณผ์ 'undefined' ํฌํจ */
/* ๋ชจ๋ ๋ถ์ ์ต์
* ------------------------------------------------------------------------------------------------------------------------------------------------ */
"moduleResolution": "node", /* ๋ชจ๋ ๋ถ์ ๋ฐฉ๋ฒ ์ค์ : 'node' (Node.js) ๋๋ 'classic' (TypeScript pre-1.6). */
"baseUrl": "./", /* ์ ๋ ๊ฒฝ๋ก ๋ชจ๋์ด ์๋, ๋ชจ๋์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์์นํ ๋๋ ํ ๋ฆฌ ์ค์ (์: './modules-name') */
"paths": {}, /* 'baseUrl'์ ๊ธฐ์ค์ผ๋ก ์๋ ์์น๋ก ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ๋ค์ ๋งคํํ๋ ํญ๋ชฉ ์ค์ */
"rootDirs": [], /* ๋ฐํ์ ์ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๋ ๋กํธ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก */
"typeRoots": [], /* ์ ํ ์ ์๋ฅผ ํฌํจํ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก */
"types": [], /* ์ปดํ์ผ ์ ํฌํจ๋ ์ ํ ์ ์ธ ํ์ผ ์
๋ ฅ */
"allowSyntheticDefaultImports": true, /* ๊ธฐ๋ณธ ์ถ๋ ฅ(default export)์ด ์๋ ๋ชจ๋๋ก๋ถํฐ ๊ธฐ๋ณธ ํธ์ถ์ ํ์ฉ (์ด ์ฝ๋๋ ๋จ์ง ์ ํ ๊ฒ์ฌ๋ง ์ํ) */
"esModuleInterop": true, /* ๋ชจ๋ ๊ฐ์ ธ์ค๊ธฐ์ ๋ํ ๋ค์์คํ์ด์ค ๊ฐ์ฒด ์์ฑ์ ํตํด CommonJS์ ES ๋ชจ๋ ๊ฐ์ ์ํธ ์ด์ฉ์ฑ์ ์ ๊ณต. 'allowSyntheticDefaultImports' ์์ */
"preserveSymlinks": true, /* symlinks ์ค์ ๊ฒฝ๋ก๋ก ๊ฒฐ์ ํ์ง ์์ */
"allowUmdGlobalAccess": true, /* ๋ชจ๋์์ UMD ๊ธ๋ก๋ฒ์ ์ ๊ทผ ํ์ฉ */
/* ์์ค๋งต ์ต์
* ------------------------------------------------------------------------------------------------------------------------------------------------ */
"sourceRoot": "./", /* ๋๋ฒ๊ฑฐ(debugger)๊ฐ ์์ค ์์น ๋์ TypeScript ํ์ผ์ ์ฐพ์ ์์น ์ค์ */
"mapRoot": "./", /* ๋๋ฒ๊ฑฐ๊ฐ ์์ฑ๋ ์์น ๋์ ๋งต ํ์ผ์ ์ฐพ์ ์์น ์ค์ */
"inlineSourceMap": true, /* ํ๋์ ์ธ๋ผ์ธ ์์ค๋งต์ ๋ด๋ณด๋ด๋๋ก ์ค์ */
"inlineSources": true, /* ํ๋์ ํ์ผ ์์ ์์ค์ ์์ค ์ฝ๋๋ฅผ ํจ๊ป ๋ด๋ณด๋ด๋๋ก ์ค์ . '--inlineSourceMap' ๋๋ '--sourceMap' ์ค์ ์ด ํ์ */
/* ์คํ์ ์ธ ๊ธฐ๋ฅ ์ต์
* ------------------------------------------------------------------------------------------------------------------------------------------------ */
"experimentalDecorators": true, /* ES7 ๋ฐ์ฝ๋ ์ดํฐ(decorators) ์คํ ๊ธฐ๋ฅ ์ง์ ์ค์ */
"emitDecoratorMetadata": true, /* ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ํ ์ ํ ๋ฉํ๋ฐ์ดํฐ ๋ฐฉ์ถ ์คํ ๊ธฐ๋ฅ ์ง์ ์ค์ */
/* ๊ณ ๊ธ ์ต์
* ------------------------------------------------------------------------------------------------------------------------------------------------ */
"skipLibCheck": true, /* ์ ์ธ ํ์ผ ์ ํ ๊ฒ์ฌ ์คํต */
"forceConsistentCasingInFileNames": true /* ๋์ผํ ํ์ผ์ ๋ํ ์ผ๊ด๋์ง ์์ ์ผ์ด์ค ์ฐธ์กฐ๋ฅผ ํ์ฉํ์ง ์์ */
}
}