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

javascript-library-starter1

v1.11.0

Published

GitHub template for starting new javascript libraries

Downloads

32

Readme

SemVer npm bundle size Status Release didor Codecov

Motivación

  • 🏎 Poder iniciar un proyecto rápidamente.
  • ⚡️ Enfocar todo el tiempo y energía en desarrollar la librería.
  • 👍 Forzar buenas prácticas.
  • 🚀 Publicarla y compartirla.

Características

Esta plantilla tiene pre-configuradas varias herramientas que te permitirán un desarrollo más rápido, robusto y de mayor calidad:

  • babel - Javascrit a la última
  • rollup - Compila tu librería para compartirla
  • eslint - Encuentra y corrige errores en tu código
  • eslint airbnb - Sigue una de las guías de estilo más populares
  • prettier - Formatea tu código con las mejores prácticas
  • commitizen - Estandariza tus mensajes Commit en Git
  • husky - Mejora la calidad de tus commits automatizando tareas
  • lint-staged - Ejecuta tus linters sobre los archivos que vas a comitear
  • commitlint - Confirma que tus mensajes commit se ajustan a un estandar
  • semantic-release - Gestión de versiones y publicación de paquetes totalmente automatizada
  • jest - Potente framework para realizar test
  • didor-docs - Documenta tu código con estilo rapidamente
  • plantillas github - Plantillas para reportar errores, mejoras, pull request, licencias, ... en Github
  • readme - Completa plantilla con las mejores prácticas
  • VSCode Workspace - Espacio de trabajo preconfigurado para VSCode

Guía de inicio

Instalación

  1. Descarga el repositorio

    git clone https://github.com/fvena/javascript-library-starter.git <NOMBRE_DE_TU_PROYECTO>
  2. Instala las dependencias y configura el proyecto

    cd <NOMBRE_DE_TU_PROYECTO>
    npm install
  3. Comienza a desarrollar

Nota: Como verás se ejecuta un script post-install que configura tus datos el proyecto y te limpia git para que partas con un repositorio limpio.

Checklist

Cuando utilices esta plantilla, trata de realizar las siguientes tareas para configurarla con los datos de tu proyecto.

  • [] Modifica los campos nombre, descripción y autor del proyecto en el package.json
  • [] Inicializa la versión del proyecto en el package.json con la 0.0.0-dev.
  • [] Actualiza las rutas de tu repositorio, homepage y bugs de tu repositorio.
  • [] Cambia el nombre del autor en el archivo LICENSE
  • [] Sustituye este README.md por la plantilla en blanco README_TEMPLATE.md
  • [] Elimina el archivo CHANGELOG.json

Disfruta :)

Uso

  • npm run dev: Levanta una página de prueba en http://localhost:3000
  • npm run dev: Ejecuta nuestra librería con nodemon
  • npm run test: Ejecuta los test una vez
  • npm run test:watch: Ejecuta los test y vigila los cambios
  • npm run docs: Levanta una página con la documentación
  • npm run build: Compila la librería

Desarrollo

La plantilla está preparada para publicar una nueva versión cada vez que modificas la rama master de tu repositorio, ya sea subiendo los cambios directamente o haciendo un pull request.

Mi consejo es que siempre trabajes en una rama dev y cuando quieras lanzar una nueva versión hagas un pull-request a la master directamente desde github. Es más, si quieres otro consejo, elimina tu rama master local.

# Crea y salta a una rama dev
git checkout -b dev

# Elimina la rama master
git branch -D master

# Sube los cambios a tu rama dev
git push

Publicación

Requisito previo: Necesitas tener cuenta en NPM

Para publicar tu librería solo tienes que subir los cambios a tu rama master o hacer un pull-request desde github y automáticamente se realizarán las siguientes acciones:

  • [x] Genera un número de versión que cumple el estándar SemVer.
  • [x] Crear/Actualizar el archivo CHANGELOG.md con los cambios de la versión.
  • [x] Compilar la librería
  • [x] Publicar la librería en NPM y Github, añadiendo las notas con los cambios de la versión.
  • [x] Generar y publicar tu documentación en GitPages

Roadmap

  • [x] Configurar semantic-release y las acciones de github
  • [ ] Configurar test con jest, coverage y añadirlo a Git Actions
  • [x] Añadir plantillas README.md, errores y pull-request de Git Hub
  • [x] Completar el archivo README.md indicando como personalizar y utilizar la plantilla
  • [x] Configurar herramientas para documentar el proyecto, y publicarla automáticamente con Git Actions
  • [x] Documentar un flujo recomendado para utilizar GIT
  • [ ] Configurar dependabot para comprobar si hay versiones nuevas de alguna librería que utilice el proyecto
  • [x] Añadir licencia.
  • [ ] Configurar el proyecto como plantilla
  • [x] Modificar el código de ejemplo en la carpeta src
  • [x] Añadir badgets
  • [ ] Ejemplo para desarrollar para Node
  • [ ] Ejemplo para desarrollar para el Navegador
  • [ ] Añadir script post-install, Opción sin librerías

Tutorial

Si quieres aprender más sobre las herramientas que utilizo en esta plantilla y como configurarlas, te recomiendo que sigas este tutorial donde explico paso a paso como he creado esta plantilla.

  • [ ] Añadir imágenes (capturas)
  • [ ] Añadir videos de algunos flujos
  • [ ] Publicar el tutorial

Contribuciones

Este proyecto es y será siempre de código abierto. Eres bienvenido si quieres contribuir a su desarrollo y mejorarlo cada vez más. Para ello, tienes varias posibilidades:

Licencia

El código está disponible bajo la licencia MIT. Esto significa que puedes usarlo, modificarlo o hacer lo que quieras con él. Esto también significa que lo ofrezco de forma gratuita, así que si encuentras algún error no lo critiques, contribuye al proyecto y repórtalo o mejor aún, solucionalo, será un placer añadirte como colaborador.

Contacto

<> con ♥️ por Francisco Vena