diff --git a/.changeset/small-ways-taste.md b/.changeset/small-ways-taste.md
new file mode 100644
index 00000000..b53211e1
--- /dev/null
+++ b/.changeset/small-ways-taste.md
@@ -0,0 +1,6 @@
+---
+"@qwikdev/create-astro": minor
+"@qwikdev/astro": minor
+---
+
+refactor: major performance improvements
diff --git a/apps/deno-demo/package.json b/apps/deno-demo/package.json
index af91592c..db2677be 100644
--- a/apps/deno-demo/package.json
+++ b/apps/deno-demo/package.json
@@ -14,7 +14,7 @@
"@astrojs/check": "^0.5.10",
"@astrojs/deno": "^5.0.1",
"@astrojs/react": "^3.0.10",
- "@builder.io/qwik": "^1.5.1",
+ "@builder.io/qwik": "^1.7",
"@qwikdev/astro": "workspace:*",
"@types/react": "^18.2.64",
"@types/react-dom": "^18.2.21",
diff --git a/apps/node-demo/astro.config.mjs b/apps/node-demo/astro.config.mjs
index 8546a08b..de700208 100644
--- a/apps/node-demo/astro.config.mjs
+++ b/apps/node-demo/astro.config.mjs
@@ -1,7 +1,6 @@
import { defineConfig } from "astro/config";
import node from "@astrojs/node";
-import react from "@astrojs/react";
import qwik from "@qwikdev/astro";
// https://astro.build/config
@@ -11,5 +10,5 @@ export default defineConfig({
mode: "standalone"
}),
- integrations: [qwik({ include: "**/qwik/*" }), react({ include: "**/react/*" })]
+ integrations: [qwik({ include: "**/qwik/*" })]
});
diff --git a/apps/node-demo/package.json b/apps/node-demo/package.json
index 653cf277..8fa485dc 100644
--- a/apps/node-demo/package.json
+++ b/apps/node-demo/package.json
@@ -14,7 +14,7 @@
"dependencies": {
"@astrojs/node": "^8.2.3",
"@astrojs/react": "^3.0.10",
- "@builder.io/qwik": "^1.5.1",
+ "@builder.io/qwik": "^1.7.1",
"@qwikdev/astro": "workspace:*",
"@types/react": "^18.2.64",
"@types/react-dom": "^18.2.21",
diff --git a/apps/node-demo/src/pages/index.astro b/apps/node-demo/src/pages/index.astro
index c9fe4673..8baeb199 100644
--- a/apps/node-demo/src/pages/index.astro
+++ b/apps/node-demo/src/pages/index.astro
@@ -1,5 +1,4 @@
---
-import { ViewTransitions } from "astro:transitions";
import { Counter } from "@components/qwik/counter";
import { SayHi } from "@components/qwik/say-hi";
---
@@ -11,7 +10,6 @@ import { SayHi } from "@components/qwik/say-hi";
Astro
-
diff --git a/libs/create-qwikdev-astro/stubs/templates/deno-biome/package.json b/libs/create-qwikdev-astro/stubs/templates/deno-biome/package.json
index cf065fef..d38b5a73 100644
--- a/libs/create-qwikdev-astro/stubs/templates/deno-biome/package.json
+++ b/libs/create-qwikdev-astro/stubs/templates/deno-biome/package.json
@@ -22,7 +22,7 @@
"dependencies": {
"@astrojs/check": "^0.5.10",
"@astrojs/deno": "^5.0.1",
- "@builder.io/qwik": "1.5.6",
+ "@builder.io/qwik": "^1.7.1",
"@qwikdev/astro": "^0.5.13",
"astro": "^4.5.12",
"typescript": "^5.4.3"
diff --git a/libs/create-qwikdev-astro/stubs/templates/deno/package.json b/libs/create-qwikdev-astro/stubs/templates/deno/package.json
index 0cc07df1..a713c213 100644
--- a/libs/create-qwikdev-astro/stubs/templates/deno/package.json
+++ b/libs/create-qwikdev-astro/stubs/templates/deno/package.json
@@ -23,7 +23,7 @@
"dependencies": {
"@astrojs/check": "^0.5.10",
"@astrojs/deno": "^5.0.1",
- "@builder.io/qwik": "1.5.6",
+ "@builder.io/qwik": "^1.7.1",
"@qwikdev/astro": "^0.5.14",
"astro": "^4.6.3",
"typescript": "^5.4.5"
diff --git a/libs/create-qwikdev-astro/stubs/templates/node-biome/package.json b/libs/create-qwikdev-astro/stubs/templates/node-biome/package.json
index fc951f22..4c7d046b 100644
--- a/libs/create-qwikdev-astro/stubs/templates/node-biome/package.json
+++ b/libs/create-qwikdev-astro/stubs/templates/node-biome/package.json
@@ -21,7 +21,7 @@
"dependencies": {
"@astrojs/check": "^0.5.10",
"@astrojs/node": "^8.2.5",
- "@builder.io/qwik": "1.5.6",
+ "@builder.io/qwik": "^1.7.1",
"@qwikdev/astro": "^0.5.14",
"astro": "^4.6.3",
"typescript": "^5.4.5"
diff --git a/libs/create-qwikdev-astro/stubs/templates/node/package.json b/libs/create-qwikdev-astro/stubs/templates/node/package.json
index 965ab623..6f31208a 100644
--- a/libs/create-qwikdev-astro/stubs/templates/node/package.json
+++ b/libs/create-qwikdev-astro/stubs/templates/node/package.json
@@ -22,7 +22,7 @@
"dependencies": {
"@astrojs/check": "^0.5.10",
"@astrojs/node": "^8.2.5",
- "@builder.io/qwik": "1.5.6",
+ "@builder.io/qwik": "^1.7.1",
"@qwikdev/astro": "^0.5.14",
"astro": "^4.6.3",
"typescript": "^5.4.5"
diff --git a/libs/qwikdev-astro/package.json b/libs/qwikdev-astro/package.json
index 2173d0d0..3d61dac2 100644
--- a/libs/qwikdev-astro/package.json
+++ b/libs/qwikdev-astro/package.json
@@ -25,7 +25,8 @@
"main": "./src/index.ts",
"exports": {
".": "./src/index.ts",
- "./package.json": "./package.json"
+ "./package.json": "./package.json",
+ "./server": "./server.ts"
},
"files": ["src", "src/index.ts", "server.ts", "env.d.ts"],
"keywords": [
@@ -49,15 +50,15 @@
"vite-tsconfig-paths": "^4.2.1"
},
"devDependencies": {
- "@builder.io/qwik": "1.5.6",
+ "@builder.io/qwik": "^1.7.1",
"@types/fs-extra": "^11.0.4",
"@types/node": "^20.10.0",
"astro": "^4.5",
"typescript": "^5.4.2",
- "vite": "^5.2.6"
+ "vite": "^5.3"
},
"peerDependencies": {
- "@builder.io/qwik": "1.5.6",
+ "@builder.io/qwik": "^1.7.1",
"typescript": "^5.4.2"
}
}
diff --git a/libs/qwikdev-astro/server.ts b/libs/qwikdev-astro/server.ts
index 56328e87..a10d385b 100644
--- a/libs/qwikdev-astro/server.ts
+++ b/libs/qwikdev-astro/server.ts
@@ -6,9 +6,8 @@ import {
PrefetchServiceWorker,
jsx
} from "@builder.io/qwik";
-import type { QwikManifest, SymbolMapperFn } from "@builder.io/qwik/optimizer";
-
import { isDev } from "@builder.io/qwik/build";
+import { type QwikManifest } from "@builder.io/qwik/optimizer";
import { getQwikLoaderScript, renderToString } from "@builder.io/qwik/server";
import { manifest } from "@qwik-client-manifest";
@@ -94,22 +93,6 @@ export async function renderToStaticMarkup(
children: [qwikScripts, ...(defaultSlot ? [defaultSlot] : []), ...slotValues]
});
- /**
- For a given symbol (QRL such as `onKeydown$`) the server needs to know which bundle the symbol is in.
-
- Normally this is provided by Qwik's `q-manifest` . But `q-manifest` only exists after a full client build.
-
- This would be a problem in dev mode. So in dev mode the symbol is mapped to the expected URL using the symbolMapper function above. For Vite the given path is fixed for a given symbol.
- */
- const symbolMapper: SymbolMapperFn = (symbolName: string) => {
- /* don't want to add a file path for sync$ */
- if (symbolName === "") {
- return;
- }
-
- return [symbolName, `/${process.env.SRC_DIR}/${symbolName.toLocaleLowerCase()}.js`];
- };
-
if (shouldAddQwikLoader) {
qwikLoaderAdded.set(this.result, true);
}
@@ -123,8 +106,9 @@ export async function renderToStaticMarkup(
base,
containerTagName: "div",
containerAttributes: { style: "display: contents" },
- manifest: isDev ? ({} as QwikManifest) : manifest,
- ...(manifest ? undefined : { symbolMapper }),
+ ...(isDev
+ ? { manifest: {} as QwikManifest, symbolMapper: globalThis.symbolMapperGlobal }
+ : { manifest }),
qwikLoader: { include: "never" }
});
diff --git a/libs/qwikdev-astro/src/index.ts b/libs/qwikdev-astro/src/index.ts
index 342f9ee3..18976f90 100644
--- a/libs/qwikdev-astro/src/index.ts
+++ b/libs/qwikdev-astro/src/index.ts
@@ -11,13 +11,18 @@ import type { AstroConfig } from "astro";
import { z } from "astro/zod";
import ts from "typescript";
-import { qwikVite } from "@builder.io/qwik/optimizer";
-import { createResolver, defineIntegration } from "astro-integration-kit";
+import { type SymbolMapperFn, qwikVite } from "@builder.io/qwik/optimizer";
+import { symbolMapper } from "@builder.io/qwik/optimizer";
+import { defineIntegration } from "astro-integration-kit";
import { watchIntegrationPlugin } from "astro-integration-kit/plugins";
import { type InlineConfig, build, createFilter } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
+declare global {
+ var symbolMapperGlobal: SymbolMapperFn;
+}
+
/* Similar to vite's FilterPattern */
const FilternPatternSchema = z.union([
z.string(),
@@ -47,7 +52,6 @@ export default defineIntegration({
const tempDir = join(`tmp-${hash()}`);
const filter = createFilter(options.include, options.exclude);
- const { resolve } = createResolver(import.meta.url);
return {
"astro:config:setup": async ({
@@ -55,11 +59,10 @@ export default defineIntegration({
updateConfig,
config,
command,
- injectScript,
- watchIntegration
+ injectScript
}) => {
- // Integration HMR
- watchIntegration(resolve());
+ // // Integration HMR
+ // watchIntegration(resolve());
// Because Astro uses the same port for both dev and preview, we need to unregister the SW in order to avoid a stale SW in dev mode.
if (command === "dev") {
@@ -85,7 +88,7 @@ export default defineIntegration({
if ((await entrypoints).length !== 0) {
addRenderer({
name: "@qwikdev/astro",
- serverEntrypoint: resolve("../server.ts")
+ serverEntrypoint: "@qwikdev/astro/server"
});
// Update the global dist directory
@@ -107,6 +110,18 @@ export default defineIntegration({
},
plugins: [
+ {
+ name: "grabSymbolMapper",
+ configResolved() {
+ /** We need to get the symbolMapper straight from qwikVite here. You can think of it as the "manifest" for dev mode. */
+ globalThis.symbolMapperGlobal = symbolMapper;
+ setTimeout(() => {
+ console.log(
+ "\x1b[32m[Qwik Astro]: Ignore the Vite emitFile warning, as it's not an issue and this error message will be resolved in the next Qwik version.\x1b[0m"
+ );
+ }, 5000);
+ }
+ },
qwikVite({
/* user passed include & exclude config (to use multiple JSX frameworks) */
fileFilter: (id: string, hook: string) => {
@@ -127,7 +142,7 @@ export default defineIntegration({
input: await entrypoints
},
ssr: {
- input: resolve("../server.ts")
+ input: "@qwikdev/astro/server"
}
}),
tsconfigPaths(),
@@ -163,7 +178,7 @@ export default defineIntegration({
enforce: "pre",
name: "astro-noop",
- load(id) {
+ load(id: string) {
if (id.endsWith(".astro")) {
return "export default function() {}";
}
@@ -171,7 +186,7 @@ export default defineIntegration({
}
}
]
- } as InlineConfig);
+ } as unknown as InlineConfig);
await moveArtifacts(distDir, tempDir);
} else {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ce211884..984f596b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -39,8 +39,8 @@ importers:
specifier: ^3.0.10
version: 3.3.0(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.2.10(@types/node@20.12.7))
'@builder.io/qwik':
- specifier: ^1.5.1
- version: 1.5.2(@types/node@20.12.7)(undici@6.13.0)
+ specifier: ^1.7
+ version: 1.7.0(@types/node@20.12.7)(undici@6.13.0)
'@qwikdev/astro':
specifier: workspace:*
version: link:../../libs/qwikdev-astro
@@ -70,10 +70,10 @@ importers:
version: 8.2.5(astro@4.6.3(@types/node@20.12.7)(typescript@5.4.5))
'@astrojs/react':
specifier: ^3.0.10
- version: 3.3.0(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.2.10(@types/node@20.12.7))
+ version: 3.3.0(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.3.3(@types/node@20.12.7))
'@builder.io/qwik':
- specifier: ^1.5.1
- version: 1.5.2(@types/node@20.12.7)(undici@6.13.0)
+ specifier: ^1.7.1
+ version: 1.7.1(@types/node@20.12.7)(undici@6.13.0)
'@qwikdev/astro':
specifier: workspace:*
version: link:../../libs/qwikdev-astro
@@ -155,11 +155,11 @@ importers:
version: 6.0.0
vite-tsconfig-paths:
specifier: ^4.2.1
- version: 4.3.2(typescript@5.4.5)(vite@5.2.10(@types/node@20.12.7))
+ version: 4.3.2(typescript@5.4.5)(vite@5.3.3(@types/node@20.12.7))
devDependencies:
'@builder.io/qwik':
- specifier: 1.5.6
- version: 1.5.6(@types/node@20.12.7)(undici@6.13.0)
+ specifier: ^1.7.1
+ version: 1.7.1(@types/node@20.12.7)(undici@6.13.0)
'@types/fs-extra':
specifier: ^11.0.4
version: 11.0.4
@@ -173,8 +173,8 @@ importers:
specifier: ^5.4.2
version: 5.4.5
vite:
- specifier: ^5.2.6
- version: 5.2.10(@types/node@20.12.7)
+ specifier: ^5.3
+ version: 5.3.3(@types/node@20.12.7)
packages:
@@ -426,15 +426,15 @@ packages:
cpu: [x64]
os: [win32]
- '@builder.io/qwik@1.5.2':
- resolution: {integrity: sha512-dUz61FEhC7NjJx0xDnCz6+F6uSBZgJUeur9+EYekpP/BNe2pr4ZH5FORcEOLetJtmxezR6EwTU3GeDLl5159Jg==}
+ '@builder.io/qwik@1.7.0':
+ resolution: {integrity: sha512-AF6P3VHxF6VtJaeVQsNT9SjGp0PFpQuKbwiTdVcGOf5ischVEz+PZfaRHQBDCupKg0wQl0Mn/4PYDYp0WVcJIg==}
engines: {node: '>=16.8.0 <18.0.0 || >=18.11'}
hasBin: true
peerDependencies:
undici: '*'
- '@builder.io/qwik@1.5.6':
- resolution: {integrity: sha512-dBdKrDpJ2qru2pLx/v/E6Jgq6AOMd3SgfpeSl5lStI5xQu/PLacPlkTsUVCy/Wr8XIfTqY/LHTbIywnw4O3Fhw==}
+ '@builder.io/qwik@1.7.1':
+ resolution: {integrity: sha512-Ncf4amVMxCNWlf4lsi+KVuU4SoVXcqLAeZfceWLfptZldOWFscF0Hm+NOopSOO7lkpARlhi7PhlBaPOJZkR3rw==}
engines: {node: '>=16.8.0 <18.0.0 || >=18.11'}
hasBin: true
peerDependencies:
@@ -525,6 +525,12 @@ packages:
cpu: [ppc64]
os: [aix]
+ '@esbuild/aix-ppc64@0.21.5':
+ resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+
'@esbuild/android-arm64@0.19.12':
resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
engines: {node: '>=12'}
@@ -537,6 +543,12 @@ packages:
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm64@0.21.5':
+ resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm@0.19.12':
resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
engines: {node: '>=12'}
@@ -549,6 +561,12 @@ packages:
cpu: [arm]
os: [android]
+ '@esbuild/android-arm@0.21.5':
+ resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-x64@0.19.12':
resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
engines: {node: '>=12'}
@@ -561,6 +579,12 @@ packages:
cpu: [x64]
os: [android]
+ '@esbuild/android-x64@0.21.5':
+ resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/darwin-arm64@0.19.12':
resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
engines: {node: '>=12'}
@@ -573,6 +597,12 @@ packages:
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-arm64@0.21.5':
+ resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.19.12':
resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
engines: {node: '>=12'}
@@ -585,6 +615,12 @@ packages:
cpu: [x64]
os: [darwin]
+ '@esbuild/darwin-x64@0.21.5':
+ resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/freebsd-arm64@0.19.12':
resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
engines: {node: '>=12'}
@@ -597,6 +633,12 @@ packages:
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-arm64@0.21.5':
+ resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.19.12':
resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
engines: {node: '>=12'}
@@ -609,6 +651,12 @@ packages:
cpu: [x64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.21.5':
+ resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/linux-arm64@0.19.12':
resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
engines: {node: '>=12'}
@@ -621,6 +669,12 @@ packages:
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm64@0.21.5':
+ resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm@0.19.12':
resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
engines: {node: '>=12'}
@@ -633,6 +687,12 @@ packages:
cpu: [arm]
os: [linux]
+ '@esbuild/linux-arm@0.21.5':
+ resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-ia32@0.19.12':
resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
engines: {node: '>=12'}
@@ -645,6 +705,12 @@ packages:
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-ia32@0.21.5':
+ resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-loong64@0.19.12':
resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
engines: {node: '>=12'}
@@ -657,6 +723,12 @@ packages:
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-loong64@0.21.5':
+ resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.19.12':
resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
engines: {node: '>=12'}
@@ -669,6 +741,12 @@ packages:
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-mips64el@0.21.5':
+ resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.19.12':
resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
engines: {node: '>=12'}
@@ -681,6 +759,12 @@ packages:
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-ppc64@0.21.5':
+ resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.19.12':
resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
engines: {node: '>=12'}
@@ -693,6 +777,12 @@ packages:
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-riscv64@0.21.5':
+ resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-s390x@0.19.12':
resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
engines: {node: '>=12'}
@@ -705,6 +795,12 @@ packages:
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-s390x@0.21.5':
+ resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-x64@0.19.12':
resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
engines: {node: '>=12'}
@@ -717,6 +813,12 @@ packages:
cpu: [x64]
os: [linux]
+ '@esbuild/linux-x64@0.21.5':
+ resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
'@esbuild/netbsd-x64@0.19.12':
resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
engines: {node: '>=12'}
@@ -729,6 +831,12 @@ packages:
cpu: [x64]
os: [netbsd]
+ '@esbuild/netbsd-x64@0.21.5':
+ resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/openbsd-x64@0.19.12':
resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
engines: {node: '>=12'}
@@ -741,6 +849,12 @@ packages:
cpu: [x64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.21.5':
+ resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/sunos-x64@0.19.12':
resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
engines: {node: '>=12'}
@@ -753,6 +867,12 @@ packages:
cpu: [x64]
os: [sunos]
+ '@esbuild/sunos-x64@0.21.5':
+ resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/win32-arm64@0.19.12':
resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
engines: {node: '>=12'}
@@ -765,6 +885,12 @@ packages:
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-arm64@0.21.5':
+ resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-ia32@0.19.12':
resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
engines: {node: '>=12'}
@@ -777,6 +903,12 @@ packages:
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-ia32@0.21.5':
+ resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-x64@0.19.12':
resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
engines: {node: '>=12'}
@@ -789,6 +921,12 @@ packages:
cpu: [x64]
os: [win32]
+ '@esbuild/win32-x64@0.21.5':
+ resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
'@expressive-code/core@0.33.5':
resolution: {integrity: sha512-KL0EkKAvd7SSIQL3ZIP19xqe4xNjBaQYNvcJC6RmoBUnQpvxaJNFwRxCBEF/X0ftJEMaSG7WTrabZ9c/zFeqmA==}
@@ -1712,6 +1850,11 @@ packages:
engines: {node: '>=12'}
hasBin: true
+ esbuild@0.21.5:
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
escalade@3.1.2:
resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
engines: {node: '>=6'}
@@ -2837,6 +2980,9 @@ packages:
picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ picocolors@1.0.1:
+ resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
@@ -2884,6 +3030,10 @@ packages:
resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
engines: {node: ^10 || ^12 || >=14}
+ postcss@8.4.39:
+ resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==}
+ engines: {node: ^10 || ^12 || >=14}
+
prebuild-install@7.1.2:
resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==}
engines: {node: '>=10'}
@@ -3595,6 +3745,34 @@ packages:
terser:
optional: true
+ vite@5.3.3:
+ resolution: {integrity: sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==}
+ 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
+
vitefu@0.2.5:
resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
peerDependencies:
@@ -3917,6 +4095,18 @@ snapshots:
- supports-color
- vite
+ '@astrojs/react@3.3.0(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.3.3(@types/node@20.12.7))':
+ dependencies:
+ '@types/react': 18.2.79
+ '@types/react-dom': 18.2.25
+ '@vitejs/plugin-react': 4.2.1(vite@5.3.3(@types/node@20.12.7))
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ ultrahtml: 1.5.3
+ transitivePeerDependencies:
+ - supports-color
+ - vite
+
'@astrojs/sitemap@3.1.4':
dependencies:
sitemap: 7.1.1
@@ -4155,7 +4345,7 @@ snapshots:
'@biomejs/cli-win32-x64@1.6.1':
optional: true
- '@builder.io/qwik@1.5.2(@types/node@20.12.7)(undici@6.13.0)':
+ '@builder.io/qwik@1.7.0(@types/node@20.12.7)(undici@6.13.0)':
dependencies:
csstype: 3.1.3
undici: 6.13.0
@@ -4169,11 +4359,11 @@ snapshots:
- sugarss
- terser
- '@builder.io/qwik@1.5.6(@types/node@20.12.7)(undici@6.13.0)':
+ '@builder.io/qwik@1.7.1(@types/node@20.12.7)(undici@6.13.0)':
dependencies:
csstype: 3.1.3
undici: 6.13.0
- vite: 5.2.10(@types/node@20.12.7)
+ vite: 5.3.3(@types/node@20.12.7)
transitivePeerDependencies:
- '@types/node'
- less
@@ -4360,138 +4550,207 @@ snapshots:
'@esbuild/aix-ppc64@0.20.2':
optional: true
+ '@esbuild/aix-ppc64@0.21.5':
+ optional: true
+
'@esbuild/android-arm64@0.19.12':
optional: true
'@esbuild/android-arm64@0.20.2':
optional: true
+ '@esbuild/android-arm64@0.21.5':
+ optional: true
+
'@esbuild/android-arm@0.19.12':
optional: true
'@esbuild/android-arm@0.20.2':
optional: true
+ '@esbuild/android-arm@0.21.5':
+ optional: true
+
'@esbuild/android-x64@0.19.12':
optional: true
'@esbuild/android-x64@0.20.2':
optional: true
+ '@esbuild/android-x64@0.21.5':
+ optional: true
+
'@esbuild/darwin-arm64@0.19.12':
optional: true
'@esbuild/darwin-arm64@0.20.2':
optional: true
+ '@esbuild/darwin-arm64@0.21.5':
+ optional: true
+
'@esbuild/darwin-x64@0.19.12':
optional: true
'@esbuild/darwin-x64@0.20.2':
optional: true
+ '@esbuild/darwin-x64@0.21.5':
+ optional: true
+
'@esbuild/freebsd-arm64@0.19.12':
optional: true
'@esbuild/freebsd-arm64@0.20.2':
optional: true
+ '@esbuild/freebsd-arm64@0.21.5':
+ optional: true
+
'@esbuild/freebsd-x64@0.19.12':
optional: true
'@esbuild/freebsd-x64@0.20.2':
optional: true
+ '@esbuild/freebsd-x64@0.21.5':
+ optional: true
+
'@esbuild/linux-arm64@0.19.12':
optional: true
'@esbuild/linux-arm64@0.20.2':
optional: true
+ '@esbuild/linux-arm64@0.21.5':
+ optional: true
+
'@esbuild/linux-arm@0.19.12':
optional: true
'@esbuild/linux-arm@0.20.2':
optional: true
+ '@esbuild/linux-arm@0.21.5':
+ optional: true
+
'@esbuild/linux-ia32@0.19.12':
optional: true
'@esbuild/linux-ia32@0.20.2':
optional: true
+ '@esbuild/linux-ia32@0.21.5':
+ optional: true
+
'@esbuild/linux-loong64@0.19.12':
optional: true
'@esbuild/linux-loong64@0.20.2':
optional: true
+ '@esbuild/linux-loong64@0.21.5':
+ optional: true
+
'@esbuild/linux-mips64el@0.19.12':
optional: true
'@esbuild/linux-mips64el@0.20.2':
optional: true
+ '@esbuild/linux-mips64el@0.21.5':
+ optional: true
+
'@esbuild/linux-ppc64@0.19.12':
optional: true
'@esbuild/linux-ppc64@0.20.2':
optional: true
+ '@esbuild/linux-ppc64@0.21.5':
+ optional: true
+
'@esbuild/linux-riscv64@0.19.12':
optional: true
'@esbuild/linux-riscv64@0.20.2':
optional: true
+ '@esbuild/linux-riscv64@0.21.5':
+ optional: true
+
'@esbuild/linux-s390x@0.19.12':
optional: true
'@esbuild/linux-s390x@0.20.2':
optional: true
+ '@esbuild/linux-s390x@0.21.5':
+ optional: true
+
'@esbuild/linux-x64@0.19.12':
optional: true
'@esbuild/linux-x64@0.20.2':
optional: true
+ '@esbuild/linux-x64@0.21.5':
+ optional: true
+
'@esbuild/netbsd-x64@0.19.12':
optional: true
'@esbuild/netbsd-x64@0.20.2':
optional: true
+ '@esbuild/netbsd-x64@0.21.5':
+ optional: true
+
'@esbuild/openbsd-x64@0.19.12':
optional: true
'@esbuild/openbsd-x64@0.20.2':
optional: true
+ '@esbuild/openbsd-x64@0.21.5':
+ optional: true
+
'@esbuild/sunos-x64@0.19.12':
optional: true
'@esbuild/sunos-x64@0.20.2':
optional: true
+ '@esbuild/sunos-x64@0.21.5':
+ optional: true
+
'@esbuild/win32-arm64@0.19.12':
optional: true
'@esbuild/win32-arm64@0.20.2':
optional: true
+ '@esbuild/win32-arm64@0.21.5':
+ optional: true
+
'@esbuild/win32-ia32@0.19.12':
optional: true
'@esbuild/win32-ia32@0.20.2':
optional: true
+ '@esbuild/win32-ia32@0.21.5':
+ optional: true
+
'@esbuild/win32-x64@0.19.12':
optional: true
'@esbuild/win32-x64@0.20.2':
optional: true
+ '@esbuild/win32-x64@0.21.5':
+ optional: true
+
'@expressive-code/core@0.33.5':
dependencies:
'@ctrl/tinycolor': 3.6.1
@@ -4873,6 +5132,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@vitejs/plugin-react@4.2.1(vite@5.3.3(@types/node@20.12.7))':
+ dependencies:
+ '@babel/core': 7.24.4
+ '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.4)
+ '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4)
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.14.0
+ vite: 5.3.3(@types/node@20.12.7)
+ transitivePeerDependencies:
+ - supports-color
+
'@volar/kit@2.1.6(typescript@5.4.5)':
dependencies:
'@volar/language-service': 2.1.6
@@ -5628,6 +5898,32 @@ snapshots:
'@esbuild/win32-ia32': 0.20.2
'@esbuild/win32-x64': 0.20.2
+ esbuild@0.21.5:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.21.5
+ '@esbuild/android-arm': 0.21.5
+ '@esbuild/android-arm64': 0.21.5
+ '@esbuild/android-x64': 0.21.5
+ '@esbuild/darwin-arm64': 0.21.5
+ '@esbuild/darwin-x64': 0.21.5
+ '@esbuild/freebsd-arm64': 0.21.5
+ '@esbuild/freebsd-x64': 0.21.5
+ '@esbuild/linux-arm': 0.21.5
+ '@esbuild/linux-arm64': 0.21.5
+ '@esbuild/linux-ia32': 0.21.5
+ '@esbuild/linux-loong64': 0.21.5
+ '@esbuild/linux-mips64el': 0.21.5
+ '@esbuild/linux-ppc64': 0.21.5
+ '@esbuild/linux-riscv64': 0.21.5
+ '@esbuild/linux-s390x': 0.21.5
+ '@esbuild/linux-x64': 0.21.5
+ '@esbuild/netbsd-x64': 0.21.5
+ '@esbuild/openbsd-x64': 0.21.5
+ '@esbuild/sunos-x64': 0.21.5
+ '@esbuild/win32-arm64': 0.21.5
+ '@esbuild/win32-ia32': 0.21.5
+ '@esbuild/win32-x64': 0.21.5
+
escalade@3.1.2: {}
escape-html@1.0.3: {}
@@ -7145,6 +7441,8 @@ snapshots:
picocolors@1.0.0: {}
+ picocolors@1.0.1: {}
+
picomatch@2.3.1: {}
pify@4.0.1: {}
@@ -7195,6 +7493,12 @@ snapshots:
picocolors: 1.0.0
source-map-js: 1.2.0
+ postcss@8.4.39:
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.1
+ source-map-js: 1.2.0
+
prebuild-install@7.1.2:
dependencies:
detect-libc: 2.0.3
@@ -8057,13 +8361,13 @@ snapshots:
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
- vite-tsconfig-paths@4.3.2(typescript@5.4.5)(vite@5.2.10(@types/node@20.12.7)):
+ vite-tsconfig-paths@4.3.2(typescript@5.4.5)(vite@5.3.3(@types/node@20.12.7)):
dependencies:
debug: 4.3.4
globrex: 0.1.2
tsconfck: 3.0.3(typescript@5.4.5)
optionalDependencies:
- vite: 5.2.10(@types/node@20.12.7)
+ vite: 5.3.3(@types/node@20.12.7)
transitivePeerDependencies:
- supports-color
- typescript
@@ -8077,6 +8381,15 @@ snapshots:
'@types/node': 20.12.7
fsevents: 2.3.3
+ vite@5.3.3(@types/node@20.12.7):
+ dependencies:
+ esbuild: 0.21.5
+ postcss: 8.4.39
+ rollup: 4.16.1
+ optionalDependencies:
+ '@types/node': 20.12.7
+ fsevents: 2.3.3
+
vitefu@0.2.5(vite@5.2.10(@types/node@20.12.7)):
optionalDependencies:
vite: 5.2.10(@types/node@20.12.7)