En aquest tema, aprendrem com crear i publicar paquets a NPM (Node Package Manager). Els paquets són una manera excel·lent de compartir codi reutilitzable amb la comunitat o dins de la teva organització. Aquest procés inclou la creació del paquet, la configuració del fitxer package.json, la publicació a NPM i la gestió de versions.

  1. Crear un Nou Paquet

1.1. Configuració Inicial

  1. Crea una nova carpeta per al teu paquet:

    mkdir my-awesome-package
    cd my-awesome-package
    
  2. Inicialitza un nou projecte Node.js:

    npm init
    

    Aquest comandament et guiarà a través d'una sèrie de preguntes per crear el fitxer package.json. Pots acceptar els valors per defecte o personalitzar-los segons les teves necessitats.

1.2. Estructura del Projecte

Organitza el teu projecte de manera que sigui fàcil de mantenir i utilitzar. Una estructura típica podria ser:

my-awesome-package/
├── lib/
│   └── index.js
├── test/
│   └── index.test.js
├── .gitignore
├── package.json
└── README.md

1.3. Escriure el Codi del Paquet

Crea el fitxer principal del teu paquet a lib/index.js:

// lib/index.js
function greet(name) {
    return `Hello, ${name}!`;
}

module.exports = greet;

  1. Escriure Documentació

És important proporcionar una bona documentació perquè altres desenvolupadors puguin entendre com utilitzar el teu paquet. Crea un fitxer README.md a l'arrel del teu projecte:

# My Awesome Package

A simple package to greet users.

## Installation

npm install my-awesome-package

## Usage

const greet = require('my-awesome-package');

console.log(greet('World')); // Output: Hello, World!

  1. Publicar el Paquet a NPM

3.1. Crear un Compte a NPM

Si encara no tens un compte a NPM, crea'n un a npmjs.com.

3.2. Iniciar Sessió a NPM

Inicia sessió al teu compte de NPM des de la línia de comandaments:

npm login

3.3. Publicar el Paquet

Publica el teu paquet a NPM:

npm publish

Si tot ha anat bé, el teu paquet estarà disponible a NPM i altres desenvolupadors podran instal·lar-lo utilitzant:

npm install my-awesome-package

  1. Gestió de Versions

4.1. Versionat Semàntic

El versionat semàntic (SemVer) és una convenció per versionar paquets que utilitza el format MAJOR.MINOR.PATCH. Aquí tens una breu explicació:

  • MAJOR: Canvis incompatibles amb versions anteriors.
  • MINOR: Noves funcionalitats que són compatibles amb versions anteriors.
  • PATCH: Correccions d'errors que són compatibles amb versions anteriors.

4.2. Actualitzar la Versió

Per actualitzar la versió del teu paquet, pots utilitzar el comandament npm version:

npm version patch   # Per a una correcció d'errors
npm version minor   # Per a una nova funcionalitat
npm version major   # Per a canvis incompatibles

Després d'actualitzar la versió, publica el paquet de nou:

npm publish

Exercicis Pràctics

Exercici 1: Crear i Publicar un Paquet Simple

  1. Crea un nou paquet que contingui una funció per sumar dos números.
  2. Escriu la documentació necessària.
  3. Publica el paquet a NPM.

Solució

  1. Crea la carpeta i inicialitza el projecte:

    mkdir sum-package
    cd sum-package
    npm init -y
    
  2. Crea el fitxer lib/index.js:

    // lib/index.js
    function sum(a, b) {
        return a + b;
    }
    
    module.exports = sum;
    
  3. Crea el fitxer README.md:

    # Sum Package
    
    A simple package to sum two numbers.
    
    ## Installation
    
    ```bash
    npm install sum-package
    

    Usage

    const sum = require('sum-package');
    
    console.log(sum(2, 3)); // Output: 5
    
    
    
  4. Publica el paquet:

    npm login
    npm publish
    

Exercici 2: Actualitzar la Versió del Paquet

  1. Afegeix una nova funció per restar dos números al teu paquet.
  2. Actualitza la versió del paquet.
  3. Publica la nova versió a NPM.

Solució

  1. Actualitza el fitxer lib/index.js:

    // lib/index.js
    function sum(a, b) {
        return a + b;
    }
    
    function subtract(a, b) {
        return a - b;
    }
    
    module.exports = { sum, subtract };
    
  2. Actualitza la documentació a README.md:

    # Sum Package
    
    A simple package to sum and subtract two numbers.
    
    ## Installation
    
    ```bash
    npm install sum-package
    

    Usage

    const { sum, subtract } = require('sum-package');
    
    console.log(sum(2, 3)); // Output: 5
    console.log(subtract(5, 3)); // Output: 2
    
    
    
  3. Actualitza la versió i publica:

    npm version minor
    npm publish
    

Conclusió

En aquest tema, hem après com crear, documentar i publicar paquets a NPM. També hem vist com gestionar les versions dels nostres paquets utilitzant el versionat semàntic. Aquestes habilitats són essencials per compartir codi reutilitzable i col·laborar amb altres desenvolupadors.

Curs de Node.js

Mòdul 1: Introducció a Node.js

Mòdul 2: Conceptes Bàsics

Mòdul 3: Sistema de Fitxers i I/O

Mòdul 4: HTTP i Servidors Web

Mòdul 5: NPM i Gestió de Paquets

Mòdul 6: Framework Express.js

Mòdul 7: Bases de Dades i ORMs

Mòdul 8: Autenticació i Autorització

Mòdul 9: Proves i Depuració

Mòdul 10: Temes Avançats

Mòdul 11: Desplegament i DevOps

Mòdul 12: Projectes del Món Real

© Copyright 2024. Tots els drets reservats