package.json

Le fichier package.json est le centre de configuration d’un projet Node.js.

Il contient :

Dans les projets JavaScript modernes, package.json est extrêmement important.

1. Créer package.json

Le fichier package.json est créé avec :

npm init

Ou rapidement avec :

npm init -y

2. Structure de base

{
    "name": "my-project",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {

    },
    "author": "",
    "license": "ISC"
}

package.json utilise le format :

JSON

3. Le champ name

Le champ name représente le nom du projet.

{
    "name": "codebase"
}

Bonne pratique : utiliser des noms simples et lisibles.

4. Le champ version

Le champ version représente la version actuelle du projet.

{
    "version": "1.0.0"
}

Cette structure suit généralement :

MAJOR.MINOR.PATCH

5. Le champ description

description permet de décrire le projet.

{
    "description": "Projet JavaScript moderne"
}

6. Le champ main

Le champ main indique le fichier principal du projet.

{
    "main": "index.js"
}

Ce champ est surtout utile avec Node.js.

7. Les scripts

Le champ scripts contient des commandes personnalisées.

{
    "scripts": {

        "dev": "vite",
        "test": "vitest"

    }
}

8. npm run

Les scripts sont exécutés avec :

npm run nom-du-script

Exemple :

npm run dev

9. dependencies

Le champ dependencies contient les packages nécessaires au projet.

{
    "dependencies": {

        "express": "^4.18.0"

    }
}

Ces dépendances sont utilisées directement dans l’application.

10. devDependencies

Le champ devDependencies contient les outils de développement.

{
    "devDependencies": {

        "vitest": "^1.0.0",
        "vite": "^5.0.0"

    }
}

Ces outils servent seulement pendant le développement.

11. Dépendance normale vs dépendance dev

Type Utilité
dependencies Application principale
devDependencies Outils de développement

12. Exemple complet

{
    "name": "codebase",
    "version": "1.0.0",

    "scripts": {

        "dev": "vite",
        "test": "vitest"

    },

    "dependencies": {

        "express": "^4.18.0"

    },

    "devDependencies": {

        "vite": "^5.0.0",
        "vitest": "^1.0.0"

    }
}

13. package-lock.json

Lorsque des packages sont installés, NPM crée aussi :

package-lock.json

Ce fichier verrouille les versions exactes des dépendances.

14. npm install

Lorsque package.json existe, les dépendances peuvent être installées avec :

npm install

NPM lit automatiquement :

15. type: module

Pour utiliser les ES Modules modernes avec Node.js, on ajoute souvent :

{
    "type": "module"
}

Cela permet d’utiliser :

import / export

Au lieu de :

require / module.exports

16. Scripts populaires

Script Utilité
dev Lancer le serveur de développement
build Créer une version de production
test Lancer les tests
preview Prévisualiser le build

17. Erreur fréquente

package.json doit respecter une syntaxe JSON valide.

Exemple d’erreur fréquente :

{
    "name": "codebase",
}

La virgule finale produit une erreur JSON.

18. Bonnes pratiques

Résumé rapide

Champ Utilité
name Nom du projet
version Version du projet
scripts Commandes personnalisées
dependencies Dépendances principales
devDependencies Outils de développement
type: module Activer ES Modules
npm run Exécuter un script
npm install Installer les dépendances