Generatore di Package.json
Invece di eseguire npm init e rispondere a undici domande, compila un modulo e ricevi un package.json ordinato e correttamente strutturato. Questo generatore copre i campi richiesti (nome, versione), quelli comunemente usati (script, dipendenze, devDependencies, engines) e le caratteristiche (repository, bug, parole chiave, licenza) che rendono un pacchetto scopribile e pubblicabile.
Come generare il tuo package.json
-
1
Inserisci nome e versione
Il nome segue le regole npm: minuscolo, sicuro per URL, sotto 214 caratteri. La versione è semver (es. 0.1.0).
-
2
Scegli il tipo di modulo
CommonJS (predefinito) o ESM tramite "type": "module". Importante per i progetti Node.js 14+.
-
3
Aggiungi script
Start, build, test, lint, i comandi vengono eseguiti con `npm run <name>`.
-
4
Elenca le dipendenze
Pacchetti runtime in dipendenze, strumenti in devDependencies.
-
5
Imposta metadati
Descrizione, autore, licenza, URL del repository, parole chiave.
-
6
Copia l'output
Incolla in un nuovo package.json nella radice del progetto.
I campi che contano di più
| Campo | Obbligatorio? | Note |
|---|---|---|
name |
Sì | Minuscolo, 1-214 caratteri, sicuro per URL |
version |
Sì | Semver (major.minor.patch) |
type |
No | “module” per ESM, omettere per CommonJS |
main |
Raccomandato | Punto di ingresso per CommonJS (index.js) |
exports |
Raccomandato | Mappa di esportazione moderna per CJS/ESM |
scripts |
Fortemente raccomandato | Comandi npm run <name> |
dependencies |
Se necessario | Pacchetti runtime |
devDependencies |
Se necessario | Strumenti di build, runner di test, linters |
engines |
Utile da avere | Intervallo di versioni Node richiesto |
license |
Sì per la pubblicazione | Identificatore SPDX come MIT, Apache-2.0 |
Scheda di riferimento Semver
1.0.0, major.minor.patch^1.0.0, compatibile con 1.x.x (>=1.0.0, <2.0.0)~1.0.0, solo aggiornamenti patch (>=1.0.0, <1.1.0)>=1.0.0 <2.0.0, intervallo esplicito1.0.0-beta.1, prereleaselatest, tag npm, non una versione
Predefinito quando si esegue npm install package è ^, che consente aggiornamenti non distruttivi.
Script standard da avere
{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"build": "tsc",
"test": "vitest",
"lint": "eslint .",
"format": "prettier --write ."
}
}
Errori di denominazione
- Niente maiuscole.
MyPackagefalliscenpm install. - Niente spazi. Usa trattini:
my-package. - Nomi scopi iniziano con
@org/per organizzazioni GitHub o npm:@acme/utils. - Parole riservate.
node_modules,favicon.ico,core,expressnon possono essere usati come nomi di pacchetti.
Opzioni di licenza
Scegli un identificatore SPDX riconosciuto:
- MIT, scelta comune più permissiva.
- Apache-2.0, permissivo con concessione di brevetto.
- ISC, licenza molto breve simile a MIT, predefinita di npm.
- GPL-3.0-or-later, copyleft.
- UNLICENSED, pacchetto privato, non per distribuzione.
Stringhe di licenza errate o ambigue generano avvisi su npm publish.
Domande frequenti
Le dipendenze vengono installate quando qualcuno esegue npm install in un progetto che consuma il tuo. Le devDependencies vengono installate solo nell’ambiente di sviluppo del pacchetto. Metti i pacchetti runtime in dipendenze e gli strumenti di test/build in devDependencies.
Sì, per le applicazioni. Il lockfile fissa versioni esatte e garantisce installazioni riproducibili su macchine e CI. Per i pacchetti di libreria pubblicati su npm, il lockfile è facoltativo, i consumatori ottengono il proprio lockfile.
Solo se vuoi che il pacchetto sia ESM (sintassi import/export) per impostazione predefinita. Senza di esso, i file .js vengono trattati come CommonJS. Puoi anche usare .mjs per i file ESM o .cjs per i file CommonJS indipendentemente da “type”.
Le versioni Node contro cui il tuo codice è stato testato. Una scelta tipica oggi è "engines": {"node": ">=18"}. È un avviso, non un errore, ma gli strumenti lo rispettano e gli utenti fissano correttamente.
Strumenti correlati
Riferimento Tabella ASCII
Tabella ASCII completa da 0 a 127 con decimale, esadecimale, ottale, binario e riferimento numerico HTML per ogni carattere, inclusi i codici di controllo come NUL, LF e DEL.
Riferimento ai caratteri HTML
Elenco ricercabile delle entità HTML, dei loro codici nominati e numerici, e copia con un clic per caratteri e simboli speciali.
Generatore di lettere casuali
Genera lettere A-Z casuali. Scegli la quantità, usa maiuscole, minuscole o un mix, e applica il risultato a giochi, spunti o attività in classe.
Riferimento scorciatoie da tastiera
Cerca le scorciatoie predefinite documentate di VS Code, Chrome e Bash con GNU Readline su macOS, Windows e Linux.
Creatore di diagrammi di flusso
Crea nel browser diagrammi di flusso visivi con cinque tipi di nodo, connessioni dirette e download SVG o PNG.
Promemoria Markdown
Riferimento pratico Markdown con anteprime reali ed esempi pronti da copiare per titoli, elenchi, tabelle, codice, link, immagini e sintassi GFM.
Strumento disponibile in altre lingue
- Trình tạo package.json [VI]
- Package.json-generator [SV]
- package.json-Generator [DE]
- Generador de Package.json [ES]
- ตัวสร้าง package.json [TH]
- مولد package.json [AR]
- Package.json 생성기 [KO]
- Générateur de package.json [FR]
- Generator package.json [ID]
- Package.json-generator [NL]
- Generator package.json [PL]
- PackageJsonジェネレータ [JA]
- Gerador de Package.json [PT]
- Package.json Generator [EN]
- Генератор package.json [RU]
- Package.json Oluşturucu [TR]
- package.json 生成器 [ZH]