gulpfile

El gulpfile es el archivo que contiene las tareas de compilación del proyecto. Está escrito en JavaScript y utiliza Gulpopen in new window como herramienta de compilación.

Dependencias

El gulpfile depende de algunos paquetes de Node.js para funcionar. Para instalar las dependencias, simplemente ejecute el siguiente comando:

npm install

Algunas dependencias son antiguas y pueden presentar problemas a la hora de ejecutar tareas, pero en general basta con volver a ejecutar el proceso y el problema se soluciona.

Tareas

El gulpfile contiene las siguientes tareas:

build

La tarea build es en realidad una serie de tareas que se ejecutan en secuencia. Ella es responsable de compilar el proyecto y generar la versión final del complemento.

Para ejecutar la tarea, simplemente ejecute el siguiente comando:

gulp build --ver VERSION

En que VERSION es la versión del complemento que se generará. Por ejemplo, para generar la versión 3.0.0, simplemente ejecute:

gulp build --ver 3.0.0

Es obligatorio pasar una versión a la compilación, de lo contrario, la compilación fallará.

clean

La tarea clean es responsable de limpiar las carpetas tmp y dist del proyecto.

ts-to-js

La tarea ts-to-js es responsable de compilar los archivos TypeScript a JavaScript que están en client/src/ a tmp/js.

css

La tarea css es responsable de concatenar y minimizar todos los archivos CSS que están en client/src/ a tmp/css, generando un solo archivo app.min.css;

El algoritmo para esta tarea incluye un bucle for que se ejecuta a través de todos los archivos CSS y los concatena en un solo archivo, con la capacidad de reorganizar la posición de los archivos según la prioridad definida después de filename.<priority>. patrón css.

El valor de "priority" varía de 0 a 10, donde 0 significa que el código se escribe primero y 10 significa que el código se escribe en último lugar.

Los archivos que no tengan un valor de prioridad definido se escribirán con prioridad 5.

El objetivo es que un valor de prioridad solo se defina en situaciones en las que el código debe estar en una posición diferente a la que se escribiría orgánicamente.

ejs-to-html

La tarea ejs-to-html es responsable de compilar los archivos EJS a HTML que están en client/src/ a tmp/html.

check-version

Comprueba si la versión se pasó como parámetro a la compilación. Si no, devuelve un error.

build-js

La tarea build-js se encarga de concatenar y minimizar todos los archivos JavaScript que se encuentran en tmp/js a dist/claroluz/assets/js, generando un solo archivo app.min.js.

Esta tarea también elimina todo el código que se encuentra dentro del siguiente bloque:

//removeIf(production)
...
//endRemoveIf(production)

El paquete responsable de eliminar todo el código de este bloque es gulp-remove-codeopen in new window. Es bastante antiguo y en algunas situaciones no ha podido eliminar el código, ya que comenzó a tener estos problemas cuando ya se usaba ampliamente, se decidió simplemente agregar //removeIf(production) adicional en la línea donde empieza a fallar. Esto resuelve el problema principal, pero aun así, habrá situaciones en las que no se elimine todo el código en el proceso de compilación. La solución es volver a ejecutar el proceso.

build-critical-js

La tarea build-critical-js concatena y minimiza todos los archivos que están en tmp/js/infra/critical/ y el archivo tmp/js/presenter/web/critical/critical.js, generando un único archivo critical.min.js en dist/claroluz/assets/js. Este archivo se agrega como código en línea desde el lado del servidor.

TIP

Para obtener más información sobre el código crítico, consulte la sección Código crítico.

build-html

La tarea build-html se encarga de concatenar y minimizar los archivos HTML que se encuentran en tmp/html a dist/claroluz/views.

build-css

La tarea build-css se encarga de copiar los archivos CSS que están en tmp/css a dist/claroluz/assets/css.

copy-img

La tarea copy-img se encarga de copiar los archivos que están en client/img a dist/claroluz/assets/img.

copy-server-files

La tarea copy-server-files se encarga de copiar los archivos que están en server a dist/claroluz.

copy-dependencies-js

La tarea copy-dependencies-js es responsable de copiar todas las bibliotecas de las que depende el complemento en dist/claroluz/assets/js.

TIP

Para obtener más información sobre las bibliotecas de las que depende el complemento, consulte la sección Bibliotecas.

copy-lang-files

La tarea copy-lang-files se encarga de copiar los archivos de traducción que están en client/lang a dist/claroluz/assets/lang.

update-version

La tarea update-version reemplaza la string {{version}} con la versión pasada como parámetro a la compilación.

zip

La tarea zip se encarga de comprimir el contenido de la carpeta dist/claroluz en un archivo claroluz.zip.

Simplemente cargue este archivo en la página de complementos de WordPress para instalar la versión compilada.

Last Updated:
Contributors: Lucas Pereira, Weverton J. da Silva