express-layered-template
v1.0.0
Published
Plantilla Express por capas (routes, controllers, services, repositories, models) con health + dummy, Jest y Docker
Maintainers
Readme
express-layered-template
Plantilla mínima Express (ESM) por capas: routes, controllers, services, repositories, models. Incluye GET /api/health, GET /api/dummy, Jest, Docker y Makefile.
Uso local
cp .env.example .env
npm install
npm run devTests
npm testEl tarball incluye toda la carpeta tests (incluidos .db u otros ficheros de prueba que existan en tu máquina al ejecutar npm pack / npm publish). Si usás *.db en .gitignore, el archivo igual puede empaquetarse si está presente en el directorio; para versionarlo en Git usá git add -f tests/algo.db si hace falta.
Docker
make build
make upSi el puerto 3000 del host está ocupado, usá otro mapeo, por ejemplo en PowerShell: $env:PORT="3001"; docker compose up -d (ver docker-compose.yml).
Publicar en npm
- Creá cuenta en npmjs.com y ejecutá
npm login. - Comprobá que el nombre
express-layered-templateesté libre; si no, cambiánameenpackage.json(por ejemplo@tu-usuario/express-layered-templatey en ese caso añadí"publishConfig": { "access": "public" }). - Completá
authory opcionalmenterepositoryenpackage.json. npm version patch(ominor/major) cuando hagas cambios.npm publish(onpm publish --access publicsi es scope@tu-usuario/...).
prepublishOnly ejecuta los tests antes de publicar.
Si ves 403 Forbidden con el mensaje de Two-factor authentication (como en tu terminal), npm no va a publicar hasta que hagas una de estas dos cosas:
- 2FA con app (Authy, Google Authenticator, etc.): en npm → Account → Security activá 2FA y luego publicá con el código de un solo uso:
npm publish --otp=123456(reemplazá123456por el código actual). - Token granular: Access Tokens → Generate New Token → Granular → permisos de escritura en paquetes; copiá el token y
npm login(contraseña = el token). Algunos tokens permiten omitir OTP en cada publish (según la opción Bypass 2FA al crearlo, si npm la ofrece en tu cuenta).
El paquete publicado incluye la carpeta tests completa (incluidos archivos .db de prueba) para que, al descargar la plantilla, los tests y datos de ejemplo vengan tal cual.
Usar la plantilla tras instalar desde npm
No es una librería para import en otro proyecto: es código base para copiar o extraer del tarball.
npm pack express-layered-template
tar -xzf express-layered-template-*.tgz
mv package mi-api && cd mi-api && npm installO cloná tu repo desde GitHub y trabajá ahí (suele ser más simple).
