// tsconfig.json
// ν΄λΉ νμΌ μ»΄νμΌ μ μΈ
"exclude": [
"analytics.ts",
"**/*.dev.ts" // λͺ¨λ ν΄λμμ .dev.ts μ΄λ¦μ ν¬ν¨νλ νμΌλ€ 무μ
"node_modules"
],
// "exclude" μ΅μ
μ μμ μ§μ νμ§ μμΌλ©΄ "node_modules"λ μλμΌλ‘ μ μΈλ¨
// μ»΄νμΌν νμΌλ€
"include": [
...
],
// "include" μ΅μ
μ μμ μ§μ νμ§ μμΌλ©΄ λͺ¨λ νμΌ μ»΄νμΌ
// μ»΄νμΌνκ³ μ νλ κ°λ³ νμΌλ§ μ§μ κ°λ₯
"files": [
"app.ts"
]
// compilerOptions: TSμ½λκ° μ»΄νμΌλλ λ°©μ κ΄λ¦¬
"compilerOptions": {
"target": "es6", // μ΄λ€ JS λ²μ μ λμμΌλ‘ μ½λλ₯Ό μ»΄νμΌν κ²μΈμ§
"lib": [], // domμΌλ‘ μμ
μ μννλ νλͺ©λ€(κΈ°λ³Έ κ°μ²΄, κΈ°λ₯, TSλ
Έλ)μ μ§μ νκ² ν΄μ£Όλ μ΅μ
// μλ λ μ΅μ
μ TS + JS νμΌλ ν¨κ» κ²μ¬νκ³ μΆμ κ²½μ°μ μ¬μ©
"allowJs": true, // TSκ° JS νμΌμ μ»΄νμΌν μ μλλ‘ ν΄μ€
"checkJs": true, // TSκ° μ»΄νμΌ μννμ§ μλλΌλ ꡬ문 κ²μ¬ λ° μ μ¬μ μλ¬ λ³΄κ³ ν΄μ€
"sourceMap": true, // μ
λ ₯ νμΌμ JSνμΌμ μ°κ²°νλ μ΅μ λΈλΌμ°μ μ κ°λ°μ λꡬ κ°μ λ€λ¦¬ μν
"outDir": "./dist", // μμ±λ νμΌ μ μ₯ μμΉ
"rootDir": "./src", // λ£¨νΈ ν΄λ μ§μ
"removeComments": true, // TS νμΌμ λͺ¨λ μ£Όμμ΄ μ»΄νμΌλ JS νμΌμμ μ κ±°λ¨
"noEmit": true, // JS νμΌ μμ± X
"noEmitOnError": true, // errorκ° λλ TS νμΌμ λν μΆλ ₯ νμΌμ μμ±λμ§ μμ (κΈ°λ³Έκ°μ false)
/* Type Checking */
"strict": true, // true: strict κ΄λ ¨ λͺ¨λ μ΅μ
μ κ°λ³μ μΌλ‘ μ€μ νλ κ²κ³Ό κ°μ (λͺ¨λ μ΅μ
μ΄ trueλ‘ μ€μ λ¨)
"noImplicitAny": true, // μ묡μ μΌλ‘ νμ
μ anyλ‘ μ€μ νμ§ μμ μ¦, trueμΌ λ νμ
μ μ§μ νμ§ μμΌλ©΄ error
"strictNullChecks": true, // null κ°μ μ μ¬μ μΌλ‘ κ°μ§ μ μλ κ°μ μ κ·Όνκ³ μμ
νλ λ°©μμ TSμκ² μλ €μ€
"strictFunctionTypes": true, // 맀κ°λ³μμ λ°ν κ°μ λν΄ ν¨μκ° μ΄λ»κ² νμλλμ§ μ μ
"strictBindCallApply": true, // κ²°ν©νκ³ νΈμΆνκ³ μ μ©νλ μμ
μ μ μ©
"noImplicitThis": true, // this ν€μλμ κ΄λ ¨ μμΌλ©°, TSλ this ν€μλλ₯Ό λͺ
ννμ§ μμ μμΉμμ μ¬μ©λλ©΄ κ²½κ³
"alwaysStrict": true, // strict λͺ¨λλ₯Ό μ¬μ©νλ μμ±λλ JS νμΌμ΄ μΆκ°λλλ‘ μ μ΄
}
// dist ν΄λ: λͺ¨λ μΆλ ₯κ° λ³΄κ΄
// src ν΄λ: ts νμΌ μ μ₯
! // nullμ΄ μλ κ°μ λ°ννλ€λ κ±Έ μ μ μκ² ν΄μ£Όλ μν
if (button) {...} // μλ° μμΌλ‘ ifλ¬Έμ ν΅ν΄ nullκ°μ΄ μλ λ μ½λλ₯Ό μ€ννλλ‘ ν΄μ€λ !μ°μ°μλ₯Ό μ΄κ²κ³Ό λμΌν κΈ°λ₯
bind() // μ λ¬λ μΈμλ₯Ό μ¬κ΅¬μ±νκ³ μ ν λ (κ²°ν©νκ³ μ νλ νλͺ©μ μΈμλ‘ μμ±)
.map // map fileμ JS & TS νμΌ κ°μ λλ²κ±°λ₯Ό μ΄μ΄μ£Όλ μν
boring-avatars urlλ₯Ό μ΄μ©ν΄μ λλ€ νλ‘ν μ΄λ―Έμ§ μμ±ν΄λ³΄κΈ°~!
π[μ°Έκ³ λΈλ‘κ·Έ] Boring Avatars
π[github] boring-avatars-service
μ€μ μ λ³Έ ν μ€μ¦κΆ μ½ν λ μμλ κ΄ν,,, 70λΆ μμ νλλ¬Έμ νΈλ κ²λ λ² μ°¬λ° 6λ¬Έμ λ νμ΄μΌ νλ€λ.. λ¬Έμ μ κ·Ό μμ²΄κ° μμν λ¬Έμ κ° λ§μμ μμ μλ λͺ» λ λ¬Έμ λ μμλ€. π₯²
νλ‘κ·Έλλ¨Έμ€ μ½ν λ 1 λ¬Έμ μ€μμ μΉ΄μΉ΄μ€ λ¬Έμ λ κ΄ν κ²λ§ λ¨Ήκ³ κ³μ λ―Έλ€μλλ° μ€ν¨μ¨ λ¬Έμ λ μκ°μ μ’ κ±Έλ Έμ§λ§ λλ¦ μ¬λ°κ² νμλ°!