Giter Site home page Giter Site logo

npm-module-super-alu0101227610's Introduction

Repo Rename

Github Command Line

Antonella García Alvarez

alu0101227610

Uso de la aplicacion

Nuevamente, adjunto las opciones disponibles en nuestra extension que se ejecuta cuando la llamamos, o cuando ejecutamos la extension sin haber puesto los argumentos necesarios.

Usage: gh-repo-rename [options]

Options:
  -V, --version             output the version number
  -o, --owner <owneranization>  specifies the owneranization
  -r, --repo <reponame>     specifies the repository
  -n, --name <name>         name
  -h, --help                display help for command

Test with Mocha and Chai

Para publicar nuestro modulo, sería crucial crear pruebas para él. Para ello utilizaremos las herramientas de chai y mocha, el primer paso es instalarlas como dependencias de desarrollo o devDependencies en nuestro .json.

  "devDependencies": {
    "chai": "^4.3.4",
    "mocha": "^9.1.3",
    "documentation": "*"
  }

Tambien podriamos utilizar las siguientes sentencias:

npm install mocha --save-dev
npm install chai --save-dev

Una vez hecho esto, para instalarla hacemos un npm install y finalizamos con un mocha init test.

Además, deberiamos añadir su instalacion como script en el .jsonpara asegurarnos de que se pueda ejecutar de forma automatica los test con tan solo poner un alias.

  "scripts": {
    "test": "mocha --reporter spec",
  }

Siguiendo los pasos para el desarrollo de los test, creamos un directorio llamado test para guardar un index, en mi caso repo-rename.js, en el cual haremos los test unitarios. En los cuales tendremos bloques descriptivos usando describe donde incluiremos cada funcion respectiva a su entorno. Para mi ha quedado algo así:

describe('#Rename', function() {
it('gets ID from repository', function() {
renameRepo.getRepoID("ULL-ESIT-DMSI-1920", "prueba-antonella-funciona").should.equal('R_kgDOGbeYPw\n');
});
it('converts old name into new name', function() {
  renameRepo.renameRepo("R_kgDOGbeYPw", "prueba-antonella-funciona1").should.equal("prueba-antonella-funciona1");
  });
});

Como se ve, son test claros y faciles de crear, y la ejecución es tan sencilla como poner npm test ya que creamos el alias para la ejecución. En la terminal se ve algo como esto:

imagen1

Github Actions

A continuacion para continuar con el testeo en profundidad de nuestra aplicacion utilizaremos una herramienta que nos facilita Github, llamada Actions. Esta nos permite utilizar un workflow para ejecutar eventos de forma automatica segun un evento, por ejemplo un push.

Para ponerlo en marcha necesitaremos un fichero .yml, como tenemos en nuestro submodulo npm-module-test, y en el definiremos la serie de pasos meticulosos para la ejecucion de pruebas. Ademas tenemos que tener en cuenta el uso de los secretos, otra herramienta para darle permiso a Actions para que actue sobre repositorios ya que por ejemplo en nuestro caso, necesitamos cambiar el nombre de un repo y para ello necesitariamos un Token personal para tener permisos necesarios. Sino, estas pruebas no funcionaran.

imagen2

Como vemos en la imagen anterior, asi se veria cuando los test han funcionado correctamente en las Actions.

Documentación

Para la documentación de nuestro proyecto utilizaremos JsDoc que es una herramienta que genera automaticamente documentación siguiendo el estandar en formato web a partir de los comentarios formateados correctamente en los ficheros necesarios y de nuestro README.

Para instalarla, debemos hacerlo globalmente y luego incluirla en las dependencias de desarrollo de nuestro proyecto.

El correcto formato de nuestros comentarios debe seguir el estandar, que sería así:

/**
 * gets repo ID
 * @param {string} owner 
 * @param {string} name 
 * @returns ID
 */

Al tener ya los comentarios deseados ejecutamos jsdoc fichero.js y nos creará un directorio llamado outdonde existiran los recursos de frontend (CSS, HTML y JavaScript) necesarios para visualizar la página de documentación

npm-module-super-alu0101227610's People

Contributors

mixedfeelings13 avatar

Watchers

Casiano Rodriguez-Leon avatar

npm-module-super-alu0101227610's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.