From 33036ac99fe5fb4620e42c65a1dd11b6a7428a52 Mon Sep 17 00:00:00 2001 From: blasferna Date: Wed, 26 Jul 2023 19:18:47 -0400 Subject: [PATCH 01/18] feat: check folder structure on pull request --- .github/workflows/check_folder_structure.yml | 44 ++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/check_folder_structure.yml diff --git a/.github/workflows/check_folder_structure.yml b/.github/workflows/check_folder_structure.yml new file mode 100644 index 000000000..5509bea5c --- /dev/null +++ b/.github/workflows/check_folder_structure.yml @@ -0,0 +1,44 @@ +name: Check Folder Structure + +on: + pull_request: + types: opened + +jobs: + check-folder-structure: + runs-on: ubuntu-latest + outputs: + comment: ${{ steps.check.outputs.comment }} + steps: + - uses: actions/checkout@v2 + - name: Get changed files + id: changed_files + uses: tj-actions/changed-files@v37.5.0 + - name: Check if folder structure is correct + id: check + run: | + PR_USERNAME=$(echo "${{ github.event.pull_request.user.login }}") + FILES="${{ steps.changed_files.outputs.all_modified_files }}" + IFS=' ' read -r -a FILES_ARR <<< "$FILES" + + for FILE in "${FILES_ARR[@]}"; do + TEST_FOLDER=$(echo ${FILE} | cut -d'/' -f2) + if [[ ${FILE} != pruebas/${TEST_FOLDER}/${PR_USERNAME}/* ]]; then + echo "Incorrect folder structure in file: ${FILE}. Requesting changes." + echo "Asegúrese de que los cambios se realicen en 'pruebas/${TEST_FOLDER}/${PR_USERNAME}/'. :file_folder:" > message.txt + echo "::set-output name=comment::$(cat message.txt)" + break + fi + done + - name: Comment PR + if: steps.check.outputs.comment != '' + uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: "${{ steps.check.outputs.comment }}" + }) From d8e30c11bb8681bab84bfbeb68ed0d3fe99ff8ea Mon Sep 17 00:00:00 2001 From: blasferna Date: Wed, 26 Jul 2023 19:43:13 -0400 Subject: [PATCH 02/18] feat: Check only folders under pruebas/* --- .github/workflows/check_folder_structure.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/check_folder_structure.yml b/.github/workflows/check_folder_structure.yml index 5509bea5c..d570f5f1d 100644 --- a/.github/workflows/check_folder_structure.yml +++ b/.github/workflows/check_folder_structure.yml @@ -22,12 +22,14 @@ jobs: IFS=' ' read -r -a FILES_ARR <<< "$FILES" for FILE in "${FILES_ARR[@]}"; do - TEST_FOLDER=$(echo ${FILE} | cut -d'/' -f2) - if [[ ${FILE} != pruebas/${TEST_FOLDER}/${PR_USERNAME}/* ]]; then - echo "Incorrect folder structure in file: ${FILE}. Requesting changes." - echo "Asegúrese de que los cambios se realicen en 'pruebas/${TEST_FOLDER}/${PR_USERNAME}/'. :file_folder:" > message.txt - echo "::set-output name=comment::$(cat message.txt)" - break + if [[ ${FILE} == pruebas/* ]]; then + TEST_FOLDER=$(echo ${FILE} | cut -d'/' -f2) + if [[ ${FILE} != pruebas/${TEST_FOLDER}/${PR_USERNAME}/* ]]; then + echo "Incorrect folder structure in file: ${FILE}. Requesting changes." + echo "Asegúrese de que los cambios se realicen en 'pruebas/${TEST_FOLDER}/${PR_USERNAME}/'. :file_folder:" > message.txt + echo "::set-output name=comment::$(cat message.txt)" + break + fi fi done - name: Comment PR From 4ef7980d137920647a16e1cde503ba926b57cebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 28 Aug 2023 15:23:20 +0200 Subject: [PATCH 03/18] Add new prueba tecnica --- pruebas/02-bazar-universal/README.md | 84 ++++ pruebas/02-bazar-universal/products.json | 559 +++++++++++++++++++++++ 2 files changed, 643 insertions(+) create mode 100644 pruebas/02-bazar-universal/README.md create mode 100644 pruebas/02-bazar-universal/products.json diff --git a/pruebas/02-bazar-universal/README.md b/pruebas/02-bazar-universal/README.md new file mode 100644 index 000000000..49312b9de --- /dev/null +++ b/pruebas/02-bazar-universal/README.md @@ -0,0 +1,84 @@ +# 02 - Desarrollo Full Stack de Bazar + +Debes crear una aplicación que consta de **3 componentes principales**: + +- Una caja de búsqueda +- La lista de resultados +- Descripción del detalle del producto + +La aplicación debe constar de servidor y cliente. El servidor debe exponer un API RESTful y el cliente consumirlo. + +- [¿Cómo puedo participar?](https://github.com/midudev/pruebas-tecnicas#c%C3%B3mo-participar) + +- Basada en la prueba real usada en **Mercado Libre.** + +## Contexto + +Somos un bazar con todo tipo de productos. Queremos crear nuestra app web. Por ahora **nuestro mercado va a ser el móvil**. + +Esta primera versión los usuarios podrán buscar el nombre del producto, le mostraremos una lista de productos y podrán hacer clic en cada uno para ver el detalle. + +Ten en cuenta: +- No sabemos si el framework que utilicemos ahora será el definitivo, pero querremos reutilizar el máximo de código posible. + +- La aplicación debe ser fácil de usar y **agradable a la vista**. No importa si copias el diseño o usas un catálogo de componentes. + +- **Es MUY importante el SEO de la aplicación**. Así que el robot de Google debe poder ver bien nuestra página, navegarla sin problemas y el rendimiento debe ser el adecuado. + +- Queremos también que los usuarios puedan compartir los productos en redes sociales. + +## Requisitos + +### Funcionalidad + +1. **Crea las 3 páginas**: Inicio con caja de búsqueda, resultados de búsqueda y detalle. + +2. **Las rutas de las páginas serán**: + - Home con caja de búsqueda + - Ruta: `/` + - Descripción: Simplemente muestra una caja de búsqueda para poder hacer la búsqueda de productos. Al realizar la búsqueda navegar a la vista de Resultados de búsqueda. + + - Resultados de búsqueda: + - Ruta: `/items?search=`, por ejemplo: `/items/?search=laptop` + - Descripción: Muestra justo debajo de la caja de búsqueda, el número de resultados y también los resultados que muestra para cada categoría. En cada tarjeta de los resultados muestra: título, descripción, precio, categoría, imagen y puntuación. + + - Detalle de producto: "/items/:id" + - Ruta: `/items/:id` + - Descripción: Muestra la descripción completa del producto, incluyendo todos los detalles que tengas: precio, descripción, marca, stock, categoría, etc. Muestra todas las imágenes. También un botón para poder realizar la compra (aunque no funcione) + +3. **API**: Debes crear dos endpoints, debes basarte en el contenido del archivo `products.json` que tienes en este repositorio pero no tienes por qué seguir ese esquema. Los endpoints a crear son: + - `/api/items?q=:query` donde `:query` es la búsqueda que hace el usuario. Debe devolver un JSON con los datos a mostrar en la lista de items. + - `/api/items/:id`, donde `:id` es el id del producto seleccionado. Debe devolver un JSON con los datos del item seleccionado. + +4. **Despliegue**: La aplicación debe estar desplegada en algún servicio de hosting gratuito (Netlify, Vercel, Firebase, etc) y debe ser accesible a través de una URL pública. **Indica la URL al hacer la Pull Request.** + +5. **Test**: La aplicación debe tener AL MENOS un test. Haz el test que consideres más importante para tu aplicación. + +## Consejos sobre el código + +1. **Estructura del código**: El código debe estar bien organizado y fácil de leer. + +2. **Semántica HTML**: El HTML debe ser semántico y accesible. + +3. **Pensando en equipo**: Prepara tu proyecto pensando que cualquier persona de tu equipo puede tener que trabajar en él en el futuro. (scripts en el package.json, mínima documentación en el README, comentarios en el código si es necesario, etc) + +4. **Formatea tu código**: Asegúrate de que tu código está formateado de forma consistente. Puedes usar Prettier o cualquier otra herramienta que te guste. + +5. **Preparado para producción**: Asegúrate de que tu aplicación está lista para producción. Minimiza el código, optimiza las imágenes, etc. + +## Desafíos adicionales + +**¿Quieres ir más allá?** Estos son algunos desafíos adicionales que puedes intentar: + +- Implementa la funcionalidad de carrito de la compra. +- Haz que el diseño sea responsive. +- Integra la paginación tanto en la API como en la web. + +## Entrevista + +Si pasas a la siguiente fase, te pediremos que hagas una entrevista con nosotros. Durante la entrevista, te pediremos que expliques tu código y que hagas algunos cambios en el mismo. + +- Nos tendrás que explicar el código que has escrito y las decisiones que has tomado. +- Haremos cambios en el JSON y tendrás que adaptar el código en vivo. + +Buena suerte y ¡diviértete programando! \ No newline at end of file diff --git a/pruebas/02-bazar-universal/products.json b/pruebas/02-bazar-universal/products.json new file mode 100644 index 000000000..377771f75 --- /dev/null +++ b/pruebas/02-bazar-universal/products.json @@ -0,0 +1,559 @@ +{ + "products":[ + { + "id":1, + "title":"iPhone 9", + "description":"An apple mobile which is nothing like apple", + "price":549, + "discountPercentage":12.96, + "rating":4.69, + "stock":94, + "brand":"Apple", + "category":"smartphones", + "thumbnail":"https://i.dummyjson.com/data/products/1/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/1/1.jpg", + "https://i.dummyjson.com/data/products/1/2.jpg", + "https://i.dummyjson.com/data/products/1/3.jpg", + "https://i.dummyjson.com/data/products/1/4.jpg", + "https://i.dummyjson.com/data/products/1/thumbnail.jpg" + ] + }, + { + "id":2, + "title":"iPhone X", + "description":"SIM-Free, Model A19211 6.5-inch Super Retina HD display with OLED technology A12 Bionic chip with ...", + "price":899, + "discountPercentage":17.94, + "rating":4.44, + "stock":34, + "brand":"Apple", + "category":"smartphones", + "thumbnail":"https://i.dummyjson.com/data/products/2/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/2/1.jpg", + "https://i.dummyjson.com/data/products/2/2.jpg", + "https://i.dummyjson.com/data/products/2/3.jpg", + "https://i.dummyjson.com/data/products/2/thumbnail.jpg" + ] + }, + { + "id":3, + "title":"Samsung Universe 9", + "description":"Samsung's new variant which goes beyond Galaxy to the Universe", + "price":1249, + "discountPercentage":15.46, + "rating":4.09, + "stock":36, + "brand":"Samsung", + "category":"smartphones", + "thumbnail":"https://i.dummyjson.com/data/products/3/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/3/1.jpg" + ] + }, + { + "id":4, + "title":"OPPOF19", + "description":"OPPO F19 is officially announced on April 2021.", + "price":280, + "discountPercentage":17.91, + "rating":4.3, + "stock":123, + "brand":"OPPO", + "category":"smartphones", + "thumbnail":"https://i.dummyjson.com/data/products/4/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/4/1.jpg", + "https://i.dummyjson.com/data/products/4/2.jpg", + "https://i.dummyjson.com/data/products/4/3.jpg", + "https://i.dummyjson.com/data/products/4/4.jpg", + "https://i.dummyjson.com/data/products/4/thumbnail.jpg" + ] + }, + { + "id":5, + "title":"Huawei P30", + "description":"Huawei’s re-badged P30 Pro New Edition was officially unveiled yesterday in Germany and now the device has made its way to the UK.", + "price":499, + "discountPercentage":10.58, + "rating":4.09, + "stock":32, + "brand":"Huawei", + "category":"smartphones", + "thumbnail":"https://i.dummyjson.com/data/products/5/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/5/1.jpg", + "https://i.dummyjson.com/data/products/5/2.jpg", + "https://i.dummyjson.com/data/products/5/3.jpg" + ] + }, + { + "id":6, + "title":"MacBook Pro", + "description":"MacBook Pro 2021 with mini-LED display may launch between September, November", + "price":1749, + "discountPercentage":11.02, + "rating":4.57, + "stock":83, + "brand":"Apple", + "category":"laptops", + "thumbnail":"https://i.dummyjson.com/data/products/6/thumbnail.png", + "images":[ + "https://i.dummyjson.com/data/products/6/1.png", + "https://i.dummyjson.com/data/products/6/2.jpg", + "https://i.dummyjson.com/data/products/6/3.png", + "https://i.dummyjson.com/data/products/6/4.jpg" + ] + }, + { + "id":7, + "title":"Samsung Galaxy Book", + "description":"Samsung Galaxy Book S (2020) Laptop With Intel Lakefield Chip, 8GB of RAM Launched", + "price":1499, + "discountPercentage":4.15, + "rating":4.25, + "stock":50, + "brand":"Samsung", + "category":"laptops", + "thumbnail":"https://i.dummyjson.com/data/products/7/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/7/1.jpg", + "https://i.dummyjson.com/data/products/7/2.jpg", + "https://i.dummyjson.com/data/products/7/3.jpg", + "https://i.dummyjson.com/data/products/7/thumbnail.jpg" + ] + }, + { + "id":8, + "title":"Microsoft Surface Laptop 4", + "description":"Style and speed. Stand out on HD video calls backed by Studio Mics. Capture ideas on the vibrant touchscreen.", + "price":1499, + "discountPercentage":10.23, + "rating":4.43, + "stock":68, + "brand":"Microsoft Surface", + "category":"laptops", + "thumbnail":"https://i.dummyjson.com/data/products/8/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/8/1.jpg", + "https://i.dummyjson.com/data/products/8/2.jpg", + "https://i.dummyjson.com/data/products/8/3.jpg", + "https://i.dummyjson.com/data/products/8/4.jpg", + "https://i.dummyjson.com/data/products/8/thumbnail.jpg" + ] + }, + { + "id":9, + "title":"Infinix INBOOK", + "description":"Infinix Inbook X1 Ci3 10th 8GB 256GB 14 Win10 Grey – 1 Year Warranty", + "price":1099, + "discountPercentage":11.83, + "rating":4.54, + "stock":96, + "brand":"Infinix", + "category":"laptops", + "thumbnail":"https://i.dummyjson.com/data/products/9/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/9/1.jpg", + "https://i.dummyjson.com/data/products/9/2.png", + "https://i.dummyjson.com/data/products/9/3.png", + "https://i.dummyjson.com/data/products/9/4.jpg", + "https://i.dummyjson.com/data/products/9/thumbnail.jpg" + ] + }, + { + "id":10, + "title":"HP Pavilion 15-DK1056WM", + "description":"HP Pavilion 15-DK1056WM Gaming Laptop 10th Gen Core i5, 8GB, 256GB SSD, GTX 1650 4GB, Windows 10", + "price":1099, + "discountPercentage":6.18, + "rating":4.43, + "stock":89, + "brand":"HP Pavilion", + "category":"laptops", + "thumbnail":"https://i.dummyjson.com/data/products/10/thumbnail.jpeg", + "images":[ + "https://i.dummyjson.com/data/products/10/1.jpg", + "https://i.dummyjson.com/data/products/10/2.jpg", + "https://i.dummyjson.com/data/products/10/3.jpg", + "https://i.dummyjson.com/data/products/10/thumbnail.jpeg" + ] + }, + { + "id":11, + "title":"perfume Oil", + "description":"Mega Discount, Impression of Acqua Di Gio by GiorgioArmani concentrated attar perfume Oil", + "price":13, + "discountPercentage":8.4, + "rating":4.26, + "stock":65, + "brand":"Impression of Acqua Di Gio", + "category":"fragrances", + "thumbnail":"https://i.dummyjson.com/data/products/11/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/11/1.jpg", + "https://i.dummyjson.com/data/products/11/2.jpg", + "https://i.dummyjson.com/data/products/11/3.jpg", + "https://i.dummyjson.com/data/products/11/thumbnail.jpg" + ] + }, + { + "id":12, + "title":"Brown Perfume", + "description":"Royal_Mirage Sport Brown Perfume for Men & Women - 120ml", + "price":40, + "discountPercentage":15.66, + "rating":4, + "stock":52, + "brand":"Royal_Mirage", + "category":"fragrances", + "thumbnail":"https://i.dummyjson.com/data/products/12/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/12/1.jpg", + "https://i.dummyjson.com/data/products/12/2.jpg", + "https://i.dummyjson.com/data/products/12/3.png", + "https://i.dummyjson.com/data/products/12/4.jpg", + "https://i.dummyjson.com/data/products/12/thumbnail.jpg" + ] + }, + { + "id":13, + "title":"Fog Scent Xpressio Perfume", + "description":"Product details of Best Fog Scent Xpressio Perfume 100ml For Men cool long lasting perfumes for Men", + "price":13, + "discountPercentage":8.14, + "rating":4.59, + "stock":61, + "brand":"Fog Scent Xpressio", + "category":"fragrances", + "thumbnail":"https://i.dummyjson.com/data/products/13/thumbnail.webp", + "images":[ + "https://i.dummyjson.com/data/products/13/1.jpg", + "https://i.dummyjson.com/data/products/13/2.png", + "https://i.dummyjson.com/data/products/13/3.jpg", + "https://i.dummyjson.com/data/products/13/4.jpg", + "https://i.dummyjson.com/data/products/13/thumbnail.webp" + ] + }, + { + "id":14, + "title":"Non-Alcoholic Concentrated Perfume Oil", + "description":"Original Al Munakh® by Mahal Al Musk | Our Impression of Climate | 6ml Non-Alcoholic Concentrated Perfume Oil", + "price":120, + "discountPercentage":15.6, + "rating":4.21, + "stock":114, + "brand":"Al Munakh", + "category":"fragrances", + "thumbnail":"https://i.dummyjson.com/data/products/14/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/14/1.jpg", + "https://i.dummyjson.com/data/products/14/2.jpg", + "https://i.dummyjson.com/data/products/14/3.jpg", + "https://i.dummyjson.com/data/products/14/thumbnail.jpg" + ] + }, + { + "id":15, + "title":"Eau De Perfume Spray", + "description":"Genuine Al-Rehab spray perfume from UAE/Saudi Arabia/Yemen High Quality", + "price":30, + "discountPercentage":10.99, + "rating":4.7, + "stock":105, + "brand":"Lord - Al-Rehab", + "category":"fragrances", + "thumbnail":"https://i.dummyjson.com/data/products/15/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/15/1.jpg", + "https://i.dummyjson.com/data/products/15/2.jpg", + "https://i.dummyjson.com/data/products/15/3.jpg", + "https://i.dummyjson.com/data/products/15/4.jpg", + "https://i.dummyjson.com/data/products/15/thumbnail.jpg" + ] + }, + { + "id":16, + "title":"Hyaluronic Acid Serum", + "description":"L'Oréal Paris introduces Hyaluron Expert Replumping Serum formulated with 1.5% Hyaluronic Acid", + "price":19, + "discountPercentage":13.31, + "rating":4.83, + "stock":110, + "brand":"L'Oreal Paris", + "category":"skincare", + "thumbnail":"https://i.dummyjson.com/data/products/16/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/16/1.png", + "https://i.dummyjson.com/data/products/16/2.webp", + "https://i.dummyjson.com/data/products/16/3.jpg", + "https://i.dummyjson.com/data/products/16/4.jpg", + "https://i.dummyjson.com/data/products/16/thumbnail.jpg" + ] + }, + { + "id":17, + "title":"Tree Oil 30ml", + "description":"Tea tree oil contains a number of compounds, including terpinen-4-ol, that have been shown to kill certain bacteria,", + "price":12, + "discountPercentage":4.09, + "rating":4.52, + "stock":78, + "brand":"Hemani Tea", + "category":"skincare", + "thumbnail":"https://i.dummyjson.com/data/products/17/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/17/1.jpg", + "https://i.dummyjson.com/data/products/17/2.jpg", + "https://i.dummyjson.com/data/products/17/3.jpg", + "https://i.dummyjson.com/data/products/17/thumbnail.jpg" + ] + }, + { + "id":18, + "title":"Oil Free Moisturizer 100ml", + "description":"Dermive Oil Free Moisturizer with SPF 20 is specifically formulated with ceramides, hyaluronic acid & sunscreen.", + "price":40, + "discountPercentage":13.1, + "rating":4.56, + "stock":88, + "brand":"Dermive", + "category":"skincare", + "thumbnail":"https://i.dummyjson.com/data/products/18/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/18/1.jpg", + "https://i.dummyjson.com/data/products/18/2.jpg", + "https://i.dummyjson.com/data/products/18/3.jpg", + "https://i.dummyjson.com/data/products/18/4.jpg", + "https://i.dummyjson.com/data/products/18/thumbnail.jpg" + ] + }, + { + "id":19, + "title":"Skin Beauty Serum.", + "description":"Product name: rorec collagen hyaluronic acid white face serum riceNet weight: 15 m", + "price":46, + "discountPercentage":10.68, + "rating":4.42, + "stock":54, + "brand":"ROREC White Rice", + "category":"skincare", + "thumbnail":"https://i.dummyjson.com/data/products/19/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/19/1.jpg", + "https://i.dummyjson.com/data/products/19/2.jpg", + "https://i.dummyjson.com/data/products/19/3.png", + "https://i.dummyjson.com/data/products/19/thumbnail.jpg" + ] + }, + { + "id":20, + "title":"Freckle Treatment Cream- 15gm", + "description":"Fair & Clear is Pakistan's only pure Freckle cream which helpsfade Freckles, Darkspots and pigments. Mercury level is 0%, so there are no side effects.", + "price":70, + "discountPercentage":16.99, + "rating":4.06, + "stock":140, + "brand":"Fair & Clear", + "category":"skincare", + "thumbnail":"https://i.dummyjson.com/data/products/20/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/20/1.jpg", + "https://i.dummyjson.com/data/products/20/2.jpg", + "https://i.dummyjson.com/data/products/20/3.jpg", + "https://i.dummyjson.com/data/products/20/4.jpg", + "https://i.dummyjson.com/data/products/20/thumbnail.jpg" + ] + }, + { + "id":21, + "title":"- Daal Masoor 500 grams", + "description":"Fine quality Branded Product Keep in a cool and dry place", + "price":20, + "discountPercentage":4.81, + "rating":4.44, + "stock":133, + "brand":"Saaf & Khaas", + "category":"groceries", + "thumbnail":"https://i.dummyjson.com/data/products/21/thumbnail.png", + "images":[ + "https://i.dummyjson.com/data/products/21/1.png", + "https://i.dummyjson.com/data/products/21/2.jpg", + "https://i.dummyjson.com/data/products/21/3.jpg" + ] + }, + { + "id":22, + "title":"Elbow Macaroni - 400 gm", + "description":"Product details of Bake Parlor Big Elbow Macaroni - 400 gm", + "price":14, + "discountPercentage":15.58, + "rating":4.57, + "stock":146, + "brand":"Bake Parlor Big", + "category":"groceries", + "thumbnail":"https://i.dummyjson.com/data/products/22/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/22/1.jpg", + "https://i.dummyjson.com/data/products/22/2.jpg", + "https://i.dummyjson.com/data/products/22/3.jpg" + ] + }, + { + "id":23, + "title":"Orange Essence Food Flavou", + "description":"Specifications of Orange Essence Food Flavour For Cakes and Baking Food Item", + "price":14, + "discountPercentage":8.04, + "rating":4.85, + "stock":26, + "brand":"Baking Food Items", + "category":"groceries", + "thumbnail":"https://i.dummyjson.com/data/products/23/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/23/1.jpg", + "https://i.dummyjson.com/data/products/23/2.jpg", + "https://i.dummyjson.com/data/products/23/3.jpg", + "https://i.dummyjson.com/data/products/23/4.jpg", + "https://i.dummyjson.com/data/products/23/thumbnail.jpg" + ] + }, + { + "id":24, + "title":"cereals muesli fruit nuts", + "description":"original fauji cereal muesli 250gm box pack original fauji cereals muesli fruit nuts flakes breakfast cereal break fast faujicereals cerels cerel foji fouji", + "price":46, + "discountPercentage":16.8, + "rating":4.94, + "stock":113, + "brand":"fauji", + "category":"groceries", + "thumbnail":"https://i.dummyjson.com/data/products/24/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/24/1.jpg", + "https://i.dummyjson.com/data/products/24/2.jpg", + "https://i.dummyjson.com/data/products/24/3.jpg", + "https://i.dummyjson.com/data/products/24/4.jpg", + "https://i.dummyjson.com/data/products/24/thumbnail.jpg" + ] + }, + { + "id":25, + "title":"Gulab Powder 50 Gram", + "description":"Dry Rose Flower Powder Gulab Powder 50 Gram • Treats Wounds", + "price":70, + "discountPercentage":13.58, + "rating":4.87, + "stock":47, + "brand":"Dry Rose", + "category":"groceries", + "thumbnail":"https://i.dummyjson.com/data/products/25/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/25/1.png", + "https://i.dummyjson.com/data/products/25/2.jpg", + "https://i.dummyjson.com/data/products/25/3.png", + "https://i.dummyjson.com/data/products/25/4.jpg", + "https://i.dummyjson.com/data/products/25/thumbnail.jpg" + ] + }, + { + "id":26, + "title":"Plant Hanger For Home", + "description":"Boho Decor Plant Hanger For Home Wall Decoration Macrame Wall Hanging Shelf", + "price":41, + "discountPercentage":17.86, + "rating":4.08, + "stock":131, + "brand":"Boho Decor", + "category":"home-decoration", + "thumbnail":"https://i.dummyjson.com/data/products/26/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/26/1.jpg", + "https://i.dummyjson.com/data/products/26/2.jpg", + "https://i.dummyjson.com/data/products/26/3.jpg", + "https://i.dummyjson.com/data/products/26/4.jpg", + "https://i.dummyjson.com/data/products/26/5.jpg", + "https://i.dummyjson.com/data/products/26/thumbnail.jpg" + ] + }, + { + "id":27, + "title":"Flying Wooden Bird", + "description":"Package Include 6 Birds with Adhesive Tape Shape: 3D Shaped Wooden Birds Material: Wooden MDF, Laminated 3.5mm", + "price":51, + "discountPercentage":15.58, + "rating":4.41, + "stock":17, + "brand":"Flying Wooden", + "category":"home-decoration", + "thumbnail":"https://i.dummyjson.com/data/products/27/thumbnail.webp", + "images":[ + "https://i.dummyjson.com/data/products/27/1.jpg", + "https://i.dummyjson.com/data/products/27/2.jpg", + "https://i.dummyjson.com/data/products/27/3.jpg", + "https://i.dummyjson.com/data/products/27/4.jpg", + "https://i.dummyjson.com/data/products/27/thumbnail.webp" + ] + }, + { + "id":28, + "title":"3D Embellishment Art Lamp", + "description":"3D led lamp sticker Wall sticker 3d wall art light on/off button cell operated (included)", + "price":20, + "discountPercentage":16.49, + "rating":4.82, + "stock":54, + "brand":"LED Lights", + "category":"home-decoration", + "thumbnail":"https://i.dummyjson.com/data/products/28/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/28/1.jpg", + "https://i.dummyjson.com/data/products/28/2.jpg", + "https://i.dummyjson.com/data/products/28/3.png", + "https://i.dummyjson.com/data/products/28/4.jpg", + "https://i.dummyjson.com/data/products/28/thumbnail.jpg" + ] + }, + { + "id":29, + "title":"Handcraft Chinese style", + "description":"Handcraft Chinese style art luxury palace hotel villa mansion home decor ceramic vase with brass fruit plate", + "price":60, + "discountPercentage":15.34, + "rating":4.44, + "stock":7, + "brand":"luxury palace", + "category":"home-decoration", + "thumbnail":"https://i.dummyjson.com/data/products/29/thumbnail.webp", + "images":[ + "https://i.dummyjson.com/data/products/29/1.jpg", + "https://i.dummyjson.com/data/products/29/2.jpg", + "https://i.dummyjson.com/data/products/29/3.webp", + "https://i.dummyjson.com/data/products/29/4.webp", + "https://i.dummyjson.com/data/products/29/thumbnail.webp" + ] + }, + { + "id":30, + "title":"Key Holder", + "description":"Attractive DesignMetallic materialFour key hooksReliable & DurablePremium Quality", + "price":30, + "discountPercentage":2.92, + "rating":4.92, + "stock":54, + "brand":"Golden", + "category":"home-decoration", + "thumbnail":"https://i.dummyjson.com/data/products/30/thumbnail.jpg", + "images":[ + "https://i.dummyjson.com/data/products/30/1.jpg", + "https://i.dummyjson.com/data/products/30/2.jpg", + "https://i.dummyjson.com/data/products/30/3.jpg", + "https://i.dummyjson.com/data/products/30/thumbnail.jpg" + ] + } + ], + "total":100, + "skip":0, + "limit":30 +} \ No newline at end of file From c8b519941fd42126f26b3db977fa7ad5d39e0208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 28 Aug 2023 09:59:37 -0400 Subject: [PATCH 04/18] Update README.md --- pruebas/02-bazar-universal/README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pruebas/02-bazar-universal/README.md b/pruebas/02-bazar-universal/README.md index 49312b9de..b52e7bda4 100644 --- a/pruebas/02-bazar-universal/README.md +++ b/pruebas/02-bazar-universal/README.md @@ -1,5 +1,11 @@ # 02 - Desarrollo Full Stack de Bazar + +Info: +- [¿Cómo puedo participar?](https://github.com/midudev/pruebas-tecnicas#c%C3%B3mo-participar) +- Basada en la prueba real usada en **Mercado Libre.** + + Debes crear una aplicación que consta de **3 componentes principales**: - Una caja de búsqueda @@ -8,10 +14,6 @@ Debes crear una aplicación que consta de **3 componentes principales**: La aplicación debe constar de servidor y cliente. El servidor debe exponer un API RESTful y el cliente consumirlo. -- [¿Cómo puedo participar?](https://github.com/midudev/pruebas-tecnicas#c%C3%B3mo-participar) - -- Basada en la prueba real usada en **Mercado Libre.** - ## Contexto Somos un bazar con todo tipo de productos. Queremos crear nuestra app web. Por ahora **nuestro mercado va a ser el móvil**. @@ -81,4 +83,4 @@ Si pasas a la siguiente fase, te pediremos que hagas una entrevista con nosotros - Nos tendrás que explicar el código que has escrito y las decisiones que has tomado. - Haremos cambios en el JSON y tendrás que adaptar el código en vivo. -Buena suerte y ¡diviértete programando! \ No newline at end of file +Buena suerte y ¡diviértete programando! From 1ca72915ba7dd6d5704d52bbd824442086a90542 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 28 Aug 2023 10:00:07 -0400 Subject: [PATCH 05/18] Update README.md --- pruebas/02-bazar-universal/README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pruebas/02-bazar-universal/README.md b/pruebas/02-bazar-universal/README.md index b52e7bda4..eeef16b22 100644 --- a/pruebas/02-bazar-universal/README.md +++ b/pruebas/02-bazar-universal/README.md @@ -1,11 +1,15 @@ # 02 - Desarrollo Full Stack de Bazar -Info: + + Info: - [¿Cómo puedo participar?](https://github.com/midudev/pruebas-tecnicas#c%C3%B3mo-participar) - Basada en la prueba real usada en **Mercado Libre.** + +![Bazar Online](https://github.com/midudev/pruebas-tecnicas/assets/1561955/d5f5872c-246d-464e-b09a-1278ab5bfbb3) + Debes crear una aplicación que consta de **3 componentes principales**: - Una caja de búsqueda From 9d00e996e7fa8e5fb905bdcb7309b16a30079033 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:02:07 +0200 Subject: [PATCH 06/18] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 939d80756..f0a49ff42 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ Pruebas técnicas de programación para desarrolladores frontend y backend. ## Lista de pruebas técnicas - [01 - Reading List (FrontEnd - Nivel: Junior)](./pruebas/01-reading-list/README.md) - +- [02 - Bazar Universal (FrontEnd - Nivel: Junior)](./pruebas/02-bazar-universal/README.md) +- ## ¿Cómo participar? 1. Haz un fork de este repositorio From a2838618f5d50efb49d6f5240443cbcca5e80928 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:02:16 +0200 Subject: [PATCH 07/18] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f0a49ff42..1d44b116b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Pruebas técnicas de programación para desarrolladores frontend y backend. - [01 - Reading List (FrontEnd - Nivel: Junior)](./pruebas/01-reading-list/README.md) - [02 - Bazar Universal (FrontEnd - Nivel: Junior)](./pruebas/02-bazar-universal/README.md) -- + ## ¿Cómo participar? 1. Haz un fork de este repositorio From b98f21124984c41820b762275c722bc4a761debc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:03:23 +0200 Subject: [PATCH 08/18] Add correct labels --- .github/labeler.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/labeler.yml b/.github/labeler.yml index 977c0e360..c38c13607 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -4,6 +4,9 @@ 'prueba-1': - pruebas/01-reading-list/** +'prueba-2': +- pruebas/02-bazar-universal/** + 'web': - web/** From 701b5e437b4fd10323e0e0281ae4d5efd39b0b27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:06:26 +0200 Subject: [PATCH 09/18] Remove date --- web/src/components/Badge.astro | 1 - 1 file changed, 1 deletion(-) diff --git a/web/src/components/Badge.astro b/web/src/components/Badge.astro index b660bb29d..dc14c1d8b 100644 --- a/web/src/components/Badge.astro +++ b/web/src/components/Badge.astro @@ -12,5 +12,4 @@ d="M10 0a10 10 0 1 0 10 10A10.011 10.011 0 0 0 10 0Zm3.982 13.982a1 1 0 0 1-1.414 0l-3.274-3.274A1.012 1.012 0 0 1 9 10V6a1 1 0 0 1 2 0v3.586l2.982 2.982a1 1 0 0 1 0 1.414Z" > - ¡Abierto hasta el 27 de julio! From 42d12c5de9584e71aae402544419fff1b3ef9902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:06:38 +0200 Subject: [PATCH 10/18] Add comment --- web/src/components/Badge.astro | 1 + 1 file changed, 1 insertion(+) diff --git a/web/src/components/Badge.astro b/web/src/components/Badge.astro index dc14c1d8b..afdf02232 100644 --- a/web/src/components/Badge.astro +++ b/web/src/components/Badge.astro @@ -12,4 +12,5 @@ d="M10 0a10 10 0 1 0 10 10A10.011 10.011 0 0 0 10 0Zm3.982 13.982a1 1 0 0 1-1.414 0l-3.274-3.274A1.012 1.012 0 0 1 9 10V6a1 1 0 0 1 2 0v3.586l2.982 2.982a1 1 0 0 1 0 1.414Z" > + {/* ¡Abierto hasta el 27 de julio! */} From 39051c75adcbc61acb5d2333e5538e7be454c818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:08:08 +0200 Subject: [PATCH 11/18] Use bun --- web/bun.lockb | Bin 0 -> 208082 bytes web/pnpm-lock.yaml | 3919 ----------------------------- web/src/components/Projects.astro | 26 +- 3 files changed, 20 insertions(+), 3925 deletions(-) create mode 100755 web/bun.lockb delete mode 100644 web/pnpm-lock.yaml diff --git a/web/bun.lockb b/web/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..f4cd3f592c070b2cda4f5b5baacc59ab06248e25 GIT binary patch literal 208082 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
4uWo-%TmF+n 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'} - dev: false - - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - dev: false - - /@astrojs/compiler@1.5.6: - resolution: {integrity: sha512-gtcpm20y4EUUQNc7evn+ffSJLTlrZRKfBS6kT7r1aB9u+AAeP2BZIiyuSdgXJUS679pCV4sqbM80u8Iek575lg==} - - /@astrojs/internal-helpers@0.1.1: - resolution: {integrity: sha512-+LySbvFbjv2nO2m/e78suleQOGEru4Cnx73VsZbrQgB2u7A4ddsQg3P2T0zC0e10jgcT+c6nNlKeLpa6nRhQIg==} - dev: false - - /@astrojs/language-server@1.0.8: - resolution: {integrity: sha512-gssRxLGb8XnvKpqSzrDW5jdzdFnXD7eBXVkPCkkt2hv7Qzb+SAzv6hVgMok3jDCxpR1aeB+XNd9Qszj2h29iog==} - hasBin: true - dependencies: - '@astrojs/compiler': 1.5.6 - '@jridgewell/trace-mapping': 0.3.18 - '@vscode/emmet-helper': 2.9.2 - events: 3.3.0 - prettier: 2.8.8 - prettier-plugin-astro: 0.9.1 - vscode-css-languageservice: 6.2.6 - vscode-html-languageservice: 5.0.6 - vscode-languageserver: 8.1.0 - vscode-languageserver-protocol: 3.17.3 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 - vscode-uri: 3.0.7 - dev: false - - /@astrojs/markdown-remark@2.2.1(astro@2.8.1): - resolution: {integrity: sha512-VF0HRv4GpC1XEMLnsKf6jth7JSmlt9qpqP0josQgA2eSpCIAC/Et+y94mgdBIZVBYH/yFnMoIxgKVe93xfO2GA==} - peerDependencies: - astro: ^2.5.0 - dependencies: - '@astrojs/prism': 2.1.2 - astro: 2.8.1 - github-slugger: 1.5.0 - import-meta-resolve: 2.2.2 - rehype-raw: 6.1.1 - rehype-stringify: 9.0.3 - remark-gfm: 3.0.1 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - remark-smartypants: 2.0.0 - shiki: 0.14.3 - unified: 10.1.2 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - transitivePeerDependencies: - - supports-color - dev: false - - /@astrojs/prism@2.1.2: - resolution: {integrity: sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==} - engines: {node: '>=16.12.0'} - dependencies: - prismjs: 1.29.0 - dev: false - - /@astrojs/rss@2.4.3: - resolution: {integrity: sha512-Dc8lxsXiDlnxONVIUuc3ohO1+vV1Hp9fRFdUianOola0S9/xv/6FzIHhkQ62MkaFSlcZm5uIOllRWNKVvuFuoA==} - dependencies: - fast-xml-parser: 4.2.5 - kleur: 4.1.5 - dev: false - - /@astrojs/sitemap@1.3.3: - resolution: {integrity: sha512-TPyyb/hKxc+bHPpSoNPhsuI0QOTVzq2tueg2r0CTH1HqigYIAA2LQkCBlQzz85R+LrOZpv4kXYmhxdDcSkJCmA==} - dependencies: - sitemap: 7.1.1 - zod: 3.21.4 - dev: false - - /@astrojs/tailwind@4.0.0(astro@2.8.1)(tailwindcss@3.3.2): - resolution: {integrity: sha512-HmCAXFFes7MUBt5ihdfH1goa8QyGkHejIpz6Z4XBKK9VNYY9G2E3brCn8+pNn5zAOzcwl3FYcuH2AiOa/NGoMQ==} - peerDependencies: - astro: ^2.6.5 - tailwindcss: ^3.0.24 - dependencies: - astro: 2.8.1 - autoprefixer: 10.4.14(postcss@8.4.25) - postcss: 8.4.25 - postcss-load-config: 4.0.1(postcss@8.4.25) - tailwindcss: 3.3.2 - transitivePeerDependencies: - - ts-node - dev: false - - /@astrojs/telemetry@2.1.1: - resolution: {integrity: sha512-4pRhyeQr0MLB5PKYgkdu+YE8sSpMbHL8dUuslBWBIdgcYjtD1SufPMBI8pgXJ+xlwrQJHKKfK2X1KonHYuOS9A==} - engines: {node: '>=16.12.0'} - dependencies: - ci-info: 3.8.0 - debug: 4.3.4 - dlv: 1.1.3 - dset: 3.1.2 - is-docker: 3.0.0 - is-wsl: 2.2.0 - undici: 5.22.1 - which-pm-runs: 1.1.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@astrojs/webapi@2.2.0: - resolution: {integrity: sha512-mHAOApWyjqSe5AQMOUD9rsZJqbMQqe3Wosb1a40JV6Okvyxj1G6GTlthwYadWCymq/lbgwh0PLiY8Fr4eFxtuQ==} - dependencies: - undici: 5.22.1 - dev: false - - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.5 - dev: false - - /@babel/compat-data@7.22.9: - resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/core@7.22.9: - resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) - '@babel/helpers': 7.22.6 - '@babel/parser': 7.22.7 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/generator@7.22.9: - resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - jsesc: 2.5.2 - dev: false - - /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - dev: false - - /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 - '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.9 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: false - - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 - dev: false - - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - dev: false - - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - dev: false - - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.9 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 - dev: false - - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - dev: false - - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - dev: false - - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helpers@7.22.6: - resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: false - - /@babel/parser@7.22.7: - resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.22.5 - dev: false - - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.9 - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 - dev: false - - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 - dev: false - - /@babel/traverse@7.22.8: - resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - to-fast-properties: 2.0.0 - dev: false - - /@emmetio/abbreviation@2.3.3: - resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} - dependencies: - '@emmetio/scanner': 1.0.4 - dev: false - - /@emmetio/css-abbreviation@2.1.8: - resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==} - dependencies: - '@emmetio/scanner': 1.0.4 - dev: false - - /@emmetio/scanner@1.0.4: - resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==} - dev: false - - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@esbuild/android-arm64@0.18.12: - resolution: {integrity: sha512-BMAlczRqC/LUt2P97E4apTBbkvS9JTJnp2DKFbCwpZ8vBvXVbNdqmvzW/OsdtI/+mGr+apkkpqGM8WecLkPgrA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@esbuild/android-arm@0.18.12: - resolution: {integrity: sha512-LIxaNIQfkFZbTLb4+cX7dozHlAbAshhFE5PKdro0l+FnCpx1GDJaQ2WMcqm+ToXKMt8p8Uojk/MFRuGyz3V5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@esbuild/android-x64@0.18.12: - resolution: {integrity: sha512-zU5MyluNsykf5cOJ0LZZZjgAHbhPJ1cWfdH1ZXVMXxVMhEV0VZiZXQdwBBVvmvbF28EizeK7obG9fs+fpmS0eQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@esbuild/darwin-arm64@0.18.12: - resolution: {integrity: sha512-zUZMep7YONnp6954QOOwEBwFX9svlKd3ov6PkxKd53LGTHsp/gy7vHaPGhhjBmEpqXEXShi6dddjIkmd+NgMsA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@esbuild/darwin-x64@0.18.12: - resolution: {integrity: sha512-ohqLPc7i67yunArPj1+/FeeJ7AgwAjHqKZ512ADk3WsE3FHU9l+m5aa7NdxXr0HmN1bjDlUslBjWNbFlD9y12Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/freebsd-arm64@0.18.12: - resolution: {integrity: sha512-GIIHtQXqgeOOqdG16a/A9N28GpkvjJnjYMhOnXVbn3EDJcoItdR58v/pGN31CHjyXDc8uCcRnFWmqaJt24AYJg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/freebsd-x64@0.18.12: - resolution: {integrity: sha512-zK0b9a1/0wZY+6FdOS3BpZcPc1kcx2G5yxxfEJtEUzVxI6n/FrC2Phsxj/YblPuBchhBZ/1wwn7AyEBUyNSa6g==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-arm64@0.18.12: - resolution: {integrity: sha512-JKgG8Q/LL/9sw/iHHxQyVMoQYu3rU3+a5Z87DxC+wAu3engz+EmctIrV+FGOgI6gWG1z1+5nDDbXiRMGQZXqiw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-arm@0.18.12: - resolution: {integrity: sha512-y75OijvrBE/1XRrXq1jtrJfG26eHeMoqLJ2dwQNwviwTuTtHGCojsDO6BJNF8gU+3jTn1KzJEMETytwsFSvc+Q==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-ia32@0.18.12: - resolution: {integrity: sha512-yoRIAqc0B4lDIAAEFEIu9ttTRFV84iuAl0KNCN6MhKLxNPfzwCBvEMgwco2f71GxmpBcTtn7KdErueZaM2rEvw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-loong64@0.18.12: - resolution: {integrity: sha512-qYgt3dHPVvf/MgbIBpJ4Sup/yb9DAopZ3a2JgMpNKIHUpOdnJ2eHBo/aQdnd8dJ21X/+sS58wxHtA9lEazYtXQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-mips64el@0.18.12: - resolution: {integrity: sha512-wHphlMLK4ufNOONqukELfVIbnGQJrHJ/mxZMMrP2jYrPgCRZhOtf0kC4yAXBwnfmULimV1qt5UJJOw4Kh13Yfg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-ppc64@0.18.12: - resolution: {integrity: sha512-TeN//1Ft20ZZW41+zDSdOI/Os1bEq5dbvBvYkberB7PHABbRcsteeoNVZFlI0YLpGdlBqohEpjrn06kv8heCJg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-riscv64@0.18.12: - resolution: {integrity: sha512-AgUebVS4DoAblBgiB2ACQ/8l4eGE5aWBb8ZXtkXHiET9mbj7GuWt3OnsIW/zX+XHJt2RYJZctbQ2S/mDjbp0UA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-s390x@0.18.12: - resolution: {integrity: sha512-dJ3Rb3Ei2u/ysSXd6pzleGtfDdc2MuzKt8qc6ls8vreP1G3B7HInX3i7gXS4BGeVd24pp0yqyS7bJ5NHaI9ing==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-x64@0.18.12: - resolution: {integrity: sha512-OrNJMGQbPaVyHHcDF8ybNSwu7TDOfX8NGpXCbetwOSP6txOJiWlgQnRymfC9ocR1S0Y5PW0Wb1mV6pUddqmvmQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/netbsd-x64@0.18.12: - resolution: {integrity: sha512-55FzVCAiwE9FK8wWeCRuvjazNRJ1QqLCYGZVB6E8RuQuTeStSwotpSW4xoRGwp3a1wUsaVCdYcj5LGCASVJmMg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/openbsd-x64@0.18.12: - resolution: {integrity: sha512-qnluf8rfb6Y5Lw2tirfK2quZOBbVqmwxut7GPCIJsM8lc4AEUj9L8y0YPdLaPK0TECt4IdyBdBD/KRFKorlK3g==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: false - optional: true - - /@esbuild/sunos-x64@0.18.12: - resolution: {integrity: sha512-+RkKpVQR7bICjTOPUpkTBTaJ4TFqQBX5Ywyd/HSdDkQGn65VPkTsR/pL4AMvuMWy+wnXgIl4EY6q4mVpJal8Kg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: false - optional: true - - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@esbuild/win32-arm64@0.18.12: - resolution: {integrity: sha512-GNHuciv0mFM7ouzsU0+AwY+7eV4Mgo5WnbhfDCQGtpvOtD1vbOiRjPYG6dhmMoFyBjj+pNqQu2X+7DKn0KQ/Gw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@esbuild/win32-ia32@0.18.12: - resolution: {integrity: sha512-kR8cezhYipbbypGkaqCTWIeu4zID17gamC8YTPXYtcN3E5BhhtTnwKBn9I0PJur/T6UVwIEGYzkffNL0lFvxEw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@esbuild/win32-x64@0.18.12: - resolution: {integrity: sha512-O0UYQVkvfM/jO8a4OwoV0mAKSJw+mjWTAd1MJd/1FCX6uiMdLmMRPK/w6e9OQ0ob2WGxzIm9va/KG0Ja4zIOgg==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - dev: false - - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - dev: false - - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: false - - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: false - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: false - - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: false - - /@markdoc/markdoc@0.2.2: - resolution: {integrity: sha512-0TiD9jmA5h5znN4lxo7HECAu3WieU5g5vUsfByeucrdR/x88hEilpt16EydFyJwJddQ/3w5HQgW7Ovy62r4cyw==} - engines: {node: '>=14.7.0'} - peerDependencies: - '@types/react': '*' - react: '*' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - optionalDependencies: - '@types/markdown-it': 12.2.3 - dev: false - - /@markdoc/markdoc@0.3.0: - resolution: {integrity: sha512-QWCF8krIIw52ulflfnoff0yG1eKl9CCGA3KAiOjHyYtHNzSEouFh8lO52nAaO3qV2Ctj1GTB8TTb2rTfvISQfA==} - engines: {node: '>=14.7.0'} - peerDependencies: - '@types/react': '*' - react: '*' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - optionalDependencies: - '@types/markdown-it': 12.2.3 - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: false - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: false - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: false - - /@pkgr/utils@2.4.2: - resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dependencies: - cross-spawn: 7.0.3 - fast-glob: 3.3.0 - is-glob: 4.0.3 - open: 9.1.0 - picocolors: 1.0.0 - tslib: 2.6.0 - dev: false - - /@tailwindcss/typography@0.5.9(tailwindcss@3.3.2): - resolution: {integrity: sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==} - peerDependencies: - tailwindcss: '>=3.0.0 || insiders' - dependencies: - lodash.castarray: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - postcss-selector-parser: 6.0.10 - tailwindcss: 3.3.2 - dev: false - - /@types/babel__core@7.20.1: - resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} - dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.20.1 - dev: false - - /@types/babel__generator@7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} - dependencies: - '@babel/types': 7.22.5 - dev: false - - /@types/babel__template@7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} - dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 - dev: false - - /@types/babel__traverse@7.20.1: - resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} - dependencies: - '@babel/types': 7.22.5 - dev: false - - /@types/debug@4.1.8: - resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} - dependencies: - '@types/ms': 0.7.31 - dev: false - - /@types/hast@2.3.5: - resolution: {integrity: sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==} - dependencies: - '@types/unist': 2.0.7 - dev: false - - /@types/json5@0.0.30: - resolution: {integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==} - dev: false - - /@types/linkify-it@3.0.2: - resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==} - dev: false - optional: true - - /@types/markdown-it@12.2.3: - resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} - requiresBuild: true - dependencies: - '@types/linkify-it': 3.0.2 - '@types/mdurl': 1.0.2 - dev: false - optional: true - - /@types/mdast@3.0.12: - resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} - dependencies: - '@types/unist': 2.0.7 - dev: false - - /@types/mdurl@1.0.2: - resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} - dev: false - optional: true - - /@types/ms@0.7.31: - resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - dev: false - - /@types/nlcst@1.0.1: - resolution: {integrity: sha512-aVIyXt6pZiiMOtVByE4Y0gf+BLm1Cxc4ZLSK8VRHn1CgkO+kXbQwN/EBhQmhPdBMjFJCMBKtmNW2zWQuFywz8Q==} - dependencies: - '@types/unist': 2.0.7 - dev: false - - /@types/node@17.0.45: - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - dev: false - - /@types/parse5@6.0.3: - resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} - dev: false - - /@types/resolve@1.20.2: - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - dev: false - - /@types/sax@1.2.4: - resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==} - dependencies: - '@types/node': 17.0.45 - dev: false - - /@types/unist@2.0.7: - resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} - dev: false - - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: false - - /@vscode/emmet-helper@2.9.2: - resolution: {integrity: sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==} - dependencies: - emmet: 2.4.5 - jsonc-parser: 2.3.1 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 - vscode-uri: 2.1.2 - dev: false - - /@vscode/l10n@0.0.14: - resolution: {integrity: sha512-/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg==} - dev: false - - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: false - - /ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - dependencies: - string-width: 4.2.3 - dev: false - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: false - - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: false - - /ansi-sequence-parser@1.1.0: - resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} - dev: false - - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: false - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: false - - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: false - - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: false - - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: false - - /arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - dev: false - - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: false - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: false - - /array-iterate@2.0.1: - resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} - dev: false - - /astro-markdoc-renderer@0.0.1-alpha.1: - resolution: {integrity: sha512-XePuJ3MZZKWgiHOS0/v3KaoSFGEzKE2jx2UoZRyKBHyQoMzahU0VeH751VvalLvc4+DamdGhQRhdcco0iLUsvQ==} - dependencies: - '@markdoc/markdoc': 0.2.2 - markdown-it: 13.0.1 - transitivePeerDependencies: - - '@types/react' - - react - dev: false - - /astro@2.8.1: - resolution: {integrity: sha512-qHG9bw/eidVKs3wc4shOlK4zuX2SaXDGWfbDLoJIISlQuEDD09LIXv8K39O7lLRSMFRgjfv0QYXP3g05VtOBzg==} - engines: {node: '>=16.12.0', npm: '>=6.14.0'} - hasBin: true - peerDependencies: - sharp: '>=0.31.0' - peerDependenciesMeta: - sharp: - optional: true - dependencies: - '@astrojs/compiler': 1.5.6 - '@astrojs/internal-helpers': 0.1.1 - '@astrojs/language-server': 1.0.8 - '@astrojs/markdown-remark': 2.2.1(astro@2.8.1) - '@astrojs/telemetry': 2.1.1 - '@astrojs/webapi': 2.2.0 - '@babel/core': 7.22.9 - '@babel/generator': 7.22.9 - '@babel/parser': 7.22.7 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 - '@types/babel__core': 7.20.1 - '@types/yargs-parser': 21.0.0 - acorn: 8.10.0 - boxen: 6.2.1 - chokidar: 3.5.3 - ci-info: 3.8.0 - common-ancestor-path: 1.0.1 - cookie: 0.5.0 - debug: 4.3.4 - deepmerge-ts: 4.3.0 - devalue: 4.3.2 - diff: 5.1.0 - es-module-lexer: 1.3.0 - esbuild: 0.17.19 - estree-walker: 3.0.0 - execa: 6.1.0 - fast-glob: 3.3.0 - github-slugger: 2.0.0 - gray-matter: 4.0.3 - html-escaper: 3.0.3 - js-yaml: 4.1.0 - kleur: 4.1.5 - magic-string: 0.27.0 - mime: 3.0.0 - ora: 6.3.1 - p-limit: 4.0.0 - path-to-regexp: 6.2.1 - preferred-pm: 3.0.3 - prompts: 2.4.2 - rehype: 12.0.1 - semver: 7.5.4 - server-destroy: 1.0.1 - shiki: 0.14.3 - string-width: 5.1.2 - strip-ansi: 7.1.0 - tsconfig-resolver: 3.0.1 - typescript: 5.1.6 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - vite: 4.4.3 - vitefu: 0.2.4(vite@4.4.3) - which-pm: 2.0.0 - yargs-parser: 21.1.1 - zod: 3.21.4 - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: false - - /autoprefixer@10.4.14(postcss@8.4.25): - resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - dependencies: - browserslist: 4.21.9 - caniuse-lite: 1.0.30001515 - fraction.js: 4.2.0 - normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.25 - postcss-value-parser: 4.2.0 - dev: false - - /bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - dev: false - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: false - - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false - - /big-integer@1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} - engines: {node: '>=0.6'} - dev: false - - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: false - - /bl@5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} - dependencies: - buffer: 6.0.3 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: false - - /boxen@6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - dev: false - - /bplist-parser@0.2.0: - resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} - engines: {node: '>= 5.10.0'} - dependencies: - big-integer: 1.6.51 - dev: false - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: false - - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: false - - /browserslist@4.21.9: - resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001515 - electron-to-chromium: 1.4.459 - node-releases: 2.0.13 - update-browserslist-db: 1.0.11(browserslist@4.21.9) - dev: false - - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /bundle-name@3.0.0: - resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} - engines: {node: '>=12'} - dependencies: - run-applescript: 5.0.0 - dev: false - - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - dependencies: - streamsearch: 1.1.0 - dev: false - - /camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - dev: false - - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: false - - /caniuse-lite@1.0.30001515: - resolution: {integrity: sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==} - dev: false - - /ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - dev: false - - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: false - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: false - - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: false - - /character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - dev: false - - /character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - dev: false - - /character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - dev: false - - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: false - - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} - dev: false - - /cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - dev: false - - /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - restore-cursor: 4.0.0 - dev: false - - /cli-spinners@2.9.0: - resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} - engines: {node: '>=6'} - dev: false - - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: false - - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: false - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: false - - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: false - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: false - - /comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - dev: false - - /commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - dev: false - - /common-ancestor-path@1.0.1: - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} - dev: false - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: false - - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: false - - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - dev: false - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: false - - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - dev: false - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: false - - /decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - dependencies: - character-entities: 2.0.2 - dev: false - - /deepmerge-ts@4.3.0: - resolution: {integrity: sha512-if3ZYdkD2dClhnXR5reKtG98cwyaRT1NeugQoAPTTfsOpV9kqyeiBF9Qa5RHjemb3KzD5ulqygv6ED3t5j9eJw==} - engines: {node: '>=12.4.0'} - dev: false - - /default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - dev: false - - /default-browser@4.0.0: - resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} - engines: {node: '>=14.16'} - dependencies: - bundle-name: 3.0.0 - default-browser-id: 3.0.0 - execa: 7.1.1 - titleize: 3.0.0 - dev: false - - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: false - - /define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} - dev: false - - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - dev: false - - /devalue@4.3.2: - resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} - dev: false - - /didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dev: false - - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} - dev: false - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: false - - /dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: false - - /dset@3.1.2: - resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} - engines: {node: '>=4'} - dev: false - - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: false - - /electron-to-chromium@1.4.459: - resolution: {integrity: sha512-XXRS5NFv8nCrBL74Rm3qhJjA2VCsRFx0OjHKBMPI0otij56aun8UWiKTDABmd5/7GTR021pA4wivs+Ri6XCElg==} - dev: false - - /emmet@2.4.5: - resolution: {integrity: sha512-xOiVNINJFh0dMik+KzXSEYbAnFLTnadEzanxj7+F15uIf6avQwu3uPa1wI/8AFtOWKZ8lHg7TjC83wXcPhgOPw==} - dependencies: - '@emmetio/abbreviation': 2.3.3 - '@emmetio/css-abbreviation': 2.1.8 - dev: false - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: false - - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: false - - /entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} - dev: false - - /es-module-lexer@1.3.0: - resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} - dev: false - - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - dev: false - - /esbuild@0.18.12: - resolution: {integrity: sha512-XuOVLDdtsDslXStStduT41op21Ytmf4/BDS46aa3xPJ7X5h2eMWBF1oAe3QjUH3bDksocNXgzGUZ7XHIBya6Tg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.18.12 - '@esbuild/android-arm64': 0.18.12 - '@esbuild/android-x64': 0.18.12 - '@esbuild/darwin-arm64': 0.18.12 - '@esbuild/darwin-x64': 0.18.12 - '@esbuild/freebsd-arm64': 0.18.12 - '@esbuild/freebsd-x64': 0.18.12 - '@esbuild/linux-arm': 0.18.12 - '@esbuild/linux-arm64': 0.18.12 - '@esbuild/linux-ia32': 0.18.12 - '@esbuild/linux-loong64': 0.18.12 - '@esbuild/linux-mips64el': 0.18.12 - '@esbuild/linux-ppc64': 0.18.12 - '@esbuild/linux-riscv64': 0.18.12 - '@esbuild/linux-s390x': 0.18.12 - '@esbuild/linux-x64': 0.18.12 - '@esbuild/netbsd-x64': 0.18.12 - '@esbuild/openbsd-x64': 0.18.12 - '@esbuild/sunos-x64': 0.18.12 - '@esbuild/win32-arm64': 0.18.12 - '@esbuild/win32-ia32': 0.18.12 - '@esbuild/win32-x64': 0.18.12 - dev: false - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: false - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: false - - /escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - dev: false - - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: false - - /estree-walker@3.0.0: - resolution: {integrity: sha512-s6ceX0NFiU/vKPiKvFdR83U1Zffu7upwZsGwpoqfg5rbbq1l50WQ5hCeIvM6E6oD4shUHCYMsiFPns4Jk0YfMQ==} - dev: false - - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false - - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: false - - /execa@6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 3.0.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.1.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - dev: false - - /execa@7.1.1: - resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.1.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - dev: false - - /extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: false - - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: false - - /fast-glob@3.3.0: - resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: false - - /fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} - hasBin: true - dependencies: - strnum: 1.0.5 - dev: false - - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - dev: false - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: false - - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: false - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: false - - /find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - dependencies: - micromatch: 4.0.5 - pkg-dir: 4.2.0 - dev: false - - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} - dev: false - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: false - - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: false - - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: false - - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: false - - /github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - dev: false - - /github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - dev: false - - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: false - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: false - - /glob@7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: false - - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: false - - /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.0 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 4.0.0 - dev: false - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: false - - /gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - dependencies: - js-yaml: 3.14.1 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - dev: false - - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: false - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: false - - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: false - - /hast-util-from-parse5@7.1.2: - resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} - dependencies: - '@types/hast': 2.3.5 - '@types/unist': 2.0.7 - hastscript: 7.2.0 - property-information: 6.2.0 - vfile: 5.3.7 - vfile-location: 4.1.0 - web-namespaces: 2.0.1 - dev: false - - /hast-util-parse-selector@3.1.1: - resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} - dependencies: - '@types/hast': 2.3.5 - dev: false - - /hast-util-raw@7.2.3: - resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} - dependencies: - '@types/hast': 2.3.5 - '@types/parse5': 6.0.3 - hast-util-from-parse5: 7.1.2 - hast-util-to-parse5: 7.1.0 - html-void-elements: 2.0.1 - parse5: 6.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - dev: false - - /hast-util-to-html@8.0.4: - resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} - dependencies: - '@types/hast': 2.3.5 - '@types/unist': 2.0.7 - ccount: 2.0.1 - comma-separated-tokens: 2.0.3 - hast-util-raw: 7.2.3 - hast-util-whitespace: 2.0.1 - html-void-elements: 2.0.1 - property-information: 6.2.0 - space-separated-tokens: 2.0.2 - stringify-entities: 4.0.3 - zwitch: 2.0.4 - dev: false - - /hast-util-to-parse5@7.1.0: - resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} - dependencies: - '@types/hast': 2.3.5 - comma-separated-tokens: 2.0.3 - property-information: 6.2.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - dev: false - - /hast-util-whitespace@2.0.1: - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} - dev: false - - /hastscript@7.2.0: - resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} - dependencies: - '@types/hast': 2.3.5 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 3.1.1 - property-information: 6.2.0 - space-separated-tokens: 2.0.2 - dev: false - - /html-escaper@3.0.3: - resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} - dev: false - - /html-void-elements@2.0.1: - resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} - dev: false - - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: false - - /human-signals@3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} - dev: false - - /human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} - engines: {node: '>=14.18.0'} - dev: false - - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false - - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: false - - /import-meta-resolve@2.2.2: - resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==} - dev: false - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: false - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: false - - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: false - - /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - dev: false - - /is-core-module@2.12.1: - resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} - dependencies: - has: 1.0.3 - dev: false - - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: false - - /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - dev: false - - /is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - dev: false - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: false - - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: false - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: false - - /is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - dependencies: - is-docker: 3.0.0 - dev: false - - /is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - dev: false - - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: false - - /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: false - - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: false - - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false - - /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - dev: false - - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: false - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: false - - /jiti@1.19.1: - resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} - hasBin: true - dev: false - - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: false - - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: false - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: false - - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: false - - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: false - - /jsonc-parser@2.3.1: - resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} - dev: false - - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: false - - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: false - - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: false - - /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - dev: false - - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - dev: false - - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: false - - /linkify-it@4.0.1: - resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} - dependencies: - uc.micro: 1.0.6 - dev: false - - /load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} - dependencies: - graceful-fs: 4.2.11 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - dev: false - - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: false - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: false - - /lodash.castarray@4.4.0: - resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} - dev: false - - /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: false - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: false - - /log-symbols@5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} - dependencies: - chalk: 5.3.0 - is-unicode-supported: 1.3.0 - dev: false - - /longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - dev: false - - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - dependencies: - yallist: 3.1.1 - dev: false - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: false - - /magic-string@0.27.0: - resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: false - - /markdown-it@13.0.1: - resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==} - hasBin: true - dependencies: - argparse: 2.0.1 - entities: 3.0.1 - linkify-it: 4.0.1 - mdurl: 1.0.1 - uc.micro: 1.0.6 - dev: false - - /markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - dev: false - - /mdast-util-definitions@5.1.2: - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} - dependencies: - '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 - unist-util-visit: 4.1.2 - dev: false - - /mdast-util-find-and-replace@2.2.2: - resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} - dependencies: - '@types/mdast': 3.0.12 - escape-string-regexp: 5.0.0 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - dev: false - - /mdast-util-from-markdown@1.3.1: - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} - dependencies: - '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 - decode-named-character-reference: 1.0.2 - mdast-util-to-string: 3.2.0 - micromark: 3.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-decode-string: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-stringify-position: 3.0.3 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: false - - /mdast-util-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} - dependencies: - '@types/mdast': 3.0.12 - ccount: 2.0.1 - mdast-util-find-and-replace: 2.2.2 - micromark-util-character: 1.2.0 - dev: false - - /mdast-util-gfm-footnote@1.0.2: - resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} - dependencies: - '@types/mdast': 3.0.12 - mdast-util-to-markdown: 1.5.0 - micromark-util-normalize-identifier: 1.1.0 - dev: false - - /mdast-util-gfm-strikethrough@1.0.3: - resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} - dependencies: - '@types/mdast': 3.0.12 - mdast-util-to-markdown: 1.5.0 - dev: false - - /mdast-util-gfm-table@1.0.7: - resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} - dependencies: - '@types/mdast': 3.0.12 - markdown-table: 3.0.3 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - dev: false - - /mdast-util-gfm-task-list-item@1.0.2: - resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} - dependencies: - '@types/mdast': 3.0.12 - mdast-util-to-markdown: 1.5.0 - dev: false - - /mdast-util-gfm@2.0.2: - resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} - dependencies: - mdast-util-from-markdown: 1.3.1 - mdast-util-gfm-autolink-literal: 1.0.3 - mdast-util-gfm-footnote: 1.0.2 - mdast-util-gfm-strikethrough: 1.0.3 - mdast-util-gfm-table: 1.0.7 - mdast-util-gfm-task-list-item: 1.0.2 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - dev: false - - /mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} - dependencies: - '@types/mdast': 3.0.12 - unist-util-is: 5.2.1 - dev: false - - /mdast-util-to-hast@12.3.0: - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} - dependencies: - '@types/hast': 2.3.5 - '@types/mdast': 3.0.12 - mdast-util-definitions: 5.1.2 - micromark-util-sanitize-uri: 1.2.0 - trim-lines: 3.0.1 - unist-util-generated: 2.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - dev: false - - /mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} - dependencies: - '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 - longest-streak: 3.1.0 - mdast-util-phrasing: 3.0.1 - mdast-util-to-string: 3.2.0 - micromark-util-decode-string: 1.1.0 - unist-util-visit: 4.1.2 - zwitch: 2.0.4 - dev: false - - /mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} - dependencies: - '@types/mdast': 3.0.12 - dev: false - - /mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: false - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: false - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: false - - /micromark-core-commonmark@1.1.0: - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - dependencies: - decode-named-character-reference: 1.0.2 - micromark-factory-destination: 1.1.0 - micromark-factory-label: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-factory-title: 1.1.0 - micromark-factory-whitespace: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-html-tag-name: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-extension-gfm-autolink-literal@1.0.5: - resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-extension-gfm-footnote@1.1.2: - resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} - dependencies: - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-extension-gfm-strikethrough@1.0.7: - resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-extension-gfm-table@1.0.7: - resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-extension-gfm-tagfilter@1.0.2: - resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} - dependencies: - micromark-util-types: 1.1.0 - dev: false - - /micromark-extension-gfm-task-list-item@1.0.5: - resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-extension-gfm@2.0.3: - resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} - dependencies: - micromark-extension-gfm-autolink-literal: 1.0.5 - micromark-extension-gfm-footnote: 1.1.2 - micromark-extension-gfm-strikethrough: 1.0.7 - micromark-extension-gfm-table: 1.0.7 - micromark-extension-gfm-tagfilter: 1.0.2 - micromark-extension-gfm-task-list-item: 1.0.5 - micromark-util-combine-extensions: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-destination@1.1.0: - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-label@1.1.0: - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-title@1.1.0: - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-whitespace@1.1.0: - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-chunked@1.1.0: - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} - dependencies: - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-classify-character@1.1.0: - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-combine-extensions@1.1.0: - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-decode-numeric-character-reference@1.1.0: - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} - dependencies: - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-decode-string@1.1.0: - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} - dependencies: - decode-named-character-reference: 1.0.2 - micromark-util-character: 1.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-encode@1.1.0: - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - dev: false - - /micromark-util-html-tag-name@1.2.0: - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - dev: false - - /micromark-util-normalize-identifier@1.1.0: - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} - dependencies: - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-resolve-all@1.1.0: - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} - dependencies: - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-sanitize-uri@1.2.0: - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-encode: 1.1.0 - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-subtokenize@1.1.0: - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - dev: false - - /micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - dev: false - - /micromark@3.2.0: - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} - dependencies: - '@types/debug': 4.1.8 - debug: 4.3.4 - decode-named-character-reference: 1.0.2 - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-combine-extensions: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-encode: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: false - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: false - - /mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - dev: false - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: false - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: false - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: false - - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - dev: false - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: false - - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: false - - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: false - - /nlcst-to-string@3.1.1: - resolution: {integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==} - dependencies: - '@types/nlcst': 1.0.1 - dev: false - - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} - dev: false - - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: false - - /normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - dev: false - - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: false - - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: false - - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: false - - /object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - dev: false - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: false - - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: false - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: false - - /open@9.1.0: - resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} - engines: {node: '>=14.16'} - dependencies: - default-browser: 4.0.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - is-wsl: 2.2.0 - dev: false - - /ora@6.3.1: - resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - chalk: 5.3.0 - cli-cursor: 4.0.0 - cli-spinners: 2.9.0 - is-interactive: 2.0.0 - is-unicode-supported: 1.3.0 - log-symbols: 5.1.0 - stdin-discarder: 0.1.0 - strip-ansi: 7.1.0 - wcwidth: 1.0.1 - dev: false - - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: false - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: false - - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - yocto-queue: 1.0.0 - dev: false - - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: false - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: false - - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: false - - /parse-latin@5.0.1: - resolution: {integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==} - dependencies: - nlcst-to-string: 3.1.1 - unist-util-modify-children: 3.1.1 - unist-util-visit-children: 2.0.2 - dev: false - - /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: false - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: false - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: false - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: false - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: false - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: false - - /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} - dev: false - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: false - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: false - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: false - - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: false - - /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - dev: false - - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - dev: false - - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: false - - /postcss-import@15.1.0(postcss@8.4.25): - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - dependencies: - postcss: 8.4.25 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.2 - dev: false - - /postcss-js@4.0.1(postcss@8.4.25): - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 - dependencies: - camelcase-css: 2.0.1 - postcss: 8.4.25 - dev: false - - /postcss-load-config@4.0.1(postcss@8.4.25): - resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 2.1.0 - postcss: 8.4.25 - yaml: 2.3.1 - dev: false - - /postcss-nested@6.0.1(postcss@8.4.25): - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - dependencies: - postcss: 8.4.25 - postcss-selector-parser: 6.0.13 - dev: false - - /postcss-selector-parser@6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: false - - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: false - - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: false - - /postcss@8.4.25: - resolution: {integrity: sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /preferred-pm@3.0.3: - resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} - engines: {node: '>=10'} - dependencies: - find-up: 5.0.0 - find-yarn-workspace-root2: 1.2.16 - path-exists: 4.0.0 - which-pm: 2.0.0 - dev: false - - /prettier-plugin-astro@0.11.0: - resolution: {integrity: sha512-rl2hJ4Kty/aEfGjk3i4JS+bpng9MjgvwqLRNzeb9NqYhqKoWNwOR39cIJXFjU1vR3zYOPnwWNRMelKb0orunYA==} - engines: {node: ^14.15.0 || >=16.0.0, pnpm: '>=7.14.0'} - dependencies: - '@astrojs/compiler': 1.5.6 - prettier: 3.0.0 - sass-formatter: 0.7.6 - dev: true - - /prettier-plugin-astro@0.9.1: - resolution: {integrity: sha512-pYZXSbdq0eElvzoIMArzv1SBn1NUXzopjlcnt6Ql8VW32PjC12NovwBjXJ6rh8qQLi7vF8jNqAbraKW03UPfag==} - engines: {node: ^14.15.0 || >=16.0.0, pnpm: '>=7.14.0'} - dependencies: - '@astrojs/compiler': 1.5.6 - prettier: 2.8.8 - sass-formatter: 0.7.6 - synckit: 0.8.5 - dev: false - - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: false - - /prettier@3.0.0: - resolution: {integrity: sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /prismjs@1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} - engines: {node: '>=6'} - dev: false - - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - dev: false - - /property-information@6.2.0: - resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} - dev: false - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: false - - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - dependencies: - pify: 2.3.0 - dev: false - - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: false - - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: false - - /rehype-parse@8.0.4: - resolution: {integrity: sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==} - dependencies: - '@types/hast': 2.3.5 - hast-util-from-parse5: 7.1.2 - parse5: 6.0.1 - unified: 10.1.2 - dev: false - - /rehype-raw@6.1.1: - resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} - dependencies: - '@types/hast': 2.3.5 - hast-util-raw: 7.2.3 - unified: 10.1.2 - dev: false - - /rehype-stringify@9.0.3: - resolution: {integrity: sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==} - dependencies: - '@types/hast': 2.3.5 - hast-util-to-html: 8.0.4 - unified: 10.1.2 - dev: false - - /rehype@12.0.1: - resolution: {integrity: sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==} - dependencies: - '@types/hast': 2.3.5 - rehype-parse: 8.0.4 - rehype-stringify: 9.0.3 - unified: 10.1.2 - dev: false - - /remark-gfm@3.0.1: - resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} - dependencies: - '@types/mdast': 3.0.12 - mdast-util-gfm: 2.0.2 - micromark-extension-gfm: 2.0.3 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color - dev: false - - /remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} - dependencies: - '@types/mdast': 3.0.12 - mdast-util-from-markdown: 1.3.1 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color - dev: false - - /remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} - dependencies: - '@types/hast': 2.3.5 - '@types/mdast': 3.0.12 - mdast-util-to-hast: 12.3.0 - unified: 10.1.2 - dev: false - - /remark-smartypants@2.0.0: - resolution: {integrity: sha512-Rc0VDmr/yhnMQIz8n2ACYXlfw/P/XZev884QU1I5u+5DgJls32o97Vc1RbK3pfumLsJomS2yy8eT4Fxj/2MDVA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - retext: 8.1.0 - retext-smartypants: 5.2.0 - unist-util-visit: 4.1.2 - dev: false - - /resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} - hasBin: true - dependencies: - is-core-module: 2.12.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: false - - /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: false - - /retext-latin@3.1.0: - resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==} - dependencies: - '@types/nlcst': 1.0.1 - parse-latin: 5.0.1 - unherit: 3.0.1 - unified: 10.1.2 - dev: false - - /retext-smartypants@5.2.0: - resolution: {integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==} - dependencies: - '@types/nlcst': 1.0.1 - nlcst-to-string: 3.1.1 - unified: 10.1.2 - unist-util-visit: 4.1.2 - dev: false - - /retext-stringify@3.1.0: - resolution: {integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==} - dependencies: - '@types/nlcst': 1.0.1 - nlcst-to-string: 3.1.1 - unified: 10.1.2 - dev: false - - /retext@8.1.0: - resolution: {integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==} - dependencies: - '@types/nlcst': 1.0.1 - retext-latin: 3.1.0 - retext-stringify: 3.1.0 - unified: 10.1.2 - dev: false - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: false - - /rollup@3.26.2: - resolution: {integrity: sha512-6umBIGVz93er97pMgQO08LuH3m6PUb3jlDUUGFsNJB6VgTCUaDFpupf5JfU30529m/UKOgmiX+uY6Sx8cOYpLA==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: false - - /run-applescript@5.0.0: - resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} - engines: {node: '>=12'} - dependencies: - execa: 5.1.1 - dev: false - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: false - - /s.color@0.0.15: - resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} - - /sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - dependencies: - mri: 1.2.0 - dev: false - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false - - /sass-formatter@0.7.6: - resolution: {integrity: sha512-hXdxU6PCkiV3XAiSnX+XLqz2ohHoEnVUlrd8LEVMAI80uB1+OTScIkH9n6qQwImZpTye1r1WG1rbGUteHNhoHg==} - dependencies: - suf-log: 2.5.3 - - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - dev: false - - /section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 - dev: false - - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: false - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: false - - /server-destroy@1.0.1: - resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} - dev: false - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: false - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: false - - /shiki@0.14.3: - resolution: {integrity: sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==} - dependencies: - ansi-sequence-parser: 1.1.0 - jsonc-parser: 3.2.0 - vscode-oniguruma: 1.7.0 - vscode-textmate: 8.0.0 - dev: false - - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: false - - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: false - - /sitemap@7.1.1: - resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==} - engines: {node: '>=12.0.0', npm: '>=5.6.0'} - hasBin: true - dependencies: - '@types/node': 17.0.45 - '@types/sax': 1.2.4 - arg: 5.0.2 - sax: 1.2.4 - dev: false - - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: false - - /slugify@1.6.6: - resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} - engines: {node: '>=8.0.0'} - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: false - - /space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - dev: false - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: false - - /stdin-discarder@0.1.0: - resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - bl: 5.1.0 - dev: false - - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: false - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: false - - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - dev: false - - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /stringify-entities@4.0.3: - resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} - dependencies: - character-entities-html4: 2.1.0 - character-entities-legacy: 3.0.0 - dev: false - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: false - - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - dev: false - - /strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - dev: false - - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: false - - /strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: false - - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: false - - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: false - - /strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - dev: false - - /sucrase@3.32.0: - resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} - engines: {node: '>=8'} - hasBin: true - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - commander: 4.1.1 - glob: 7.1.6 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 - dev: false - - /suf-log@2.5.3: - resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} - dependencies: - s.color: 0.0.15 - - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: false - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: false - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: false - - /synckit@0.8.5: - resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/utils': 2.4.2 - tslib: 2.6.0 - dev: false - - /tailwindcss@3.3.2: - resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} - engines: {node: '>=14.0.0'} - hasBin: true - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.5.3 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.0 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.19.1 - lilconfig: 2.1.0 - micromatch: 4.0.5 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.25 - postcss-import: 15.1.0(postcss@8.4.25) - postcss-js: 4.0.1(postcss@8.4.25) - postcss-load-config: 4.0.1(postcss@8.4.25) - postcss-nested: 6.0.1(postcss@8.4.25) - postcss-selector-parser: 6.0.13 - postcss-value-parser: 4.2.0 - resolve: 1.22.2 - sucrase: 3.32.0 - transitivePeerDependencies: - - ts-node - dev: false - - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - dependencies: - thenify: 3.3.1 - dev: false - - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - dependencies: - any-promise: 1.3.0 - dev: false - - /titleize@3.0.0: - resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} - engines: {node: '>=12'} - dev: false - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: false - - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: false - - /trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - dev: false - - /trough@2.1.0: - resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} - dev: false - - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: false - - /tsconfig-resolver@3.0.1: - resolution: {integrity: sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==} - dependencies: - '@types/json5': 0.0.30 - '@types/resolve': 1.20.2 - json5: 2.2.3 - resolve: 1.22.2 - strip-bom: 4.0.0 - type-fest: 0.13.1 - dev: false - - /tslib@2.6.0: - resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} - dev: false - - /type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - dev: false - - /type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - dev: false - - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} - engines: {node: '>=14.17'} - hasBin: true - - /uc.micro@1.0.6: - resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - dev: false - - /undici@5.22.1: - resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} - engines: {node: '>=14.0'} - dependencies: - busboy: 1.6.0 - dev: false - - /unherit@3.0.1: - resolution: {integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==} - dev: false - - /unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} - dependencies: - '@types/unist': 2.0.7 - bail: 2.0.2 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 4.1.0 - trough: 2.1.0 - vfile: 5.3.7 - dev: false - - /unist-util-generated@2.0.1: - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} - dev: false - - /unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - dependencies: - '@types/unist': 2.0.7 - dev: false - - /unist-util-modify-children@3.1.1: - resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==} - dependencies: - '@types/unist': 2.0.7 - array-iterate: 2.0.1 - dev: false - - /unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} - dependencies: - '@types/unist': 2.0.7 - dev: false - - /unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} - dependencies: - '@types/unist': 2.0.7 - dev: false - - /unist-util-visit-children@2.0.2: - resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} - dependencies: - '@types/unist': 2.0.7 - dev: false - - /unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - dependencies: - '@types/unist': 2.0.7 - unist-util-is: 5.2.1 - dev: false - - /unist-util-visit@4.1.2: - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} - dependencies: - '@types/unist': 2.0.7 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - dev: false - - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: false - - /update-browserslist-db@1.0.11(browserslist@4.21.9): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.9 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: false - - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: false - - /uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - dequal: 2.0.3 - diff: 5.1.0 - kleur: 4.1.5 - sade: 1.8.1 - dev: false - - /vfile-location@4.1.0: - resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} - dependencies: - '@types/unist': 2.0.7 - vfile: 5.3.7 - dev: false - - /vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} - dependencies: - '@types/unist': 2.0.7 - unist-util-stringify-position: 3.0.3 - dev: false - - /vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} - dependencies: - '@types/unist': 2.0.7 - is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 - dev: false - - /vite@4.4.3: - resolution: {integrity: sha512-IMnXQXXWgLi5brBQx/4WzDxdzW0X3pjO4nqFJAuNvwKtxzAmPzFE1wszW3VDpAGQJm3RZkm/brzRdyGsnwgJIA==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.18.12 - postcss: 8.4.25 - rollup: 3.26.2 - optionalDependencies: - fsevents: 2.3.2 - dev: false - - /vitefu@0.2.4(vite@4.4.3): - resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} - peerDependencies: - vite: ^3.0.0 || ^4.0.0 - peerDependenciesMeta: - vite: - optional: true - dependencies: - vite: 4.4.3 - dev: false - - /vscode-css-languageservice@6.2.6: - resolution: {integrity: sha512-SA2WkeOecIpUiEbZnjOsP/fI5CRITZEiQGSHXKiDQDwLApfKcnLhZwMtOBbIifSzESVcQa7b/shX/nbnF4NoCg==} - dependencies: - '@vscode/l10n': 0.0.14 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 - vscode-uri: 3.0.7 - dev: false - - /vscode-html-languageservice@5.0.6: - resolution: {integrity: sha512-gCixNg6fjPO7+kwSMBAVXcwDRHdjz1WOyNfI0n5Wx0J7dfHG8ggb3zD1FI8E2daTZrwS1cooOiSoc1Xxph4qRQ==} - dependencies: - '@vscode/l10n': 0.0.14 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 - vscode-uri: 3.0.7 - dev: false - - /vscode-jsonrpc@8.1.0: - resolution: {integrity: sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==} - engines: {node: '>=14.0.0'} - dev: false - - /vscode-languageserver-protocol@3.17.3: - resolution: {integrity: sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==} - dependencies: - vscode-jsonrpc: 8.1.0 - vscode-languageserver-types: 3.17.3 - dev: false - - /vscode-languageserver-textdocument@1.0.8: - resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} - dev: false - - /vscode-languageserver-types@3.17.3: - resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==} - dev: false - - /vscode-languageserver@8.1.0: - resolution: {integrity: sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==} - hasBin: true - dependencies: - vscode-languageserver-protocol: 3.17.3 - dev: false - - /vscode-oniguruma@1.7.0: - resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} - dev: false - - /vscode-textmate@8.0.0: - resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - dev: false - - /vscode-uri@2.1.2: - resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} - dev: false - - /vscode-uri@3.0.7: - resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} - dev: false - - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: false - - /web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - dev: false - - /which-pm-runs@1.1.0: - resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} - engines: {node: '>=4'} - dev: false - - /which-pm@2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} - engines: {node: '>=8.15'} - dependencies: - load-yaml-file: 0.2.0 - path-exists: 4.0.0 - dev: false - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: false - - /widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - dev: false - - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - dev: false - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: false - - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: false - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: false - - /yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} - engines: {node: '>= 14'} - dev: false - - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: false - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: false - - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: false - - /zod@3.21.4: - resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} - dev: false - - /zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - dev: false diff --git a/web/src/components/Projects.astro b/web/src/components/Projects.astro index 59da54c38..17987c148 100644 --- a/web/src/components/Projects.astro +++ b/web/src/components/Projects.astro @@ -1,19 +1,33 @@ --- -import Badge from './Badge.astro' +import Badge from "./Badge.astro" ---

\ No newline at end of file + From 03c6de46807b37f56a97d4faf918b9ca3ae54880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:17:12 +0200 Subject: [PATCH 12/18] Use bun --- web/bun.lockb | Bin 208082 -> 207470 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/web/bun.lockb b/web/bun.lockb index f4cd3f592c070b2cda4f5b5baacc59ab06248e25..29973adaec11e842c5013993bdb6f08fb5872252 100755 GIT binary patch delta 53000 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 PqyOAlM(^kF_O1SZjCX0{ delta 54671 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 Date: Mon, 9 Oct 2023 16:17:16 +0200 Subject: [PATCH 13/18] Upgrade dependencies --- web/package.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/web/package.json b/web/package.json index 9d0c6ec60..c96e77da8 100644 --- a/web/package.json +++ b/web/package.json @@ -11,22 +11,22 @@ "clean": "rm -rf dist" }, "dependencies": { - "@astrojs/prism": "^2.1.2", - "@astrojs/rss": "^2.4.3", - "@astrojs/sitemap": "^1.3.3", - "@astrojs/tailwind": "^4.0.0", - "@markdoc/markdoc": "^0.3.0", - "@tailwindcss/typography": "^0.5.9", - "astro": "^2.8.1", + "@astrojs/prism": "3.0.0", + "@astrojs/rss": "3.0.0", + "@astrojs/sitemap": "3.0.1", + "@astrojs/tailwind": "5.0.1", + "@markdoc/markdoc": "0.3.2", + "@tailwindcss/typography": "0.5.10", + "astro": "3.2.3", "astro-markdoc-renderer": "0.0.1-alpha.1", - "globby": "^13.2.2", - "gray-matter": "^4.0.3", - "slugify": "^1.6.6", - "tailwindcss": "^3.3.2", - "zod": "^3.21.4" + "globby": "13.2.2", + "gray-matter": "4.0.3", + "slugify": "1.6.6", + "tailwindcss": "3.3.3", + "zod": "3.22.4" }, "devDependencies": { - "prettier-plugin-astro": "^0.11.0", - "typescript": "5.1.6" + "prettier-plugin-astro": "0.11.1", + "typescript": "5.2.2" } } From 73550e4733b917979fd18429a274b651f035cdcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:17:22 +0200 Subject: [PATCH 14/18] Uncomment date --- web/src/components/Badge.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/components/Badge.astro b/web/src/components/Badge.astro index afdf02232..8f977c064 100644 --- a/web/src/components/Badge.astro +++ b/web/src/components/Badge.astro @@ -12,5 +12,5 @@ d="M10 0a10 10 0 1 0 10 10A10.011 10.011 0 0 0 10 0Zm3.982 13.982a1 1 0 0 1-1.414 0l-3.274-3.274A1.012 1.012 0 0 1 9 10V6a1 1 0 0 1 2 0v3.586l2.982 2.982a1 1 0 0 1 0 1.414Z" > - {/* ¡Abierto hasta el 27 de julio! */} + ¡Abierto hasta el 27 de julio! From e1709dda6c973a6b50fd32093d927aff9ed8cb25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:17:27 +0200 Subject: [PATCH 15/18] Move projects to array --- web/src/components/Projects.astro | 80 ++++++++++++++++++++----------- 1 file changed, 51 insertions(+), 29 deletions(-) diff --git a/web/src/components/Projects.astro b/web/src/components/Projects.astro index 17987c148..1089116dd 100644 --- a/web/src/components/Projects.astro +++ b/web/src/components/Projects.astro @@ -1,33 +1,55 @@ --- import Badge from "./Badge.astro" + +const PROJECTS = [ + { + title: "Lista de lectura", + description: + "Implementar una pequeña aplicación de lista de libros utilizando el framework de frontend de tu elección (React, Angular, Vue, Svelte, Qwik, etc).", + image: "/images/1.webp", + alt: "Una persona en una escalera rodeado de libros", + url: "https://github.com/midudev/pruebas-tecnicas/tree/main/pruebas/01-reading-list", + }, + { + title: "Tienda y resultados", + description: + "Crear una aplicación que consta de 3 componentes principales: Una caja de búsqueda, lista de resultados y descripción del detalle del producto. Usa el framework de frontend de tu elección.", + image: "/images/2.webp", + alt: "Una persona en una escalera rodeado de libros", + url: "https://github.com/midudev/pruebas-tecnicas/tree/main/pruebas/02-bazar-universal", + }, +] --- - + From 734112ffd6636e3fc76308235966d34a7f096811 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:47:44 +0200 Subject: [PATCH 16/18] Add image --- web/public/2.webp | Bin 0 -> 45364 bytes web/src/styles/global.css | 7 ------- 2 files changed, 7 deletions(-) create mode 100644 web/public/2.webp diff --git a/web/public/2.webp b/web/public/2.webp new file mode 100644 index 0000000000000000000000000000000000000000..60f9b0adb1ec1b0684ae057c8850019bb8b19158 GIT binary patch literal 45364 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 literal 0 HcmV?d00001 diff --git a/web/src/styles/global.css b/web/src/styles/global.css index 3570ffa14..b5ac7542e 100644 --- a/web/src/styles/global.css +++ b/web/src/styles/global.css @@ -156,13 +156,6 @@ padding-left: 1.375rem; } - ul:not(.unset):not(:where([class~="prose"] *))>li::before { - position: absolute; - left: 0; - content: "»"; - color: rgb(var(--color-text-muted)); - } - ol:not(.unset):not(:where([class~="prose"] *)) { padding-left: 1.125rem; } From 4f0f98bf8118e58aeb8570f42ea621787350b5b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Mon, 9 Oct 2023 16:50:40 +0200 Subject: [PATCH 17/18] Add new test --- web/public/{ => images}/2.webp | Bin web/src/components/Header.astro | 40 ++++++++++++++-------- web/src/components/HeaderSocialLink.astro | 14 +++++--- 3 files changed, 34 insertions(+), 20 deletions(-) rename web/public/{ => images}/2.webp (100%) diff --git a/web/public/2.webp b/web/public/images/2.webp similarity index 100% rename from web/public/2.webp rename to web/public/images/2.webp diff --git a/web/src/components/Header.astro b/web/src/components/Header.astro index 9327d5b4b..58fb68c0d 100644 --- a/web/src/components/Header.astro +++ b/web/src/components/Header.astro @@ -1,6 +1,6 @@ --- -import HeaderSocialLink from "./HeaderSocialLink.astro"; -import DarkModeToggle from "./DarkModeToggle.astro"; +import HeaderSocialLink from "./HeaderSocialLink.astro" +import DarkModeToggle from "./DarkModeToggle.astro" ---
@@ -14,33 +14,43 @@ import DarkModeToggle from "./DarkModeToggle.astro";
- - - Twitch - + + + Twitch + - + GitHub - + Twitter - + Discord
diff --git a/web/src/components/HeaderSocialLink.astro b/web/src/components/HeaderSocialLink.astro index 894f8a139..25de23286 100644 --- a/web/src/components/HeaderSocialLink.astro +++ b/web/src/components/HeaderSocialLink.astro @@ -1,15 +1,19 @@ --- -export interface Props extends astroHTML.JSX.AnchorHTMLAttributes {} +interface Props { + class?: string + href: string +} -const { href, class: className, ...props } = Astro.props; +const { href, class: className, ...props } = Astro.props --- + \ No newline at end of file + {...props}> From 44750734314cb392c41a699d5f8780e8afb6112e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Dur=C3=A1n?= Date: Wed, 11 Oct 2023 12:38:14 +0200 Subject: [PATCH 18/18] Add live-coding --- .../01-node-callbacks-promises/README.md | 147 ++++++++++++++++++ .../already-solved/dotenv.js | 29 ++++ .../already-solved/index.js | 96 ++++++++++++ .../already-solved/server.js | 51 ++++++ .../01-node-callbacks-promises/archivo1.txt | 1 + .../01-node-callbacks-promises/archivo2.txt | 1 + .../01-node-callbacks-promises/archivo3.txt | 1 + .../01-node-callbacks-promises/input.txt | 1 + .../01-node-callbacks-promises/package.json | 14 ++ .../solutions/dotenv.js | 0 .../solutions/index.js | 0 .../solutions/server.js | 0 .../test/dotenv.test.js | 57 +++++++ .../test/index.test.js | 63 ++++++++ .../test/server.test.js | 54 +++++++ 15 files changed, 515 insertions(+) create mode 100644 live-coding/01-node-callbacks-promises/README.md create mode 100644 live-coding/01-node-callbacks-promises/already-solved/dotenv.js create mode 100644 live-coding/01-node-callbacks-promises/already-solved/index.js create mode 100644 live-coding/01-node-callbacks-promises/already-solved/server.js create mode 100644 live-coding/01-node-callbacks-promises/archivo1.txt create mode 100644 live-coding/01-node-callbacks-promises/archivo2.txt create mode 100644 live-coding/01-node-callbacks-promises/archivo3.txt create mode 100644 live-coding/01-node-callbacks-promises/input.txt create mode 100644 live-coding/01-node-callbacks-promises/package.json create mode 100644 live-coding/01-node-callbacks-promises/solutions/dotenv.js create mode 100644 live-coding/01-node-callbacks-promises/solutions/index.js create mode 100644 live-coding/01-node-callbacks-promises/solutions/server.js create mode 100644 live-coding/01-node-callbacks-promises/test/dotenv.test.js create mode 100644 live-coding/01-node-callbacks-promises/test/index.test.js create mode 100644 live-coding/01-node-callbacks-promises/test/server.test.js diff --git a/live-coding/01-node-callbacks-promises/README.md b/live-coding/01-node-callbacks-promises/README.md new file mode 100644 index 000000000..2747ffd95 --- /dev/null +++ b/live-coding/01-node-callbacks-promises/README.md @@ -0,0 +1,147 @@ +# Prueba Técnica JavaScript + Node.js + +Escribe las soluciones en el archivo `solutions/index.js` manteniendo el nombre de las funciones y sus `export`. Usa `ESModules` en tu proyecto de Node.js + +1 - Arregla esta función para que el código posterior funcione como se espera: + +```javascript +import net from 'node:net' + +export const ping = (ip) => { + const startTime = process.hrtime() + + const client = net.connect({ port: 80, host: ip }, () => { + client.end() + return { time: process.hrtime(startTime), ip } + }) + + client.on('error', (err) => { + throw err + client.end() + }) +} + +ping('midu.dev', (err, info) => { + if (err) console.error(err) + console.log(info) +}) +``` + +2 - Transforma la siguiente función para que funcione con promesas en lugar de callbacks: + +```javascript +export function obtenerDatosPromise(callback) { + setTimeout(() => { + callback(null, { data: 'datos importantes' }); + }, 2000); +} +``` + +3 - Explica qué hace la funcion. Identifica y corrige los errores en el siguiente código. Si ves algo innecesario, elimínalo. Luego mejoralo para que siga funcionando con callback y luego haz lo que consideres para mejorar su legibilidad. + +```javascript +export function procesarArchivo() { + fs.readFile('input.txt', 'utf8', (error, contenido) => { + if (error) { + console.error('Error leyendo archivo:', error.message); + return false; + } + + setTimeout(() => { + const textoProcesado = contenido.toUpperCase(); + + fs.writeFile('output.txt', textoProcesado, error => { + if (error) { + console.error('Error guardando archivo:', error.message); + return false; + } + + console.log('Archivo procesado y guardado con éxito'); + return true + }); + + }, 1000); + }); +} +``` + +4 - ¿Cómo mejorarías el siguiente código y por qué? Arregla los tests si es necesario: + +```javascript +import fs from 'node:fs'; + +export function leerArchivos() { + const archivo1 = fs.readSync('archivo1.txt', 'utf8'); + const archivo2 = fs.readSync('archivo2.txt', 'utf8'); + const archivo3 = fs.readSync('archivo3.txt', 'utf8'); + + return `${archivo1} ${archivo2} ${archivo3}` +} + +leerArchivos(); +``` + +5 - Escribe una funcion `delay` que retorne una promesa que se resuelva después de `n` milisegundos. Por ejemplo: + +```javascript +export async function delay () { + // ... +} + +delay(3000).then(() => console.log('Hola mundo')); +// o.. +await delay(3000) +console.log('Hola mundo') +``` + +6. Vamos a crear nuestra propia utilidad `dotenv` en el archivo `dotenv.js`. + +- La utilidad debe devolver un método `config` que lee el archivo `.env` y añade las variables de entorno que haya en el archivo al objeto `process.env`. + +- Por ejemplo si tu archivo `.env` contiene: + +```sh +PORT=8080 +TOKEN="123abc" +``` + +Entonces podríamos hacer esto: + +```javascript +const dotenv = require("./dotenv.js"); +dotenv.config() + +console.log(process.env.PORT) // "8008" +console.log(process.env.TOKEN) // "123abc" +``` + +También se le puede pasar el path del archivo `.env` como parámetro: + +```javascript +const dotenv = require("./dotenv.js"); +dotenv.config("./config/.env.local") +``` + +Cosas a tener en cuenta: + +- Sólo se permite usar el módulo `fs` para leer el archivo. +- Si el archivo no existe, no debe dar error, simplemente no hace nada. +- Si el archivo existe, pero no tiene ninguna variable de entorno, no debe hacer nada. +- Sólo debe soportar el archivo `.env` o el que se le pasa como parametro, no hace falta que soporte `.env.local`, `.env.development` y similares de forma automática. +- Las variables de entorno siempre son strings, por lo que si en el archivo `.env` hay un número, por ejemplo `PORT=8080`, al leerlo con `fs` y añadirlo a `process.env` debe ser un string, no un número. +- `process.env` es un objeto y, por lo tanto, es mutable. Esto significa que podemos añadir propiedades nuevas sin problemas. + + +7 - Diseña una API REST utilizando Express que permite a los usuarios crear, leer, modificar, actualizar y eliminar elementos de una lista. + +La lista tendrá objetos que tienen la siguiente forma: + +```javascript +{ + id: 1, + content: 'Item 1' +} +``` + +Haz la solución en el archivo `solutions/server.js` y exporta el `app` y `server` creado. +Instala Express con `npm install express`. No te preocupes por CORS. diff --git a/live-coding/01-node-callbacks-promises/already-solved/dotenv.js b/live-coding/01-node-callbacks-promises/already-solved/dotenv.js new file mode 100644 index 000000000..0aae0198f --- /dev/null +++ b/live-coding/01-node-callbacks-promises/already-solved/dotenv.js @@ -0,0 +1,29 @@ +import { readFileSync } from 'node:fs' + +function parseEnv(env) { + const lines = env.split('\n') + + lines.forEach(line => { + const [key, ...value] = line.split('=') + const valueString = value.join('') + const hasQuotes = valueString.startsWith('"') && valueString.endsWith('"') + const valueToStore = hasQuotes ? valueString.slice(1, -1) : valueString + process.env[key] = valueToStore + }) + +} + +export function config({ path = '.env' } = {}) { + try { + const env = readFileSync(path, 'utf8') + parseEnv(env) + } catch (e) { + console.error(e) + } +} + +const dotenv = { + config +} + +export default dotenv \ No newline at end of file diff --git a/live-coding/01-node-callbacks-promises/already-solved/index.js b/live-coding/01-node-callbacks-promises/already-solved/index.js new file mode 100644 index 000000000..b09f74feb --- /dev/null +++ b/live-coding/01-node-callbacks-promises/already-solved/index.js @@ -0,0 +1,96 @@ +import net from 'node:net' +import fs from 'node:fs' + +export const ping = (ip, callback) => { + const startTime = process.hrtime() + + const client = net.connect({ port: 80, host: ip }, () => { + client.end() + callback(null, { time: process.hrtime(startTime), ip }) + }) + + client.on('error', (err) => { + client.end() + callback(err) + }) +} + +// ping('midu.dev', (err, info) => { +// if (err) console.error(err) +// console.log(info) +// }) + +export function obtenerDatosPromise() { + return new Promise((resolve) => { + setTimeout(() => { + resolve({ data: 'datos importantes' }); + }, 2000); + }) +} + +export function procesarArchivo(callback) { + const handleReadFile = (error, contenido) => { + if (error) { + console.error('Error leyendo archivo:', error.message); + callback(error) + } + + const textoProcesado = contenido.toUpperCase(); + + fs.writeFile('output.txt', textoProcesado, handleWriteFile); + } + + const handleWriteFile = error => { + if (error) { + console.error('Error guardando archivo:', error.message); + callback(error) + } + + console.log('Archivo procesado y guardado con éxito'); + callback(null) + } + + fs.readFile('input.txt', 'utf8', handleReadFile); +} + +export async function procesarArchivoPromise() { + try { + const file = await fs.promises.readFile('input.txt', 'utf8') + const textoProcesado = file.toUpperCase() + await fs.promises.writeFile('output.txt', textoProcesado) + } catch (error) { + console.error('Error procesando archivo:', error.message) + throw error + } +} + +// export function leerArchivos() { +// const archivo1 = fs.readSync('archivo1.txt', 'utf8'); +// const archivo2 = fs.readSync('archivo2.txt', 'utf8'); +// const archivo3 = fs.readSync('archivo3.txt', 'utf8'); + +// return `${archivo1} ${archivo2} ${archivo3}` +// } + +// leerArchivos(); + +export async function leerArchivos() { + console.time('leerArchivos') + const [a, b, c] = await Promise.all([ + fs.promises.readFile('archivo1.txt', 'utf8'), + fs.promises.readFile('archivo2.txt', 'utf8'), + fs.promises.readFile('archivo3.txt', 'utf8') + ]) + console.timeEnd('leerArchivos') + + return `${a} ${b} ${c}` +} + + +export async function delay (ms) { + return new Promise((resolve) => { + setTimeout(() => { + resolve() + }, ms) + }) +} \ No newline at end of file diff --git a/live-coding/01-node-callbacks-promises/already-solved/server.js b/live-coding/01-node-callbacks-promises/already-solved/server.js new file mode 100644 index 000000000..86487c4f2 --- /dev/null +++ b/live-coding/01-node-callbacks-promises/already-solved/server.js @@ -0,0 +1,51 @@ +import express from 'express' + +export const app = express() +app.use(express.json()) + +const items = [{ + id: 1, + content: 'Item 1' +}] + +// GET /items +// Retorna todos los items +app.get('/items', (req, res) => { + return res.json(items) +}) + +// GET /items/:id +// Retorna un item por su id +app.get('/items/:id', (req, res) => { + const { id } = req.params + const item = items.find(item => item.id === +id) + return res.json(item) +}) + +// POST /items +app.post('/items', (req, res) => { + const { content } = req.body + const newId = items.length + 1 + const newItem = { id: newId, content } + items.push(newItem) + return res.json(newItem) +}) + +// PUT /items/:id +app.put('/items/:id', (req, res) => { + const { id } = req.params + const { content } = req.body + const item = items.find(item => item.id === +id) + item.content = content + return res.json(item) +}) + +// DELETE /items/:id +app.delete('/items/:id', (req, res) => { + const { id } = req.params + const itemIndex = items.findIndex(item => item.id === +id) + items.splice(itemIndex, 1) + return res.status(200).json() +}) + +export const server = app.listen(3000) \ No newline at end of file diff --git a/live-coding/01-node-callbacks-promises/archivo1.txt b/live-coding/01-node-callbacks-promises/archivo1.txt new file mode 100644 index 000000000..b8b4a4e2a --- /dev/null +++ b/live-coding/01-node-callbacks-promises/archivo1.txt @@ -0,0 +1 @@ +hola \ No newline at end of file diff --git a/live-coding/01-node-callbacks-promises/archivo2.txt b/live-coding/01-node-callbacks-promises/archivo2.txt new file mode 100644 index 000000000..bc15d3de5 --- /dev/null +++ b/live-coding/01-node-callbacks-promises/archivo2.txt @@ -0,0 +1 @@ +qué \ No newline at end of file diff --git a/live-coding/01-node-callbacks-promises/archivo3.txt b/live-coding/01-node-callbacks-promises/archivo3.txt new file mode 100644 index 000000000..89bb09219 --- /dev/null +++ b/live-coding/01-node-callbacks-promises/archivo3.txt @@ -0,0 +1 @@ +tal \ No newline at end of file diff --git a/live-coding/01-node-callbacks-promises/input.txt b/live-coding/01-node-callbacks-promises/input.txt new file mode 100644 index 000000000..9400454e5 --- /dev/null +++ b/live-coding/01-node-callbacks-promises/input.txt @@ -0,0 +1 @@ +gogogo \ No newline at end of file diff --git a/live-coding/01-node-callbacks-promises/package.json b/live-coding/01-node-callbacks-promises/package.json new file mode 100644 index 000000000..2d43ad418 --- /dev/null +++ b/live-coding/01-node-callbacks-promises/package.json @@ -0,0 +1,14 @@ +{ + "name": "prueba-tecnica-javascript-node", + "module": "index.ts", + "type": "module", + "scripts": { + "test": "node --test" + }, + "devDependencies": { + "supertest": "^6.3.3" + }, + "dependencies": { + "express": "4.18.2" + } +} diff --git a/live-coding/01-node-callbacks-promises/solutions/dotenv.js b/live-coding/01-node-callbacks-promises/solutions/dotenv.js new file mode 100644 index 000000000..e69de29bb diff --git a/live-coding/01-node-callbacks-promises/solutions/index.js b/live-coding/01-node-callbacks-promises/solutions/index.js new file mode 100644 index 000000000..e69de29bb diff --git a/live-coding/01-node-callbacks-promises/solutions/server.js b/live-coding/01-node-callbacks-promises/solutions/server.js new file mode 100644 index 000000000..e69de29bb diff --git a/live-coding/01-node-callbacks-promises/test/dotenv.test.js b/live-coding/01-node-callbacks-promises/test/dotenv.test.js new file mode 100644 index 000000000..a8ae6c37b --- /dev/null +++ b/live-coding/01-node-callbacks-promises/test/dotenv.test.js @@ -0,0 +1,57 @@ +import { describe, it, beforeEach, afterEach } from 'node:test' +import { equal } from 'node:assert/strict' +import { unlinkSync, writeFileSync } from 'node:fs' +import { createRequire } from 'node:module' +import { config } from '../solutions/dotenv.js' + +describe('1. dotenv', () => { + beforeEach(() => { + // clean process.env + for (const key of Object.keys(process.env)) { + delete process.env[key] + } + }) + + afterEach(() => { + try { + unlinkSync('.env') + } catch {} + + try { + unlinkSync('./test/.env.local') + } catch {} + }) + + it('1.1. load .env file', () => { + // create .env file in root directory + writeFileSync('.env', 'PORT=3000\nTOKEN="123abc"') + config() + + equal(process.env.PORT, '3000') + equal(process.env.TOKEN, '123abc') + }) + + it('1.2. load .env file from custom path', () => { + // create .env file in root directory + writeFileSync('./test/.env.local', 'PORT=3000\nTOKEN="123abc"') + config({ path: './test/.env.local' }) + + equal(process.env.PORT, '3000') + equal(process.env.TOKEN, '123abc') + }) + + it('1.3 it works even without .env file', () => { + config() + equal(process.env.TOKEN, undefined) + }) + + it('1.4 dont use dotenv dependency', () => { + // check that dotenv dependency is not installed + try { + const require = createRequire(import.meta.url) + require('dotenv') + } catch (error) { + equal(error.code, 'MODULE_NOT_FOUND') + } + }) +}) \ No newline at end of file diff --git a/live-coding/01-node-callbacks-promises/test/index.test.js b/live-coding/01-node-callbacks-promises/test/index.test.js new file mode 100644 index 000000000..985b47a2e --- /dev/null +++ b/live-coding/01-node-callbacks-promises/test/index.test.js @@ -0,0 +1,63 @@ +import { ping, obtenerDatosPromise, procesarArchivoPromise, procesarArchivo, leerArchivos } from "../solutions/index.js"; + +import { describe, it, beforeEach, afterEach } from 'node:test' +import { equal, ifError } from 'node:assert/strict' +import { unlinkSync, writeFileSync } from 'node:fs' +import { readFile } from 'node:fs/promises' +import { createRequire } from 'node:module' + +describe('1. ping', () => { + it('1.1. ping midu.dev', (_, done) => { + ping('midu.dev', (err, info) => { + ifError(err) + equal(info.ip, 'midu.dev') + done() + }) + }) +}) + +describe('2. obtenerDatosPromise', () => { + it('2.1. obtenerDatosPromise', async () => { + const { data } = await obtenerDatosPromise({ time: 1 }) + equal(data, 'datos importantes') + }) +}) + +describe('3. procesarArchivoPromise', () => { + afterEach(() => { + try { + unlinkSync('output.txt') + } catch {} + }) + + it('3.1. procesarArchivo', (t, done) => { + writeFileSync('input.txt', 'gogogo') + procesarArchivo((err) => { + ifError(err) + readFile('output.txt', 'utf8') + .then((contenido) => { + equal(contenido, 'GOGOGO') + done() + }) + }) + }) + + // it('3.1. procesarArchivoPromise', async () => { + // writeFileSync('input.txt', 'hola') + // await procesarArchivoPromise() + // const contenido = await readFile('output.txt', 'utf8') + // equal(contenido, 'HOLA') + // }) +}) + +describe('4. leerArchivos', () => { + // it('4.1. leerArchivos', () => { + // const mensaje = leerArchivos() + // equal(mensaje, 'hola qué tal') + // }) + + it('4.1. leerArchivos', async () => { + const mensaje = await leerArchivos() + equal(mensaje, 'hola qué tal') + }) +}) \ No newline at end of file diff --git a/live-coding/01-node-callbacks-promises/test/server.test.js b/live-coding/01-node-callbacks-promises/test/server.test.js new file mode 100644 index 000000000..a08af2dac --- /dev/null +++ b/live-coding/01-node-callbacks-promises/test/server.test.js @@ -0,0 +1,54 @@ +import { describe, it, after } from 'node:test' +import { equal, deepStrictEqual } from 'node:assert/strict' +import request from 'supertest' + +import { app, server } from '../solutions/server.js' + +describe('Items Routes', () => { + let itemId = null + + after(() => { + server.close() + }) + + it('should fetch all tasks', async () => { + const response = await request(app).get('/items') + + equal(response.statusCode, 200) + equal(Array.isArray(response.body), true) + equal(response.body.length, 1) + equal(response.body[0].content, 'Item 1') + }) + + it('should add a new item', async () => { + const response = await request(app) + .post('/items') + .send({ + content: 'Test item' + }) + + equal(response.statusCode, 200) + equal(response.body.content, 'Test item') + itemId = response.body.id + + const { statusCode, body } = await request(app).get(`/items/${itemId}`) + equal(statusCode, 200) + equal(body.content, 'Test item') + equal(body.id, itemId) + }) + + it('should delete a task', async () => { + const { statusCode } = await request(app).delete(`/items/${itemId}`) + equal(statusCode, 200) + }) + + it('should have no tasks after deletion', async () => { + const response = await request(app).get('/items') + + equal(response.statusCode, 200) + deepStrictEqual(response.body, [{ + id: 1, + content: 'Item 1' + }]) + }) +}) \ No newline at end of file