docs: 100 students milestone (#449)

* write blog post

* add link to dblocked

* improve blog SEO

* fix build error

* fix overide metatags issue
This commit is contained in:
Rotimi Best
2024-08-25 21:35:59 +01:00
committed by GitHub
parent a702fdd4e2
commit 1b84d98398
15 changed files with 301 additions and 142 deletions
+3 -1
View File
@@ -26,11 +26,13 @@
}, },
"type": "module", "type": "module",
"dependencies": { "dependencies": {
"just-extend": "^6.2.0",
"posthog-node": "^3.1.3", "posthog-node": "^3.1.3",
"rehype-slug": "^6.0.0", "rehype-slug": "^6.0.0",
"remark-toc": "^9.0.0", "remark-toc": "^9.0.0",
"remark-unwrap-images": "^4.0.0", "remark-unwrap-images": "^4.0.0",
"shared": "workspace:*", "shared": "workspace:*",
"shiki": "^0.14.7" "shiki": "^0.14.7",
"svelte-meta-tags": "^3.1.2"
} }
} }
+4 -4
View File
@@ -6,15 +6,15 @@
<meta name="viewport" content="width=device-width,initial-scale=1.0" /> <meta name="viewport" content="width=device-width,initial-scale=1.0" />
<meta name="theme-color" content="#333333" /> <meta name="theme-color" content="#333333" />
<title>ClassroomIO –&nbsp;Launch Your Online Bootcamp In Minutes</title> <!-- <title>ClassroomIO –&nbsp;Launch Your Online Bootcamp In Minutes</title>
<meta name="description" content="ClassroomIO" /> <meta name="description" content="ClassroomIO" />
<meta name="application-name" content="ClassroomIO" /> <meta name="application-name" content="ClassroomIO" />
<meta name="apple-mobile-web-app-title" content="ClassroomIO" /> <meta name="apple-mobile-web-app-title" content="ClassroomIO" />
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> -->
<!-- Facebook Meta Tags --> <!-- Facebook Meta Tags -->
<meta property="og:url" content="https://www.classroomio.com/" /> <!-- <meta property="og:url" content="https://www.classroomio.com/" />
<meta property="og:image" itemprop="image" content="https://classroomio.com/classroomio-opengraph-image.png" /> <meta property="og:image" itemprop="image" content="https://classroomio.com/classroomio-opengraph-image.png" />
<meta property="og:title" content="ClassroomIO –&nbsp;Launch Your Online Bootcamp In Minutes" /> <meta property="og:title" content="ClassroomIO –&nbsp;Launch Your Online Bootcamp In Minutes" />
<meta property="og:description" <meta property="og:description"
@@ -33,7 +33,7 @@
<meta name="twitter:title" content="ClassroomIO –&nbsp;Launch Your Online Bootcamp In Minutes" /> <meta name="twitter:title" content="ClassroomIO –&nbsp;Launch Your Online Bootcamp In Minutes" />
<meta name="twitter:description" <meta name="twitter:description"
content="Launch your bootcamp quickly and affordably with ClassroomIO, the customizable online teaching platform." /> content="Launch your bootcamp quickly and affordably with ClassroomIO, the customizable online teaching platform." />
<meta name="twitter:image" content="https://classroomio.com/classroomio-opengraph-image.png" /> <meta name="twitter:image" content="https://classroomio.com/classroomio-opengraph-image.png" /> -->
<!-- <link rel="stylesheet" href="global.css"> --> <!-- <link rel="stylesheet" href="global.css"> -->
<link rel="manifest" href="/manifest.json" crossorigin="use-credentials" /> <link rel="manifest" href="/manifest.json" crossorigin="use-credentials" />
@@ -1,6 +1,7 @@
--- ---
title: 'Google Open Source Peer Bonus' title: 'Google Open Source Peer Bonus'
description: 'I am happy to announce that we were selected for the 2024 Google Peer Open Source Bonus' description: 'I am happy to announce that we were selected for the 2024 Google Peer Open Source Bonus'
imageUrl: 'https://assets.cdn.clsrio.com/blog/google-os-peer-bonus-classroomio.png'
date: '2024-05-25' date: '2024-05-25'
author: Rotimi Best author: Rotimi Best
avatar: /blog/best.jpg avatar: /blog/best.jpg
@@ -0,0 +1,41 @@
---
title: 'Our first customer to hit 100 students'
description: 'Paranv Singhal, a Web3 instructor, is the first customer to hit 100 students on ClassroomIO.'
imageUrl: 'https://assets.cdn.clsrio.com/blog/pranav-web3-bootcamp-hit-100students.png'
date: '2024-08-25'
author: Rotimi Best
avatar: /blog/best.jpg
role: Founder
tags: ['Customers', 'Testimonials']
published: true
---
![pranav-web3-bootcamp-hit-100students](https://assets.cdn.clsrio.com/blog/pranav-web3-bootcamp-hit-100students.png)
_Paranv Singhal, a ClassroomIO customer hits 100 students in his Web3 bootcamp._
Today is an exciting day for both Pranav and me.
A few months ago, Pranav reached out to share his idea for a Web3 course he's been working on. He wanted to share it with as many Web3 enthusiasts as possible.
He started building the course site using Framer, but he told me it was becoming quite expensive. He had to create a template, install plugins, and each of these had its own monthly cost.
He then asked me how much it would cost to launch his course on ClassroomIO.I replied that we only have one paid plan, which costs a flat fee of $35 per month or $350 per year. This plan includes many features, such as 10,000 students, unlimited collaborators, Slack support, and much more.
It was a no-brainer for him, and long story short, Pranav is a happy customer with over 100 students.
Here is what he has to say:
![pranav-experience-using-classroomio](https://assets.cdn.clsrio.com/blog/review-by-pranav.jpeg)
_Pranav's experience using ClassroomIO_
> ClassroomIO really helped me [bootstrap my program](https://dblocked.io/).
>
> The dashboard is extremely intuitive. I could navigate most of it without any help / support. Coming from framer, I can honestly say that I am extremely greatful that I found ClassroomIO.
>
> PS- Rotimi is also extremely supportive in new feature requests. I love how responsive he is towards all feedback
Are you looking to launch your course or bootcamp? Register for a free account today and start building.
<div class="flex justify-center">
<a href="https://app.classroomio.com/login" target="_blank" nofollow="nofollow" class="bg-black text-white px-4 py-2 rounded-md">Register for free</a>
</div>
@@ -1,15 +1,21 @@
<script> <script>
import { page } from '$app/stores'; import { page } from '$app/stores';
import { MetaTags } from 'svelte-meta-tags';
import Navigation from '$lib/Navigation/Navigation.svelte'; import Navigation from '$lib/Navigation/Navigation.svelte';
import Footer from '$lib/Footer/Footer.svelte'; import Footer from '$lib/Footer/Footer.svelte';
import PageTransition from './transition.svelte'; import PageTransition from './transition.svelte';
import NotFound from '$lib/NotFound/NotFound.svelte'; import NotFound from '$lib/NotFound/NotFound.svelte';
import extend from 'just-extend';
import '../app.css'; import '../app.css';
export let data; export let data;
$: metaTags = extend(true, {}, data.baseMetaTags, $page.data.pageMetaTags);
</script> </script>
<MetaTags {...metaTags} />
<div class="overflow-hidden"> <div class="overflow-hidden">
<Navigation /> <Navigation />
@@ -1,7 +1,50 @@
import type { MetaTagsProps } from 'svelte-meta-tags';
export const prerender = true; export const prerender = true;
export function load({ url }) { export function load({ url }) {
return { return {
baseMetaTags: getBaseMetaTags(url),
url: url.pathname url: url.pathname
}; };
} }
function getBaseMetaTags(url: URL) {
const metatags = Object.freeze({
title: 'ClassroomIO – Launch Your Online Bootcamp In Minutes',
description:
'Launch your bootcamp quickly and affordably with ClassroomIO, the customizable online teaching platform.',
canonical: new URL(url.pathname, url.origin).href,
openGraph: {
type: 'website',
url: new URL(url.pathname, url.origin).href,
locale: 'en_IE',
title: 'ClassroomIO – Launch Your Online Bootcamp In Minutes',
description:
'Launch your bootcamp quickly and affordably with ClassroomIO, the customizable online teaching platform.',
siteName: 'ClassroomIO',
images: [
{
url: 'https://classroomio.com/classroomio-opengraph-image.png',
alt: 'ClassroomIO OG Image',
width: 1920,
height: 1080,
secureUrl: 'https://classroomio.com/classroomio-opengraph-image.png',
type: 'image/jpeg'
}
]
},
twitter: {
handle: '@classroomio',
site: '@classroomio',
cardType: 'summary_large_image' as const,
title: 'ClassroomIO – Launch Your Online Bootcamp In Minutes',
description:
'Launch your bootcamp quickly and affordably with ClassroomIO, the customizable online teaching platform.',
image: 'https://classroomio.com/classroomio-opengraph-image.png',
imageAlt: 'ClassroomIO OG Image'
}
}) satisfies MetaTagsProps;
return metatags;
}
@@ -43,7 +43,7 @@
<a href={`/blog/${post.slug}`} class="group"> <a href={`/blog/${post.slug}`} class="group">
<p class="font-bold text-lg py-2 group-hover:text-slate-500">{post.title}</p> <p class="font-bold text-lg py-2 group-hover:text-slate-500">{post.title}</p>
<p class="text-slate-500 py-4">{post.description}</p> <p class="text-slate-500 pt-2 pb-4">{post.description}</p>
</a> </a>
<div class="flex items-center justify-start gap-4 my-2"> <div class="flex items-center justify-start gap-4 my-2">
@@ -6,26 +6,6 @@
export let data; export let data;
</script> </script>
<!-- SEO -->
<svelte:head>
<title>{data.meta.title} | ClassroomIO Blog</title>
<meta property="og:type" content="article" />
<meta property="og:title" content={data.meta.title} />
<meta property="og:type" content="website" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="1920" />
<meta property="og:image:height" content="1080" />
<meta property="og:image:secure_url" itemprop="image" content={data.meta.imageUrl} />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="classroomio.com" />
<meta property="twitter:url" content="https://www.classroomio.com/blog/" />
<meta name="twitter:title" content={data.meta.title} />
<meta name="twitter:description" content={data.meta.description} />
<meta name="twitter:image" content={data.meta.imageUrl} />
</svelte:head>
<div class=" mt-[10%] md:mt-16"> <div class=" mt-[10%] md:mt-16">
{#if data} {#if data}
<article class="py-16"> <article class="py-16">
@@ -1,13 +1,43 @@
import { error } from '@sveltejs/kit'; import { error } from '@sveltejs/kit';
import type { MetaTagsProps } from 'svelte-meta-tags';
export async function load({ params }) { export async function load({ params }) {
try { try {
const blog = await import(`../../../blog/${params.slug}.md`); const blog = await import(`../../../blog/${params.slug}.md`);
const pageMetaTags = Object.freeze({
title: blog.metadata.title,
description: blog.metadata.description,
openGraph: {
title: blog.metadata.title,
description: blog.metadata.description,
images: [
{
url: blog.metadata.imageUrl,
alt: blog.metadata.title,
width: 280,
height: 200,
secureUrl: blog.metadata.imageUrl,
type: 'image/jpeg'
}
]
},
twitter: {
handle: '@classroomio',
site: '@classroomio',
cardType: 'summary_large_image' as const,
title: blog.metadata.title,
description: blog.metadata.description,
image: blog.metadata.imageUrl,
imageAlt: `${blog.metadata.title} OG`
}
}) satisfies MetaTagsProps;
return { return {
content: blog.default, content: blog.default,
meta: blog.metadata, meta: blog.metadata,
slug: params.slug slug: params.slug,
pageMetaTags
}; };
} catch (e) { } catch (e) {
throw error(404, `Could not find ${params.slug}`); throw error(404, `Could not find ${params.slug}`);
+1 -1
View File
@@ -53,7 +53,7 @@
"openai-edge": "^1.2.2", "openai-edge": "^1.2.2",
"papaparse": "^5.4.1", "papaparse": "^5.4.1",
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"posthog-js": "^1.155.0", "posthog-js": "^1.157.2",
"shared": "workspace:*", "shared": "workspace:*",
"sirv": "^2.0.3", "sirv": "^2.0.3",
"stripe": "^14.22.0", "stripe": "^14.22.0",
@@ -25,7 +25,7 @@ export const NAV_ITEMS = [
}, },
{ {
key: SECTION_KEYS.LESSONS, key: SECTION_KEYS.LESSONS,
label: 'course.navItems.nav_lessons' label: 'course.navItems.nav_content'
}, },
{ {
key: SECTION_KEYS.REVIEWS, key: SECTION_KEYS.REVIEWS,
+1 -1
View File
@@ -129,7 +129,7 @@ function getBaseMetaTags(url: URL) {
twitter: { twitter: {
handle: '@classroomio', handle: '@classroomio',
site: '@classroomio', site: '@classroomio',
cardType: 'summary_large_image', cardType: 'summary_large_image' as const,
title: 'ClassroomIO – Launch Your Online Bootcamp In Minutes', title: 'ClassroomIO – Launch Your Online Bootcamp In Minutes',
description: description:
'Launch your bootcamp quickly and affordably with ClassroomIO, the customizable online teaching platform.', 'Launch your bootcamp quickly and affordably with ClassroomIO, the customizable online teaching platform.',
@@ -1,6 +1,6 @@
import type { MetaTagsProps } from 'svelte-meta-tags';
import { fetchCourse } from '$lib/utils/services/courses'; import { fetchCourse } from '$lib/utils/services/courses';
import { supabase, getSupabase } from '$lib/utils/functions/supabase'; import { supabase, getSupabase } from '$lib/utils/functions/supabase';
import type { MetaTagsProps } from 'svelte-meta-tags';
if (!supabase) { if (!supabase) {
getSupabase(); getSupabase();
@@ -17,7 +17,7 @@ export const load = async ({ params = { slug: '' } }) => {
description: data?.description, description: data?.description,
images: [ images: [
{ {
url: data?.logo, url: data?.logo || '',
alt: data?.title, alt: data?.title,
width: 280, width: 280,
height: 200, height: 200,
@@ -29,7 +29,7 @@ export const load = async ({ params = { slug: '' } }) => {
twitter: { twitter: {
handle: '@classroomio', handle: '@classroomio',
site: '@classroomio', site: '@classroomio',
cardType: 'summary_large_image', cardType: 'summary_large_image' as const,
title: data?.title, title: data?.title,
description: data?.description, description: data?.description,
image: data?.logo, image: data?.logo,
+165 -109
View File
@@ -22,7 +22,7 @@ importers:
version: 3.1.0 version: 3.1.0
prettier-plugin-svelte: prettier-plugin-svelte:
specifier: ^3.1.2 specifier: ^3.1.2
version: 3.1.2(prettier@3.1.0)(svelte@4.2.18) version: 3.1.2(prettier@3.1.0)(svelte@4.2.19)
prettier-plugin-tailwindcss: prettier-plugin-tailwindcss:
specifier: ^0.5.7 specifier: ^0.5.7
version: 0.5.7(prettier-plugin-svelte@3.1.2)(prettier@3.1.0) version: 0.5.7(prettier-plugin-svelte@3.1.2)(prettier@3.1.0)
@@ -107,6 +107,9 @@ importers:
apps/classroomio-com: apps/classroomio-com:
dependencies: dependencies:
just-extend:
specifier: ^6.2.0
version: 6.2.0
posthog-node: posthog-node:
specifier: ^3.1.3 specifier: ^3.1.3
version: 3.1.3 version: 3.1.3
@@ -125,6 +128,9 @@ importers:
shiki: shiki:
specifier: ^0.14.7 specifier: ^0.14.7
version: 0.14.7 version: 0.14.7
svelte-meta-tags:
specifier: ^3.1.2
version: 3.1.2(svelte@4.1.2)(typescript@5.1.6)
devDependencies: devDependencies:
'@sveltejs/adapter-auto': '@sveltejs/adapter-auto':
specifier: ^2.0.0 specifier: ^2.0.0
@@ -161,7 +167,7 @@ importers:
version: 5.1.6 version: 5.1.6
vite: vite:
specifier: ^4.4.2 specifier: ^4.4.2
version: 4.4.8(@types/node@18.11.10)(sass@1.64.2) version: 4.4.8
apps/dashboard: apps/dashboard:
dependencies: dependencies:
@@ -206,7 +212,7 @@ importers:
version: 1.0.1 version: 1.0.1
ai: ai:
specifier: ^2.1.31 specifier: ^2.1.31
version: 2.1.31(react@18.3.1)(solid-js@1.8.20)(svelte@4.1.2)(vue@3.4.37) version: 2.1.31(react@18.3.1)(solid-js@1.8.21)(svelte@4.1.2)(vue@3.4.38)
axios: axios:
specifier: ^1.5.1 specifier: ^1.5.1
version: 1.5.1 version: 1.5.1
@@ -265,8 +271,8 @@ importers:
specifier: ^8.0.0 specifier: ^8.0.0
version: 8.0.0 version: 8.0.0
posthog-js: posthog-js:
specifier: ^1.155.0 specifier: ^1.157.2
version: 1.155.0 version: 1.157.2
shared: shared:
specifier: workspace:* specifier: workspace:*
version: link:../../packages/shared version: link:../../packages/shared
@@ -463,7 +469,7 @@ importers:
version: 1.10.16(eslint@8.57.0) version: 1.10.16(eslint@8.57.0)
eslint-plugin-svelte: eslint-plugin-svelte:
specifier: ^2.35.1 specifier: ^2.35.1
version: 2.35.1(eslint@8.57.0)(svelte@4.2.18) version: 2.35.1(eslint@8.57.0)(svelte@4.2.19)
typescript: typescript:
specifier: ^5.1.6 specifier: ^5.1.6
version: 5.3.2 version: 5.3.2
@@ -1643,7 +1649,7 @@ packages:
'@babel/traverse': 7.23.4 '@babel/traverse': 7.23.4
'@babel/types': 7.23.4 '@babel/types': 7.23.4
convert-source-map: 1.9.0 convert-source-map: 1.9.0
debug: 4.3.4 debug: 4.3.4(supports-color@5.5.0)
gensync: 1.0.0-beta.2 gensync: 1.0.0-beta.2
json5: 2.2.3 json5: 2.2.3
semver: 6.3.1 semver: 6.3.1
@@ -1666,7 +1672,7 @@ packages:
'@babel/traverse': 7.23.4 '@babel/traverse': 7.23.4
'@babel/types': 7.23.4 '@babel/types': 7.23.4
convert-source-map: 2.0.0 convert-source-map: 2.0.0
debug: 4.3.4 debug: 4.3.4(supports-color@5.5.0)
gensync: 1.0.0-beta.2 gensync: 1.0.0-beta.2
json5: 2.2.3 json5: 2.2.3
semver: 6.3.1 semver: 6.3.1
@@ -1823,7 +1829,7 @@ packages:
'@babel/core': 7.22.9 '@babel/core': 7.22.9
'@babel/helper-compilation-targets': 7.22.15 '@babel/helper-compilation-targets': 7.22.15
'@babel/helper-plugin-utils': 7.22.5 '@babel/helper-plugin-utils': 7.22.5
debug: 4.3.4 debug: 4.3.4(supports-color@5.5.0)
lodash.debounce: 4.0.8 lodash.debounce: 4.0.8
resolve: 1.22.8 resolve: 1.22.8
transitivePeerDependencies: transitivePeerDependencies:
@@ -2039,12 +2045,12 @@ packages:
'@babel/types': 7.23.9 '@babel/types': 7.23.9
dev: false dev: false
/@babel/parser@7.25.3: /@babel/parser@7.25.4:
resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
hasBin: true hasBin: true
dependencies: dependencies:
'@babel/types': 7.25.2 '@babel/types': 7.25.4
dev: false dev: false
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.22.9): /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.22.9):
@@ -3143,7 +3149,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.4 '@babel/parser': 7.23.4
'@babel/types': 7.23.4 '@babel/types': 7.23.4
debug: 4.3.4 debug: 4.3.4(supports-color@5.5.0)
globals: 11.12.0 globals: 11.12.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -3184,8 +3190,8 @@ packages:
to-fast-properties: 2.0.0 to-fast-properties: 2.0.0
dev: false dev: false
/@babel/types@7.25.2: /@babel/types@7.25.4:
resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
dependencies: dependencies:
'@babel/helper-string-parser': 7.24.8 '@babel/helper-string-parser': 7.24.8
@@ -3540,7 +3546,7 @@ packages:
debug: 4.3.6 debug: 4.3.6
espree: 9.6.1 espree: 9.6.1
globals: 13.24.0 globals: 13.24.0
ignore: 5.3.1 ignore: 5.3.2
import-fresh: 3.3.0 import-fresh: 3.3.0
js-yaml: 4.1.0 js-yaml: 4.1.0
minimatch: 3.1.2 minimatch: 3.1.2
@@ -5825,7 +5831,7 @@ packages:
sirv: 2.0.3 sirv: 2.0.3
svelte: 4.1.2 svelte: 4.1.2
undici: 5.22.1 undici: 5.22.1
vite: 4.4.8(@types/node@18.11.10)(sass@1.64.2) vite: 4.4.8
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@@ -5868,7 +5874,7 @@ packages:
'@sveltejs/vite-plugin-svelte': 2.5.3(svelte@4.1.2)(vite@4.4.8) '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@4.1.2)(vite@4.4.8)
debug: 4.3.4 debug: 4.3.4
svelte: 4.1.2 svelte: 4.1.2
vite: 4.4.8(@types/node@18.11.10)(sass@1.64.2) vite: 4.4.8
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -5886,7 +5892,7 @@ packages:
magic-string: 0.30.5 magic-string: 0.30.5
svelte: 4.1.2 svelte: 4.1.2
svelte-hmr: 0.15.3(svelte@4.1.2) svelte-hmr: 0.15.3(svelte@4.1.2)
vite: 4.4.8(@types/node@18.11.10)(sass@1.64.2) vite: 4.4.8
vitefu: 0.2.5(vite@4.4.8) vitefu: 0.2.5(vite@4.4.8)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -6551,78 +6557,78 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@vue/compiler-core@3.4.37: /@vue/compiler-core@3.4.38:
resolution: {integrity: sha512-ZDDT/KiLKuCRXyzWecNzC5vTcubGz4LECAtfGPENpo0nrmqJHwuWtRLxk/Sb9RAKtR9iFflFycbkjkY+W/PZUQ==} resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==}
dependencies: dependencies:
'@babel/parser': 7.25.3 '@babel/parser': 7.25.4
'@vue/shared': 3.4.37 '@vue/shared': 3.4.38
entities: 5.0.0 entities: 4.5.0
estree-walker: 2.0.2 estree-walker: 2.0.2
source-map-js: 1.2.0 source-map-js: 1.2.0
dev: false dev: false
/@vue/compiler-dom@3.4.37: /@vue/compiler-dom@3.4.38:
resolution: {integrity: sha512-rIiSmL3YrntvgYV84rekAtU/xfogMUJIclUMeIKEtVBFngOL3IeZHhsH3UaFEgB5iFGpj6IW+8YuM/2Up+vVag==} resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==}
dependencies: dependencies:
'@vue/compiler-core': 3.4.37 '@vue/compiler-core': 3.4.38
'@vue/shared': 3.4.37 '@vue/shared': 3.4.38
dev: false dev: false
/@vue/compiler-sfc@3.4.37: /@vue/compiler-sfc@3.4.38:
resolution: {integrity: sha512-vCfetdas40Wk9aK/WWf8XcVESffsbNkBQwS5t13Y/PcfqKfIwJX2gF+82th6dOpnpbptNMlMjAny80li7TaCIg==} resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==}
dependencies: dependencies:
'@babel/parser': 7.25.3 '@babel/parser': 7.25.4
'@vue/compiler-core': 3.4.37 '@vue/compiler-core': 3.4.38
'@vue/compiler-dom': 3.4.37 '@vue/compiler-dom': 3.4.38
'@vue/compiler-ssr': 3.4.37 '@vue/compiler-ssr': 3.4.38
'@vue/shared': 3.4.37 '@vue/shared': 3.4.38
estree-walker: 2.0.2 estree-walker: 2.0.2
magic-string: 0.30.11 magic-string: 0.30.11
postcss: 8.4.41 postcss: 8.4.41
source-map-js: 1.2.0 source-map-js: 1.2.0
dev: false dev: false
/@vue/compiler-ssr@3.4.37: /@vue/compiler-ssr@3.4.38:
resolution: {integrity: sha512-TyAgYBWrHlFrt4qpdACh8e9Ms6C/AZQ6A6xLJaWrCL8GCX5DxMzxyeFAEMfU/VFr4tylHm+a2NpfJpcd7+20XA==} resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==}
dependencies: dependencies:
'@vue/compiler-dom': 3.4.37 '@vue/compiler-dom': 3.4.38
'@vue/shared': 3.4.37 '@vue/shared': 3.4.38
dev: false dev: false
/@vue/reactivity@3.4.37: /@vue/reactivity@3.4.38:
resolution: {integrity: sha512-UmdKXGx0BZ5kkxPqQr3PK3tElz6adTey4307NzZ3whZu19i5VavYal7u2FfOmAzlcDVgE8+X0HZ2LxLb/jgbYw==} resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==}
dependencies: dependencies:
'@vue/shared': 3.4.37 '@vue/shared': 3.4.38
dev: false dev: false
/@vue/runtime-core@3.4.37: /@vue/runtime-core@3.4.38:
resolution: {integrity: sha512-MNjrVoLV/sirHZoD7QAilU1Ifs7m/KJv4/84QVbE6nyAZGQNVOa1HGxaOzp9YqCG+GpLt1hNDC4RbH+KtanV7w==} resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==}
dependencies: dependencies:
'@vue/reactivity': 3.4.37 '@vue/reactivity': 3.4.38
'@vue/shared': 3.4.37 '@vue/shared': 3.4.38
dev: false dev: false
/@vue/runtime-dom@3.4.37: /@vue/runtime-dom@3.4.38:
resolution: {integrity: sha512-Mg2EwgGZqtwKrqdL/FKMF2NEaOHuH+Ks9TQn3DHKyX//hQTYOun+7Tqp1eo0P4Ds+SjltZshOSRq6VsU0baaNg==} resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==}
dependencies: dependencies:
'@vue/reactivity': 3.4.37 '@vue/reactivity': 3.4.38
'@vue/runtime-core': 3.4.37 '@vue/runtime-core': 3.4.38
'@vue/shared': 3.4.37 '@vue/shared': 3.4.38
csstype: 3.1.3 csstype: 3.1.3
dev: false dev: false
/@vue/server-renderer@3.4.37(vue@3.4.37): /@vue/server-renderer@3.4.38(vue@3.4.38):
resolution: {integrity: sha512-jZ5FAHDR2KBq2FsRUJW6GKDOAG9lUTX8aBEGq4Vf6B/35I9fPce66BornuwmqmKgfiSlecwuOb6oeoamYMohkg==} resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==}
peerDependencies: peerDependencies:
vue: 3.4.37 vue: 3.4.38
dependencies: dependencies:
'@vue/compiler-ssr': 3.4.37 '@vue/compiler-ssr': 3.4.38
'@vue/shared': 3.4.37 '@vue/shared': 3.4.38
vue: 3.4.37(typescript@5.1.6) vue: 3.4.38(typescript@5.1.6)
dev: false dev: false
/@vue/shared@3.4.37: /@vue/shared@3.4.38:
resolution: {integrity: sha512-nIh8P2fc3DflG8+5Uw8PT/1i17ccFn0xxN/5oE9RfV5SVnd7G0XEFRwakrnNFE/jlS95fpGXDVG5zDETS26nmg==} resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==}
dev: false dev: false
/JSONStream@1.3.5: /JSONStream@1.3.5:
@@ -6685,7 +6691,7 @@ packages:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
engines: {node: '>= 6.0.0'} engines: {node: '>= 6.0.0'}
dependencies: dependencies:
debug: 4.3.4 debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: false dev: false
@@ -6706,7 +6712,7 @@ packages:
indent-string: 4.0.0 indent-string: 4.0.0
dev: true dev: true
/ai@2.1.31(react@18.3.1)(solid-js@1.8.20)(svelte@4.1.2)(vue@3.4.37): /ai@2.1.31(react@18.3.1)(solid-js@1.8.21)(svelte@4.1.2)(vue@3.4.38):
resolution: {integrity: sha512-ihkimg9iP/C/OaxjYj9KgA4gPC9Rzw60Xv3+AWYrQ807L/NEF8sgZBmA1hv8/DC8KzMv/7N+a5HCQPDZXNUs+g==} resolution: {integrity: sha512-ihkimg9iP/C/OaxjYj9KgA4gPC9Rzw60Xv3+AWYrQ807L/NEF8sgZBmA1hv8/DC8KzMv/7N+a5HCQPDZXNUs+g==}
engines: {node: '>=14.6'} engines: {node: '>=14.6'}
peerDependencies: peerDependencies:
@@ -6727,14 +6733,14 @@ packages:
eventsource-parser: 1.0.0 eventsource-parser: 1.0.0
nanoid: 3.3.6 nanoid: 3.3.6
react: 18.3.1 react: 18.3.1
solid-js: 1.8.20 solid-js: 1.8.21
solid-swr-store: 0.10.7(solid-js@1.8.20)(swr-store@0.10.6) solid-swr-store: 0.10.7(solid-js@1.8.21)(swr-store@0.10.6)
sswr: 2.0.0(svelte@4.1.2) sswr: 2.0.0(svelte@4.1.2)
svelte: 4.1.2 svelte: 4.1.2
swr: 2.2.0(react@18.3.1) swr: 2.2.0(react@18.3.1)
swr-store: 0.10.6 swr-store: 0.10.6
swrv: 1.0.4(vue@3.4.37) swrv: 1.0.4(vue@3.4.38)
vue: 3.4.37(typescript@5.1.6) vue: 3.4.38(typescript@5.1.6)
dev: false dev: false
/ajv@6.12.6: /ajv@6.12.6:
@@ -7582,7 +7588,7 @@ packages:
dependencies: dependencies:
'@babel/runtime': 7.23.4 '@babel/runtime': 7.23.4
'@types/raf': 3.4.3 '@types/raf': 3.4.3
core-js: 3.38.0 core-js: 3.38.1
raf: 3.4.1 raf: 3.4.1
regenerator-runtime: 0.13.11 regenerator-runtime: 0.13.11
rgbcolor: 1.0.1 rgbcolor: 1.0.1
@@ -8179,8 +8185,8 @@ packages:
browserslist: 4.22.1 browserslist: 4.22.1
dev: true dev: true
/core-js@3.38.0: /core-js@3.38.1:
resolution: {integrity: sha512-XPpwqEodRljce9KswjZShh95qJ1URisBeKCjUdq27YdenkslVe7OO0ZJhlYXAChW7OhXaRLl8AAba7IBfoIHug==} resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==}
requiresBuild: true requiresBuild: true
dev: false dev: false
optional: true optional: true
@@ -9190,11 +9196,6 @@ packages:
engines: {node: '>=0.12'} engines: {node: '>=0.12'}
dev: false dev: false
/entities@5.0.0:
resolution: {integrity: sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==}
engines: {node: '>=0.12'}
dev: false
/error-ex@1.3.2: /error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
dependencies: dependencies:
@@ -9637,7 +9638,7 @@ packages:
string.prototype.matchall: 4.0.10 string.prototype.matchall: 4.0.10
dev: true dev: true
/eslint-plugin-svelte@2.35.1(eslint@8.57.0)(svelte@4.2.18): /eslint-plugin-svelte@2.35.1(eslint@8.57.0)(svelte@4.2.19):
resolution: {integrity: sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==} resolution: {integrity: sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==}
engines: {node: ^14.17.0 || >=16.0.0} engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
@@ -9659,8 +9660,8 @@ packages:
postcss-safe-parser: 6.0.0(postcss@8.4.32) postcss-safe-parser: 6.0.0(postcss@8.4.32)
postcss-selector-parser: 6.0.13 postcss-selector-parser: 6.0.13
semver: 7.5.4 semver: 7.5.4
svelte: 4.2.18 svelte: 4.2.19
svelte-eslint-parser: 0.33.1(svelte@4.2.18) svelte-eslint-parser: 0.33.1(svelte@4.2.19)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- ts-node - ts-node
@@ -9822,7 +9823,7 @@ packages:
glob-parent: 6.0.2 glob-parent: 6.0.2
globals: 13.24.0 globals: 13.24.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.3.1 ignore: 5.3.2
imurmurhash: 0.1.4 imurmurhash: 0.1.4
is-glob: 4.0.3 is-glob: 4.0.3
is-path-inside: 3.0.3 is-path-inside: 3.0.3
@@ -10727,7 +10728,7 @@ packages:
source-map: 0.6.1 source-map: 0.6.1
wordwrap: 1.0.0 wordwrap: 1.0.0
optionalDependencies: optionalDependencies:
uglify-js: 3.19.1 uglify-js: 3.19.2
dev: true dev: true
/hard-rejection@2.1.0: /hard-rejection@2.1.0:
@@ -11034,7 +11035,7 @@ packages:
engines: {node: '>= 6'} engines: {node: '>= 6'}
dependencies: dependencies:
agent-base: 6.0.2 agent-base: 6.0.2
debug: 4.3.4 debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: false dev: false
@@ -11089,8 +11090,8 @@ packages:
engines: {node: '>= 4'} engines: {node: '>= 4'}
dev: true dev: true
/ignore@5.3.1: /ignore@5.3.2:
resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'} engines: {node: '>= 4'}
dev: true dev: true
@@ -11593,7 +11594,7 @@ packages:
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
engines: {node: '>=10'} engines: {node: '>=10'}
dependencies: dependencies:
debug: 4.3.4 debug: 4.3.4(supports-color@5.5.0)
istanbul-lib-coverage: 3.2.2 istanbul-lib-coverage: 3.2.2
source-map: 0.6.1 source-map: 0.6.1
transitivePeerDependencies: transitivePeerDependencies:
@@ -12184,7 +12185,7 @@ packages:
fflate: 0.4.8 fflate: 0.4.8
optionalDependencies: optionalDependencies:
canvg: 3.0.10 canvg: 3.0.10
core-js: 3.38.0 core-js: 3.38.1
dompurify: 2.5.6 dompurify: 2.5.6
html2canvas: 1.4.1 html2canvas: 1.4.1
dev: false dev: false
@@ -12209,6 +12210,10 @@ packages:
object.values: 1.1.7 object.values: 1.1.7
dev: true dev: true
/just-extend@6.2.0:
resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==}
dev: false
/just-throttle@2.3.1: /just-throttle@2.3.1:
resolution: {integrity: sha512-0H4miIAWZYpnpg7oD/Y/PBb77ISSHAETif5xK9EnwIgYCO6oC8ErkJxDumMUTR44shSOwptRIArRuvNuvN/hOw==} resolution: {integrity: sha512-0H4miIAWZYpnpg7oD/Y/PBb77ISSHAETif5xK9EnwIgYCO6oC8ErkJxDumMUTR44shSOwptRIArRuvNuvN/hOw==}
dev: true dev: true
@@ -14299,6 +14304,23 @@ packages:
yaml: 2.3.4 yaml: 2.3.4
dev: true dev: true
/postcss-load-config@4.0.1(postcss@8.4.32):
resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
engines: {node: '>= 14'}
peerDependencies:
postcss: '>=8.0.9'
ts-node: '>=9.0.0'
peerDependenciesMeta:
postcss:
optional: true
ts-node:
optional: true
dependencies:
lilconfig: 2.1.0
postcss: 8.4.32
yaml: 2.3.4
dev: true
/postcss-load-config@4.0.1(postcss@8.4.32)(ts-node@10.9.2): /postcss-load-config@4.0.1(postcss@8.4.32)(ts-node@10.9.2):
resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
@@ -14405,8 +14427,8 @@ packages:
source-map-js: 1.2.0 source-map-js: 1.2.0
dev: false dev: false
/posthog-js@1.155.0: /posthog-js@1.157.2:
resolution: {integrity: sha512-gxi72Qcp7Vnq6efe5gNxsq84zyEFd33NUmoLSgcbMPhxU30qgc89Aw/N2mRB4mGrD3Mq0rCnDJUzGFdN59nR0g==} resolution: {integrity: sha512-ATYKGs+Q51u26nHHhrhWNh1whqFm7j/rwQQYw+y6/YzNmRlo+YsqrGZji9nqXb9/4fo0ModDr+ZmuOI3hKkUXA==}
dependencies: dependencies:
fflate: 0.4.8 fflate: 0.4.8
preact: 10.19.3 preact: 10.19.3
@@ -14445,14 +14467,14 @@ packages:
synckit: 0.8.5 synckit: 0.8.5
dev: true dev: true
/prettier-plugin-svelte@3.1.2(prettier@3.1.0)(svelte@4.2.18): /prettier-plugin-svelte@3.1.2(prettier@3.1.0)(svelte@4.2.19):
resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==} resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==}
peerDependencies: peerDependencies:
prettier: ^3.0.0 prettier: ^3.0.0
svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
dependencies: dependencies:
prettier: 3.1.0 prettier: 3.1.0
svelte: 4.2.18 svelte: 4.2.19
dev: true dev: true
/prettier-plugin-tailwindcss@0.5.7(prettier-plugin-svelte@3.1.2)(prettier@3.1.0): /prettier-plugin-tailwindcss@0.5.7(prettier-plugin-svelte@3.1.2)(prettier@3.1.0):
@@ -14508,7 +14530,7 @@ packages:
optional: true optional: true
dependencies: dependencies:
prettier: 3.1.0 prettier: 3.1.0
prettier-plugin-svelte: 3.1.2(prettier@3.1.0)(svelte@4.2.18) prettier-plugin-svelte: 3.1.2(prettier@3.1.0)(svelte@4.2.19)
dev: true dev: true
/prettier@3.1.0: /prettier@3.1.0:
@@ -15552,22 +15574,22 @@ packages:
smart-buffer: 4.2.0 smart-buffer: 4.2.0
dev: false dev: false
/solid-js@1.8.20: /solid-js@1.8.21:
resolution: {integrity: sha512-SsgaExCJ97mPm9WpAusjZ484Z8zTp8ggiueQOsrm81iAP7UaxaN+wiOgnPcJ9u6B2SQpoQ4FiDPAZBqVWi1V4g==} resolution: {integrity: sha512-FHUGdoo7GVa1BTpGh/4UtwIISde0vSXoqNB6KFpHiTgkIY959tmCJ7NYQAWDfScBfnpoMGZR8lFz0DiwW/gFlw==}
dependencies: dependencies:
csstype: 3.1.3 csstype: 3.1.3
seroval: 1.1.1 seroval: 1.1.1
seroval-plugins: 1.1.1(seroval@1.1.1) seroval-plugins: 1.1.1(seroval@1.1.1)
dev: false dev: false
/solid-swr-store@0.10.7(solid-js@1.8.20)(swr-store@0.10.6): /solid-swr-store@0.10.7(solid-js@1.8.21)(swr-store@0.10.6):
resolution: {integrity: sha512-A6d68aJmRP471aWqKKPE2tpgOiR5fH4qXQNfKIec+Vap+MGQm3tvXlT8n0I8UgJSlNAsSAUuw2VTviH2h3Vv5g==} resolution: {integrity: sha512-A6d68aJmRP471aWqKKPE2tpgOiR5fH4qXQNfKIec+Vap+MGQm3tvXlT8n0I8UgJSlNAsSAUuw2VTviH2h3Vv5g==}
engines: {node: '>=10'} engines: {node: '>=10'}
peerDependencies: peerDependencies:
solid-js: ^1.2 solid-js: ^1.2
swr-store: ^0.10 swr-store: ^0.10
dependencies: dependencies:
solid-js: 1.8.20 solid-js: 1.8.21
swr-store: 0.10.6 swr-store: 0.10.6
dev: false dev: false
@@ -16074,7 +16096,7 @@ packages:
svelte: 3.59.2 svelte: 3.59.2
dev: false dev: false
/svelte-eslint-parser@0.33.1(svelte@4.2.18): /svelte-eslint-parser@0.33.1(svelte@4.2.19):
resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==} resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
@@ -16088,7 +16110,7 @@ packages:
espree: 9.6.1 espree: 9.6.1
postcss: 8.4.32 postcss: 8.4.32
postcss-scss: 4.0.9(postcss@8.4.32) postcss-scss: 4.0.9(postcss@8.4.32)
svelte: 4.2.18 svelte: 4.2.19
dev: true dev: true
/svelte-hmr@0.15.3(svelte@4.1.2): /svelte-hmr@0.15.3(svelte@4.1.2):
@@ -16254,8 +16276,8 @@ packages:
magic-string: 0.30.5 magic-string: 0.30.5
periscopic: 3.1.0 periscopic: 3.1.0
/svelte@4.2.18: /svelte@4.2.19:
resolution: {integrity: sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==} resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==}
engines: {node: '>=16'} engines: {node: '>=16'}
dependencies: dependencies:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
@@ -16311,12 +16333,12 @@ packages:
resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==} resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==}
dev: false dev: false
/swrv@1.0.4(vue@3.4.37): /swrv@1.0.4(vue@3.4.38):
resolution: {integrity: sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==} resolution: {integrity: sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==}
peerDependencies: peerDependencies:
vue: '>=3.2.26 < 4' vue: '>=3.2.26 < 4'
dependencies: dependencies:
vue: 3.4.37(typescript@5.1.6) vue: 3.4.38(typescript@5.1.6)
dev: false dev: false
/synckit@0.8.5: /synckit@0.8.5:
@@ -16380,7 +16402,7 @@ packages:
postcss: 8.4.32 postcss: 8.4.32
postcss-import: 15.1.0(postcss@8.4.32) postcss-import: 15.1.0(postcss@8.4.32)
postcss-js: 4.0.1(postcss@8.4.32) postcss-js: 4.0.1(postcss@8.4.32)
postcss-load-config: 4.0.1(postcss@8.4.32)(ts-node@10.9.2) postcss-load-config: 4.0.1(postcss@8.4.32)
postcss-nested: 6.0.1(postcss@8.4.32) postcss-nested: 6.0.1(postcss@8.4.32)
postcss-selector-parser: 6.0.13 postcss-selector-parser: 6.0.13
resolve: 1.22.8 resolve: 1.22.8
@@ -16920,8 +16942,8 @@ packages:
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
/uglify-js@3.19.1: /uglify-js@3.19.2:
resolution: {integrity: sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A==} resolution: {integrity: sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==}
engines: {node: '>=0.8.0'} engines: {node: '>=0.8.0'}
hasBin: true hasBin: true
requiresBuild: true requiresBuild: true
@@ -17347,6 +17369,40 @@ packages:
vfile-message: 4.0.2 vfile-message: 4.0.2
dev: false dev: false
/vite@4.4.8:
resolution: {integrity: sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
'@types/node': '>= 14'
less: '*'
lightningcss: ^1.21.0
sass: '*'
stylus: '*'
sugarss: '*'
terser: ^5.4.0
peerDependenciesMeta:
'@types/node':
optional: true
less:
optional: true
lightningcss:
optional: true
sass:
optional: true
stylus:
optional: true
sugarss:
optional: true
terser:
optional: true
dependencies:
esbuild: 0.18.20
postcss: 8.4.32
rollup: 3.29.4
optionalDependencies:
fsevents: 2.3.3
/vite@4.4.8(@types/node@18.11.10)(sass@1.64.2): /vite@4.4.8(@types/node@18.11.10)(sass@1.64.2):
resolution: {integrity: sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==} resolution: {integrity: sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
@@ -17391,7 +17447,7 @@ packages:
vite: vite:
optional: true optional: true
dependencies: dependencies:
vite: 4.4.8(@types/node@18.11.10)(sass@1.64.2) vite: 4.4.8
/vscode-oniguruma@1.7.0: /vscode-oniguruma@1.7.0:
resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
@@ -17401,19 +17457,19 @@ packages:
resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
dev: false dev: false
/vue@3.4.37(typescript@5.1.6): /vue@3.4.38(typescript@5.1.6):
resolution: {integrity: sha512-3vXvNfkKTBsSJ7JP+LyR7GBuwQuckbWvuwAid3xbqK9ppsKt/DUvfqgZ48fgOLEfpy1IacL5f8QhUVl77RaI7A==} resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==}
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
peerDependenciesMeta: peerDependenciesMeta:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@vue/compiler-dom': 3.4.37 '@vue/compiler-dom': 3.4.38
'@vue/compiler-sfc': 3.4.37 '@vue/compiler-sfc': 3.4.38
'@vue/runtime-dom': 3.4.37 '@vue/runtime-dom': 3.4.38
'@vue/server-renderer': 3.4.37(vue@3.4.37) '@vue/server-renderer': 3.4.38(vue@3.4.38)
'@vue/shared': 3.4.37 '@vue/shared': 3.4.38
typescript: 5.1.6 typescript: 5.1.6
dev: false dev: false