# History 0.1.1-alpha.3 — TypeScript et écosystème de package ## Statut PASS La gate opérateur de `0.1.1-alpha.3` exécutée le `2026-09-27` est propre. La tranche matérialise une baseline TypeScript stricte indépendante du bundler, le script canonique `typecheck`, un `package.json` privé minimal, une sélection explicite du package manager et une politique de lockfile fondée sur le rôle de l'artefact. Une amélioration de revue a été identifiée après la réussite de la gate : expliciter la découverte et la déclaration des types externes (`@types/*`) nécessaires à l'analyse TypeScript et aux IDE. Cette amélioration appartient exactement au scope `alpha.3`, mais ne remet pas en cause les preuves exécutées. Le delta livré reste immuable ; la précision sera donc portée par `alpha.3.fix.1`. ## Baseline opérateur La tranche `0.1.1-alpha.2.fix.1` et son history `PASS` ont été commités puis poussés avant application de `alpha.3` : ```text commit e351f57 message 0.1.1-alpha.2.fix.1 push origin/master PASS ``` Le history `PASS` du fix est présent dans `HEAD` avant la gate de `alpha.3`. ## Contrôles d'identité Les contrôles opérateur ont confirmé : ```text VERSION 0.1.1-alpha.3 history/0.1.1/alpha.2.fix.1.md présent dans HEAD deltas/0.1.1/alpha.3.md présent history/0.1.1/alpha.3.md absent pendant la gate history alpha.2.fix.1 PASS docs/000-README.md version 26 docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md version 4 docs/rules/530-TYPESCRIPT.md version 2 docs/rules/540-JAVASCRIPT_PACKAGE_ECOSYSTEM.md version 2 docs/templates/008-WEB_TYPESCRIPT_PACKAGE.md version 1 ``` ## Gate spécifique La gate TypeScript/package atteint son message final : ```text 0.1.1 alpha.3 TypeScript/package audit: clean (strict typecheck, package-manager neutral, role-based lockfile policy, 2 JSON templates parsed) ``` Elle confirme notamment : - `strict`, `noEmit`, `noUnusedLocals`, `noUnusedParameters` et `noFallthroughCasesInSwitch` dans la baseline ; - le script `typecheck` basé sur `tsc --noEmit` ; - l'absence de package manager universel imposé ; - la politique de lockfile fondée sur le rôle ; - le parsing exact des templates `package.json` et `tsconfig.json` ; - le maintien de Vite en `alpha.4` et CSS/Sass en `alpha.5`. ## Tests Python La suite complète a affiché : ```text Ran 48 tests in 0.718s OK ``` Soit `48/48` tests `PASS`. ## Audits Markdown Les audits ont affiché : ```text Markdown header audit: clean (211 file(s)) Markdown table audit: clean (9 table(s), 211 file(s)) Markdown link audit: clean (228 local link(s), 211 file(s)) ``` ## Hygiène Git et scope `git diff --check` et `git diff --cached --check` n'ont produit aucune erreur. Le scope indexé observé est exactement : ```text M VERSION A deltas/0.1.1/alpha.3.md M docs/000-README.md M docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md M docs/rules/530-TYPESCRIPT.md M docs/rules/540-JAVASCRIPT_PACKAGE_ECOSYSTEM.md A docs/templates/008-WEB_TYPESCRIPT_PACKAGE.md A templates/web-typescript/package.json A templates/web-typescript/tsconfig.json ``` Aucun contenu Vite de `alpha.4` ni CSS/Sass de `alpha.5` n'a été absorbé. ## Décision de revue — déclarations de types externes La revue opérateur demande de rendre explicite le traitement des packages de déclarations tels que `@types/node` ou `@types/bootstrap`, afin d'améliorer le contrôle TypeScript, l'intégration IDE, les diagnostics et la complétion lorsque la dépendance concernée ne fournit pas déjà des types suffisants. La règle à introduire par `alpha.3.fix.1` doit rester conditionnelle : 1. vérifier d'abord si le package consommé fournit ses propres déclarations TypeScript ; 2. si elles sont absentes ou insuffisantes, rechercher le package `@types/...` correspondant ou une autre déclaration maintenue appropriée ; 3. pour une application/outillage privé, placer normalement ces dépendances de types dans `devDependencies` ; 4. ne pas ajouter `@types/node` à un frontend navigateur qui n'analyse aucun code/config Node ; 5. ne pas ajouter `@types/bootstrap` à un projet qui n'utilise que CSS/Sass et n'importe aucune API JavaScript Bootstrap nécessitant ces déclarations ; 6. pour une bibliothèque publiée, ne pas cacher en `devDependencies` un package de déclarations requis par les `.d.ts` publics des consommateurs ; 7. conserver une compatibilité de version cohérente entre le package runtime, ses déclarations externes et la version TypeScript sélectionnée. Le template PGR générique ne doit pas inventer `@types/node`, `@types/bootstrap` ou leurs versions : ces dépendances dépendent des imports et de l'environnement réels du projet. ## Résultat `0.1.1-alpha.3` est validée `PASS`. La transition immédiate devient : ```text 0.1.1-alpha.3.fix.1 ``` Le correctif reste local au contrat TypeScript/package et à son guide. Après son `PASS`, la trajectoire reprend avec `0.1.1-alpha.4` consacré à Vite.