{"_id":"@alu0101227610/gh-repo-rename","_rev":"2-bd62502bd1065bddeeaebe4616028f80","name":"@alu0101227610/gh-repo-rename","dist-tags":{"latest":"1.2.1"},"versions":{"1.2.0":{"dependencies":{"comander":"^0.0.1-security","commander":"^8.3.0","shelljs":"^0.8.4"},"name":"@alu0101227610/gh-repo-rename","description":"### GraphQL","version":"1.2.0","main":"gh-repo-rename.js","scripts":{"debug":"node --inspect-brk gh-repo-rename.js -o ULL-ESIT-DMSI-1920 -r prueba-funciona  -n prueba","create-prueba":"gh create-repo prueba-antonella ULL-ESIT-DMSI-1920","list-prueba":"gh submodule-add -s prueba-antonella -o ULL-ESIT-DMSI-1920 -n","test":"./gh-repo-rename -o ULL-ESIT-DMSI-1920 -r prueba-antonella  -n prueba-funciona; npm run list-prueba","back":"./gh-repo-rename -o ULL-ESIT-DMSI-1920 -r prueba-funciona  -n prueba-antonella; npm run list-prueba","start":"node gh-repo-rename.js","publish":"git push origin main; git push publico main"},"repository":{"type":"git","url":"git+https://github.com/alu0101227610/gh-repo-rename.git"},"author":"","license":"ISC","bugs":{"url":"https://github.com/alu0101227610/gh-repo-rename/issues"},"homepage":"https://github.com/alu0101227610/gh-repo-rename#readme","gitHead":"600d70bdd8a2d78c7f4b5a4a17a0e30671289925","_id":"@alu0101227610/gh-repo-rename@1.2.0","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-2Pixji9Z5bkBPgJN80I+QXaNiA/lSA0EAJgOmQ9CMuc6ce37rH4xDokewgaK5IKdcFpAmGeUTT++fygVfXYEuA==","shasum":"6ca9d61657d34a4dbe9a66e0e7669a0290175d67","tarball":"https://registry.npmjs.org/@alu0101227610/gh-repo-rename/-/gh-repo-rename-1.2.0.tgz","fileCount":4,"unpackedSize":6126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhp10OCRA9TVsSAnZWagAApTMQAJGLVXNkZtIectNTxutG\neh6AZgYR4eClKs+RxB/Q/4RpoJjJg50h2Z7h82EK+IYLJjQB88522ET2E64B\n2juwk8dFpiBtwyqV/YU+kaViVMkJwAeXAD3vFV3psExha3rFCMloiGuxqEBM\njuIuJa2UlK3Vd8MA4XfxB91VW0HCM7zvGlYAu+0aa2YF6VNXONlWtbzUjug9\nH33iOpLoLobsLlhJHBVkeDCmGp73P5xeoL1DTTNw40XdmwtlW9HKSrMVRVvx\nhAPQ1rA7TRTkNqRziiJk2xxu6bXz73xJ2SW/5Ef3J1I4se5PfxKOJyoJDSIs\nLW5eyFCkizCbgneZw/7KqNt6BSH4in15HoRaiyNlKOnVAJoI1yf1J/BzqEHY\nNvDqXCXuT+ZAOx4Fv7WIb4VwwONcOznpa+eAhuRKHW0m3wpjksUxJ90AiHHI\nhpojs3wmthUEpU81w6eydJt+C/6BGUNvsUosw59ovzjCsuZ6IdvNPMCdphm4\nuNARBku2UeD1xR47tuuqnOGa/+Jn77NGFTrVKFSkz6Ot0Kpk6gsw6Mgu2RW8\nPVJTQuYvudfE9sD3oqa5WlFvnbkryaqhbzs8er342kZm6W9u3qNyN5CEoOIF\n+jqcfXaasskraLTiBxsX4wIkIF5b3M47A/YaEqrRq9DZd6Lh4FSfODPZkdtX\nkUJb\r\n=/Bb9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/cwB7xOzOPfs9af9udS0IsOA3iTeYnuplp63C3d8mzAIgdD1h2VdfXy2EVCcg3IGYIK0WBYDLQ/fz/9Ickl7Q8zY="}]},"_npmUser":{"name":"alu0101227610","email":"alu0101227610@ull.edu.es"},"directories":{},"maintainers":[{"name":"alu0101227610","email":"alu0101227610@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gh-repo-rename_1.2.0_1638358286227_0.23042999586596036"},"_hasShrinkwrap":false},"1.2.1":{"dependencies":{"comander":"^0.0.1-security","commander":"^8.3.0","shelljs":"^0.8.4"},"name":"@alu0101227610/gh-repo-rename","description":"### GraphQL","version":"1.2.1","main":"gh-repo-rename.js","scripts":{"debug":"node --inspect-brk gh-repo-rename.js -o ULL-ESIT-DMSI-1920 -r prueba-funciona  -n prueba","create-prueba":"gh create-repo prueba-antonella ULL-ESIT-DMSI-1920","list-prueba":"gh submodule-add -s prueba-antonella -o ULL-ESIT-DMSI-1920 -n","test":"./gh-repo-rename -o ULL-ESIT-DMSI-1920 -r prueba-antonella  -n prueba-funciona; npm run list-prueba","back":"./gh-repo-rename -o ULL-ESIT-DMSI-1920 -r prueba-funciona  -n prueba-antonella; npm run list-prueba","start":"node gh-repo-rename.js","publish":"git push origin main; git push publico main"},"repository":{"type":"git","url":"git+https://github.com/alu0101227610/gh-repo-rename.git"},"author":"","license":"ISC","bugs":{"url":"https://github.com/alu0101227610/gh-repo-rename/issues"},"homepage":"https://github.com/alu0101227610/gh-repo-rename#readme","gitHead":"f1d266d5f3ee668385fe6c0da0a3addbe16f84c0","_id":"@alu0101227610/gh-repo-rename@1.2.1","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-dih+qzXusFPcb6EGbxlD3PvIHt7EAG2I1oTu8jdrTXuLemhNQ0ufGN6pfbO0zE00V1FzniBP6X63IHaVQQB6pA==","shasum":"56315598b371e87e6eca43cf79f109b348540abb","tarball":"https://registry.npmjs.org/@alu0101227610/gh-repo-rename/-/gh-repo-rename-1.2.1.tgz","fileCount":5,"unpackedSize":6583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhp2raCRA9TVsSAnZWagAA6h0P/38cOaDfR2rLQcGrakkq\n5g3Uui0vmgjzuJV4VwfhSvZlkqLBrymu7zLKdk91vw4/e9z3MNq237C29om3\n7tJKNtBmIJ+fl7ksr0BeybYjl7UAff7B953na8/5J5Kq1e5+ihCPVTTgLFrg\nfdx/NxS3o7/tummBEHc2pVupkJFgIVuTqJkxN3vat5yuLgh2Q+iN8SbQJw0s\nmpG+k8bdm/7Ch2fGTl6Z3dkLWFlqbStnX261/BDTt29eUc5sFgu1gDfwMLY+\n8+0epSb4UcXPpzjRM7yVZGHNjyBPEB+jaemkJTsJxfgwYh4MmjC1pyFO51rz\ns4nKKZIW7aqND01xSW8H8BkKzDqjOZBxmeVPfYyOyJ8o77XzQPPMqmwTKy+h\nRwwlgjd1dMTRxIFcgHWXcktcfM93VPnSciQ190b4FoaaArGsX9aPf/4LyHo5\ntWHJLXOie+JVt99T/tdZ0vXhUZwhcQx6wCy24izX2NWw6x5tLkjD+GbobEix\nRxR9YmVZ5kQsxv9LHA4+8GHaTXOyJsjamurFLsU4/17Vv27eUPaGTasYWjb9\nHLeocJ+3Nt+3rbPnx6bkxmFedOvWHmGX6HVq2HwVGHwoEPDcMTKZaU7ekv+I\ngF5Qw9Ztr3dpKo/88w+SbDe17R6TsjEcGCEnhaZzdl3cZjf4KDdtFku87/S+\nwCHW\r\n=5WU/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0TnxKrOAlOscW9lSdwP+GlId5NHq03VxD5+n97cGSxAIhAPsM6aheomfD3EwjWdbM6MzGumQtcs8jt7ge0jCRLcNq"}]},"_npmUser":{"name":"alu0101227610","email":"alu0101227610@ull.edu.es"},"directories":{},"maintainers":[{"name":"alu0101227610","email":"alu0101227610@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gh-repo-rename_1.2.1_1638361818791_0.4649742956898417"},"_hasShrinkwrap":false}},"time":{"created":"2021-12-01T11:31:26.164Z","1.2.0":"2021-12-01T11:31:26.387Z","modified":"2022-04-04T13:41:07.856Z","1.2.1":"2021-12-01T12:30:18.922Z"},"maintainers":[{"name":"alu0101227610","email":"alu0101227610@ull.edu.es"}],"description":"### GraphQL","homepage":"https://github.com/alu0101227610/gh-repo-rename#readme","repository":{"type":"git","url":"git+https://github.com/alu0101227610/gh-repo-rename.git"},"bugs":{"url":"https://github.com/alu0101227610/gh-repo-rename/issues"},"license":"ISC","readme":"# Creacion de una extension utilizando GraphQL\n## Repo Rename\n### Github Command Line\n#### Antonella García Alvarez\n#### alu0101227610\n\n### GraphQL\n\nEs un lenguaje de consultas (query), y alteracion de la informacion de un servicio web. Es un medio de comunicacion entre nosotros y un servicio web (pagina web).\nNos facilita el trabajo solicitando al servicio web solo el objeto que necesitamos, sin averiguar donde estan a diferencia de como hemos accedidos a ellos antes con el JSON.\n\n* Formato de las consultas\n\nPara realizar un query o un mutation, la estructura sera algo parecido a esto:\n\n```graphql\n[query|mutation] nombre (argumentos) {\n  Operacion\n}\n```\nLa operacion empieza cuando ponemos si la operacion es un query o un mutation. Lo siguiente sera el nombre de la operacion, y si queremos ponemos los argumentos que necesitaremos para trabajar. En este caso necesitamos el dueño u owneranizacion y el nombre del repositorio al que queremos acceder.\n\n* Como implementar graphQL con Java Script\n\nPara empezar, guardamos las variables que necesitamos en algo mas general. Es decir, en lugar de poner la owneranizacion la referenciamos. En nuestra extension, para conseguir el ID del repositorio, implementamos esta _query_ que guardamos en una variable getrepoID\n\n```javascript\nconst getrepoID = (owner, name) => `\nquery getrepoID{\n    repository(owner: \"${owner}\", name: \"${name}\"){\n      id\n    }\n  }\n `;\n```\n\nOtra consultas que realizamos para el desarrollo de la extension rename es la de conseguir el nombre del repo, y en su defecto, cambiarlo:\n\n```javascript\nconst renamerepo = (id, newName) => `   \n  mutation renamerepo{\n    updateRepository(input: \n      {\n        name: \"${newName}\"\n        repositoryId: \"${id}\"\n      }\n    ) {\n      repository{\n        name\n      }\n    }\n  }\n`;\n```\n\nComo vemos, esta consulta es una mutacion. Ya que altera el nombre del repositorio que le indiquemos; Para poder ejecutar estas consultas como siempre añadimos la libreria _shelljs_.\n\n```javascript\nconst shell = require('shelljs')\n```\n\nY luego, implementando un _shell.exec_ llamamos a la api de graphql a traves de github command line.\n\n```javascript\nr = shell.exec(`gh api graphql -f query='${renamerepo(ID, name)}' --jq '.data.updateRepository.repository.name'` , \n  {silent: true}\n);\n\n```\n\nLo que vemos al final de la llamada, es un _silent:true_. Sirve para que no se vea nada reflejado en la terminal, para limpiar un poco la ejecucion del codigo.\n\n### Uso\n\nNuevamente, adjunto las opciones disponibles en nuestra extension que se ejecuta cuando la llamamos, o cuando ejecutamos la extension sin haber puesto los argumentos necesarios.\n\n```bash\nUsage: gh-repo-rename [options]\n\nOptions:\n  -V, --version             output the version number\n  -o, --owner <owneranization>  specifies the owneranization\n  -r, --repo <reponame>     specifies the repository\n  -n, --name <name>         name\n  -h, --help                display help for command\n\n```\n","readmeFilename":"README.md"}