Escrito el 28/05/2024

Crear un paquete Typescript en NPM

Pasos para crear un paquete npm en npmjs.com.

Crear un repositorio GitHub

Crear el repositorio localmente y vincularlo con github.com

Iniciar npm

Iniciar el projecto especificando.

  • package name: angular-test-extensions
  • version: 1.0.0
  • Description: A set of helper methods to improve development velocity
  • entry-point: lib/angular-test-extensions.js
  • test-command: empty
  • git repository: url to repository
  • keywords: jest, test, angular, extensions, helper
  • author: Alex P. Scigalszky
  • licence: ISC (default)
npm init

Instalar dependecias

npm install typescript ts-node --save-dev
npm -g install @angular/cli
npm install @angular/core --save
npm install @angular/platform-browser --save
npm install @jest/globals --save

Configurar el compilador de Typescript

npx tsc --init

Agregar la carpeta destino: outDir: dist

Agregar lógica

Crear una carpeta src en el proyecto y agregar dentro toda la lógica del paquete en archivos .ts o .js

Agregar tsup

instalar

npm install tsup -D

agregar archivo tsup.config.ts

import { defineConfig } from "tsup";

export default defineConfig({
  entry: ["src/index.ts"],
  format: ["cjs", "esm"], // Build for commonJS and ESmodules
  dts: true, // Generate declaration file (.d.ts)
  splitting: false,
  sourcemap: true,
  clean: true,
});

Agregar script en el package.json

"build": "tsup",

agregar propiedades al propiedades al package.json

    "main": "./dist/index.js",
    "module": "./dist/index.mjs",
    "types": "./dist/index.d.ts",
    "files": [
        "dist"
    ],

Compilar

Validar que compile

npm run build

Publicar el paquete

Conectarse a npm

npm login # require usuario, password e email

Publicar paquete

npm publish

NOTA: Puede tirar un error 403 Forbidden cuando el nombre del paquete ya está creado.

Paquete listo para usar

NPM Link