feat: enhance type organization and import structure

- Added detailed tasks in `TODO.md` for isolating and organizing types/interfaces across various services, including analytics, task management, and integrations.
- Updated imports in multiple files to use the new `@/services/core/database` path for consistency.
- Ensured all type imports are converted to `import type { ... }` where applicable for better clarity and performance.
This commit is contained in:
Julien Froidefond
2025-09-23 10:35:52 +02:00
parent 88ab8c9334
commit bbb4e543c4
12 changed files with 41 additions and 16 deletions

29
TODO.md
View File

@@ -152,8 +152,33 @@ src/services/
- [x] Corriger imports relatifs entre services Jira
## phase 6: cleaning
- [ ] Les imports des services dans les services : pourquoi ne pas utiliser @/services/... ?
- [ ] Les types & interfaces dans services : j'aimerai isoler les types dans des fihiers séparés et revoir les imports; par dossier un par un. Tant qu'à faire, il faudrait qu'on fasse toujours des "import type {} from ..." (ajouter le mot type sur l'import des types)
- [x] Les imports des services dans les services : pourquoi ne pas utiliser @/services/... ?
- [ ] **Isolation et organisation des types & interfaces**
- [ ] **Analytics types** (`src/services/analytics/types.ts`)
- [ ] Extraire `TaskType`, `CheckboxType` de `manager-summary.ts`
- [ ] Extraire `KeyAccomplishment`, `UpcomingChallenge`, `ManagerSummary` de `manager-summary.ts`
- [ ] Créer `types.ts` centralisé pour le dossier analytics
- [ ] Remplacer tous les imports par `import type { ... } from './types'`
- [ ] **Task Management types** (`src/services/task-management/types.ts`)
- [ ] Analyser quels types spécifiques manquent aux services tasks/tags/daily
- [ ] Créer `types.ts` pour les types métier spécifiques au task-management
- [ ] Uniformiser les imports avec `import type { ... } from './types'`
- [ ] **Jira Integration types** (`src/services/integrations/jira/types.ts`)
- [ ] Extraire `CacheEntry` de `analytics-cache.ts`
- [ ] Créer types spécifiques aux services Jira (configs, cache, anomalies)
- [ ] Centraliser les types d'intégration Jira
- [ ] Uniformiser les imports avec `import type { ... } from './types'`
- [ ] **TFS Integration types** (`src/services/integrations/types.ts`)
- [ ] Analyser les types spécifiques à TFS dans `tfs.ts`
- [ ] Créer types d'intégration TFS si nécessaire
- [ ] Préparer structure extensible pour futures intégrations
- [ ] **Core services types** (`src/services/core/types.ts`)
- [ ] Analyser si des types spécifiques aux services core sont nécessaires
- [ ] Types pour database, system-info, user-preferences
- [ ] **Conversion des imports en `import type`**
- [ ] Analyser tous les imports de types depuis `@/lib/types` dans services
- [ ] Remplacer par `import type { ... } from '@/lib/types'` quand applicable
- [ ] Vérifier que les imports de valeurs restent normaux (sans `type`)
### Points d'attention pour chaque service:
1. **Identifier tous les imports du service** (grep)