1.11.0 • Published 3 years ago

javascript-library-starter1 v1.11.0

Weekly downloads
335
License
MIT
Repository
github
Last release
3 years ago

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:

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

Roadmap

  • Configurar semantic-release y las acciones de github
  • Configurar test con jest, coverage y añadirlo a Git Actions
  • Añadir plantillas README.md, errores y pull-request de Git Hub
  • Completar el archivo README.md indicando como personalizar y utilizar la plantilla
  • Configurar herramientas para documentar el proyecto, y publicarla automáticamente con Git Actions
  • Documentar un flujo recomendado para utilizar GIT
  • Configurar dependabot para comprobar si hay versiones nuevas de alguna librería que utilice el proyecto
  • Añadir licencia.
  • Configurar el proyecto como plantilla
  • Modificar el código de ejemplo en la carpeta src
  • 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

1.9.0

3 years ago

1.11.0

3 years ago

1.10.0

3 years ago

1.8.0

3 years ago

1.7.0

3 years ago

1.6.0

3 years ago

1.5.0

3 years ago

1.4.0-beta.9

3 years ago

1.4.0

3 years ago

1.4.0-beta.8

3 years ago

1.4.0-beta.7

3 years ago

1.4.0-beta.6

3 years ago

1.4.0-beta.5

3 years ago

1.4.0-beta.4

3 years ago

1.4.0-beta.3

3 years ago

1.4.0-beta.2

3 years ago

1.4.0-beta.1

3 years ago

1.3.0-beta.3

3 years ago

1.3.0

3 years ago

1.3.0-beta.1

3 years ago

1.1.0-beta.1

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago