Package.json e versionamento semantico

Package.json e versionamento semantico

All'interno del file package.json è contenuto l'oggetto dependency che conterrà un oggetto al cui interno saranno elencate tutte le dipendenze dell'applicazione.

Vediamo l'esempio del file package.json dopo aver installato il pacchetto validator all'interno dell'app

{
  "name": "corso-nodejs",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "validator": "^13.7.0"
  }
}

Come possiamo vedere il numero di versione (in questo caso "^13.7.0") è composto da tre numeri che stanno ad indicare il versionamento semantico

  • a sinistra: Major (le nuove versioni contengono nuove funzionalità e l'update può creare problemi per chi utilizza il vecchio pacchetto)
  • al centro: Minor (le nuove versioni contengono nuove funzionalità e l'update non influirà sul sul funzionamento del codice)
  • a destra: Patch (le nuove versioni contengono dei fix a dei bug e l'update non influirà sul funzionamento del codice)
  • L'accento circonflesso ^ indica ad NPM che se deve aggiornare il pacchetto all'interno della nostra app deve farlo all'interno del numero major a cui è affiancato (in questo caso 13), questo perché un aggiornamento potrebbe creare problemi al codice che abbiamo scritto prendendo in considerazione questa versione. Quindi potrà aggiornare ad esempio alla versione 13.9.5 ma non alla 14.
  • Il carattere tilde ~ indica ad NPM che se deve aggiornare il pacchetto deve farlo all'interno del numero minor. Quindi potrà aggiornare ad esempio alla versione 13.7.9 ma non alla 13.8.0
  • Se rimuoviamo l'accento circonflesso o il carattere tilde e scriviamo il numero di versione, il pacchetto non verrà mai aggiornato

Scritto da Donato Pirolo

Ciao, sono Donato, frontend developer con una smisurata passione per la SEO. Creo strumenti ad hoc per aiutare aziende e professionisti ad essere cercati sul web e trovare clienti.

Potrebbero interessarti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Copyright © 2022
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram