Files
khadhroony-solana-project/deltas/0.1.4/pre.005-fix.001.md

4.4 KiB

0.1.4-pre.005-fix.001 — Classification npm et commande Tauri workspace

1. Motif du fix

pre.005 a correctement introduit le frontend Tauri/Vite et le plugin tracing, mais son package.json classait à tort toutes les dépendances frontend sous devDependencies. La documentation de lancement utilisait également une forme cargo tauri dev adaptée à une application isolée, alors que KSP est un workspace Rust destiné à contenir plusieurs applications Tauri.

Le correctif ne modifie pas le périmètre fonctionnel de pre.005.

2. Version technique

Le fix modifie package.json et la configuration de développement effective ; le signal Cargo devient donc :

workspace.package.version = "0.1.4-pre.5.fix.1"

La version applicative frontend/Tauri reste 0.1.4, conformément à la politique KSP actuelle.

3. Classification npm corrigée

Les bibliothèques consommées par le bundle applicatif sont sous dependencies :

@fltsci/tauri-plugin-tracing
@fortawesome/fontawesome-free
@tauri-apps/api
bootstrap
resize-observer-polyfill
simplebar

Les outils de build/développement et typings sont sous devDependencies :

@tauri-apps/cli
@types/bootstrap
@types/node
sass-embedded
typescript
vite

Les contraintes restent volontairement au niveau de génération compatible. @types/bootstrap utilise ^5.2 et @tauri-apps/cli ^2.11.

Les scripts preview et tauri du gabarit bot3 sont également restaurés. Le workflow opérateur KSP n'utilise toutefois pas npm pour lancer directement l'application.

4. Workflow d'installation et de lancement

La première installation frontend se fait depuis la crate :

cd crates/ksp-app-config-desk
npm i -D
cd ../../

npm i -D sans nom de package installe les dépendances déjà déclarées dans package.json; il ne change pas leur classification existante. Les lockfiles restent ignorés et non versionnés.

Le développement reprend ensuite depuis la racine du workspace :

cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json

Le build utilise de même :

cargo tauri build -c crates/ksp-app-config-desk/tauri.conf.json

Cette sélection explicite par -c est nécessaire au gabarit KSP multi-app et évite toute ambiguïté lorsque plusieurs crates Tauri coexistent dans le même workspace.

5. Règles et plan synchronisés

RULES_KSP.md distingue désormais explicitement :

  • dependencies pour les bibliothèques runtime/bundle frontend ;
  • devDependencies pour tooling et @types/* ;
  • npm direct uniquement pour la gestion des dépendances ;
  • retour à la racine du workspace après installation npm ;
  • sélection de chaque application Tauri avec -c crates/<app>/tauri.conf.json.

Le plan 0.1.4 est synchronisé avec la même convention.

6. Tracing

La correction ne retire ni ne modifie l'intégration tracing de pre.005 :

Rust      : tauri-plugin-tracing
Frontend  : @fltsci/tauri-plugin-tracing
Capability: tracing:default

7. Fichiers modifiés

Fichier Action
Cargo.toml modifié
crates/ksp-app-config-desk/package.json modifié
crates/ksp-app-config-desk/README.md modifié
crates/ksp-app-config-desk/USAGE.md modifié
docs/rules/RULES_KSP.md modifié
docs/plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md modifié
deltas/0.1.4/pre.005-fix.001.md ajouté

8. Validations à exécuter après application

Depuis la racine du workspace, après installation npm :

cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-app-config-desk
cargo test -p ksp-config-lib
cargo tree -p ksp-app-config-desk
cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json

Le test desktop doit confirmer au minimum que Tauri lance lui-même npm run dev, que Vite reste sur 1430/1431, que la fenêtre splash s'ouvre et qu'aucune commande npm de démarrage manuel n'est nécessaire.

9. Suite

Après validation de ce fix, la tranche suivante reste pre.006 : bootstrap backend, AppState, intégration ksp-config-lib / ksp-logging-lib, ownership du LoggingGuard et premiers DTO TS-RS réels.