0.0.1-alpha.4.fix.2
This commit is contained in:
132
deltas/0.0.1/alpha.4.fix.2.md
Normal file
132
deltas/0.0.1/alpha.4.fix.2.md
Normal file
@@ -0,0 +1,132 @@
|
||||
<!-- file: deltas/0.0.1/alpha.4.fix.2.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.0.1-alpha.4.fix.2 — types Node et `ESNext.Disposable`
|
||||
|
||||
## Base requise
|
||||
|
||||
État `0.0.1-alpha.4.fix.1` committé et poussé après application du history :
|
||||
|
||||
```text
|
||||
history/0.0.1/alpha.4.fix.1.md = FAIL
|
||||
```
|
||||
|
||||
La version devient :
|
||||
|
||||
```text
|
||||
0.0.1-alpha.4.fix.2
|
||||
```
|
||||
|
||||
## Causes du second fix
|
||||
|
||||
Le premier fix Web corrige l'import Sass côté Vite client et l'hygiène EOF, mais sa gate opérateur montre encore deux familles d'erreurs TypeScript.
|
||||
|
||||
### Types Node absents
|
||||
|
||||
Les déclarations de Vite et `sass-embedded` utilisent notamment :
|
||||
|
||||
```text
|
||||
Buffer
|
||||
NodeJS
|
||||
node:http
|
||||
node:url
|
||||
node:stream
|
||||
```
|
||||
|
||||
Le package ajoute donc :
|
||||
|
||||
```json
|
||||
"@types/node": "24.13.6"
|
||||
```
|
||||
|
||||
dans `devDependencies`.
|
||||
|
||||
Cette branche est alignée sur l'environnement opérateur Node 24 plutôt que sur le `latest` global des types Node.
|
||||
|
||||
Le `tsconfig.json` du code Web devient :
|
||||
|
||||
```json
|
||||
"types": ["vite/client", "node"]
|
||||
```
|
||||
|
||||
Le `tsconfig.vite.json` de la configuration Vite utilise :
|
||||
|
||||
```json
|
||||
"types": ["node"]
|
||||
```
|
||||
|
||||
### `Symbol.asyncDispose`
|
||||
|
||||
Rolldown expose une déclaration utilisant :
|
||||
|
||||
```text
|
||||
Symbol.asyncDispose
|
||||
```
|
||||
|
||||
Le projet conserve `target = ES2022` et ajoute la bibliothèque de types :
|
||||
|
||||
```text
|
||||
ESNext.Disposable
|
||||
```
|
||||
|
||||
conformément au modèle TypeScript prévu pour l'explicit resource management sur un target plus ancien.
|
||||
|
||||
### Défaut de la gate structurelle précédente
|
||||
|
||||
La gate `alpha.4.fix.1` parcourait tous les fichiers `*.d.ts` sous `Web/`, donc aussi ceux de `node_modules`.
|
||||
|
||||
Cette vérification était incorrecte : Vite doit précisément fournir ses propres déclarations de modules d'assets.
|
||||
|
||||
La nouvelle gate ne vérifie que les éventuels fichiers `*.d.ts` appartenant à :
|
||||
|
||||
```text
|
||||
Web/knowledge-template-lab/src/
|
||||
```
|
||||
|
||||
afin d'empêcher uniquement un shim SCSS local ajouté pour masquer le problème.
|
||||
|
||||
## Fichiers remplacés
|
||||
|
||||
```text
|
||||
VERSION
|
||||
Cargo.toml
|
||||
Web/knowledge-template-lab/package.json
|
||||
Web/knowledge-template-lab/tsconfig.json
|
||||
Web/knowledge-template-lab/tsconfig.vite.json
|
||||
docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
|
||||
docs/validation/001-VALIDATION_MATRIX.md
|
||||
```
|
||||
|
||||
## Fichier ajouté
|
||||
|
||||
```text
|
||||
deltas/0.0.1/alpha.4.fix.2.md
|
||||
```
|
||||
|
||||
Aucun fichier n'est supprimé.
|
||||
|
||||
## Lockfiles
|
||||
|
||||
Le delta ne préfabrique pas `package-lock.json`.
|
||||
|
||||
L'opérateur doit exécuter `npm install` pour intégrer `@types/node` au lockfile, puis `npm ci` pour vérifier la restauration reproductible.
|
||||
|
||||
Le bump Cargo peut également modifier `Cargo.lock`; toute modification réelle reste versionnée.
|
||||
|
||||
## Scope exclu
|
||||
|
||||
Le fix n'ajoute pas :
|
||||
|
||||
- Actix Web ;
|
||||
- Maud ;
|
||||
- crate serveur ;
|
||||
- loader Rust du manifest ;
|
||||
- route runtime ;
|
||||
- migration PostgreSQL ;
|
||||
- adapter de forge.
|
||||
|
||||
## Validation attendue
|
||||
|
||||
Après application du history `alpha.4.fix.1 FAIL`, commit/push de `alpha.4.fix.1`, puis extraction du présent delta, exécuter la gate opérateur fournie.
|
||||
|
||||
Ne pas committe `alpha.4.fix.2` avant production de son history à partir des résultats opérateur.
|
||||
Reference in New Issue
Block a user