Upng.js: Paquete NPM por favor

Creado en 29 mar. 2017  ·  6Comentarios  ·  Fuente: photopea/UPNG.js

Comentario más útil

No, no lo hacen. Debe instalar este software especial de administración de paquetes ( node.js ). Este último se usa a menudo como servidor web, plataforma para ejecutar aplicaciones de escritorio o incluso para controlar dispositivos físicos a través de Arduino o Raspberry Pi.

Puedo ver que usa el patrón de "exportación global" en su código, que ya no se recomienda. Necesita al menos el módulo CommonJS , mejor: UMD o, idealmente, el módulo ES6 transpilado a UMD por algún paquete, como Webpack , Brunch o Rollup (hay muchos más de estos).

Para hacer que el código sea legible y admirado por todos, debe usar las últimas funciones del lenguaje EcmaScript y luego transpilarlo a ES5, probablemente con Babel .

Como lo que crea es una biblioteca, es posible que desee utilizar TypeScript , que es básicamente un superconjunto de EcmaScript, que proporciona firmas de tipo y comprobaciones de tipo en tiempo de compilación (TypeScript se compila en JavaScript, ya sea ES5 o ES6, por lo que puede o puede no use Babel junto con eso). Incluso las personas que no escriben TypeScript se beneficiarían de él, ya que los editores modernos como VSCode pueden mostrar sugerencias de tipo basadas en tipos de TypeScript.

Otro tema es el desarrollo basado en pruebas. Puedo ver que no escribiste ninguna prueba para tu código, lo cual no es más aceptable en la comunidad de código abierto. Asegúrese de elegir algún ejecutor de prueba como Mocha , Jasmine o Ava junto con una de las bibliotecas de aserción: Chai , PowerAssert o tal vez la función assert incorporada de node.js, ya que ya la tiene instalada. Idealmente, antes de cada implementación, debería ejecutar pruebas en todos los navegadores en BrowserStack o SauceLabs a través de Karma , para asegurarse de que su código funcione en todas partes.

Si usa el servidor de Integración Continua para todas esas cosas de transpilación, compilación y prueba, podrá agregar insignias elegantes a README en su repositorio de GitHub o

Eso es solo la punta del iceberg. Bienvenido al desarrollo front-end AD 2017.

PD
¡También puede ignorar todo esto y simplemente continuar haciendo un trabajo increíble como lo estaba haciendo hasta ahora!

Todos 6 comentarios

¿Qué es NPM? ¿Crees que puedes hacer eso?

Parece que tengo que descargar e instalar un software especial para publicar UPNG.js en "npm". Cuando actualice mi biblioteca, ¿tendré que actualizarla tanto en GitHub como en npm, o npm de alguna manera puede conectarse a GitHub y descargar la última versión?

¡Hola! Lo siento, no sabía que no conocías NodeJS / NPM. NPM es la solución de gestión de paquetes / dependencias más grande del mundo. El código aún vive en github, los desarrolladores están habilitados para descargar y usar su código de manera más cómoda.
Lo que significa: instalar a través de comandos de consola ( npm install upng )
y el uso a través de require('upng') por ejemplo. Además, desea evitar que se ensucie el espacio de nombres del objeto global ( window.upng )).

Dado que este código se publicó en echojs.com , pensé que conocía NodeJS.

Veré si puedo encontrar el tiempo para crear una solicitud de extracción para publicarlo en NPM, sin embargo, usted debería ser el que publique en NPM, ya que creó la biblioteca. La documentación se puede encontrar aquí: https://docs.npmjs.com/cli/publish

Crear el paquete para que esté disponible para NPM es bastante trivial.
Vea más información aquí: https://docs.npmjs.com/cli/init

¿Tienen una interfaz web? Utilizo GitHub a través de la interfaz web. Me parece una locura descargar e instalar algún software solo para enviar 12 kB a algún servidor.

No, no lo hacen. Debe instalar este software especial de administración de paquetes ( node.js ). Este último se usa a menudo como servidor web, plataforma para ejecutar aplicaciones de escritorio o incluso para controlar dispositivos físicos a través de Arduino o Raspberry Pi.

Puedo ver que usa el patrón de "exportación global" en su código, que ya no se recomienda. Necesita al menos el módulo CommonJS , mejor: UMD o, idealmente, el módulo ES6 transpilado a UMD por algún paquete, como Webpack , Brunch o Rollup (hay muchos más de estos).

Para hacer que el código sea legible y admirado por todos, debe usar las últimas funciones del lenguaje EcmaScript y luego transpilarlo a ES5, probablemente con Babel .

Como lo que crea es una biblioteca, es posible que desee utilizar TypeScript , que es básicamente un superconjunto de EcmaScript, que proporciona firmas de tipo y comprobaciones de tipo en tiempo de compilación (TypeScript se compila en JavaScript, ya sea ES5 o ES6, por lo que puede o puede no use Babel junto con eso). Incluso las personas que no escriben TypeScript se beneficiarían de él, ya que los editores modernos como VSCode pueden mostrar sugerencias de tipo basadas en tipos de TypeScript.

Otro tema es el desarrollo basado en pruebas. Puedo ver que no escribiste ninguna prueba para tu código, lo cual no es más aceptable en la comunidad de código abierto. Asegúrese de elegir algún ejecutor de prueba como Mocha , Jasmine o Ava junto con una de las bibliotecas de aserción: Chai , PowerAssert o tal vez la función assert incorporada de node.js, ya que ya la tiene instalada. Idealmente, antes de cada implementación, debería ejecutar pruebas en todos los navegadores en BrowserStack o SauceLabs a través de Karma , para asegurarse de que su código funcione en todas partes.

Si usa el servidor de Integración Continua para todas esas cosas de transpilación, compilación y prueba, podrá agregar insignias elegantes a README en su repositorio de GitHub o

Eso es solo la punta del iceberg. Bienvenido al desarrollo front-end AD 2017.

PD
¡También puede ignorar todo esto y simplemente continuar haciendo un trabajo increíble como lo estaba haciendo hasta ahora!

Muchas gracias por tus comentarios. Parece que descargar, instalar y aprender a usar todos estos programas me llevaría más tiempo del que dediqué a desarrollar UPNG.js. No los necesito para ningún otro propósito. Por lo tanto, decidí dejar esa tarea a otra persona (siéntase libre de publicar UPNG.js en npm o cualquier otra "base de datos de código" / sitios web).

PD: Sigo pensando que, al imaginar un "entorno javascript estándar", no deberías imaginar Node.js (que tienen miles de personas) sino un navegador web (que tienen miles de millones de personas).

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

HRK44 picture HRK44  ·  9Comentarios

mn4367 picture mn4367  ·  16Comentarios

Ser-Gen picture Ser-Gen  ·  5Comentarios

funston picture funston  ·  7Comentarios

Gozala picture Gozala  ·  160Comentarios