From 9543cc9ecf62676c2ce3b326f4fd2c235d7b6763 Mon Sep 17 00:00:00 2001 From: Patrick Miller Date: Thu, 19 Oct 2023 01:13:09 +0900 Subject: [PATCH 1/6] Render async SolidJS components --- .changeset/chilly-badgers-push.md | 29 ++++ packages/astro/e2e/shared-component-tests.js | 13 +- packages/astro/e2e/solid-component.test.js | 7 +- .../src/components/Counter.jsx | 34 ++++ .../src/components/LazyCounter.jsx | 5 + .../src/components/async-components.jsx | 70 ++++++++ .../solid-component/src/pages/nested.astro | 18 ++ .../src/pages/ssr-client-load-throwing.astro | 21 +++ .../src/pages/ssr-client-load.astro | 17 ++ .../src/pages/ssr-client-none-throwing.astro | 24 +++ .../src/pages/ssr-client-none.astro | 16 ++ .../src/pages/ssr-client-only.astro | 13 ++ packages/astro/test/solid-component.test.js | 94 +++++++++++ packages/integrations/solid/README.md | 67 ++++++++ packages/integrations/solid/package.json | 2 +- packages/integrations/solid/src/client.ts | 34 ++-- packages/integrations/solid/src/context.ts | 7 +- packages/integrations/solid/src/server.ts | 154 +++++++++++++++--- 18 files changed, 583 insertions(+), 42 deletions(-) create mode 100644 .changeset/chilly-badgers-push.md create mode 100644 packages/astro/test/fixtures/solid-component/src/components/Counter.jsx create mode 100644 packages/astro/test/fixtures/solid-component/src/components/LazyCounter.jsx create mode 100644 packages/astro/test/fixtures/solid-component/src/components/async-components.jsx create mode 100644 packages/astro/test/fixtures/solid-component/src/pages/nested.astro create mode 100644 packages/astro/test/fixtures/solid-component/src/pages/ssr-client-load-throwing.astro create mode 100644 packages/astro/test/fixtures/solid-component/src/pages/ssr-client-load.astro create mode 100644 packages/astro/test/fixtures/solid-component/src/pages/ssr-client-none-throwing.astro create mode 100644 packages/astro/test/fixtures/solid-component/src/pages/ssr-client-none.astro create mode 100644 packages/astro/test/fixtures/solid-component/src/pages/ssr-client-only.astro diff --git a/.changeset/chilly-badgers-push.md b/.changeset/chilly-badgers-push.md new file mode 100644 index 000000000000..170152409022 --- /dev/null +++ b/.changeset/chilly-badgers-push.md @@ -0,0 +1,29 @@ +--- +'@astrojs/solid-js': major +--- + +Render SolidJS components using [renderToStringAsync](https://www.solidjs.com/docs/latest#rendertostringasync). + +This changes the renderer of SolidJS components from renderToString to renderToStringAsync. It also injected the full SolidJS hydration script generated by `generateHydrationScript`, to help make sure that Suspense, ErrorBoundary and similar features can be hydrated correctly. + +The server render phase will now wait for Suspense boundaries to resolve instead of immediately rendering the [Suspense](https://www.solidjs.com/docs/latest#suspense) fallback. + +If your SolidJS component uses APIs such as [lazy](https://www.solidjs.com/docs/latest#lazy) or [createResource](https://www.solidjs.com/docs/latest#createresource), these functions may now be used on the server side. + +This increases the flexibility of the SolidJS integration. Server-only SolidJS components may now call async functions directly using the `createResource` API, like loading data from another API or using async Astro server functions like `getImage()`. It is very unlikely that a server only component would have used the Suspense feature until now, so this should not be a breaking change for server-only components. + +This could be a breaking change for components that meet the following conditions: + +- The component uses Suspense APIs like `Suspense`, `lazy` or `createResource`, and +- The component is mounted using a *hydrating* directive: + - `client:load` + - `client:idle` + - `client:visible` + - `client:media` + +These components will now first try to resolve the Suspense boundaries on the server side instead of the client side. + +If you do not want Suspense boundaries to be resolved on the server (for example, if you are using createResource to do an HTTP fetch that relies on a browser-side cookie), you may consider: + +- changing the template directive to `client:only` to skip server side rendering completely +- use APIs like [isServer](https://www.solidjs.com/docs/latest/api#isserver) or `onMount()` to detect server mode and render a server fallback without using Suspense. diff --git a/packages/astro/e2e/shared-component-tests.js b/packages/astro/e2e/shared-component-tests.js index e8ec273fd475..ccce25b0b008 100644 --- a/packages/astro/e2e/shared-component-tests.js +++ b/packages/astro/e2e/shared-component-tests.js @@ -1,7 +1,7 @@ import { expect } from '@playwright/test'; import { scrollToElement, testFactory, waitForHydrate } from './test-utils.js'; -export function prepareTestFactory(opts) { +export function prepareTestFactory(opts, { canReplayClicks = false } = {}) { const test = testFactory(opts); let devServer; @@ -104,7 +104,16 @@ export function prepareTestFactory(opts) { await waitForHydrate(page, counter); await inc.click(); - await expect(count, 'count incremented by 1').toHaveText('1'); + + if (canReplayClicks) { + // SolidJS has a hydration script that automatically captures + // and replays click and input events on Hydration: + // https://www.solidjs.com/docs/latest#hydrationscript + // so in total there are two click events. + await expect(count, 'count incremented by 2').toHaveText('2'); + } else { + await expect(count, 'count incremented by 1').toHaveText('1'); + } }); test('client:only', async ({ page, astro }) => { diff --git a/packages/astro/e2e/solid-component.test.js b/packages/astro/e2e/solid-component.test.js index 7a195c9b1267..81e6894e80b5 100644 --- a/packages/astro/e2e/solid-component.test.js +++ b/packages/astro/e2e/solid-component.test.js @@ -1,6 +1,11 @@ import { prepareTestFactory } from './shared-component-tests.js'; -const { test, createTests } = prepareTestFactory({ root: './fixtures/solid-component/' }); +const { test, createTests } = prepareTestFactory( + { root: './fixtures/solid-component/' }, + { + canReplayClicks: true, + } +); const config = { componentFilePath: './src/components/SolidComponent.jsx', diff --git a/packages/astro/test/fixtures/solid-component/src/components/Counter.jsx b/packages/astro/test/fixtures/solid-component/src/components/Counter.jsx new file mode 100644 index 000000000000..648a6af1583f --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/components/Counter.jsx @@ -0,0 +1,34 @@ +// Based on reproduction from https://github.com/withastro/astro/issues/6912 + +import { For, Match, Switch } from 'solid-js'; + +export default function Counter(props) { + return ( + + {(page) => { + return ( + + + + + + + + + ); + }} + + ); +} diff --git a/packages/astro/test/fixtures/solid-component/src/components/LazyCounter.jsx b/packages/astro/test/fixtures/solid-component/src/components/LazyCounter.jsx new file mode 100644 index 000000000000..27ff06246549 --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/components/LazyCounter.jsx @@ -0,0 +1,5 @@ +// Based on reproduction from https://github.com/withastro/astro/issues/6912 + +import { lazy } from 'solid-js'; + +export const LazyCounter = lazy(() => import('./Counter')); diff --git a/packages/astro/test/fixtures/solid-component/src/components/async-components.jsx b/packages/astro/test/fixtures/solid-component/src/components/async-components.jsx new file mode 100644 index 000000000000..1823759ea1f9 --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/components/async-components.jsx @@ -0,0 +1,70 @@ +import { createResource, createSignal, createUniqueId, ErrorBoundary, Show } from 'solid-js'; + +// It may be good to try short and long sleep times. +// But short is faster for testing. +const SLEEP_MS = 10; + +const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); + +export function AsyncComponent(props) { + const id = createUniqueId(); + + const [data] = createResource(async () => { + // console.log("Start rendering async component " + props.title); + await sleep(props.delay ?? SLEEP_MS); + // console.log("Finish rendering async component " + props.title); + return 'Async result for component id=' + id; + }); + + const [show, setShow] = createSignal(false); + + return ( +
+ {'title=' + (props.title ?? '(none)') + ' '} + {'id=' + id + ' '} + {data()}{' '} + + {/* NOTE: The props.children are intentionally hidden by default + to simulate a situation where hydration script might not + be injected in the right spot. */} + {props.children ?? 'Empty'} +
+ ); +} + +export function AsyncErrorComponent() { + const [data] = createResource(async () => { + await sleep(SLEEP_MS); + throw new Error('Async error thrown!'); + }); + + return
{data()}
; +} + +export function AsyncErrorInErrorBoundary() { + return ( + Async error boundary fallback}> + + + ); +} + +export function SyncErrorComponent() { + throw new Error('Sync error thrown!'); +} + +export function SyncErrorInErrorBoundary() { + return ( + Sync error boundary fallback}> + + + ); +} diff --git a/packages/astro/test/fixtures/solid-component/src/pages/nested.astro b/packages/astro/test/fixtures/solid-component/src/pages/nested.astro new file mode 100644 index 000000000000..ba5ad3082a08 --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/pages/nested.astro @@ -0,0 +1,18 @@ +--- +import { AsyncComponent } from '../components/async-components.jsx'; +--- + + + Nested Test + +
+ + + + + + + +
+ + diff --git a/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-load-throwing.astro b/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-load-throwing.astro new file mode 100644 index 000000000000..40a5ca52c0e9 --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-load-throwing.astro @@ -0,0 +1,21 @@ +--- +import { + AsyncErrorInErrorBoundary, + SyncErrorInErrorBoundary, +} from '../components/async-components.jsx'; +--- + + + Solid + +
+ + + +
+ + diff --git a/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-load.astro b/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-load.astro new file mode 100644 index 000000000000..0b43ca972373 --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-load.astro @@ -0,0 +1,17 @@ +--- +import { LazyCounter } from '../components/LazyCounter.jsx'; +import { AsyncComponent } from '../components/async-components.jsx'; +--- + + + Solid + +
+ + + + + +
+ + diff --git a/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-none-throwing.astro b/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-none-throwing.astro new file mode 100644 index 000000000000..7c81c884455d --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-none-throwing.astro @@ -0,0 +1,24 @@ +--- +import { + AsyncErrorInErrorBoundary, + SyncErrorInErrorBoundary, + // AsyncErrorComponent, + // SyncErrorComponent, +} from '../components/async-components.jsx'; +--- + + + Solid + +
+ + + + + + + + +
+ + diff --git a/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-none.astro b/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-none.astro new file mode 100644 index 000000000000..60f0b429b541 --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-none.astro @@ -0,0 +1,16 @@ +--- +import { AsyncComponent } from '../components/async-components.jsx'; +import { LazyCounter } from '../components/LazyCounter.jsx'; +--- + + + Solid + +
+ + + + +
+ + diff --git a/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-only.astro b/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-only.astro new file mode 100644 index 000000000000..f94800b2a009 --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/pages/ssr-client-only.astro @@ -0,0 +1,13 @@ +--- +import { AsyncComponent } from '../components/async-components.jsx'; +--- + + + Solid + +
+ + +
+ + diff --git a/packages/astro/test/solid-component.test.js b/packages/astro/test/solid-component.test.js index ed3af45e8883..4a769ae86872 100644 --- a/packages/astro/test/solid-component.test.js +++ b/packages/astro/test/solid-component.test.js @@ -26,6 +26,85 @@ describe('Solid component', () => { // test 2: Support rendering proxy components expect($('#proxy-component').text()).to.be.equal('Hello world'); }); + + // ssr-client-none.astro + it('Supports server only components', async () => { + const html = await fixture.readFile('ssr-client-none/index.html'); + const hydrationScriptCount = countHydrationScripts(html); + expect(hydrationScriptCount).to.be.equal(0); + const hydrationEventsCount = countHydrationEvents(html); + expect(hydrationEventsCount).to.be.equal(0); + }); + + it('Supports lazy server only components', async () => { + const html = await fixture.readFile('ssr-client-none/index.html'); + const $ = cheerio.load(html); + // AsyncComponent renders 1 button + // LazyCounter renders 4 buttons + // Total is 5 buttons + expect($('button')).to.have.lengthOf(5); + }); + + // ssr-client-none-throwing.astro + it('Supports server only components with error boundaries', async () => { + const html = await fixture.readFile('ssr-client-none-throwing/index.html'); + const hydrationScriptCount = countHydrationScripts(html); + expect(hydrationScriptCount).to.be.equal(0); + expect(html).to.include('Async error boundary fallback'); + expect(html).to.include('Sync error boundary fallback'); + const hydrationEventsCount = countHydrationEvents(html); + expect(hydrationEventsCount).to.be.equal(0); + }); + + // ssr-client-load.astro + it('Supports hydrating components', async () => { + const html = await fixture.readFile('ssr-client-load/index.html'); + const hydrationScriptCount = countHydrationScripts(html); + expect(hydrationScriptCount).to.be.equal(1); + }); + + it('Supports lazy hydrating components', async () => { + const html = await fixture.readFile('ssr-client-load/index.html'); + const $ = cheerio.load(html); + // AsyncComponent renders 1 button, and there are 2 AsyncComponents + // LazyCounter renders 4 buttons + // Total is 6 buttons + expect($('button')).to.have.lengthOf(6); + }); + + // ssr-client-load-throwing.astro + it('Supports hydrating components with error boundaries', async () => { + const html = await fixture.readFile('ssr-client-load-throwing/index.html'); + const hydrationScriptCount = countHydrationScripts(html); + expect(hydrationScriptCount).to.be.equal(1); + expect(html).to.include('Async error boundary fallback'); + expect(html).to.include('Sync error boundary fallback'); + const hydrationEventsCount = countHydrationEvents(html); + expect(hydrationEventsCount).to.be.greaterThanOrEqual(1); + }); + + // ssr-client-only.astro + it('Supports client only components', async () => { + const html = await fixture.readFile('ssr-client-only/index.html'); + const hydrationScriptCount = countHydrationScripts(html); + expect(hydrationScriptCount).to.be.equal(0); + }); + + // nested.astro + + it('Injects hydration script before any SolidJS components in the HTML, even if heavily nested', async () => { + // TODO: This tests SSG mode, where the extraHead is generally available. + // Should add a test (and solution) for SSR mode, where head is more likely to have already + // been streamed to the client. + const html = await fixture.readFile('nested/index.html'); + const firstHydrationScriptAt = String(html).indexOf('_$HY='); + const firstHydrationEventAt = String(html).indexOf('_$HY.set'); + console.log('Position of hydration script ', firstHydrationScriptAt); + expect(firstHydrationScriptAt).to.be.lessThan( + firstHydrationEventAt, + 'Position of first hydration event' + ); + }); }); if (isWindows) return; @@ -64,3 +143,18 @@ describe('Solid component', () => { }); }); }); + +function countHydrationScripts(/** @type {string} */ html) { + // Based on this hydration script + // https://github.com/ryansolid/dom-expressions/blob/2ea8a70518710941da6a59b0fe9c2a8d94d1baed/packages/dom-expressions/assets/hydrationScripts.js + // we look for the hint "_$HY=" + + return html.match(/_\$HY=/g)?.length ?? 0; +} + +function countHydrationEvents(/** @type {string} */ html) { + // number of times a component was hydrated during rendering + // we look for the hint "_$HY.set(" + + return html.match(/_\$HY.set\(/g)?.length ?? 0; +} diff --git a/packages/integrations/solid/README.md b/packages/integrations/solid/README.md index e82cd5e18f36..29b631f3f32b 100644 --- a/packages/integrations/solid/README.md +++ b/packages/integrations/solid/README.md @@ -98,6 +98,73 @@ export default defineConfig({ }); ``` +## Rendering strategy + +Hydrating SolidJS components are automatically wrapped in Suspense boundaries and rendered on the server using the [renderToStringAsync](https://www.solidjs.com/docs/latest/api#rendertostringasync) function. This means that lazy components will be resolved and rendered on the server. For example the following source files: + +```tsx +// HelloAstro.tsx +export default function HelloAstro() { + return
Hello Astro
; +} +``` + +```tsx +// LazyHelloAstro.tsx +import { lazy } from 'solid-js'; +export const LazyHelloAstro = lazy(() => import('./HelloAstro')); +``` + + +```astro +// hello.astro +import { LazyHelloAstro } from './LazyHelloAstro.tsx'; +--- + +``` + +Will be rendered into the server's HTML output as + +```html +
Hello Astro
+``` + +Resources will also be resolved. For example: + +```tsx +// CharacterName.tsx +function CharacterName() { + const [name] = createResource(() => + fetch('https://swapi.dev/api/people/1') + .then((result) => result.json()) + .then((data) => data.name) + ); + + return
Name: {name()}
; +} +``` + + +```astro +// character.astro +--- + +``` + +Will generate the following HTML output: + +```html +
Name: Luke Skywalker
+``` + +### Wrapping in Suspense + +Server-only or hydrating components are automatically wrapped in top level Suspense boundaries, so it is not necessary to add a top level Suspense boundary around async components. + +Non-hydrating [`client:only` components](https://docs.astro.build/en/reference/directives-reference/#clientonly) are not automatically wrapped in Suspense boundaries. + +Feel free to add additional Suspense boundaries according to your preference. + ## Troubleshooting For help, check out the `#support` channel on [Discord](https://astro.build/chat). Our friendly Support Squad members are here to help! diff --git a/packages/integrations/solid/package.json b/packages/integrations/solid/package.json index 407d5d870625..cf5d65c2034c 100644 --- a/packages/integrations/solid/package.json +++ b/packages/integrations/solid/package.json @@ -43,7 +43,7 @@ "solid-js": "^1.8.5" }, "peerDependencies": { - "solid-js": "^1.4.3" + "solid-js": "^1.7.11" }, "engines": { "node": ">=18.14.1" diff --git a/packages/integrations/solid/src/client.ts b/packages/integrations/solid/src/client.ts index 58f41160da14..0455bff2a823 100644 --- a/packages/integrations/solid/src/client.ts +++ b/packages/integrations/solid/src/client.ts @@ -1,14 +1,12 @@ +import { Suspense } from 'solid-js'; import { createComponent, hydrate, render } from 'solid-js/web'; export default (element: HTMLElement) => (Component: any, props: any, slotted: any, { client }: { client: string }) => { - // Prepare global object expected by Solid's hydration logic - if (!(window as any)._$HY) { - (window as any)._$HY = { events: [], completed: new WeakSet(), r: {} }; - } if (!element.hasAttribute('ssr')) return; - const boostrap = client === 'only' ? render : hydrate; + const isHydrate = client !== 'only'; + const bootstrap = isHydrate ? hydrate : render; let slot: HTMLElement | null; let _slots: Record = {}; @@ -35,13 +33,25 @@ export default (element: HTMLElement) => const { default: children, ...slots } = _slots; const renderId = element.dataset.solidRenderId; - const dispose = boostrap( - () => - createComponent(Component, { - ...props, - ...slots, - children, - }), + const dispose = bootstrap( + () => { + const inner = () => + createComponent(Component, { + ...props, + ...slots, + children, + }); + + if (isHydrate) { + return createComponent(Suspense, { + get children() { + return inner(); + }, + }); + } else { + return inner(); + } + }, element, { renderId, diff --git a/packages/integrations/solid/src/context.ts b/packages/integrations/solid/src/context.ts index e18ead749aaa..9350163888cd 100644 --- a/packages/integrations/solid/src/context.ts +++ b/packages/integrations/solid/src/context.ts @@ -11,10 +11,13 @@ export function getContext(result: RendererContext['result']): Context { if (contexts.has(result)) { return contexts.get(result)!; } - let ctx = { + let ctx: Context = { c: 0, get id() { - return 's' + this.c.toString(); + // a hyphen at the end makes it easier to distinguish the island + // render id from component tree portion of the hydration key `data-hk="..."` + // https://github.com/solidjs/solid-start/blob/f0860887030e0632949b3f497e279aecb6ed5afd/packages/start/islands/mount.tsx#L41 + return 's' + this.c.toString() + '-'; }, }; contexts.set(result, ctx); diff --git a/packages/integrations/solid/src/server.ts b/packages/integrations/solid/src/server.ts index 6e371da517f6..d469edfcf290 100644 --- a/packages/integrations/solid/src/server.ts +++ b/packages/integrations/solid/src/server.ts @@ -1,52 +1,158 @@ -import { createComponent, renderToString, ssr } from 'solid-js/web'; +import { + createComponent, + generateHydrationScript, + NoHydration, + renderToString, + renderToStringAsync, + ssr, + Suspense, +} from 'solid-js/web'; import { getContext, incrementId } from './context.js'; import type { RendererContext } from './types.js'; const slotName = (str: string) => str.trim().replace(/[-_]([a-z])/g, (_, w) => w.toUpperCase()); -function check(this: RendererContext, Component: any, props: Record, children: any) { +type RenderStrategy = 'sync' | 'async'; + +async function check( + this: RendererContext, + Component: any, + props: Record, + children: any +) { if (typeof Component !== 'function') return false; - const { html } = renderToStaticMarkup.call(this, Component, props, children); + + // There is nothing particularly special about Solid components. Basically they are just functions. + // In general, components from other frameworks (eg, MDX, React, etc.) tend to render as "undefined", + // so we take advantage of this trick to decide if this is a Solid component or not. + + const { html } = await renderToStaticMarkup.call(this, Component, props, children, { + // The purpose of check() is just to validate that this is a Solid component and not + // React, etc. We should render in sync mode which should skip Suspense boundaries + // or loading resources like external API calls. + renderStrategy: 'sync' as RenderStrategy, + }); + return typeof html === 'string'; } -function renderToStaticMarkup( +// AsyncRendererComponentFn +async function renderToStaticMarkup( this: RendererContext, Component: any, props: Record, { default: children, ...slotted }: any, metadata?: undefined | Record ) { - const renderId = metadata?.hydrate ? incrementId(getContext(this.result)) : ''; + const ctx = getContext(this.result); + const renderId = metadata?.hydrate ? incrementId(ctx) : ''; const needsHydrate = metadata?.astroStaticSlot ? !!metadata.hydrate : true; const tagName = needsHydrate ? 'astro-slot' : 'astro-static-slot'; - const html = renderToString( - () => { - const slots: Record = {}; - for (const [key, value] of Object.entries(slotted)) { - const name = slotName(key); - slots[name] = ssr(`<${tagName} name="${name}">${value}`); - } - // Note: create newProps to avoid mutating `props` before they are serialized - const newProps = { - ...props, - ...slots, - // In Solid SSR mode, `ssr` creates the expected structure for `children`. - children: children != null ? ssr(`<${tagName}>${children}`) : children, - }; + const renderStrategy = (metadata?.renderStrategy ?? 'async') as RenderStrategy; + const renderFn = () => { + const slots: Record = {}; + for (const [key, value] of Object.entries(slotted)) { + const name = slotName(key); + slots[name] = ssr(`<${tagName} name="${name}">${value}`); + } + // Note: create newProps to avoid mutating `props` before they are serialized + const newProps = { + ...props, + ...slots, + // In Solid SSR mode, `ssr` creates the expected structure for `children`. + children: children != null ? ssr(`<${tagName}>${children}`) : children, + }; + + if (renderStrategy === 'sync') { + // Sync Render: + // + // This render mode is not exposed directly to the end user. It is only + // used in the check() function. return createComponent(Component, newProps); - }, - { - renderId, + } else { + if (needsHydrate) { + // Hydrate + Async Render: + // + // + // + return createComponent(Suspense, { + get children() { + return createComponent(Component, newProps); + }, + }); + } else { + // Static + Async Render + // + // + // + // + // + return createComponent(NoHydration, { + get children() { + return createComponent(Suspense, { + get children() { + return createComponent(Component, newProps); + }, + }); + }, + }); + } } - ); + }; + + let prepend = ''; + let componentHtml: string | undefined = undefined; + + if (needsHydrate && renderStrategy === 'async') { + if (!ctx.hasSolidHydrationScript) { + // The hydration script needs to come before to the first hydrating component of the page. + // + // One way to this would be to prepend the rendered output, eg: + // + // html += generateHydrationScript(); + // + // However, in certain situations, nested components may be rendered depth-first, causing SolidJS + // to put the hydration script in the wrong spot. + // + // Therefore we prefer to render to the extraHead when it is available. + // Sometimes, the head has already been rendered, so in those cases + // we add the hydration script right before the component for now. + // For example, in the following test, the head is already rendered before + // this function is called: + // + // packages/astro/e2e/fixtures/nested-in-solid/package.json + + // NOTE: It seems that components on a page may be rendered in parallel using Promise.all() + // or similar. To try to get the hydration script as high up as possibile, if not in the + // itself, this code block is intentionally written *before* the first `await` in the function. + + if (this.result._metadata.hasRenderedHead) { + prepend = generateHydrationScript(); + } else { + this.result._metadata.extraHead.push(generateHydrationScript()); + } + + ctx.hasSolidHydrationScript = true; + } + } + + if (renderStrategy === 'async') { + componentHtml = await renderToStringAsync(renderFn, { renderId }); + } else { + componentHtml = renderToString(renderFn, { renderId }); + } + return { attrs: { 'data-solid-render-id': renderId, }, - html, + // componentHtml should in theory always be a string, but non-Solid components may + // return undefined. The check() function relies on this to check if the component + // is a solid component, thus we must check that componentHtml is actually a string + // and not just blindly concategate it with a a hydration script. + html: typeof componentHtml === 'string' ? prepend + componentHtml : componentHtml, }; } From 07c88aadafc3044ea6a31a681dab6134666b90ed Mon Sep 17 00:00:00 2001 From: Johannes Spohr Date: Tue, 17 Oct 2023 14:56:16 +0200 Subject: [PATCH 2/6] Add renderer-specific hydration script to allow for proper SolidJS hydration --- packages/astro/src/@types/astro.ts | 9 ++++ packages/astro/src/core/render/result.ts | 1 + .../astro/src/runtime/server/render/common.ts | 7 +++ .../src/runtime/server/render/component.ts | 9 ++++ .../src/runtime/server/render/instruction.ts | 16 +++++- .../src/components/defer.astro | 7 +++ .../solid-component/src/pages/deferred.astro | 11 ++++ packages/astro/test/solid-component.test.js | 13 +++++ packages/integrations/solid/src/server.ts | 52 +++---------------- 9 files changed, 78 insertions(+), 47 deletions(-) create mode 100644 packages/astro/test/fixtures/solid-component/src/components/defer.astro create mode 100644 packages/astro/test/fixtures/solid-component/src/pages/deferred.astro diff --git a/packages/astro/src/@types/astro.ts b/packages/astro/src/@types/astro.ts index fa8c33920ac0..b731c7917033 100644 --- a/packages/astro/src/@types/astro.ts +++ b/packages/astro/src/@types/astro.ts @@ -2261,6 +2261,11 @@ export interface SSRLoadedRenderer extends AstroRenderer { attrs?: Record; }>; supportsAstroStaticSlot?: boolean; + /** + * If set, allowes the renderer to print a specific hydration script before + * the first hydrated island + */ + renderHydrationScript?: () => string; }; } @@ -2480,6 +2485,10 @@ export interface SSRResult { */ export interface SSRMetadata { hasHydrationScript: boolean; + /** + * Keep track of which renderers already injected their specific hydration script + */ + hasRendererSpecificHydrationScript: Record; hasDirectives: Set; hasRenderedHead: boolean; headInTree: boolean; diff --git a/packages/astro/src/core/render/result.ts b/packages/astro/src/core/render/result.ts index 9a745fd5a95f..c3c56eb9bee6 100644 --- a/packages/astro/src/core/render/result.ts +++ b/packages/astro/src/core/render/result.ts @@ -279,6 +279,7 @@ export function createResult(args: CreateResultArgs): SSRResult { headInTree: false, extraHead: [], propagators: new Set(), + hasRendererSpecificHydrationScript: {}, }, }; diff --git a/packages/astro/src/runtime/server/render/common.ts b/packages/astro/src/runtime/server/render/common.ts index f595dc78cf13..acf46ce49349 100644 --- a/packages/astro/src/runtime/server/render/common.ts +++ b/packages/astro/src/runtime/server/render/common.ts @@ -89,6 +89,13 @@ function stringifyChunk( } return renderAllHeadContent(result); } + case 'renderer-hydration': { + if (!result._metadata.hasRendererSpecificHydrationScript[instruction.rendererName]) { + result._metadata.hasRendererSpecificHydrationScript[instruction.rendererName] = true; + return instruction.render(); + } + return ''; + } default: { throw new Error(`Unknown chunk type: ${(chunk as any).type}`); } diff --git a/packages/astro/src/runtime/server/render/component.ts b/packages/astro/src/runtime/server/render/component.ts index 42987f011e90..f1035d4dfb57 100644 --- a/packages/astro/src/runtime/server/render/component.ts +++ b/packages/astro/src/runtime/server/render/component.ts @@ -375,6 +375,15 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr } } destination.write(createRenderInstruction({ type: 'directive', hydration })); + if (hydration.directive !== 'only' && renderer?.ssr.renderHydrationScript) { + destination.write( + createRenderInstruction({ + type: 'renderer-hydration', + rendererName: renderer.name, + render: renderer?.ssr.renderHydrationScript, + }) + ); + } destination.write(markHTMLString(renderElement('astro-island', island, false))); }, }; diff --git a/packages/astro/src/runtime/server/render/instruction.ts b/packages/astro/src/runtime/server/render/instruction.ts index d8feacff96a3..1753b1fb845a 100644 --- a/packages/astro/src/runtime/server/render/instruction.ts +++ b/packages/astro/src/runtime/server/render/instruction.ts @@ -11,6 +11,16 @@ export type RenderHeadInstruction = { type: 'head'; }; +/** + * Render a renderer-specific hydration script before the first component of that + * framework + */ +export type RendererHydrationInstruction = { + type: 'renderer-hydration'; + rendererName: string; + render: () => string; +}; + export type MaybeRenderHeadInstruction = { type: 'maybe-head'; }; @@ -18,11 +28,15 @@ export type MaybeRenderHeadInstruction = { export type RenderInstruction = | RenderDirectiveInstruction | RenderHeadInstruction - | MaybeRenderHeadInstruction; + | MaybeRenderHeadInstruction + | RendererHydrationInstruction; export function createRenderInstruction( instruction: RenderDirectiveInstruction ): RenderDirectiveInstruction; +export function createRenderInstruction( + instruction: RendererHydrationInstruction +): RendererHydrationInstruction; export function createRenderInstruction(instruction: RenderHeadInstruction): RenderHeadInstruction; export function createRenderInstruction( instruction: MaybeRenderHeadInstruction diff --git a/packages/astro/test/fixtures/solid-component/src/components/defer.astro b/packages/astro/test/fixtures/solid-component/src/components/defer.astro new file mode 100644 index 000000000000..d2004266662c --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/components/defer.astro @@ -0,0 +1,7 @@ +--- +import { AsyncComponent } from './async-components.jsx'; + +await new Promise((resolve) => setTimeout(resolve, Astro.props.delay)); +--- + + diff --git a/packages/astro/test/fixtures/solid-component/src/pages/deferred.astro b/packages/astro/test/fixtures/solid-component/src/pages/deferred.astro new file mode 100644 index 000000000000..185ae19bdea7 --- /dev/null +++ b/packages/astro/test/fixtures/solid-component/src/pages/deferred.astro @@ -0,0 +1,11 @@ +--- +import Defer from '../components/defer.astro'; +--- + + + Solid + + + + + diff --git a/packages/astro/test/solid-component.test.js b/packages/astro/test/solid-component.test.js index 4a769ae86872..eb9d252585e7 100644 --- a/packages/astro/test/solid-component.test.js +++ b/packages/astro/test/solid-component.test.js @@ -105,6 +105,19 @@ describe('Solid component', () => { 'Position of first hydration event' ); }); + + it('Injects hydration script before any SolidJS components in the HTML, even if render order is reversed by delay', async () => { + const html = await fixture.readFile('deferred/index.html'); + const firstHydrationScriptAt = String(html).indexOf('_$HY='); + const firstHydrationEventAt = String(html).indexOf('_$HY.set'); + console.log('Position of hydration script ', firstHydrationScriptAt); + const hydrationScriptCount = countHydrationScripts(html); + expect(hydrationScriptCount).to.be.equal(1); + expect(firstHydrationScriptAt).to.be.lessThan( + firstHydrationEventAt, + 'Position of first hydration event' + ); + }); }); if (isWindows) return; diff --git a/packages/integrations/solid/src/server.ts b/packages/integrations/solid/src/server.ts index d469edfcf290..d4ef97778395 100644 --- a/packages/integrations/solid/src/server.ts +++ b/packages/integrations/solid/src/server.ts @@ -102,57 +102,16 @@ async function renderToStaticMarkup( } }; - let prepend = ''; - let componentHtml: string | undefined = undefined; - - if (needsHydrate && renderStrategy === 'async') { - if (!ctx.hasSolidHydrationScript) { - // The hydration script needs to come before to the first hydrating component of the page. - // - // One way to this would be to prepend the rendered output, eg: - // - // html += generateHydrationScript(); - // - // However, in certain situations, nested components may be rendered depth-first, causing SolidJS - // to put the hydration script in the wrong spot. - // - // Therefore we prefer to render to the extraHead when it is available. - // Sometimes, the head has already been rendered, so in those cases - // we add the hydration script right before the component for now. - // For example, in the following test, the head is already rendered before - // this function is called: - // - // packages/astro/e2e/fixtures/nested-in-solid/package.json - - // NOTE: It seems that components on a page may be rendered in parallel using Promise.all() - // or similar. To try to get the hydration script as high up as possibile, if not in the - // itself, this code block is intentionally written *before* the first `await` in the function. - - if (this.result._metadata.hasRenderedHead) { - prepend = generateHydrationScript(); - } else { - this.result._metadata.extraHead.push(generateHydrationScript()); - } - - ctx.hasSolidHydrationScript = true; - } - } - - if (renderStrategy === 'async') { - componentHtml = await renderToStringAsync(renderFn, { renderId }); - } else { - componentHtml = renderToString(renderFn, { renderId }); - } + const componentHtml = + renderStrategy === 'async' + ? await renderToStringAsync(renderFn, { renderId }) + : renderToString(renderFn, { renderId }); return { attrs: { 'data-solid-render-id': renderId, }, - // componentHtml should in theory always be a string, but non-Solid components may - // return undefined. The check() function relies on this to check if the component - // is a solid component, thus we must check that componentHtml is actually a string - // and not just blindly concategate it with a a hydration script. - html: typeof componentHtml === 'string' ? prepend + componentHtml : componentHtml, + html: componentHtml, }; } @@ -160,4 +119,5 @@ export default { check, renderToStaticMarkup, supportsAstroStaticSlot: true, + renderHydrationScript: () => generateHydrationScript(), }; From fa4c6d403fd531797e5490b7b9088c0a18a30cd5 Mon Sep 17 00:00:00 2001 From: Patrick Miller Date: Thu, 16 Nov 2023 02:41:04 +0900 Subject: [PATCH 3/6] Add support for Solid.js 1.8.x --- packages/astro/test/solid-component.test.js | 66 +- packages/integrations/solid/package.json | 2 +- packages/integrations/solid/src/server.ts | 9 +- pnpm-lock.yaml | 1233 +++++++++++++++---- 4 files changed, 1031 insertions(+), 279 deletions(-) diff --git a/packages/astro/test/solid-component.test.js b/packages/astro/test/solid-component.test.js index eb9d252585e7..05fb581c1acd 100644 --- a/packages/astro/test/solid-component.test.js +++ b/packages/astro/test/solid-component.test.js @@ -97,9 +97,13 @@ describe('Solid component', () => { // Should add a test (and solution) for SSR mode, where head is more likely to have already // been streamed to the client. const html = await fixture.readFile('nested/index.html'); - const firstHydrationScriptAt = String(html).indexOf('_$HY='); - const firstHydrationEventAt = String(html).indexOf('_$HY.set'); - console.log('Position of hydration script ', firstHydrationScriptAt); + + const firstHydrationScriptAt = getFirstHydrationScriptLocation(html); + expect(firstHydrationScriptAt).to.be.finite.and.greaterThan(0); + + const firstHydrationEventAt = getFirstHydrationEventLocation(html); + expect(firstHydrationEventAt).to.be.finite.and.greaterThan(0); + expect(firstHydrationScriptAt).to.be.lessThan( firstHydrationEventAt, 'Position of first hydration event' @@ -108,9 +112,13 @@ describe('Solid component', () => { it('Injects hydration script before any SolidJS components in the HTML, even if render order is reversed by delay', async () => { const html = await fixture.readFile('deferred/index.html'); - const firstHydrationScriptAt = String(html).indexOf('_$HY='); - const firstHydrationEventAt = String(html).indexOf('_$HY.set'); - console.log('Position of hydration script ', firstHydrationScriptAt); + + const firstHydrationScriptAt = getFirstHydrationScriptLocation(html); + expect(firstHydrationScriptAt).to.be.finite.and.greaterThan(0); + + const firstHydrationEventAt = getFirstHydrationEventLocation(html); + expect(firstHydrationEventAt).to.be.finite.and.greaterThan(0); + const hydrationScriptCount = countHydrationScripts(html); expect(hydrationScriptCount).to.be.equal(1); expect(firstHydrationScriptAt).to.be.lessThan( @@ -157,17 +165,49 @@ describe('Solid component', () => { }); }); +/** + * Get a regex that matches hydration scripts. + * + * Based on this hydration script: + * https://github.com/ryansolid/dom-expressions/blob/main/packages/dom-expressions/assets/hydrationScripts.js + * + * Which is supposed to be injected in a page with hydrating Solid components + * essentially one time. + * + * We look for the hint "_$HY=". + * + * I chose to make this a function to avoid accidentally sharing regex state + * between tests. + * + * NOTE: These scripts have ocassionally changed in the past. If the tests + * start failing after a Solid version change, we may need to find a different + * way to count the hydration scripts. + */ +const createHydrationScriptRegex = (flags) => new RegExp(/_\$HY=/, flags); + function countHydrationScripts(/** @type {string} */ html) { - // Based on this hydration script - // https://github.com/ryansolid/dom-expressions/blob/2ea8a70518710941da6a59b0fe9c2a8d94d1baed/packages/dom-expressions/assets/hydrationScripts.js - // we look for the hint "_$HY=" + return html.match(createHydrationScriptRegex('g'))?.length ?? 0; +} - return html.match(/_\$HY=/g)?.length ?? 0; +function getFirstHydrationScriptLocation(/** @type {string} */ html) { + return html.match(createHydrationScriptRegex())?.index; } +/** + * Get a regex that matches hydration events. A hydration event + * is when data is emitted to help hydrate a component during SSR process. + * + * We look for the hint "_$HY.r[" + */ +const createHydrationEventRegex = (flags) => new RegExp(/_\$HY.r\[/, flags); + function countHydrationEvents(/** @type {string} */ html) { - // number of times a component was hydrated during rendering - // we look for the hint "_$HY.set(" + // Number of times a component was hydrated during rendering + // We look for the hint "_$HY.r[" + + return html.match(createHydrationEventRegex('g'))?.length ?? 0; +} - return html.match(/_\$HY.set\(/g)?.length ?? 0; +function getFirstHydrationEventLocation(/** @type {string} */ html) { + return html.match(createHydrationEventRegex())?.index; } diff --git a/packages/integrations/solid/package.json b/packages/integrations/solid/package.json index cf5d65c2034c..9c389cd858f6 100644 --- a/packages/integrations/solid/package.json +++ b/packages/integrations/solid/package.json @@ -43,7 +43,7 @@ "solid-js": "^1.8.5" }, "peerDependencies": { - "solid-js": "^1.7.11" + "solid-js": "^1.8.5" }, "engines": { "node": ">=18.14.1" diff --git a/packages/integrations/solid/src/server.ts b/packages/integrations/solid/src/server.ts index d4ef97778395..cbda3b7bb7f8 100644 --- a/packages/integrations/solid/src/server.ts +++ b/packages/integrations/solid/src/server.ts @@ -104,7 +104,14 @@ async function renderToStaticMarkup( const componentHtml = renderStrategy === 'async' - ? await renderToStringAsync(renderFn, { renderId }) + ? await renderToStringAsync(renderFn, { + renderId, + // New setting since Solid 1.8.4 that fixes an errant hydration event appearing in + // server only components. Not available in TypeScript types yet. + // https://github.com/solidjs/solid/issues/1931 + // https://github.com/ryansolid/dom-expressions/commit/e09e255ac725fd59195aa0f3918065d4bd974e6b + ...({ noScripts: !needsHydrate } as any), + }) : renderToString(renderFn, { renderId }); return { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 796f0da528c2..919a4c48d3d2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4379,7 +4379,7 @@ importers: dependencies: '@babel/plugin-transform-react-jsx': specifier: ^7.22.5 - version: 7.22.15(@babel/core@7.23.3) + version: 7.22.15 '@babel/plugin-transform-react-jsx-development': specifier: ^7.22.5 version: 7.22.5 @@ -4797,7 +4797,7 @@ importers: version: 3.1.0(vite@5.0.0)(vue@3.3.8) '@vue/babel-plugin-jsx': specifier: ^1.1.5 - version: 1.1.5(@babel/core@7.23.3) + version: 1.1.5(@babel/core@7.23.5) '@vue/compiler-sfc': specifier: ^3.3.8 version: 3.3.8 @@ -5129,17 +5129,17 @@ packages: resolution: {integrity: sha512-ulkCYfFbYj01ie1MDOyxv2F6SpRN1TOj7fQxbP07D6HmeR+gr2JLSmINKjga2emB+b1L2KGrFKBTc+e00p54nw==} dev: false - /@astro-community/astro-embed-integration@0.6.0(astro@packages+astro): - resolution: {integrity: sha512-PQGtMLfZ1t0znrY/ElPu3gAT/up9rJVyEDaoqvhoUcEmhp7e99EiuTZNKNKIkeH+biWyKJoKTSClu300i91Kzw==} + /@astro-community/astro-embed-integration@0.6.1(astro@packages+astro): + resolution: {integrity: sha512-+dujQeYa6fAdF2Obiep0HZrmkGNd2JcKmZAv9C9gZHqnPr3pGnxm0YZPC30jyCZsmpIMMyMsfgTOuP4Cwpj4QQ==} peerDependencies: astro: '*' dependencies: - '@astro-community/astro-embed-twitter': 0.5.2(astro@packages+astro) - '@astro-community/astro-embed-vimeo': 0.3.1(astro@packages+astro) - '@astro-community/astro-embed-youtube': 0.4.1(astro@packages+astro) - '@types/unist': 2.0.10 + '@astro-community/astro-embed-twitter': 0.5.3(astro@packages+astro) + '@astro-community/astro-embed-vimeo': 0.3.2(astro@packages+astro) + '@astro-community/astro-embed-youtube': 0.4.3(astro@packages+astro) + '@types/unist': 2.0.9 astro: link:packages/astro - astro-auto-import: 0.3.2(astro@packages+astro) + astro-auto-import: 0.3.1(astro@packages+astro) unist-util-select: 4.0.3 dev: false @@ -5152,6 +5152,15 @@ packages: astro: link:packages/astro dev: false + /@astro-community/astro-embed-twitter@0.5.3(astro@packages+astro): + resolution: {integrity: sha512-oxu+KOmNXu3k2RjVVoEJxi5ZaLeEIKS0+clMnNUVFD8PI8Yzsil8faO4/mmRyLHKKZNG38XFyBbAgZsoyOa6wg==} + peerDependencies: + astro: '*' + dependencies: + '@astro-community/astro-embed-utils': 0.1.0 + astro: link:packages/astro + dev: false + /@astro-community/astro-embed-utils@0.1.0: resolution: {integrity: sha512-whbRs9JpUApKwdzfkakBPVQT73LFxgj/RrfUu0IXTDf5SqxniZaXG4WcdG5MKj0nQyc82O21f1RnY3ddOo/yng==} dev: false @@ -5164,6 +5173,14 @@ packages: astro: link:packages/astro dev: false + /@astro-community/astro-embed-vimeo@0.3.2(astro@packages+astro): + resolution: {integrity: sha512-6Uitc8CBQaJqhI56RPNcIAegNeKGTPKqPQEjyCIAvKX+qhS+DdGh9DTvrBybrlkSSH74tprURwO3VHp8zjjiwA==} + peerDependencies: + astro: '*' + dependencies: + astro: link:packages/astro + dev: false + /@astro-community/astro-embed-youtube@0.4.1(astro@packages+astro): resolution: {integrity: sha512-sS3zp3JpCkQl0yl5iCZSuCcankz0Ownjg0Ju5KdON4BJVZUh2gHySCCvqKpsNWwto2VESKi9v7KHi1/R386FZg==} peerDependencies: @@ -5173,6 +5190,15 @@ packages: lite-youtube-embed: 0.2.0 dev: false + /@astro-community/astro-embed-youtube@0.4.3(astro@packages+astro): + resolution: {integrity: sha512-zXtPmR9yxrTo6cuLhH8v+r62bsXbsLJgsU2FiZalPr4bXJxAUQEIlG46S/qK0AEXi9uNShKqy4+zBaJ98xTVEg==} + peerDependencies: + astro: '*' + dependencies: + astro: link:packages/astro + lite-youtube-embed: 0.2.0 + dev: false + /@astrojs/check@0.3.1(prettier-plugin-astro@0.12.2)(prettier@3.1.0)(typescript@5.2.2): resolution: {integrity: sha512-3LjEUvh7Z4v9NPokaqKMXQ0DwnSXfmtcyAuWVTjNt9yzjv54SxykobV5CTOB3TIko+Rqg59ejamJBxaJN6fvkw==} hasBin: true @@ -5244,7 +5270,7 @@ packages: volar-service-prettier: 0.0.16(@volar/language-service@1.10.10)(prettier@3.1.0) volar-service-typescript: 0.0.16(@volar/language-service@1.10.10)(@volar/typescript@1.10.10) volar-service-typescript-twoslash-queries: 0.0.16(@volar/language-service@1.10.10) - vscode-html-languageservice: 5.1.1 + vscode-html-languageservice: 5.1.0 vscode-uri: 3.0.8 transitivePeerDependencies: - typescript @@ -5257,8 +5283,16 @@ packages: '@babel/highlight': 7.22.20 chalk: 2.4.2 - /@babel/compat-data@7.23.3: - resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: false + + /@babel/compat-data@7.23.2: + resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} engines: {node: '>=6.9.0'} dev: false @@ -5285,6 +5319,29 @@ packages: - supports-color dev: false + /@babel/core@7.23.5: + resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) + '@babel/helpers': 7.23.5 + '@babel/parser': 7.23.5 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/generator@7.23.3: resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==} engines: {node: '>=6.9.0'} @@ -5295,6 +5352,16 @@ packages: jsesc: 2.5.2 dev: false + /@babel/generator@7.23.5: + resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.5 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + jsesc: 2.5.2 + dev: false + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -5306,14 +5373,14 @@ packages: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.23.3 + '@babel/compat-data': 7.23.2 '@babel/helper-validator-option': 7.22.15 browserslist: 4.22.1 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.5): resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5322,13 +5389,34 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: false + + /@babel/helper-create-class-features-plugin@7.23.5(@babel/core@7.23.5): + resolution: {integrity: sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + peerDependenciesMeta: + '@babel/core': + optional: true + dependencies: + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 @@ -5358,14 +5446,14 @@ packages: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.3 + '@babel/types': 7.23.5 dev: false /@babel/helper-module-imports@7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.3 + '@babel/types': 7.23.5 dev: false /@babel/helper-module-imports@7.22.15: @@ -5375,6 +5463,23 @@ packages: '@babel/types': 7.23.3 dev: false + /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.5): + resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + peerDependenciesMeta: + '@babel/core': + optional: true + dependencies: + '@babel/core': 7.23.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} @@ -5392,11 +5497,28 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: false + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + peerDependenciesMeta: + '@babel/core': + optional: true + dependencies: + '@babel/core': 7.23.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.3 + '@babel/types': 7.23.5 dev: false /@babel/helper-plugin-utils@7.22.5: @@ -5404,7 +5526,7 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.5): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5413,7 +5535,7 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -5430,7 +5552,7 @@ packages: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.3 + '@babel/types': 7.23.5 dev: false /@babel/helper-split-export-declaration@7.22.6: @@ -5444,6 +5566,10 @@ packages: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} @@ -5464,6 +5590,17 @@ packages: - supports-color dev: false + /@babel/helpers@7.23.5: + resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/highlight@7.22.20: resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} @@ -5472,12 +5609,29 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: false + /@babel/parser@7.23.3: resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.23.3 + dev: false + + /@babel/parser@7.23.5: + resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.5 /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.3): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} @@ -5492,7 +5646,33 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.5): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + dependencies: + '@babel/core': 7.23.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.5): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + dependencies: + '@babel/core': 7.23.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.5): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5501,11 +5681,11 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.23.3): + /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.23.5): resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5514,8 +5694,8 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/core': 7.23.5 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: false @@ -5529,10 +5709,10 @@ packages: '@babel/core': optional: true dependencies: - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.3) + '@babel/plugin-transform-react-jsx': 7.22.15 dev: false - /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.3): + /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.5): resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5541,11 +5721,11 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.3): + /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.5): resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5554,10 +5734,26 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false + /@babel/plugin-transform-react-jsx@7.22.15: + resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + dependencies: + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.5) + '@babel/types': 7.23.3 + dev: false + /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.3): resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} engines: {node: '>=6.9.0'} @@ -5575,8 +5771,8 @@ packages: '@babel/types': 7.23.3 dev: false - /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.23.3): - resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.23.5): + resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5584,14 +5780,30 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.5) dev: false - /@babel/preset-typescript@7.23.2(@babel/core@7.23.3): + /@babel/plugin-transform-typescript@7.23.5(@babel/core@7.23.5): + resolution: {integrity: sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + dependencies: + '@babel/core': 7.23.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5) + dev: false + + /@babel/preset-typescript@7.23.2(@babel/core@7.23.5): resolution: {integrity: sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5600,12 +5812,12 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3) - '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.3) - '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.5) + '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.5) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.23.5) dev: false /@babel/runtime@7.23.2: @@ -5620,8 +5832,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/parser': 7.23.3 - '@babel/types': 7.23.3 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 dev: false /@babel/traverse@7.23.3: @@ -5642,6 +5854,24 @@ packages: - supports-color dev: false + /@babel/traverse@7.23.5: + resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/types@7.23.3: resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} engines: {node: '>=6.9.0'} @@ -5650,6 +5880,14 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@babel/types@7.23.5: + resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + /@builder.io/partytown@0.8.1: resolution: {integrity: sha512-p4xhEtQCPe8YFJ8e7KT9RptnT+f4lvtbmXymbp1t0bLp+USkNMTxrRMNc3Dlr2w2fpxyX7uA0CyAeU3ju84O4A==} engines: {node: '>=18.0.0'} @@ -6282,6 +6520,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm64@0.19.8: + resolution: {integrity: sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm@0.18.20: resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -6299,6 +6546,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm@0.19.8: + resolution: {integrity: sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -6316,6 +6572,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-x64@0.19.8: + resolution: {integrity: sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -6333,6 +6598,15 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-arm64@0.19.8: + resolution: {integrity: sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -6350,6 +6624,15 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-x64@0.19.8: + resolution: {integrity: sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -6367,6 +6650,15 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-arm64@0.19.8: + resolution: {integrity: sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-x64@0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -6384,6 +6676,15 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-x64@0.19.8: + resolution: {integrity: sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm64@0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -6401,6 +6702,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm64@0.19.8: + resolution: {integrity: sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -6418,6 +6728,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm@0.19.8: + resolution: {integrity: sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -6435,6 +6754,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ia32@0.19.8: + resolution: {integrity: sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-loong64@0.18.20: resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -6452,6 +6780,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-loong64@0.19.8: + resolution: {integrity: sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -6469,6 +6806,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-mips64el@0.19.8: + resolution: {integrity: sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -6486,6 +6832,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ppc64@0.19.8: + resolution: {integrity: sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -6503,6 +6858,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-riscv64@0.19.8: + resolution: {integrity: sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -6520,6 +6884,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-s390x@0.19.8: + resolution: {integrity: sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -6537,6 +6910,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-x64@0.19.8: + resolution: {integrity: sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -6554,21 +6936,39 @@ packages: requiresBuild: true optional: true + /@esbuild/netbsd-x64@0.19.8: + resolution: {integrity: sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true - dev: false + dev: false + optional: true + + /@esbuild/openbsd-x64@0.19.6: + resolution: {integrity: sha512-fFqTVEktM1PGs2sLKH4M5mhAVEzGpeZJuasAMRnvDZNCV0Cjvm1Hu35moL2vC0DOrAQjNTvj4zWrol/lwQ8Deg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.19.6: - resolution: {integrity: sha512-fFqTVEktM1PGs2sLKH4M5mhAVEzGpeZJuasAMRnvDZNCV0Cjvm1Hu35moL2vC0DOrAQjNTvj4zWrol/lwQ8Deg==} + /@esbuild/openbsd-x64@0.19.8: + resolution: {integrity: sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true + dev: false optional: true /@esbuild/sunos-x64@0.18.20: @@ -6588,6 +6988,15 @@ packages: requiresBuild: true optional: true + /@esbuild/sunos-x64@0.19.8: + resolution: {integrity: sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -6605,6 +7014,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-arm64@0.19.8: + resolution: {integrity: sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -6622,6 +7040,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-ia32@0.19.8: + resolution: {integrity: sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -6639,6 +7066,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-x64@0.19.8: + resolution: {integrity: sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6649,20 +7085,20 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + /@eslint-community/regexpp@4.9.1: + resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.3: - resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.23.0 - ignore: 5.3.0 + ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -6764,7 +7200,7 @@ packages: '@lit-labs/ssr-dom-shim': 1.1.2 '@lit/reactive-element': 2.0.2 '@parse5/tools': 0.3.0 - '@types/node': 16.18.61 + '@types/node': 16.18.59 enhanced-resolve: 5.15.0 lit: 3.1.0 lit-element: 4.0.2 @@ -6841,9 +7277,9 @@ packages: resolution: {integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==} dependencies: '@types/estree': 1.0.5 - '@types/estree-jsx': 1.0.3 + '@types/estree-jsx': 1.0.2 '@types/hast': 3.0.3 - '@types/mdx': 2.0.10 + '@types/mdx': 2.0.9 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-build-jsx: 3.0.1 @@ -6851,7 +7287,7 @@ packages: estree-util-to-js: 2.0.0 estree-walker: 3.0.3 hast-util-to-estree: 3.1.0 - hast-util-to-jsx-runtime: 2.2.0 + hast-util-to-jsx-runtime: 2.3.0 markdown-extensions: 2.0.0 periscopic: 3.1.0 remark-mdx: 3.0.0 @@ -7039,9 +7475,9 @@ packages: vite: optional: true dependencies: - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.3) + '@babel/plugin-transform-react-jsx': 7.22.15 '@babel/plugin-transform-react-jsx-development': 7.22.5 - '@prefresh/vite': 2.4.4(preact@10.19.2) + '@prefresh/vite': 2.4.1(preact@10.19.2) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2 debug: 4.3.4(supports-color@8.1.1) @@ -7065,8 +7501,8 @@ packages: preact: 10.19.2 dev: false - /@prefresh/babel-plugin@0.5.1: - resolution: {integrity: sha512-uG3jGEAysxWoyG3XkYfjYHgaySFrSsaEb4GagLzYaxlydbuREtaX+FTxuIidp241RaLl85XoHg9Ej6E4+V1pcg==} + /@prefresh/babel-plugin@0.5.0: + resolution: {integrity: sha512-joAwpkUDwo7ZqJnufXRGzUb+udk20RBgfA8oLPBh5aJH2LeStmV1luBfeJTztPdyCscC2j2SmZ/tVxFRMIxAEw==} dev: false /@prefresh/core@1.5.2(preact@10.19.2): @@ -7081,8 +7517,8 @@ packages: resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} dev: false - /@prefresh/vite@2.4.4(preact@10.19.2): - resolution: {integrity: sha512-7jcz3j5pXufOWTjl31n0Lc3BcU8oGoacoaWx/Ur1QJ+fd4Xu0G7g/ER1xV02x7DCiVoFi7xtSgaophOXoJvpmA==} + /@prefresh/vite@2.4.1(preact@10.19.2): + resolution: {integrity: sha512-vthWmEqu8TZFeyrBNc9YE5SiC3DVSzPgsOCp/WQ7FqdHpOIJi7Z8XvCK06rBPOtG4914S52MjG9Ls22eVAiuqQ==} peerDependencies: preact: ^10.4.0 vite: '>=2.0.0' @@ -7090,8 +7526,8 @@ packages: vite: optional: true dependencies: - '@babel/core': 7.23.3 - '@prefresh/babel-plugin': 0.5.1 + '@babel/core': 7.23.5 + '@prefresh/babel-plugin': 0.5.0 '@prefresh/core': 1.5.2(preact@10.19.2) '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 @@ -7115,6 +7551,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-android-arm-eabi@4.6.1: + resolution: {integrity: sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-android-arm64@4.5.0: resolution: {integrity: sha512-UdMf1pOQc4ZmUA/NTmKhgJTBimbSKnhPS2zJqucqFyBRFPnPDtwA8MzrGNTjDeQbIAWfpJVAlxejw+/lQyBK/w==} cpu: [arm64] @@ -7122,6 +7566,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-android-arm64@4.6.1: + resolution: {integrity: sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-darwin-arm64@4.5.0: resolution: {integrity: sha512-L0/CA5p/idVKI+c9PcAPGorH6CwXn6+J0Ys7Gg1axCbTPgI8MeMlhA6fLM9fK+ssFhqogMHFC8HDvZuetOii7w==} cpu: [arm64] @@ -7129,6 +7581,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-darwin-arm64@4.6.1: + resolution: {integrity: sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-darwin-x64@4.5.0: resolution: {integrity: sha512-QZCbVqU26mNlLn8zi/XDDquNmvcr4ON5FYAHQQsyhrHx8q+sQi/6xduoznYXwk/KmKIXG5dLfR0CvY+NAWpFYQ==} cpu: [x64] @@ -7136,6 +7596,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-darwin-x64@4.6.1: + resolution: {integrity: sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.5.0: resolution: {integrity: sha512-VpSQ+xm93AeV33QbYslgf44wc5eJGYfYitlQzAi3OObu9iwrGXEnmu5S3ilkqE3Pr/FkgOiJKV/2p0ewf4Hrtg==} cpu: [arm] @@ -7143,6 +7611,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.6.1: + resolution: {integrity: sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-linux-arm64-gnu@4.5.0: resolution: {integrity: sha512-OrEyIfpxSsMal44JpEVx9AEcGpdBQG1ZuWISAanaQTSMeStBW+oHWwOkoqR54bw3x8heP8gBOyoJiGg+fLY8qQ==} cpu: [arm64] @@ -7150,6 +7626,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm64-gnu@4.6.1: + resolution: {integrity: sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-linux-arm64-musl@4.5.0: resolution: {integrity: sha512-1H7wBbQuE6igQdxMSTjtFfD+DGAudcYWhp106z/9zBA8OQhsJRnemO4XGavdzHpGhRtRxbgmUGdO3YQgrWf2RA==} cpu: [arm64] @@ -7157,6 +7641,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm64-musl@4.6.1: + resolution: {integrity: sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-linux-x64-gnu@4.5.0: resolution: {integrity: sha512-FVyFI13tXw5aE65sZdBpNjPVIi4Q5mARnL/39UIkxvSgRAIqCo5sCpCELk0JtXHGee2owZz5aNLbWNfBHzr71Q==} cpu: [x64] @@ -7164,6 +7656,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-x64-gnu@4.6.1: + resolution: {integrity: sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-linux-x64-musl@4.5.0: resolution: {integrity: sha512-eBPYl2sLpH/o8qbSz6vPwWlDyThnQjJfcDOGFbNjmjb44XKC1F5dQfakOsADRVrXCNzM6ZsSIPDG5dc6HHLNFg==} cpu: [x64] @@ -7171,6 +7671,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-x64-musl@4.6.1: + resolution: {integrity: sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-win32-arm64-msvc@4.5.0: resolution: {integrity: sha512-xaOHIfLOZypoQ5U2I6rEaugS4IYtTgP030xzvrBf5js7p9WI9wik07iHmsKaej8Z83ZDxN5GyypfoyKV5O5TJA==} cpu: [arm64] @@ -7178,6 +7686,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-arm64-msvc@4.6.1: + resolution: {integrity: sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-win32-ia32-msvc@4.5.0: resolution: {integrity: sha512-Al6quztQUrHwcOoU2TuFblUQ5L+/AmPBXFR6dUvyo4nRj2yQRK0WIUaGMF/uwKulvRcXkpHe3k9A8Vf93VDktA==} cpu: [ia32] @@ -7185,6 +7701,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-ia32-msvc@4.6.1: + resolution: {integrity: sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@rollup/rollup-win32-x64-msvc@4.5.0: resolution: {integrity: sha512-8kdW+brNhI/NzJ4fxDufuJUjepzINqJKLGHuxyAtpPG9bMbn8P5mtaCcbOm0EzLJ+atg+kF9dwg8jpclkVqx5w==} cpu: [x64] @@ -7192,6 +7716,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-x64-msvc@4.6.1: + resolution: {integrity: sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false @@ -7286,7 +7818,17 @@ packages: '@babel/parser': 7.23.3 '@babel/types': 7.23.3 '@types/babel__generator': 7.6.7 - '@types/babel__template': 7.4.4 + '@types/babel__template': 7.4.3 + '@types/babel__traverse': 7.20.4 + dev: false + + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 + '@types/babel__generator': 7.6.7 + '@types/babel__template': 7.4.3 '@types/babel__traverse': 7.20.4 dev: false @@ -7295,8 +7837,8 @@ packages: dependencies: '@babel/types': 7.23.3 - /@types/babel__template@7.4.4: - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + /@types/babel__template@7.4.3: + resolution: {integrity: sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==} dependencies: '@babel/parser': 7.23.3 '@babel/types': 7.23.3 @@ -7320,13 +7862,17 @@ packages: /@types/chai-subset@1.3.4: resolution: {integrity: sha512-CCWNXrJYSUIojZ1149ksLl3AN9cmZ5djf+yUoVVV+NuYrtydItQVlL2ZDqyC6M6O9LWRnVf8yYDxbXHO2TfQZg==} dependencies: - '@types/chai': 4.3.9 + '@types/chai': 4.3.11 dev: false /@types/chai@4.3.10: resolution: {integrity: sha512-of+ICnbqjmFCiixUnqRulbylyXQrPqIGf/B3Jax1wIF3DvSheysQxAWvqHhZiW3IQrycvokcLcFQlveGp+vyNg==} dev: true + /@types/chai@4.3.11: + resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} + dev: false + /@types/chai@4.3.9: resolution: {integrity: sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg==} dev: false @@ -7338,7 +7884,7 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.9.1 + '@types/node': 18.18.6 dev: true /@types/cookie@0.5.4: @@ -7348,7 +7894,7 @@ packages: /@types/debug@4.1.12: resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: - '@types/ms': 0.7.34 + '@types/ms': 0.7.33 /@types/diff@5.0.8: resolution: {integrity: sha512-kR0gRf0wMwpxQq6ME5s+tWk9zVCfJUl98eRkD05HWWRbhPB/eu4V1IbyZAsvzC1Gn4znBJ0HN01M4DGXdBEV8Q==} @@ -7362,18 +7908,18 @@ packages: resolution: {integrity: sha512-oDuagM6G+xPLrLU4KeCKlr1oalMF5mJqV5pDPMDVIEaa8AkUW00i6u+5P02XCjdEEUQJC9dpnxqSLsZeAciSLQ==} dev: true - /@types/estree-jsx@1.0.3: - resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} + /@types/estree-jsx@1.0.2: + resolution: {integrity: sha512-GNBWlGBMjiiiL5TSkvPtOteuXsiVitw5MYGY1UYlrAq0SKyczsls6sCD7TZ8fsjRsvCVxml7EbyjJezPb3DrSA==} dependencies: '@types/estree': 1.0.5 /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/hast@2.3.8: - resolution: {integrity: sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==} + /@types/hast@2.3.7: + resolution: {integrity: sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 dev: true /@types/hast@3.0.3: @@ -7399,55 +7945,60 @@ packages: resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} dev: true - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + /@types/json-schema@7.0.14: + resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} dev: true /@types/json5@0.0.30: resolution: {integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==} dev: true - /@types/katex@0.16.6: - resolution: {integrity: sha512-rZYO1HInM99rAFYNwGqbYPxHZHxu2IwZYKj4bJ4oh6edVrm1UId8mmbHIZLBtG253qU6y3piag0XYe/joNnwzQ==} + /@types/katex@0.16.5: + resolution: {integrity: sha512-DD2Y3xMlTQvAnN6d8803xdgnOeYZ+HwMglb7/9YCf49J9RkJL53azf9qKa40MkEYhqVwxZ1GS2+VlShnz4Z1Bw==} dev: true - /@types/linkify-it@3.0.5: - resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + /@types/linkify-it@3.0.4: + resolution: {integrity: sha512-hPpIeeHb/2UuCw06kSNAOVWgehBLXEo0/fUs0mw3W2qhqX89PI2yvok83MnuctYGCPrabGIoi0fFso4DQ+sNUQ==} /@types/markdown-it@12.2.3: resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} requiresBuild: true dependencies: - '@types/linkify-it': 3.0.5 - '@types/mdurl': 1.0.5 + '@types/linkify-it': 3.0.4 + '@types/mdurl': 1.0.4 dev: false optional: true /@types/markdown-it@13.0.6: resolution: {integrity: sha512-0VqpvusJn1/lwRegCxcHVdmLfF+wIsprsKMC9xW8UPcTxhFcQtoN/fBU1zMe8pH7D/RuueMh2CaBaNv+GrLqTw==} dependencies: - '@types/linkify-it': 3.0.5 - '@types/mdurl': 1.0.5 + '@types/linkify-it': 3.0.4 + '@types/mdurl': 1.0.4 dev: true /@types/mathjax@0.0.37: resolution: {integrity: sha512-y0WSZBtBNQwcYipTU/BhgeFu1EZNlFvUNCmkMXV9kBQZq7/o5z82dNVyH3yy2Xv5zzeNeQoHSL4Xm06+EQiH+g==} dev: true + /@types/mdast@4.0.2: + resolution: {integrity: sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==} + dependencies: + '@types/unist': 3.0.2 + /@types/mdast@4.0.3: resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} dependencies: '@types/unist': 3.0.2 - /@types/mdurl@1.0.5: - resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + /@types/mdurl@1.0.4: + resolution: {integrity: sha512-ARVxjAEX5TARFRzpDRVC6cEk0hUIXCCwaMhz8y7S1/PxU6zZS1UMjyobz7q4w/D/R552r4++EhwmXK1N2rAy0A==} - /@types/mdx@2.0.10: - resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} + /@types/mdx@2.0.9: + resolution: {integrity: sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==} dev: false - /@types/mime@1.3.5: - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + /@types/mime@1.3.4: + resolution: {integrity: sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==} dev: true /@types/mime@3.0.4: @@ -7462,27 +8013,27 @@ packages: resolution: {integrity: sha512-xKU7bUjiFTIttpWaIZ9qvgg+22O1nmbA+HRxdlR+u6TWsGfmFdXrheJoK4fFxrHNVIOBDvDNKZG+LYBpMHpX3w==} dev: true - /@types/ms@0.7.34: - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + /@types/ms@0.7.33: + resolution: {integrity: sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==} - /@types/needle@3.2.3: - resolution: {integrity: sha512-aUtoZUGROl654rDZlZYPRYaysAOBaVgjnbmYKq3n32afuqFvEts31YGixTebSOCJt7B7qKnHzCzcjbMig5LcQg==} + /@types/needle@3.2.2: + resolution: {integrity: sha512-xUKAjFjDcucpgfyTvnbaqN+WBKyM9UehBuVRI/1AoPbaXrCScADqeTgTM1ZBYnS3Ovs9IEQt813IcJNyac7dNQ==} dependencies: - '@types/node': 20.9.1 + '@types/node': 18.18.6 dev: true /@types/nlcst@1.0.3: resolution: {integrity: sha512-cpO6PPMz4E++zxP2Vhp/3KVl2Nbtj+Iksb25rlRinG7mphu2zmCIKWWlqdsx1NwJEISogR2eeZTD7JqLOCzaiw==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 dev: false /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true - /@types/node@16.18.61: - resolution: {integrity: sha512-k0N7BqGhJoJzdh6MuQg1V1ragJiXTh8VUBAZTWjJ9cUq23SG0F0xavOwZbhiP4J3y20xd6jxKx+xNUhkMAi76Q==} + /@types/node@16.18.59: + resolution: {integrity: sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==} dev: false /@types/node@17.0.45: @@ -7492,18 +8043,6 @@ packages: /@types/node@18.18.6: resolution: {integrity: sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==} - /@types/node@18.18.9: - resolution: {integrity: sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==} - dependencies: - undici-types: 5.26.5 - dev: false - - /@types/node@20.9.1: - resolution: {integrity: sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==} - dependencies: - undici-types: 5.26.5 - dev: true - /@types/normalize-package-data@2.4.3: resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==} dev: true @@ -7515,19 +8054,19 @@ packages: /@types/probe-image-size@7.2.3: resolution: {integrity: sha512-6OJa/Tj7OjiahwdcfLWvrzGpXLSjLfbfjqdpth2Oy9YKI58A6Ec5YvFcqfVXOSaJPkA3W+nZx6cPheMQrdtz1w==} dependencies: - '@types/needle': 3.2.3 - '@types/node': 20.9.1 + '@types/needle': 3.2.2 + '@types/node': 18.18.6 dev: true /@types/prompts@2.4.8: resolution: {integrity: sha512-fPOEzviubkEVCiLduO45h+zFHB0RZX8tFt3C783sO5cT7fUXf3EEECpD26djtYdh4Isa9Z9tasMQuZnYPtvYzw==} dependencies: - '@types/node': 20.9.1 + '@types/node': 18.18.6 kleur: 3.0.3 dev: true - /@types/prop-types@15.7.10: - resolution: {integrity: sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==} + /@types/prop-types@15.7.9: + resolution: {integrity: sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==} /@types/react-dom@18.2.15: resolution: {integrity: sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg==} @@ -7537,48 +8076,48 @@ packages: /@types/react@18.2.37: resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==} dependencies: - '@types/prop-types': 15.7.10 - '@types/scheduler': 0.16.6 + '@types/prop-types': 15.7.9 + '@types/scheduler': 0.16.5 csstype: 3.1.2 /@types/resolve@1.20.5: resolution: {integrity: sha512-aten5YPFp8G+cMpkTK5MCcUW5GlwZUby+qlt0/3oFgOCooFgzqvZQ9/0tROY49sUYmhEybBBj3jwpkQ/R3rjjw==} dev: true + /@types/resolve@1.20.6: + resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} + dev: true + /@types/sax@1.2.6: resolution: {integrity: sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ==} dependencies: '@types/node': 18.18.6 dev: false - /@types/scheduler@0.16.6: - resolution: {integrity: sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==} + /@types/scheduler@0.16.5: + resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==} /@types/semver@7.5.4: resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} dev: true - /@types/semver@7.5.5: - resolution: {integrity: sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==} - dev: true - /@types/send@0.17.4: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: - '@types/mime': 1.3.5 - '@types/node': 20.9.1 + '@types/mime': 1.3.4 + '@types/node': 18.18.6 dev: true /@types/server-destroy@1.0.3: resolution: {integrity: sha512-Qq0fn70C7TLDG1W9FCblKufNWW1OckQ41dVKV2Dku5KdZF7bexezG4e2WBaBKhdwL3HZ+cYCEIKwg2BRgzrWmA==} dependencies: - '@types/node': 20.9.1 + '@types/node': 18.18.6 dev: true /@types/set-cookie-parser@2.4.6: resolution: {integrity: sha512-tjIRMxGztGfIbW2/d20MdJmAPZbabtdW051cKfU+nvZXUnKKifHbY2CyL/C0EGabUB8ahIRjanYzTqJUQR8TAQ==} dependencies: - '@types/node': 20.9.1 + '@types/node': 18.18.6 dev: true /@types/strip-bom@3.0.0: @@ -7592,12 +8131,12 @@ packages: /@types/trusted-types@2.0.5: resolution: {integrity: sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==} - /@types/ungap__structured-clone@0.3.2: - resolution: {integrity: sha512-a7oBPz4/IurTfw0/+R4F315npapBXlSimrQlmDfr0lo1Pv0BeHNADgbHXdDP8LCjnCiRne4jRSr/5UnQitX2og==} + /@types/ungap__structured-clone@0.3.3: + resolution: {integrity: sha512-RNmhIPwoip6K/zZOv3ypksTAqaqLEXvlNSXKyrC93xMSOAHZCR7PifW6xKZCwkbbnbM9dwB9X56PPoNTlNwEqw==} dev: true - /@types/unist@2.0.10: - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + /@types/unist@2.0.9: + resolution: {integrity: sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==} /@types/unist@3.0.2: resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} @@ -7621,7 +8160,7 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/regexpp': 4.9.1 '@typescript-eslint/parser': 6.11.0(eslint@8.54.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 6.11.0 '@typescript-eslint/type-utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) @@ -7630,7 +8169,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) eslint: 8.54.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -7721,8 +8260,8 @@ packages: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.5 + '@types/json-schema': 7.0.14 + '@types/semver': 7.5.4 '@typescript-eslint/scope-manager': 6.11.0 '@typescript-eslint/types': 6.11.0 '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) @@ -7794,7 +8333,7 @@ packages: glob: 7.2.3 graceful-fs: 4.2.11 micromatch: 4.0.5 - node-gyp-build: 4.7.0 + node-gyp-build: 4.6.1 resolve-from: 5.0.0 transitivePeerDependencies: - encoding @@ -7810,10 +8349,10 @@ packages: vite: optional: true dependencies: - '@babel/core': 7.23.3 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.3) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.3) - '@types/babel__core': 7.20.4 + '@babel/core': 7.23.5 + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.5) + '@types/babel__core': 7.20.5 react-refresh: 0.14.0 vite: 5.0.0(@types/node@18.18.6)(sass@1.69.5) transitivePeerDependencies: @@ -7830,9 +8369,9 @@ packages: vite: optional: true dependencies: - '@babel/core': 7.23.3 - '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.3) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3) + '@babel/core': 7.23.5 + '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) vite: 5.0.0(@types/node@18.18.6)(sass@1.69.5) vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: @@ -7965,7 +8504,7 @@ packages: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: false - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.3): + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.5): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -7973,12 +8512,12 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.5) '@babel/template': 7.22.15 - '@babel/traverse': 7.23.3 - '@babel/types': 7.23.3 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 '@vue/babel-helper-vue-transform-on': 1.1.5 camelcase: 6.3.0 html-tags: 3.3.1 @@ -7987,24 +8526,55 @@ packages: - supports-color dev: false + /@vue/compiler-core@3.3.10: + resolution: {integrity: sha512-doe0hODR1+i1menPkRzJ5MNR6G+9uiZHIknK3Zn5OcIztu6GGw7u0XUzf3AgB8h/dfsZC9eouzoLo3c3+N/cVA==} + dependencies: + '@babel/parser': 7.23.5 + '@vue/shared': 3.3.10 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: false + /@vue/compiler-core@3.3.8: resolution: {integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==} dependencies: - '@babel/parser': 7.23.3 + '@babel/parser': 7.23.5 '@vue/shared': 3.3.8 estree-walker: 2.0.2 source-map-js: 1.0.2 + /@vue/compiler-dom@3.3.10: + resolution: {integrity: sha512-NCrqF5fm10GXZIK0GrEAauBqdy+F2LZRt3yNHzrYjpYBuRssQbuPLtSnSNjyR9luHKkWSH8we5LMB3g+4z2HvA==} + dependencies: + '@vue/compiler-core': 3.3.10 + '@vue/shared': 3.3.10 + dev: false + /@vue/compiler-dom@3.3.8: resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==} dependencies: '@vue/compiler-core': 3.3.8 '@vue/shared': 3.3.8 + /@vue/compiler-sfc@3.3.10: + resolution: {integrity: sha512-xpcTe7Rw7QefOTRFFTlcfzozccvjM40dT45JtrE3onGm/jBLZ0JhpKu3jkV7rbDFLeeagR/5RlJ2Y9SvyS0lAg==} + dependencies: + '@babel/parser': 7.23.5 + '@vue/compiler-core': 3.3.10 + '@vue/compiler-dom': 3.3.10 + '@vue/compiler-ssr': 3.3.10 + '@vue/reactivity-transform': 3.3.10 + '@vue/shared': 3.3.10 + estree-walker: 2.0.2 + magic-string: 0.30.5 + postcss: 8.4.32 + source-map-js: 1.0.2 + dev: false + /@vue/compiler-sfc@3.3.8: resolution: {integrity: sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==} dependencies: - '@babel/parser': 7.23.3 + '@babel/parser': 7.23.5 '@vue/compiler-core': 3.3.8 '@vue/compiler-dom': 3.3.8 '@vue/compiler-ssr': 3.3.8 @@ -8015,16 +8585,33 @@ packages: postcss: 8.4.31 source-map-js: 1.0.2 + /@vue/compiler-ssr@3.3.10: + resolution: {integrity: sha512-12iM4jA4GEbskwXMmPcskK5wImc2ohKm408+o9iox3tfN9qua8xL0THIZtoe9OJHnXP4eOWZpgCAAThEveNlqQ==} + dependencies: + '@vue/compiler-dom': 3.3.10 + '@vue/shared': 3.3.10 + dev: false + /@vue/compiler-ssr@3.3.8: resolution: {integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==} dependencies: '@vue/compiler-dom': 3.3.8 '@vue/shared': 3.3.8 + /@vue/reactivity-transform@3.3.10: + resolution: {integrity: sha512-0xBdk+CKHWT+Gev8oZ63Tc0qFfj935YZx+UAynlutnrDZ4diFCVFMWixn65HzjE3S1iJppWOo6Tt1OzASH7VEg==} + dependencies: + '@babel/parser': 7.23.5 + '@vue/compiler-core': 3.3.10 + '@vue/shared': 3.3.10 + estree-walker: 2.0.2 + magic-string: 0.30.5 + dev: false + /@vue/reactivity-transform@3.3.8: resolution: {integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==} dependencies: - '@babel/parser': 7.23.3 + '@babel/parser': 7.23.5 '@vue/compiler-core': 3.3.8 '@vue/shared': 3.3.8 estree-walker: 2.0.2 @@ -8067,6 +8654,10 @@ packages: resolution: {integrity: sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==} dev: false + /@vue/shared@3.3.10: + resolution: {integrity: sha512-2y3Y2J1a3RhFa0WisHvACJR2ncvWiVHcP8t0Inxo+NKz+8RKO4ZV8eZgCxRgQoA6ITfV12L4E6POOL9HOU5nqw==} + dev: false + /@vue/shared@3.3.8: resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} @@ -8076,6 +8667,7 @@ packages: /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead dev: true /abbrev@1.1.1: @@ -8305,13 +8897,13 @@ packages: hasBin: true dev: false - /astro-auto-import@0.3.2(astro@packages+astro): - resolution: {integrity: sha512-xnr56geVyqJTu5qicJzvxqSnkhktq7SulWIzme1Vs5mrrcMkH/N1s7TEYkgJCN2b5qSeltqqZ7UUSD3xXrXamA==} + /astro-auto-import@0.3.1(astro@packages+astro): + resolution: {integrity: sha512-4kXZMlZFiq3dqT6fcfPbCjHTABQ279eKbIqZAb6qktBhGlmHwpHr1spOUFj/RQFilaWVgfjzOBmuZnoydZb5Vg==} engines: {node: '>=16.0.0'} peerDependencies: astro: '*' dependencies: - '@types/node': 18.18.9 + '@types/node': 18.18.6 acorn: 8.11.2 astro: link:packages/astro dev: false @@ -8321,7 +8913,7 @@ packages: peerDependencies: astro: '*' dependencies: - '@astro-community/astro-embed-integration': 0.6.0(astro@packages+astro) + '@astro-community/astro-embed-integration': 0.6.1(astro@packages+astro) '@astro-community/astro-embed-twitter': 0.5.2(astro@packages+astro) '@astro-community/astro-embed-vimeo': 0.3.1(astro@packages+astro) '@astro-community/astro-embed-youtube': 0.4.1(astro@packages+astro) @@ -8403,7 +8995,7 @@ packages: dev: false optional: true - /babel-plugin-jsx-dom-expressions@0.37.2(@babel/core@7.23.3): + /babel-plugin-jsx-dom-expressions@0.37.2(@babel/core@7.23.5): resolution: {integrity: sha512-u3VKB+On86cYSLAbw9j0m0X8ZejL4MR7oG7TRlrMQ/y1mauR/ZpM2xkiOPZEUlzHLo1GYGlTdP9s5D3XuA6iSQ==} peerDependencies: '@babel/core': ^7.20.12 @@ -8411,10 +9003,10 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3) - '@babel/types': 7.23.3 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.5) + '@babel/types': 7.23.5 html-entities: 2.3.3 validate-html-nesting: 1.2.2 dev: false @@ -8428,7 +9020,7 @@ packages: optional: true dev: false - /babel-preset-solid@1.8.2(@babel/core@7.23.3): + /babel-preset-solid@1.8.2(@babel/core@7.23.5): resolution: {integrity: sha512-hEIy4K1CGPQwCekFJ9NV3T92fezS4GQV0SQXEGVe9dyo+7iI7Fjuu6OKIdE5z/S4IfMEL6gCU+1AZ3yK6PnGMg==} peerDependencies: '@babel/core': ^7.0.0 @@ -8436,8 +9028,8 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.3 - babel-plugin-jsx-dom-expressions: 0.37.2(@babel/core@7.23.3) + '@babel/core': 7.23.5 + babel-plugin-jsx-dom-expressions: 0.37.2(@babel/core@7.23.5) dev: false /bail@2.0.2: @@ -9112,8 +9704,8 @@ packages: resolution: {integrity: sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==} dev: false - /css-selector-parser@3.0.0: - resolution: {integrity: sha512-ITsFspnTOObbNv81tXX+7QK/MtxciSBDAWQCKnmWIuwDSDDvfJD+YSPEpC7TMVhi1N2llzHHMz7xCX8AoC0L6w==} + /css-selector-parser@3.0.2: + resolution: {integrity: sha512-eA5pvYwgtffuxQlDk0gJRApDUKgfwlsQBMAH6uawKuuilTLfxKIOtzyV63Y3IC0LWnDCeTJ/I1qYmlfYvvMzDg==} dev: false /css-tree@2.2.1: @@ -9347,8 +9939,8 @@ packages: object-keys: 1.1.1 dev: true - /defu@6.1.3: - resolution: {integrity: sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==} + /defu@6.1.2: + resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} dev: false /del@7.1.0: @@ -9402,7 +9994,6 @@ packages: /detect-libc@2.0.2: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} - requiresBuild: true dev: false /deterministic-object-hash@2.0.1: @@ -9478,6 +10069,7 @@ packages: /domexception@4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead dependencies: webidl-conversions: 7.0.0 dev: true @@ -9729,6 +10321,36 @@ packages: '@esbuild/win32-ia32': 0.19.6 '@esbuild/win32-x64': 0.19.6 + /esbuild@0.19.8: + resolution: {integrity: sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.19.8 + '@esbuild/android-arm64': 0.19.8 + '@esbuild/android-x64': 0.19.8 + '@esbuild/darwin-arm64': 0.19.8 + '@esbuild/darwin-x64': 0.19.8 + '@esbuild/freebsd-arm64': 0.19.8 + '@esbuild/freebsd-x64': 0.19.8 + '@esbuild/linux-arm': 0.19.8 + '@esbuild/linux-arm64': 0.19.8 + '@esbuild/linux-ia32': 0.19.8 + '@esbuild/linux-loong64': 0.19.8 + '@esbuild/linux-mips64el': 0.19.8 + '@esbuild/linux-ppc64': 0.19.8 + '@esbuild/linux-riscv64': 0.19.8 + '@esbuild/linux-s390x': 0.19.8 + '@esbuild/linux-x64': 0.19.8 + '@esbuild/netbsd-x64': 0.19.8 + '@esbuild/openbsd-x64': 0.19.8 + '@esbuild/sunos-x64': 0.19.8 + '@esbuild/win32-arm64': 0.19.8 + '@esbuild/win32-ia32': 0.19.8 + '@esbuild/win32-x64': 0.19.8 + dev: false + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -9803,8 +10425,8 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.3 + '@eslint-community/regexpp': 4.9.1 + '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.54.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 @@ -9827,7 +10449,7 @@ packages: glob-parent: 6.0.2 globals: 13.23.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.2.4 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -9891,7 +10513,7 @@ packages: /estree-util-build-jsx@3.0.1: resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} dependencies: - '@types/estree-jsx': 1.0.3 + '@types/estree-jsx': 1.0.2 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 estree-walker: 3.0.3 @@ -9904,7 +10526,7 @@ packages: /estree-util-to-js@2.0.0: resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} dependencies: - '@types/estree-jsx': 1.0.3 + '@types/estree-jsx': 1.0.2 astring: 1.8.6 source-map: 0.7.4 dev: false @@ -9912,7 +10534,7 @@ packages: /estree-util-visit@2.0.0: resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} dependencies: - '@types/estree-jsx': 1.0.3 + '@types/estree-jsx': 1.0.2 '@types/unist': 3.0.2 dev: false @@ -10111,7 +10733,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.2.0 + flat-cache: 3.1.1 dev: true /file-uri-to-path@1.0.0: @@ -10159,9 +10781,9 @@ packages: micromatch: 4.0.5 pkg-dir: 4.2.0 - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} dependencies: flatted: 3.2.9 keyv: 4.5.4 @@ -10354,10 +10976,10 @@ packages: hasBin: true dependencies: colorette: 2.0.20 - defu: 6.1.3 + defu: 6.1.2 https-proxy-agent: 7.0.2 mri: 1.2.0 - node-fetch-native: 1.4.1 + node-fetch-native: 1.4.0 pathe: 1.1.1 tar: 6.2.0 transitivePeerDependencies: @@ -10446,7 +11068,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -10457,7 +11079,7 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 dev: true @@ -10468,7 +11090,7 @@ packages: dependencies: '@sindresorhus/merge-streams': 1.0.0 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.2.4 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 @@ -10590,10 +11212,10 @@ packages: /hast-util-from-parse5@7.1.2: resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} dependencies: - '@types/hast': 2.3.8 - '@types/unist': 2.0.10 + '@types/hast': 2.3.7 + '@types/unist': 2.0.9 hastscript: 7.2.0 - property-information: 6.4.0 + property-information: 6.3.0 vfile: 5.3.7 vfile-location: 4.1.0 web-namespaces: 2.0.1 @@ -10606,7 +11228,7 @@ packages: '@types/unist': 3.0.2 devlop: 1.1.0 hastscript: 8.0.0 - property-information: 6.4.0 + property-information: 6.3.0 vfile: 6.0.1 vfile-location: 5.0.2 web-namespaces: 2.0.1 @@ -10631,7 +11253,7 @@ packages: /hast-util-parse-selector@3.1.1: resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.7 dev: true /hast-util-parse-selector@4.0.0: @@ -10664,7 +11286,7 @@ packages: '@types/unist': 3.0.2 bcp-47-match: 2.0.3 comma-separated-tokens: 2.0.3 - css-selector-parser: 3.0.0 + css-selector-parser: 3.0.2 devlop: 1.1.0 direction: 2.0.1 hast-util-has-property: 3.0.0 @@ -10672,7 +11294,7 @@ packages: hast-util-whitespace: 3.0.0 not: 0.1.0 nth-check: 2.1.1 - property-information: 6.4.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 unist-util-visit: 5.0.0 zwitch: 2.0.4 @@ -10682,7 +11304,7 @@ packages: resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} dependencies: '@types/estree': 1.0.5 - '@types/estree-jsx': 1.0.3 + '@types/estree-jsx': 1.0.2 '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 devlop: 1.1.0 @@ -10692,7 +11314,7 @@ packages: mdast-util-mdx-expression: 2.0.0 mdast-util-mdx-jsx: 3.0.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.4.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 style-to-object: 0.4.4 unist-util-position: 5.0.0 @@ -10712,24 +11334,32 @@ packages: hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 mdast-util-to-hast: 13.0.2 - property-information: 6.4.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.3 zwitch: 2.0.4 dev: false - /hast-util-to-jsx-runtime@2.2.0: - resolution: {integrity: sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A==} + /hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} dependencies: + '@types/estree': 1.0.5 '@types/hast': 3.0.3 '@types/unist': 3.0.2 comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 - property-information: 6.4.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.3.0 space-separated-tokens: 2.0.2 - style-to-object: 0.4.4 + style-to-object: 1.0.5 unist-util-position: 5.0.0 vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color dev: false /hast-util-to-parse5@8.0.0: @@ -10738,7 +11368,7 @@ packages: '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 6.4.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -10747,7 +11377,7 @@ packages: /hast-util-to-string@2.0.0: resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.7 dev: true /hast-util-to-string@3.0.0: @@ -10773,10 +11403,10 @@ packages: /hastscript@7.2.0: resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.7 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 3.1.1 - property-information: 6.4.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 dev: true @@ -10786,7 +11416,7 @@ packages: '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 6.4.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 /hdr-histogram-js@3.0.0: @@ -10959,8 +11589,8 @@ packages: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false - /ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} /immutable@4.3.4: @@ -11012,6 +11642,10 @@ packages: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: false + /inline-style-parser@0.2.2: + resolution: {integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==} + dev: false + /internal-slot@1.0.6: resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} @@ -11348,8 +11982,8 @@ packages: pretty-format: 21.2.1 dev: true - /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + /jiti@1.20.0: + resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} hasBin: true /js-tokens@4.0.0: @@ -11890,7 +12524,7 @@ packages: /mdast-util-mdx-expression@2.0.0: resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} dependencies: - '@types/estree-jsx': 1.0.3 + '@types/estree-jsx': 1.0.2 '@types/hast': 3.0.3 '@types/mdast': 4.0.3 devlop: 1.1.0 @@ -11902,7 +12536,7 @@ packages: /mdast-util-mdx-jsx@3.0.0: resolution: {integrity: sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==} dependencies: - '@types/estree-jsx': 1.0.3 + '@types/estree-jsx': 1.0.2 '@types/hast': 3.0.3 '@types/mdast': 4.0.3 '@types/unist': 3.0.2 @@ -11932,7 +12566,7 @@ packages: /mdast-util-mdxjs-esm@2.0.1: resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} dependencies: - '@types/estree-jsx': 1.0.3 + '@types/estree-jsx': 1.0.2 '@types/hast': 3.0.3 '@types/mdast': 4.0.3 devlop: 1.1.0 @@ -11974,13 +12608,13 @@ packages: /mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} dependencies: - '@types/mdast': 4.0.3 + '@types/mdast': 4.0.2 /mdast-util-toc@7.0.0: resolution: {integrity: sha512-C28UcSqjmnWuvgT8d97qpaItHKvySqVPAECUzqQ51xuMyNFFJwcFoKW77KoMjtXrclTidLQFDzLUmTmrshRweA==} dependencies: '@types/mdast': 4.0.3 - '@types/ungap__structured-clone': 0.3.2 + '@types/ungap__structured-clone': 0.3.3 '@ungap/structured-clone': 1.2.0 github-slugger: 2.0.0 mdast-util-to-string: 4.0.0 @@ -12160,7 +12794,7 @@ packages: /micromark-extension-math@3.0.0: resolution: {integrity: sha512-iJ2Q28vBoEovLN5o3GO12CpqorQRYDPT+p4zW50tGwTfJB+iv/VnB6Ini+gqa24K97DwptMBBIvVX6Bjk49oyQ==} dependencies: - '@types/katex': 0.16.6 + '@types/katex': 0.16.5 devlop: 1.1.0 katex: 0.16.9 micromark-factory-space: 2.0.0 @@ -12468,7 +13102,6 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - requiresBuild: true /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} @@ -12527,7 +13160,7 @@ packages: /mlly@1.4.2: resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: - acorn: 8.10.0 + acorn: 8.11.2 pathe: 1.1.1 pkg-types: 1.0.3 ufo: 1.3.1 @@ -12602,6 +13235,12 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: false + /nanostores@0.9.5: resolution: {integrity: sha512-Z+p+g8E7yzaWwOe5gEUB2Ox0rCEeXWYIZWmYvw/ajNYX8DlXdMvMDj8DWfM/subqPAcsf8l8Td4iAwO1DeIIRQ==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} @@ -12677,8 +13316,8 @@ packages: engines: {node: '>=10.5.0'} dev: false - /node-fetch-native@1.4.1: - resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==} + /node-fetch-native@1.4.0: + resolution: {integrity: sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==} dev: false /node-fetch@2.7.0: @@ -12701,8 +13340,8 @@ packages: formdata-polyfill: 4.0.10 dev: false - /node-gyp-build@4.7.0: - resolution: {integrity: sha512-PbZERfeFdrHQOOXiAKOY0VPbykZy90ndPKk0d+CFDegTKmWp1VgOTz2xACVbr1BjCWxrQp68CXtvNsveFhqDJg==} + /node-gyp-build@4.6.1: + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true dev: false @@ -13013,7 +13652,7 @@ packages: /parse-entities@4.0.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 character-entities: 2.0.2 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 @@ -13604,6 +14243,15 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postcss@8.4.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + /preact-render-to-string@6.3.1(preact@10.19.2): resolution: {integrity: sha512-NQ28WrjLtWY6lKDlTxnFpKHZdpjfF+oE6V4tZ0rTrunHrtZp6Dm0oFrcJalt/5PNeqJz4j1DuZDS0Y6rCBoqDA==} peerDependencies: @@ -13737,8 +14385,8 @@ packages: sisteransi: 1.0.5 dev: false - /property-information@6.4.0: - resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} + /property-information@6.3.0: + resolution: {integrity: sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg==} /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -13765,8 +14413,8 @@ packages: dev: false optional: true - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} dev: true @@ -13971,7 +14619,7 @@ packages: /rehype-parse@8.0.5: resolution: {integrity: sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.7 hast-util-from-parse5: 7.1.2 parse5: 6.0.1 unified: 10.1.2 @@ -14114,7 +14762,7 @@ packages: peerDependencies: typescript: '>3' dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 '@typescript/twoslash': 3.1.0 '@typescript/vfs': 1.3.4 fenceparser: 1.1.1 @@ -14270,6 +14918,26 @@ packages: '@rollup/rollup-win32-x64-msvc': 4.5.0 fsevents: 2.3.3 + /rollup@4.6.1: + resolution: {integrity: sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.6.1 + '@rollup/rollup-android-arm64': 4.6.1 + '@rollup/rollup-darwin-arm64': 4.6.1 + '@rollup/rollup-darwin-x64': 4.6.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.6.1 + '@rollup/rollup-linux-arm64-gnu': 4.6.1 + '@rollup/rollup-linux-arm64-musl': 4.6.1 + '@rollup/rollup-linux-x64-gnu': 4.6.1 + '@rollup/rollup-linux-x64-musl': 4.6.1 + '@rollup/rollup-win32-arm64-msvc': 4.6.1 + '@rollup/rollup-win32-ia32-msvc': 4.6.1 + '@rollup/rollup-win32-x64-msvc': 4.6.1 + fsevents: 2.3.3 + dev: false + /rrweb-cssom@0.6.0: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: true @@ -14627,9 +15295,9 @@ packages: peerDependencies: solid-js: ^1.3 dependencies: - '@babel/generator': 7.23.3 + '@babel/generator': 7.23.5 '@babel/helper-module-imports': 7.22.15 - '@babel/types': 7.23.3 + '@babel/types': 7.23.5 solid-js: 1.8.5 dev: false @@ -14871,7 +15539,6 @@ packages: /strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} - requiresBuild: true /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} @@ -14886,7 +15553,7 @@ packages: /strip-literal@1.3.0: resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: - acorn: 8.10.0 + acorn: 8.11.2 dev: false /strnum@1.0.5: @@ -14899,6 +15566,12 @@ packages: inline-style-parser: 0.1.1 dev: false + /style-to-object@1.0.5: + resolution: {integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==} + dependencies: + inline-style-parser: 0.2.2 + dev: false + /subarg@1.0.0: resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} dependencies: @@ -15000,8 +15673,8 @@ packages: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: false - /svgo@3.0.4: - resolution: {integrity: sha512-T+Xul3JwuJ6VGXKo/p2ndqx1ibxNKnLTvRc1ZTWKCfyKS/GgNjRZcYsK84fxTsy/izr91g/Rwx6fGnVgaFSI5g==} + /svgo@3.0.2: + resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -15009,7 +15682,6 @@ packages: commander: 7.2.0 css-select: 5.1.0 css-tree: 2.3.1 - css-what: 6.1.0 csso: 5.0.5 picocolors: 1.0.0 dev: false @@ -15039,7 +15711,7 @@ packages: fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 + jiti: 1.20.0 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 @@ -15212,7 +15884,7 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.3.1 + punycode: 2.3.0 universalify: 0.2.0 url-parse: 1.5.10 dev: true @@ -15224,7 +15896,7 @@ packages: resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} engines: {node: '>=14'} dependencies: - punycode: 2.3.1 + punycode: 2.3.0 dev: true /trim-lines@3.0.1: @@ -15274,7 +15946,7 @@ packages: resolution: {integrity: sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==} dependencies: '@types/json5': 0.0.30 - '@types/resolve': 1.20.5 + '@types/resolve': 1.20.6 json5: 2.2.3 resolve: 1.22.8 strip-bom: 4.0.0 @@ -15516,9 +16188,6 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /undici@5.26.5: resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} engines: {node: '>=14.0'} @@ -15538,7 +16207,7 @@ packages: /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 @@ -15574,7 +16243,7 @@ packages: /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 /unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -15584,7 +16253,7 @@ packages: /unist-util-modify-children@3.1.1: resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 array-iterate: 2.0.1 dev: false @@ -15608,7 +16277,7 @@ packages: /unist-util-select@4.0.3: resolution: {integrity: sha512-1074+K9VyR3NyUz3lgNtHKm7ln+jSZXtLJM4E22uVuoFn88a/Go2pX8dusrt/W+KWH1ncn8jcd8uCQuvXb/fXA==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 css-selector-parser: 1.4.1 nth-check: 2.1.1 zwitch: 2.0.4 @@ -15617,7 +16286,7 @@ packages: /unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 /unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} @@ -15627,7 +16296,7 @@ packages: /unist-util-visit-children@2.0.2: resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 dev: false /unist-util-visit-parents@2.1.2: @@ -15638,14 +16307,14 @@ packages: /unist-util-visit-parents@3.1.1: resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 unist-util-is: 4.1.0 dev: true /unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 unist-util-is: 5.2.1 /unist-util-visit-parents@6.0.1: @@ -15662,7 +16331,7 @@ packages: /unist-util-visit@2.0.3: resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 dev: true @@ -15670,7 +16339,7 @@ packages: /unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 @@ -15727,7 +16396,7 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.1 + punycode: 2.3.0 dev: true /url-parse@1.5.10: @@ -15773,7 +16442,7 @@ packages: /vfile-location@4.1.0: resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 vfile: 5.3.7 dev: true @@ -15787,7 +16456,7 @@ packages: /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 unist-util-stringify-position: 3.0.3 /vfile-message@4.0.2: @@ -15799,7 +16468,7 @@ packages: /vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.9 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 @@ -15821,7 +16490,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@18.18.6) + vite: 5.0.6(@types/node@18.18.6) transitivePeerDependencies: - '@types/node' - less @@ -15842,10 +16511,10 @@ packages: vite: optional: true dependencies: - '@babel/core': 7.23.3 - '@babel/preset-typescript': 7.23.2(@babel/core@7.23.3) - '@types/babel__core': 7.20.4 - babel-preset-solid: 1.8.2(@babel/core@7.23.3) + '@babel/core': 7.23.5 + '@babel/preset-typescript': 7.23.2(@babel/core@7.23.5) + '@types/babel__core': 7.20.5 + babel-preset-solid: 1.8.2(@babel/core@7.23.5) merge-anything: 5.1.7 solid-js: 1.8.5 solid-refresh: 0.5.3(solid-js@1.8.5) @@ -15862,8 +16531,8 @@ packages: vue: optional: true dependencies: - '@vue/compiler-sfc': 3.3.8 - svgo: 3.0.4 + '@vue/compiler-sfc': 3.3.10 + svgo: 3.0.2 dev: false /vite-svg-loader@5.0.1: @@ -15874,7 +16543,7 @@ packages: vue: optional: true dependencies: - svgo: 3.0.4 + svgo: 3.0.2 dev: false /vite@4.5.0(@types/node@18.18.6): @@ -15949,6 +16618,42 @@ packages: optionalDependencies: fsevents: 2.3.3 + /vite@5.0.6(@types/node@18.18.6): + resolution: {integrity: sha512-MD3joyAEBtV7QZPl2JVVUai6zHms3YOmLR+BpMzLlX2Yzjfcc4gTgNi09d/Rua3F4EtC8zdwPU8eQYyib4vVMQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + 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: + '@types/node': 18.18.6 + esbuild: 0.19.8 + postcss: 8.4.32 + rollup: 4.6.1 + optionalDependencies: + fsevents: 2.3.3 + dev: false + /vitefu@0.2.5(vite@5.0.0): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: @@ -16060,7 +16765,7 @@ packages: optional: true dependencies: '@volar/language-service': 1.10.10 - vscode-html-languageservice: 5.1.1 + vscode-html-languageservice: 5.1.0 vscode-uri: 3.0.8 dev: true @@ -16118,8 +16823,8 @@ packages: vscode-uri: 3.0.8 dev: true - /vscode-html-languageservice@5.1.1: - resolution: {integrity: sha512-JenrspIIG/Q+93R6G3L6HdK96itSisMynE0glURqHpQbL3dKAKzdm8L40lAHNkwJeBg+BBPpAshZKv/38onrTQ==} + /vscode-html-languageservice@5.1.0: + resolution: {integrity: sha512-cGOu5+lrz+2dDXSGS15y24lDtPaML1T8K/SfqgFbLmCZ1btYOxceFieR+ybTS2es/A67kRc62m2cKFLUQPWG5g==} dependencies: '@vscode/l10n': 0.0.16 vscode-languageserver-textdocument: 1.0.11 From d97fbdab46fc6fb7f99d4b398a2b53974c623b8f Mon Sep 17 00:00:00 2001 From: Patrick Miller Date: Wed, 22 Nov 2023 03:57:21 +0900 Subject: [PATCH 4/6] Address documentation feedback --- .changeset/chilly-badgers-push.md | 12 +++--- packages/integrations/solid/README.md | 56 ++++++--------------------- 2 files changed, 19 insertions(+), 49 deletions(-) diff --git a/.changeset/chilly-badgers-push.md b/.changeset/chilly-badgers-push.md index 170152409022..ffe277122bce 100644 --- a/.changeset/chilly-badgers-push.md +++ b/.changeset/chilly-badgers-push.md @@ -2,15 +2,17 @@ '@astrojs/solid-js': major --- -Render SolidJS components using [renderToStringAsync](https://www.solidjs.com/docs/latest#rendertostringasync). +Render SolidJS components using [`renderToStringAsync`](https://www.solidjs.com/docs/latest#rendertostringasync). -This changes the renderer of SolidJS components from renderToString to renderToStringAsync. It also injected the full SolidJS hydration script generated by `generateHydrationScript`, to help make sure that Suspense, ErrorBoundary and similar features can be hydrated correctly. +This changes the renderer of SolidJS components from `renderToString` to `renderToStringAsync`. It also injects the actual SolidJS hydration script generated by [`generateHydrationScript`](https://www.solidjs.com/guides/server#hydration-script), so that [`Suspense`](https://www.solidjs.com/docs/latest#suspense), [`ErrorBoundary`](https://www.solidjs.com/docs/latest#errorboundary) and similar components can be hydrated correctly. -The server render phase will now wait for Suspense boundaries to resolve instead of immediately rendering the [Suspense](https://www.solidjs.com/docs/latest#suspense) fallback. +The server render phase will now wait for Suspense boundaries to resolve instead of always rendering the Suspense fallback. -If your SolidJS component uses APIs such as [lazy](https://www.solidjs.com/docs/latest#lazy) or [createResource](https://www.solidjs.com/docs/latest#createresource), these functions may now be used on the server side. +If you use the APIs [`createResource`](https://www.solidjs.com/docs/latest#createresource) or [`lazy`](https://www.solidjs.com/docs/latest#lazy), their functionalities will now be executed on the server side, not just the client side. -This increases the flexibility of the SolidJS integration. Server-only SolidJS components may now call async functions directly using the `createResource` API, like loading data from another API or using async Astro server functions like `getImage()`. It is very unlikely that a server only component would have used the Suspense feature until now, so this should not be a breaking change for server-only components. +This increases the flexibility of the SolidJS integration. Server-side components can now safely fetch remote data, call async Astro server functions like `getImage()` or load other components dynamically. Even server-only components that do not hydrate in the browser will benefit. + +It is very unlikely that a server-only component would have used the Suspense feature until now, so this should not be a breaking change for server-only components. This could be a breaking change for components that meet the following conditions: diff --git a/packages/integrations/solid/README.md b/packages/integrations/solid/README.md index 29b631f3f32b..6f7a41212942 100644 --- a/packages/integrations/solid/README.md +++ b/packages/integrations/solid/README.md @@ -98,38 +98,11 @@ export default defineConfig({ }); ``` -## Rendering strategy +## Async rendering strategy -Hydrating SolidJS components are automatically wrapped in Suspense boundaries and rendered on the server using the [renderToStringAsync](https://www.solidjs.com/docs/latest/api#rendertostringasync) function. This means that lazy components will be resolved and rendered on the server. For example the following source files: +Hydrating SolidJS components are automatically wrapped in Suspense boundaries and rendered on the server using the [`renderToStringAsync`](https://www.solidjs.com/docs/latest/api#rendertostringasync) function. -```tsx -// HelloAstro.tsx -export default function HelloAstro() { - return
Hello Astro
; -} -``` - -```tsx -// LazyHelloAstro.tsx -import { lazy } from 'solid-js'; -export const LazyHelloAstro = lazy(() => import('./HelloAstro')); -``` - - -```astro -// hello.astro -import { LazyHelloAstro } from './LazyHelloAstro.tsx'; ---- - -``` - -Will be rendered into the server's HTML output as - -```html -
Hello Astro
-``` - -Resources will also be resolved. For example: +This means that resources will be resolved on the server. For example, if a component fetches remote data using `createResource`, the remote data will be included in the initial server-rendered HTML: ```tsx // CharacterName.tsx @@ -140,26 +113,21 @@ function CharacterName() { .then((data) => data.name) ); - return
Name: {name()}
; + return ( + <> +

Name:

+ {/* Luke Skywalker */} +
{name()}
+ + ); } ``` - -```astro -// character.astro ---- - -``` - -Will generate the following HTML output: - -```html -
Name: Luke Skywalker
-``` +Similarly, Solid's [lazy components](https://www.solidjs.com/tutorial/async_lazy) will also be resolved and included in the initial server-rendered HTML. ### Wrapping in Suspense -Server-only or hydrating components are automatically wrapped in top level Suspense boundaries, so it is not necessary to add a top level Suspense boundary around async components. +Server-only or hydrating components are automatically wrapped in top-level Suspense boundaries, so it is not necessary to add a top-level Suspense boundary around async components. Non-hydrating [`client:only` components](https://docs.astro.build/en/reference/directives-reference/#clientonly) are not automatically wrapped in Suspense boundaries. From 96d9a4f1fb3814faa2257fc6348b8dfe484fecda Mon Sep 17 00:00:00 2001 From: Patrick Miller Date: Fri, 8 Dec 2023 11:52:26 +0900 Subject: [PATCH 5/6] Rebuild pnpm lock file based on main branch --- pnpm-lock.yaml | 1235 +++++++++++------------------------------------- 1 file changed, 265 insertions(+), 970 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 919a4c48d3d2..796f0da528c2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4379,7 +4379,7 @@ importers: dependencies: '@babel/plugin-transform-react-jsx': specifier: ^7.22.5 - version: 7.22.15 + version: 7.22.15(@babel/core@7.23.3) '@babel/plugin-transform-react-jsx-development': specifier: ^7.22.5 version: 7.22.5 @@ -4797,7 +4797,7 @@ importers: version: 3.1.0(vite@5.0.0)(vue@3.3.8) '@vue/babel-plugin-jsx': specifier: ^1.1.5 - version: 1.1.5(@babel/core@7.23.5) + version: 1.1.5(@babel/core@7.23.3) '@vue/compiler-sfc': specifier: ^3.3.8 version: 3.3.8 @@ -5129,17 +5129,17 @@ packages: resolution: {integrity: sha512-ulkCYfFbYj01ie1MDOyxv2F6SpRN1TOj7fQxbP07D6HmeR+gr2JLSmINKjga2emB+b1L2KGrFKBTc+e00p54nw==} dev: false - /@astro-community/astro-embed-integration@0.6.1(astro@packages+astro): - resolution: {integrity: sha512-+dujQeYa6fAdF2Obiep0HZrmkGNd2JcKmZAv9C9gZHqnPr3pGnxm0YZPC30jyCZsmpIMMyMsfgTOuP4Cwpj4QQ==} + /@astro-community/astro-embed-integration@0.6.0(astro@packages+astro): + resolution: {integrity: sha512-PQGtMLfZ1t0znrY/ElPu3gAT/up9rJVyEDaoqvhoUcEmhp7e99EiuTZNKNKIkeH+biWyKJoKTSClu300i91Kzw==} peerDependencies: astro: '*' dependencies: - '@astro-community/astro-embed-twitter': 0.5.3(astro@packages+astro) - '@astro-community/astro-embed-vimeo': 0.3.2(astro@packages+astro) - '@astro-community/astro-embed-youtube': 0.4.3(astro@packages+astro) - '@types/unist': 2.0.9 + '@astro-community/astro-embed-twitter': 0.5.2(astro@packages+astro) + '@astro-community/astro-embed-vimeo': 0.3.1(astro@packages+astro) + '@astro-community/astro-embed-youtube': 0.4.1(astro@packages+astro) + '@types/unist': 2.0.10 astro: link:packages/astro - astro-auto-import: 0.3.1(astro@packages+astro) + astro-auto-import: 0.3.2(astro@packages+astro) unist-util-select: 4.0.3 dev: false @@ -5152,15 +5152,6 @@ packages: astro: link:packages/astro dev: false - /@astro-community/astro-embed-twitter@0.5.3(astro@packages+astro): - resolution: {integrity: sha512-oxu+KOmNXu3k2RjVVoEJxi5ZaLeEIKS0+clMnNUVFD8PI8Yzsil8faO4/mmRyLHKKZNG38XFyBbAgZsoyOa6wg==} - peerDependencies: - astro: '*' - dependencies: - '@astro-community/astro-embed-utils': 0.1.0 - astro: link:packages/astro - dev: false - /@astro-community/astro-embed-utils@0.1.0: resolution: {integrity: sha512-whbRs9JpUApKwdzfkakBPVQT73LFxgj/RrfUu0IXTDf5SqxniZaXG4WcdG5MKj0nQyc82O21f1RnY3ddOo/yng==} dev: false @@ -5173,14 +5164,6 @@ packages: astro: link:packages/astro dev: false - /@astro-community/astro-embed-vimeo@0.3.2(astro@packages+astro): - resolution: {integrity: sha512-6Uitc8CBQaJqhI56RPNcIAegNeKGTPKqPQEjyCIAvKX+qhS+DdGh9DTvrBybrlkSSH74tprURwO3VHp8zjjiwA==} - peerDependencies: - astro: '*' - dependencies: - astro: link:packages/astro - dev: false - /@astro-community/astro-embed-youtube@0.4.1(astro@packages+astro): resolution: {integrity: sha512-sS3zp3JpCkQl0yl5iCZSuCcankz0Ownjg0Ju5KdON4BJVZUh2gHySCCvqKpsNWwto2VESKi9v7KHi1/R386FZg==} peerDependencies: @@ -5190,15 +5173,6 @@ packages: lite-youtube-embed: 0.2.0 dev: false - /@astro-community/astro-embed-youtube@0.4.3(astro@packages+astro): - resolution: {integrity: sha512-zXtPmR9yxrTo6cuLhH8v+r62bsXbsLJgsU2FiZalPr4bXJxAUQEIlG46S/qK0AEXi9uNShKqy4+zBaJ98xTVEg==} - peerDependencies: - astro: '*' - dependencies: - astro: link:packages/astro - lite-youtube-embed: 0.2.0 - dev: false - /@astrojs/check@0.3.1(prettier-plugin-astro@0.12.2)(prettier@3.1.0)(typescript@5.2.2): resolution: {integrity: sha512-3LjEUvh7Z4v9NPokaqKMXQ0DwnSXfmtcyAuWVTjNt9yzjv54SxykobV5CTOB3TIko+Rqg59ejamJBxaJN6fvkw==} hasBin: true @@ -5270,7 +5244,7 @@ packages: volar-service-prettier: 0.0.16(@volar/language-service@1.10.10)(prettier@3.1.0) volar-service-typescript: 0.0.16(@volar/language-service@1.10.10)(@volar/typescript@1.10.10) volar-service-typescript-twoslash-queries: 0.0.16(@volar/language-service@1.10.10) - vscode-html-languageservice: 5.1.0 + vscode-html-languageservice: 5.1.1 vscode-uri: 3.0.8 transitivePeerDependencies: - typescript @@ -5283,16 +5257,8 @@ packages: '@babel/highlight': 7.22.20 chalk: 2.4.2 - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - dev: false - - /@babel/compat-data@7.23.2: - resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} + /@babel/compat-data@7.23.3: + resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} engines: {node: '>=6.9.0'} dev: false @@ -5319,29 +5285,6 @@ packages: - supports-color dev: false - /@babel/core@7.23.5: - resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.5 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) - '@babel/helpers': 7.23.5 - '@babel/parser': 7.23.5 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.5 - '@babel/types': 7.23.5 - convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - /@babel/generator@7.23.3: resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==} engines: {node: '>=6.9.0'} @@ -5352,16 +5295,6 @@ packages: jsesc: 2.5.2 dev: false - /@babel/generator@7.23.5: - resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.5 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 - jsesc: 2.5.2 - dev: false - /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -5373,14 +5306,14 @@ packages: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.23.2 + '@babel/compat-data': 7.23.3 '@babel/helper-validator-option': 7.22.15 browserslist: 4.22.1 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.5): + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5389,34 +5322,13 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - dev: false - - /@babel/helper-create-class-features-plugin@7.23.5(@babel/core@7.23.5): - resolution: {integrity: sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/core': 7.23.5 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 @@ -5446,14 +5358,14 @@ packages: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.3 dev: false /@babel/helper-module-imports@7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.3 dev: false /@babel/helper-module-imports@7.22.15: @@ -5463,23 +5375,6 @@ packages: '@babel/types': 7.23.3 dev: false - /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.5): - resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/core': 7.23.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - dev: false - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} @@ -5497,28 +5392,11 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: false - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/core': 7.23.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - dev: false - /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.3 dev: false /@babel/helper-plugin-utils@7.22.5: @@ -5526,7 +5404,7 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.5): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5535,7 +5413,7 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 + '@babel/core': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -5552,7 +5430,7 @@ packages: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.3 dev: false /@babel/helper-split-export-declaration@7.22.6: @@ -5566,10 +5444,6 @@ packages: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} @@ -5590,17 +5464,6 @@ packages: - supports-color dev: false - /@babel/helpers@7.23.5: - resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.5 - '@babel/types': 7.23.5 - transitivePeerDependencies: - - supports-color - dev: false - /@babel/highlight@7.22.20: resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} @@ -5609,29 +5472,12 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: false - /@babel/parser@7.23.3: resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.23.3 - dev: false - - /@babel/parser@7.23.5: - resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.5 /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.3): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} @@ -5646,33 +5492,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.5): - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/core': 7.23.5 - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.5): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/core': 7.23.5 - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.5): + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5681,11 +5501,11 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.23.5): + /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.23.3): resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5694,8 +5514,8 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.5) + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: false @@ -5709,10 +5529,10 @@ packages: '@babel/core': optional: true dependencies: - '@babel/plugin-transform-react-jsx': 7.22.15 + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.5): + /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5721,11 +5541,11 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.5): + /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5734,24 +5554,8 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-transform-react-jsx@7.22.15: - resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.15 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.5) - '@babel/types': 7.23.3 dev: false /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.3): @@ -5771,8 +5575,8 @@ packages: '@babel/types': 7.23.3 dev: false - /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.23.5): - resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} + /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5780,30 +5584,14 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.5) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.5) - dev: false - - /@babel/plugin-transform-typescript@7.23.5(@babel/core@7.23.5): - resolution: {integrity: sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/core': 7.23.5 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3) dev: false - /@babel/preset-typescript@7.23.2(@babel/core@7.23.5): + /@babel/preset-typescript@7.23.2(@babel/core@7.23.3): resolution: {integrity: sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -5812,12 +5600,12 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.5) - '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.5) - '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.23.5) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.3) + '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.3) dev: false /@babel/runtime@7.23.2: @@ -5832,8 +5620,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/parser': 7.23.5 - '@babel/types': 7.23.5 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 dev: false /@babel/traverse@7.23.3: @@ -5854,24 +5642,6 @@ packages: - supports-color dev: false - /@babel/traverse@7.23.5: - resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.5 - '@babel/types': 7.23.5 - debug: 4.3.4(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - /@babel/types@7.23.3: resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} engines: {node: '>=6.9.0'} @@ -5880,14 +5650,6 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@babel/types@7.23.5: - resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - /@builder.io/partytown@0.8.1: resolution: {integrity: sha512-p4xhEtQCPe8YFJ8e7KT9RptnT+f4lvtbmXymbp1t0bLp+USkNMTxrRMNc3Dlr2w2fpxyX7uA0CyAeU3ju84O4A==} engines: {node: '>=18.0.0'} @@ -6520,15 +6282,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm64@0.19.8: - resolution: {integrity: sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - /@esbuild/android-arm@0.18.20: resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -6546,15 +6299,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm@0.19.8: - resolution: {integrity: sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -6572,15 +6316,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-x64@0.19.8: - resolution: {integrity: sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: false - optional: true - /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -6598,15 +6333,6 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.19.8: - resolution: {integrity: sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -6624,15 +6350,6 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-x64@0.19.8: - resolution: {integrity: sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -6650,15 +6367,6 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.19.8: - resolution: {integrity: sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/freebsd-x64@0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -6676,15 +6384,6 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.19.8: - resolution: {integrity: sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-arm64@0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -6702,15 +6401,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm64@0.19.8: - resolution: {integrity: sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -6728,15 +6418,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm@0.19.8: - resolution: {integrity: sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -6754,15 +6435,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ia32@0.19.8: - resolution: {integrity: sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-loong64@0.18.20: resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -6780,15 +6452,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-loong64@0.19.8: - resolution: {integrity: sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -6806,15 +6469,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.19.8: - resolution: {integrity: sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -6832,15 +6486,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.19.8: - resolution: {integrity: sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -6858,15 +6503,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.19.8: - resolution: {integrity: sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -6884,15 +6520,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-s390x@0.19.8: - resolution: {integrity: sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -6910,15 +6537,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-x64@0.19.8: - resolution: {integrity: sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -6936,39 +6554,21 @@ packages: requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.19.8: - resolution: {integrity: sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/openbsd-x64@0.19.6: - resolution: {integrity: sha512-fFqTVEktM1PGs2sLKH4M5mhAVEzGpeZJuasAMRnvDZNCV0Cjvm1Hu35moL2vC0DOrAQjNTvj4zWrol/lwQ8Deg==} + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true + dev: false optional: true - /@esbuild/openbsd-x64@0.19.8: - resolution: {integrity: sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==} + /@esbuild/openbsd-x64@0.19.6: + resolution: {integrity: sha512-fFqTVEktM1PGs2sLKH4M5mhAVEzGpeZJuasAMRnvDZNCV0Cjvm1Hu35moL2vC0DOrAQjNTvj4zWrol/lwQ8Deg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true - dev: false optional: true /@esbuild/sunos-x64@0.18.20: @@ -6988,15 +6588,6 @@ packages: requiresBuild: true optional: true - /@esbuild/sunos-x64@0.19.8: - resolution: {integrity: sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: false - optional: true - /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -7014,15 +6605,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-arm64@0.19.8: - resolution: {integrity: sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -7040,15 +6622,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-ia32@0.19.8: - resolution: {integrity: sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -7066,15 +6639,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-x64@0.19.8: - resolution: {integrity: sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7085,20 +6649,20 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.9.1: - resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + /@eslint/eslintrc@2.1.3: + resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.23.0 - ignore: 5.2.4 + ignore: 5.3.0 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -7200,7 +6764,7 @@ packages: '@lit-labs/ssr-dom-shim': 1.1.2 '@lit/reactive-element': 2.0.2 '@parse5/tools': 0.3.0 - '@types/node': 16.18.59 + '@types/node': 16.18.61 enhanced-resolve: 5.15.0 lit: 3.1.0 lit-element: 4.0.2 @@ -7277,9 +6841,9 @@ packages: resolution: {integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==} dependencies: '@types/estree': 1.0.5 - '@types/estree-jsx': 1.0.2 + '@types/estree-jsx': 1.0.3 '@types/hast': 3.0.3 - '@types/mdx': 2.0.9 + '@types/mdx': 2.0.10 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-build-jsx: 3.0.1 @@ -7287,7 +6851,7 @@ packages: estree-util-to-js: 2.0.0 estree-walker: 3.0.3 hast-util-to-estree: 3.1.0 - hast-util-to-jsx-runtime: 2.3.0 + hast-util-to-jsx-runtime: 2.2.0 markdown-extensions: 2.0.0 periscopic: 3.1.0 remark-mdx: 3.0.0 @@ -7475,9 +7039,9 @@ packages: vite: optional: true dependencies: - '@babel/plugin-transform-react-jsx': 7.22.15 + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.3) '@babel/plugin-transform-react-jsx-development': 7.22.5 - '@prefresh/vite': 2.4.1(preact@10.19.2) + '@prefresh/vite': 2.4.4(preact@10.19.2) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2 debug: 4.3.4(supports-color@8.1.1) @@ -7501,8 +7065,8 @@ packages: preact: 10.19.2 dev: false - /@prefresh/babel-plugin@0.5.0: - resolution: {integrity: sha512-joAwpkUDwo7ZqJnufXRGzUb+udk20RBgfA8oLPBh5aJH2LeStmV1luBfeJTztPdyCscC2j2SmZ/tVxFRMIxAEw==} + /@prefresh/babel-plugin@0.5.1: + resolution: {integrity: sha512-uG3jGEAysxWoyG3XkYfjYHgaySFrSsaEb4GagLzYaxlydbuREtaX+FTxuIidp241RaLl85XoHg9Ej6E4+V1pcg==} dev: false /@prefresh/core@1.5.2(preact@10.19.2): @@ -7517,8 +7081,8 @@ packages: resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} dev: false - /@prefresh/vite@2.4.1(preact@10.19.2): - resolution: {integrity: sha512-vthWmEqu8TZFeyrBNc9YE5SiC3DVSzPgsOCp/WQ7FqdHpOIJi7Z8XvCK06rBPOtG4914S52MjG9Ls22eVAiuqQ==} + /@prefresh/vite@2.4.4(preact@10.19.2): + resolution: {integrity: sha512-7jcz3j5pXufOWTjl31n0Lc3BcU8oGoacoaWx/Ur1QJ+fd4Xu0G7g/ER1xV02x7DCiVoFi7xtSgaophOXoJvpmA==} peerDependencies: preact: ^10.4.0 vite: '>=2.0.0' @@ -7526,8 +7090,8 @@ packages: vite: optional: true dependencies: - '@babel/core': 7.23.5 - '@prefresh/babel-plugin': 0.5.0 + '@babel/core': 7.23.3 + '@prefresh/babel-plugin': 0.5.1 '@prefresh/core': 1.5.2(preact@10.19.2) '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 @@ -7551,14 +7115,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-android-arm-eabi@4.6.1: - resolution: {integrity: sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-android-arm64@4.5.0: resolution: {integrity: sha512-UdMf1pOQc4ZmUA/NTmKhgJTBimbSKnhPS2zJqucqFyBRFPnPDtwA8MzrGNTjDeQbIAWfpJVAlxejw+/lQyBK/w==} cpu: [arm64] @@ -7566,14 +7122,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.6.1: - resolution: {integrity: sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-darwin-arm64@4.5.0: resolution: {integrity: sha512-L0/CA5p/idVKI+c9PcAPGorH6CwXn6+J0Ys7Gg1axCbTPgI8MeMlhA6fLM9fK+ssFhqogMHFC8HDvZuetOii7w==} cpu: [arm64] @@ -7581,14 +7129,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.6.1: - resolution: {integrity: sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-darwin-x64@4.5.0: resolution: {integrity: sha512-QZCbVqU26mNlLn8zi/XDDquNmvcr4ON5FYAHQQsyhrHx8q+sQi/6xduoznYXwk/KmKIXG5dLfR0CvY+NAWpFYQ==} cpu: [x64] @@ -7596,14 +7136,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.6.1: - resolution: {integrity: sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.5.0: resolution: {integrity: sha512-VpSQ+xm93AeV33QbYslgf44wc5eJGYfYitlQzAi3OObu9iwrGXEnmu5S3ilkqE3Pr/FkgOiJKV/2p0ewf4Hrtg==} cpu: [arm] @@ -7611,14 +7143,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.6.1: - resolution: {integrity: sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-linux-arm64-gnu@4.5.0: resolution: {integrity: sha512-OrEyIfpxSsMal44JpEVx9AEcGpdBQG1ZuWISAanaQTSMeStBW+oHWwOkoqR54bw3x8heP8gBOyoJiGg+fLY8qQ==} cpu: [arm64] @@ -7626,14 +7150,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.6.1: - resolution: {integrity: sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-linux-arm64-musl@4.5.0: resolution: {integrity: sha512-1H7wBbQuE6igQdxMSTjtFfD+DGAudcYWhp106z/9zBA8OQhsJRnemO4XGavdzHpGhRtRxbgmUGdO3YQgrWf2RA==} cpu: [arm64] @@ -7641,14 +7157,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.6.1: - resolution: {integrity: sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-linux-x64-gnu@4.5.0: resolution: {integrity: sha512-FVyFI13tXw5aE65sZdBpNjPVIi4Q5mARnL/39UIkxvSgRAIqCo5sCpCELk0JtXHGee2owZz5aNLbWNfBHzr71Q==} cpu: [x64] @@ -7656,14 +7164,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.6.1: - resolution: {integrity: sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-linux-x64-musl@4.5.0: resolution: {integrity: sha512-eBPYl2sLpH/o8qbSz6vPwWlDyThnQjJfcDOGFbNjmjb44XKC1F5dQfakOsADRVrXCNzM6ZsSIPDG5dc6HHLNFg==} cpu: [x64] @@ -7671,14 +7171,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.6.1: - resolution: {integrity: sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-win32-arm64-msvc@4.5.0: resolution: {integrity: sha512-xaOHIfLOZypoQ5U2I6rEaugS4IYtTgP030xzvrBf5js7p9WI9wik07iHmsKaej8Z83ZDxN5GyypfoyKV5O5TJA==} cpu: [arm64] @@ -7686,14 +7178,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.6.1: - resolution: {integrity: sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-win32-ia32-msvc@4.5.0: resolution: {integrity: sha512-Al6quztQUrHwcOoU2TuFblUQ5L+/AmPBXFR6dUvyo4nRj2yQRK0WIUaGMF/uwKulvRcXkpHe3k9A8Vf93VDktA==} cpu: [ia32] @@ -7701,14 +7185,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.6.1: - resolution: {integrity: sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@rollup/rollup-win32-x64-msvc@4.5.0: resolution: {integrity: sha512-8kdW+brNhI/NzJ4fxDufuJUjepzINqJKLGHuxyAtpPG9bMbn8P5mtaCcbOm0EzLJ+atg+kF9dwg8jpclkVqx5w==} cpu: [x64] @@ -7716,14 +7192,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.6.1: - resolution: {integrity: sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false @@ -7818,17 +7286,7 @@ packages: '@babel/parser': 7.23.3 '@babel/types': 7.23.3 '@types/babel__generator': 7.6.7 - '@types/babel__template': 7.4.3 - '@types/babel__traverse': 7.20.4 - dev: false - - /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - dependencies: - '@babel/parser': 7.23.5 - '@babel/types': 7.23.5 - '@types/babel__generator': 7.6.7 - '@types/babel__template': 7.4.3 + '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.4 dev: false @@ -7837,8 +7295,8 @@ packages: dependencies: '@babel/types': 7.23.3 - /@types/babel__template@7.4.3: - resolution: {integrity: sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==} + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: '@babel/parser': 7.23.3 '@babel/types': 7.23.3 @@ -7862,17 +7320,13 @@ packages: /@types/chai-subset@1.3.4: resolution: {integrity: sha512-CCWNXrJYSUIojZ1149ksLl3AN9cmZ5djf+yUoVVV+NuYrtydItQVlL2ZDqyC6M6O9LWRnVf8yYDxbXHO2TfQZg==} dependencies: - '@types/chai': 4.3.11 + '@types/chai': 4.3.9 dev: false /@types/chai@4.3.10: resolution: {integrity: sha512-of+ICnbqjmFCiixUnqRulbylyXQrPqIGf/B3Jax1wIF3DvSheysQxAWvqHhZiW3IQrycvokcLcFQlveGp+vyNg==} dev: true - /@types/chai@4.3.11: - resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} - dev: false - /@types/chai@4.3.9: resolution: {integrity: sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg==} dev: false @@ -7884,7 +7338,7 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 18.18.6 + '@types/node': 20.9.1 dev: true /@types/cookie@0.5.4: @@ -7894,7 +7348,7 @@ packages: /@types/debug@4.1.12: resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: - '@types/ms': 0.7.33 + '@types/ms': 0.7.34 /@types/diff@5.0.8: resolution: {integrity: sha512-kR0gRf0wMwpxQq6ME5s+tWk9zVCfJUl98eRkD05HWWRbhPB/eu4V1IbyZAsvzC1Gn4znBJ0HN01M4DGXdBEV8Q==} @@ -7908,18 +7362,18 @@ packages: resolution: {integrity: sha512-oDuagM6G+xPLrLU4KeCKlr1oalMF5mJqV5pDPMDVIEaa8AkUW00i6u+5P02XCjdEEUQJC9dpnxqSLsZeAciSLQ==} dev: true - /@types/estree-jsx@1.0.2: - resolution: {integrity: sha512-GNBWlGBMjiiiL5TSkvPtOteuXsiVitw5MYGY1UYlrAq0SKyczsls6sCD7TZ8fsjRsvCVxml7EbyjJezPb3DrSA==} + /@types/estree-jsx@1.0.3: + resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} dependencies: '@types/estree': 1.0.5 /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/hast@2.3.7: - resolution: {integrity: sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==} + /@types/hast@2.3.8: + resolution: {integrity: sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 dev: true /@types/hast@3.0.3: @@ -7945,60 +7399,55 @@ packages: resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} dev: true - /@types/json-schema@7.0.14: - resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true /@types/json5@0.0.30: resolution: {integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==} dev: true - /@types/katex@0.16.5: - resolution: {integrity: sha512-DD2Y3xMlTQvAnN6d8803xdgnOeYZ+HwMglb7/9YCf49J9RkJL53azf9qKa40MkEYhqVwxZ1GS2+VlShnz4Z1Bw==} + /@types/katex@0.16.6: + resolution: {integrity: sha512-rZYO1HInM99rAFYNwGqbYPxHZHxu2IwZYKj4bJ4oh6edVrm1UId8mmbHIZLBtG253qU6y3piag0XYe/joNnwzQ==} dev: true - /@types/linkify-it@3.0.4: - resolution: {integrity: sha512-hPpIeeHb/2UuCw06kSNAOVWgehBLXEo0/fUs0mw3W2qhqX89PI2yvok83MnuctYGCPrabGIoi0fFso4DQ+sNUQ==} + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} /@types/markdown-it@12.2.3: resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} requiresBuild: true dependencies: - '@types/linkify-it': 3.0.4 - '@types/mdurl': 1.0.4 + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 dev: false optional: true /@types/markdown-it@13.0.6: resolution: {integrity: sha512-0VqpvusJn1/lwRegCxcHVdmLfF+wIsprsKMC9xW8UPcTxhFcQtoN/fBU1zMe8pH7D/RuueMh2CaBaNv+GrLqTw==} dependencies: - '@types/linkify-it': 3.0.4 - '@types/mdurl': 1.0.4 + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 dev: true /@types/mathjax@0.0.37: resolution: {integrity: sha512-y0WSZBtBNQwcYipTU/BhgeFu1EZNlFvUNCmkMXV9kBQZq7/o5z82dNVyH3yy2Xv5zzeNeQoHSL4Xm06+EQiH+g==} dev: true - /@types/mdast@4.0.2: - resolution: {integrity: sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==} - dependencies: - '@types/unist': 3.0.2 - /@types/mdast@4.0.3: resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} dependencies: '@types/unist': 3.0.2 - /@types/mdurl@1.0.4: - resolution: {integrity: sha512-ARVxjAEX5TARFRzpDRVC6cEk0hUIXCCwaMhz8y7S1/PxU6zZS1UMjyobz7q4w/D/R552r4++EhwmXK1N2rAy0A==} + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} - /@types/mdx@2.0.9: - resolution: {integrity: sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==} + /@types/mdx@2.0.10: + resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} dev: false - /@types/mime@1.3.4: - resolution: {integrity: sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==} + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} dev: true /@types/mime@3.0.4: @@ -8013,27 +7462,27 @@ packages: resolution: {integrity: sha512-xKU7bUjiFTIttpWaIZ9qvgg+22O1nmbA+HRxdlR+u6TWsGfmFdXrheJoK4fFxrHNVIOBDvDNKZG+LYBpMHpX3w==} dev: true - /@types/ms@0.7.33: - resolution: {integrity: sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==} + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - /@types/needle@3.2.2: - resolution: {integrity: sha512-xUKAjFjDcucpgfyTvnbaqN+WBKyM9UehBuVRI/1AoPbaXrCScADqeTgTM1ZBYnS3Ovs9IEQt813IcJNyac7dNQ==} + /@types/needle@3.2.3: + resolution: {integrity: sha512-aUtoZUGROl654rDZlZYPRYaysAOBaVgjnbmYKq3n32afuqFvEts31YGixTebSOCJt7B7qKnHzCzcjbMig5LcQg==} dependencies: - '@types/node': 18.18.6 + '@types/node': 20.9.1 dev: true /@types/nlcst@1.0.3: resolution: {integrity: sha512-cpO6PPMz4E++zxP2Vhp/3KVl2Nbtj+Iksb25rlRinG7mphu2zmCIKWWlqdsx1NwJEISogR2eeZTD7JqLOCzaiw==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 dev: false /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true - /@types/node@16.18.59: - resolution: {integrity: sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==} + /@types/node@16.18.61: + resolution: {integrity: sha512-k0N7BqGhJoJzdh6MuQg1V1ragJiXTh8VUBAZTWjJ9cUq23SG0F0xavOwZbhiP4J3y20xd6jxKx+xNUhkMAi76Q==} dev: false /@types/node@17.0.45: @@ -8043,6 +7492,18 @@ packages: /@types/node@18.18.6: resolution: {integrity: sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==} + /@types/node@18.18.9: + resolution: {integrity: sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==} + dependencies: + undici-types: 5.26.5 + dev: false + + /@types/node@20.9.1: + resolution: {integrity: sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==} + dependencies: + undici-types: 5.26.5 + dev: true + /@types/normalize-package-data@2.4.3: resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==} dev: true @@ -8054,19 +7515,19 @@ packages: /@types/probe-image-size@7.2.3: resolution: {integrity: sha512-6OJa/Tj7OjiahwdcfLWvrzGpXLSjLfbfjqdpth2Oy9YKI58A6Ec5YvFcqfVXOSaJPkA3W+nZx6cPheMQrdtz1w==} dependencies: - '@types/needle': 3.2.2 - '@types/node': 18.18.6 + '@types/needle': 3.2.3 + '@types/node': 20.9.1 dev: true /@types/prompts@2.4.8: resolution: {integrity: sha512-fPOEzviubkEVCiLduO45h+zFHB0RZX8tFt3C783sO5cT7fUXf3EEECpD26djtYdh4Isa9Z9tasMQuZnYPtvYzw==} dependencies: - '@types/node': 18.18.6 + '@types/node': 20.9.1 kleur: 3.0.3 dev: true - /@types/prop-types@15.7.9: - resolution: {integrity: sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==} + /@types/prop-types@15.7.10: + resolution: {integrity: sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==} /@types/react-dom@18.2.15: resolution: {integrity: sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg==} @@ -8076,48 +7537,48 @@ packages: /@types/react@18.2.37: resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==} dependencies: - '@types/prop-types': 15.7.9 - '@types/scheduler': 0.16.5 + '@types/prop-types': 15.7.10 + '@types/scheduler': 0.16.6 csstype: 3.1.2 /@types/resolve@1.20.5: resolution: {integrity: sha512-aten5YPFp8G+cMpkTK5MCcUW5GlwZUby+qlt0/3oFgOCooFgzqvZQ9/0tROY49sUYmhEybBBj3jwpkQ/R3rjjw==} dev: true - /@types/resolve@1.20.6: - resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} - dev: true - /@types/sax@1.2.6: resolution: {integrity: sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ==} dependencies: '@types/node': 18.18.6 dev: false - /@types/scheduler@0.16.5: - resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==} + /@types/scheduler@0.16.6: + resolution: {integrity: sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==} /@types/semver@7.5.4: resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} dev: true + /@types/semver@7.5.5: + resolution: {integrity: sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==} + dev: true + /@types/send@0.17.4: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: - '@types/mime': 1.3.4 - '@types/node': 18.18.6 + '@types/mime': 1.3.5 + '@types/node': 20.9.1 dev: true /@types/server-destroy@1.0.3: resolution: {integrity: sha512-Qq0fn70C7TLDG1W9FCblKufNWW1OckQ41dVKV2Dku5KdZF7bexezG4e2WBaBKhdwL3HZ+cYCEIKwg2BRgzrWmA==} dependencies: - '@types/node': 18.18.6 + '@types/node': 20.9.1 dev: true /@types/set-cookie-parser@2.4.6: resolution: {integrity: sha512-tjIRMxGztGfIbW2/d20MdJmAPZbabtdW051cKfU+nvZXUnKKifHbY2CyL/C0EGabUB8ahIRjanYzTqJUQR8TAQ==} dependencies: - '@types/node': 18.18.6 + '@types/node': 20.9.1 dev: true /@types/strip-bom@3.0.0: @@ -8131,12 +7592,12 @@ packages: /@types/trusted-types@2.0.5: resolution: {integrity: sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==} - /@types/ungap__structured-clone@0.3.3: - resolution: {integrity: sha512-RNmhIPwoip6K/zZOv3ypksTAqaqLEXvlNSXKyrC93xMSOAHZCR7PifW6xKZCwkbbnbM9dwB9X56PPoNTlNwEqw==} + /@types/ungap__structured-clone@0.3.2: + resolution: {integrity: sha512-a7oBPz4/IurTfw0/+R4F315npapBXlSimrQlmDfr0lo1Pv0BeHNADgbHXdDP8LCjnCiRne4jRSr/5UnQitX2og==} dev: true - /@types/unist@2.0.9: - resolution: {integrity: sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==} + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} /@types/unist@3.0.2: resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} @@ -8160,7 +7621,7 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 6.11.0(eslint@8.54.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 6.11.0 '@typescript-eslint/type-utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) @@ -8169,7 +7630,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) eslint: 8.54.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.0 natural-compare: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -8260,8 +7721,8 @@ packages: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - '@types/json-schema': 7.0.14 - '@types/semver': 7.5.4 + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.5 '@typescript-eslint/scope-manager': 6.11.0 '@typescript-eslint/types': 6.11.0 '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) @@ -8333,7 +7794,7 @@ packages: glob: 7.2.3 graceful-fs: 4.2.11 micromatch: 4.0.5 - node-gyp-build: 4.6.1 + node-gyp-build: 4.7.0 resolve-from: 5.0.0 transitivePeerDependencies: - encoding @@ -8349,10 +7810,10 @@ packages: vite: optional: true dependencies: - '@babel/core': 7.23.5 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.5) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.5) - '@types/babel__core': 7.20.5 + '@babel/core': 7.23.3 + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.3) + '@types/babel__core': 7.20.4 react-refresh: 0.14.0 vite: 5.0.0(@types/node@18.18.6)(sass@1.69.5) transitivePeerDependencies: @@ -8369,9 +7830,9 @@ packages: vite: optional: true dependencies: - '@babel/core': 7.23.5 - '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) + '@babel/core': 7.23.3 + '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.3) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3) vite: 5.0.0(@types/node@18.18.6)(sass@1.69.5) vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: @@ -8504,7 +7965,7 @@ packages: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: false - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.5): + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.3): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -8512,12 +7973,12 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 + '@babel/core': 7.23.3 '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.5) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3) '@babel/template': 7.22.15 - '@babel/traverse': 7.23.5 - '@babel/types': 7.23.5 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 '@vue/babel-helper-vue-transform-on': 1.1.5 camelcase: 6.3.0 html-tags: 3.3.1 @@ -8526,55 +7987,24 @@ packages: - supports-color dev: false - /@vue/compiler-core@3.3.10: - resolution: {integrity: sha512-doe0hODR1+i1menPkRzJ5MNR6G+9uiZHIknK3Zn5OcIztu6GGw7u0XUzf3AgB8h/dfsZC9eouzoLo3c3+N/cVA==} - dependencies: - '@babel/parser': 7.23.5 - '@vue/shared': 3.3.10 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - dev: false - /@vue/compiler-core@3.3.8: resolution: {integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==} dependencies: - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.3 '@vue/shared': 3.3.8 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-dom@3.3.10: - resolution: {integrity: sha512-NCrqF5fm10GXZIK0GrEAauBqdy+F2LZRt3yNHzrYjpYBuRssQbuPLtSnSNjyR9luHKkWSH8we5LMB3g+4z2HvA==} - dependencies: - '@vue/compiler-core': 3.3.10 - '@vue/shared': 3.3.10 - dev: false - /@vue/compiler-dom@3.3.8: resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==} dependencies: '@vue/compiler-core': 3.3.8 '@vue/shared': 3.3.8 - /@vue/compiler-sfc@3.3.10: - resolution: {integrity: sha512-xpcTe7Rw7QefOTRFFTlcfzozccvjM40dT45JtrE3onGm/jBLZ0JhpKu3jkV7rbDFLeeagR/5RlJ2Y9SvyS0lAg==} - dependencies: - '@babel/parser': 7.23.5 - '@vue/compiler-core': 3.3.10 - '@vue/compiler-dom': 3.3.10 - '@vue/compiler-ssr': 3.3.10 - '@vue/reactivity-transform': 3.3.10 - '@vue/shared': 3.3.10 - estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.32 - source-map-js: 1.0.2 - dev: false - /@vue/compiler-sfc@3.3.8: resolution: {integrity: sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==} dependencies: - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.3 '@vue/compiler-core': 3.3.8 '@vue/compiler-dom': 3.3.8 '@vue/compiler-ssr': 3.3.8 @@ -8585,33 +8015,16 @@ packages: postcss: 8.4.31 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.3.10: - resolution: {integrity: sha512-12iM4jA4GEbskwXMmPcskK5wImc2ohKm408+o9iox3tfN9qua8xL0THIZtoe9OJHnXP4eOWZpgCAAThEveNlqQ==} - dependencies: - '@vue/compiler-dom': 3.3.10 - '@vue/shared': 3.3.10 - dev: false - /@vue/compiler-ssr@3.3.8: resolution: {integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==} dependencies: '@vue/compiler-dom': 3.3.8 '@vue/shared': 3.3.8 - /@vue/reactivity-transform@3.3.10: - resolution: {integrity: sha512-0xBdk+CKHWT+Gev8oZ63Tc0qFfj935YZx+UAynlutnrDZ4diFCVFMWixn65HzjE3S1iJppWOo6Tt1OzASH7VEg==} - dependencies: - '@babel/parser': 7.23.5 - '@vue/compiler-core': 3.3.10 - '@vue/shared': 3.3.10 - estree-walker: 2.0.2 - magic-string: 0.30.5 - dev: false - /@vue/reactivity-transform@3.3.8: resolution: {integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==} dependencies: - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.3 '@vue/compiler-core': 3.3.8 '@vue/shared': 3.3.8 estree-walker: 2.0.2 @@ -8654,10 +8067,6 @@ packages: resolution: {integrity: sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==} dev: false - /@vue/shared@3.3.10: - resolution: {integrity: sha512-2y3Y2J1a3RhFa0WisHvACJR2ncvWiVHcP8t0Inxo+NKz+8RKO4ZV8eZgCxRgQoA6ITfV12L4E6POOL9HOU5nqw==} - dev: false - /@vue/shared@3.3.8: resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} @@ -8667,7 +8076,6 @@ packages: /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead dev: true /abbrev@1.1.1: @@ -8897,13 +8305,13 @@ packages: hasBin: true dev: false - /astro-auto-import@0.3.1(astro@packages+astro): - resolution: {integrity: sha512-4kXZMlZFiq3dqT6fcfPbCjHTABQ279eKbIqZAb6qktBhGlmHwpHr1spOUFj/RQFilaWVgfjzOBmuZnoydZb5Vg==} + /astro-auto-import@0.3.2(astro@packages+astro): + resolution: {integrity: sha512-xnr56geVyqJTu5qicJzvxqSnkhktq7SulWIzme1Vs5mrrcMkH/N1s7TEYkgJCN2b5qSeltqqZ7UUSD3xXrXamA==} engines: {node: '>=16.0.0'} peerDependencies: astro: '*' dependencies: - '@types/node': 18.18.6 + '@types/node': 18.18.9 acorn: 8.11.2 astro: link:packages/astro dev: false @@ -8913,7 +8321,7 @@ packages: peerDependencies: astro: '*' dependencies: - '@astro-community/astro-embed-integration': 0.6.1(astro@packages+astro) + '@astro-community/astro-embed-integration': 0.6.0(astro@packages+astro) '@astro-community/astro-embed-twitter': 0.5.2(astro@packages+astro) '@astro-community/astro-embed-vimeo': 0.3.1(astro@packages+astro) '@astro-community/astro-embed-youtube': 0.4.1(astro@packages+astro) @@ -8995,7 +8403,7 @@ packages: dev: false optional: true - /babel-plugin-jsx-dom-expressions@0.37.2(@babel/core@7.23.5): + /babel-plugin-jsx-dom-expressions@0.37.2(@babel/core@7.23.3): resolution: {integrity: sha512-u3VKB+On86cYSLAbw9j0m0X8ZejL4MR7oG7TRlrMQ/y1mauR/ZpM2xkiOPZEUlzHLo1GYGlTdP9s5D3XuA6iSQ==} peerDependencies: '@babel/core': ^7.20.12 @@ -9003,10 +8411,10 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 + '@babel/core': 7.23.3 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.5) - '@babel/types': 7.23.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3) + '@babel/types': 7.23.3 html-entities: 2.3.3 validate-html-nesting: 1.2.2 dev: false @@ -9020,7 +8428,7 @@ packages: optional: true dev: false - /babel-preset-solid@1.8.2(@babel/core@7.23.5): + /babel-preset-solid@1.8.2(@babel/core@7.23.3): resolution: {integrity: sha512-hEIy4K1CGPQwCekFJ9NV3T92fezS4GQV0SQXEGVe9dyo+7iI7Fjuu6OKIdE5z/S4IfMEL6gCU+1AZ3yK6PnGMg==} peerDependencies: '@babel/core': ^7.0.0 @@ -9028,8 +8436,8 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.5 - babel-plugin-jsx-dom-expressions: 0.37.2(@babel/core@7.23.5) + '@babel/core': 7.23.3 + babel-plugin-jsx-dom-expressions: 0.37.2(@babel/core@7.23.3) dev: false /bail@2.0.2: @@ -9704,8 +9112,8 @@ packages: resolution: {integrity: sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==} dev: false - /css-selector-parser@3.0.2: - resolution: {integrity: sha512-eA5pvYwgtffuxQlDk0gJRApDUKgfwlsQBMAH6uawKuuilTLfxKIOtzyV63Y3IC0LWnDCeTJ/I1qYmlfYvvMzDg==} + /css-selector-parser@3.0.0: + resolution: {integrity: sha512-ITsFspnTOObbNv81tXX+7QK/MtxciSBDAWQCKnmWIuwDSDDvfJD+YSPEpC7TMVhi1N2llzHHMz7xCX8AoC0L6w==} dev: false /css-tree@2.2.1: @@ -9939,8 +9347,8 @@ packages: object-keys: 1.1.1 dev: true - /defu@6.1.2: - resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} + /defu@6.1.3: + resolution: {integrity: sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==} dev: false /del@7.1.0: @@ -9994,6 +9402,7 @@ packages: /detect-libc@2.0.2: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} + requiresBuild: true dev: false /deterministic-object-hash@2.0.1: @@ -10069,7 +9478,6 @@ packages: /domexception@4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} - deprecated: Use your platform's native DOMException instead dependencies: webidl-conversions: 7.0.0 dev: true @@ -10321,36 +9729,6 @@ packages: '@esbuild/win32-ia32': 0.19.6 '@esbuild/win32-x64': 0.19.6 - /esbuild@0.19.8: - resolution: {integrity: sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.19.8 - '@esbuild/android-arm64': 0.19.8 - '@esbuild/android-x64': 0.19.8 - '@esbuild/darwin-arm64': 0.19.8 - '@esbuild/darwin-x64': 0.19.8 - '@esbuild/freebsd-arm64': 0.19.8 - '@esbuild/freebsd-x64': 0.19.8 - '@esbuild/linux-arm': 0.19.8 - '@esbuild/linux-arm64': 0.19.8 - '@esbuild/linux-ia32': 0.19.8 - '@esbuild/linux-loong64': 0.19.8 - '@esbuild/linux-mips64el': 0.19.8 - '@esbuild/linux-ppc64': 0.19.8 - '@esbuild/linux-riscv64': 0.19.8 - '@esbuild/linux-s390x': 0.19.8 - '@esbuild/linux-x64': 0.19.8 - '@esbuild/netbsd-x64': 0.19.8 - '@esbuild/openbsd-x64': 0.19.8 - '@esbuild/sunos-x64': 0.19.8 - '@esbuild/win32-arm64': 0.19.8 - '@esbuild/win32-ia32': 0.19.8 - '@esbuild/win32-x64': 0.19.8 - dev: false - /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -10425,8 +9803,8 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - '@eslint-community/regexpp': 4.9.1 - '@eslint/eslintrc': 2.1.4 + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.3 '@eslint/js': 8.54.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 @@ -10449,7 +9827,7 @@ packages: glob-parent: 6.0.2 globals: 13.23.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -10513,7 +9891,7 @@ packages: /estree-util-build-jsx@3.0.1: resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} dependencies: - '@types/estree-jsx': 1.0.2 + '@types/estree-jsx': 1.0.3 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 estree-walker: 3.0.3 @@ -10526,7 +9904,7 @@ packages: /estree-util-to-js@2.0.0: resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} dependencies: - '@types/estree-jsx': 1.0.2 + '@types/estree-jsx': 1.0.3 astring: 1.8.6 source-map: 0.7.4 dev: false @@ -10534,7 +9912,7 @@ packages: /estree-util-visit@2.0.0: resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} dependencies: - '@types/estree-jsx': 1.0.2 + '@types/estree-jsx': 1.0.3 '@types/unist': 3.0.2 dev: false @@ -10733,7 +10111,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.1.1 + flat-cache: 3.2.0 dev: true /file-uri-to-path@1.0.0: @@ -10781,9 +10159,9 @@ packages: micromatch: 4.0.5 pkg-dir: 4.2.0 - /flat-cache@3.1.1: - resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} - engines: {node: '>=12.0.0'} + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flatted: 3.2.9 keyv: 4.5.4 @@ -10976,10 +10354,10 @@ packages: hasBin: true dependencies: colorette: 2.0.20 - defu: 6.1.2 + defu: 6.1.3 https-proxy-agent: 7.0.2 mri: 1.2.0 - node-fetch-native: 1.4.0 + node-fetch-native: 1.4.1 pathe: 1.1.1 tar: 6.2.0 transitivePeerDependencies: @@ -11068,7 +10446,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.0 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -11079,7 +10457,7 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.0 merge2: 1.4.1 slash: 4.0.0 dev: true @@ -11090,7 +10468,7 @@ packages: dependencies: '@sindresorhus/merge-streams': 1.0.0 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.0 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 @@ -11212,10 +10590,10 @@ packages: /hast-util-from-parse5@7.1.2: resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} dependencies: - '@types/hast': 2.3.7 - '@types/unist': 2.0.9 + '@types/hast': 2.3.8 + '@types/unist': 2.0.10 hastscript: 7.2.0 - property-information: 6.3.0 + property-information: 6.4.0 vfile: 5.3.7 vfile-location: 4.1.0 web-namespaces: 2.0.1 @@ -11228,7 +10606,7 @@ packages: '@types/unist': 3.0.2 devlop: 1.1.0 hastscript: 8.0.0 - property-information: 6.3.0 + property-information: 6.4.0 vfile: 6.0.1 vfile-location: 5.0.2 web-namespaces: 2.0.1 @@ -11253,7 +10631,7 @@ packages: /hast-util-parse-selector@3.1.1: resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} dependencies: - '@types/hast': 2.3.7 + '@types/hast': 2.3.8 dev: true /hast-util-parse-selector@4.0.0: @@ -11286,7 +10664,7 @@ packages: '@types/unist': 3.0.2 bcp-47-match: 2.0.3 comma-separated-tokens: 2.0.3 - css-selector-parser: 3.0.2 + css-selector-parser: 3.0.0 devlop: 1.1.0 direction: 2.0.1 hast-util-has-property: 3.0.0 @@ -11294,7 +10672,7 @@ packages: hast-util-whitespace: 3.0.0 not: 0.1.0 nth-check: 2.1.1 - property-information: 6.3.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 unist-util-visit: 5.0.0 zwitch: 2.0.4 @@ -11304,7 +10682,7 @@ packages: resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} dependencies: '@types/estree': 1.0.5 - '@types/estree-jsx': 1.0.2 + '@types/estree-jsx': 1.0.3 '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 devlop: 1.1.0 @@ -11314,7 +10692,7 @@ packages: mdast-util-mdx-expression: 2.0.0 mdast-util-mdx-jsx: 3.0.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.3.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 style-to-object: 0.4.4 unist-util-position: 5.0.0 @@ -11334,32 +10712,24 @@ packages: hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 mdast-util-to-hast: 13.0.2 - property-information: 6.3.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.3 zwitch: 2.0.4 dev: false - /hast-util-to-jsx-runtime@2.3.0: - resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + /hast-util-to-jsx-runtime@2.2.0: + resolution: {integrity: sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A==} dependencies: - '@types/estree': 1.0.5 '@types/hast': 3.0.3 '@types/unist': 3.0.2 comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.0.0 - mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.3.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 - style-to-object: 1.0.5 + style-to-object: 0.4.4 unist-util-position: 5.0.0 vfile-message: 4.0.2 - transitivePeerDependencies: - - supports-color dev: false /hast-util-to-parse5@8.0.0: @@ -11368,7 +10738,7 @@ packages: '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 6.3.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -11377,7 +10747,7 @@ packages: /hast-util-to-string@2.0.0: resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==} dependencies: - '@types/hast': 2.3.7 + '@types/hast': 2.3.8 dev: true /hast-util-to-string@3.0.0: @@ -11403,10 +10773,10 @@ packages: /hastscript@7.2.0: resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} dependencies: - '@types/hast': 2.3.7 + '@types/hast': 2.3.8 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 3.1.1 - property-information: 6.3.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 dev: true @@ -11416,7 +10786,7 @@ packages: '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 6.3.0 + property-information: 6.4.0 space-separated-tokens: 2.0.2 /hdr-histogram-js@3.0.0: @@ -11589,8 +10959,8 @@ packages: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + /ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} /immutable@4.3.4: @@ -11642,10 +11012,6 @@ packages: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: false - /inline-style-parser@0.2.2: - resolution: {integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==} - dev: false - /internal-slot@1.0.6: resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} @@ -11982,8 +11348,8 @@ packages: pretty-format: 21.2.1 dev: true - /jiti@1.20.0: - resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true /js-tokens@4.0.0: @@ -12524,7 +11890,7 @@ packages: /mdast-util-mdx-expression@2.0.0: resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} dependencies: - '@types/estree-jsx': 1.0.2 + '@types/estree-jsx': 1.0.3 '@types/hast': 3.0.3 '@types/mdast': 4.0.3 devlop: 1.1.0 @@ -12536,7 +11902,7 @@ packages: /mdast-util-mdx-jsx@3.0.0: resolution: {integrity: sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==} dependencies: - '@types/estree-jsx': 1.0.2 + '@types/estree-jsx': 1.0.3 '@types/hast': 3.0.3 '@types/mdast': 4.0.3 '@types/unist': 3.0.2 @@ -12566,7 +11932,7 @@ packages: /mdast-util-mdxjs-esm@2.0.1: resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} dependencies: - '@types/estree-jsx': 1.0.2 + '@types/estree-jsx': 1.0.3 '@types/hast': 3.0.3 '@types/mdast': 4.0.3 devlop: 1.1.0 @@ -12608,13 +11974,13 @@ packages: /mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} dependencies: - '@types/mdast': 4.0.2 + '@types/mdast': 4.0.3 /mdast-util-toc@7.0.0: resolution: {integrity: sha512-C28UcSqjmnWuvgT8d97qpaItHKvySqVPAECUzqQ51xuMyNFFJwcFoKW77KoMjtXrclTidLQFDzLUmTmrshRweA==} dependencies: '@types/mdast': 4.0.3 - '@types/ungap__structured-clone': 0.3.3 + '@types/ungap__structured-clone': 0.3.2 '@ungap/structured-clone': 1.2.0 github-slugger: 2.0.0 mdast-util-to-string: 4.0.0 @@ -12794,7 +12160,7 @@ packages: /micromark-extension-math@3.0.0: resolution: {integrity: sha512-iJ2Q28vBoEovLN5o3GO12CpqorQRYDPT+p4zW50tGwTfJB+iv/VnB6Ini+gqa24K97DwptMBBIvVX6Bjk49oyQ==} dependencies: - '@types/katex': 0.16.5 + '@types/katex': 0.16.6 devlop: 1.1.0 katex: 0.16.9 micromark-factory-space: 2.0.0 @@ -13102,6 +12468,7 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + requiresBuild: true /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} @@ -13160,7 +12527,7 @@ packages: /mlly@1.4.2: resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: - acorn: 8.11.2 + acorn: 8.10.0 pathe: 1.1.1 pkg-types: 1.0.3 ufo: 1.3.1 @@ -13235,12 +12602,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: false - /nanostores@0.9.5: resolution: {integrity: sha512-Z+p+g8E7yzaWwOe5gEUB2Ox0rCEeXWYIZWmYvw/ajNYX8DlXdMvMDj8DWfM/subqPAcsf8l8Td4iAwO1DeIIRQ==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} @@ -13316,8 +12677,8 @@ packages: engines: {node: '>=10.5.0'} dev: false - /node-fetch-native@1.4.0: - resolution: {integrity: sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==} + /node-fetch-native@1.4.1: + resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==} dev: false /node-fetch@2.7.0: @@ -13340,8 +12701,8 @@ packages: formdata-polyfill: 4.0.10 dev: false - /node-gyp-build@4.6.1: - resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} + /node-gyp-build@4.7.0: + resolution: {integrity: sha512-PbZERfeFdrHQOOXiAKOY0VPbykZy90ndPKk0d+CFDegTKmWp1VgOTz2xACVbr1BjCWxrQp68CXtvNsveFhqDJg==} hasBin: true dev: false @@ -13652,7 +13013,7 @@ packages: /parse-entities@4.0.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 character-entities: 2.0.2 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 @@ -14243,15 +13604,6 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - /preact-render-to-string@6.3.1(preact@10.19.2): resolution: {integrity: sha512-NQ28WrjLtWY6lKDlTxnFpKHZdpjfF+oE6V4tZ0rTrunHrtZp6Dm0oFrcJalt/5PNeqJz4j1DuZDS0Y6rCBoqDA==} peerDependencies: @@ -14385,8 +13737,8 @@ packages: sisteransi: 1.0.5 dev: false - /property-information@6.3.0: - resolution: {integrity: sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg==} + /property-information@6.4.0: + resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -14413,8 +13765,8 @@ packages: dev: false optional: true - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: true @@ -14619,7 +13971,7 @@ packages: /rehype-parse@8.0.5: resolution: {integrity: sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==} dependencies: - '@types/hast': 2.3.7 + '@types/hast': 2.3.8 hast-util-from-parse5: 7.1.2 parse5: 6.0.1 unified: 10.1.2 @@ -14762,7 +14114,7 @@ packages: peerDependencies: typescript: '>3' dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 '@typescript/twoslash': 3.1.0 '@typescript/vfs': 1.3.4 fenceparser: 1.1.1 @@ -14918,26 +14270,6 @@ packages: '@rollup/rollup-win32-x64-msvc': 4.5.0 fsevents: 2.3.3 - /rollup@4.6.1: - resolution: {integrity: sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.6.1 - '@rollup/rollup-android-arm64': 4.6.1 - '@rollup/rollup-darwin-arm64': 4.6.1 - '@rollup/rollup-darwin-x64': 4.6.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.6.1 - '@rollup/rollup-linux-arm64-gnu': 4.6.1 - '@rollup/rollup-linux-arm64-musl': 4.6.1 - '@rollup/rollup-linux-x64-gnu': 4.6.1 - '@rollup/rollup-linux-x64-musl': 4.6.1 - '@rollup/rollup-win32-arm64-msvc': 4.6.1 - '@rollup/rollup-win32-ia32-msvc': 4.6.1 - '@rollup/rollup-win32-x64-msvc': 4.6.1 - fsevents: 2.3.3 - dev: false - /rrweb-cssom@0.6.0: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: true @@ -15295,9 +14627,9 @@ packages: peerDependencies: solid-js: ^1.3 dependencies: - '@babel/generator': 7.23.5 + '@babel/generator': 7.23.3 '@babel/helper-module-imports': 7.22.15 - '@babel/types': 7.23.5 + '@babel/types': 7.23.3 solid-js: 1.8.5 dev: false @@ -15539,6 +14871,7 @@ packages: /strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} + requiresBuild: true /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} @@ -15553,7 +14886,7 @@ packages: /strip-literal@1.3.0: resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: - acorn: 8.11.2 + acorn: 8.10.0 dev: false /strnum@1.0.5: @@ -15566,12 +14899,6 @@ packages: inline-style-parser: 0.1.1 dev: false - /style-to-object@1.0.5: - resolution: {integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==} - dependencies: - inline-style-parser: 0.2.2 - dev: false - /subarg@1.0.0: resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} dependencies: @@ -15673,8 +15000,8 @@ packages: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: false - /svgo@3.0.2: - resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==} + /svgo@3.0.4: + resolution: {integrity: sha512-T+Xul3JwuJ6VGXKo/p2ndqx1ibxNKnLTvRc1ZTWKCfyKS/GgNjRZcYsK84fxTsy/izr91g/Rwx6fGnVgaFSI5g==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -15682,6 +15009,7 @@ packages: commander: 7.2.0 css-select: 5.1.0 css-tree: 2.3.1 + css-what: 6.1.0 csso: 5.0.5 picocolors: 1.0.0 dev: false @@ -15711,7 +15039,7 @@ packages: fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.20.0 + jiti: 1.21.0 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 @@ -15884,7 +15212,7 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 dev: true @@ -15896,7 +15224,7 @@ packages: resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} engines: {node: '>=14'} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: true /trim-lines@3.0.1: @@ -15946,7 +15274,7 @@ packages: resolution: {integrity: sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==} dependencies: '@types/json5': 0.0.30 - '@types/resolve': 1.20.6 + '@types/resolve': 1.20.5 json5: 2.2.3 resolve: 1.22.8 strip-bom: 4.0.0 @@ -16188,6 +15516,9 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + /undici@5.26.5: resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==} engines: {node: '>=14.0'} @@ -16207,7 +15538,7 @@ packages: /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 @@ -16243,7 +15574,7 @@ packages: /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 /unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -16253,7 +15584,7 @@ packages: /unist-util-modify-children@3.1.1: resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 array-iterate: 2.0.1 dev: false @@ -16277,7 +15608,7 @@ packages: /unist-util-select@4.0.3: resolution: {integrity: sha512-1074+K9VyR3NyUz3lgNtHKm7ln+jSZXtLJM4E22uVuoFn88a/Go2pX8dusrt/W+KWH1ncn8jcd8uCQuvXb/fXA==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 css-selector-parser: 1.4.1 nth-check: 2.1.1 zwitch: 2.0.4 @@ -16286,7 +15617,7 @@ packages: /unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 /unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} @@ -16296,7 +15627,7 @@ packages: /unist-util-visit-children@2.0.2: resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 dev: false /unist-util-visit-parents@2.1.2: @@ -16307,14 +15638,14 @@ packages: /unist-util-visit-parents@3.1.1: resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is: 4.1.0 dev: true /unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 /unist-util-visit-parents@6.0.1: @@ -16331,7 +15662,7 @@ packages: /unist-util-visit@2.0.3: resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 dev: true @@ -16339,7 +15670,7 @@ packages: /unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 @@ -16396,7 +15727,7 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: true /url-parse@1.5.10: @@ -16442,7 +15773,7 @@ packages: /vfile-location@4.1.0: resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 vfile: 5.3.7 dev: true @@ -16456,7 +15787,7 @@ packages: /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 unist-util-stringify-position: 3.0.3 /vfile-message@4.0.2: @@ -16468,7 +15799,7 @@ packages: /vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} dependencies: - '@types/unist': 2.0.9 + '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 @@ -16490,7 +15821,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.0.6(@types/node@18.18.6) + vite: 4.5.0(@types/node@18.18.6) transitivePeerDependencies: - '@types/node' - less @@ -16511,10 +15842,10 @@ packages: vite: optional: true dependencies: - '@babel/core': 7.23.5 - '@babel/preset-typescript': 7.23.2(@babel/core@7.23.5) - '@types/babel__core': 7.20.5 - babel-preset-solid: 1.8.2(@babel/core@7.23.5) + '@babel/core': 7.23.3 + '@babel/preset-typescript': 7.23.2(@babel/core@7.23.3) + '@types/babel__core': 7.20.4 + babel-preset-solid: 1.8.2(@babel/core@7.23.3) merge-anything: 5.1.7 solid-js: 1.8.5 solid-refresh: 0.5.3(solid-js@1.8.5) @@ -16531,8 +15862,8 @@ packages: vue: optional: true dependencies: - '@vue/compiler-sfc': 3.3.10 - svgo: 3.0.2 + '@vue/compiler-sfc': 3.3.8 + svgo: 3.0.4 dev: false /vite-svg-loader@5.0.1: @@ -16543,7 +15874,7 @@ packages: vue: optional: true dependencies: - svgo: 3.0.2 + svgo: 3.0.4 dev: false /vite@4.5.0(@types/node@18.18.6): @@ -16618,42 +15949,6 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vite@5.0.6(@types/node@18.18.6): - resolution: {integrity: sha512-MD3joyAEBtV7QZPl2JVVUai6zHms3YOmLR+BpMzLlX2Yzjfcc4gTgNi09d/Rua3F4EtC8zdwPU8eQYyib4vVMQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - 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: - '@types/node': 18.18.6 - esbuild: 0.19.8 - postcss: 8.4.32 - rollup: 4.6.1 - optionalDependencies: - fsevents: 2.3.3 - dev: false - /vitefu@0.2.5(vite@5.0.0): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: @@ -16765,7 +16060,7 @@ packages: optional: true dependencies: '@volar/language-service': 1.10.10 - vscode-html-languageservice: 5.1.0 + vscode-html-languageservice: 5.1.1 vscode-uri: 3.0.8 dev: true @@ -16823,8 +16118,8 @@ packages: vscode-uri: 3.0.8 dev: true - /vscode-html-languageservice@5.1.0: - resolution: {integrity: sha512-cGOu5+lrz+2dDXSGS15y24lDtPaML1T8K/SfqgFbLmCZ1btYOxceFieR+ybTS2es/A67kRc62m2cKFLUQPWG5g==} + /vscode-html-languageservice@5.1.1: + resolution: {integrity: sha512-JenrspIIG/Q+93R6G3L6HdK96itSisMynE0glURqHpQbL3dKAKzdm8L40lAHNkwJeBg+BBPpAshZKv/38onrTQ==} dependencies: '@vscode/l10n': 0.0.16 vscode-languageserver-textdocument: 1.0.11 From fb671da799a15d3c23414cf3f4cb1c0c6611a50f Mon Sep 17 00:00:00 2001 From: Patrick Miller Date: Fri, 15 Dec 2023 04:35:36 +0900 Subject: [PATCH 6/6] Address PR feedback from ematipico --- packages/astro/src/@types/astro.ts | 17 +++++++++++++---- packages/astro/src/core/render/result.ts | 2 +- .../astro/src/runtime/server/render/common.ts | 9 ++++++--- .../src/runtime/server/render/component.ts | 4 ++-- .../src/runtime/server/render/instruction.ts | 10 +++++----- packages/integrations/solid/src/context.ts | 5 +---- 6 files changed, 28 insertions(+), 19 deletions(-) diff --git a/packages/astro/src/@types/astro.ts b/packages/astro/src/@types/astro.ts index b731c7917033..174e714dd450 100644 --- a/packages/astro/src/@types/astro.ts +++ b/packages/astro/src/@types/astro.ts @@ -2262,8 +2262,15 @@ export interface SSRLoadedRenderer extends AstroRenderer { }>; supportsAstroStaticSlot?: boolean; /** - * If set, allowes the renderer to print a specific hydration script before - * the first hydrated island + * If provided, Astro will call this function and inject the returned + * script in the HTML before the first component handled by this renderer. + * + * This feature is needed by some renderers (in particular, by Solid). The + * Solid official hydration script sets up a page-level data structure. + * It is mainly used to transfer data between the server side render phase + * and the browser application state. Solid Components rendered later in + * the HTML may inject tiny scripts into the HTML that call into this + * page-level data structure. */ renderHydrationScript?: () => string; }; @@ -2486,9 +2493,11 @@ export interface SSRResult { export interface SSRMetadata { hasHydrationScript: boolean; /** - * Keep track of which renderers already injected their specific hydration script + * Names of renderers that have injected their hydration scripts + * into the current page. For example, Solid SSR needs a hydration + * script in the page HTML before the first Solid component. */ - hasRendererSpecificHydrationScript: Record; + rendererSpecificHydrationScripts: Set; hasDirectives: Set; hasRenderedHead: boolean; headInTree: boolean; diff --git a/packages/astro/src/core/render/result.ts b/packages/astro/src/core/render/result.ts index c3c56eb9bee6..29b54ae85393 100644 --- a/packages/astro/src/core/render/result.ts +++ b/packages/astro/src/core/render/result.ts @@ -274,12 +274,12 @@ export function createResult(args: CreateResultArgs): SSRResult { response, _metadata: { hasHydrationScript: false, + rendererSpecificHydrationScripts: new Set(), hasRenderedHead: false, hasDirectives: new Set(), headInTree: false, extraHead: [], propagators: new Set(), - hasRendererSpecificHydrationScript: {}, }, }; diff --git a/packages/astro/src/runtime/server/render/common.ts b/packages/astro/src/runtime/server/render/common.ts index acf46ce49349..61e5c8d8626f 100644 --- a/packages/astro/src/runtime/server/render/common.ts +++ b/packages/astro/src/runtime/server/render/common.ts @@ -89,9 +89,12 @@ function stringifyChunk( } return renderAllHeadContent(result); } - case 'renderer-hydration': { - if (!result._metadata.hasRendererSpecificHydrationScript[instruction.rendererName]) { - result._metadata.hasRendererSpecificHydrationScript[instruction.rendererName] = true; + case 'renderer-hydration-script': { + const { rendererSpecificHydrationScripts } = result._metadata; + const { rendererName } = instruction; + + if (!rendererSpecificHydrationScripts.has(rendererName)) { + rendererSpecificHydrationScripts.add(rendererName); return instruction.render(); } return ''; diff --git a/packages/astro/src/runtime/server/render/component.ts b/packages/astro/src/runtime/server/render/component.ts index f1035d4dfb57..3fcb6f2aa39a 100644 --- a/packages/astro/src/runtime/server/render/component.ts +++ b/packages/astro/src/runtime/server/render/component.ts @@ -378,9 +378,9 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr if (hydration.directive !== 'only' && renderer?.ssr.renderHydrationScript) { destination.write( createRenderInstruction({ - type: 'renderer-hydration', + type: 'renderer-hydration-script', rendererName: renderer.name, - render: renderer?.ssr.renderHydrationScript, + render: renderer.ssr.renderHydrationScript, }) ); } diff --git a/packages/astro/src/runtime/server/render/instruction.ts b/packages/astro/src/runtime/server/render/instruction.ts index 1753b1fb845a..5be7ffd38018 100644 --- a/packages/astro/src/runtime/server/render/instruction.ts +++ b/packages/astro/src/runtime/server/render/instruction.ts @@ -15,8 +15,8 @@ export type RenderHeadInstruction = { * Render a renderer-specific hydration script before the first component of that * framework */ -export type RendererHydrationInstruction = { - type: 'renderer-hydration'; +export type RendererHydrationScriptInstruction = { + type: 'renderer-hydration-script'; rendererName: string; render: () => string; }; @@ -29,14 +29,14 @@ export type RenderInstruction = | RenderDirectiveInstruction | RenderHeadInstruction | MaybeRenderHeadInstruction - | RendererHydrationInstruction; + | RendererHydrationScriptInstruction; export function createRenderInstruction( instruction: RenderDirectiveInstruction ): RenderDirectiveInstruction; export function createRenderInstruction( - instruction: RendererHydrationInstruction -): RendererHydrationInstruction; + instruction: RendererHydrationScriptInstruction +): RendererHydrationScriptInstruction; export function createRenderInstruction(instruction: RenderHeadInstruction): RenderHeadInstruction; export function createRenderInstruction( instruction: MaybeRenderHeadInstruction diff --git a/packages/integrations/solid/src/context.ts b/packages/integrations/solid/src/context.ts index 9350163888cd..6e201e3f5534 100644 --- a/packages/integrations/solid/src/context.ts +++ b/packages/integrations/solid/src/context.ts @@ -14,10 +14,7 @@ export function getContext(result: RendererContext['result']): Context { let ctx: Context = { c: 0, get id() { - // a hyphen at the end makes it easier to distinguish the island - // render id from component tree portion of the hydration key `data-hk="..."` - // https://github.com/solidjs/solid-start/blob/f0860887030e0632949b3f497e279aecb6ed5afd/packages/start/islands/mount.tsx#L41 - return 's' + this.c.toString() + '-'; + return 's' + this.c.toString(); }, }; contexts.set(result, ctx);