 O Mano a Mano organizando prácticamente todo aí a SACO. Su responsabilidad principal era a parte de patrocinios, de conseguir também patrocinadores e buscar patrocinadores hasta que pudieran pagar, ou seja, que llegáramos a pagar toda esta fiesta. E, bueno, tamén ha estado a nivel de diseño, haciendo toda a parte gráfica. La naranja de la Ovorca en Valencia é sobra suya e, bueno, todos os que son cartelerías, etc., es su trabajo. Así que, un fuerte aplauso, por favor, para Ricardo. E mejor? Sí. Que tal? Como no estáis passando? Antes de nada. Vía no que? Nada. Antes de presentar aquí a Jesús, quería comentar que, bueno, Jesús viene por que Santía ha tenido un pequeño percance e non ha podido estar aquí, ento desclaro, le mandamos un super abrazo, que iba a hacer unha aponencia genial, seguro. Santí Jiménez. Oye, te queríamos un montón. E nada, e claro, muchísimas gracias a Jesús, porque se apego, non solo ha venido corriendo a dar la charla, sino que enzima nos ha ayudado en todo. O sea, ha estado colaborándonos, ha sido, bueno, el hombre orquesta. Lo mismo, muchísimas gracias, Jesús. E nada, yo que sé, yo que muchos lo conocéis, este señor hace de todo, de todo, de todo, de todo, de todo, e yo que yo que lo escuchéis, e con las orejas, pero bien abierta, bien limpias, e non sé, quiere que conte algo mázullo o non hace falta. Tiva maldale. Tiva milles. Me funciona, sí, me presento yo, ok. Bueno, muchas gracias a todos por estar aquí, a la manifestación por refrescar-me al final, sinto mucho que se haya caído un ponente, sobre todo por motivos de salud, vale. Vamos a hablar un poco de automatización, que espero que os diga mucho para vuestro día a día. Bueno, aquí, la mayoría de la gente que estamos aquí, nos dedicamos a desarrollar o web, obviamente, senón nos traíamos unha charla de web, es todo relacionado. Non sé, quando empezáis vosotros con esto de desarrollo web, yo hace un montón de años, a principio de milenio, por allá por los 2000, e el desarrollo era muy, muy sencillo, sabías un poco de HTML, un poco de CSS, algo de JavaScript, subías todo eso por FTP a un servidor e listo, eras desarrollador web e a tirar millas. Que pasa? La historia se foi complicando, había que empezar a aprender ASP, PHP, entornos máis complejos de desarrollo, ides, etcétera, etcétera. E yo, lo que me fui dando cuenta, es que había unos serie de patrones repetitivos de mi trabajo, es decir, veía que hacía unha serie de tareas, de forma repetitiva e que creía que se podían optimizar. Que tareas eran estas que veía que se podían optimizar? Pues, por ejemplo, la transcompelación de SAS o LES a CSS, la automatización de la publicación para un marketplace, de un tema, por ejemplo, con una serie de pasos como por ser eliminar ficheros, concatenar e minificar JS e CSS, optimizar imágenes, copiar archivos, etcétera, etcétera. Vale, entonces, lo que busqué fueron alternativas para poder automatizar mi trabajo. Antes de empezar a hablar de lo que se centra a chara, que son de los transplaners e uno en concreto, voy a dejaros caer el concept de modelo Bandler, que simplemente son un software muy específico, que está pensado para o mundo de desarrollo en JavaScript, que lo que se trata es de, quando tenemos un proyecto muy complejo con un montón de pencias JavaScript, este software, lo que hacen es resolver todas estas dependencias, nos genera, normalmente, un único archivo JavaScript, que se consume habitualmente por el navegador, y hasta ahí. Que pasa? Que estos proyectos, que eran algo muy particular, fueron añanendo funcionalidades e nos va a pasar a veces que, para automatizar algo, podemos utilizar un Bandler e non tarramer. Vale, la línea que lo separa hoy en día es muy, muy difusa, aunque empezaron de forma distinta. Tenemos ejemplos, por exemplo, webpack, que me imagino que, se trabajáis en temas de Java escrito, sonará a todos, parcel o role js. E os siguientes que tenemos, que son de lo que vamos a hablar hoy, son de los tarramers. El tarramer, que, básicamente, lo que nos permite es automatizar un montón de tareas. Tenemos entre os más conocidos Gulp, Grunt, que es el que vamos a hablar hoy, y NPM, que en sí non es un tarramer, sino es un gestor de paquetes de node, pero que sí que nos permita automatizar tareas bastantes sencillas. Ok, quales son os beneficios que nos van a aportar un tarramer en nuestro día a día? O beneficio principal es automatizar nuestro trabajo, trabajo que hacemos de forma manual, de forma repetitiva, pues lo vamos a poder liberar, con lo cual, vamos a ser máis productivos, vamos a ganar tiempo para hacer todo o trabajo, o simplemente para disfrutar de nuestro dia a día, nos sobra cada día media hora más que le podemos aprovechar en outros historias. E también nos va aportar consistencia a nuestro trabajo. E o que quiero decir con consistencia? Pues básicamente que el ser humano es propenso de erro, es decir, quando estes teclando, por ejemplo, algo por unidad de comandos, es bastante habitual meter la pata, teclar mal, con lo cual, la tarea no se ejecuta adecuadamente. El tarramer nos va a quitar esta problemática, nos va a dar consistencia cada vez que repetimos una tarea. Ok, éste son os beneficios principales de un tarramer. E o que vamos a hablar hoy aquí, del que os voy a explicar una serie de ejemplos, va a ser concretamente de Grund. Por que Grund? Obviamente porque me permite automatizar un montón de tareas repetitivas e non estaría dentro un tarramer, porque su curva de aprendizaje é muy pequena, é muito importante. Vosotros, un técnico de desarrollo pode coger Grund en dos o tres horas ponerla a funcionar e empezar a utilizarlo de forma real en su entorno de desarrollo. É un funcionario basado en plugins, é muito importante. Cada nova funcionalidad que necessitamos automatizar va a ver un plugin en un repositorio, lo descargamos e lo empezamos a utilizar. Veremos más adelante como se instalan. Hay un ecosistema moi grande. Obviamente, no de la escala de WordPress, pero sí que veis que tenen 6 mil quintos plugins, má de 6 mil quintos plugins para realizar un montón de tareas. Portanto, hay un ecosistema enorme. Hay foros, hay un montón de preguntas en sitios como está Power Flow, es decir, tenéis una necesidad de automatización, é muy probable que con Grund está basado en su configuración en JSON, portanto, está desarrollado en Node.js. Portanto, se está desarrollado en Node.js para su instalación vamos a necesitar Node.js por un lado e, por outro lado, el gestor de paquetes de Node.js que es NPM. No voy a explicar como se realiza la instalación, simplemente vais a la web de Node.js, descargáis o sistema operativo, lo instaláis, é muy sencillo. Una vez que estén en Node.js e con él el gestor de paquetes en NPM o siguiente es instalar a interfaz de línas de comandos de Grund, este comando NPM install menos G para que no instale de forma global en todo o sistema operativo Grund, Guion, medio CLI en momento ejecutemos este comando ya tenemos la CLI instalada en nuestro equipo podemos ejecutar Grund e va a empezar a hacer cosas por ahora no va a hacer nada pero ya lo tenemos en cualquier entonces con un proyecto con Grund vamos automatizar el desarrollo de un tema con Grund lo primero que vamos a hacer como veis que está gestionado con NPM con gestor de paquetes de Grund vamos a inicializar NPM en este directorio lo vamos a hacer con NPM y que lo que me va a crear es un fichero que vamos a ver a continuación e a maiores vamos a instalar el propio plugin de Grund estos dos comandos dos ficheros e un directorio el fichero que me importa aquí es el pacaje.json que es donde están definidos los módulos de Grund que vamos a utilizar paso a paso el pacaje.log es un fichero interno que utiliza NPM e el node módules es donde NPM se encarga de escarrar los plugins e almacenarlos para su uso interno ok ya tenemos inicializado nuestro directorio vale lo siguiente que vamos a hacer bueno antes de nada ver como seria este fichero pacaje.json veis aquí que hay unas serie de dependencias en este caso la de Grund que acabamos de instalar pues aquí se van a ir añadiendo de forma automática mediante a la linea de comandos las siguentes dependencias de desarrollo simplen de estos para que sepáis como se nace na internamente que vamos hacer vamos a utilizar andres cores que me imagino que lo conocéis bastante es un starter theme de automatic para realizar temas vamos a descargarlo para empezar a utilizarlo como lo descargo pues con un clonado de git git clone la url y lo voy a meter en una carpeta que es src de source porque en este momento que os voy a explicar voy a tener por un lado la carpeta de source donde hago mi trabajo y voy a tener outra carpeta que va a ser dist donde voy a preparar este tema para largar a producción vale toda esa copia de ficheros para realizar con Grum obviamente ok ya tenemos clonado nuestro starter theme nuestro andres cores que tiene bueno, básicamente en la raíz tiene unas serie de ficheros como cualquier tema de WordPress veis ficheros PHP tiene el screenshot el style etc etc y a mayores unas serie de directorios tiene el link el ayaus y el template part donde almacena código PHP tiene el js donde almacena JavaScript el languaje donde ofecen los ficheros correspondientes para las traducciones y ya para finalizar tiene el SAS donde almacena los ficheros del sistema de gestión de CSS SAS precisamente es aquí donde vamos a trabajar la primera automatización vamos a hacer una transcompilación la transcompilación non es nada mais nada menos que hacer una conversión entre dos lenguajes de un nivel similar tenemos un montón de ficheros de tipo SAS con la extracción CSS e vamos a transcompilarlo convertirlo en unico fichero de tipo CSS que ventajas me aporta SAS entre otras muchas dos muy importantes que son veis que me permita estruturar muchísimo el código tengo un fichero para os botones otro para os formularios otro para el naces otro para os menus e todo eso en la transcombiación lo voy a juntar e lo voy a llevar a un fichero de estilos pero a maior el SAS lo que me permite es utilizar por ejemplo variables defino un fichero determinado un variable que le llama primary color con un nombre determinado en otro fichero de tipo SAS invoco esa variable color en dos puntos primary color e al hacer la transcombiación lo que me haces es una conversión de todo esto obteniendo un código CSS esto es muy útil para no andar repitiendo código porque por ejemplo defino un color en un icositio e se mi cliente me dice cambiame este color para mi color por un crisis un poco más oscuro lo cambio en un icositio e automáticamente al transcompilar se lleva ese cambio a todos os lados es muy importante muy interesante para ser más efectivo trabajando ok pues vamos a ver como hacemos esto en SAS lo primero que os comenté es que SAS funciona perdón con grunt grunt funciona mediante módulos y lo que hacemos es instalar un módulo de transcombinación simplemente con este comando con el que vamos instalar todos os módulos se va añadir su dependencia en el fichero package.json y lo único que tengo que hacer unha única vez es crear un fichero gruntfile.js para que me va a hablar este fichero este fichero va a ser el que va a leer grunt quando lo ejecute por un ía de comandos va a buscar este fichero e va a trabajar acorde a lo que tenga dentro ese fichero igual que por ejemplo el package.json en el director donde lo estoy ejecutando es un análogo o suficionamiento que tiene este fichero gruntfile.js bueno tiene tres partes principales tiene un wrapper principal sin darle máis vueltas tiene la carga del módulo que voy a utilizar veis que es el que acabo de instalar el grunt contrib sas y tiene dentro de este objeto gruntinitconfig el trabajo que queremos automatizar vale tengo por un lado la tarea y el objetivo de la tarea la tarea se llama sas para este módulo concreto y el objetivo es realizar una transcompleación de sas en desarrollo vale y basicamente lo que me dice este código es que mira cuando se ejecute esta tarea concreta lo que vas a hacer es ir a buscar este archivo de tipo sas que está en src sas está el punto scs transcompilarlo e guardarlo en src punto está el punto cs ok como le ejecuto pues muy sencillo fijaros que tengo el nombre de mi tarea e el objetivo sas de pues para ejecutarlo está sencillo como ejecutar grunt espacio sas el nombre de la tarea dos puntos de que es el objetivo vale así de sencillo como este simple comando e lo que acabamos de ver en ficha de configuración ya podia hacer la transcompleación de sas ss ok puedo empezar a trabajar puedo empezar a hacer cambios en sas volver ejecutar el comando hacer cambios en sas volver ejecutar el comando e así de forma repetitiva pero para nosar teclando este comando grunt e un montón de tarzames lo que tienen es el vigilante un watcher que lo que me permite estar controlando los cambios de un tipo determinado de ficheros para hacer una tarea concreta vamos a ver como seria un vigilante antes de nada tenemos que instalar el módulo de vigilante con o mismo comando que llegamos visto hasta ahora npm install grunt contra watch e nada más e o que crea es una tarea que le llamo watch con un objetivo concreto que es vigírame la sas vale o que va a hacer aquí va a controlar cualquier cambio en ficheros de tipo sss dentro del director src sas e sus subdirectorios e en un momento que detecte algún cambio lo que va a ejecutar es la tarea que acabamos de crear previamente que es la transcompleación de la sas en el entorno de desarrollo vale entonces yo me puedo instalar con la sas cada vez que haga un cambio por detrás o watcher realizará la transcompleación o que como o ejecuto bueno o ejecuto de la misma forma que vimos antes grunt nombre de la tarea e o objetivo de la tarea así de sencillo vale ok entonces son dos ejemplos bastante básicos de como podemos automatizar bastante trabajo con grunt por un lado la transcompleación es importante para no tener que andar tecleando o comando de forma continua el siguiente ejemplo que vamos a ver es como realizar la publicación de un tema pues para un entorno propio para mandar al repositor oficial de Wordpress o a un repositor privado vale e van a ser seis pasos vamos a ver como automatizamos seis pasos el primero va a ser limpiar el directoro de distribución porque podemos tener archivos de una distribución previa que no nos interesa a publicar o segundo va a ser hacer una transcompleación de sas para distribución e no para desarrollo vamos a concatamar los ficheros Javascript porque obviamente nos interesa que só transmitir un único fichero Javascript e no varios ficheros Javascript porque sabes que há determinados servidores o navegadores que se llama mal para realizar la transmisión de ficheros a maiores vamos a amplificar el siguiente fichero Javascript tal forma que todavía va a ocupar menos para que la transmisión sea má rápida vamos a realizar una otimización de imágenes e para finalizar que no están en el entorno de distribución ok vais a ver que van a ser nos pasos todos muy iguales instalación del plugin configuración de la tarea con su objetivo e ejecución así de sencillo empezamos con o primeiro o primero es limpiar vamos a buscar un plugin correspondiente para a limpeza este plugin lo instalamos desta forma e creamos una tarea que se llama clean con su objetivo distribución e basicamente o que dice esta comando es mira limpia-me borra-me todo o que tengas dentro del directorio distribución en ese momento o momento que o ejecute ese directorio va a quedar limpio ok veis que sempre le hizo en la parte inferior la carga del módulo ok como o ejecución pues como llevamos visto da hasta ahora groon el nombre de la tarea e o objetivo de la tarea ok primer paso listo en este caso para producción e no para desarrollo hay unos cambios pequeños pero que son interesantes ver no tengo que instalar o plugin porque ya lo tenho instalado do paso anterior e o que voy a crear es la tarea la tengo aquí grada pero veis que tengo un novo objetivo todo este código o que tenia do paso previo e o novo objetivo va a ser distribución no desarrollo e veis que hay aquí una serie de opciones que son compreses o que voy a hacer en el momento que transcompile esta CSS e o source map tampoco lo voy a crear o source map que vincula asas con el archivo de estilos no me va interesar crearlo porque es para distribución para publicación entonces le digo que non me lo cree e o que le voy a decir es mira me vas a transcompilar srcsas estales CSS pero ya lo vas a copiar directamente en distribución en el directorio de distribución con lo cual al ejecutar esta tarea con ese objetivo concreto a transcompilación de sas sin el source map comprimido e ya copiado directamente al directorio de publicación ok como el ejecuto pues como vimos antes pero veis que cambia el objetivo antes era sas dev e ahora é sas distribución segundo punto de mi publicación listo ok vamos al tercer paso concatenar archivos en este caso sólo nos vamos a necesitar concatenar archivos de tipo javascript porque estilos ya los decimos en el paso previo porque nos va interesar como dije antes concatenar archivos javascript para que só tena que transferir un archivo e no 15 o 20 archivos como lo realizo con un plugin de concatenación de ficheros vale lo instalo creo unha tarea que es concat con un objetivo concreto que es js vale e lo que le voy a decir mira vas a coger todo o que tengas el directoro src js con la extensión js es decir los archivos js dentro de este subdirectorio e los vas a copiar en ese mismo directorio al concatenar en el directorio build perdón al fichero buildjs excepto el propio buildjs porque xinón se estaría copiando asimismo de forma recursiva a medida que vamos ejecutando el comando vale entonces simplemente se tengo 15 archivos js los 15 me van a dar lugar va ser el buildjs ok como ejecutamos pues con el nombre de la tarea e o objetivo grun concat js tercer paso de nuestro de nuestra publicación del tema listo cuarto paso vamos a minificar este fichero criado previamente obviamente se lo medificamos se le quitamos comentarios se reducimos el nombre de las variables de las funciones e outros métodos que tenemos el archivo va a ocupar menos con o cual la transmisión va a ser más rápida vale pues para ello instalaremos un plugin de minificación que se llama que haremos unha tarea que se llama para o objetivo de distribución e basicamente o que le voy a decir es mira el fichero que tenemos en src que se llama buildjs lo vas a minificar e ya me lo vas a copiar directamente en distribución con o cual ya me queda copiado ok como ejecuto con el nombre de la tarea e el dos puntos e o nombre de objetivo grunt uglify dist cuarto paso de nuestra publicación listo quinto paso optimización de imágenes estamos hablando sempre de lo mismo de reducir tamaño de ficheros para que la transmisión sea más rápida pues en este caso grunt nos permite automatizar la optimización de imágenes la minificación con outro plugin grunt contra imagem veis que se llama minificación de imágenes e con una nova tarea e un novo objetivo que creamos en ese archivo grunt file js la tarea se va a llamar imagemin e con o ejecuto distribución e basicamente lo que le voy a indicar en este código va a ser que mira tomando como directorio base src e directorio destino distribución vas a coger todos ficheros con extensión png jpeg e guiz en cualquier directorio o subdirectorio los vas a minificar e copiar a este directorio destino por lo tanto va a realizar la minificación mantendo las rutas relativas al directorio de origen e directorio de destino ok para ejecutarlo pues lo mismo de antes grunt nombre da tarea nombre do objetivo así de sencillo quinto paso de nuestra publicación listo sólo nos queda o último paso que es la copia de los archivos hemos visto que en pasos previos hemos copiado el fichero css e el fichero js por tanto nos queda por copiar todo o resto los ficheros png los ficheros de idioma e los ficheros de licencia vale pues vamos a instalar un plugin para realizar esta copia de ficheros hay un plugin específico para copia grunt con trip copi e simplemente tenemos que crear outra nova tarea copi con objetivo de distribución la que le vamos a decir mira copia metodos los ficheros que tenen a extensión png en cualquier directorio o subdirectorio también los emeo de traducción el archivo de licencia que está na raiz e donde los copias en el directorio dist distribución en el destino ok e para ejecutarlo obviamente e lo ejecutaríamos como vimos hasta ahora grunt copi dist sexto paso listo ok hemos finalizado los seis pasos que tenemos para preparar este tema para distribución e ahora o que tenemos que hacer es ejecutar todo junto vale, lo que nos interesa es automatizar en el momento que diga vale, esto está listo para subplicación ejecuto una batería de elementos de automatización e eso ya me lo prepara para enviar a mé repositorio privado a mi entorno de perproducción o agorpes.org aonde eu quiera lo primero que podemos pensar es ejecutar una tarea tras outra es decir, decirle grunt primera tarea con su objetivo segúna, terceira, quarta, quinta es esta que pasa esto es propenso errores e tenemos que teclarlo cinco veces al dia la primera teclamos bien la segunda seguramente cometamos un error vale pues para evitar esto grunt nos permite definir tareas que invocan a un conjunto de tareas e en este caso lo que hago es registrar una tarea que le voy a llamar distribución donde invoco de forma secuencial a esas seis tareas vale con lo cual tendria que ejecutar grunt, distribución e el solo me haría la llamada a esas seis tareas una detrás de outra e a maiores puedo crear una tarea por defecto que en este caso lo que hice es el watcher de SAS la tarea más habitual que utilizáis en el front en el día a día de tal forma que quando ejecuto grunt va a ser la tarea que se ejecuta por defecto vale esa ok el tempo no nada para más para hacer más explicación de funcionalidades que pudo implementar automotriciones que pudo implementar con grunt pero otras muy interesantes son la recarga automática del navegador es ideal que tú estés trabajando con tu SAS tienes un watcher e ese watcher se encarga a hacer la transcompilación de SAS a CSS e a su vez su recarga del navegador para poder visualizar si lo que estás haciendo es correcto o non esto lo podemos hacer con grunt que más que os os podemos hacer con grunt podemos hacer un análise estático en el caso de temas o plugins de Warp de PHP e JavaScript porque es interesante pues básicamente un análise estático lo que nos va a hacer es comprobar se seguimos una serie de patrones o de guías de estilo de diseño es muy importante porque se trabajamos con outros compañeros para seguir todos unos mismos parámetros de diseño porque si no el desarrollo es también interesante la automatización de ejecución de test e esto lo podemos complicar hasta onde queramos por ejemplo podemos realizar la siguiente automatización en momento de realizar un commit con git sabes que tenen unos prehooks este prehook podia lanzar la automatización de los tests si esos tests no pasan se queda ahí si pasan se realiza el commit e listo vale podia ser un automatización muy interesante e que se ejecutaria simplemente al comitear al hacer el commit e ya para finalizar también es muy interesante el despliega automático a servidores e despliega automático como os realizais por git por sftp por scp por entornos un pouco máis complejos de desarrollo etc etc ok lo que se que me gustaria lunes, martes quando estéis en la oficina tengáis un rato es que os planteéis como todo eso que acabo de explicar os pode ayudar en busto día a día es decir hay tareas a que muy interesantes que se las pensáis un poco posiblemente os permitan ganar media hora al dia es interesante invertir 2, 3, 5 horas en ver como puedo automatizar todo esto porque posiblemente el retorno sea a muy corto plazo vale hasta aquí mi presentación quedo a vuesta disposición para las preguntas e tenéis de aquí las diapositivas por si queres echar un vistazo o el método de contacto conmigo non sé si es ahora vale perfecto bueno empezamos con el turno de preguntas vale hola hola por la presentación muy chula gracias yo llevo trabajando con Taskrunner bastante tiempo con con Taskrunner utilizaba Brunt hace tiempo passe a bull para con webpack e e me resulta un pouco me deja en tranquilo el tema de que cada Taskrunner se utilice unas versiones de pulp hay de Node u otras e quando empecé con Brunt es usada a 5-10 o group utiliza a 7 e ahora con webpack con webpack que estoy utilizando la 8 e tal entonces me dejo un pouco en tranquilo el tema e esas versiones se van a seguir soportando nos soportan e se van a desaparecer en algún momento e no voy a poder utilizar eso e estar a render en un futuro vale mira vamos ver Brunt en caso particular es un proyecto bastante estable es decir, hay plugins que acabo de explicar aquí que a lo mejor llevan dos años sin ningún commit porque la funcionaria detrás que es es muy acotada e tampo necesita unha evolución eu por exemplo trajo con máquinas virtuales con homestead una máquina que se utiliza para trabajar en Larabel e un framework de PHP esta máquina suele traer el último NPM e não tive ningún problema ao utilizar Brunt código de dos tres años pero não tive ningún problema para esto vale iba a poner un pouco os tiros, creo, verdad hola hola eu queria hacer unha pergunta sabiendo en el sitio onde estamos entiendo máso o menos todo o que é o sistema ese o é máso o menos cogido aí bastante obviamente as que os llevéis pinceladas para melhorar o seu dia-a-dia con este tipo de sistemas ou outros similares o código está aí para que podes copiar e atarlo agora por exemplo em meu caso eu utilizo windows utilizo WordPress segue WordPress a muchas veces eu cambiado por exemplo unha unha hoja de estilos pero isto teme que ver algo com o que eu algo normalmente de cambiarle o color o fondo da página web ou é mais alo bestia que o que deserdique modificar os plugins para que tenham un color específico todo o app te explico vamos ver isto te vale para automatizar es decir tu haces unha serie de trabajos en tu idea cada uno hacemos cosas distintas pues o que se trata es de automatizar unha dos casos máso importante de uso é a transcopilación es decir tu sí trabajas o que te permite modificas tu sas e te haces a transcopilación a CSS é decir tu por exemplo o exemplo que ponía antes que tengo en unha variable definido el color de fondo e o cliente me dice mira este blanco non me gusta póme lo gris cambio en unha variable ese color transcompilo e já me lo lleva a todos os sitios que eu pudo temer en la CSS é a ventaja unha das ventajas de sas e os trámenes te permiten automatizar esa transcopilación que tu não tengas a estar ejecutando o comando sino que cada vez que hai un cambio e un fichero sas esa transcopilación se ejecute de forma automática é o que se busca con eso vale pero dicho esto está pensado para automatizar a lo bestia todo tipo de tareas programáticas que tengas tu en tu dia a dia é decir estas son un pequeno nicho hai máis de 6.500 plugins en el repositor oficial con lo cual seguro que unha problemática que tengas tu a buscar e hai 3, 5 plugins que lo resuelven pero esto tendria su propio entorno de trabajo separar o meu Wordpress te explico funciona con una página web funciona por unha de comandos por a interzada de unha de comandos vale en Windows la podes ejecutar ejecutando cmd e a partir daí se tens instalado npm te debería funcionar sin máis problema así é sencillo podes instalar outras shells máis avanzadas para Windows como es la que trai Git trai un entorno tipo bash máis avanzado pero eso é para gustos pero teniendo interzada de unha de comandos que lo tiene qualquer sistema operativo e tenendo npm que en los tres sistemas operativos máis habituales lo tiene no basten ningún problema para poder llevarlo vale e aquí vimos un tarrán concreto porque obviamente hai que decidirse por unha pero el 95% están basados en Node então con ese con ese tipo de software te van a funcionar tanto webpack te van a funcionar todos porque se basan en lo mesmo hola é unha interesante me apareció especialmente fascinante la minificación de imágenes e quisiera preguntar se solo las complime ou también en el aspecto de tamaños finales en la página la recorta para que no tenga que hacer ese trabajo el navegador a la hora de enseñarlo e se no tienes alguna recomendación de task o ráner que lo haga ese caso concreto lo desconozco este plugin concreto lo que hace básicamente tu le podes indicar en los parámetros que en este ejemplo lo quise simplificar las veces que podes ejecutar algoritmos de optimización con lo cual va tardar más pero te va a optimizar más esa imagen para que pese menos e por detrás o que utilizan son diversos show wars que al hacer o npm install tu haces solo o npm install de un paquete pero por detrás te está instalando o software que va a utilizar para realizar esa optimización vale estoy seguro que hay algún plugin que te pueda hacer un redimensionado que es lo que buscas realmente es simplemente buscar en el repositorio e seguramente lo tengas que es un mucho gracias por acharla vale, pregunta la concatenación tanto de css como de javascript genera dos ficheros muy grandes que tal vez no utilizamos en su totalidad en la home page o en alguna página interna de nuestro sitio web creo que esta funcionalidad conoces o has hecho concatenaciones de ficheros para zonas específicas de warps que es decir uno para la home page uno para un single o uno para un page basicamente se te fijas quando hacemos o concat tu podes definir objetivos distintos entonces o que podes hacer es que un objetivo concreto que seria o backend por ejemplo hacer una concatenación de los ficheros que te interesan para backend outra para frontend con o mismo então con grund podres hacer con webpack o que utilizo habitualmente por utilizo un un tema que se llama la hora del mix que daña de un acapo por encima pero estoy seguro que se poda hacer lo mismo porque lo que defines son objetivos de trabajo entonces tu podes tener ese objetivo de backend de frontend era por un día a pregunta, ¿verdad? ok máis preguntas sí, aquí hay una bueno, primero gracias por la charla gracias e lo voy a continuar voy a añadir una extensión a una pregunta que te han hecho te mandas e imagines tú tienes pongamos un caso un e-commerce tienes una carpeta con 2 mil imagines harías un minimizado de todas as imagines cada vez que vas a subir a producción o jugarías dar unha maneira para utilizar solamente las novas tienes formas de cachearla con este tipo de plugins hay formas de cachear de tal forma que las que están minificadas non las vola a minificar porque creo sinón recordo mal te ejecuta el algoritmo hasta un máximo 240 veces y yo lo tengo probada con 240 veces e tarda en una única imagen entonces sí que le podeis decir mirá, las que ya están optimizadas que lo tengo en una cache local non las optimices otra vez vale, permítate a hacer eso vale, máis preguntas alguna mano por aí pregunta a la de 1, a la de 2 a la de 3 pues aí, muchísimas gracias Jesús un fuerte aplauso para él, por favor gracias gracias por salvarnos ahí estamos muy bien