47 lines
2.0 KiB
Markdown
47 lines
2.0 KiB
Markdown
<!-- file: history/0.3.0/0-pre.4.fix.1.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Historique 0.3.0-0-pre.4.fix.1
|
|
|
|
## Statut
|
|
|
|
Validation partielle le 2026-09-20 : les gates Rust/WASM et les audits sont propres, mais `npm run build` échoue encore sur deux erreurs TypeScript strictes. La tranche déclenche `0-pre.4.fix.2`.
|
|
|
|
## Validation utilisateur
|
|
|
|
Les validations suivantes ont passé sur `0.3.0-0-pre.4.fix.1` :
|
|
|
|
```text
|
|
cargo fmt --all: clean
|
|
cargo fmt --all -- --check: clean
|
|
General Rust rule audit: clean
|
|
Rust export completeness audit: 0 candidate(s)
|
|
games.sasedev workspace audit: clean
|
|
Markdown table audit: clean (5 table(s), 183 file(s))
|
|
Distribution layout audit: clean (27 required path(s), 1 forbidden path(s) absent)
|
|
cargo check --workspace: clean
|
|
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
|
|
cargo test -p game-snake-poc-wasm: 2 passed, 0 failed
|
|
cargo build -p game-snake-poc-wasm --target wasm32-unknown-unknown: clean
|
|
wasm-bindgen --target web: clean
|
|
cargo tree -p game-snake-poc-wasm --edges normal: expected dependencies only
|
|
npm install: 5 packages added, 49 packages audited, 0 vulnerability
|
|
```
|
|
|
|
`npm install` a aussi signalé que le script d'installation de `@parcel/watcher@2.6.0` n'était pas encore couvert par `allowScripts`. Ce warning n'a pas interrompu l'installation et n'est pas traité comme l'échec de cette tranche.
|
|
|
|
## Défauts observés
|
|
|
|
`npm run build` a échoué avec deux erreurs :
|
|
|
|
```text
|
|
TS7016: Could not find a declaration file for module '@snake-wasm'.
|
|
TS2345: CanvasRenderingContext2D | null is not assignable to CanvasRenderingContext2D.
|
|
```
|
|
|
|
Le premier défaut vient du mapping TypeScript vers le fichier JavaScript généré par `wasm-bindgen` au lieu de sa déclaration `.d.ts`. Le second vient du narrowing du résultat de `canvas.getContext("2d")` qui n'est pas conservé jusque dans le callback de frame sous la configuration TypeScript courante.
|
|
|
|
## Suite
|
|
|
|
`0-pre.4.fix.2` corrige strictement ces deux erreurs puis rejoue `npm run build` et le smoke navigateur avant ouverture de `0-pre.5`.
|