Práctica: Creación de Paquetes NPM y Strategy Pattern
Descripción
Uno de los objetivos de esta práctica es aprender a crear packages NodeJS y publicarlos en npm. El paquete se construye a partir de el código que se desarrolló en la práctica evaluar strategy pattern.
- Se trata de construir un primer módulo npm
ull-shape
con el código de la claseShape
- Se construirá un módulo npm
ull-shape-triangle
que contenga la clasesTriangle
- En general, para cada tipo particular de forma geométrica
x
se construirá un módulo npmull-shape-x
que contenga la claseX
- La implantación del módulo principal
ull-shape
se hace primero y de forma colaborativa.- Cada miembro del equipo implantará el solo al menos uno de los plugin
ull-shape-x
: si hay tres miembros cada uno implantará al menos una forma distinta, etc. - La implantación de los plugin
ull-shape-x
no debería conllevar ,a modificación del código del módulo principalull-shape
(principio Open/Close)
- Cada miembro del equipo implantará el solo al menos uno de los plugin
- Como deberán publicar en el site de npm los módulos creen una organización
ull-team-name
pública y pongan sus módulos en ese ámbito- Añadan a todos los miembros del equipo a la organización
- Escriba documentación para cada uno de los módulos (Véase documentation.js, jsdoc, docco)
- Añada pruebas para cada uno de los módulos
- Integre usando Travis
- En esta tarea deberá trabajar con varios repos, uno para el módulo principal
ull-shape
y uno para cada shape específica: cree los diferentes repos dentro de la organizaciónULL-ESIT-DSI-1617
siguiendo el patróncreacion-de-paquetes-npm-team
para el módulo principal ycreacion-de-paquetes-npm-team-triangle
para el del triángulo, etc.
Referencias
- Véase la sección Creación de Paquetes y Módulos en NodeJS
- Documentación: documentation.js, jsdoc, docco)
- Véase la sección Gulp
- Apuntes: Code Smells
- Principios de Diseño
- Patrones de Diseño
- ECMAScript 6 Power Tutorial: Class and Inheritance
- Object-Oriented JavaScript — A Deep Dive into ES6 Classes
- Strategy Pattern
- Apuntes: Pruebas. Mocha
- Apuntes: Pruebas. Should
- Apuntes: Integración Contínua. Travis