# Instalare globala (pentru CLI tsc)
npm install -g typescript
# Instalare in proiect (recomandat)
npm install -D typescript
# Verificare versiune
tsc --version # Version 5.x.x
# Initializare tsconfig.json
tsc --initConfigurare si setup
# Instalare globala (pentru CLI tsc) npm install -g typescript # Instalare in proiect (recomandat) npm install -D typescript # Verificare versiune tsc --ve...
Instalare TypeScript
tsconfig.json
Fisierul tsconfig.json controleaza comportamentul compilatorului TypeScript. Iata o configuratie moderna recomandata:
{
"compilerOptions": {
// Baza
"target": "ES2022", // JavaScript target
"module": "NodeNext", // Sistem module
"moduleResolution": "NodeNext", // Rezolutie import-uri
"lib": ["ES2022"], // API-uri disponibile
// Strictete (TOATE activate!)
"strict": true, // Activeaza tot ce urmeaza:
// "strictNullChecks": true, // null/undefined trebuie gestionate
// "strictFunctionTypes": true, // Parametri functii stricti
// "strictPropertyInitialization": true, // Proprietati initializate
// "noImplicitAny": true, // Interzice any implicit
// "noImplicitThis": true, // this trebuie tipizat
// Verificari suplimentare
"noUncheckedIndexedAccess": true, // array[i] poate fi undefined
"noUnusedLocals": true, // Variabile nefolosite = eroare
"noUnusedParameters": true, // Parametri nefolositi = eroare
"exactOptionalPropertyTypes": true, // Optional != undefined explicit
"noFallthroughCasesInSwitch": true, // switch fara break = eroare
// Output
"outDir": "./dist", // Folder output
"rootDir": "./src", // Folder sursa
"declaration": true, // Genereaza .d.ts
"sourceMap": true, // Source maps pentru debugging
"removeComments": true, // Sterge comentarii din output
// Interoperabilitate
"esModuleInterop": true, // Import default din CommonJS
"forceConsistentCasingInImports": true,
"skipLibCheck": true, // Skip verificare .d.ts (viteza)
"resolveJsonModule": true // Import JSON direct
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "**/*.test.ts"]
}
Nu dezactivati "strict": true. Fara strict mode, TypeScript permite any implicit peste tot, anuland majoritatea beneficiilor. Proiectele fara strict sunt doar JavaScript cu sintaxa de tipuri.
VS Code - configurare IDE
VS Code are suport nativ excelent pentru TypeScript. Extensii recomandate:
- TypeScript Importer - auto-import la completare
- Error Lens - erori afisate inline
- Pretty TypeScript Errors - erori formatate lizibil
- ESLint - linting cu reguli TypeScript
ESLint pentru TypeScript
npm install -D eslint @eslint/js typescript-eslint
// eslint.config.js
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
export default tseslint.config(
eslint.configs.recommended,
...tseslint.configs.strictTypeChecked,
...tseslint.configs.stylisticTypeChecked,
{
languageOptions: {
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname
}
},
rules: {
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
'@typescript-eslint/consistent-type-imports': 'error',
'@typescript-eslint/no-floating-promises': 'error'
}
}
);
Nu mai e nevoie de compilare manuala! Folositi: tsx (npx tsx src/index.ts) - cel mai rapid runner, Bun (bun run src/index.ts) - suport nativ TS, sau Node.js 22+ cu --experimental-strip-types. Pentru productie, compilati cu tsc sau esbuild.
Continuați cu restul cursului
Acesta este capitolul 2 din cele 20 ale cursului, cu 3 lecții din 71. Cumpărați cursul și parcurgeți tot conținutul în cont, cu progres salvat, test final și certificat.
Cumpărați cursul la 110 €