weso / shumlex

Shapes and UML
http://www.weso.es/shumlex/
MIT License
6 stars 1 forks source link

Paquete NPM #1

Closed ExarcaFidalgo closed 3 years ago

ExarcaFidalgo commented 3 years ago

Bien, vamos a situar aquí la sección exclusivamente funcional de Shumlex para generar un paquete NPM. La interfaz la dejaré en el repo original, haciendo uso de esta librería. De este modo, facilitamos su uso para quienquiera desee hacer uso del sistema; procuremos hacer de su invocación un proceso inteligible.

ExarcaFidalgo commented 3 years ago

Como podrá juzgar el observador perspicaz, he estado probando los flujos de trabajo de Github para generar el paquete con cada release; funciona en cuanto a Github, pero da error en NPM respecto al registro. Tras probar infructuosamente soluciones aquí y allá, sospecho que es una cuestión de autenticación. Imagino que el Token de autenticación a aplicar ha de ser el de WESO. Lo solicitaré mañana.

Me envía un correo cada vez que falla la creación del paquete (y son unas cuantas). Si os he hundido a los vigilantes la bandeja de entrada con errores, mis disculpas (habrá más).

thewillyhuman commented 3 years ago

WESO como organización no tiene tokens. Sólo los usuarios individuales de GitHub tienen tokens. Si sigues teniendo problemas te recomiendo que pruebes con el repositorio de GitHub Packages. Suele ser mucho más fácil subir artefactos automáticamente y se integra con NPM.

ExarcaFidalgo commented 3 years ago

Sí, ya estaba haciendo uso de ello. El workflow generado automáticamente publica en GPR y NPM. Y, puesto que el paquete aparece en el repo, parece que hasta cierto punto, funciona. El problema viene a la hora de tratar de instalarlo, no lo reconoce. Algún detalle falta. Continúa la búsqueda.

Gracias, por cierto.

ExarcaFidalgo commented 3 years ago

Vale, ya veo que hay que hacer. Al hacer npm install, por defecto busca en el registro de NPM. Así que hay que crear en el repo objetivo un archivo .npmrc con

//npm.pkg.github.com/:_authToken={TOKEN_ACCESO_PERSONAL}
registry=https://npm.pkg.github.com/weso

Si no nos autenticamos con el token nos niega el acceso. Y eso que lo he publicado como acceso público, al menos en teoría.

Ahora el npm install @weso/shumlex funciona. Pero claro, esto no es práctico. Debemos publicarlo en el registro de NPM a toda costa. Supongo, no obstante, que no sobra tenerlo en GPR.

ExarcaFidalgo commented 3 years ago

Funciona, ¡al fin! El problema derivaba del nombre. @weso/shumlex en package.json, nomenclatura que GPR me exige, no me era aceptado por NPM, que parecía acusarme de que weso no era de mi propiedad. Bueno, creando el paquete con nombre shumlex esto sale adelante, y el npm install hace lo suyo.

imagen

En principio, esto está. Lo dejo abierto no obstante... trataré de automatizar esto en el workflow. Así que disculpadme por los previsibles fallos en la construcción hasta que tire.

ExarcaFidalgo commented 3 years ago

El publish-npm va bien. El publish-gpr, por algún motivo, intenta publicarlo en el registro de npm. Seguimos las directrices que indican y ante este problema, no exclusivo a mi persona, no tienen solución. El importante es npm, así que directamente lo elimino. Se puede publicar a mano y su única relevancia diría que es aparecer listado en github.