npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

express-ts-emacuello

v1.0.2

Published

Plantilla para express con typescript by Emacuello

Downloads

5

Readme

Plantilla de Express con TypeScript

Esta es una plantilla básica de Express configurada para usar TypeScript, con algunas dependencias. La idea es que sea algo simple, como un punto de partida. ¿Por qué lo hice? Porque estar configurando siempre lo mismo en cada proyecto de Express me resultaba ineficiente. Como suelo usar NestJS, que con su CLI me facilita todo, cuando creo algo en Express necesitaba algo similar. La verdad, no sé si existe algo así, pero decidí hacerlo como práctica. ¡Espero que les guste!

Lo que incluye

  • Cors
  • Eslint
  • Morgan
  • Nodemon
  • Ts-node
  • Typescript
  • Dotenv
  • Express
  • Joi

Instalaciones

Como instalarlo? Hay dos formas para hacerlo, la primera y mas sencilla es con un comando de NPX y luego la otra forma es clonando el repositorio.

Instalación 1:

  1.  npx express-ts-emacuello
  2. Seguir los pasos que te indica la terminal.

Instalación 2:

  1. Clona el repositorio:

    git clone https://github.com/emacuello/express-ts-template-emacuello
  2. Navega al directorio del proyecto:

    cd express-ts-template-emacuello
  3. Instala las dependencias segun corresponda:

    npm install
    pnpm install
    yarn install
  4. Elimina la carpeta .git del directorio

    rm -rf .git
  5. Inicia un nuevo repositorio

    git init

Scripts Disponibles

En el directorio del proyecto, puedes ejecutar:

npm start

Inicia el servidor con Nodemon. Utiliza ts-node para la compilación y ejecución en caliente.

npm run build

Compila el proyecto TypeScript a JavaScript con TSC. Los archivos compilados se guardan en la carpeta dist.

npm run lint

Inicia el linter de Eslint en busca de fallas en el codigo segun la configuracion establecida.

A tener en cuenta:

Las variables de entorno por defecto deberían ir en un archivo .env. Si quieres usar otro nombre, deberías configurarlo en src/config/env.ts.

Las variables se declaran en ese archivo y se usa Joi para la validación de su existencia. Todas las variables que pasen por Joi son imprescindibles en el proyecto y el servidor no se levantará si no las encuentra. Si no quieres esta opción, puedes hacer que no pasen por Joi y exportarlas directamente.

import 'dotenv/config';
import * as joi from 'joi';

const PORT = process.env.PORT;