Générateur de package.json
Au lieu de lancer npm init et de répondre à onze questions, remplissez un formulaire et obtenez un package.json propre et correctement structuré. Ce générateur couvre les champs requis (nom, version), les champs couramment utilisés (scripts, dépendances, devDependencies, engines) et les éléments supplémentaires (repository, bugs, mots-clés, licence) qui rendent un package découvrable et publiable.
Comment générer votre package.json
-
1
Entrez le nom et la version
Le nom suit les règles npm : en minuscules, sûr pour l'URL, moins de 214 caractères. La version est semver (par exemple, 0.1.0).
-
2
Choisissez le type de module
CommonJS (par défaut) ou ESM via "type": "module". Cela compte pour les projets Node.js 14+.
-
3
Ajoutez des scripts
Start, build, test, lint, les commandes s'exécutent avec `npm run <name>`.
-
4
Listez les dépendances
Packages d'exécution dans les dépendances, outils dans les devDependencies.
-
5
Définissez les métadonnées
Description, auteur, licence, URL du repository, mots-clés.
-
6
Copiez la sortie
Collez dans un nouveau package.json à la racine du projet.
Les champs les plus importants
| Champ | Requis ? | Remarques |
|---|---|---|
name |
Oui | En minuscules, 1-214 caractères, sûr pour l’URL |
version |
Oui | Semver (majeur.mineur.patch) |
type |
Non | “module” pour ESM, omettre pour CommonJS |
main |
Recommandé | Point d’entrée pour CommonJS (index.js) |
exports |
Recommandé | Carte d’exports moderne pour CJS/ESM |
scripts |
Fortement recommandé | Commandes npm run <name> |
dependencies |
Au besoin | Packages d’exécution |
devDependencies |
Au besoin | Outils de construction, exécuteurs de tests, linters |
engines |
Bon à avoir | Plage de versions Node requise |
license |
Oui pour publication | Identifiant SPDX comme MIT, Apache-2.0 |
Feuille de triche Semver
1.0.0, majeur.mineur.patch^1.0.0, compatible avec 1.x.x (>=1.0.0, <2.0.0)~1.0.0, mises à jour de patch uniquement (>=1.0.0, <1.1.0)>=1.0.0 <2.0.0, plage explicite1.0.0-beta.1, préversionlatest, tag npm, pas une version
Par défaut, lors de l’exécution de npm install package, c’est ^, ce qui permet des mises à jour non destructrices.
Scripts standards à avoir
{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"build": "tsc",
"test": "vitest",
"lint": "eslint .",
"format": "prettier --write ."
}
}
Pièges de nommage
- Pas de majuscules.
MyPackageéchoue ànpm install. - Pas d’espaces. Utilisez des tirets :
my-package. - Noms scopés commencent par
@org/pour les organisations GitHub ou npm :@acme/utils. - Mots réservés.
node_modules,favicon.ico,core,expressne peuvent pas être utilisés comme noms de package.
Options de licence
Choisissez un identifiant SPDX reconnu :
- MIT, choix commun le plus permissif.
- Apache-2.0, permissif avec accord de brevet.
- ISC, licence très courte similaire à MIT, par défaut npm.
- GPL-3.0-or-later, copyleft.
- UNLICENSED, package privé, pas pour distribution.
Des chaînes de licence incorrectes ou ambiguës déclenchent des avertissements lors de la publication sur npm.
Questions fréquentes
Les dépendances sont installées lorsque quelqu’un exécute npm install dans un projet qui consomme le vôtre. Les devDependencies ne sont installées que dans l’environnement de développement du package. Mettez les packages d’exécution dans les dépendances et les outils de test/construction dans les devDependencies.
Oui, pour les applications. Le fichier de verrouillage fixe les versions exactes et garantit des installations reproductibles sur les machines et CI. Pour les packages de bibliothèque publiés sur npm, le fichier de verrouillage est optionnel, les consommateurs obtiennent leur propre fichier de verrouillage.
Seulement si vous voulez que le package soit ESM (syntaxe import/export) par défaut. Sans cela, les fichiers .js sont traités comme CommonJS. Vous pouvez également utiliser .mjs pour les fichiers ESM ou .cjs pour les fichiers CommonJS, indépendamment de “type”.
Les versions Node contre lesquelles votre code a été testé. Un choix typique aujourd’hui est "engines": {"node": ">=18"}. C’est un avertissement, pas une erreur, mais les outils le respectent et les utilisateurs le fixent correctement.
Outils similaires
Référence de la table ASCII
Table ASCII complète de 0 à 127 avec décimal, hexadécimal, octal, binaire et référence numérique HTML pour chaque caractère, y compris les codes de contrôle comme NUL, LF et DEL.
Référence des caractères HTML
Liste consultable des entités HTML, de leurs codes nommés et numériques, et un copier-coller en un clic pour les caractères et symboles spéciaux.
Compteur de FPS
Mesurez les FPS du navigateur avec requestAnimationFrame : lissage, fréquence d'images min et max, seuil d'alerte et graphique facultatif. Tout se passe en local, sans envoi ni API.
Référence des raccourcis clavier
Recherchez les raccourcis par défaut documentés de VS Code, Chrome et Bash avec GNU Readline sous macOS, Windows et Linux.
Générateur de carte CSS
Créez le CSS d’un conteneur de carte : fond, bordure, rayon des angles, espacement intérieur et ombre douce, avec aperçu immédiat et code à copier-coller.
Générateur de flèches CSS
Créez localement une flèche CSS avec direction, couleur, taille et épaisseur de bordure, puis copiez la règle.
Outil disponible dans d’autres langues
- Package.json-generator [SV]
- Package.json 생성기 [KO]
- Generator package.json [ID]
- مولد package.json [AR]
- PackageJsonジェネレータ [JA]
- ตัวสร้าง package.json [TH]
- Package.json-generator [NL]
- Generator package.json [PL]
- package.json-Generator [DE]
- Trình tạo package.json [VI]
- Generador de Package.json [ES]
- Gerador de Package.json [PT]
- Package.json Oluşturucu [TR]
- package.json 生成器 [ZH]
- Package.json Generator [EN]
- Generatore di Package.json [IT]
- Генератор package.json [RU]