From b92649f3eaece074abdee6daa1e6fbe0bfe5faf8 Mon Sep 17 00:00:00 2001 From: Mehul Mohan Date: Wed, 25 Oct 2023 13:22:09 +0530 Subject: [PATCH 01/15] feat: add support for SQL labs --- .vitepress/config.ts | 7 +- .vitepress/theme/custom.css | 4 + bun.lockb | Bin 0 -> 37735 bytes docs/technologies/sql.md | 123 +++++++ package.json | 5 +- yarn.lock | 636 ------------------------------------ 6 files changed, 135 insertions(+), 640 deletions(-) create mode 100755 bun.lockb create mode 100644 docs/technologies/sql.md delete mode 100644 yarn.lock diff --git a/.vitepress/config.ts b/.vitepress/config.ts index 2fb53d1..0f3d883 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -105,6 +105,10 @@ export default defineConfig({ text: 'Python', link: '/docs/technologies/python-pytest' }, + { + text: 'SQL', + link: '/docs/technologies/sql' + }, { text: 'Go', link: '/docs/technologies/go' @@ -131,8 +135,7 @@ export default defineConfig({ logo: '/favicons/ms-icon-310x310.png', footer: { - message: 'Released under the MIT License.', - copyright: `Copyright © codedamn™ 2015-${new Date().getFullYear()} | All rights reserved.` + copyright: `Copyright © codedamn ${new Date().getFullYear()}. All rights reserved.` }, editLink: { diff --git a/.vitepress/theme/custom.css b/.vitepress/theme/custom.css index b5d88e4..f4a72f4 100644 --- a/.vitepress/theme/custom.css +++ b/.vitepress/theme/custom.css @@ -2,6 +2,10 @@ --vp-cdm-red: #e83e3f; --vp-c-brand: var(--vp-cdm-red); + --vp-c-brand-1: var(--vp-cdm-red); + --vp-c-brand-2: var(--vp-cdm-red); + --vp-c-brand-3: var(--vp-cdm-red); + --vp-c-brand-light: var(--vp-cdm-red); --vp-c-brand-lighter: var(--vp-cdm-red); --vp-c-brand-dark: var(--vp-cdm-red); diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..0bfd1f16c1819f949164c61e55a13cb19b9f25e9 GIT binary patch literal 37735 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 UIPL4%K{meLIWHId@B91z0k+}O + +## Step 2 - Lab Defaults + +For creating an SQL lab, you need to provide a database script written in JavaScript. Codedamn uses `better-sqlite3` to run SQLite adapter using Node.js. + +Fork this repository here and modify the `seed-db.js` file. Use this as your default repository: https://github.com/codedamn-classrooms/sqlite-default-template + +Codedamn currently supports SQLite. This seed script is ran right before giving the practice playground to the user hence you can prepare your database in the script. + +Here's how your seed script should look like: + +```js +// Import better-sqlite3 and create a database connection +import Database from 'better-sqlite3' +import fs from 'fs' + +// Reset database +const databasePath = './database.sqlite' + +if (fs.existsSync(databasePath)) fs.unlinkSync(databasePath) + +const db = new Database(databasePath) + +// Seed your database here. For example: + +// Create a table +db.exec(`CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL)`) + +// Insert data +db.prepare(`INSERT INTO users (name) VALUES ('Alice')`) + +// Close the database +db.close() +``` + +## Step 3 - Lab challenges + + + +## Step 4 - Evaluation script + +In order to evaluate your challenges, you can one of two things (or both): + +- Directly access database file and check if relevant table, columns, etc. exist. +- Access content of the SQL query user has written (almost always a SELECT query), execute it and compare the result with your answer query. + +Let's assume you have the following lab challenges: + +- Create a table called `quotes` with only one column named `quote` +- Insert at least 5 random quotes in this table. +- Write a query that gets all quotes that start with the letter `t` + +Here's how a test file would look like: + +```js +// Import better-sqlite3 and create a database connection +import Database from 'better-sqlite3' +import fs from 'fs' +import assert from 'assert' + +// this depends on which file you asked the user to write in +const databasePath = '/home/damner/code/database.sqlite' +const db = new Database(databasePath) + +const results = [] + +try { + db.exec('select * from quotes limit 1;') + + // quotes table exist + results.push(true) +} catch(error) { + console.error('Could not pass test', error) + results.push(false) +} + +try { + const quotes = db.prepare('select * from quotes limit 5;').all() + + assert.equal(quotes.length, 5) + results.push(true) +} catch(error) { + console.error('Could not pass test', error) + results.push(false) +} + +// test from solution file +try { + const userQueryFile = '/home/damner/code/query.sql' + const userQuery = fs.readFileSync(userQueryFile, 'utf-8').trim() + const userOutput = db.prepare(userQuery).all() + + const solutionQuery = `SELECT * from quotes where quote like 't%';` + const solutionOutput = db.prepare(solutionQuery).all() + + assert.deepStrictEqual(solutionOutput, userOutput) + results.push(true) +} catch(error) { + console.error('Could not pass test', error) + results.push(false) +} + + +// write the results array boolean. this will map to passed or failed challenges depending on the boolean value at the challenge index +fs.writeFileSync(process.env.UNIT_TEST_OUTPUT_FILE, JSON.stringify(results)) + +``` + +Best practices: + +- Try to keep SQL labs single-challenge only. Either test only the `SELECT` logic or only the logic where labs test how they create a database/table/data. +- If you have a lab that requires multiple challenges, ask user to comment all SQL commands (`INSERT`, etc.) and keep only `SELECT` statements in the code to keep testing simpler. diff --git a/package.json b/package.json index cd4a0fa..2b2167f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "teach.codedamn.com", "version": "1.0.0", + "type": "module", "main": "index.js", "license": "MIT", "scripts": { @@ -10,7 +11,7 @@ "preview": "vitepress preview" }, "dependencies": { - "vitepress": "^1.0.0-beta.2", - "vue": "^3.3.4" + "vitepress": "^1.0.0-rc.24", + "vue": "^3.3.6" } } diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 899ea5e..0000000 --- a/yarn.lock +++ /dev/null @@ -1,636 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@algolia/autocomplete-core@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7" - integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.9.3" - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-plugin-algolia-insights@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587" - integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== - dependencies: - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-preset-algolia@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da" - integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== - dependencies: - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-shared@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa" - integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== - -"@algolia/cache-browser-local-storage@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.3.tgz#b9e0da012b2f124f785134a4d468ee0841b2399d" - integrity sha512-hWH1yCxgG3+R/xZIscmUrWAIBnmBFHH5j30fY/+aPkEZWt90wYILfAHIOZ1/Wxhho5SkPfwFmT7ooX2d9JeQBw== - dependencies: - "@algolia/cache-common" "4.14.3" - -"@algolia/cache-common@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.14.3.tgz#a78e9faee3dfec018eab7b0996e918e06b476ac7" - integrity sha512-oZJofOoD9FQOwiGTzyRnmzvh3ZP8WVTNPBLH5xU5JNF7drDbRT0ocVT0h/xB2rPHYzOeXRrLaQQBwRT/CKom0Q== - -"@algolia/cache-in-memory@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.14.3.tgz#96cefb942aeb80e51e6a7e29f25f4f7f3439b736" - integrity sha512-ES0hHQnzWjeioLQf5Nq+x1AWdZJ50znNPSH3puB/Y4Xsg4Av1bvLmTJe7SY2uqONaeMTvL0OaVcoVtQgJVw0vg== - dependencies: - "@algolia/cache-common" "4.14.3" - -"@algolia/client-account@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.14.3.tgz#6d7d032a65c600339ce066505c77013d9a9e4966" - integrity sha512-PBcPb0+f5Xbh5UfLZNx2Ow589OdP8WYjB4CnvupfYBrl9JyC1sdH4jcq/ri8osO/mCZYjZrQsKAPIqW/gQmizQ== - dependencies: - "@algolia/client-common" "4.14.3" - "@algolia/client-search" "4.14.3" - "@algolia/transporter" "4.14.3" - -"@algolia/client-analytics@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.14.3.tgz#ca409d00a8fff98fdcc215dc96731039900055dc" - integrity sha512-eAwQq0Hb/aauv9NhCH5Dp3Nm29oFx28sayFN2fdOWemwSeJHIl7TmcsxVlRsO50fsD8CtPcDhtGeD3AIFLNvqw== - dependencies: - "@algolia/client-common" "4.14.3" - "@algolia/client-search" "4.14.3" - "@algolia/requester-common" "4.14.3" - "@algolia/transporter" "4.14.3" - -"@algolia/client-common@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.14.3.tgz#c44e48652b2121a20d7a40cfd68d095ebb4191a8" - integrity sha512-jkPPDZdi63IK64Yg4WccdCsAP4pHxSkr4usplkUZM5C1l1oEpZXsy2c579LQ0rvwCs5JFmwfNG4ahOszidfWPw== - dependencies: - "@algolia/requester-common" "4.14.3" - "@algolia/transporter" "4.14.3" - -"@algolia/client-personalization@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.14.3.tgz#8f71325035aa2a5fa7d1d567575235cf1d6c654f" - integrity sha512-UCX1MtkVNgaOL9f0e22x6tC9e2H3unZQlSUdnVaSKpZ+hdSChXGaRjp2UIT7pxmPqNCyv51F597KEX5WT60jNg== - dependencies: - "@algolia/client-common" "4.14.3" - "@algolia/requester-common" "4.14.3" - "@algolia/transporter" "4.14.3" - -"@algolia/client-search@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.14.3.tgz#cf1e77549f5c3e73408ffe6441ede985fde69da0" - integrity sha512-I2U7xBx5OPFdPLA8AXKUPPxGY3HDxZ4r7+mlZ8ZpLbI8/ri6fnu6B4z3wcL7sgHhDYMwnAE8Xr0AB0h3Hnkp4A== - dependencies: - "@algolia/client-common" "4.14.3" - "@algolia/requester-common" "4.14.3" - "@algolia/transporter" "4.14.3" - -"@algolia/logger-common@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.14.3.tgz#87d4725e7f56ea5a39b605771b7149fff62032a7" - integrity sha512-kUEAZaBt/J3RjYi8MEBT2QEexJR2kAE2mtLmezsmqMQZTV502TkHCxYzTwY2dE7OKcUTxi4OFlMuS4GId9CWPw== - -"@algolia/logger-console@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.14.3.tgz#1f19f8f0a5ef11f01d1f9545290eb6a89b71fb8a" - integrity sha512-ZWqAlUITktiMN2EiFpQIFCJS10N96A++yrexqC2Z+3hgF/JcKrOxOdT4nSCQoEPvU4Ki9QKbpzbebRDemZt/hw== - dependencies: - "@algolia/logger-common" "4.14.3" - -"@algolia/requester-browser-xhr@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.3.tgz#bcf55cba20f58fd9bc95ee55793b5219f3ce8888" - integrity sha512-AZeg2T08WLUPvDncl2XLX2O67W5wIO8MNaT7z5ii5LgBTuk/rU4CikTjCe2xsUleIZeFl++QrPAi4Bdxws6r/Q== - dependencies: - "@algolia/requester-common" "4.14.3" - -"@algolia/requester-common@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.14.3.tgz#2d02fbe01afb7ae5651ae8dfe62d6c089f103714" - integrity sha512-RrRzqNyKFDP7IkTuV3XvYGF9cDPn9h6qEDl595lXva3YUk9YSS8+MGZnnkOMHvjkrSCKfoLeLbm/T4tmoIeclw== - -"@algolia/requester-node-http@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.14.3.tgz#72389e1c2e5d964702451e75e368eefe85a09d8f" - integrity sha512-O5wnPxtDRPuW2U0EaOz9rMMWdlhwP0J0eSL1Z7TtXF8xnUeeUyNJrdhV5uy2CAp6RbhM1VuC3sOJcIR6Av+vbA== - dependencies: - "@algolia/requester-common" "4.14.3" - -"@algolia/transporter@4.14.3": - version "4.14.3" - resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.14.3.tgz#5593036bd9cf2adfd077fdc3e81d2e6118660a7a" - integrity sha512-2qlKlKsnGJ008exFRb5RTeTOqhLZj0bkMCMVskxoqWejs2Q2QtWmsiH98hDfpw0fmnyhzHEt0Z7lqxBYp8bW2w== - dependencies: - "@algolia/cache-common" "4.14.3" - "@algolia/logger-common" "4.14.3" - "@algolia/requester-common" "4.14.3" - -"@babel/parser@^7.20.15", "@babel/parser@^7.21.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" - integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== - -"@docsearch/css@3.5.1", "@docsearch/css@^3.5.0": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.5.1.tgz#4adf9884735bbfea621c3716e80ea97baa419b73" - integrity sha512-2Pu9HDg/uP/IT10rbQ+4OrTQuxIWdKVUEdcw9/w7kZJv9NeHS6skJx1xuRiFyoGKwAzcHXnLp7csE99sj+O1YA== - -"@docsearch/js@^3.5.0": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.5.1.tgz#6d8de3b4fcf7de94462c0e592e333efa9ebbbabd" - integrity sha512-EXi8de5njxgP6TV3N9ytnGRLG9zmBNTEZjR4VzwPcpPLbZxxTLG2gaFyJyKiFVQxHW/DPlMrDJA3qoRRGEkgZw== - dependencies: - "@docsearch/react" "3.5.1" - preact "^10.0.0" - -"@docsearch/react@3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.5.1.tgz#35f4a75f948211d8bb6830d2147c575f96a85274" - integrity sha512-t5mEODdLzZq4PTFAm/dvqcvZFdPDMdfPE5rJS5SC8OUq9mPzxEy6b+9THIqNM9P0ocCb4UC5jqBrxKclnuIbzQ== - dependencies: - "@algolia/autocomplete-core" "1.9.3" - "@algolia/autocomplete-preset-algolia" "1.9.3" - "@docsearch/css" "3.5.1" - algoliasearch "^4.0.0" - -"@esbuild/android-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" - integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== - -"@esbuild/android-arm@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" - integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== - -"@esbuild/android-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" - integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== - -"@esbuild/darwin-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" - integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== - -"@esbuild/darwin-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" - integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== - -"@esbuild/freebsd-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" - integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== - -"@esbuild/freebsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" - integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== - -"@esbuild/linux-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" - integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== - -"@esbuild/linux-arm@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" - integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== - -"@esbuild/linux-ia32@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" - integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== - -"@esbuild/linux-loong64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" - integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== - -"@esbuild/linux-mips64el@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" - integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== - -"@esbuild/linux-ppc64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" - integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== - -"@esbuild/linux-riscv64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" - integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== - -"@esbuild/linux-s390x@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" - integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== - -"@esbuild/linux-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" - integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== - -"@esbuild/netbsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" - integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== - -"@esbuild/openbsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" - integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== - -"@esbuild/sunos-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" - integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== - -"@esbuild/win32-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" - integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== - -"@esbuild/win32-ia32@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" - integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== - -"@esbuild/win32-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" - integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== - -"@jridgewell/sourcemap-codec@^1.4.13": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@types/web-bluetooth@^0.0.17": - version "0.0.17" - resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz#5c9f3c617f64a9735d7b72a7cc671e166d900c40" - integrity sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA== - -"@vitejs/plugin-vue@^4.2.3": - version "4.2.3" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz#ee0b6dfcc62fe65364e6395bf38fa2ba10bb44b6" - integrity sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw== - -"@vue/compiler-core@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128" - integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g== - dependencies: - "@babel/parser" "^7.21.3" - "@vue/shared" "3.3.4" - estree-walker "^2.0.2" - source-map-js "^1.0.2" - -"@vue/compiler-dom@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz#f56e09b5f4d7dc350f981784de9713d823341151" - integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w== - dependencies: - "@vue/compiler-core" "3.3.4" - "@vue/shared" "3.3.4" - -"@vue/compiler-sfc@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df" - integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ== - dependencies: - "@babel/parser" "^7.20.15" - "@vue/compiler-core" "3.3.4" - "@vue/compiler-dom" "3.3.4" - "@vue/compiler-ssr" "3.3.4" - "@vue/reactivity-transform" "3.3.4" - "@vue/shared" "3.3.4" - estree-walker "^2.0.2" - magic-string "^0.30.0" - postcss "^8.1.10" - source-map-js "^1.0.2" - -"@vue/compiler-ssr@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz#9d1379abffa4f2b0cd844174ceec4a9721138777" - integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ== - dependencies: - "@vue/compiler-dom" "3.3.4" - "@vue/shared" "3.3.4" - -"@vue/devtools-api@^6.5.0": - version "6.5.0" - resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz#98b99425edee70b4c992692628fa1ea2c1e57d07" - integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q== - -"@vue/reactivity-transform@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz#52908476e34d6a65c6c21cd2722d41ed8ae51929" - integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw== - dependencies: - "@babel/parser" "^7.20.15" - "@vue/compiler-core" "3.3.4" - "@vue/shared" "3.3.4" - estree-walker "^2.0.2" - magic-string "^0.30.0" - -"@vue/reactivity@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253" - integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ== - dependencies: - "@vue/shared" "3.3.4" - -"@vue/runtime-core@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1" - integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA== - dependencies: - "@vue/reactivity" "3.3.4" - "@vue/shared" "3.3.4" - -"@vue/runtime-dom@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566" - integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ== - dependencies: - "@vue/runtime-core" "3.3.4" - "@vue/shared" "3.3.4" - csstype "^3.1.1" - -"@vue/server-renderer@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c" - integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ== - dependencies: - "@vue/compiler-ssr" "3.3.4" - "@vue/shared" "3.3.4" - -"@vue/shared@3.3.4": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.4.tgz#06e83c5027f464eef861c329be81454bc8b70780" - integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ== - -"@vueuse/core@10.2.0", "@vueuse/core@^10.1.2": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.2.0.tgz#65cf5222bf0178ff5ddec20a113d7ca6c30481e1" - integrity sha512-aHBnoCteIS3hFu7ZZkVB93SanVDY6t4TIb7XDLxJT/HQdAZz+2RdIEJ8rj5LUoEJr7Damb5+sJmtpCwGez5ozQ== - dependencies: - "@types/web-bluetooth" "^0.0.17" - "@vueuse/metadata" "10.2.0" - "@vueuse/shared" "10.2.0" - vue-demi ">=0.14.5" - -"@vueuse/integrations@^10.1.2": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.2.0.tgz#9d88a72685c288a95ca65868a41c969ac316743d" - integrity sha512-e+MIRMi2Zo8DZKXszut8iVoZGlf07XXoaDt27W0DRJVYPdods50MV8Bnla5Tnuil0gHY/W5mMcqiQre9Xb246Q== - dependencies: - "@vueuse/core" "10.2.0" - "@vueuse/shared" "10.2.0" - vue-demi ">=0.14.5" - -"@vueuse/metadata@10.2.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.2.0.tgz#a026425972786b83f5db6588d8252df42e07c247" - integrity sha512-IR7Mkq6QSgZ38q/2ZzOt+Zz1OpcEsnwE64WBumDQ+RGKrosFCtUA2zgRrOqDEzPBXrVB+4HhFkwDjQMu0fDBKw== - -"@vueuse/shared@10.2.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.2.0.tgz#9309b8e1ed660e24643482065ef0e59d223c3f69" - integrity sha512-dIeA8+g9Av3H5iF4NXR/sft4V6vys76CpZ6hxwj8eMXybXk2WRl3scSsOVi+kQ9SX38COR7AH7WwY83UcuxbSg== - dependencies: - vue-demi ">=0.14.5" - -algoliasearch@^4.0.0: - version "4.14.3" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.14.3.tgz#f02a77a4db17de2f676018938847494b692035e7" - integrity sha512-GZTEuxzfWbP/vr7ZJfGzIl8fOsoxN916Z6FY2Egc9q2TmZ6hvq5KfAxY89pPW01oW/2HDEKA8d30f9iAH9eXYg== - dependencies: - "@algolia/cache-browser-local-storage" "4.14.3" - "@algolia/cache-common" "4.14.3" - "@algolia/cache-in-memory" "4.14.3" - "@algolia/client-account" "4.14.3" - "@algolia/client-analytics" "4.14.3" - "@algolia/client-common" "4.14.3" - "@algolia/client-personalization" "4.14.3" - "@algolia/client-search" "4.14.3" - "@algolia/logger-common" "4.14.3" - "@algolia/logger-console" "4.14.3" - "@algolia/requester-browser-xhr" "4.14.3" - "@algolia/requester-common" "4.14.3" - "@algolia/requester-node-http" "4.14.3" - "@algolia/transporter" "4.14.3" - -ansi-sequence-parser@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz#4d790f31236ac20366b23b3916b789e1bde39aed" - integrity sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ== - -body-scroll-lock@4.0.0-beta.0: - version "4.0.0-beta.0" - resolved "https://registry.yarnpkg.com/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz#4f78789d10e6388115c0460cd6d7d4dd2bbc4f7e" - integrity sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ== - -csstype@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -esbuild@^0.17.5: - version "0.17.19" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" - integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== - 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" - -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -focus-trap@^7.4.3: - version "7.4.3" - resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.4.3.tgz#a3dae73d44df359eb92bbf37b18e173e813b16c5" - integrity sha512-BgSSbK4GPnS2VbtZ50VtOv1Sti6DIkj3+LkVjiWMNjLeAp1SH1UlLx3ULu/DCu4vq5R4/uvTm+zrvsMsuYmGLg== - dependencies: - tabbable "^6.1.2" - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -jsonc-parser@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -magic-string@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.0.tgz#fd58a4748c5c4547338a424e90fa5dd17f4de529" - integrity sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" - -mark.js@8.11.1: - version "8.11.1" - resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5" - integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ== - -minisearch@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.1.0.tgz#6e74e743dbd0e88fa5ca52fef2391e0aa7055252" - integrity sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg== - -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== - -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -postcss@^8.1.10: - version "8.4.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" - integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.23: - version "8.4.24" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df" - integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -preact@^10.0.0: - version "10.12.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.12.1.tgz#8f9cb5442f560e532729b7d23d42fd1161354a21" - integrity sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg== - -rollup@^3.21.0: - version "3.25.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.25.1.tgz#9fff79d22ff1a904b2b595a2fb9bc3793cb987d8" - integrity sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ== - optionalDependencies: - fsevents "~2.3.2" - -shiki@^0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.2.tgz#d51440800b701392b31ce2336036058e338247a1" - integrity sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A== - dependencies: - ansi-sequence-parser "^1.1.0" - jsonc-parser "^3.2.0" - vscode-oniguruma "^1.7.0" - vscode-textmate "^8.0.0" - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -tabbable@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.1.2.tgz#b0d3ca81d582d48a80f71b267d1434b1469a3703" - integrity sha512-qCN98uP7i9z0fIS4amQ5zbGBOq+OSigYeGvPy7NDk8Y9yncqDZ9pRPgfsc2PJIVM9RrJj7GIfuRgmjoUU9zTHQ== - -vite@^4.3.9: - version "4.3.9" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.3.9.tgz#db896200c0b1aa13b37cdc35c9e99ee2fdd5f96d" - integrity sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg== - dependencies: - esbuild "^0.17.5" - postcss "^8.4.23" - rollup "^3.21.0" - optionalDependencies: - fsevents "~2.3.2" - -vitepress@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-beta.2.tgz#b277b8d539c5697db274c0f98172809f9516a9bf" - integrity sha512-DBXYjtYbm3W1IPPJ2TiCaK/XK+o/2XmL2+jslOGKm+txcbmG0kbeB+vadC5tCUZA9NdA+9Ywj3M4548c7t/SDg== - dependencies: - "@docsearch/css" "^3.5.0" - "@docsearch/js" "^3.5.0" - "@vitejs/plugin-vue" "^4.2.3" - "@vue/devtools-api" "^6.5.0" - "@vueuse/core" "^10.1.2" - "@vueuse/integrations" "^10.1.2" - body-scroll-lock "4.0.0-beta.0" - focus-trap "^7.4.3" - mark.js "8.11.1" - minisearch "^6.1.0" - shiki "^0.14.2" - vite "^4.3.9" - vue "^3.3.4" - -vscode-oniguruma@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" - integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== - -vscode-textmate@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" - integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== - -vue-demi@>=0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.5.tgz#676d0463d1a1266d5ab5cba932e043d8f5f2fbd9" - integrity sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA== - -vue@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6" - integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw== - dependencies: - "@vue/compiler-dom" "3.3.4" - "@vue/compiler-sfc" "3.3.4" - "@vue/runtime-dom" "3.3.4" - "@vue/server-renderer" "3.3.4" - "@vue/shared" "3.3.4" From d8f910186d24fee060393384234f2181db262c65 Mon Sep 17 00:00:00 2001 From: Mehul Mohan Date: Wed, 25 Oct 2023 13:28:39 +0530 Subject: [PATCH 02/15] fix: shift back to yarn for now --- bun.lockb | Bin 37735 -> 0 bytes yarn.lock | 635 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 635 insertions(+) delete mode 100755 bun.lockb create mode 100644 yarn.lock diff --git a/bun.lockb b/bun.lockb deleted file mode 100755 index 0bfd1f16c1819f949164c61e55a13cb19b9f25e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37735 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 UIPL4%K{meLIWHId@B91z0k+}O=0.14.6" + +"@vueuse/integrations@^10.5.0": + version "10.5.0" + resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.5.0.tgz#38f00bd5a1cd0160645f0c75efd5d9579061e3d6" + integrity sha512-fm5sXLCK0Ww3rRnzqnCQRmfjDURaI4xMsx+T+cec0ngQqHx/JgUtm8G0vRjwtonIeTBsH1Q8L3SucE+7K7upJQ== + dependencies: + "@vueuse/core" "10.5.0" + "@vueuse/shared" "10.5.0" + vue-demi ">=0.14.6" + +"@vueuse/metadata@10.5.0": + version "10.5.0" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.5.0.tgz#7501a88cf5cbf7a515a03f0b8bbe3cecf30cad11" + integrity sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw== + +"@vueuse/shared@10.5.0": + version "10.5.0" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.5.0.tgz#b3ac8c190a5dae41db5e1b60fe304a9b4247393c" + integrity sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg== + dependencies: + vue-demi ">=0.14.6" + +algoliasearch@^4.19.1: + version "4.20.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.20.0.tgz#700c2cb66e14f8a288460036c7b2a554d0d93cf4" + integrity sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g== + dependencies: + "@algolia/cache-browser-local-storage" "4.20.0" + "@algolia/cache-common" "4.20.0" + "@algolia/cache-in-memory" "4.20.0" + "@algolia/client-account" "4.20.0" + "@algolia/client-analytics" "4.20.0" + "@algolia/client-common" "4.20.0" + "@algolia/client-personalization" "4.20.0" + "@algolia/client-search" "4.20.0" + "@algolia/logger-common" "4.20.0" + "@algolia/logger-console" "4.20.0" + "@algolia/requester-browser-xhr" "4.20.0" + "@algolia/requester-common" "4.20.0" + "@algolia/requester-node-http" "4.20.0" + "@algolia/transporter" "4.20.0" + +ansi-sequence-parser@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf" + integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg== + +csstype@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +esbuild@^0.18.10: + version "0.18.20" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" + integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== + optionalDependencies: + "@esbuild/android-arm" "0.18.20" + "@esbuild/android-arm64" "0.18.20" + "@esbuild/android-x64" "0.18.20" + "@esbuild/darwin-arm64" "0.18.20" + "@esbuild/darwin-x64" "0.18.20" + "@esbuild/freebsd-arm64" "0.18.20" + "@esbuild/freebsd-x64" "0.18.20" + "@esbuild/linux-arm" "0.18.20" + "@esbuild/linux-arm64" "0.18.20" + "@esbuild/linux-ia32" "0.18.20" + "@esbuild/linux-loong64" "0.18.20" + "@esbuild/linux-mips64el" "0.18.20" + "@esbuild/linux-ppc64" "0.18.20" + "@esbuild/linux-riscv64" "0.18.20" + "@esbuild/linux-s390x" "0.18.20" + "@esbuild/linux-x64" "0.18.20" + "@esbuild/netbsd-x64" "0.18.20" + "@esbuild/openbsd-x64" "0.18.20" + "@esbuild/sunos-x64" "0.18.20" + "@esbuild/win32-arm64" "0.18.20" + "@esbuild/win32-ia32" "0.18.20" + "@esbuild/win32-x64" "0.18.20" + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +focus-trap@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.5.4.tgz#6c4e342fe1dae6add9c2aa332a6e7a0bbd495ba2" + integrity sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w== + dependencies: + tabbable "^6.2.0" + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +jsonc-parser@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +magic-string@^0.30.5: + version "0.30.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" + integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +mark.js@8.11.1: + version "8.11.1" + resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5" + integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ== + +minisearch@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.1.0.tgz#6e74e743dbd0e88fa5ca52fef2391e0aa7055252" + integrity sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg== + +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +postcss@^8.4.27, postcss@^8.4.31: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +preact@^10.0.0: + version "10.18.1" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.18.1.tgz#3b84bb305f0b05f4ad5784b981d15fcec4e105da" + integrity sha512-mKUD7RRkQQM6s7Rkmi7IFkoEHjuFqRQUaXamO61E6Nn7vqF/bo7EZCmSyrUnp2UWHw0O7XjZ2eeXis+m7tf4lg== + +rollup@^3.27.1: + version "3.29.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" + integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== + optionalDependencies: + fsevents "~2.3.2" + +shiki@^0.14.5: + version "0.14.5" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.5.tgz#375dd214e57eccb04f0daf35a32aa615861deb93" + integrity sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw== + dependencies: + ansi-sequence-parser "^1.1.0" + jsonc-parser "^3.2.0" + vscode-oniguruma "^1.7.0" + vscode-textmate "^8.0.0" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +tabbable@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" + integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== + +vite@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.0.tgz#ec406295b4167ac3bc23e26f9c8ff559287cff26" + integrity sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw== + dependencies: + esbuild "^0.18.10" + postcss "^8.4.27" + rollup "^3.27.1" + optionalDependencies: + fsevents "~2.3.2" + +vitepress@^1.0.0-rc.24: + version "1.0.0-rc.24" + resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-rc.24.tgz#517b44d10e0cd3773f5e2f9799c2bde8e60f0505" + integrity sha512-RpnL8cnOGwiRlBbrYQUm9sYkJbtyOt/wYXk2diTcokY4yvks/5lq9LuSt+MURWB6ZqwpSNHvTmxgaSfLoG0/OA== + dependencies: + "@docsearch/css" "^3.5.2" + "@docsearch/js" "^3.5.2" + "@types/markdown-it" "^13.0.4" + "@vitejs/plugin-vue" "4.3.1" + "@vue/devtools-api" "^6.5.1" + "@vueuse/core" "^10.5.0" + "@vueuse/integrations" "^10.5.0" + focus-trap "^7.5.4" + mark.js "8.11.1" + minisearch "^6.1.0" + shiki "^0.14.5" + vite "^4.5.0" + vue "^3.3.6" + +vscode-oniguruma@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" + integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== + +vscode-textmate@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" + integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== + +vue-demi@>=0.14.6: + version "0.14.6" + resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.6.tgz#dc706582851dc1cdc17a0054f4fec2eb6df74c92" + integrity sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w== + +vue@^3.3.6: + version "3.3.7" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.7.tgz#972a218682443a3819d121261b2bff914417f4f0" + integrity sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA== + dependencies: + "@vue/compiler-dom" "3.3.7" + "@vue/compiler-sfc" "3.3.7" + "@vue/runtime-dom" "3.3.7" + "@vue/server-renderer" "3.3.7" + "@vue/shared" "3.3.7" From 7aab47a9381ba5debc66b8ce6a5f3611d23125c7 Mon Sep 17 00:00:00 2001 From: Mehul Mohan Date: Wed, 25 Oct 2023 13:32:34 +0530 Subject: [PATCH 03/15] fix: change page name to sqlite --- .vitepress/config.ts | 4 ++-- docs/technologies/{sql.md => sqlite.md} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename docs/technologies/{sql.md => sqlite.md} (100%) diff --git a/.vitepress/config.ts b/.vitepress/config.ts index 0f3d883..f40e32c 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -106,8 +106,8 @@ export default defineConfig({ link: '/docs/technologies/python-pytest' }, { - text: 'SQL', - link: '/docs/technologies/sql' + text: 'SQL (SQLite)', + link: '/docs/technologies/sqlite' }, { text: 'Go', diff --git a/docs/technologies/sql.md b/docs/technologies/sqlite.md similarity index 100% rename from docs/technologies/sql.md rename to docs/technologies/sqlite.md From e8022087d202b8be0d853f318562b1be107459b3 Mon Sep 17 00:00:00 2001 From: Mehul Mohan Date: Mon, 18 Dec 2023 15:10:31 +0530 Subject: [PATCH 04/15] chore: change html-css docs from puppeteer to playwright --- docs/technologies/html-css.md | 185 +++++++++++----------------------- 1 file changed, 61 insertions(+), 124 deletions(-) diff --git a/docs/technologies/html-css.md b/docs/technologies/html-css.md index fa6f47d..eeb8187 100644 --- a/docs/technologies/html-css.md +++ b/docs/technologies/html-css.md @@ -37,15 +37,14 @@ Container image should be set as "HTML/CSS" for HTML/CSS labs. The following sof - `static-server` npm package installed globally: [static-server](https://www.npmjs.com/package/static-server) - Puppeteer installation with Chrome for E2E testing (more on this in Evaluation tab) -- Node.js v14, Yarn, NPM, Bun.js +- Node.js v18, Yarn, NPM, Bun The following NPM packages (non-exhaustive list) are globally installed: -- puppeteer@10.2.0 +- puppeteer@20.2.0 - static-server@2.2.1 - chai@4.3.4 - nodemon@2.0.12 -- node-fetch@2.6 - yarn@1.22.11 - truffle@5.5.13 - @drizzle/store@1.5.3 @@ -92,27 +91,69 @@ The full path of the script is made available at run-time with another environme set -e 1 mkdir -p /home/damner/code/.labtests +cd /home/damner/code/.labtests -cat > /home/damner/code/.labtests/package.json << EOF +cat > package.json << EOF { "type": "module" } EOF -cd /home/damner/code/.labtests -mv $TEST_FILE_NAME ./nodecheck.test.js +cat > playwright.config.ts << EOF +import { defineConfig, devices } from '@playwright/test' +import puppeteer from 'puppeteer' + +export default defineConfig({ + testDir: '.', + fullyParallel: false, + forbidOnly: true, + retries: 1, + workers: 1, + + // Reporter to use + reporter: [['list'], ['json', { outputFile: './report.json' }]], + + use: { + baseURL: 'http://localhost:1337/', + trace: 'off', + launchOptions: { + headless: true, + executablePath: puppeteer.executablePath(), + chromiumSandbox: false + } + }, + + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] } + } + ] +}) +EOF + +mv $TEST_FILE_NAME nodecheck.spec.js -# import puppeteer doesn't work without it npm link puppeteer +bun install @playwright/test@1.40.1 playwright@1.40.1 fs-extra + +bunx playwright test || true + +# process results file +cat > process-results.js << EOF +import fs from 'fs-extra' +const payload = JSON.parse(fs.readFileSync('./report.json', 'utf-8')) +const answers = payload.suites[0].suites[0].specs.map(spec => spec.ok === true) +require('fs').writeFileSync(process.env.UNIT_TEST_OUTPUT_FILE, JSON.stringify(answers)) +EOF -node nodecheck.test.js 2>&1 | tee evaluationscript.log ``` This will make sure we run the full Node.js script and write the results properly for the playground IDE to read. It would look like the following: ![](/images/html-css/lab-test-command.png) -**Note:** You can setup a full testing environment in this block of evaluation script (installing more packages, etc. if you want). However, your test file will be timed out **after 30 seconds**. Therefore, make sure, all of your testing can happen within 30 seconds. +**Note:** You can setup a full testing environment in this block of evaluation script (installing more packages, etc. if you want). However, your test file will be timed out **after 60 seconds**. Therefore, make sure, all of your testing can happen within 60 seconds. ## Step 5 - Test file @@ -126,138 +167,34 @@ You can write anything here. Whatever script you write here, can be executed fro The point of having a file like this to provide you with a place where you can write your evaluation script. -**For HTML/CSS labs, you can use the default test file of Node.js (Puppeteer) evaluation:** +**For HTML/CSS labs, you can use the default test file for playwright:** ![](/images/html-css/lab-test-file-dropdown.png) The moment you select the Node.js (Puppeteer), the following code should appear in your editor: ```js -// !! Boilerplate code starts -import fs from 'node:fs' -import puppeteer from 'puppeteer' - -// testlog is a log of test results -const testlog = [] - -// launch the headless browser for testing -const browser = await puppeteer.launch({ - executablePath: '/usr/bin/google-chrome', - headless: true, - args: [ - '--no-sandbox', - '--disable-setuid-sandbox', - '--disable-dev-shm-usage', - '--disable-accelerated-2d-canvas', - '--no-first-run', - '--no-zygote', - '--single-process', - '--disable-gpu', - ], -}) -const page = await browser.newPage() - -// wait for server to come online -await page.goto('http://localhost:1337') - -// add jQuery and chai for unit testing support if you want -await Promise.all([ - page.addScriptTag({ - url: 'https://code.jquery.com/jquery-3.5.1.slim.min.js', - }), - page.addScriptTag({ - url: 'https://cdnjs.cloudflare.com/ajax/libs/chai/4.2.0/chai.min.js', - }), -]) - -// add chai-dom -await page.addScriptTag({ - url: 'https://cdn.jsdelivr.net/npm/chai-dom@1.11.0/chai-dom.min.js', -}) - -// !! Boilerplate code ends - -// Start your tests here in individual try-catch block +import { expect, test } from '@playwright/test' -{ - const result = await page.evaluate(async () => { - const { expect } = window.chai - try { - expect( - document.body.innerHTML.toLowerCase().includes('hello world') - ).to.be.true - return { status: 'pass' } - } catch (error) { - return { - status: 'error', - error: error.message || 'Challenge failed', - } - } +test.describe.serial('Test', () => { + test.beforeEach(async ({ page }, testInfo) => { + console.log(`Running ${testInfo.title}`) + await page.goto('/') }) - testlog.push(result) -} - -{ - const result = await page.evaluate(async () => { - const { expect } = window.chai - try { - expect( - document.body.innerHTML - .toLowerCase() - .includes('hello world again') - ).to.be.true - return { status: 'pass' } - } catch (error) { - return { - status: 'error', - error: error.message || 'Challenge failed', - } - } + test('Stylesheet is linked', async ({ page }) => { + const linkElement = page.locator('link[rel="stylesheet"]') + expect(linkElement).toBeDefined() + expect(await linkElement.getAttribute('href')).toEqual('style.css') }) - - testlog.push(result) -} - -// very important for the final length of \`testlog\` array to match the number of challenges, in this case - 2. - -// write the test log -fs.writeFileSync( - '/home/damner/code/.labtests/testlog.json', - JSON.stringify(testlog) -) - -// write the results array boolean. this will map to passed or failed challenges depending on the boolean value at the challenge index -fs.writeFileSync( - process.env.UNIT_TEST_OUTPUT_FILE, - JSON.stringify(testlog.map((result) => result.status === 'pass')) -) - -await browser.close().catch((err) => {}) - -// Exit the process -process.exit(0) +}) ``` -Let us understand what is happening here exactly: - -- Remember that we can code anything in this file and then execute it later. In this example, we're writing a Node.js script from scratch. -- Remember that we already have puppeteer with headless chrome pre-installed in codedamn playgrounds for HTML/CSS. Therefore, we can import it directly. -- In the first part of `run` function, we start a headless puppeteer browser. -- We then visit `http://localhost:1337`. At this point, I would highly recommend you to read [How port mapping works for codedamn playgrounds](/docs/concepts/port-mapping), if you haven't yet. -- From this point onwards, we have some `try-catch` blocks. But why? Because we want to populate an array `results` and then finally write this array to a file inside environment variable `UNIT_TEST_OUTPUT_FILE` -- Let's say, `[true, false]` is written to the file `process.env.UNIT_TEST_OUTPUT_FILE`. In that case, the first challenge would be marked as passed in the IDE, and the second challenge would be marked as failed: ![](/images/html-css/playground-tests.png) -- Whatever your mapping of final JSON boolean array written in `process.env.UNIT_TEST_OUTPUT_FILE` is, it is matched exactly to the results on the playground. For example, if the array written is `[true, false, true, true]`, the following would be the output on playground: - -![](/images/html-css/playground-tests-2.png) - - **Note:** If your `results` array contain less values than challenges added back in the UI, the "extra" UI challenges would automatically stay as "false". If you add more challenges in test file, the results would be ignored. Therefore, it is **important** that the `results.length` is same as the number of challenges you added in the challenges UI. -- We then also add jQuery and chai for assisting with testing. Although it is not required as long as you can populate the `results` array properly. - This completes your evaluation script for the lab. Your lab is now almost ready for users. ## Setup Verified Solution (Recommended) From b262fe802168e38ddc82b8c60c34ba72a5b8cc72 Mon Sep 17 00:00:00 2001 From: Mehul Mohan Date: Mon, 18 Dec 2023 15:21:21 +0530 Subject: [PATCH 05/15] chore: update options for playwright config --- docs/technologies/html-css.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/technologies/html-css.md b/docs/technologies/html-css.md index eeb8187..dbbe575 100644 --- a/docs/technologies/html-css.md +++ b/docs/technologies/html-css.md @@ -104,10 +104,12 @@ import { defineConfig, devices } from '@playwright/test' import puppeteer from 'puppeteer' export default defineConfig({ + timeout: 10_000, + maxFailures: 0, testDir: '.', fullyParallel: false, forbidOnly: true, - retries: 1, + retries: 0, workers: 1, // Reporter to use From 58188550d944b5af1b023ae13d58f04350357463 Mon Sep 17 00:00:00 2001 From: Mehul Mohan Date: Mon, 18 Dec 2023 15:25:22 +0530 Subject: [PATCH 06/15] chore: update options for playwright config --- docs/technologies/html-css.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/technologies/html-css.md b/docs/technologies/html-css.md index dbbe575..5dd10a6 100644 --- a/docs/technologies/html-css.md +++ b/docs/technologies/html-css.md @@ -146,7 +146,7 @@ cat > process-results.js << EOF import fs from 'fs-extra' const payload = JSON.parse(fs.readFileSync('./report.json', 'utf-8')) const answers = payload.suites[0].suites[0].specs.map(spec => spec.ok === true) -require('fs').writeFileSync(process.env.UNIT_TEST_OUTPUT_FILE, JSON.stringify(answers)) +fs.writeFileSync(process.env.UNIT_TEST_OUTPUT_FILE, JSON.stringify(answers)) EOF ``` From 5953e812276488019e2d43d3bce42c0a6969a8c9 Mon Sep 17 00:00:00 2001 From: Mehul Mohan Date: Mon, 18 Dec 2023 15:34:32 +0530 Subject: [PATCH 07/15] chore: bugfix with html-css evaluation script --- docs/technologies/html-css.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/technologies/html-css.md b/docs/technologies/html-css.md index 5dd10a6..2cafb4b 100644 --- a/docs/technologies/html-css.md +++ b/docs/technologies/html-css.md @@ -149,8 +149,11 @@ const answers = payload.suites[0].suites[0].specs.map(spec => spec.ok === true) fs.writeFileSync(process.env.UNIT_TEST_OUTPUT_FILE, JSON.stringify(answers)) EOF +node process-results.js + ``` + This will make sure we run the full Node.js script and write the results properly for the playground IDE to read. It would look like the following: ![](/images/html-css/lab-test-command.png) From 3eeb3b2aa9435db4dc65af61e8550108bd818ae7 Mon Sep 17 00:00:00 2001 From: Pranav Date: Mon, 18 Dec 2023 16:02:45 +0530 Subject: [PATCH 08/15] ready --- docs/technologies/html-css.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/technologies/html-css.md b/docs/technologies/html-css.md index 2cafb4b..8af3ea9 100644 --- a/docs/technologies/html-css.md +++ b/docs/technologies/html-css.md @@ -145,7 +145,7 @@ bunx playwright test || true cat > process-results.js << EOF import fs from 'fs-extra' const payload = JSON.parse(fs.readFileSync('./report.json', 'utf-8')) -const answers = payload.suites[0].suites[0].specs.map(spec => spec.ok === true) +const answers = payload.suites[0].suites[0].specs.map(spec => spec.tests[0].status === "expected") fs.writeFileSync(process.env.UNIT_TEST_OUTPUT_FILE, JSON.stringify(answers)) EOF From feb37abd7da6c82d29cb9643f5c21da173a0a18f Mon Sep 17 00:00:00 2001 From: Pranav Date: Mon, 15 Jan 2024 17:36:04 +0530 Subject: [PATCH 09/15] fix: Change React Evaluation Script (#15) --- docs/technologies/react.md | 10 +- yarn.lock | 990 ++++++++++++++++++++----------------- 2 files changed, 538 insertions(+), 462 deletions(-) diff --git a/docs/technologies/react.md b/docs/technologies/react.md index e04f72b..e19d5a9 100644 --- a/docs/technologies/react.md +++ b/docs/technologies/react.md @@ -37,7 +37,7 @@ Container image should be set as "HTML/CSS" for React labs as well. The followin - `static-server` npm package installed globally: [static-server](https://www.npmjs.com/package/static-server) - Puppeteer installation with Chrome for E2E testing (more on this in Evaluation tab) -- Node.js v14, Yarn, NPM, Bun.js +- Node.js v14, yarn, NPM, Bun.js The following NPM packages (non-exhaustive list) are globally installed: @@ -148,7 +148,7 @@ set -e 1 # Install vitest and testing util cd /home/damner/code -yarn add vitest@0.32.2 jsdom@22.1.0 @testing-library/jest-dom@5.16.5 @testing-library/react@14.0.0 --dev +bun add vitest@0.32.2 jsdom@22.1.0 @testing-library/jest-dom@5.16.5 @testing-library/react@14.0.0 --dev mkdir -p /home/damner/code/.labtests # Move test file @@ -192,11 +192,11 @@ cat > /home/damner/code/.labtests/package.json << EOF EOF # run test -(yarn vitest run --config=/home/damner/code/.labtests/config.js --threads=false --reporter=json --outputFile=/home/damner/code/.labtests/payload.json || true) | tee /home/damner/code/.labtests/evaluationscript.log +(bun vitest run --config=/home/damner/code/.labtests/config.js --threads=false --reporter=json --outputFile=/home/damner/code/.labtests/payload.json || true) | tee /home/damner/code/.labtests/evaluationscript.log # Write results to UNIT_TEST_OUTPUT_FILE to communicate to frontend cd /home/damner/code/.labtests -node process.js +bun process.js ``` You might need to have a little understanding of bash scripting. Let us understand how the evaluation bash script is working: @@ -213,7 +213,7 @@ You might need to have a little understanding of bash scripting. Let us understa ![](/images/html-css/playground-tests-2.png) -- Then we run the actual test using `yarn vitest run` command, specifying the output as JSON (read by `process.js`) and in a single thread (as we want ordered results). +- Then we run the actual test using `bun vitest run` command, specifying the output as JSON (read by `process.js`) and in a single thread (as we want ordered results). - Finally we run the `process.js` file that writes the correct JSON boolean array on `$UNIT_TEST_OUTPUT_FILE` which is then read by the playground UI and marks the lab challenges as pass or fail. diff --git a/yarn.lock b/yarn.lock index 89d0891..0648214 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,114 +29,114 @@ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa" integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== -"@algolia/cache-browser-local-storage@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz#357318242fc542ffce41d6eb5b4a9b402921b0bb" - integrity sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ== - dependencies: - "@algolia/cache-common" "4.20.0" - -"@algolia/cache-common@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.20.0.tgz#ec52230509fce891091ffd0d890618bcdc2fa20d" - integrity sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ== - -"@algolia/cache-in-memory@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz#5f18d057bd6b3b075022df085c4f83bcca4e3e67" - integrity sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg== - dependencies: - "@algolia/cache-common" "4.20.0" - -"@algolia/client-account@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.20.0.tgz#23ce0b4cffd63100fb7c1aa1c67a4494de5bd645" - integrity sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q== - dependencies: - "@algolia/client-common" "4.20.0" - "@algolia/client-search" "4.20.0" - "@algolia/transporter" "4.20.0" - -"@algolia/client-analytics@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.20.0.tgz#0aa6bef35d3a41ac3991b3f46fcd0bf00d276fa9" - integrity sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug== - dependencies: - "@algolia/client-common" "4.20.0" - "@algolia/client-search" "4.20.0" - "@algolia/requester-common" "4.20.0" - "@algolia/transporter" "4.20.0" - -"@algolia/client-common@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.20.0.tgz#ca60f04466515548651c4371a742fbb8971790ef" - integrity sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ== - dependencies: - "@algolia/requester-common" "4.20.0" - "@algolia/transporter" "4.20.0" - -"@algolia/client-personalization@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.20.0.tgz#ca81308e8ad0db3b27458b78355f124f29657181" - integrity sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ== - dependencies: - "@algolia/client-common" "4.20.0" - "@algolia/requester-common" "4.20.0" - "@algolia/transporter" "4.20.0" - -"@algolia/client-search@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.20.0.tgz#3bcce817ca6caedc835e0eaf6f580e02ee7c3e15" - integrity sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg== - dependencies: - "@algolia/client-common" "4.20.0" - "@algolia/requester-common" "4.20.0" - "@algolia/transporter" "4.20.0" - -"@algolia/logger-common@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.20.0.tgz#f148ddf67e5d733a06213bebf7117cb8a651ab36" - integrity sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ== - -"@algolia/logger-console@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.20.0.tgz#ac443d27c4e94357f3063e675039cef0aa2de0a7" - integrity sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA== - dependencies: - "@algolia/logger-common" "4.20.0" - -"@algolia/requester-browser-xhr@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz#db16d0bdef018b93b51681d3f1e134aca4f64814" - integrity sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw== - dependencies: - "@algolia/requester-common" "4.20.0" - -"@algolia/requester-common@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.20.0.tgz#65694b2263a8712b4360fef18680528ffd435b5c" - integrity sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng== - -"@algolia/requester-node-http@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz#b52b182b52b0b16dec4070832267d484a6b1d5bb" - integrity sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng== - dependencies: - "@algolia/requester-common" "4.20.0" - -"@algolia/transporter@4.20.0": - version "4.20.0" - resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.20.0.tgz#7e5b24333d7cc9a926b2f6a249f87c2889b944a9" - integrity sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg== - dependencies: - "@algolia/cache-common" "4.20.0" - "@algolia/logger-common" "4.20.0" - "@algolia/requester-common" "4.20.0" +"@algolia/cache-browser-local-storage@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz#14b6dc9abc9e3a304a5fffb063d15f30af1032d1" + integrity sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g== + dependencies: + "@algolia/cache-common" "4.22.1" + +"@algolia/cache-common@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.22.1.tgz#c625dff4bc2a74e79f9aed67b4e053b0ef1b3ec1" + integrity sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA== + +"@algolia/cache-in-memory@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz#858a3d887f521362e87d04f3943e2810226a0d71" + integrity sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw== + dependencies: + "@algolia/cache-common" "4.22.1" + +"@algolia/client-account@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.22.1.tgz#a7fb8b66b9a4f0a428e1426b2561144267d76d43" + integrity sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/client-search" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-analytics@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.22.1.tgz#506558740b4d49b1b1e3393861f729a8ce921851" + integrity sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/client-search" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-common@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.22.1.tgz#042b19c1b6157c485fa1b551349ab313944d2b05" + integrity sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ== + dependencies: + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-personalization@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.22.1.tgz#ff088d797648224fb582e9fe5828f8087835fa3d" + integrity sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-search@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.22.1.tgz#508cc6ab3d1f4e9c02735a630d4dff6fbb8514a2" + integrity sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/logger-common@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.22.1.tgz#79cf4cd295de0377a94582c6aaac59b1ded731d9" + integrity sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg== + +"@algolia/logger-console@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.22.1.tgz#0355345f6940f67aaa78ae9b81c06e44e49f2336" + integrity sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA== + dependencies: + "@algolia/logger-common" "4.22.1" + +"@algolia/requester-browser-xhr@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz#f04df6fe9690a071b267c77d26b83a3be9280361" + integrity sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw== + dependencies: + "@algolia/requester-common" "4.22.1" + +"@algolia/requester-common@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.22.1.tgz#27be35f3718aafcb6b388ff9c3aa2defabd559ff" + integrity sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg== + +"@algolia/requester-node-http@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz#589a6fa828ad0f325e727a6fcaf4e1a2343cc62b" + integrity sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA== + dependencies: + "@algolia/requester-common" "4.22.1" + +"@algolia/transporter@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.22.1.tgz#8843841b857dc021668f31647aa557ff19cd9cb1" + integrity sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ== + dependencies: + "@algolia/cache-common" "4.22.1" + "@algolia/logger-common" "4.22.1" + "@algolia/requester-common" "4.22.1" -"@babel/parser@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== "@docsearch/css@3.5.2", "@docsearch/css@^3.5.2": version "3.5.2" @@ -161,332 +161,397 @@ "@docsearch/css" "3.5.2" algoliasearch "^4.19.1" -"@esbuild/android-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" - integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== - -"@esbuild/android-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" - integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== - -"@esbuild/android-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" - integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== - -"@esbuild/darwin-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" - integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== - -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== - -"@esbuild/freebsd-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" - integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== - -"@esbuild/freebsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" - integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== - -"@esbuild/linux-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" - integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== - -"@esbuild/linux-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" - integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== - -"@esbuild/linux-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" - integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== - -"@esbuild/linux-loong64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" - integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== - -"@esbuild/linux-mips64el@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" - integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== - -"@esbuild/linux-ppc64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" - integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== - -"@esbuild/linux-riscv64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" - integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== - -"@esbuild/linux-s390x@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" - integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== - -"@esbuild/linux-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" - integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== - -"@esbuild/netbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" - integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== - -"@esbuild/openbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" - integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== - -"@esbuild/sunos-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" - integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== - -"@esbuild/win32-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" - integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== - -"@esbuild/win32-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" - integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== - -"@esbuild/win32-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" - integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== +"@esbuild/aix-ppc64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz#2acd20be6d4f0458bc8c784103495ff24f13b1d3" + integrity sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g== + +"@esbuild/android-arm64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz#b45d000017385c9051a4f03e17078abb935be220" + integrity sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q== + +"@esbuild/android-arm@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.11.tgz#f46f55414e1c3614ac682b29977792131238164c" + integrity sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw== + +"@esbuild/android-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.11.tgz#bfc01e91740b82011ef503c48f548950824922b2" + integrity sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg== + +"@esbuild/darwin-arm64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz#533fb7f5a08c37121d82c66198263dcc1bed29bf" + integrity sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ== + +"@esbuild/darwin-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz#62f3819eff7e4ddc656b7c6815a31cf9a1e7d98e" + integrity sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g== + +"@esbuild/freebsd-arm64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz#d478b4195aa3ca44160272dab85ef8baf4175b4a" + integrity sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA== + +"@esbuild/freebsd-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz#7bdcc1917409178257ca6a1a27fe06e797ec18a2" + integrity sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw== + +"@esbuild/linux-arm64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz#58ad4ff11685fcc735d7ff4ca759ab18fcfe4545" + integrity sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg== + +"@esbuild/linux-arm@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz#ce82246d873b5534d34de1e5c1b33026f35e60e3" + integrity sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q== + +"@esbuild/linux-ia32@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz#cbae1f313209affc74b80f4390c4c35c6ab83fa4" + integrity sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA== + +"@esbuild/linux-loong64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz#5f32aead1c3ec8f4cccdb7ed08b166224d4e9121" + integrity sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg== + +"@esbuild/linux-mips64el@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz#38eecf1cbb8c36a616261de858b3c10d03419af9" + integrity sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg== + +"@esbuild/linux-ppc64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz#9c5725a94e6ec15b93195e5a6afb821628afd912" + integrity sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA== + +"@esbuild/linux-riscv64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz#2dc4486d474a2a62bbe5870522a9a600e2acb916" + integrity sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ== + +"@esbuild/linux-s390x@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz#4ad8567df48f7dd4c71ec5b1753b6f37561a65a8" + integrity sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q== + +"@esbuild/linux-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz#b7390c4d5184f203ebe7ddaedf073df82a658766" + integrity sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA== + +"@esbuild/netbsd-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz#d633c09492a1721377f3bccedb2d821b911e813d" + integrity sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ== + +"@esbuild/openbsd-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz#17388c76e2f01125bf831a68c03a7ffccb65d1a2" + integrity sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw== + +"@esbuild/sunos-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz#e320636f00bb9f4fdf3a80e548cb743370d41767" + integrity sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ== + +"@esbuild/win32-arm64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz#c778b45a496e90b6fc373e2a2bb072f1441fe0ee" + integrity sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ== + +"@esbuild/win32-ia32@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz#481a65fee2e5cce74ec44823e6b09ecedcc5194c" + integrity sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg== + +"@esbuild/win32-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz#a5d300008960bb39677c46bf16f53ec70d8dee04" + integrity sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw== "@jridgewell/sourcemap-codec@^1.4.15": version "1.4.15" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@rollup/rollup-android-arm-eabi@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.5.tgz#b752b6c88a14ccfcbdf3f48c577ccc3a7f0e66b9" + integrity sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA== + +"@rollup/rollup-android-arm64@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.5.tgz#33757c3a448b9ef77b6f6292d8b0ec45c87e9c1a" + integrity sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg== + +"@rollup/rollup-darwin-arm64@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.5.tgz#5234ba62665a3f443143bc8bcea9df2cc58f55fb" + integrity sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w== + +"@rollup/rollup-darwin-x64@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.5.tgz#981256c054d3247b83313724938d606798a919d1" + integrity sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA== + +"@rollup/rollup-linux-arm-gnueabihf@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.5.tgz#120678a5a2b3a283a548dbb4d337f9187a793560" + integrity sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g== + +"@rollup/rollup-linux-arm64-gnu@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.5.tgz#c99d857e2372ece544b6f60b85058ad259f64114" + integrity sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA== + +"@rollup/rollup-linux-arm64-musl@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.5.tgz#3064060f568a5718c2a06858cd6e6d24f2ff8632" + integrity sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ== + +"@rollup/rollup-linux-riscv64-gnu@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.5.tgz#987d30b5d2b992fff07d055015991a57ff55fbad" + integrity sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA== + +"@rollup/rollup-linux-x64-gnu@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz#85946ee4d068bd12197aeeec2c6f679c94978a49" + integrity sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA== + +"@rollup/rollup-linux-x64-musl@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.5.tgz#fe0b20f9749a60eb1df43d20effa96c756ddcbd4" + integrity sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg== + +"@rollup/rollup-win32-arm64-msvc@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.5.tgz#422661ef0e16699a234465d15b2c1089ef963b2a" + integrity sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ== + +"@rollup/rollup-win32-ia32-msvc@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.5.tgz#7b73a145891c202fbcc08759248983667a035d85" + integrity sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA== + +"@rollup/rollup-win32-x64-msvc@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.5.tgz#10491ccf4f63c814d4149e0316541476ea603602" + integrity sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ== + +"@types/estree@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + "@types/linkify-it@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.4.tgz#def6a9bb0ce78140860602f16ace37a9997f086a" - integrity sha512-hPpIeeHb/2UuCw06kSNAOVWgehBLXEo0/fUs0mw3W2qhqX89PI2yvok83MnuctYGCPrabGIoi0fFso4DQ+sNUQ== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.5.tgz#1e78a3ac2428e6d7e6c05c1665c242023a4601d8" + integrity sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw== -"@types/markdown-it@^13.0.4": - version "13.0.5" - resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-13.0.5.tgz#b5bba2af9ee8473409fe1571ec036417cb1e98fa" - integrity sha512-QhJP7hkq3FCrFNx0szMNCT/79CXfcEgUIA3jc5GBfeXqoKsk3R8JZm2wRXJ2DiyjbPE4VMFOSDemLFcUTZmHEQ== +"@types/markdown-it@^13.0.7": + version "13.0.7" + resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-13.0.7.tgz#4a495115f470075bd4434a0438ac477a49c2e152" + integrity sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA== dependencies: "@types/linkify-it" "*" "@types/mdurl" "*" "@types/mdurl@*": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.4.tgz#574bfbec51eb41ab5f444116c8555bc4347feba5" - integrity sha512-ARVxjAEX5TARFRzpDRVC6cEk0hUIXCCwaMhz8y7S1/PxU6zZS1UMjyobz7q4w/D/R552r4++EhwmXK1N2rAy0A== - -"@types/web-bluetooth@^0.0.18": - version "0.0.18" - resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.18.tgz#74bd1c8fd3a2058cb6fc76b188fcded50a83d866" - integrity sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw== - -"@vitejs/plugin-vue@4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.3.1.tgz#635cf512dd1d5c78adf9e24615696e4918cd9d88" - integrity sha512-tUBEtWcF7wFtII7ayNiLNDTCE1X1afySEo+XNVMNkFXaThENyCowIEX095QqbJZGTgoOcSVDJGlnde2NG4jtbQ== - -"@vue/compiler-core@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.7.tgz#865a5734c971686d9737d85a0c5a08de045b6162" - integrity sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ== - dependencies: - "@babel/parser" "^7.23.0" - "@vue/shared" "3.3.7" + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.5.tgz#3e0d2db570e9fb6ccb2dc8fde0be1d79ac810d39" + integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA== + +"@types/web-bluetooth@^0.0.20": + version "0.0.20" + resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz#f066abfcd1cbe66267cdbbf0de010d8a41b41597" + integrity sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow== + +"@vitejs/plugin-vue@^5.0.2": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.0.3.tgz#164b36653910d27c130cf6c945b4bd9bde5bcbee" + integrity sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA== + +"@vue/compiler-core@3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.13.tgz#49f499034c25b0832845028ea3cd701fe5a17367" + integrity sha512-zGUdmB3j3Irn9z51GXLJ5s0EAHxmsm5/eXl0y6MBaajMeOAaiT4+zaDoxui4Ets98dwIRr8BBaqXXHtHSfm+KA== + dependencies: + "@babel/parser" "^7.23.6" + "@vue/shared" "3.4.13" + entities "^4.5.0" estree-walker "^2.0.2" source-map-js "^1.0.2" -"@vue/compiler-dom@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz#a245aa03f9bfcdb537a239bf02842072de0644c9" - integrity sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw== +"@vue/compiler-dom@3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.13.tgz#66a80a6ee412a3d32b7175a146b75d9ec3d1c50c" + integrity sha512-XSNbpr5Rs3kCfVAmBqMu/HDwOS+RL6y28ZZjDlnDUuf146pRWt2sQkwhsOYc9uu2lxjjJy2NcyOkK7MBLVEc7w== dependencies: - "@vue/compiler-core" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/compiler-core" "3.4.13" + "@vue/shared" "3.4.13" -"@vue/compiler-sfc@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz#219d04b3013c7b15fbc536e2279e07810b731cc2" - integrity sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw== - dependencies: - "@babel/parser" "^7.23.0" - "@vue/compiler-core" "3.3.7" - "@vue/compiler-dom" "3.3.7" - "@vue/compiler-ssr" "3.3.7" - "@vue/reactivity-transform" "3.3.7" - "@vue/shared" "3.3.7" +"@vue/compiler-sfc@3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.13.tgz#0f5f6db0e64f522c09995585453ae5f13ba54c60" + integrity sha512-SkpmQN8xIFBd5onT413DFSDdjxULJf6jmJg/t3w/DZ9I8ZzyNlLIBLO0qFLewVHyHCiAgpPZlWqSRZXYrawk3Q== + dependencies: + "@babel/parser" "^7.23.6" + "@vue/compiler-core" "3.4.13" + "@vue/compiler-dom" "3.4.13" + "@vue/compiler-ssr" "3.4.13" + "@vue/shared" "3.4.13" estree-walker "^2.0.2" magic-string "^0.30.5" - postcss "^8.4.31" + postcss "^8.4.32" source-map-js "^1.0.2" -"@vue/compiler-ssr@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz#eff4a70f7ceb800d60e68d208b96a030c0f1b636" - integrity sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg== +"@vue/compiler-ssr@3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.13.tgz#90fa9a4116f7974d7a4e43a8a67f3fc162e8720f" + integrity sha512-rwnw9SVBgD6eGKh8UucnwztieQo/R3RQrEGpE0b0cxb2xxvJeLs/fe7DoYlhEfaSyzM/qD5odkK87hl3G3oW+A== dependencies: - "@vue/compiler-dom" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/compiler-dom" "3.4.13" + "@vue/shared" "3.4.13" "@vue/devtools-api@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz#7f71f31e40973eeee65b9a64382b13593fdbd697" integrity sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA== -"@vue/reactivity-transform@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz#eb9f5110af5085079b851d162205394bc790d539" - integrity sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA== +"@vue/reactivity@3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.13.tgz#7eeeb9d598512f66e06a6438fd53464014b5ae59" + integrity sha512-/ZdUOrGKkGVONzVJkfDqNcn2fLMvaa5VlYx2KwTbnRbX06YZ4GJE0PVTmWzIxtBYdpSTLLXgw3pDggO+96KXzg== dependencies: - "@babel/parser" "^7.23.0" - "@vue/compiler-core" "3.3.7" - "@vue/shared" "3.3.7" - estree-walker "^2.0.2" - magic-string "^0.30.5" + "@vue/shared" "3.4.13" -"@vue/reactivity@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.7.tgz#48b6671a45ba33039da2c0eb25ae702f924486a9" - integrity sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg== +"@vue/runtime-core@3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.13.tgz#776cad7c1d56ec5e92a48e040c8483b89f779542" + integrity sha512-Ov4d4At7z3goxqzSqQxdfVYEcN5HY4dM1uDYL6Hu/Es9Za9BEN602zyjWhhi2+BEki5F9NizRSvn02k/tqNWlg== dependencies: - "@vue/shared" "3.3.7" + "@vue/reactivity" "3.4.13" + "@vue/shared" "3.4.13" -"@vue/runtime-core@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.7.tgz#c1eece1c98f936dc69dd0667d11b464579b128fd" - integrity sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ== +"@vue/runtime-dom@3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.13.tgz#74aff1494bee49c037b9c5355d8998c793ac0977" + integrity sha512-ynde9p16eEV3u1VCxUre2e0nKzD0l3NzH0r599+bXeLT1Yhac8Atcot3iL9XNqwolxYCI89KBII+2MSVzfrz6w== dependencies: - "@vue/reactivity" "3.3.7" - "@vue/shared" "3.3.7" + "@vue/runtime-core" "3.4.13" + "@vue/shared" "3.4.13" + csstype "^3.1.3" -"@vue/runtime-dom@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.7.tgz#e7cf88cc01591fdf6e3164825554fdadc3137ffc" - integrity sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw== +"@vue/server-renderer@3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.13.tgz#b8c9cfb2147c0a01feba7f136d3a432848dafcab" + integrity sha512-hkw+UQyDZZtSn1q30nObMfc8beVEQv2pG08nghigxGw+iOWodR+tWSuJak0mzWAHlP/xt/qLc//dG6igfgvGEA== dependencies: - "@vue/runtime-core" "3.3.7" - "@vue/shared" "3.3.7" - csstype "^3.1.2" + "@vue/compiler-ssr" "3.4.13" + "@vue/shared" "3.4.13" -"@vue/server-renderer@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.7.tgz#0cc3dc6ad39a54693e6e8f853caa3c7bb43b0364" - integrity sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw== - dependencies: - "@vue/compiler-ssr" "3.3.7" - "@vue/shared" "3.3.7" +"@vue/shared@3.4.13": + version "3.4.13" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.13.tgz#a1eefce5ddffe207d53eafbc07f4ebbea0a4768a" + integrity sha512-56crFKLPpzk85WXX1L1c0QzPOuoapWlPVys8eMG8kkRmqdMjWUqK8KpFdE2d7BQA4CEbXwyyHPq6MpFr8H9rcg== -"@vue/shared@3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.7.tgz#0091852fe5cc4237c8440fe32f3ab6bc920ae6d9" - integrity sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg== - -"@vueuse/core@10.5.0", "@vueuse/core@^10.5.0": - version "10.5.0" - resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.5.0.tgz#04d1e6d26592bb997bb755a4830ea7583c3e8612" - integrity sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A== +"@vueuse/core@10.7.2", "@vueuse/core@^10.7.1": + version "10.7.2" + resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.7.2.tgz#78917803a29a0bca1803a6521fdf7ff873f6e72c" + integrity sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ== dependencies: - "@types/web-bluetooth" "^0.0.18" - "@vueuse/metadata" "10.5.0" - "@vueuse/shared" "10.5.0" + "@types/web-bluetooth" "^0.0.20" + "@vueuse/metadata" "10.7.2" + "@vueuse/shared" "10.7.2" vue-demi ">=0.14.6" -"@vueuse/integrations@^10.5.0": - version "10.5.0" - resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.5.0.tgz#38f00bd5a1cd0160645f0c75efd5d9579061e3d6" - integrity sha512-fm5sXLCK0Ww3rRnzqnCQRmfjDURaI4xMsx+T+cec0ngQqHx/JgUtm8G0vRjwtonIeTBsH1Q8L3SucE+7K7upJQ== +"@vueuse/integrations@^10.7.1": + version "10.7.2" + resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.7.2.tgz#763de1337d3925be9097aac9a725eec39d4c8e69" + integrity sha512-+u3RLPFedjASs5EKPc69Ge49WNgqeMfSxFn+qrQTzblPXZg6+EFzhjarS5edj2qAf6xQ93f95TUxRwKStXj/sQ== dependencies: - "@vueuse/core" "10.5.0" - "@vueuse/shared" "10.5.0" + "@vueuse/core" "10.7.2" + "@vueuse/shared" "10.7.2" vue-demi ">=0.14.6" -"@vueuse/metadata@10.5.0": - version "10.5.0" - resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.5.0.tgz#7501a88cf5cbf7a515a03f0b8bbe3cecf30cad11" - integrity sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw== +"@vueuse/metadata@10.7.2": + version "10.7.2" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.7.2.tgz#ba0187ce138c287fd80301afc5b0d6a97e563633" + integrity sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ== -"@vueuse/shared@10.5.0": - version "10.5.0" - resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.5.0.tgz#b3ac8c190a5dae41db5e1b60fe304a9b4247393c" - integrity sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg== +"@vueuse/shared@10.7.2": + version "10.7.2" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.7.2.tgz#746441fbc08072371dd600a55883422c83fd0cab" + integrity sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA== dependencies: vue-demi ">=0.14.6" algoliasearch@^4.19.1: - version "4.20.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.20.0.tgz#700c2cb66e14f8a288460036c7b2a554d0d93cf4" - integrity sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g== - dependencies: - "@algolia/cache-browser-local-storage" "4.20.0" - "@algolia/cache-common" "4.20.0" - "@algolia/cache-in-memory" "4.20.0" - "@algolia/client-account" "4.20.0" - "@algolia/client-analytics" "4.20.0" - "@algolia/client-common" "4.20.0" - "@algolia/client-personalization" "4.20.0" - "@algolia/client-search" "4.20.0" - "@algolia/logger-common" "4.20.0" - "@algolia/logger-console" "4.20.0" - "@algolia/requester-browser-xhr" "4.20.0" - "@algolia/requester-common" "4.20.0" - "@algolia/requester-node-http" "4.20.0" - "@algolia/transporter" "4.20.0" - -ansi-sequence-parser@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf" - integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg== - -csstype@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -esbuild@^0.18.10: - version "0.18.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== + version "4.22.1" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.22.1.tgz#f10fbecdc7654639ec20d62f109c1b3a46bc6afc" + integrity sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg== + dependencies: + "@algolia/cache-browser-local-storage" "4.22.1" + "@algolia/cache-common" "4.22.1" + "@algolia/cache-in-memory" "4.22.1" + "@algolia/client-account" "4.22.1" + "@algolia/client-analytics" "4.22.1" + "@algolia/client-common" "4.22.1" + "@algolia/client-personalization" "4.22.1" + "@algolia/client-search" "4.22.1" + "@algolia/logger-common" "4.22.1" + "@algolia/logger-console" "4.22.1" + "@algolia/requester-browser-xhr" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/requester-node-http" "4.22.1" + "@algolia/transporter" "4.22.1" + +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +esbuild@^0.19.3: + version "0.19.11" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.11.tgz#4a02dca031e768b5556606e1b468fe72e3325d96" + integrity sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" + "@esbuild/aix-ppc64" "0.19.11" + "@esbuild/android-arm" "0.19.11" + "@esbuild/android-arm64" "0.19.11" + "@esbuild/android-x64" "0.19.11" + "@esbuild/darwin-arm64" "0.19.11" + "@esbuild/darwin-x64" "0.19.11" + "@esbuild/freebsd-arm64" "0.19.11" + "@esbuild/freebsd-x64" "0.19.11" + "@esbuild/linux-arm" "0.19.11" + "@esbuild/linux-arm64" "0.19.11" + "@esbuild/linux-ia32" "0.19.11" + "@esbuild/linux-loong64" "0.19.11" + "@esbuild/linux-mips64el" "0.19.11" + "@esbuild/linux-ppc64" "0.19.11" + "@esbuild/linux-riscv64" "0.19.11" + "@esbuild/linux-s390x" "0.19.11" + "@esbuild/linux-x64" "0.19.11" + "@esbuild/netbsd-x64" "0.19.11" + "@esbuild/openbsd-x64" "0.19.11" + "@esbuild/sunos-x64" "0.19.11" + "@esbuild/win32-arm64" "0.19.11" + "@esbuild/win32-ia32" "0.19.11" + "@esbuild/win32-x64" "0.19.11" estree-walker@^2.0.2: version "2.0.2" @@ -500,16 +565,11 @@ focus-trap@^7.5.4: dependencies: tabbable "^6.2.0" -fsevents@~2.3.2: +fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -jsonc-parser@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - magic-string@^0.30.5: version "0.30.5" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" @@ -522,51 +582,75 @@ mark.js@8.11.1: resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5" integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ== -minisearch@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.1.0.tgz#6e74e743dbd0e88fa5ca52fef2391e0aa7055252" - integrity sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg== +minisearch@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.3.0.tgz#985a2f1ca3c73c2d65af94f0616bfe57164b0b6b" + integrity sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ== -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -postcss@^8.4.27, postcss@^8.4.31: - version "8.4.31" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" - integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== +postcss@^8.4.32: + version "8.4.33" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" + integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== dependencies: - nanoid "^3.3.6" + nanoid "^3.3.7" picocolors "^1.0.0" source-map-js "^1.0.2" preact@^10.0.0: - version "10.18.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.18.1.tgz#3b84bb305f0b05f4ad5784b981d15fcec4e105da" - integrity sha512-mKUD7RRkQQM6s7Rkmi7IFkoEHjuFqRQUaXamO61E6Nn7vqF/bo7EZCmSyrUnp2UWHw0O7XjZ2eeXis+m7tf4lg== - -rollup@^3.27.1: - version "3.29.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" - integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== + version "10.19.3" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.19.3.tgz#7a7107ed2598a60676c943709ea3efb8aaafa899" + integrity sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ== + +rollup@^4.2.0: + version "4.9.5" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.9.5.tgz#62999462c90f4c8b5d7c38fc7161e63b29101b05" + integrity sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ== + dependencies: + "@types/estree" "1.0.5" optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.9.5" + "@rollup/rollup-android-arm64" "4.9.5" + "@rollup/rollup-darwin-arm64" "4.9.5" + "@rollup/rollup-darwin-x64" "4.9.5" + "@rollup/rollup-linux-arm-gnueabihf" "4.9.5" + "@rollup/rollup-linux-arm64-gnu" "4.9.5" + "@rollup/rollup-linux-arm64-musl" "4.9.5" + "@rollup/rollup-linux-riscv64-gnu" "4.9.5" + "@rollup/rollup-linux-x64-gnu" "4.9.5" + "@rollup/rollup-linux-x64-musl" "4.9.5" + "@rollup/rollup-win32-arm64-msvc" "4.9.5" + "@rollup/rollup-win32-ia32-msvc" "4.9.5" + "@rollup/rollup-win32-x64-msvc" "4.9.5" fsevents "~2.3.2" -shiki@^0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.5.tgz#375dd214e57eccb04f0daf35a32aa615861deb93" - integrity sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw== +shikiji-core@0.9.19, shikiji-core@^0.9.17: + version "0.9.19" + resolved "https://registry.yarnpkg.com/shikiji-core/-/shikiji-core-0.9.19.tgz#227975e998eb2a579cf83de30977762be3802507" + integrity sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw== + +shikiji-transformers@^0.9.17: + version "0.9.19" + resolved "https://registry.yarnpkg.com/shikiji-transformers/-/shikiji-transformers-0.9.19.tgz#23e629804d5f20332712f44f3907c03ce39052af" + integrity sha512-lGLI7Z8frQrIBbhZ74/eiJtxMoCQRbpaHEB+gcfvdIy+ZFaAtXncJGnc52932/UET+Y4GyKtwwC/vjWUCp+c/Q== dependencies: - ansi-sequence-parser "^1.1.0" - jsonc-parser "^3.2.0" - vscode-oniguruma "^1.7.0" - vscode-textmate "^8.0.0" + shikiji "0.9.19" + +shikiji@0.9.19, shikiji@^0.9.17: + version "0.9.19" + resolved "https://registry.yarnpkg.com/shikiji/-/shikiji-0.9.19.tgz#351a32b291a04cf9a6b69933f8044fe135b70f6f" + integrity sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg== + dependencies: + shikiji-core "0.9.19" source-map-js@^1.0.2: version "1.0.2" @@ -578,58 +662,50 @@ tabbable@^6.2.0: resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== -vite@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.0.tgz#ec406295b4167ac3bc23e26f9c8ff559287cff26" - integrity sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw== +vite@^5.0.11: + version "5.0.11" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.0.11.tgz#31562e41e004cb68e1d51f5d2c641ab313b289e4" + integrity sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA== dependencies: - esbuild "^0.18.10" - postcss "^8.4.27" - rollup "^3.27.1" + esbuild "^0.19.3" + postcss "^8.4.32" + rollup "^4.2.0" optionalDependencies: - fsevents "~2.3.2" + fsevents "~2.3.3" vitepress@^1.0.0-rc.24: - version "1.0.0-rc.24" - resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-rc.24.tgz#517b44d10e0cd3773f5e2f9799c2bde8e60f0505" - integrity sha512-RpnL8cnOGwiRlBbrYQUm9sYkJbtyOt/wYXk2diTcokY4yvks/5lq9LuSt+MURWB6ZqwpSNHvTmxgaSfLoG0/OA== + version "1.0.0-rc.36" + resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-rc.36.tgz#78f1c19538d65ac4e69c44bea77579f2cccf5887" + integrity sha512-2z4dpM9PplN/yvTifhavOIAazlCR6OJ5PvLoRbc+7LdcFeIlCsuDGENLX4HjMW18jQZF5/j7++PNqdBfeazxUA== dependencies: "@docsearch/css" "^3.5.2" "@docsearch/js" "^3.5.2" - "@types/markdown-it" "^13.0.4" - "@vitejs/plugin-vue" "4.3.1" + "@types/markdown-it" "^13.0.7" + "@vitejs/plugin-vue" "^5.0.2" "@vue/devtools-api" "^6.5.1" - "@vueuse/core" "^10.5.0" - "@vueuse/integrations" "^10.5.0" + "@vueuse/core" "^10.7.1" + "@vueuse/integrations" "^10.7.1" focus-trap "^7.5.4" mark.js "8.11.1" - minisearch "^6.1.0" - shiki "^0.14.5" - vite "^4.5.0" - vue "^3.3.6" - -vscode-oniguruma@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" - integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== - -vscode-textmate@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" - integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== + minisearch "^6.3.0" + shikiji "^0.9.17" + shikiji-core "^0.9.17" + shikiji-transformers "^0.9.17" + vite "^5.0.11" + vue "^3.4.5" vue-demi@>=0.14.6: version "0.14.6" resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.6.tgz#dc706582851dc1cdc17a0054f4fec2eb6df74c92" integrity sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w== -vue@^3.3.6: - version "3.3.7" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.7.tgz#972a218682443a3819d121261b2bff914417f4f0" - integrity sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA== - dependencies: - "@vue/compiler-dom" "3.3.7" - "@vue/compiler-sfc" "3.3.7" - "@vue/runtime-dom" "3.3.7" - "@vue/server-renderer" "3.3.7" - "@vue/shared" "3.3.7" +vue@^3.3.6, vue@^3.4.5: + version "3.4.13" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.13.tgz#aa522baf2344d1c4c54c769f66c0151f1872f1ff" + integrity sha512-FE3UZ0p+oUZTwz+SzlH/hDFg+XsVRFvwmx0LXjdD1pRK/cO4fu5v6ltAZji4za4IBih3dV78elUK3di8v3pWIg== + dependencies: + "@vue/compiler-dom" "3.4.13" + "@vue/compiler-sfc" "3.4.13" + "@vue/runtime-dom" "3.4.13" + "@vue/server-renderer" "3.4.13" + "@vue/shared" "3.4.13" From df135134dbfb8f426a3f32e003434a98cac07638 Mon Sep 17 00:00:00 2001 From: Pranav Date: Tue, 16 Jan 2024 23:47:56 +0530 Subject: [PATCH 10/15] fix: move yarn to bun for Node-Vitest (#16) --- docs/technologies/node.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/technologies/node.md b/docs/technologies/node.md index 518cf49..fb32b4c 100644 --- a/docs/technologies/node.md +++ b/docs/technologies/node.md @@ -105,7 +105,7 @@ set -e 1 # Install vitest and testing util cd /home/damner/code -yarn add vitest@0.32.2 jsdom@22.1.0 @testing-library/jest-dom@5.16.5 --dev +bun add vitest@0.32.2 jsdom@22.1.0 @testing-library/jest-dom@5.16.5 --dev mkdir -p /home/damner/code/.labtests # Move test file @@ -148,11 +148,11 @@ cat > /home/damner/code/.labtests/package.json << EOF EOF # run test -(yarn vitest run --config=/home/damner/code/.labtests/config.js --threads=false --reporter=json --outputFile=/home/damner/code/.labtests/payload.json || true) | tee /home/damner/code/.labtests/evaluationscript.log +(bun vitest run --config=/home/damner/code/.labtests/config.js --threads=false --reporter=json --outputFile=/home/damner/code/.labtests/payload.json || true) | tee /home/damner/code/.labtests/evaluationscript.log # Write results to UNIT_TEST_OUTPUT_FILE to communicate to frontend cd /home/damner/code/.labtests -node process.js +bun process.js ``` Let's understand what the above evaluation script is doing: From dfe630a6abd6c1cb96690a2f36799f2bb6e6795e Mon Sep 17 00:00:00 2001 From: Pranav Date: Wed, 17 Jan 2024 23:49:28 +0530 Subject: [PATCH 11/15] fix: change bun to node on runtime (#17) --- docs/technologies/node.md | 2 +- docs/technologies/react.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/technologies/node.md b/docs/technologies/node.md index fb32b4c..798ac4a 100644 --- a/docs/technologies/node.md +++ b/docs/technologies/node.md @@ -152,7 +152,7 @@ EOF # Write results to UNIT_TEST_OUTPUT_FILE to communicate to frontend cd /home/damner/code/.labtests -bun process.js +node process.js ``` Let's understand what the above evaluation script is doing: diff --git a/docs/technologies/react.md b/docs/technologies/react.md index e19d5a9..ccdbd27 100644 --- a/docs/technologies/react.md +++ b/docs/technologies/react.md @@ -196,7 +196,7 @@ EOF # Write results to UNIT_TEST_OUTPUT_FILE to communicate to frontend cd /home/damner/code/.labtests -bun process.js +node process.js ``` You might need to have a little understanding of bash scripting. Let us understand how the evaluation bash script is working: From bfce322d8eb757bff3cd3925ed0b332e275b1af3 Mon Sep 17 00:00:00 2001 From: Mehul Mohan Date: Mon, 22 Jan 2024 23:10:48 +0530 Subject: [PATCH 12/15] fix: update go.md bash script --- docs/technologies/go.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/technologies/go.md b/docs/technologies/go.md index aaee497..7700f1b 100644 --- a/docs/technologies/go.md +++ b/docs/technologies/go.md @@ -90,10 +90,10 @@ const results = [] // Loop through each line and parse it as JSON and check if it is a result line lines.forEach(line => { const output = JSON.parse(line).Output?.trim() - const valid = output === 'PASS' || output === 'FAIL' + const valid = output.includes('PASS') || output.includes('FAIL') if(!valid) return - const passed = output === 'PASS' + const passed = output.includes('PASS') // Add the pass/fail status to the array results.push(passed) From b43fbe7157d315cc46d10cf0b744f56445956645 Mon Sep 17 00:00:00 2001 From: Madhav Manuja <78556008+brainaxe303@users.noreply.github.com> Date: Wed, 24 Jan 2024 22:08:36 +0530 Subject: [PATCH 13/15] Update io-testing.md (#18) fixed ouro->our in io-testing.md --- docs/instructor-guides/io-testing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/instructor-guides/io-testing.md b/docs/instructor-guides/io-testing.md index 294613f..3338946 100644 --- a/docs/instructor-guides/io-testing.md +++ b/docs/instructor-guides/io-testing.md @@ -59,7 +59,7 @@ Now that we are done with the verified solution, setting up the test cases in th You should be able to see a `+ (plus symbol)` beside the test cases section. Clicking on the `+` will give you a new text box to give in the input values. -If you're case requires a large input set (which can be very hard to copy/paste or type on your own) we allow ouro creators to update the inputs using a text file. All files that have `UTF-8` encoding format. +If you're case requires a large input set (which can be very hard to copy/paste or type on your own) we allow our creators to update the inputs using a text file. All files that have `UTF-8` encoding format. If the test cases are simple to set up you can set them up normally by typing in the text area. From d0ea5c82fb9f970a648672d664ef71a66a2630dc Mon Sep 17 00:00:00 2001 From: Dhadve Yash <109629956+Exar04@users.noreply.github.com> Date: Thu, 25 Jan 2024 11:37:36 +0530 Subject: [PATCH 14/15] Updated go.md bash example file (#19) Test output in go is in this format. Screenshot 2024-01-24 at 9 51 42 PM therefore we should be checking for `--- PASS` instead of `PASS` if we do `PASS` then all the strings that have pass string will return `true` which is wrong `if (output === undefined) return` when its not actual testCase structure then output is `undefined` Idk how that works, but adding this solves the error. `rm go.mod` removing go.mod before `node testoutput.js` because if testoutput.js fails all the test files won't get deleted and we need to manually remove go.mod. --- docs/technologies/go.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/technologies/go.md b/docs/technologies/go.md index 7700f1b..8024ef1 100644 --- a/docs/technologies/go.md +++ b/docs/technologies/go.md @@ -90,10 +90,11 @@ const results = [] // Loop through each line and parse it as JSON and check if it is a result line lines.forEach(line => { const output = JSON.parse(line).Output?.trim() - const valid = output.includes('PASS') || output.includes('FAIL') + if (output === undefined) return + const valid = output.includes("--- PASS") || output.includes("--- FAIL") if(!valid) return - const passed = output.includes('PASS') + const passed = output.includes('--- PASS') // Add the pass/fail status to the array results.push(passed) @@ -103,6 +104,9 @@ lines.forEach(line => { fs.writeFileSync(process.env.UNIT_TEST_OUTPUT_FILE, JSON.stringify(results)) EOF +# removing mod.go before testing the result because if it fails we don't need to remove go.mod manually +rm go.mod + # process results node processGoResults.js From 40347efb61b7f6696809940afd4b47c9036e5abb Mon Sep 17 00:00:00 2001 From: Afnan Shaikh <48408572+IamAfnanSk@users.noreply.github.com> Date: Wed, 17 Apr 2024 18:23:35 +0530 Subject: [PATCH 15/15] feat: vue lab docs added (#22) - added docs for vue labs as well - docs links updated in `/docs/technologies` page --------- Co-authored-by: Pranav --- .vitepress/config.ts | 4 + docs/technologies/index.md | 4 + docs/technologies/vue.md | 183 +++++++++++++++++++++++ public/images/vue/lab-default-repo.png | Bin 0 -> 190815 bytes public/images/vue/lab-edit-test-file.png | Bin 0 -> 69893 bytes 5 files changed, 191 insertions(+) create mode 100644 docs/technologies/vue.md create mode 100644 public/images/vue/lab-default-repo.png create mode 100644 public/images/vue/lab-edit-test-file.png diff --git a/.vitepress/config.ts b/.vitepress/config.ts index f40e32c..37dfa75 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -97,6 +97,10 @@ export default defineConfig({ text: 'React.js', link: '/docs/technologies/react' }, + { + text: 'Vue.js', + link: '/docs/technologies/vue' + }, { text: 'Node.js', link: '/docs/technologies/node' diff --git a/docs/technologies/index.md b/docs/technologies/index.md index fd73969..ab243d4 100644 --- a/docs/technologies/index.md +++ b/docs/technologies/index.md @@ -21,7 +21,11 @@ Supported technologies (as visible on the left sidebar menu): - [HTML/CSS](/docs/technologies/html-css) - [React](/docs/technologies/react) +- [Vue](/docs/technologies/vue) - [Node.js](/docs/technologies/node) - [Python](/docs/technologies/python-pytest) +- [SQL (SQLite)](/docs/technologies/sqlite) +- [Go](/docs/technologies/go) - [Solidity](/docs/technologies/solidity-hardhat) - [Java](/docs/technologies/java-junit) +- [AWS Labs](/docs/technologies/aws) diff --git a/docs/technologies/vue.md b/docs/technologies/vue.md new file mode 100644 index 0000000..dfeec55 --- /dev/null +++ b/docs/technologies/vue.md @@ -0,0 +1,183 @@ +# How to create an interactive Vue.js lab with Vitest? + + + +We'll divide this part into 5 sections: + +1. Creating lab metadata +2. Setting up lab defaults +3. Setting up lab challenges +4. Setting up test file +5. Setting up evaluation script + +## Introduction + +This guide would assume that you already have created an interactive course from your instructor panel. If not, [go here and set it up first](https://codedamn.com/instructor/interactive-courses) + +## Step 1 - Creating lab metadata + + + +### Lab Details + +Lab details is the tab where you add two important things: + +- Lab title +- Lab description + +Once both of them are filled, it would appear as following: + +![](/images/html-css/lab-details.png) + +Let's move to the next tab now. + +### Lab Layout + + + +## Step 2 - Lab Defaults + +Lab defaults section include how your lab environment boots. It is one of the most important parts because a wrong default environment might confuse your students. Therefore it is important to set it up properly. + +When a codedamn playground boots, it can setup a filesystem for user by default. You can specify what the starting files could be, by specifying a git repository and a branch name: + +![Lab default repository](/images/vue/lab-default-repo.png) + +**Important note:** For Vue playground, we recommend you to fork the following repository and use it as a starter template: [Vue vite playground starter - codedamn](https://github.com/codedamn-projects/vue3-vite-playground) + +**Note:** You can setup a Vue project in other ways as well - for example with `create-vue`. However, it is highly recommended to use Vite for Vue because it sets up the project extremely fast for the user to work with. + +You will find a `.cdmrc` file in the repository given to you above. It is highly recommend, at this point, that you go through the [.cdmrc guide and how to use .cdmrc in playgrounds](/docs/concepts/cdmrc) to understand what `.cdmrc` file exactly is. Once you understand how to work with `.cdmrc` come back to this area. + +## Step 3 - Lab challenges + + + +## Step 4 - Test file + +Once you save the lab, you will see a button named `Edit Test File` in the `Evaluation` tab. Click on it. + +![](/images/common/lab-edit-test.png) + +When you click on it, a new window will open. This is a test file area. + +You can write anything here. Whatever script you write here, can be executed from the `Test command to run section` inside the evaluation tab we were in earlier. + +The point of having a file like this to provide you with a place where you can write your test. + +**For Vue.js labs, you can continue with the 'Custom Template' selected by default:** + +![](/images/vue/lab-edit-test-file.png) + +Paste the following code in the editor as a starting point: + +```jsx +import { mount } from '@vue/test-utils' + +test('Test 1', async () => { + try { + const { default: HelloWorld } = await import('../code/src/components/HelloWorld.vue') + + const wrapper = mount(HelloWorld) + + expect(wrapper.text()).toContain('Hello Vue.js!') + } catch (e) { + expect(false).toBe(true) + } +}) +``` + +Let us understand what is happening here exactly: + +- Remember that we can code anything in this file and then execute it later. In this example, we're writing a Vue.js Vitest test script from scratch. Check out [vitest docs](https://vitest.dev) if you're new to vitest. +- Remember that we will install vitest and other required utilities in the evaluation script section below. Therefore, you can try to import and use anything and everything here you want. +- The rest of the code is just importing the default user code, and testing it through standard unit testing procedures. + +![](/images/html-css/playground-tests.png) + +- The number of `test(...)` blocks inside your `describe` suite should match the number of challenges added in the creator area. + +- **Note:** If your number of `test` blocks are less than challenges added back in the UI, the "extra" UI challenges would automatically stay as "false". If you add more challenges in test file, the results would be ignored. Therefore, it is **important** that the `results.length` is same as the number of challenges you added in the challenges UI. + +- We then also add jQuery and chai for assisting with testing. Although it is not required as long as you can populate the `results` array properly. + +This completes your evaluation script for the lab. Your lab is now almost ready for users. + +## Step 5 - Evaluation Script + +Evaluation script is actually what runs when the user on the codedamn playground clicks on "Run Tests" button. + +![](/images/common/lab-run-tests.png) + +Remember that we're using Vue Vite playground setup. This means we can assume that we already have vite installed. + +However, we still need to setup a lot of things: `jsdom`, `vitest`, and `@vue/test-utils`. Therefore, we can write our evaluation bash script to install all of this and run our tests. Here's how the Vue vitest script looks like: + +```sh +#!/bin/bash +set -e 1 + +# Assumes you are running a vue vite playground on codedamn + +# Install vitest and testing util +cd /home/damner/code +bun add vitest@0.29.7 jsdom@21.1.1 @vue/test-utils@2.3.2 --dev +mkdir -p /home/damner/code/.labtests + +# Move test file +mv $TEST_FILE_NAME /home/damner/code/.labtests/all.test.js + +# vitest config file +cat > /home/damner/code/.labtests/config.js << EOF +import { defineConfig } from 'vite' +import Vue from '@vitejs/plugin-vue' + +export default defineConfig({ + plugins: [ + Vue(), + ], + test: { + globals: true, + environment: 'jsdom', + }, +}) +EOF + +# process.js file +cat > /home/damner/code/.labtests/process.js << EOF +import fs from 'fs' +const payload = JSON.parse(fs.readFileSync('./.labtests/payload.json')); +const answers = payload.testResults[0].assertionResults.map(test => test.status === 'passed') +fs.writeFileSync(process.env.UNIT_TEST_OUTPUT_FILE, JSON.stringify(answers)) +fs.rmdirSync('./.labtests', { recursive: true, force: true }) +EOF + +# run test +bun vitest run --config=/home/damner/code/.labtests/config.js --threads=false --reporter=json --outputFile=/home/damner/code/.labtests/payload.json || true + +# Write results to UNIT_TEST_OUTPUT_FILE to communicate to frontend +node /home/damner/code/.labtests/process.js +``` + +You might need to have a little understanding of bash scripting. Let us understand how the evaluation bash script is working: + +- With `set -e 1` we effectively say that the script should stop on any errors +- We then navigate to user default directory `/home/damner/code` and then install the required NPM packages. Note that this assumes we already have `vite` installed. If you're using a different vue setup (like `create-vue`), you might have to install `vite` as well. +- You can install additional packages here if you want. They would only be installed the first time user runs the test. On subsequent runs, it can reuse the installed packages (since they are not removed at the end of testing) +- Then we create a `.labtests` folder inside of the `/home/damner/code` user code directory. Note that `.labtests` is a special folder that can be used to place your test code. This folder will not be visible in the file explorer user sees, and the files placed in this folder are not "backed up to cloud" for user. +- We move the test file you wrote earlier (in last step) to `/home/damner/code/.labtests/all.test.js`. +- We then also create a custom vite config file as `config.js`. This is because we don't want to override your (or users') custom `vite.config.js` file if present. This file only loads `jsdom` and marks the `globals: true` hence importing `describe`, `test`, etc. automatically available without importing. More information about the configuration can be found here in [vitest docs](https://vitest.dev/config/#globals). +- We then create a `process.js` file that can be used to process our results into a single file of boolean values. This is important because on the playground page, the way challenges work, is that they get green or red based on a JSON boolean array written inside the file in environment variable: `$UNIT_TEST_OUTPUT_FILE` +- For example, once the test run succeeds, and if you write `[true,false,true,true]` inside `$UNIT_TEST_OUTPUT_FILE`, it would reflect as PASS, FAIL, PASS for 3 challenges available inside codedamn playground UI (as shown below) + +![](/images/html-css/playground-tests-2.png) + +- Then we run the actual test using `bun vitest run` command, specifying the output as JSON (read by `process.js`) and in a single thread (as we want ordered results). + +- Finally we run the `process.js` file that writes the correct JSON boolean array on `$UNIT_TEST_OUTPUT_FILE` which is then read by the playground UI and marks the lab challenges as pass or fail. + +**Note:** You can setup a full testing environment in this block of evaluation script (installing more packages, etc. if you want). However, your bash script test file will be timed out **after 30 seconds**. Therefore, make sure, all of your testing can happen within 30 seconds. + +## Setup Verified Solution (Recommended) + + diff --git a/public/images/vue/lab-default-repo.png b/public/images/vue/lab-default-repo.png new file mode 100644 index 0000000000000000000000000000000000000000..b2f66a1b078095ea2a627e8f800365e7bd63e115 GIT binary patch literal 190815 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 q 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 literal 0 HcmV?d00001