TLDR: (può sembrare controintuitivo senza la spiegazione)
npm install caniuse-lite browserslist
npm uninstall caniuse-lite browserslist
Spiegazione:
Questo messaggio di avviso ("canisuse-lite è obsoleto, per favore ....") viene emesso dagli script nell'elenco di browser durante la compilazione / avvio se rileva che la versione installata di caniuse-lite è precedente a 2 versioni dalla versione corrente. Se nulla nel tuo progetto è cambiato e all'improvviso vedi questo messaggio all'avvio o alla creazione del tuo progetto, probabilmente significa che c'è stato un recente aggiornamento della versione di caniuse-lite.
Sfortunatamente, il messaggio di testo visualizzato da Browserslist è utile solo se hai installato caniuse-lite come dipendenza del tuo progetto. Molto probabilmente non l'hai fatto. Quindi quando esegui il suggerito 'npm update caniuse-lite' o 'npm update' caniuse-lite @ latest '(o' npm install '), npm non vede quel pacchetto elencato nelle tue dipendenze package.json, quindi ignora la richiesta.
In che modo allora quei pacchetti sono diventati dipendenze? Quando il tuo progetto è stato creato (magari con l'app angularapp o create -eagire-app o simile per il tuo framework), npm ha installato il browser come una dipendenza dei suoi strumenti necessari, non come una delle dipendenze del tuo progetto. Allo stesso tempo, caniuse-lite è stato installato come dipendenza dall'elenco di browser. Successivamente, quando il progetto è stato aggiornato, è stato creato un file package-lock.json che blocca tutte le dipendenze su una versione specifica.
Se fosse possibile aggiornare le informazioni sulla versione nell'elenco delle dipendenze in package-lock.json, l'esecuzione di 'npm install' aggiornerebbe questi pacchetti in node_modules. Non è necessario modificare manualmente package-lock.json. Invece, il modo migliore per farlo è:
Rendi temporaneamente questi pacchetti una dipendenza del tuo progetto:
npm installa l'elenco di browser caniuse-lite
Oltre ad aggiornare il pacchetto all'ultima versione, questo aggiorna l'elenco delle dipendenze sia in package.json sia (soprattutto, in package-lock.json).
Rimuovi questi pacchetti come dipendenze dirette del tuo progetto:
npm disinstalla la lista dei browser di caniuse-lite
Poiché questi pacchetti sono utilizzati da altre dipendenze, non vengono rimossi da node_modules. Solo package.json viene aggiornato per rimuoverli come dipendenza del progetto.
Commit package-lock.json. Chiunque altro ora può semplicemente eseguire 'npm install' per ottenere i due pacchetti aggiornati dall'elenco delle dipendenze secondarie in package-lock.json e interrompere l'avviso msg.
npm update caniuse-lite browserslist
?