Files
pgr/history/0.1.1/alpha.3.md
2026-09-27 10:56:05 +02:00

5.2 KiB

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 :

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é :

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 :

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é :

Ran 48 tests in 0.718s

OK

Soit 48/48 tests PASS.

Audits Markdown

Les audits ont affiché :

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 :

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 :

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.