Skip to content

jamerrq/advent-js-2023

Repository files navigation

🎄 Advent JS version 2023 🎄

Note

Si este repositorio consigue 16+ ⭐, estaré desarrollando una librería de npm para resolver los retos del AdventJS de manera local.

Soluciones bizarras a los retos del AdventJS 2023.

Alt text

El AdventJS es un evento iniciativa de @midudev. En él, durante 24 días del mes de diciembre se estarán publicando retos en la página oficial del evento:

Los retos se pueden resolver tanto en JavaScript como en Typescript. Para esta versión estaré usando TypeScript, en su versión 5.3.2.

🎅 Retos

Día Reto Dificultad 1 Solución Tests
01 🎁 ¡Primer regalo repetido! 🟢 TS SPEC
02 🏭 Ponemos en Marcha la fabrica 🟢 TS SPEC
03 😏 El elfo travieso 🟢 TS SPEC
04 😵‍💫 Dale vuelta a los parentesis 🟠 TS SPEC
05 🛷 El CyberTruck de Santa 🟠 TS SPEC
06 🦌 Los renos a prueba 🟢 TS SPEC
07 📦 Las cajas en 3d 🟢 TS SPEC
08 🏭 Ordenando el almacen 🟠 TS SPEC
09 🚦 Alterna las luces 🟢 TS SPEC
10 🎄 Crea tu árbol de navidad 🟢 TS SPEC
11 📖 Los elfos estudiosos 🟠 TS SPEC
12 📸 Es una copia válida? 🟠 TS SPEC
13 ⌚ Calculando el tiempo 🟢 TS SPEC
14 🚨 Evita la alarma 🟠 TS SPEC
15 ↔️ Robot autónomo 🟠 TS SPEC
16 ❌ Viernes de deploy 🟢 TS SPEC
17 🛷 Optimizando el alquiler 🟢 TS SPEC
18 🔢 El reloj digital 🔴 TS SPEC
19 💣 Enfrenta el sabotage 🟠 TS SPEC
20 🏋️ Distribuye el peso 🔴 TS SPEC
21 🪐 Mensaje Binario 🟠 TS SPEC
22 🚂 Lenguaje de programación 🟢 TS SPEC
23 🍽️ Cena de navidad 🟢 TS SPEC
24 🪜 Salta en las escaleras 🟠 TS SPEC
25 🗺️ Calculando Distancias 🟠 TS SPEC

🛠️ Herramientas utilizadas

Categoría Herramientas
Desarrollo Pnpm EsLint
Tests Vitest
CI/CD Github Actions
Lenguajes TypeScript Bash
Otros Markdown Node.js

🧪 Tests

Para ejecutar los tests de los retos, se debe ejecutar el siguiente comando:

pnpm test-all

Alt text

Test individuales 🔬

Para ejecutar un reto en particular, se debe ejecutar el siguiente comando:

pnpm t $N

Donde $N es el número del reto. Alt text

🚀 CI/CD

pnpm ci - eslint - tests

©️ Copyrigth

© 2023 jamerrq

Footnotes

  1. Dificultad: 🟢 Facil 🟠 Media 🔴 Dificil