Repository navigation
Open
Description
Obiettivo
Sostituire il Node.js LTS installato come pacchetto standalone con NVM for Windows v2, senza lasciare installazioni concorrenti sul PATH e senza disinstallazioni implicite.
Stato: la PR #7 è stata integrata su main con squash 98d88ba. Questa issue resta aperta per i punti sotto, che possono essere affrontati in una PR successiva.
La PR documenta test PowerShell 5.1/7 e una migrazione in Windows Sandbox con Node 24.22.1 e un pacchetto npm globale; il prompt interattivo e ulteriori scenari non sono coperti da quella prova.
Lavoro rimanente e verifiche
- Sostituire
OpenJS.NodeJS.LTSconAuthorSoftware.NVMWindowsnel manifest principale. - Aggiungere prompt esplicito (default No) quando si rileva standalone Node, senza usare
-Forcecome consenso alla rimozione. - Separare la logica di bootstrap/migrazione dal ciclo generico WinGet.
- Salvare un inventario delle dipendenze npm globali prima della rimozione.
- Correggere il caso NVM v2 già installato senza Node default: non limitarsi a considerare il gestore presente; assicurare un Node LTS funzionante senza modificare versioni valide già scelte dall'utente.
- Indurire l'inventario npm: verificare l'esito del salvataggio e bloccare/scalare esplicitamente quando l'inventario è indisponibile, senza dare per garantito il ripristino dei tool globali.
- Verificare migrazione end-to-end:
nvm install lts,nvm use lts,nvm default,node,npm,npx,where.exe nodein una nuova shell e su PATH di sistema/utente. - Testare rilevamento di Node MSI/WinGet/non gestito, NVM v1, NVM v2, altro version manager, installazione fallita, rifiuto del prompt,
-DryRun,-Force, esecuzione idempotente e recupero da conflitti. - Eseguire i test NVM con Windows PowerShell 5.1 e PowerShell 7 (risultato riportato nella PR feat(windows): add NVM v2 migration with npm adoption #7).
- Estendere i test reali su VM sacrificabile agli scenari non coperti dalla prova Sandbox; la CI Windows della PR feat(windows): add NVM v2 migration with npm adoption #7 è passata.
- Documentare recupero operativo e distinguere inventario npm (solo nomi/versioni) da un backup dei dati.
- Riesaminare stable NVM/WinGet al momento del merge; non adottare prerelease senza una ragione verificata.
Criteri di accettazione
- Una macchina pulita termina con solo NVM v2 + Node LTS utilizzabile.
- Una macchina con Node standalone non cambia senza consenso specifico, incluso con
-Force. - Riesaminare la garanzia di rimozione: l’installer NVM con adozione può rimuovere Node standalone prima della verifica finale. Definire e implementare una strategia che soddisfi il requisito originale, oppure concordare esplicitamente il compromesso e il recupero.
- Installazioni concorrenti o inattese non vengono ignorate né rimosse automaticamente.
- Coprire con test automatici e prove Windows reali gli scenari di migrazione e recupero ancora mancanti.
Prossima integrazione
Aprire una PR dedicata ai punti rimanenti, partendo da main aggiornata. Non considerare l’inventario dei nomi e delle versioni un backup dei dati.
Metadata
Metadata
Assignees
Labels
No labels
Activity