Plantilla para crear librerías de npm en TypeScript, listas para publicar tanto en formato CommonJS como ESM.
- TypeScript con salida dual CJS/ESM + tipos, generada con tsup.
- ESLint (flat config) + Prettier para lint y formato.
- Jest +
ts-jestpara tests. - Husky + lint-staged para lintear/formatear automáticamente antes de cada commit.
- CI con GitHub Actions (lint, test y build en cada push/PR).
-
Crea tu repositorio a partir de este template (botón "Use this template" en GitHub) o clónalo.
-
Actualiza en
package.json:name,description,author,repository,bugs,homepage,keywordsyversion(vuelve a0.1.0si es un proyecto nuevo). -
Reemplaza el contenido de
src/index.tspor el código de tu librería, y los tests detests/por los tuyos. -
Actualiza este README con la documentación real de tu librería.
-
Instala las dependencias y verifica que todo funcione:
yarn install yarn build yarn test yarn eslint
- Node.js 20.19+, 22.13+ o 24+ (ver campo
enginesenpackage.json; hay un.nvmrccon la versión recomendada). - Yarn (hay un
yarn.lockcommiteado; también funciona connpm installpero se recomienda mantener un solo lockfile).
| Script | Qué hace |
|---|---|
yarn build |
Compila src a lib/ en CJS + ESM + tipos (tsup). |
yarn test |
Corre la suite de tests con Jest. |
yarn eslint |
Lintea src y tests. |
yarn format |
Formatea src con Prettier. |
yarn lint-staged |
Corre lint-staged manualmente (lo mismo que se ejecuta en el pre-commit). |
src/ código fuente de la librería
tests/ tests (Jest)
lib/ salida del build (generada, no se commitea)
npm version patch|minor|major
npm publishpreversion/prepublishOnly corren lint y tests antes de versionar/publicar; postversion empuja el commit y el tag.
ISC — ver LICENSE.