DevTips – Escrituras para automatizar el desarrollo de complementos de WordPress

Hace unas semanas leí un artículo que parecía extremadamente divertido (aunque ya tiene unos años): un programador había escrito varios scripts para automatizar la mayor parte de su trabajo, desde que envió el correo de su esposa. Sobre la razón por la que todavía estaba en el trabajo Para resolver automáticamente los cupones de asistencia de este agente cliente, simplemente aplicando una reversión en su base de datos y respondiendo “sin preocupaciones, amigos, ¿ten cuidado la próxima vez”? Tengo que admitir: ¡Soy un gran admirador de este tipo! Porque la automatización de tareas, amigos, es lo que siempre debe buscar un buen programador.

Trate de no trabajar “tan duro” como este. Después de todo, el buen programador no es el que presiona varias teclas, sino el que puede hacer más con menos esfuerzo (y sí, esto incluye la automatización). ¿Por qué repetir la misma acción una y otra vez, si puede tener un escenario para hacer el trabajo por usted? La automatización le ahorra tiempo: tiempo puede dedicar a otras tareas más interesantes o productivas: la ayuda de un cliente, aprender una nueva tecnología, corregir un error, etc. La automatización también evita errores: cuando haces el mismo trabajo una y otra vez, se vuelve aburrido, repetitivo y aburrido, lo que hace que sea más probable que se confunda.
En la publicación de hoy, me gustaría compartir algunos de los scripts que utilicé en Nelio para automatizar el proceso de embalaje y lanzamiento de nuevas versiones de nuestros complementos. No es una ciencia de misiles, pero estoy seguro de que aún los encontrará útiles, ¡incluso podría inspirarlo a crear sus propios escenarios! Tareas repetitivas Al crear una creación de software de complementos es una artesanía. Por supuesto, aplicamos metodologías en nuestro trabajo e intentamos ser lo más riguroso posible, pero escribir software requiere una cierta cantidad de brillo y talento; después de todo, un programador debe expresar en algunas líneas los requisitos de sus usuarios … es como poesía! Pero no se deje engañar por el dominio de nuestro trabajo: muchas de las tareas que realiza mientras crea y mantiene el software son repetitivos y, por lo tanto, pueden automatizarse. Veamos algunos ejemplos que probablemente haya conocido varias veces antes: reducir los archivos CSS y JavaScript. Esta es una tarea bastante común, especialmente si dividimos nuestras reglas y funciones en varios archivos y tenemos que confesarlos y minimizarlos a todos.
Genere un archivo .pot que contenga todas las cadenas traducidas. Si desea que alguien use su complemento, definitivamente debe pensar en seguir las reglas de internacionalización. Por lo general, querrá usar las funciones de WordPress I18n para esto.
Ejecutar pruebas unitarias. Hemos discutido varias veces en este blog sobre la importancia de las pruebas unitarias de su código. Hay muchas herramientas para hacer esto (incluidas cosas como “integración continua”), pero al menos debe poder realizar pruebas sin esfuerzo y hacer Seguro que todo funciona de acuerdo con las expectativas antes de lanzar una nueva versión. Lleve y inicie nuevas versiones de su complemento después de unas pocas semanas o incluso meses de trabajo, implementando nuevas funciones, remedios de errores y agregando más mejoras a su complemento …, es tiempo es Para lanzar una nueva versión. Esto significa que tendrá que actualizar el almacén de WordPress.org SVN con nuevos archivos para que los usuarios puedan ver una nueva versión disponible.
Como puede ver, todas las tareas repetitivas que hará durante la creación de un complemento son extremadamente simples y repetitivas, lo que hace que todos los candidatos perfectos se automatizaran. Hemos seleccionado estos ejemplos porque ya tenemos algunos scripts para automatizar … ¡y hoy compartiremos estas Escrituras! ?
Espero que estés tan emocionado como este tipo después de que te dijera que compartiría nuestros escenarios. ¡Es hora de automatizar! Hay muchas herramientas de automatización de tareas: en nuestro caso, utilizaremos las Escrituras Gulp y Bash, y los scripts que compartiré se escribirán en estos idiomas. Pero no dude en usar cualquier herramienta con la que se sienta cómodo: lo importante aquí es que automatiza las cosas, independientemente del idioma o la herramienta específica que use. Entonces, sin ninguna otra extensiones, ¡comencemos! Gulp Escrituras para JavaScript y CSS Una de las tareas más comunes que llevamos a cabo desarrolladores web es la “minería de scripts”. Es decir, eliminamos prácticamente todos los espacios y caracteres innecesarios en nuestro código para guardar algunos bytes. Bueno, en el trago, esto es extremadamente simple: solo agregue los paquetes necesarios, cree una nueva tarea que escanee todos los archivos JavaScript (línea 6), los minimiza (línea 7), genera .min.js (líneas 8 y 9) y ¡Voila! ¡Fácil de caminar! Y lo mismo es cierto para los archivos CSS, por supuesto:
Sin embargo, si observa más de cerca, se dará cuenta de que el embarazo es un poco más complejo que el de JavaScript. Esto se debe a que usamos dos paquetes diferentes: CSS Next y CSS Nano. La primera es una pequeña utilidad que nos permite escribir CSS utilizando “reglas futuras”, es decir, reglas y declaraciones que pueden no estar disponibles en las implementaciones actuales del navegador y, por lo tanto, deben traducirse a los estándares CSS actuales. Este último es el paquete minero en sí.

