npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@massimo-cassandro/dev-updater

v2.1.0

Published

Web development uitilities

Downloads

40

Readme

Dev updaters

Utilità per lo sviluppo

Update packages

Esegue npm update per tutti i packeges installati all'interno di node_modules/@massimo-cassandro.

Utilizzo:

npx upd@m

Update Version

Legge la versione registrata in package.json e la aggiorna. Opzionalmente aggiorna anche altri file legati al numero di versione.

Ogni aggiornamento aggiunge una riga al file changelog.txt posizionato sulla root del progetto. Ogni riga contiene la data, la versione aggiornata e opzionalmente un testo descrittivo.

Il numero di versione aggiornato e il testo descrittivo vengono copiati nella clipboard per velocizzare l'inserimento dei commenti dell'eventuale commit successivo.

A partire dalla versione 1.9.x sono gestite anche le versioni di pre-release alpha, beta e rc (es. 1.0.0-rc.1). Se viene scelto di aggiungere un tag di pre-release si potrà scegliere di associarlo alla major o alla minor version, mentre la patch version viene impostata a 0.

Se un tag pre-release viene rilevato nella versione corrente, si può scegliere, se aggiornarlo, cambiarlo con altro tag (resettando la versione pre-release a 0) o eliminarlo del tutto.

Utilizzo:

npx update-version --config=./update-vers.config.mjs

Il comando può essere eseguito anche senza installare il package:

npx --package=@massimo-cassandro/dev-utilities update-version

In cui --config=<path> indica il percorso al file .mjs di configurazione generale (vedi sotto). Il file deve esportare un oggetto configurato come indicato di seguito. Se il path non viene specificato, il file di default è update-vers.config.mjs (nella dir corrente).

NB: per compatibilità con le versioni precedenti, viene considerato come file di defgault anche dev-utilities.config.mjs

Se il file di configurazione non viene indicato, vengono utilizzate le impostazioni di default.

Quindi:

# il file di configurazione è quello indicato:
npx update-version --config=./path/to/update-vers.config.mjs 

# il file di configurazione è `./update-vers.config.mjs` (o `./dev-utilities.config.mjs`)
npx update-version --config 

# nessun file di configurazione, vengono utilizzate le impostazioni di default
npx update-version 

File di configurazione

Esempio di file di configurazione


const config = {
  /*
    Nessun parametro è obbligatorio
  */
  twigVarsFile     : null,   // default null
  htmlFiles        : null,   // default null
  jsonFiles        : null,   // default null
  skipDescrPrompt  : false,  // default false
  patchOnly        : false,  // default false
  defaultDescr     : null,    // default null
  logFile          : './changelog.txt', // path relativo al file di configurazione
  packageJsonFile  : './package.json', // path relativo al file di configurazione
};

export default config;

Nel dettaglio:

const config = {
     
  /*
    percorso al file twig che contiene l'array di variabili globali  `glob_vars` che contiene a sua volta l'elemento `vers` che viene impostato col valore assegnato alla proprietà `version` di `package.json`
    (default null)
  */
  twigVarsFile: 'path/to/file/config.html.twig',

  /*
    cerca la stringa `(?|&)(_|v)=1.2.3(-\d+)` associata ai tag che richiamano file js o css all'interno dei file html specificati e aggiorna il numero di versione
    (default null)
  */
  htmlFiles: ['path/to/html_file1.html', 'path/to/html_file2', ...],
  
  /*
    array di percorsi di file json da aggiornare con un oggetto di questo tipo:
    `{"d": "<dataiso>", "v": "<versione>"}`
  */
  jsonFiles: ['path/to/file1.json', 'path/to/file2.json', ...],

  /*
    testo descrittivo di default mostrato tra le opzioni di aggiornamento
    (default null)
  */
  defaultDescr: 'text',

  /*
    se impostato su `true` non viene mostrato il prompt con la richiesta del testo descrittivo (default false). 
    Questa impostazione può essere sovrascritta dalla presenza del parametro CLI `--skip-descr-prompt`
  */
  skipDescrPrompt: true | false,

  /*
    fa in modo che sia aggiornata direttamente la patch  version saltando l'opzione di scelta relativa (default false). 
    Questa impostazione può essere sovrascritta dalla presenza del parametro CLI `--patch-only`
  */
  patchOnly: true | false,

  /* 
    Percorso del file di log (default: './changelog.txt')
    path relativo al file di configurazione
  */
  logFile          : './changelog.txt', 

  /* 
    Percorso del file `package.json` (default: './package.json')
    path relativo al file di configurazione
  */
  packageJsonFile  : './package.json', 

}
export default config;

Tutti parametri sono opzionali

Parametri CLI

Oltre a --config, opzionalmente, alcuni parametri possono essere definiti direttamente via CLI:

npx update-version \ 
  --config=path/to/config.mjs
  --html-files=path/to/html_file1.html,path/to/html_file2.html,... \
  --json-files=path/to/file1.json,path/to/file2.json,... \
  --twig-vars-file=path/to/file/config.html.twig \
  --default-descr=text \
  --skip-descr-prompt \
  --patch-only \
  --log-file=path/to/changelog.txt \
  --package-json-file=path/to/package.json

Tutti i parametri CLI, se presenti, prevalgono sulle eventuali impostazioni presenti nel file di configurazione

Tutti percorsi indicati sono relativi alla directory root o dal punto da cui viene lanciato lo script.

Utilizzo nella sezione script del file package.json

{
  "scripts": {
     "update-version": "npx update-version --config=./update-vers.config.mjs",
     "upd@m": "npx upd@m"
  }
}