A comprehensive TypeScript workshop with hands-on exercises and solutions covering fundamental and advanced TypeScript concepts. (Work In Progress)
src/
├── exercices/ # Exercise files
│ ├── session1/ # Session 1 exercises
│ │ ├── basic.ts ✅
│ │ ├── operators.ts ✅
│ │ ├── lodash.ts ✅
│ │ └── generic.ts ✅
│ └── session2/ # Session 2 exercises
│ ├── 2 - sets de type - interface/ (WIP)
│ ├── 3 - narrowing/ (WIP)
│ ├── 5 - utility types/ ✅
│ ├── 6 - challenge/ ✅
│ ├── decorator/ (WIP)
│ ├── namespace - module/ (WIP)
│ └── React/ (WIP)
└── solutions/ # Reference solutions
-
Basic Types (
basic.ts)- Type literals
- Enums and
nevertype - Functions and type annotations
-
Operators (
operators.ts)- Type operators and type manipulation
- Conditional types
- Mapped types
-
Lodash Types (
lodash.ts)- Typing utility functions
- Complex function signatures
-
Generics (
generic.ts)- Generic functions
- Generic constraints
- Type inference
- Advanced generic patterns
-
Type Sets & Interfaces (
2 - sets de type - interface/) ✅- Interfaces
- Type definitions
- Object types
-
Type Narrowing (
3 - narrowing/) ✅- Type guards
- Discriminated unions
- Narrowing techniques
-
Utility Types (
5 - utility types/) ✅- Built-in TypeScript utility types
- Type transformations
-
Challenge (
6 - challenge/) ✅- Advanced type challenges
- Complex type manipulations
-
Decorators (
decorator/) (WIP)- Class decorators
- Method decorators
- Property decorators
-
Namespaces & Modules (
namespace - module/) (WIP)- Namespace declarations
- Module systems
-
React with TypeScript (
React/) (WIP)- Component typing
- Hooks typing
- Props and state management
- Navigate to the exercise files in
src/exercices/ - Complete the exercises by adding proper TypeScript types
- Check your solutions against the reference solutions in
src/solutions/
This project uses TypeScript 5.0.4 with strict mode enabled
- All exercises use TypeScript's strict mode for maximum type safety
- Session 1 exercises are complete with solutions
- Session 2 still has work in progress