Ir más: una de las cosas que más me molestan sobre trabajar con los archivos de origen y sus versiones minimizadas es que cada vez que hago un cambio en uno de los archivos de origen, tengo que recordarlo correctamente. Afortunadamente, Gulp incluye un instrumento que detecta cuando se produce un cambio en uno de los archivos fuente y realiza una o más tareas en respuesta. En otras palabras, puedo decirle a Gulp: “Oye, siempre que haya un cambio en cualquiera de estos archivos JavaScript o CSS, reduzca correctamente”: ¿fuerte? Y, oye, una vez que te acostumbras a tragar, él ya no puede detenerte. Por ejemplo, he creado algunas tareas para ejecutar pruebas unitarias en mis archivos PHP y JavaScript:
así como para generar el archivo i18n .pot:
¡Me gusta! Aquí encontrará el script completo, así que no dude en descargarlo, cambiarlo y usarlo en sus propios desarrollos. Script Bash para lanzar una nueva versión de un complemento como saben, después de enviar un nuevo complemento primero en el director de complementos de WordPress y se aprueba, se le dará acceso a un almacén de SVN desde el que puede continuar su desarrollo y dónde está Etiquetarás las versiones estables. El problema es que la mayoría de los desarrolladores están utilizando GIT para trabajar en sus proyectos, por lo que tendrán que copiar sus archivos de complemento del proyecto GIT en SVN. En otras palabras, enfrentamos una tarea repetitiva que, nuevamente, debe ser automatizada.

El script que necesitamos publicar y lanzar nuevas versiones de nuestro complemento es bastante simple: solo necesitamos saber la nueva versión que queremos usar y la ubicación de nuestro director de SVN (supongamos que nos ejecutamos desde el director de Git): [correo electrónico protegido] : ~/vagrant/wordpress/wp- content/plugins/inesasy /$./ mkversion 1.5.0 ~/svn/no count/ahora para echar un vistazo a las diferentes fases en las que tiene este complemento para automatizar ellos: 1. Actualizar ReadMe. Cada vez que publique una nueva versión, debe actualizar el archivo ReadMe. Primero deberá cambiar la versión estable (incluso si desea hacer esto bien al final del proceso, una vez que se asegure de que todo esté bien). En segundo lugar, deberá agregar una nueva sección en el diario de los cambios para que los usuarios puedan ver los cambios que incluye la nueva versión. Finalmente, deberá agregar una línea corta al final de ReadMe con la notificación de actualización que describe brevemente lo nuevo.
Nuestro script automático debería ayudarnos en tareas anteriores. En primer lugar, verificaremos automáticamente que el archivo ReadMe contenga una sección de revistas de cambios actualizados (es decir, si incluye una lista de cambios para la versión que queremos etiquetarlo como estable). Si es así, cambiaremos el nombre, para incluir la fecha de lanzamiento (hoy) y actualizar la notificación de actualización:
Algunas de las variables (por ejemplo, la versión $) o las funciones (como pregunta o error) se han definido al comienzo de nuestro script. 2. Ejecute algunas tareas básicas, como, por ejemplo, generar archivos JS y CSS, extraer cadenas I18N en un archivo .pot o actualizar los números de versión en el complemento. Debido a que ya hemos definido la mayoría en nuestro guión Gulp, su ejecución aquí es bastante simple: 3. Copie el director de Git al director troncal de Svn. Una vez que todo está listo, es hora de mover el proyecto de GIT a SVN. Lo único importante que debe recordar aquí es no copiar algunos archivos “inútiles”, como .git o node_modules:
4. Cree una nueva versión en etiquetas basadas en tronco. El siguiente paso en nuestro proceso de lanzamiento es el etiquetado de la versión actual como estable. En SVN, esto se hace copiando la carpeta del tronco a una nueva carpeta en las etiquetas. Además, es posible que desee deshacerse de algunos archivos de “fuente” aquí, solo para asegurarse de que el tamaño del complemento sea lo más pequeño posible:
5. Actualice los índices SVN, para que SVN sepa qué archivos son nuevos, qué archivos están cambiando y qué archivos se han eliminado:
Finalmente, el último paso (que es manual) es cometer el proyecto y, por lo tanto, cargar en wordpress.org. ¡Y eso es todo! Aquí encontrarás el escenario final. Ahora es tu turno … Espero que te haya gustado esta publicación y puedas beneficiarte de las ideas que compartí. ¿Tienes tu propia automatización? ¿Por qué no los comparte con nosotros? ¡Me encantaría ver las herramientas y scripts que usa! Imagen presentada por Dominik Scythe en Unsplash.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *