From f2cfd76348729340d648867bc149a5476faa49a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABl=20Charles?= Date: Tue, 24 Sep 2024 15:06:15 +0200 Subject: [PATCH 1/6] feat: package.json transformer --- .../cloudflare/files/$package.json.ts | 24 ++- packages/core/src/index.ts | 1 - packages/core/src/loaders.ts | 12 ++ packages/core/src/utils/package.ts | 188 ++++++++++++------ 4 files changed, 152 insertions(+), 73 deletions(-) diff --git a/boilerplates/cloudflare/files/$package.json.ts b/boilerplates/cloudflare/files/$package.json.ts index 60e83f48c..f20bc5309 100644 --- a/boilerplates/cloudflare/files/$package.json.ts +++ b/boilerplates/cloudflare/files/$package.json.ts @@ -33,16 +33,20 @@ export default async function getPackageJson(props: TransformerProps) { // TODO: find a way to link "scripts" and their dependencies (like "tsx" and "cross-env") // so that when overriding a script, we can auto-detect which dependencies need to be removed - // addDependency(packageJson, await import("../package.json").then((x) => x.default), { - // devDependencies: { - // wrangler: { - // removeIfScriptsReplaced: ["preview:wrangler", "deploy:wrangler", "preview", "deploy"], - // }, - // "npm-run-all2": { - // removeIfScriptsReplaced: ["preview", "deploy"], - // }, - // }, - // }); + addDependency(packageJson, await import("../package.json").then((x) => x.default), { + devDependencies: [ + { + wrangler: { + removeIfScriptsReplaced: ["preview:wrangler", "deploy:wrangler", "preview", "deploy"], + }, + }, + { + "npm-run-all2": { + removeIfScriptsReplaced: ["preview", "deploy"], + }, + }, + ], + }); if (props.meta.BATI.has("hattip")) { addDependency(packageJson, await import("../package.json").then((x) => x.default), { diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index d447cbb56..d71303ddc 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -2,7 +2,6 @@ export { transformAndFormat, type FileContext } from "./parse.js"; export { formatCode } from "./format.js"; export * from "./loaders.js"; export * from "./magicast.js"; -export * from "./utils/package.js"; export * from "./utils/env.js"; export * from "./which.js"; export * from "./print.js"; diff --git a/packages/core/src/loaders.ts b/packages/core/src/loaders.ts index 172c2743c..4b37788de 100644 --- a/packages/core/src/loaders.ts +++ b/packages/core/src/loaders.ts @@ -11,6 +11,7 @@ import { type SchemaOptions, } from "yaml"; import type { TransformerProps } from "./types.js"; +import { type PackageJsonDeps, PackageJsonTransformer } from "./utils/package.js"; export type { YAMLDocument }; @@ -28,6 +29,17 @@ export async function loadAsJson({ readfile, source, target }: TransformerProps) return JSON.parse(content); } +export async function loadPackageJson( + { readfile, source, target }: TransformerProps, + scopedPackageJson: U, +) { + const content = await readfile?.(); + + assert(typeof content === "string", `Unable to load previous JSON module ("${source}" -> "${target}")`); + + return new PackageJsonTransformer(JSON.parse(content), scopedPackageJson); +} + export async function loadAsMagicast({ readfile, source, diff --git a/packages/core/src/utils/package.ts b/packages/core/src/utils/package.ts index 817d6c313..1b1b5c4c5 100644 --- a/packages/core/src/utils/package.ts +++ b/packages/core/src/utils/package.ts @@ -1,19 +1,13 @@ import { dim, yellow } from "colorette"; import { withIcon } from "../print.js"; -// eslint-disable-next-line @typescript-eslint/no-unused-vars -const keys = ["dev", "build", "preview", "lint", "format", "deploy", "test"] as const; - -type Scripts = (typeof keys)[number]; -type ValidScripts = Scripts | `${Scripts}:${string}`; - export interface PackageJsonDeps { dependencies?: Record; devDependencies?: Record; } export interface PackageJsonScripts { - scripts: Partial>; + scripts: Record; } export interface PackageJsonScriptOption { @@ -25,7 +19,9 @@ export interface PackageJsonScriptOption { warnIfReplaced?: boolean; } -export type PackageJsonScriptOptions = Partial>; +export type PackageJsonScriptOptions = Record; + +type AllDependencies = keyof U["dependencies"] | keyof U["devDependencies"]; function* deps(obj: PackageJsonDeps) { if (obj.devDependencies) { @@ -50,45 +46,6 @@ function* findKey(depsMap: Map( - packageJson: T, - scopedPackageJson: U, - keys: { - devDependencies?: (keyof U["dependencies"] | keyof U["devDependencies"])[]; - dependencies?: (keyof U["dependencies"] | keyof U["devDependencies"])[]; - }, -) { - packageJson.devDependencies ??= {}; - packageJson.dependencies ??= {}; - const depsMap = new Map(deps(scopedPackageJson)); - - for (const [key, value] of findKey(depsMap, keys.devDependencies ?? [])) { - if (key in packageJson.dependencies) continue; - packageJson.devDependencies[key as string] = value; - } - for (const [key, value] of findKey(depsMap, keys.dependencies ?? [])) { - // dependency > devDependencies - if (key in packageJson.devDependencies) delete packageJson.devDependencies[key as string]; - packageJson.dependencies[key as string] = value; - } - - return packageJson; -} - -export function removeDependency(packageJson: T, key: string) { - if (packageJson.devDependencies?.[key]) { - delete packageJson.devDependencies[key]; - } - if (packageJson.dependencies?.[key]) { - delete packageJson.dependencies[key]; - } - - return packageJson; -} - -const previousScripts: PackageJsonScriptOptions = {}; - function warnScript(key: string, old: string, nnew: string) { console.warn( withIcon( @@ -102,28 +59,135 @@ function warnScript(key: string, old: string, nnew: string) { ); } -export function setScripts(packageJson: T, scripts: PackageJsonScriptOptions) { - const keys = Object.keys(scripts) as ValidScripts[]; +export class PackageJsonTransformer { + protected static previousScripts: PackageJsonScriptOptions = {}; + // All dependencies listed here will never be removed + protected static forcedDependencies: Set = new Set(); + // Key is a dependency, value is the list of scripts that are using this dependency + protected static dependenciesScriptsRelation: Map> = new Map(); + + protected pendingAddedDependencies: string[]; + protected pendingReplacedScripts: string[]; + + constructor( + public packageJson: PackageJsonScripts & PackageJsonDeps, + public scopedPackageJson: U, + ) { + this.pendingAddedDependencies = []; + this.pendingReplacedScripts = []; + } - for (const key of keys) { - const prev = previousScripts[key] ?? { precedence: -Infinity }; - const sub = scripts[key]; + setScripts(scripts: PackageJsonScriptOptions, condition: boolean = true) { + if (!condition) { + return this; + } - if (sub) { - if (sub.precedence > prev.precedence) { - if (prev.warnIfReplaced) { - warnScript(key, prev.value!, sub.value!); + const keys = Object.keys(scripts); + + for (const key of keys) { + const prev = PackageJsonTransformer.previousScripts[key] ?? { precedence: -Infinity }; + const sub = scripts[key]; + + if (sub) { + if (sub.precedence > prev.precedence) { + if (prev.warnIfReplaced) { + warnScript(key, prev.value!, sub.value!); + } + + this.packageJson.scripts[key] = sub.value!; + PackageJsonTransformer.previousScripts[key] = Object.assign({ precedence: -Infinity }, sub); + this.pendingReplacedScripts.push(key); + } else { + if (sub.warnIfReplaced) { + warnScript(key, sub.value!, prev.value!); + } } + } + } + + return this; + } + + addDependency( + keys: { devDependencies?: AllDependencies[]; dependencies?: AllDependencies[] }, + condition: boolean = true, + ) { + if (!condition) { + return this; + } - packageJson.scripts[key] = sub.value; - previousScripts[key] = Object.assign({ precedence: -Infinity }, sub); - } else { - if (sub.warnIfReplaced) { - warnScript(key, sub.value!, prev.value!); + this.packageJson.devDependencies ??= {}; + this.packageJson.dependencies ??= {}; + const depsMap = new Map(deps(this.scopedPackageJson)); + + for (const [key, value] of findKey(depsMap, keys.devDependencies ?? [])) { + if (key in this.packageJson.dependencies) continue; + this.packageJson.devDependencies[key as string] = value; + this.pendingAddedDependencies.push(key as string); + } + for (const [key, value] of findKey(depsMap, keys.dependencies ?? [])) { + // dependency > devDependencies + if (key in this.packageJson.devDependencies) delete this.packageJson.devDependencies[key as string]; + this.packageJson.dependencies[key as string] = value; + this.pendingAddedDependencies.push(key as string); + } + + return this; + } + + /** + * Use this method if `dependency` is ONLY used by given scripts (i.e. not used in code) + */ + dependencyOnlyUsedBy(dependency: AllDependencies, scripts: string[], condition: boolean = true) { + if (!condition) { + return this; + } + + PackageJsonTransformer.dependenciesScriptsRelation.set(dependency, new Set(scripts)); + + return this; + } + + finalize() { + // Compute forcedDependencies + for (const dep of this.pendingAddedDependencies) { + if (!PackageJsonTransformer.dependenciesScriptsRelation.has(dep)) { + PackageJsonTransformer.forcedDependencies.add(dep); + } + } + + // Remove dependencies of replaced scripts if necessary + for (const script of this.pendingReplacedScripts) { + // If dep is forced, do nothing (i.e. keep it) + if (PackageJsonTransformer.forcedDependencies.has(script)) continue; + + for (const [dep, scripts] of PackageJsonTransformer.dependenciesScriptsRelation.entries()) { + // If a dep is related to the current script... + if (scripts.has(script)) { + scripts.delete(script); + // ... delete the dep if no more scripts are using it + if (scripts.size === 0) { + this.removeDependency(dep as string); + PackageJsonTransformer.dependenciesScriptsRelation.delete(dep); + } } } } + + // stringify } - return packageJson; + /** + * Instead of removing a previsouly added dep, use `dependencyOnlyUsedBy` + */ + private removeDependency(key: string) { + if (this.packageJson.devDependencies?.[key]) { + delete this.packageJson.devDependencies[key]; + } + if (this.packageJson.dependencies?.[key]) { + delete this.packageJson.dependencies[key]; + } + + return this.packageJson; + } } From 7dc1da0a7dac6879dcfde84c235cadf309496e9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABl=20Charles?= Date: Tue, 24 Sep 2024 16:55:13 +0200 Subject: [PATCH 2/6] refactor: use loadPackageJson --- boilerplates/authjs/files/$package.json.ts | 8 +- boilerplates/aws/files/$package.json.ts | 48 ++----- boilerplates/biome/files/$package.json.ts | 20 ++- .../cloudflare/files/$package.json.ts | 61 +++----- boilerplates/compiled/files/$package.json.ts | 9 +- boilerplates/d1-sqlite/files/$package.json.ts | 11 +- boilerplates/d1/files/$package.json.ts | 8 +- boilerplates/drizzle/files/$package.json.ts | 37 +++-- boilerplates/drizzle/package.json | 3 +- boilerplates/edgedb/files/$package.json.ts | 22 +-- boilerplates/eslint/files/$package.json.ts | 44 ++---- boilerplates/express/files/$package.json.ts | 37 ++--- boilerplates/fastify/files/$package.json.ts | 37 ++--- .../firebase-auth/files/$package.json.ts | 11 +- boilerplates/h3/files/$package.json.ts | 41 ++---- boilerplates/hattip/files/$package.json.ts | 70 +++------- boilerplates/hono/files/$package.json.ts | 42 ++---- .../lucia-auth/files/$package.json.ts | 35 ++--- boilerplates/mantine/files/$package.json.ts | 11 +- boilerplates/prettier/files/$package.json.ts | 8 +- boilerplates/prisma/files/$package.json.ts | 22 +-- .../react-sentry/files/$package.json.ts | 8 +- boilerplates/react/files/$package.json.ts | 11 +- boilerplates/sentry/files/$package.json.ts | 8 +- boilerplates/shadcn-ui/files/$package.json.ts | 23 ++-- .../shared-no-db/files/$package.json.ts | 9 -- .../shared-server/files/$package.json.ts | 8 +- .../solid-sentry/files/$package.json.ts | 8 +- boilerplates/solid/files/$package.json.ts | 9 +- boilerplates/sqlite/files/$package.json.ts | 18 +-- .../tailwindcss/files/$package.json.ts | 15 +- boilerplates/telefunc/files/$package.json.ts | 8 +- boilerplates/trpc/files/$package.json.ts | 8 +- boilerplates/ts-rest/files/$package.json.ts | 13 +- boilerplates/vercel/files/$package.json.ts | 8 +- .../vue-sentry/files/$package.json.ts | 8 +- boilerplates/vue/files/$package.json.ts | 20 +-- packages/build/src/index.ts | 2 - packages/build/src/operations/transform.ts | 6 +- packages/core/src/types.ts | 4 + packages/core/src/utils/package.ts | 130 ++++++++++++------ pnpm-lock.yaml | 3 - 42 files changed, 373 insertions(+), 539 deletions(-) delete mode 100644 boilerplates/shared-no-db/files/$package.json.ts diff --git a/boilerplates/authjs/files/$package.json.ts b/boilerplates/authjs/files/$package.json.ts index ced602c33..2f3c88db1 100644 --- a/boilerplates/authjs/files/$package.json.ts +++ b/boilerplates/authjs/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["@auth/core", "@universal-middleware/core"], - }); + return packageJson.addDependencies(["@auth/core", "@universal-middleware/core"]); } diff --git a/boilerplates/aws/files/$package.json.ts b/boilerplates/aws/files/$package.json.ts index d18f9859b..245e09a90 100644 --- a/boilerplates/aws/files/$package.json.ts +++ b/boilerplates/aws/files/$package.json.ts @@ -1,45 +1,27 @@ -import { addDependency, loadAsJson, setScripts, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - setScripts(packageJson, { - test: { + packageJson + .setScript("test", { value: "vitest", precedence: 0, - }, - "deploy:cdk": { - value: "cdk", - precedence: 0, - }, - "deploy:cdk-deploy-all": { + }) + .setScript("deploy:cdk-deploy-all", { value: "cdk deploy --all", precedence: 0, - }, - "deploy:aws": { + }) + .setScript("deploy:aws", { value: "run-s build deploy:cdk-deploy-all", precedence: 0, - }, - // @ts-ignore - "cdk:app": { + }) + .setScript("cdk:app", { value: "tsx cdk/bin/infrastructure.ts", precedence: 0, - }, - }); - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: [ - "cdk", - "aws-cdk", - "npm-run-all2", - "@types/node", - "tsx", - "typescript", - "esbuild", - "vitest", - "which", - "@types/which", - ], - dependencies: ["aws-cdk-lib", "constructs", "source-map-support"], - }); + }) + .addDependencies(["aws-cdk-lib", "constructs", "source-map-support"]) + .addDevDependencies(["cdk", "aws-cdk", "@types/node", "typescript", "esbuild", "vitest", "which", "@types/which"]) + .addDevDependencies(["npm-run-all2"], ["deploy:aws"]) + .addDevDependencies(["tsx"], ["cdk:app"]); } diff --git a/boilerplates/biome/files/$package.json.ts b/boilerplates/biome/files/$package.json.ts index 9c72a8ad7..d27dbae63 100644 --- a/boilerplates/biome/files/$package.json.ts +++ b/boilerplates/biome/files/$package.json.ts @@ -1,20 +1,16 @@ -import { addDependency, loadAsJson, setScripts, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - setScripts(packageJson, { - lint: { + return packageJson + .setScript("lint", { value: "biome lint --write .", precedence: 0, - }, - format: { + }) + .setScript("format", { value: "biome format --write .", precedence: 0, - }, - }); - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@biomejs/biome"], - }); + }) + .addDevDependencies(["@biomejs/biome"]); } diff --git a/boilerplates/cloudflare/files/$package.json.ts b/boilerplates/cloudflare/files/$package.json.ts index f20bc5309..58a82f457 100644 --- a/boilerplates/cloudflare/files/$package.json.ts +++ b/boilerplates/cloudflare/files/$package.json.ts @@ -1,61 +1,32 @@ -import { addDependency, loadAsJson, removeDependency, setScripts, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - setScripts(packageJson, { - "preview:wrangler": { + return packageJson + .setScript("preview:wrangler", { value: "wrangler pages dev", precedence: 40, warnIfReplaced: true, - }, - preview: { + }) + .setScript("preview", { value: "run-s build preview:wrangler", precedence: 40, warnIfReplaced: true, - }, - "deploy:wrangler": { + }) + .setScript("deploy:wrangler", { value: "wrangler pages deploy", precedence: 40, warnIfReplaced: true, - }, - deploy: { + }) + .setScript("deploy", { value: "run-s build deploy:wrangler", precedence: 40, warnIfReplaced: true, - }, - }); - - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["wrangler", "npm-run-all2", "@cloudflare/workers-types"], - dependencies: ["vike-cloudflare"], - }); - - // TODO: find a way to link "scripts" and their dependencies (like "tsx" and "cross-env") - // so that when overriding a script, we can auto-detect which dependencies need to be removed - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: [ - { - wrangler: { - removeIfScriptsReplaced: ["preview:wrangler", "deploy:wrangler", "preview", "deploy"], - }, - }, - { - "npm-run-all2": { - removeIfScriptsReplaced: ["preview", "deploy"], - }, - }, - ], - }); - - if (props.meta.BATI.has("hattip")) { - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["@hattip/adapter-cloudflare-workers"], - }); - } else { - removeDependency(packageJson, "tsx"); - removeDependency(packageJson, "cross-env"); - } - - return packageJson; + }) + .addDevDependencies(["@cloudflare/workers-types"]) + .addDependencies(["vike-cloudflare"]) + .addDevDependencies(["wrangler"], ["preview:wrangler", "deploy:wrangler", "preview", "deploy"]) + .addDevDependencies(["npm-run-all2"], ["preview", "deploy"]) + .addDependencies(["@hattip/adapter-cloudflare-workers"], props.meta.BATI.has("hattip")); } diff --git a/boilerplates/compiled/files/$package.json.ts b/boilerplates/compiled/files/$package.json.ts index 395888ae5..91897bb03 100644 --- a/boilerplates/compiled/files/$package.json.ts +++ b/boilerplates/compiled/files/$package.json.ts @@ -1,10 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["vite-plugin-compiled-react"], - dependencies: ["@compiled/react"], - }); + return packageJson.addDevDependencies(["vite-plugin-compiled-react"]).addDependencies(["@compiled/react"]); } diff --git a/boilerplates/d1-sqlite/files/$package.json.ts b/boilerplates/d1-sqlite/files/$package.json.ts index 8f7470dac..7f8c52263 100644 --- a/boilerplates/d1-sqlite/files/$package.json.ts +++ b/boilerplates/d1-sqlite/files/$package.json.ts @@ -1,9 +1,10 @@ -import { loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - packageJson.scripts["d1:migrate"] = "wrangler d1 migrations apply YOUR_DATABASE_NAME --local"; - - return packageJson; + return packageJson.setScript("d1:migrate", { + value: "wrangler d1 migrations apply YOUR_DATABASE_NAME --local", + precedence: 0, + }); } diff --git a/boilerplates/d1/files/$package.json.ts b/boilerplates/d1/files/$package.json.ts index db4a6682c..cef5e4be5 100644 --- a/boilerplates/d1/files/$package.json.ts +++ b/boilerplates/d1/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@universal-middleware/core"], - }); + return packageJson.addDevDependencies(["@universal-middleware/core"]); } diff --git a/boilerplates/drizzle/files/$package.json.ts b/boilerplates/drizzle/files/$package.json.ts index 13f867557..0545d5815 100644 --- a/boilerplates/drizzle/files/$package.json.ts +++ b/boilerplates/drizzle/files/$package.json.ts @@ -1,23 +1,22 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - packageJson.scripts["drizzle:generate"] = "drizzle-kit generate"; - packageJson.scripts["drizzle:migrate"] = props.meta.BATI.hasD1 - ? "wrangler d1 migrations apply YOUR_DATABASE_NAME --local" - : "drizzle-kit migrate"; - packageJson.scripts["drizzle:studio"] = "drizzle-kit studio"; - - if (!props.meta.BATI.hasD1) { - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@types/better-sqlite3"], - dependencies: ["better-sqlite3"], - }); - } - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["tsx"], - dependencies: ["drizzle-kit", "drizzle-orm", "dotenv"], - }); + return packageJson + .setScript("drizzle:generate", { + value: "drizzle-kit generate", + precedence: 20, + }) + .setScript("drizzle:migrate", { + value: props.meta.BATI.hasD1 ? "wrangler d1 migrations apply YOUR_DATABASE_NAME --local" : "drizzle-kit migrate", + precedence: 20, + }) + .setScript("drizzle:studio", { + value: "drizzle-kit studio", + precedence: 20, + }) + .addDependencies(["drizzle-kit", "drizzle-orm", "dotenv"]) + .addDevDependencies(["@types/better-sqlite3"], !props.meta.BATI.hasD1) + .addDependencies(["better-sqlite3"], !props.meta.BATI.hasD1); } diff --git a/boilerplates/drizzle/package.json b/boilerplates/drizzle/package.json index 1482bd9a6..74ca83ed3 100644 --- a/boilerplates/drizzle/package.json +++ b/boilerplates/drizzle/package.json @@ -18,8 +18,7 @@ "better-sqlite3": "^11.3.0", "dotenv": "^16.4.5", "drizzle-kit": "^0.24.2", - "drizzle-orm": "^0.33.0", - "tsx": "^4.19.1" + "drizzle-orm": "^0.33.0" }, "dependencies": { "@batijs/core": "workspace:*" diff --git a/boilerplates/edgedb/files/$package.json.ts b/boilerplates/edgedb/files/$package.json.ts index 1a1dce14a..fa7aec110 100644 --- a/boilerplates/edgedb/files/$package.json.ts +++ b/boilerplates/edgedb/files/$package.json.ts @@ -1,13 +1,17 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - packageJson.scripts["edgedb:generate-queries"] = "@edgedb/generate queries"; - packageJson.scripts["edgedb:generate-edgeql-js"] = "@edgedb/generate edgeql-js"; - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@edgedb/generate"], - dependencies: ["edgedb"], - }); + return packageJson + .setScript("edgedb:generate-queries", { + value: "@edgedb/generate queries", + precedence: 0, + }) + .setScript("edgedb:generate-edgeql-js", { + value: "@edgedb/generate edgeql-js", + precedence: 0, + }) + .addDevDependencies(["@edgedb/generate"]) + .addDependencies(["edgedb"]); } diff --git a/boilerplates/eslint/files/$package.json.ts b/boilerplates/eslint/files/$package.json.ts index 92662ca0e..a15dbfc25 100644 --- a/boilerplates/eslint/files/$package.json.ts +++ b/boilerplates/eslint/files/$package.json.ts @@ -1,40 +1,16 @@ -import { addDependency, loadAsJson, setScripts, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - setScripts(packageJson, { - lint: { + return packageJson + .setScript("lint", { value: "eslint .", precedence: 0, - }, - }); - - if (props.meta.BATI.has("prettier")) { - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["eslint-plugin-prettier", "eslint-config-prettier"], - }); - } - - if (props.meta.BATI.has("react")) { - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["eslint-plugin-react", "globals"], - }); - } - - if (props.meta.BATI.has("vue")) { - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["eslint-plugin-vue", "vue-eslint-parser"], - }); - } - - if (props.meta.BATI.has("solid")) { - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["eslint-plugin-solid", "globals"], - }); - } - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["eslint", "@eslint/js", "typescript-eslint"], - }); + }) + .addDevDependencies(["eslint", "@eslint/js", "typescript-eslint"]) + .addDevDependencies(["eslint-plugin-prettier", "eslint-config-prettier"], props.meta.BATI.has("prettier")) + .addDevDependencies(["eslint-plugin-react", "globals"], props.meta.BATI.has("react")) + .addDevDependencies(["eslint-plugin-vue", "vue-eslint-parser"], props.meta.BATI.has("vue")) + .addDevDependencies(["eslint-plugin-solid", "globals"], props.meta.BATI.has("solid")); } diff --git a/boilerplates/express/files/$package.json.ts b/boilerplates/express/files/$package.json.ts index 3e857c9d6..887765636 100644 --- a/boilerplates/express/files/$package.json.ts +++ b/boilerplates/express/files/$package.json.ts @@ -1,35 +1,26 @@ -import { addDependency, loadAsJson, setScripts, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - setScripts(packageJson, { - dev: { + return packageJson + .setScript("dev", { value: "tsx ./express-entry.ts", precedence: 20, warnIfReplaced: true, - }, - build: { + }) + .setScript("build", { value: "vite build", precedence: 1, warnIfReplaced: true, - }, - preview: { + }) + .setScript("preview", { value: "cross-env NODE_ENV=production tsx ./express-entry.ts", precedence: 20, - }, - }); - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@types/express"], - dependencies: [ - "@universal-middleware/express", - "cross-env", - "express", - "tsx", - "vite", - "vike", - ...(props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase ? (["dotenv"] as const) : []), - ], - }); + }) + .addDevDependencies(["@types/express"]) + .addDependencies(["@universal-middleware/express", "express", "vite", "vike"]) + .addDependencies(["dotenv"], props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase) + .addDevDependencies(["tsx"], ["dev", "preview"]) + .addDevDependencies(["cross-env"], ["preview"]); } diff --git a/boilerplates/fastify/files/$package.json.ts b/boilerplates/fastify/files/$package.json.ts index 367d51aa8..97f9cfb7e 100644 --- a/boilerplates/fastify/files/$package.json.ts +++ b/boilerplates/fastify/files/$package.json.ts @@ -1,35 +1,26 @@ -import { addDependency, loadAsJson, setScripts, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - setScripts(packageJson, { - dev: { + return packageJson + .setScript("dev", { value: "tsx ./fastify-entry.ts", precedence: 20, warnIfReplaced: true, - }, - build: { + }) + .setScript("build", { value: "vite build", precedence: 1, warnIfReplaced: true, - }, - preview: { + }) + .setScript("preview", { value: "cross-env NODE_ENV=production tsx ./fastify-entry.ts", precedence: 20, - }, - }); - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["cross-env", "tsx", "@types/node"], - dependencies: [ - "@fastify/middie", - "@fastify/static", - "@universal-middleware/fastify", - "fastify", - "vike", - "vite", - ...(props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase ? (["dotenv"] as const) : []), - ], - }); + }) + .addDevDependencies(["@types/node"]) + .addDependencies(["@fastify/middie", "@fastify/static", "@universal-middleware/fastify", "fastify", "vike", "vite"]) + .addDependencies(["dotenv"], props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase) + .addDevDependencies(["tsx"], ["dev", "preview"]) + .addDevDependencies(["cross-env"], ["preview"]); } diff --git a/boilerplates/firebase-auth/files/$package.json.ts b/boilerplates/firebase-auth/files/$package.json.ts index d192f4f7b..8037b6b4b 100644 --- a/boilerplates/firebase-auth/files/$package.json.ts +++ b/boilerplates/firebase-auth/files/$package.json.ts @@ -1,10 +1,9 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@types/cookie"], - dependencies: ["firebase", "firebase-admin", "firebaseui", "cookie", "@universal-middleware/core", "dotenv"], - }); + return packageJson + .addDevDependencies(["@types/cookie"]) + .addDependencies(["firebase", "firebase-admin", "firebaseui", "cookie", "@universal-middleware/core", "dotenv"]); } diff --git a/boilerplates/h3/files/$package.json.ts b/boilerplates/h3/files/$package.json.ts index 6703203fe..4d50cf351 100644 --- a/boilerplates/h3/files/$package.json.ts +++ b/boilerplates/h3/files/$package.json.ts @@ -1,38 +1,27 @@ -import { addDependency, loadAsJson, setScripts, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - setScripts(packageJson, { - dev: { + return packageJson + .setScript("dev", { value: "tsx ./h3-entry.ts", precedence: 20, warnIfReplaced: true, - }, - build: { + }) + .setScript("build", { value: "vite build", precedence: 1, warnIfReplaced: true, - }, - preview: { + }) + .setScript("preview", { value: "cross-env NODE_ENV=production tsx ./h3-entry.ts", precedence: 20, - }, - }); - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@types/serve-static"], - dependencies: [ - "@hattip/polyfills", - "cross-env", - "h3", - "serve-static", - "tsx", - "vike", - "vite", - "@universal-middleware/h3", - ...(props.meta.BATI.has("authjs") || props.meta.BATI.has("auth0") ? (["@auth/core"] as const) : []), - ...(props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase ? (["dotenv"] as const) : []), - ], - }); + }) + .addDevDependencies(["@types/serve-static"]) + .addDependencies(["@hattip/polyfills", "h3", "serve-static", "vike", "vite", "@universal-middleware/h3"]) + .addDependencies(["@auth/core"], props.meta.BATI.has("authjs") || props.meta.BATI.has("auth0")) + .addDependencies(["dotenv"], props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase) + .addDevDependencies(["tsx"], ["dev", "preview"]) + .addDevDependencies(["cross-env"], ["preview"]); } diff --git a/boilerplates/hattip/files/$package.json.ts b/boilerplates/hattip/files/$package.json.ts index 1f08d54ad..41ea589ad 100644 --- a/boilerplates/hattip/files/$package.json.ts +++ b/boilerplates/hattip/files/$package.json.ts @@ -1,56 +1,30 @@ -import { addDependency, loadAsJson, removeDependency, setScripts, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - setScripts(packageJson, { - dev: { - value: "hattip serve ./hattip-entry.ts --client", - precedence: 20, - warnIfReplaced: true, - }, - }); - - if (props.meta.BATI.has("vercel")) { - setScripts(packageJson, { - build: { - value: "cross-env NODE_ENV=production vite build", + return ( + packageJson + .setScript("dev", { + value: "hattip serve ./hattip-entry.ts --client", precedence: 20, warnIfReplaced: true, - }, - }); - } else { - setScripts(packageJson, { - build: { - value: "cross-env NODE_ENV=production hattip build ./hattip-entry.ts --target es2022 --client", + }) + .setScript("build", { + value: props.meta.BATI.has("vercel") + ? "cross-env NODE_ENV=production vite build" + : "cross-env NODE_ENV=production hattip build ./hattip-entry.ts --target es2022 --client", precedence: 20, warnIfReplaced: true, - }, - }); - } - - // Not supported yet - if (packageJson.scripts.preview) { - delete packageJson.scripts.preview; - } - - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@hattip/vite", "@hattip/adapter-node"], - dependencies: [ - "@hattip/core", - "@hattip/router", - "cross-env", - "hattip", - "vite", - "vike", - "@universal-middleware/hattip", - ...(props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase ? (["dotenv"] as const) : []), - ...(props.meta.BATI.has("vercel") ? (["@hattip/adapter-vercel-edge"] as const) : []), - ...(props.meta.BATI.has("aws") - ? (["@types/aws-lambda", "@hattip/adapter-aws-lambda", "@hattip/static", "@hattip/walk"] as const) - : []), - ], - }); - - return removeDependency(packageJson, "tsx"); + }) + // Not compatible with hattip + .removeScript("preview") + .addDevDependencies(["@hattip/vite", "@hattip/adapter-node"]) + .addDependencies(["@hattip/core", "@hattip/router", "hattip", "vite", "vike", "@universal-middleware/hattip"]) + .addDependencies(["dotenv"], props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase) + .addDependencies(["@hattip/adapter-vercel-edge"], props.meta.BATI.has("vercel")) + .addDependencies(["@hattip/adapter-aws-lambda", "@hattip/static", "@hattip/walk"], props.meta.BATI.has("aws")) + .addDevDependencies(["@types/aws-lambda"], props.meta.BATI.has("aws")) + .addDevDependencies(["cross-env"], ["build"]) + ); } diff --git a/boilerplates/hono/files/$package.json.ts b/boilerplates/hono/files/$package.json.ts index fe8a4eba4..78be95594 100644 --- a/boilerplates/hono/files/$package.json.ts +++ b/boilerplates/hono/files/$package.json.ts @@ -1,40 +1,26 @@ -import { addDependency, loadAsJson, setScripts, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - setScripts(packageJson, { - dev: { + return packageJson + .setScript("dev", { value: "vite", precedence: 20, warnIfReplaced: true, - }, - build: { + }) + .setScript("build", { value: "vite build", precedence: 1, warnIfReplaced: true, - }, - preview: { + }) + .setScript("preview", { value: "cross-env NODE_ENV=production tsx ./hono-entry.node.ts", precedence: 20, - }, - }); - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: [ - "@hono/vite-dev-server", - "@types/node", - ...(props.meta.BATI.has("aws") ? (["@types/aws-lambda"] as const) : []), - ], - dependencies: [ - "@hono/node-server", - "@universal-middleware/hono", - "cross-env", - "hono", - "tsx", - "vite", - "vike", - ...(props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase ? (["dotenv"] as const) : []), - ], - }); + }) + .addDevDependencies(["@hono/vite-dev-server", "@types/node"]) + .addDevDependencies(["@types/aws-lambda"], props.meta.BATI.has("aws")) + .addDependencies(["@hono/node-server", "@universal-middleware/hono", "hono", "vite", "vike"]) + .addDependencies(["dotenv"], props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase) + .addDevDependencies(["tsx", "cross-env"], ["preview"]); } diff --git a/boilerplates/lucia-auth/files/$package.json.ts b/boilerplates/lucia-auth/files/$package.json.ts index 9ed788755..c80b473eb 100644 --- a/boilerplates/lucia-auth/files/$package.json.ts +++ b/boilerplates/lucia-auth/files/$package.json.ts @@ -1,28 +1,13 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); - - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@types/cookie"], - dependencies: [ - "arctic", - "cookie", - "lucia", - "@universal-middleware/core", - "dotenv", - ...(props.meta.BATI.has("drizzle") - ? (["@lucia-auth/adapter-drizzle"] as const) - : (["@lucia-auth/adapter-sqlite"] as const)), - ], - }); - - if (!props.meta.BATI.hasD1) { - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@types/better-sqlite3"], - dependencies: ["better-sqlite3"], - }); - } - - return packageJson; + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); + + return packageJson + .addDevDependencies(["@types/cookie"]) + .addDependencies(["arctic", "cookie", "lucia", "@universal-middleware/core", "dotenv"]) + .addDependencies(["@lucia-auth/adapter-drizzle"], props.meta.BATI.has("drizzle")) + .addDependencies(["@lucia-auth/adapter-sqlite"], !props.meta.BATI.has("drizzle")) + .addDevDependencies(["@types/better-sqlite3"], !props.meta.BATI.hasD1) + .addDependencies(["better-sqlite3"], !props.meta.BATI.hasD1); } diff --git a/boilerplates/mantine/files/$package.json.ts b/boilerplates/mantine/files/$package.json.ts index 1fb558408..50228a070 100644 --- a/boilerplates/mantine/files/$package.json.ts +++ b/boilerplates/mantine/files/$package.json.ts @@ -1,10 +1,9 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["postcss", "postcss-preset-mantine", "postcss-simple-vars"], - dependencies: ["@mantine/core", "@mantine/hooks"], - }); + return packageJson + .addDevDependencies(["postcss", "postcss-preset-mantine", "postcss-simple-vars"]) + .addDependencies(["@mantine/core", "@mantine/hooks"]); } diff --git a/boilerplates/prettier/files/$package.json.ts b/boilerplates/prettier/files/$package.json.ts index f771f256b..5bca37671 100644 --- a/boilerplates/prettier/files/$package.json.ts +++ b/boilerplates/prettier/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["prettier"], - }); + return packageJson.addDevDependencies(["prettier"]); } diff --git a/boilerplates/prisma/files/$package.json.ts b/boilerplates/prisma/files/$package.json.ts index c0ec873e8..301daf23e 100644 --- a/boilerplates/prisma/files/$package.json.ts +++ b/boilerplates/prisma/files/$package.json.ts @@ -1,13 +1,17 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - packageJson.scripts["prisma:studio"] = "prisma studio"; - packageJson.scripts["prisma:generate"] = "prisma generate"; - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["prisma"], - dependencies: ["@prisma/client"], - }); + return packageJson + .setScript("prisma:studio", { + value: "prisma studio", + precedence: 1, + }) + .setScript("prisma:generate", { + value: "prisma generate", + precedence: 1, + }) + .addDevDependencies(["prisma"]) + .addDependencies(["@prisma/client"]); } diff --git a/boilerplates/react-sentry/files/$package.json.ts b/boilerplates/react-sentry/files/$package.json.ts index 632c0e582..37fe598b2 100644 --- a/boilerplates/react-sentry/files/$package.json.ts +++ b/boilerplates/react-sentry/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["@sentry/react"] as const, - }); + return packageJson.addDependencies(["@sentry/react"]); } diff --git a/boilerplates/react/files/$package.json.ts b/boilerplates/react/files/$package.json.ts index 07e230380..9f4b5a774 100644 --- a/boilerplates/react/files/$package.json.ts +++ b/boilerplates/react/files/$package.json.ts @@ -1,10 +1,9 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["vite", "@types/react", "@types/react-dom"], - dependencies: ["@vitejs/plugin-react", "react", "react-dom", "vike", "vike-react"], - }); + return packageJson + .addDevDependencies(["vite", "@types/react", "@types/react-dom"]) + .addDependencies(["@vitejs/plugin-react", "react", "react-dom", "vike", "vike-react"]); } diff --git a/boilerplates/sentry/files/$package.json.ts b/boilerplates/sentry/files/$package.json.ts index a9cf1416a..0dc5b279c 100644 --- a/boilerplates/sentry/files/$package.json.ts +++ b/boilerplates/sentry/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@sentry/vite-plugin"] as const, - }); + return packageJson.addDevDependencies(["@sentry/vite-plugin"]); } diff --git a/boilerplates/shadcn-ui/files/$package.json.ts b/boilerplates/shadcn-ui/files/$package.json.ts index 75d23c49e..8d877b2ce 100644 --- a/boilerplates/shadcn-ui/files/$package.json.ts +++ b/boilerplates/shadcn-ui/files/$package.json.ts @@ -1,25 +1,20 @@ -import { addDependency, loadAsJson, setScripts, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - setScripts(packageJson, { - // @ts-ignore - shadcn: { - value: "pnpm dlx shadcn@latest", - precedence: 20, + return packageJson + .setScript("shadcn", { + value: "npx shadcn@latest", + precedence: 1, warnIfReplaced: true, - }, - }); - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: [ + }) + .addDependencies([ "tailwindcss-animate", "class-variance-authority", "clsx", "tailwind-merge", "lucide-react", "@radix-ui/react-icons", - ], - }); + ]); } diff --git a/boilerplates/shared-no-db/files/$package.json.ts b/boilerplates/shared-no-db/files/$package.json.ts deleted file mode 100644 index a98ee2654..000000000 --- a/boilerplates/shared-no-db/files/$package.json.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; - -export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: [], - }); -} diff --git a/boilerplates/shared-server/files/$package.json.ts b/boilerplates/shared-server/files/$package.json.ts index ec887dbc5..6cf694b42 100644 --- a/boilerplates/shared-server/files/$package.json.ts +++ b/boilerplates/shared-server/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["@universal-middleware/core"], - }); + return packageJson.addDependencies(["@universal-middleware/core"]); } diff --git a/boilerplates/solid-sentry/files/$package.json.ts b/boilerplates/solid-sentry/files/$package.json.ts index 9ff3ef7ad..c0617a6b0 100644 --- a/boilerplates/solid-sentry/files/$package.json.ts +++ b/boilerplates/solid-sentry/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["@sentry/solid"] as const, - }); + return packageJson.addDependencies(["@sentry/solid"]); } diff --git a/boilerplates/solid/files/$package.json.ts b/boilerplates/solid/files/$package.json.ts index 5a9947c73..bd4498ec6 100644 --- a/boilerplates/solid/files/$package.json.ts +++ b/boilerplates/solid/files/$package.json.ts @@ -1,10 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["vite"], - dependencies: ["solid-js", "vike-solid", "vike"], - }); + return packageJson.addDevDependencies(["vite"]).addDependencies(["solid-js", "vike-solid", "vike"]); } diff --git a/boilerplates/sqlite/files/$package.json.ts b/boilerplates/sqlite/files/$package.json.ts index 1566c7674..2750e401a 100644 --- a/boilerplates/sqlite/files/$package.json.ts +++ b/boilerplates/sqlite/files/$package.json.ts @@ -1,12 +1,14 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - packageJson.scripts["sqlite:migrate"] = "tsx ./database/sqlite/schema/all.ts"; - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["@types/better-sqlite3", "tsx"], - dependencies: ["better-sqlite3", "dotenv"], - }); + return packageJson + .setScript("sqlite:migrate", { + value: "tsx ./database/sqlite/schema/all.ts", + precedence: 1, + }) + .addDevDependencies(["@types/better-sqlite3"]) + .addDevDependencies(["tsx"], ["sqlite:migrate"]) + .addDependencies(["better-sqlite3", "dotenv"]); } diff --git a/boilerplates/tailwindcss/files/$package.json.ts b/boilerplates/tailwindcss/files/$package.json.ts index f3a1479d6..0d4c0e483 100644 --- a/boilerplates/tailwindcss/files/$package.json.ts +++ b/boilerplates/tailwindcss/files/$package.json.ts @@ -1,14 +1,9 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: [ - "tailwindcss", - "postcss", - "autoprefixer", - ...(props.meta.BATI.has("daisyui") ? (["daisyui"] as const) : []), - ], - }); + return packageJson + .addDevDependencies(["tailwindcss", "postcss", "autoprefixer"]) + .addDevDependencies(["daisyui"], props.meta.BATI.has("daisyui")); } diff --git a/boilerplates/telefunc/files/$package.json.ts b/boilerplates/telefunc/files/$package.json.ts index 185a02fda..7a27c620d 100644 --- a/boilerplates/telefunc/files/$package.json.ts +++ b/boilerplates/telefunc/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["telefunc", "@universal-middleware/core"], - }); + return packageJson.addDependencies(["telefunc", "@universal-middleware/core"]); } diff --git a/boilerplates/trpc/files/$package.json.ts b/boilerplates/trpc/files/$package.json.ts index 0ad048594..937455144 100644 --- a/boilerplates/trpc/files/$package.json.ts +++ b/boilerplates/trpc/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["@trpc/server", "@trpc/client"], - }); + return packageJson.addDependencies(["@trpc/server", "@trpc/client"]); } diff --git a/boilerplates/ts-rest/files/$package.json.ts b/boilerplates/ts-rest/files/$package.json.ts index ec3def6a0..ec645812b 100644 --- a/boilerplates/ts-rest/files/$package.json.ts +++ b/boilerplates/ts-rest/files/$package.json.ts @@ -1,12 +1,9 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["@ts-rest/core", "@ts-rest/serverless", "@universal-middleware/core"], - devDependencies: ["zod"], - }); - - return packageJson; + return packageJson + .addDevDependencies(["zod"]) + .addDependencies(["@ts-rest/core", "@ts-rest/serverless", "@universal-middleware/core"]); } diff --git a/boilerplates/vercel/files/$package.json.ts b/boilerplates/vercel/files/$package.json.ts index 94444eef3..d34b9cc1e 100644 --- a/boilerplates/vercel/files/$package.json.ts +++ b/boilerplates/vercel/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["vite-plugin-vercel", "@vite-plugin-vercel/vike"], - }); + return packageJson.addDependencies(["vite-plugin-vercel", "@vite-plugin-vercel/vike"]); } diff --git a/boilerplates/vue-sentry/files/$package.json.ts b/boilerplates/vue-sentry/files/$package.json.ts index bda70889b..140be2ed3 100644 --- a/boilerplates/vue-sentry/files/$package.json.ts +++ b/boilerplates/vue-sentry/files/$package.json.ts @@ -1,9 +1,7 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["@sentry/vue"] as const, - }); + return packageJson.addDependencies(["@sentry/vue"]); } diff --git a/boilerplates/vue/files/$package.json.ts b/boilerplates/vue/files/$package.json.ts index 042733ca4..6ac09b30e 100644 --- a/boilerplates/vue/files/$package.json.ts +++ b/boilerplates/vue/files/$package.json.ts @@ -1,17 +1,11 @@ -import { addDependency, loadAsJson, type TransformerProps } from "@batijs/core"; +import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { - const packageJson = await loadAsJson(props); + const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - if (props.meta.BATI.has("google-analytics")) { - addDependency(packageJson, await import("../package.json").then((x) => x.default), { - dependencies: ["vue-gtag"], - }); - } - - return addDependency(packageJson, await import("../package.json").then((x) => x.default), { - devDependencies: ["vite"], - dependencies: [ + return packageJson + .addDevDependencies(["vite"]) + .addDependencies([ "@vitejs/plugin-vue", "@vue/compiler-sfc", "@vue/server-renderer", @@ -19,6 +13,6 @@ export default async function getPackageJson(props: TransformerProps) { "vike-vue", "vike", "vue", - ], - }); + ]) + .addDependencies(["vue-gtag"], props.meta.BATI.has("google-analytics")); } diff --git a/packages/build/src/index.ts b/packages/build/src/index.ts index cbd148f53..149006855 100644 --- a/packages/build/src/index.ts +++ b/packages/build/src/index.ts @@ -59,8 +59,6 @@ export async function* walk(dir: string): AsyncGenerator { export default async function main(options: { source: string | string[]; dist: string }, meta: VikeMeta) { const sources = Array.isArray(options.source) ? options.source : [options.source]; - const allImports = new Map(); - const filesContainingIncludeIfImported = new Set(); function updateAllImports(target: string, imports: Set | undefined, includeIfImported: boolean) { const rf = new RelationFile(target, includeIfImported); diff --git a/packages/build/src/operations/transform.ts b/packages/build/src/operations/transform.ts index 7508dcd5e..e57838044 100644 --- a/packages/build/src/operations/transform.ts +++ b/packages/build/src/operations/transform.ts @@ -1,12 +1,15 @@ import { parse } from "path"; import type { FileOperation, OperationReport } from "./common.js"; -import type { Transformer, VikeMeta, YAMLDocument } from "@batijs/core"; +import type { StringTransformer, Transformer, VikeMeta, YAMLDocument } from "@batijs/core"; import { formatCode } from "@batijs/core"; const isWin = process.platform === "win32"; async function transformFileAfterExec(filepath: string, fileContent: unknown): Promise { if (fileContent === undefined || fileContent === null) return null; + if (typeof fileContent == "object" && typeof (fileContent as StringTransformer).finalize === "function") { + fileContent = (fileContent as StringTransformer).finalize(); + } const parsed = parse(filepath); const toTest = [parsed.base, parsed.ext, parsed.name].filter(Boolean); @@ -32,6 +35,7 @@ async function transformFileAfterExec(filepath: string, fileContent: unknown): P case ".toml": return fileContent as string; case ".json": + if (typeof fileContent === "string") return fileContent; return JSON.stringify(fileContent, null, 2); case ".yml": case ".yaml": diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 8666ca60a..50df7baca 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -15,3 +15,7 @@ export type TransformerProps = { }; export type Transformer = (props: TransformerProps) => unknown; + +export interface StringTransformer { + finalize(): string; +} diff --git a/packages/core/src/utils/package.ts b/packages/core/src/utils/package.ts index 1b1b5c4c5..e9465be7a 100644 --- a/packages/core/src/utils/package.ts +++ b/packages/core/src/utils/package.ts @@ -1,5 +1,6 @@ import { dim, yellow } from "colorette"; import { withIcon } from "../print.js"; +import type { StringTransformer } from "../types.js"; export interface PackageJsonDeps { dependencies?: Record; @@ -11,7 +12,7 @@ export interface PackageJsonScripts { } export interface PackageJsonScriptOption { - value?: string; + value: string; /** * Higher values have priority */ @@ -19,7 +20,14 @@ export interface PackageJsonScriptOption { warnIfReplaced?: boolean; } -export type PackageJsonScriptOptions = Record; +export type PackageJsonScriptOptions = Record< + string, + { + value?: string; + precedence: number; + warnIfReplaced?: boolean; + } +>; type AllDependencies = keyof U["dependencies"] | keyof U["devDependencies"]; @@ -59,7 +67,7 @@ function warnScript(key: string, old: string, nnew: string) { ); } -export class PackageJsonTransformer { +export class PackageJsonTransformer implements StringTransformer { protected static previousScripts: PackageJsonScriptOptions = {}; // All dependencies listed here will never be removed protected static forcedDependencies: Set = new Set(); @@ -77,73 +85,80 @@ export class PackageJsonTransformer { this.pendingReplacedScripts = []; } - setScripts(scripts: PackageJsonScriptOptions, condition: boolean = true) { + setScript(name: string, args: PackageJsonScriptOption, condition: boolean = true) { if (!condition) { return this; } - const keys = Object.keys(scripts); - - for (const key of keys) { - const prev = PackageJsonTransformer.previousScripts[key] ?? { precedence: -Infinity }; - const sub = scripts[key]; + const prev = PackageJsonTransformer.previousScripts[name] ?? { precedence: -Infinity }; - if (sub) { - if (sub.precedence > prev.precedence) { - if (prev.warnIfReplaced) { - warnScript(key, prev.value!, sub.value!); - } + if (args.precedence > prev.precedence) { + if (prev.warnIfReplaced && prev.value) { + warnScript(name, prev.value, args.value); + } - this.packageJson.scripts[key] = sub.value!; - PackageJsonTransformer.previousScripts[key] = Object.assign({ precedence: -Infinity }, sub); - this.pendingReplacedScripts.push(key); - } else { - if (sub.warnIfReplaced) { - warnScript(key, sub.value!, prev.value!); - } - } + this.packageJson.scripts[name] = args.value; + PackageJsonTransformer.previousScripts[name] = Object.assign({ precedence: -Infinity }, args); + this.pendingReplacedScripts.push(name); + } else { + if (args.warnIfReplaced && prev.value) { + warnScript(name, args.value, prev.value); } } return this; } - addDependency( - keys: { devDependencies?: AllDependencies[]; dependencies?: AllDependencies[] }, - condition: boolean = true, - ) { + removeScript(name: string, condition: boolean = true) { if (!condition) { return this; } - this.packageJson.devDependencies ??= {}; - this.packageJson.dependencies ??= {}; - const depsMap = new Map(deps(this.scopedPackageJson)); + PackageJsonTransformer.previousScripts[name] = { precedence: -Infinity }; + this.pendingReplacedScripts.push(name); + delete this.packageJson.scripts[name]; - for (const [key, value] of findKey(depsMap, keys.devDependencies ?? [])) { - if (key in this.packageJson.dependencies) continue; - this.packageJson.devDependencies[key as string] = value; - this.pendingAddedDependencies.push(key as string); + return this; + } + + addDependencies(newDeps: AllDependencies[], condition?: boolean): this; + addDependencies(newDeps: AllDependencies[], onlyUsedBy?: string[], condition?: boolean): this; + addDependencies(newDeps: AllDependencies[], onlyUsedBy?: string[] | boolean, condition?: boolean) { + if (typeof onlyUsedBy === "boolean") { + condition = onlyUsedBy; + onlyUsedBy = []; + } else if (typeof condition !== "boolean") { + condition = true; + onlyUsedBy ??= []; } - for (const [key, value] of findKey(depsMap, keys.dependencies ?? [])) { - // dependency > devDependencies - if (key in this.packageJson.devDependencies) delete this.packageJson.devDependencies[key as string]; - this.packageJson.dependencies[key as string] = value; - this.pendingAddedDependencies.push(key as string); + + if (!condition) { + return this; } + this._addDependencies("dependencies", newDeps); + this._onlyUsedBy(newDeps, onlyUsedBy); + return this; } - /** - * Use this method if `dependency` is ONLY used by given scripts (i.e. not used in code) - */ - dependencyOnlyUsedBy(dependency: AllDependencies, scripts: string[], condition: boolean = true) { + addDevDependencies(newDeps: AllDependencies[], condition?: boolean): this; + addDevDependencies(newDeps: AllDependencies[], onlyUsedBy?: string[], condition?: boolean): this; + addDevDependencies(newDeps: AllDependencies[], onlyUsedBy?: string[] | boolean, condition?: boolean) { + if (typeof onlyUsedBy === "boolean") { + condition = onlyUsedBy; + onlyUsedBy = []; + } else if (typeof condition !== "boolean") { + condition = true; + onlyUsedBy ??= []; + } + if (!condition) { return this; } - PackageJsonTransformer.dependenciesScriptsRelation.set(dependency, new Set(scripts)); + this._addDependencies("devDependencies", newDeps); + this._onlyUsedBy(newDeps, onlyUsedBy); return this; } @@ -174,11 +189,36 @@ export class PackageJsonTransformer { } } - // stringify + return JSON.stringify(this.packageJson, undefined, 2); + } + + private _onlyUsedBy(newDeps: AllDependencies[], onlyUsedBy: string[] = []) { + for (const dep of newDeps) { + if (!PackageJsonTransformer.dependenciesScriptsRelation.has(dep)) { + PackageJsonTransformer.dependenciesScriptsRelation.set(dep, new Set()); + } + for (const script of onlyUsedBy) { + PackageJsonTransformer.dependenciesScriptsRelation.get(dep)!.add(script); + } + } + } + + private _addDependencies(pkgKey: "devDependencies" | "dependencies", newDeps: AllDependencies[]) { + const otherKey = pkgKey === "devDependencies" ? "dependencies" : "devDependencies"; + + this.packageJson[pkgKey] ??= {}; + const depsMap = new Map(deps(this.scopedPackageJson)); + + for (const [key, value] of findKey(depsMap, newDeps)) { + const other = this.packageJson[otherKey] ?? {}; + if (key in other) continue; + this.packageJson[pkgKey][key as string] = value; + this.pendingAddedDependencies.push(key as string); + } } /** - * Instead of removing a previsouly added dep, use `dependencyOnlyUsedBy` + * Instead of removing a previously added dep, use `onlyUsedBy` parameter when adding a dependency */ private removeDependency(key: string) { if (this.packageJson.devDependencies?.[key]) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3e8066508..13c2fd03b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -308,9 +308,6 @@ importers: drizzle-orm: specifier: ^0.33.0 version: 0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.19.1(prisma@5.19.1))(@types/better-sqlite3@7.6.11)(@types/react@18.3.8)(better-sqlite3@11.3.0)(prisma@5.19.1)(react@18.3.1) - tsx: - specifier: ^4.19.1 - version: 4.19.1 boilerplates/edgedb: dependencies: From b6b5853f5242de5850ba1c25b62539b6e275e4a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABl=20Charles?= Date: Tue, 24 Sep 2024 17:27:06 +0200 Subject: [PATCH 3/6] tests: PackageJsonTransformer --- packages/core/src/utils/package.ts | 24 ++- packages/core/tests/utils/package.spec.ts | 203 ++++++++++++++++------ 2 files changed, 169 insertions(+), 58 deletions(-) diff --git a/packages/core/src/utils/package.ts b/packages/core/src/utils/package.ts index e9465be7a..00f350fe0 100644 --- a/packages/core/src/utils/package.ts +++ b/packages/core/src/utils/package.ts @@ -8,7 +8,7 @@ export interface PackageJsonDeps { } export interface PackageJsonScripts { - scripts: Record; + scripts?: Record; } export interface PackageJsonScriptOption { @@ -76,11 +76,12 @@ export class PackageJsonTransformer implements String protected pendingAddedDependencies: string[]; protected pendingReplacedScripts: string[]; + protected packageJson: PackageJsonScripts & PackageJsonDeps; + protected scopedPackageJson: U; - constructor( - public packageJson: PackageJsonScripts & PackageJsonDeps, - public scopedPackageJson: U, - ) { + constructor(packageJson: PackageJsonScripts & PackageJsonDeps, scopedPackageJson: U) { + this.packageJson = structuredClone(packageJson); + this.scopedPackageJson = scopedPackageJson; this.pendingAddedDependencies = []; this.pendingReplacedScripts = []; } @@ -97,6 +98,7 @@ export class PackageJsonTransformer implements String warnScript(name, prev.value, args.value); } + this.packageJson.scripts ??= {}; this.packageJson.scripts[name] = args.value; PackageJsonTransformer.previousScripts[name] = Object.assign({ precedence: -Infinity }, args); this.pendingReplacedScripts.push(name); @@ -116,7 +118,7 @@ export class PackageJsonTransformer implements String PackageJsonTransformer.previousScripts[name] = { precedence: -Infinity }; this.pendingReplacedScripts.push(name); - delete this.packageJson.scripts[name]; + delete this.packageJson.scripts![name]; return this; } @@ -192,6 +194,16 @@ export class PackageJsonTransformer implements String return JSON.stringify(this.packageJson, undefined, 2); } + /** + * For tests purpose only + * @internal + */ + static clear() { + PackageJsonTransformer.previousScripts = {}; + PackageJsonTransformer.forcedDependencies = new Set(); + PackageJsonTransformer.dependenciesScriptsRelation = new Map(); + } + private _onlyUsedBy(newDeps: AllDependencies[], onlyUsedBy: string[] = []) { for (const dep of newDeps) { if (!PackageJsonTransformer.dependenciesScriptsRelation.has(dep)) { diff --git a/packages/core/tests/utils/package.spec.ts b/packages/core/tests/utils/package.spec.ts index 3ca6db688..bfbd2e888 100644 --- a/packages/core/tests/utils/package.spec.ts +++ b/packages/core/tests/utils/package.spec.ts @@ -1,46 +1,103 @@ -import { assert, test } from "vitest"; -import { addDependency, type PackageJsonDeps } from "../../src/index.js"; +import { afterAll, afterEach, assert, beforeAll, describe, test } from "vitest"; +import { PackageJsonTransformer } from "../../src/utils/package.js"; -// Tests that new dependencies are added to packageJson when keys parameter contains valid keys from scopedPackageJson dependencies/devDependencies. -test("test_add_dependency_with_valid_keys", () => { - const packageJson: PackageJsonDeps = { - dependencies: { - react: "^17.0.2", - }, - }; - const scopedPackageJson = { - dependencies: { - lodash: "^4.17.21", - }, - }; - const result = addDependency(packageJson, scopedPackageJson, { - dependencies: ["lodash"], +describe("dependencies", () => { + afterEach(() => { + PackageJsonTransformer.clear(); }); - assert.equal(result.dependencies?.lodash, "^4.17.21"); -}); -// Tests that new dependencies are added to packageJson when it already has some dependencies. -test("test_add_dependency_with_existing_dependencies", () => { - const packageJson: PackageJsonDeps = { - dependencies: { - react: "^17.0.2", - }, - }; - const scopedPackageJson = { - dependencies: { - lodash: "^4.17.21", - }, - }; - const result = addDependency(packageJson, scopedPackageJson, { - dependencies: ["lodash"], + test("simple", () => { + const packageJson = { + dependencies: { + react: "^17.0.2", + }, + }; + const scopedPackageJson = { + dependencies: { + lodash: "^4.17.21", + }, + }; + + { + const transformer = new PackageJsonTransformer(packageJson, scopedPackageJson); + transformer.addDependencies(["lodash"]); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.dependencies.lodash, "^4.17.21"); + } + + { + const transformer = new PackageJsonTransformer(packageJson, scopedPackageJson); + transformer.addDevDependencies(["lodash"]); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.devDependencies.lodash, "^4.17.21"); + } + }); + + test("merge with existing", () => { + const packageJson = { + dependencies: { + react: "^17.0.2", + }, + }; + const scopedPackageJson = { + dependencies: { + lodash: "^4.17.21", + }, + }; + + const transformer = new PackageJsonTransformer(packageJson, scopedPackageJson); + transformer.addDependencies(["lodash"]); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.dependencies.react, "^17.0.2"); + assert.equal(result.dependencies.lodash, "^4.17.21"); + }); + + test("throw for invalid value", () => { + const packageJson = { + dependencies: { + react: "^17.0.2", + }, + }; + const scopedPackageJson = { + dependencies: { + lodash: "^4.17.21", + }, + }; + + const transformer = new PackageJsonTransformer(packageJson, scopedPackageJson); + // @ts-expect-error + assert.throws(() => transformer.addDependencies(["invalid_key"])); + }); + + test("add dependencies based on dependencies and devDependencies", () => { + const packageJson = { + dependencies: { + react: "^17.0.2", + }, + }; + const scopedPackageJson = { + dependencies: { + lodash: "^4.17.21", + }, + devDependencies: { + "@types/lodash": "^4.14.170", + }, + }; + + const transformer = new PackageJsonTransformer(packageJson, scopedPackageJson); + transformer.addDependencies(["lodash", "@types/lodash"]); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.dependencies.lodash, "^4.17.21"); + assert.equal(result.dependencies["@types/lodash"], "^4.14.170"); }); - assert.equal(result.dependencies?.react, "^17.0.2"); - assert.equal(result.dependencies?.lodash, "^4.17.21"); }); -// Tests that an error is thrown when keys parameter contains invalid keys from scopedPackageJson dependencies/devDependencies. -test("test_add_dependency_with_invalid_keys", () => { - const packageJson: PackageJsonDeps = { +describe("scripts", { sequential: true }, () => { + afterAll(() => { + PackageJsonTransformer.clear(); + }); + + const packageJson = { dependencies: { react: "^17.0.2", }, @@ -50,16 +107,48 @@ test("test_add_dependency_with_invalid_keys", () => { lodash: "^4.17.21", }, }; - assert.throws(() => - addDependency(packageJson, scopedPackageJson, { - dependencies: ["invalid_key"] as any, - }), - ); + const transformer = new PackageJsonTransformer(packageJson, scopedPackageJson); + + test("set", () => { + transformer.setScript("dev", { + value: "dev_script", + precedence: 1, + }); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.scripts.dev, "dev_script"); + }); + + test("override", () => { + transformer.setScript("dev", { + value: "dev_script_2", + precedence: 20, + }); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.scripts.dev, "dev_script_2"); + }); + + test("no override", () => { + transformer.setScript("dev", { + value: "dev_script_3", + precedence: 10, + }); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.scripts.dev, "dev_script_2"); + }); + + test("remove", () => { + transformer.removeScript("dev"); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.scripts.dev, undefined); + }); }); -// Tests that new dependencies are added to packageJson when scopedPackageJson has dependencies and devDependencies. -test("test_add_dependency_with_dev_dependencies", () => { - const packageJson: PackageJsonDeps = { +describe("scripts + dependencies", { sequential: true }, () => { + afterAll(() => { + PackageJsonTransformer.clear(); + }); + + let packageJson = { dependencies: { react: "^17.0.2", }, @@ -68,13 +157,23 @@ test("test_add_dependency_with_dev_dependencies", () => { dependencies: { lodash: "^4.17.21", }, - devDependencies: { - "@types/lodash": "^4.14.170", - }, }; - const result = addDependency(packageJson, scopedPackageJson, { - dependencies: ["lodash", "@types/lodash"], + const transformer = new PackageJsonTransformer(packageJson, scopedPackageJson); + + beforeAll(() => { + transformer + .setScript("dev", { + value: "dev_script", + precedence: 1, + }) + .addDependencies(["lodash"], ["dev"]); + packageJson = JSON.parse(transformer.finalize()); + }); + + test("remove", () => { + transformer.removeScript("dev"); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.scripts.dev, undefined); + assert.equal(result.dependencies.lodash, undefined); }); - assert.equal(result.dependencies?.lodash, "^4.17.21"); - assert.equal(result.dependencies?.["@types/lodash"], "^4.14.170"); }); From 77c8471ba9a1082eff12fcb609b5394c49ed34ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABl=20Charles?= Date: Tue, 24 Sep 2024 18:06:37 +0200 Subject: [PATCH 4/6] fix: PackageJsonTransformer --- boilerplates/aws/files/$package.json.ts | 4 +- .../aws/files/tests/aws_handler.spec.ts | 2 +- packages/build/src/operations/transform.ts | 3 ++ packages/core/src/utils/package.ts | 4 +- packages/core/tests/utils/package.spec.ts | 52 ++++++++++++++----- 5 files changed, 49 insertions(+), 16 deletions(-) diff --git a/boilerplates/aws/files/$package.json.ts b/boilerplates/aws/files/$package.json.ts index 245e09a90..9909836a8 100644 --- a/boilerplates/aws/files/$package.json.ts +++ b/boilerplates/aws/files/$package.json.ts @@ -3,7 +3,7 @@ import { loadPackageJson, type TransformerProps } from "@batijs/core"; export default async function getPackageJson(props: TransformerProps) { const packageJson = await loadPackageJson(props, await import("../package.json").then((x) => x.default)); - packageJson + return packageJson .setScript("test", { value: "vitest", precedence: 0, @@ -21,7 +21,7 @@ export default async function getPackageJson(props: TransformerProps) { precedence: 0, }) .addDependencies(["aws-cdk-lib", "constructs", "source-map-support"]) - .addDevDependencies(["cdk", "aws-cdk", "@types/node", "typescript", "esbuild", "vitest", "which", "@types/which"]) + .addDevDependencies(["cdk", "aws-cdk", "@types/node", "@types/which", "typescript", "esbuild", "vitest", "which"]) .addDevDependencies(["npm-run-all2"], ["deploy:aws"]) .addDevDependencies(["tsx"], ["cdk:app"]); } diff --git a/boilerplates/aws/files/tests/aws_handler.spec.ts b/boilerplates/aws/files/tests/aws_handler.spec.ts index b419bebf6..a830eb63f 100644 --- a/boilerplates/aws/files/tests/aws_handler.spec.ts +++ b/boilerplates/aws/files/tests/aws_handler.spec.ts @@ -3,7 +3,7 @@ import { beforeAll, describe, expect, it } from "vitest"; import { execSync } from "node:child_process"; import { existsSync, readdirSync, readFileSync, rmSync } from "node:fs"; import path from "node:path"; -import * as which from "which"; +import which from "which"; const bunExists = which.sync("bun", { nothrow: true }) !== null; const npmCli = bunExists ? "bun" : "pnpm"; diff --git a/packages/build/src/operations/transform.ts b/packages/build/src/operations/transform.ts index e57838044..36b2a3fc8 100644 --- a/packages/build/src/operations/transform.ts +++ b/packages/build/src/operations/transform.ts @@ -9,6 +9,9 @@ async function transformFileAfterExec(filepath: string, fileContent: unknown): P if (fileContent === undefined || fileContent === null) return null; if (typeof fileContent == "object" && typeof (fileContent as StringTransformer).finalize === "function") { fileContent = (fileContent as StringTransformer).finalize(); + if (typeof fileContent !== "string") { + throw new Error("finalize() must return a string"); + } } const parsed = parse(filepath); const toTest = [parsed.base, parsed.ext, parsed.name].filter(Boolean); diff --git a/packages/core/src/utils/package.ts b/packages/core/src/utils/package.ts index 00f350fe0..03afe6a1a 100644 --- a/packages/core/src/utils/package.ts +++ b/packages/core/src/utils/package.ts @@ -101,7 +101,9 @@ export class PackageJsonTransformer implements String this.packageJson.scripts ??= {}; this.packageJson.scripts[name] = args.value; PackageJsonTransformer.previousScripts[name] = Object.assign({ precedence: -Infinity }, args); - this.pendingReplacedScripts.push(name); + if (prev.value) { + this.pendingReplacedScripts.push(name); + } } else { if (args.warnIfReplaced && prev.value) { warnScript(name, args.value, prev.value); diff --git a/packages/core/tests/utils/package.spec.ts b/packages/core/tests/utils/package.spec.ts index bfbd2e888..2bf62e4af 100644 --- a/packages/core/tests/utils/package.spec.ts +++ b/packages/core/tests/utils/package.spec.ts @@ -1,4 +1,4 @@ -import { afterAll, afterEach, assert, beforeAll, describe, test } from "vitest"; +import { afterAll, afterEach, assert, beforeAll, beforeEach, describe, test } from "vitest"; import { PackageJsonTransformer } from "../../src/utils/package.js"; describe("dependencies", () => { @@ -144,10 +144,6 @@ describe("scripts", { sequential: true }, () => { }); describe("scripts + dependencies", { sequential: true }, () => { - afterAll(() => { - PackageJsonTransformer.clear(); - }); - let packageJson = { dependencies: { react: "^17.0.2", @@ -158,22 +154,54 @@ describe("scripts + dependencies", { sequential: true }, () => { lodash: "^4.17.21", }, }; - const transformer = new PackageJsonTransformer(packageJson, scopedPackageJson); + let transformer = new PackageJsonTransformer(packageJson, scopedPackageJson); + + afterAll(() => { + PackageJsonTransformer.clear(); + }); beforeAll(() => { transformer - .setScript("dev", { - value: "dev_script", + .setScript("my_script", { + value: "my_script", + precedence: 1, + }) + .setScript("my_script_2", { + value: "my_script_2", precedence: 1, }) - .addDependencies(["lodash"], ["dev"]); + .addDependencies(["lodash"], ["my_script", "my_script_2"]); packageJson = JSON.parse(transformer.finalize()); }); - test("remove", () => { - transformer.removeScript("dev"); + afterEach(() => { + packageJson = JSON.parse(transformer.finalize()); + }); + + beforeEach(() => { + transformer = new PackageJsonTransformer(packageJson, scopedPackageJson); + }); + + test("before", () => { const result = JSON.parse(transformer.finalize()); - assert.equal(result.scripts.dev, undefined); + assert.equal(result.scripts.my_script, "my_script"); + assert.equal(result.scripts.my_script_2, "my_script_2"); + assert.equal(result.dependencies.lodash, "^4.17.21"); + }); + + test("remove my_script", () => { + transformer.removeScript("my_script"); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.scripts.my_script, undefined); + assert.equal(result.scripts.my_script_2, "my_script_2"); + assert.equal(result.dependencies.lodash, "^4.17.21"); + }); + + test("remove my_script_2", () => { + transformer.removeScript("my_script_2"); + const result = JSON.parse(transformer.finalize()); + assert.equal(result.scripts.my_script, undefined); + assert.equal(result.scripts.my_script_2, undefined); assert.equal(result.dependencies.lodash, undefined); }); }); From 2068b2faa4960853dc1e6f088ca3f95c97efefd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABl=20Charles?= Date: Tue, 24 Sep 2024 18:14:24 +0200 Subject: [PATCH 5/6] chore: deps --- boilerplates/aws/package.json | 8 +- boilerplates/cloudflare/package.json | 2 +- boilerplates/d1/package.json | 2 +- boilerplates/edgedb/package.json | 2 +- boilerplates/eslint/package.json | 6 +- boilerplates/hono/package.json | 2 +- boilerplates/mantine/package.json | 2 +- boilerplates/prisma/package.json | 4 +- boilerplates/react-firebase-auth/package.json | 2 +- boilerplates/react-lucia-auth/package.json | 2 +- boilerplates/react-sentry/package.json | 2 +- boilerplates/react/package.json | 4 +- boilerplates/shadcn-ui/package.json | 2 +- boilerplates/solid-firebase-auth/package.json | 2 +- boilerplates/solid-lucia-auth/package.json | 2 +- boilerplates/solid-sentry/package.json | 2 +- boilerplates/solid/package.json | 4 +- boilerplates/tailwindcss/package.json | 2 +- boilerplates/vue/package.json | 2 +- package.json | 6 +- packages/cli/package.json | 2 +- packages/compile/package.json | 2 +- packages/core/package.json | 8 +- packages/tests/package.json | 2 +- pnpm-lock.yaml | 1000 ++++++++--------- website/package.json | 6 +- 26 files changed, 517 insertions(+), 563 deletions(-) diff --git a/boilerplates/aws/package.json b/boilerplates/aws/package.json index 7cb3ae2bb..ed75ce393 100644 --- a/boilerplates/aws/package.json +++ b/boilerplates/aws/package.json @@ -15,9 +15,9 @@ "@batijs/compile": "workspace:*", "@types/node": "^18.19.14", "@types/which": "^3.0.4", - "aws-cdk": "^2.159.1", - "aws-cdk-lib": "^2.159.1", - "cdk": "^2.159.1", + "aws-cdk": "^2.160.0", + "aws-cdk-lib": "^2.160.0", + "cdk": "^2.160.0", "constructs": "^10.3.0", "esbuild": "^0.24.0", "npm-run-all2": "^6.2.3", @@ -69,4 +69,4 @@ ] } } -} \ No newline at end of file +} diff --git a/boilerplates/cloudflare/package.json b/boilerplates/cloudflare/package.json index 8b41485b3..e62e9f3c1 100644 --- a/boilerplates/cloudflare/package.json +++ b/boilerplates/cloudflare/package.json @@ -18,7 +18,7 @@ "@types/node": "^18.19.14", "npm-run-all2": "^6.2.3", "vike-cloudflare": "^0.1.2", - "wrangler": "^3.78.7" + "wrangler": "^3.78.8" }, "dependencies": { "@batijs/core": "workspace:*" diff --git a/boilerplates/d1/package.json b/boilerplates/d1/package.json index a29f945b9..84c1d66de 100644 --- a/boilerplates/d1/package.json +++ b/boilerplates/d1/package.json @@ -17,7 +17,7 @@ "@types/node": "^18.19.14", "@universal-middleware/core": "^0.2.10", "vike": "^0.4.196", - "wrangler": "^3.78.7" + "wrangler": "^3.78.8" }, "dependencies": { "@batijs/core": "workspace:*" diff --git a/boilerplates/edgedb/package.json b/boilerplates/edgedb/package.json index 90ae73ee6..7c5c3d971 100644 --- a/boilerplates/edgedb/package.json +++ b/boilerplates/edgedb/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@batijs/compile": "workspace:*", "@edgedb/generate": "^0.5.6", - "@prisma/client": "^5.19.1", + "@prisma/client": "^5.20.0", "@types/node": "^18.19.14", "colorette": "^2.0.20", "edgedb": "^1.5.12" diff --git a/boilerplates/eslint/package.json b/boilerplates/eslint/package.json index f3ea344df..5a63de3f5 100644 --- a/boilerplates/eslint/package.json +++ b/boilerplates/eslint/package.json @@ -13,15 +13,15 @@ }, "devDependencies": { "@batijs/compile": "workspace:^", - "@eslint/js": "^9.11.0", - "eslint": "^9.11.0", + "@eslint/js": "^9.11.1", + "eslint": "^9.11.1", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react": "^7.36.1", "eslint-plugin-solid": "^0.14.3", "eslint-plugin-vue": "^9.28.0", "globals": "^15.9.0", - "typescript-eslint": "^8.6.0", + "typescript-eslint": "^8.7.0", "vue-eslint-parser": "^9.4.3" }, "dependencies": { diff --git a/boilerplates/hono/package.json b/boilerplates/hono/package.json index 4af373a34..94c5b15eb 100644 --- a/boilerplates/hono/package.json +++ b/boilerplates/hono/package.json @@ -23,7 +23,7 @@ "@universal-middleware/hono": "^0.2.8", "cross-env": "^7.0.3", "dotenv": "^16.4.5", - "hono": "^4.6.2", + "hono": "^4.6.3", "telefunc": "^0.1.79", "tsx": "^4.19.1", "vike": "^0.4.196", diff --git a/boilerplates/mantine/package.json b/boilerplates/mantine/package.json index ee3f90e1b..50907ce96 100644 --- a/boilerplates/mantine/package.json +++ b/boilerplates/mantine/package.json @@ -16,7 +16,7 @@ "@mantine/core": "^7.12.2", "@mantine/hooks": "^7.12.2", "@types/node": "^18.19.14", - "@types/react": "^18.3.8", + "@types/react": "^18.3.9", "@types/react-dom": "^18.3.0", "postcss": "^8.4.47", "postcss-preset-mantine": "^1.17.0", diff --git a/boilerplates/prisma/package.json b/boilerplates/prisma/package.json index 1a5b33a43..ec7b54a44 100644 --- a/boilerplates/prisma/package.json +++ b/boilerplates/prisma/package.json @@ -13,10 +13,10 @@ "license": "MIT", "devDependencies": { "@batijs/compile": "workspace:*", - "@prisma/client": "^5.19.1", + "@prisma/client": "^5.20.0", "@types/node": "^18.19.14", "colorette": "^2.0.20", - "prisma": "^5.19.1" + "prisma": "^5.20.0" }, "dependencies": { "@batijs/core": "workspace:*" diff --git a/boilerplates/react-firebase-auth/package.json b/boilerplates/react-firebase-auth/package.json index 31bff5417..9c7b26615 100644 --- a/boilerplates/react-firebase-auth/package.json +++ b/boilerplates/react-firebase-auth/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@batijs/compile": "workspace:*", "@types/node": "^18.19.14", - "@types/react": "^18.3.8", + "@types/react": "^18.3.9", "@types/react-dom": "^18.3.0", "firebase": "^10.13.2", "firebaseui": "^6.1.0", diff --git a/boilerplates/react-lucia-auth/package.json b/boilerplates/react-lucia-auth/package.json index e4b84b146..8f63ae33b 100644 --- a/boilerplates/react-lucia-auth/package.json +++ b/boilerplates/react-lucia-auth/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@batijs/compile": "workspace:*", "@types/node": "^18.19.14", - "@types/react": "^18.3.8", + "@types/react": "^18.3.9", "@types/react-dom": "^18.3.0", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/boilerplates/react-sentry/package.json b/boilerplates/react-sentry/package.json index e810ad1d5..5c80cfecc 100644 --- a/boilerplates/react-sentry/package.json +++ b/boilerplates/react-sentry/package.json @@ -15,7 +15,7 @@ "@batijs/compile": "workspace:*", "@sentry/react": "^8.31.0", "@types/node": "^18.19.14", - "@types/react": "^18.3.8", + "@types/react": "^18.3.9", "@types/react-dom": "^18.3.0", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/boilerplates/react/package.json b/boilerplates/react/package.json index c987e04f9..b65e25129 100644 --- a/boilerplates/react/package.json +++ b/boilerplates/react/package.json @@ -18,12 +18,12 @@ "@batijs/compile": "workspace:*", "@mantine/core": "^7.12.2", "@types/node": "^18.19.14", - "@types/react": "^18.3.8", + "@types/react": "^18.3.9", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", "react": "^18.3.1", "react-dom": "^18.3.1", - "tailwindcss": "^3.4.12", + "tailwindcss": "^3.4.13", "typescript": "^5.6.2", "vike": "^0.4.196", "vike-react": "^0.5.7", diff --git a/boilerplates/shadcn-ui/package.json b/boilerplates/shadcn-ui/package.json index 94d702d54..bc0d04310 100644 --- a/boilerplates/shadcn-ui/package.json +++ b/boilerplates/shadcn-ui/package.json @@ -19,7 +19,7 @@ "clsx": "^2.1.1", "lucide-react": "^0.445.0", "tailwind-merge": "^2.5.2", - "tailwindcss": "^3.4.12", + "tailwindcss": "^3.4.13", "tailwindcss-animate": "^1.0.7" }, "dependencies": { diff --git a/boilerplates/solid-firebase-auth/package.json b/boilerplates/solid-firebase-auth/package.json index 2519e2371..8e7382ccd 100644 --- a/boilerplates/solid-firebase-auth/package.json +++ b/boilerplates/solid-firebase-auth/package.json @@ -16,7 +16,7 @@ "@types/node": "^18.19.14", "firebase": "^10.13.2", "firebaseui": "^6.1.0", - "solid-js": "^1.8.22", + "solid-js": "^1.8.23", "vike": "^0.4.196", "vite": "^5.4.7" }, diff --git a/boilerplates/solid-lucia-auth/package.json b/boilerplates/solid-lucia-auth/package.json index 0cc53ab46..cbaa595e8 100644 --- a/boilerplates/solid-lucia-auth/package.json +++ b/boilerplates/solid-lucia-auth/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@batijs/compile": "workspace:*", "@types/node": "^18.19.14", - "solid-js": "^1.8.22", + "solid-js": "^1.8.23", "vike": "^0.4.196", "vite": "^5.4.7" }, diff --git a/boilerplates/solid-sentry/package.json b/boilerplates/solid-sentry/package.json index 349dbab70..9a3f968d7 100644 --- a/boilerplates/solid-sentry/package.json +++ b/boilerplates/solid-sentry/package.json @@ -15,7 +15,7 @@ "@batijs/compile": "workspace:*", "@sentry/solid": "^8.31.0", "@types/node": "^18.19.14", - "solid-js": "^1.8.22", + "solid-js": "^1.8.23", "vike-solid": "^0.7.5", "vite": "^5.4.7" }, diff --git a/boilerplates/solid/package.json b/boilerplates/solid/package.json index e2a56d8fc..545b51b01 100644 --- a/boilerplates/solid/package.json +++ b/boilerplates/solid/package.json @@ -14,8 +14,8 @@ "devDependencies": { "@batijs/compile": "workspace:*", "@types/node": "^18.19.14", - "solid-js": "^1.8.22", - "tailwindcss": "^3.4.12", + "solid-js": "^1.8.23", + "tailwindcss": "^3.4.13", "typescript": "^5.6.2", "vike": "^0.4.196", "vike-solid": "^0.7.5", diff --git a/boilerplates/tailwindcss/package.json b/boilerplates/tailwindcss/package.json index ea8dcc7ae..75ed430e4 100644 --- a/boilerplates/tailwindcss/package.json +++ b/boilerplates/tailwindcss/package.json @@ -17,7 +17,7 @@ "autoprefixer": "^10.4.20", "daisyui": "^4.12.10", "postcss": "^8.4.47", - "tailwindcss": "^3.4.12", + "tailwindcss": "^3.4.13", "vike": "^0.4.196", "vite": "^5.4.7" }, diff --git a/boilerplates/vue/package.json b/boilerplates/vue/package.json index 3438a8efe..2431add4f 100644 --- a/boilerplates/vue/package.json +++ b/boilerplates/vue/package.json @@ -17,7 +17,7 @@ "@vitejs/plugin-vue": "^5.1.4", "@vue/compiler-sfc": "^3.5.8", "@vue/server-renderer": "^3.5.8", - "tailwindcss": "^3.4.12", + "tailwindcss": "^3.4.13", "typescript": "^5.6.2", "unplugin-vue-markdown": "^0.26.2", "vike": "^0.4.196", diff --git a/package.json b/package.json index 280b17a5f..816442645 100644 --- a/package.json +++ b/package.json @@ -25,11 +25,11 @@ "author": "Joël Charles ", "license": "MIT", "devDependencies": { - "@eslint/js": "^9.11.0", + "@eslint/js": "^9.11.1", "@types/eslint__js": "^8.42.3", "bumpp": "^9.5.2", "citty": "^0.1.6", - "eslint": "^9.11.0", + "eslint": "^9.11.1", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react": "^7.36.1", @@ -41,7 +41,7 @@ "tsx": "^4.19.1", "turbo": "^2.1.2", "typescript": "^5.6.2", - "typescript-eslint": "^8.6.0", + "typescript-eslint": "^8.7.0", "vue-eslint-parser": "^9.4.3" }, "optionalDependencies": { diff --git a/packages/cli/package.json b/packages/cli/package.json index c17757bb6..a555035d3 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -26,7 +26,7 @@ "sift": "^17.1.3", "tsup": "^8.3.0", "typescript": "^5.6.2", - "unplugin-purge-polyfills": "^0.0.6", + "unplugin-purge-polyfills": "^0.0.7", "vite": "^5.4.7" }, "dependencies": { diff --git a/packages/compile/package.json b/packages/compile/package.json index bb94952be..cc97f8b1c 100644 --- a/packages/compile/package.json +++ b/packages/compile/package.json @@ -16,7 +16,7 @@ "devDependencies": { "@types/node": "^18.19.14", "typescript": "^5.6.2", - "unplugin-purge-polyfills": "^0.0.6" + "unplugin-purge-polyfills": "^0.0.7" }, "dependencies": { "esbuild": "^0.24.0", diff --git a/packages/core/package.json b/packages/core/package.json index 2ce1ae3b2..9794db936 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -21,11 +21,11 @@ "@types/estree": "^1.0.6", "@types/node": "^18.19.14", "@types/which": "^3.0.4", - "@typescript-eslint/parser": "^8.6.0", - "@typescript-eslint/utils": "^8.6.0", + "@typescript-eslint/parser": "^8.7.0", + "@typescript-eslint/utils": "^8.7.0", "colorette": "^2.0.20", "esbuild": "^0.24.0", - "eslint": "^9.11.0", + "eslint": "^9.11.1", "eslint-plugin-solid": "^0.14.3", "eslint-rule-composer": "^0.3.0", "espree": "^10.1.0", @@ -35,7 +35,7 @@ "tsup": "^8.3.0", "tsx": "^4.19.1", "typescript": "^5.6.2", - "unplugin-purge-polyfills": "^0.0.6", + "unplugin-purge-polyfills": "^0.0.7", "vitest": "^2.1.1", "vue-eslint-parser": "^9.4.3", "which": "^4.0.0", diff --git a/packages/tests/package.json b/packages/tests/package.json index d95a11e8e..1a412e5fe 100644 --- a/packages/tests/package.json +++ b/packages/tests/package.json @@ -30,7 +30,7 @@ "p-limit": "^6.1.0", "tsup": "^8.2.4", "tsx": "^4.17.0", - "turbo": "2.1.1", + "turbo": "2.1.2", "typescript": "^5.5.4", "vitest": "^2.0.5" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 13c2fd03b..dd6613f1f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,8 +33,8 @@ importers: version: 23.4.0(typescript@5.6.2) devDependencies: '@eslint/js': - specifier: ^9.11.0 - version: 9.11.0 + specifier: ^9.11.1 + version: 9.11.1 '@types/eslint__js': specifier: ^8.42.3 version: 8.42.3 @@ -45,23 +45,23 @@ importers: specifier: ^0.1.6 version: 0.1.6 eslint: - specifier: ^9.11.0 - version: 9.11.0(jiti@1.21.6) + specifier: ^9.11.1 + version: 9.11.1(jiti@1.21.6) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@9.11.0(jiti@1.21.6)) + version: 9.1.0(eslint@9.11.1(jiti@1.21.6)) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.11.0(jiti@1.21.6)))(eslint@9.11.0(jiti@1.21.6))(prettier@3.3.3) + version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.11.1(jiti@1.21.6)))(eslint@9.11.1(jiti@1.21.6))(prettier@3.3.3) eslint-plugin-react: specifier: ^7.36.1 - version: 7.36.1(eslint@9.11.0(jiti@1.21.6)) + version: 7.36.1(eslint@9.11.1(jiti@1.21.6)) eslint-plugin-solid: specifier: ^0.14.3 - version: 0.14.3(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + version: 0.14.3(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) eslint-plugin-vue: specifier: ^9.28.0 - version: 9.28.0(eslint@9.11.0(jiti@1.21.6)) + version: 9.28.0(eslint@9.11.1(jiti@1.21.6)) globals: specifier: ^15.9.0 version: 15.9.0 @@ -81,11 +81,11 @@ importers: specifier: ^5.6.2 version: 5.6.2 typescript-eslint: - specifier: ^8.6.0 - version: 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + specifier: ^8.7.0 + version: 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) vue-eslint-parser: specifier: ^9.4.3 - version: 9.4.3(eslint@9.11.0(jiti@1.21.6)) + version: 9.4.3(eslint@9.11.1(jiti@1.21.6)) boilerplates/auth0: dependencies: @@ -135,14 +135,14 @@ importers: specifier: ^3.0.4 version: 3.0.4 aws-cdk: - specifier: ^2.159.1 - version: 2.159.1 + specifier: ^2.160.0 + version: 2.160.0 aws-cdk-lib: - specifier: ^2.159.1 - version: 2.159.1(constructs@10.3.0) + specifier: ^2.160.0 + version: 2.160.0(constructs@10.3.0) cdk: - specifier: ^2.159.1 - version: 2.159.1 + specifier: ^2.160.0 + version: 2.160.0 constructs: specifier: ^10.3.0 version: 10.3.0 @@ -209,8 +209,8 @@ importers: specifier: ^0.1.2 version: 0.1.2(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) wrangler: - specifier: ^3.78.7 - version: 3.78.7(@cloudflare/workers-types@4.20240919.0) + specifier: ^3.78.8 + version: 3.78.8(@cloudflare/workers-types@4.20240919.0) boilerplates/compiled: dependencies: @@ -256,8 +256,8 @@ importers: specifier: ^0.4.196 version: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) wrangler: - specifier: ^3.78.7 - version: 3.78.7(@cloudflare/workers-types@4.20240919.0) + specifier: ^3.78.8 + version: 3.78.8(@cloudflare/workers-types@4.20240919.0) boilerplates/d1-sqlite: dependencies: @@ -307,7 +307,7 @@ importers: version: 0.24.2 drizzle-orm: specifier: ^0.33.0 - version: 0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.19.1(prisma@5.19.1))(@types/better-sqlite3@7.6.11)(@types/react@18.3.8)(better-sqlite3@11.3.0)(prisma@5.19.1)(react@18.3.1) + version: 0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/react@18.3.9)(better-sqlite3@11.3.0)(prisma@5.20.0)(react@18.3.1) boilerplates/edgedb: dependencies: @@ -322,8 +322,8 @@ importers: specifier: ^0.5.6 version: 0.5.6(edgedb@1.5.12) '@prisma/client': - specifier: ^5.19.1 - version: 5.19.1(prisma@5.19.1) + specifier: ^5.20.0 + version: 5.20.0(prisma@5.20.0) '@types/node': specifier: ^18.19.14 version: 18.19.44 @@ -344,35 +344,35 @@ importers: specifier: workspace:^ version: link:../../packages/compile '@eslint/js': - specifier: ^9.11.0 - version: 9.11.0 + specifier: ^9.11.1 + version: 9.11.1 eslint: - specifier: ^9.11.0 - version: 9.11.0(jiti@1.21.6) + specifier: ^9.11.1 + version: 9.11.1(jiti@1.21.6) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@9.11.0(jiti@1.21.6)) + version: 9.1.0(eslint@9.11.1(jiti@1.21.6)) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.11.0(jiti@1.21.6)))(eslint@9.11.0(jiti@1.21.6))(prettier@3.3.3) + version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.11.1(jiti@1.21.6)))(eslint@9.11.1(jiti@1.21.6))(prettier@3.3.3) eslint-plugin-react: specifier: ^7.36.1 - version: 7.36.1(eslint@9.11.0(jiti@1.21.6)) + version: 7.36.1(eslint@9.11.1(jiti@1.21.6)) eslint-plugin-solid: specifier: ^0.14.3 - version: 0.14.3(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + version: 0.14.3(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) eslint-plugin-vue: specifier: ^9.28.0 - version: 9.28.0(eslint@9.11.0(jiti@1.21.6)) + version: 9.28.0(eslint@9.11.1(jiti@1.21.6)) globals: specifier: ^15.9.0 version: 15.9.0 typescript-eslint: - specifier: ^8.6.0 - version: 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + specifier: ^8.7.0 + version: 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) vue-eslint-parser: specifier: ^9.4.3 - version: 9.4.3(eslint@9.11.0(jiti@1.21.6)) + version: 9.4.3(eslint@9.11.1(jiti@1.21.6)) boilerplates/express: dependencies: @@ -667,10 +667,10 @@ importers: version: 4.20240919.0 '@hono/node-server': specifier: ^1.13.1 - version: 1.13.1(hono@4.6.2) + version: 1.13.1(hono@4.6.3) '@hono/vite-dev-server': specifier: ^0.16.0 - version: 0.16.0(hono@4.6.2)(miniflare@3.20240909.4)(wrangler@3.78.7(@cloudflare/workers-types@4.20240919.0)) + version: 0.16.0(hono@4.6.3)(miniflare@3.20240909.5)(wrangler@3.78.8(@cloudflare/workers-types@4.20240919.0)) '@trpc/server': specifier: ^10.45.2 version: 10.45.2 @@ -690,8 +690,8 @@ importers: specifier: ^16.4.5 version: 16.4.5 hono: - specifier: ^4.6.2 - version: 4.6.2 + specifier: ^4.6.3 + version: 4.6.3 telefunc: specifier: ^0.1.79 version: 0.1.79(@babel/core@7.25.2)(@babel/parser@7.25.6)(@babel/types@7.25.6)(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) @@ -719,7 +719,7 @@ importers: version: 4.20240919.0 '@lucia-auth/adapter-drizzle': specifier: ^1.1.0 - version: 1.1.0(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.19.1(prisma@5.19.1))(@types/better-sqlite3@7.6.11)(@types/react@18.3.8)(better-sqlite3@11.3.0)(prisma@5.19.1)(react@18.3.1))(lucia@3.2.0) + version: 1.1.0(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/react@18.3.9)(better-sqlite3@11.3.0)(prisma@5.20.0)(react@18.3.1))(lucia@3.2.0) '@lucia-auth/adapter-sqlite': specifier: ^3.0.2 version: 3.0.2(better-sqlite3@11.3.0)(lucia@3.2.0) @@ -749,7 +749,7 @@ importers: version: 16.4.5 drizzle-orm: specifier: ^0.33.0 - version: 0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.19.1(prisma@5.19.1))(@types/better-sqlite3@7.6.11)(@types/react@18.3.8)(better-sqlite3@11.3.0)(prisma@5.19.1)(react@18.3.1) + version: 0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/react@18.3.9)(better-sqlite3@11.3.0)(prisma@5.20.0)(react@18.3.1) lucia: specifier: ^3.2.0 version: 3.2.0 @@ -771,7 +771,7 @@ importers: version: link:../../packages/compile '@mantine/core': specifier: ^7.12.2 - version: 7.12.2(@mantine/hooks@7.12.2(react@18.3.1))(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 7.12.2(@mantine/hooks@7.12.2(react@18.3.1))(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mantine/hooks': specifier: ^7.12.2 version: 7.12.2(react@18.3.1) @@ -779,8 +779,8 @@ importers: specifier: ^18.19.14 version: 18.19.44 '@types/react': - specifier: ^18.3.8 - version: 18.3.8 + specifier: ^18.3.9 + version: 18.3.9 '@types/react-dom': specifier: ^18.3.0 version: 18.3.0 @@ -835,8 +835,8 @@ importers: specifier: workspace:* version: link:../../packages/compile '@prisma/client': - specifier: ^5.19.1 - version: 5.19.1(prisma@5.19.1) + specifier: ^5.20.0 + version: 5.20.0(prisma@5.20.0) '@types/node': specifier: ^18.19.14 version: 18.19.44 @@ -844,8 +844,8 @@ importers: specifier: ^2.0.20 version: 2.0.20 prisma: - specifier: ^5.19.1 - version: 5.19.1 + specifier: ^5.20.0 + version: 5.20.0 boilerplates/react: dependencies: @@ -867,13 +867,13 @@ importers: version: link:../../packages/compile '@mantine/core': specifier: ^7.12.2 - version: 7.12.2(@mantine/hooks@7.12.2(react@18.3.1))(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 7.12.2(@mantine/hooks@7.12.2(react@18.3.1))(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': specifier: ^18.19.14 version: 18.19.44 '@types/react': - specifier: ^18.3.8 - version: 18.3.8 + specifier: ^18.3.9 + version: 18.3.9 '@types/react-dom': specifier: ^18.3.0 version: 18.3.0 @@ -887,8 +887,8 @@ importers: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) tailwindcss: - specifier: ^3.4.12 - version: 3.4.12 + specifier: ^3.4.13 + version: 3.4.13 typescript: specifier: ^5.6.2 version: 5.6.2 @@ -918,8 +918,8 @@ importers: specifier: ^18.19.14 version: 18.19.44 '@types/react': - specifier: ^18.3.8 - version: 18.3.8 + specifier: ^18.3.9 + version: 18.3.9 '@types/react-dom': specifier: ^18.3.0 version: 18.3.0 @@ -955,8 +955,8 @@ importers: specifier: ^18.19.14 version: 18.19.44 '@types/react': - specifier: ^18.3.8 - version: 18.3.8 + specifier: ^18.3.9 + version: 18.3.9 '@types/react-dom': specifier: ^18.3.0 version: 18.3.0 @@ -989,8 +989,8 @@ importers: specifier: ^18.19.14 version: 18.19.44 '@types/react': - specifier: ^18.3.8 - version: 18.3.8 + specifier: ^18.3.9 + version: 18.3.9 '@types/react-dom': specifier: ^18.3.0 version: 18.3.0 @@ -1051,11 +1051,11 @@ importers: specifier: ^2.5.2 version: 2.5.2 tailwindcss: - specifier: ^3.4.12 - version: 3.4.12 + specifier: ^3.4.13 + version: 3.4.13 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.12) + version: 1.0.7(tailwindcss@3.4.13) boilerplates/shared: devDependencies: @@ -1166,11 +1166,11 @@ importers: specifier: ^18.19.14 version: 18.19.44 solid-js: - specifier: ^1.8.22 - version: 1.8.22 + specifier: ^1.8.23 + version: 1.8.23 tailwindcss: - specifier: ^3.4.12 - version: 3.4.12 + specifier: ^3.4.13 + version: 3.4.13 typescript: specifier: ^5.6.2 version: 5.6.2 @@ -1179,13 +1179,13 @@ importers: version: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) vike-solid: specifier: ^0.7.5 - version: 0.7.5(solid-js@1.8.22)(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) + version: 0.7.5(solid-js@1.8.23)(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) vite: specifier: ^5.4.7 version: 5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47)) vite-plugin-solid: specifier: ^2.10.2 - version: 2.10.2(solid-js@1.8.22)(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) + version: 2.10.2(solid-js@1.8.23)(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) boilerplates/solid-firebase-auth: dependencies: @@ -1206,8 +1206,8 @@ importers: specifier: ^6.1.0 version: 6.1.0(firebase@10.13.2) solid-js: - specifier: ^1.8.22 - version: 1.8.22 + specifier: ^1.8.23 + version: 1.8.23 vike: specifier: ^0.4.196 version: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) @@ -1228,8 +1228,8 @@ importers: specifier: ^18.19.14 version: 18.19.44 solid-js: - specifier: ^1.8.22 - version: 1.8.22 + specifier: ^1.8.23 + version: 1.8.23 vike: specifier: ^0.4.196 version: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) @@ -1248,16 +1248,16 @@ importers: version: link:../../packages/compile '@sentry/solid': specifier: ^8.31.0 - version: 8.31.0(solid-js@1.8.22) + version: 8.31.0(solid-js@1.8.23) '@types/node': specifier: ^18.19.14 version: 18.19.44 solid-js: - specifier: ^1.8.22 - version: 1.8.22 + specifier: ^1.8.23 + version: 1.8.23 vike-solid: specifier: ^0.7.5 - version: 0.7.5(solid-js@1.8.22)(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) + version: 0.7.5(solid-js@1.8.23)(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) vite: specifier: ^5.4.7 version: 5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47)) @@ -1309,8 +1309,8 @@ importers: specifier: ^8.4.47 version: 8.4.47 tailwindcss: - specifier: ^3.4.12 - version: 3.4.12 + specifier: ^3.4.13 + version: 3.4.13 vike: specifier: ^0.4.196 version: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) @@ -1449,14 +1449,14 @@ importers: specifier: ^3.5.8 version: 3.5.8(vue@3.5.8(typescript@5.6.2)) tailwindcss: - specifier: ^3.4.12 - version: 3.4.12 + specifier: ^3.4.13 + version: 3.4.13 typescript: specifier: ^5.6.2 version: 5.6.2 unplugin-vue-markdown: specifier: ^0.26.2 - version: 0.26.2(rollup@4.21.2)(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) + version: 0.26.2(rollup@4.22.4)(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47)))(webpack-sources@3.2.3) vike: specifier: ^0.4.196 version: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) @@ -1616,8 +1616,8 @@ importers: specifier: ^5.6.2 version: 5.6.2 unplugin-purge-polyfills: - specifier: ^0.0.6 - version: 0.0.6(rollup@4.21.2) + specifier: ^0.0.7 + version: 0.0.7(rollup@4.22.4)(webpack-sources@3.2.3) vite: specifier: ^5.4.7 version: 5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47)) @@ -1644,8 +1644,8 @@ importers: specifier: ^5.6.2 version: 5.6.2 unplugin-purge-polyfills: - specifier: ^0.0.6 - version: 0.0.6(rollup@4.21.2) + specifier: ^0.0.7 + version: 0.0.7(rollup@4.22.4)(webpack-sources@3.2.3) packages/core: devDependencies: @@ -1665,11 +1665,11 @@ importers: specifier: ^3.0.4 version: 3.0.4 '@typescript-eslint/parser': - specifier: ^8.6.0 - version: 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + specifier: ^8.7.0 + version: 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) '@typescript-eslint/utils': - specifier: ^8.6.0 - version: 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + specifier: ^8.7.0 + version: 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) colorette: specifier: ^2.0.20 version: 2.0.20 @@ -1677,11 +1677,11 @@ importers: specifier: ^0.24.0 version: 0.24.0 eslint: - specifier: ^9.11.0 - version: 9.11.0(jiti@1.21.6) + specifier: ^9.11.1 + version: 9.11.1(jiti@1.21.6) eslint-plugin-solid: specifier: ^0.14.3 - version: 0.14.3(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + version: 0.14.3(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) eslint-rule-composer: specifier: ^0.3.0 version: 0.3.0 @@ -1707,14 +1707,14 @@ importers: specifier: ^5.6.2 version: 5.6.2 unplugin-purge-polyfills: - specifier: ^0.0.6 - version: 0.0.6(rollup@4.21.2) + specifier: ^0.0.7 + version: 0.0.7(rollup@4.22.4)(webpack-sources@3.2.3) vitest: specifier: ^2.1.1 version: 2.1.1(@types/node@18.19.44)(happy-dom@15.7.4)(sugarss@4.0.1(postcss@8.4.47)) vue-eslint-parser: specifier: ^9.4.3 - version: 9.4.3(eslint@9.11.0(jiti@1.21.6)) + version: 9.4.3(eslint@9.11.1(jiti@1.21.6)) which: specifier: ^4.0.0 version: 4.0.0 @@ -1791,8 +1791,8 @@ importers: specifier: ^4.17.0 version: 4.19.1 turbo: - specifier: 2.1.1 - version: 2.1.1 + specifier: 2.1.2 + version: 2.1.2 typescript: specifier: ^5.5.4 version: 5.6.2 @@ -1853,7 +1853,7 @@ importers: version: 0.2.8 '@solid-primitives/scheduled': specifier: ^1.4.3 - version: 1.4.3(solid-js@1.8.22) + version: 1.4.3(solid-js@1.8.23) '@stackblitz/sdk': specifier: ^1.11.0 version: 1.11.0 @@ -1880,16 +1880,16 @@ importers: version: 8.4.47 solid-element: specifier: ^1.8.1 - version: 1.8.1(solid-js@1.8.22) + version: 1.8.1(solid-js@1.8.23) solid-js: - specifier: ^1.8.22 - version: 1.8.22 + specifier: ^1.8.23 + version: 1.8.23 solid-motionone: - specifier: ^1.0.1 - version: 1.0.1(solid-js@1.8.22) + specifier: ^1.0.2 + version: 1.0.2(solid-js@1.8.23) tailwindcss: - specifier: ^3.4.12 - version: 3.4.12 + specifier: ^3.4.13 + version: 3.4.13 tslib: specifier: ^2.7.0 version: 2.7.0 @@ -1898,16 +1898,16 @@ importers: version: 5.6.2 vike: specifier: ^0.4.196 - version: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))) + version: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))) vike-solid: specifier: ^0.7.5 - version: 0.7.5(solid-js@1.8.22)(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))) + version: 0.7.5(solid-js@1.8.23)(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))) vite: specifier: ^5.4.7 - version: 5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47)) + version: 5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47)) vite-plugin-solid: specifier: ^2.10.2 - version: 2.10.2(solid-js@1.8.22)(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))) + version: 2.10.2(solid-js@1.8.23)(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))) packages: @@ -1939,8 +1939,8 @@ packages: nodemailer: optional: true - '@aws-cdk/asset-awscli-v1@2.2.202': - resolution: {integrity: sha512-JqlF0D4+EVugnG5dAsNZMqhu3HW7ehOXm5SDMxMbXNDMdsF0pxtQKNHRl52z1U9igsHmaFpUgSGjbhAJ+0JONg==} + '@aws-cdk/asset-awscli-v1@2.2.204': + resolution: {integrity: sha512-cm7aZKIubmBAS5IOkGEmh3h8VlKeOsNlLJJ39MnbmGZxXcW7+WaqIS7S4Z3YLKrs6EVQnrP8XQ2kt3cjkqKIJg==} '@aws-cdk/asset-kubectl-v20@2.1.2': resolution: {integrity: sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==} @@ -1948,9 +1948,8 @@ packages: '@aws-cdk/asset-node-proxy-agent-v6@2.1.0': resolution: {integrity: sha512-7bY3J8GCVxLupn/kNmpPc5VJz8grx+4RKfnnJiO1LG+uxkZfANZG3RMHhE+qQxxwkyQ9/MfPtTpf748UhR425A==} - '@aws-cdk/cloud-assembly-schema@36.0.24': - resolution: {integrity: sha512-dHyb4lvd6nbNHLVvdyxVPgwc0MyzN3VzIJnWwGJWKOIwVqL7hvU2NkQQrktY9T2MtdhzUdDFm9qluxuLRV5Cfw==} - engines: {node: '>= 18.18.0'} + '@aws-cdk/cloud-assembly-schema@38.0.1': + resolution: {integrity: sha512-KvPe+NMWAulfNVwY7jenFhzhuLhLqJ/OPy5jx7wUstbjnYnjRVLpUHPU3yCjXFE0J8cuJVdx95BJ4rOs66Pi9w==} bundledDependencies: - jsonschema - semver @@ -2217,8 +2216,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-shared@0.5.3': - resolution: {integrity: sha512-Yk5Im7zsyKbzd7qi+DrL7ZJR9+bdZwq9BqZWS4muDIWA8MCUeSLsUC+C9u+jdwfPSi5It2AcQG4f0iwZr6jkkQ==} + '@cloudflare/workers-shared@0.5.4': + resolution: {integrity: sha512-PNL/0TjKRdUHa1kwgVdqUNJVZ9ez4kacsi8omz+gv859EvJmsVuGiMAClY2YfJnC9LVKhKCcjqmFgKNXG9/IXA==} engines: {node: '>=16.7.0'} '@cloudflare/workers-types@4.20240919.0': @@ -3123,20 +3122,24 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.0': - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/config-array@0.18.0': resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.6.0': + resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.1.0': resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.11.0': - resolution: {integrity: sha512-LPkkenkDqyzTFauZLLAPhIb48fj6drrfMvRGSL9tS3AcZBSVTllemLSNyCvHNNL2t797S/6DJNSIwRwXgMO/eQ==} + '@eslint/js@9.11.1': + resolution: {integrity: sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': @@ -4099,8 +4102,8 @@ packages: '@polka/url@1.0.0-next.25': resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} - '@prisma/client@5.19.1': - resolution: {integrity: sha512-x30GFguInsgt+4z5I4WbkZP2CGpotJMUXy+Gl/aaUjHn2o1DnLYNTA+q9XdYmAQZM8fIIkvUiA2NpgosM3fneg==} + '@prisma/client@5.20.0': + resolution: {integrity: sha512-CLv55ZuMuUawMsxoqxGtLT3bEZoa2W8L3Qnp6rDIFWy+ZBrUcOFKdoeGPSnbBqxc3SkdxJrF+D1veN/WNynZYA==} engines: {node: '>=16.13'} peerDependencies: prisma: '*' @@ -4108,20 +4111,20 @@ packages: prisma: optional: true - '@prisma/debug@5.19.1': - resolution: {integrity: sha512-lAG6A6QnG2AskAukIEucYJZxxcSqKsMK74ZFVfCTOM/7UiyJQi48v6TQ47d6qKG3LbMslqOvnTX25dj/qvclGg==} + '@prisma/debug@5.20.0': + resolution: {integrity: sha512-oCx79MJ4HSujokA8S1g0xgZUGybD4SyIOydoHMngFYiwEwYDQ5tBQkK5XoEHuwOYDKUOKRn/J0MEymckc4IgsQ==} - '@prisma/engines-version@5.19.1-2.69d742ee20b815d88e17e54db4a2a7a3b30324e3': - resolution: {integrity: sha512-xR6rt+z5LnNqTP5BBc+8+ySgf4WNMimOKXRn6xfNRDSpHvbOEmd7+qAOmzCrddEc4Cp8nFC0txU14dstjH7FXA==} + '@prisma/engines-version@5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284': + resolution: {integrity: sha512-Lg8AS5lpi0auZe2Mn4gjuCg081UZf88k3cn0RCwHgR+6cyHHpttPZBElJTHf83ZGsRNAmVCZCfUGA57WB4u4JA==} - '@prisma/engines@5.19.1': - resolution: {integrity: sha512-kR/PoxZDrfUmbbXqqb8SlBBgCjvGaJYMCOe189PEYzq9rKqitQ2fvT/VJ8PDSe8tTNxhc2KzsCfCAL+Iwm/7Cg==} + '@prisma/engines@5.20.0': + resolution: {integrity: sha512-DtqkP+hcZvPEbj8t8dK5df2b7d3B8GNauKqaddRRqQBBlgkbdhJkxhoJTrOowlS3vaRt2iMCkU0+CSNn0KhqAQ==} - '@prisma/fetch-engine@5.19.1': - resolution: {integrity: sha512-pCq74rtlOVJfn4pLmdJj+eI4P7w2dugOnnTXpRilP/6n5b2aZiA4ulJlE0ddCbTPkfHmOL9BfaRgA8o+1rfdHw==} + '@prisma/fetch-engine@5.20.0': + resolution: {integrity: sha512-JVcaPXC940wOGpCOwuqQRTz6I9SaBK0c1BAyC1pcz9xBi+dzFgUu3G/p9GV1FhFs9OKpfSpIhQfUJE9y00zhqw==} - '@prisma/get-platform@5.19.1': - resolution: {integrity: sha512-sCeoJ+7yt0UjnR+AXZL7vXlg5eNxaFOwC23h0KvW1YIXUoa7+W2ZcAUhoEQBmJTW4GrFqCuZ8YSP0mkDa4k3Zg==} + '@prisma/get-platform@5.20.0': + resolution: {integrity: sha512-8/+CehTZZNzJlvuryRgc77hZCWrUDYd/PmlZ7p2yNXtmf2Una4BWnTbak3us6WVdqoz5wmptk6IhsXdG2v5fmA==} '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -4185,8 +4188,8 @@ packages: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} - '@rollup/pluginutils@5.1.0': - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + '@rollup/pluginutils@5.1.2': + resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -4194,83 +4197,83 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.21.2': - resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} + '@rollup/rollup-android-arm-eabi@4.22.4': + resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.21.2': - resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} + '@rollup/rollup-android-arm64@4.22.4': + resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.21.2': - resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} + '@rollup/rollup-darwin-arm64@4.22.4': + resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.2': - resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} + '@rollup/rollup-darwin-x64@4.22.4': + resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': - resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} + '@rollup/rollup-linux-arm-gnueabihf@4.22.4': + resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.2': - resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} + '@rollup/rollup-linux-arm-musleabihf@4.22.4': + resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.2': - resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} + '@rollup/rollup-linux-arm64-gnu@4.22.4': + resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.2': - resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} + '@rollup/rollup-linux-arm64-musl@4.22.4': + resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': - resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': + resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.2': - resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} + '@rollup/rollup-linux-riscv64-gnu@4.22.4': + resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.2': - resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} + '@rollup/rollup-linux-s390x-gnu@4.22.4': + resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.2': - resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} + '@rollup/rollup-linux-x64-gnu@4.22.4': + resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.2': - resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} + '@rollup/rollup-linux-x64-musl@4.22.4': + resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.21.2': - resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} + '@rollup/rollup-win32-arm64-msvc@4.22.4': + resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.2': - resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} + '@rollup/rollup-win32-ia32-msvc@4.22.4': + resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.2': - resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} + '@rollup/rollup-win32-x64-msvc@4.22.4': + resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} cpu: [x64] os: [win32] @@ -4606,11 +4609,11 @@ packages: '@types/node@18.19.44': resolution: {integrity: sha512-ZsbGerYg72WMXUIE9fYxtvfzLEuq6q8mKERdWFnqTmOvudMxnz+CBNRoOwJ2kNpFOncrKjT1hZwxjlFgQ9qvQA==} - '@types/node@22.5.4': - resolution: {integrity: sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==} + '@types/node@22.6.1': + resolution: {integrity: sha512-V48tCfcKb/e6cVUigLAaJDAILdMP0fUW6BidkPK4GpGjXcfbnoHasCZDwz3N3yVt5we2RHm4XTQCpv0KJz9zqw==} - '@types/prop-types@15.7.12': - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + '@types/prop-types@15.7.13': + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} '@types/qs@6.9.15': resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} @@ -4621,8 +4624,8 @@ packages: '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - '@types/react@18.3.8': - resolution: {integrity: sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==} + '@types/react@18.3.9': + resolution: {integrity: sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ==} '@types/request@2.48.12': resolution: {integrity: sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==} @@ -4648,8 +4651,8 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.6.0': - resolution: {integrity: sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==} + '@typescript-eslint/eslint-plugin@8.7.0': + resolution: {integrity: sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -4659,8 +4662,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.6.0': - resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==} + '@typescript-eslint/parser@8.7.0': + resolution: {integrity: sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -4669,12 +4672,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.6.0': - resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==} + '@typescript-eslint/scope-manager@8.7.0': + resolution: {integrity: sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.6.0': - resolution: {integrity: sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==} + '@typescript-eslint/type-utils@8.7.0': + resolution: {integrity: sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -4682,12 +4685,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.6.0': - resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==} + '@typescript-eslint/types@8.7.0': + resolution: {integrity: sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.6.0': - resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==} + '@typescript-eslint/typescript-estree@8.7.0': + resolution: {integrity: sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -4695,14 +4698,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.6.0': - resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==} + '@typescript-eslint/utils@8.7.0': + resolution: {integrity: sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.6.0': - resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==} + '@typescript-eslint/visitor-keys@8.7.0': + resolution: {integrity: sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@universal-middleware/core@0.2.10': @@ -4864,8 +4867,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} acorn@8.12.1: @@ -5001,8 +5004,8 @@ packages: resolution: {integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==} engines: {node: '>=6.0.0'} - aws-cdk-lib@2.159.1: - resolution: {integrity: sha512-zcOyAs3+DTu+CtLehdOgvyosZ7nbLZ+OfBE6uVNMshXm957oXJrLsu6hehLt81TDxfItWYNluFcXkwepZDm6Ng==} + aws-cdk-lib@2.160.0: + resolution: {integrity: sha512-HJvn1lKmyZk1i56j4sgOddRfoDto9L/INgXSWmLzDdnMdMQWRvB/dbPQPrF1voVN26UKmrNdH9Irr0soMD5B1A==} engines: {node: '>= 14.15.0'} peerDependencies: constructs: ^10.0.0 @@ -5019,8 +5022,8 @@ packages: - yaml - mime-types - aws-cdk@2.159.1: - resolution: {integrity: sha512-bkJOxic/NpJYQCF3MQhfyJVlFtIzMJeVGZp9jZa7TczxJp79Q/TNKzVJYv6GFabNS1wglGPfWkFB/rIJlRhJkg==} + aws-cdk@2.160.0: + resolution: {integrity: sha512-JquccawrU2dp0cS80my65oLLNRUJZflKRKIRSVjQ1A9W4bNns/xhSqaVlL41NAsGSYBWxCzzWHrV3yOFShU87A==} engines: {node: '>= 14.15.0'} hasBin: true @@ -5206,8 +5209,8 @@ packages: capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} - cdk@2.159.1: - resolution: {integrity: sha512-zaCMVDg9YuCOLwEifTnHWqIzyZxIkOJa9+y7GAV7UdL64IRqrdZddpzjZJVzSKPNY4PqmWnLM/v42wDxr0Z+zA==} + cdk@2.160.0: + resolution: {integrity: sha512-9BWJ2FrSYvMWAZJwRsjQYmLI4Edz4szE5K+RBvNYhkeGbXF1vsojRDed5NIOgWyVZ3ClUgkPFy3CjLdlkRQdSQ==} engines: {node: '>= 14.15.0'} hasBin: true @@ -5919,8 +5922,8 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.11.0: - resolution: {integrity: sha512-yVS6XODx+tMFMDFcG4+Hlh+qG7RM6cCJXtQhCKLSsr3XkLvWggHjCqjfh0XsPPnt1c56oaT6PMgW9XWQQjdHXA==} + eslint@9.11.1: + resolution: {integrity: sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -6456,8 +6459,8 @@ packages: hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - hono@4.6.2: - resolution: {integrity: sha512-v+39817TgAhetmHUEli8O0uHDmxp2Up3DnhS4oUZXOl5IQ9np9tYtldd42e5zgdLVS0wsOoXQNZ6mx+BGmEvCA==} + hono@4.6.3: + resolution: {integrity: sha512-0LeEuBNFeSHGqZ9sNVVgZjB1V5fmhkBSB0hZrpqStSMLOWgfLy0dHOvrjbJh0H2khsjet6rbHfWTHY0kpYThKQ==} engines: {node: '>=16.9.0'} html-entities@2.3.3: @@ -7104,8 +7107,8 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} mime-db@1.52.0: @@ -7146,8 +7149,8 @@ packages: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - miniflare@3.20240909.4: - resolution: {integrity: sha512-uiMjmv9vYIMgUn5PovS/2XzvnSgm04GxtoreNb7qiaDdp1YMhPPtnmV+EKOKyPSlVc7fCt/glzqSX9atUBXa2A==} + miniflare@3.20240909.5: + resolution: {integrity: sha512-3Am3D9LGDljEKWnylSy6hFg3LFnNCo9DlWqZFcL7QkuIhQwN6Sqz1d6xQCkgft7FVXnykG6VNpz0NrjdW+mBjg==} engines: {node: '>=16.13'} hasBin: true @@ -7939,8 +7942,8 @@ packages: prism-themes@1.9.0: resolution: {integrity: sha512-tX2AYsehKDw1EORwBps+WhBFKc2kxfoFpQAjxBndbZKr4fRmMkv47XN0BghC/K1qwodB1otbe4oF23vUTFDokw==} - prisma@5.19.1: - resolution: {integrity: sha512-c5K9MiDaa+VAAyh1OiYk76PXOme9s3E992D7kvvIOhCrNsBQfy2mP2QAQtX0WNj140IgG++12kwZpYB9iIydNQ==} + prisma@5.20.0: + resolution: {integrity: sha512-6obb3ucKgAnsGS9x9gLOe8qa51XxvJ3vLQtmyf52CTey1Qcez3A6W6ROH5HIz5Q5bW+0VpmZb8WBohieMFGpig==} engines: {node: '>=16.13'} hasBin: true @@ -8260,8 +8263,8 @@ packages: rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - rollup@4.21.2: - resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} + rollup@4.22.4: + resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -8433,11 +8436,11 @@ packages: peerDependencies: solid-js: ^1.8.18 - solid-js@1.8.22: - resolution: {integrity: sha512-VBzN5j+9Y4rqIKEnK301aBk+S7fvFSTs9ljg+YEdFxjNjH0hkjXPiQRcws9tE5fUzMznSS6KToL5hwMfHDgpLA==} + solid-js@1.8.23: + resolution: {integrity: sha512-0jKzMgxmU/b3k4iJmIZJW2BIArrHN+Mug0n7m7MeHvGHWiS57ZdyTmnqNMSbGRvE73QBnTiGFJc90cPPieawaA==} - solid-motionone@1.0.1: - resolution: {integrity: sha512-gkbrSikDMXFyYgqmAwVi80URtsv3YTcrGIEJdwLajlneMrW58V4qQCzTMSPlmirYU48wG7hWgwW6idJoPQ9Fwg==} + solid-motionone@1.0.2: + resolution: {integrity: sha512-nMdfTZND5FzZSD5gcaSmjjgF7aldMmk4PHC88rUSSdUcrCP/LlVl0xMoy/qncQihgkqHRW0ywewbpE/+ToEibA==} engines: {node: '>=20', pnpm: '>=9.0.0'} peerDependencies: solid-js: ^1.8.0 @@ -8663,8 +8666,8 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' - tailwindcss@3.4.12: - resolution: {integrity: sha512-Htf/gHj2+soPb9UayUNci/Ja3d8pTmu9ONTfh4QY8r3MATTZOzmv6UYWF7ZwikEIC8okpfqmGqrmDehua8mF8w==} + tailwindcss@3.4.13: + resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==} engines: {node: '>=14.0.0'} hasBin: true @@ -8862,70 +8865,36 @@ packages: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - turbo-darwin-64@2.1.1: - resolution: {integrity: sha512-aYNuJpZlCoi0Htd79fl/2DywpewGKijdXeOfg9KzNuPVKzSMYlAXuAlNGh0MKjiOcyqxQGL7Mq9LFhwA0VpDpQ==} - cpu: [x64] - os: [darwin] - turbo-darwin-64@2.1.2: resolution: {integrity: sha512-3TEBxHWh99h2yIzkuIigMEOXt/ItYQp0aPiJjPd1xN4oDcsKK5AxiFKPH9pdtfIBzYsY59kQhZiFj0ELnSP7Bw==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.1.1: - resolution: {integrity: sha512-tifJKD8yHY48rHXPMcM8o1jI/Jk2KCaXiNjTKvvy9Zsim61BZksNVLelIbrRoCGwAN6PUBZO2lGU5iL/TQJ5Pw==} - cpu: [arm64] - os: [darwin] - turbo-darwin-arm64@2.1.2: resolution: {integrity: sha512-he0miWNq2WxJzsH82jS2Z4MXpnkzn9SH8a79iPXiJkq25QREImucscM4RPasXm8wARp91pyysJMq6aasD45CeA==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.1.1: - resolution: {integrity: sha512-Js6d/bSQe9DuV9c7ITXYpsU/ADzFHABdz1UIHa7Oqjj9VOEbFeA9WpAn0c+mdJrVD+IXJFbbDZUjN7VYssmtcg==} - cpu: [x64] - os: [linux] - turbo-linux-64@2.1.2: resolution: {integrity: sha512-fKUBcc0rK8Vdqv5a/E3CSpMBLG1bzwv+Q0Q83F8fG2ZfNCNKGbcEYABdonNZkkx141Rj03cZQFCgxu3MVEGU+A==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.1.1: - resolution: {integrity: sha512-LidzTCq0yvQ+N8w8Qub9FmhQ/mmEIeoqFi7DSupekEV2EjvE9jw/zYc9Pk67X+g7dHVfgOnvVzmrjChdxpFePw==} - cpu: [arm64] - os: [linux] - turbo-linux-arm64@2.1.2: resolution: {integrity: sha512-sV8Bpmm0WiuxgbhxymcC7wSsuxfBBieI98GegSwbr/bs1ANAgzCg93urIrdKdQ3/b31zZxQwcaP4FBF1wx1Qdg==} cpu: [arm64] os: [linux] - turbo-windows-64@2.1.1: - resolution: {integrity: sha512-GKc9ZywKwy4xLDhwXd6H07yzl0TB52HjXMrFLyHGhCVnf/w0oq4sLJv2sjbvuarPjsyx4xnCBJ3m3oyL2XmFtA==} - cpu: [x64] - os: [win32] - turbo-windows-64@2.1.2: resolution: {integrity: sha512-wcmIJZI9ORT9ykHGliFE6kWRQrlH930QGSjSgWC8uFChFFuOyUlvC7ttcxuSvU9VqC7NF4C+GVAcFJQ8lTjN7g==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.1.1: - resolution: {integrity: sha512-oFKkMj11KKUv3xSK9/fhAEQTxLUp1Ol1EOktwc32+SFtEU0uls7kosAz0b+qe8k3pJGEMFdDPdqoEjyJidbxtQ==} - cpu: [arm64] - os: [win32] - turbo-windows-arm64@2.1.2: resolution: {integrity: sha512-zdnXjrhk7YO6CP+Q5wPueEvOCLH4lDa6C4rrwiakcWcPgcQGbVozJlo4uaQ6awo8HLWQEvOwu84RkWTdLAc/Hw==} cpu: [arm64] os: [win32] - turbo@2.1.1: - resolution: {integrity: sha512-u9gUDkmR9dFS8b5kAYqIETK4OnzsS4l2ragJ0+soSMHh6VEeNHjTfSjk1tKxCqLyziCrPogadxP680J+v6yGHw==} - hasBin: true - turbo@2.1.2: resolution: {integrity: sha512-Jb0rbU4iHEVQ18An/YfakdIv9rKnd3zUfSE117EngrfWXFHo3RndVH96US3GsT8VHpwTncPePDBT2t06PaFLrw==} hasBin: true @@ -8972,8 +8941,8 @@ packages: typed-query-selector@2.12.0: resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} - typescript-eslint@8.6.0: - resolution: {integrity: sha512-eEhhlxCEpCd4helh3AO1hk0UP2MvbRi9CtIAJTVPQjuSXOOO2jsEacNi4UdcJzZJbeuVg1gMhtZ8UYb+NFYPrA==} + typescript-eslint@8.7.0: + resolution: {integrity: sha512-nEHbEYJyHwsuf7c3V3RS7Saq+1+la3i0ieR3qP0yjqWSzVmh8Drp47uOl9LjbPANac4S7EFSqvcYIKXUUwIfIQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -9049,8 +9018,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin-purge-polyfills@0.0.6: - resolution: {integrity: sha512-sL6OsLNiz5gkAXOEe8kmJP0LUMoisG8nSIC2kLmC2gk5p0l4R3aL89nz0OPbKdsVBUvdZULPrClBW5OpnAVoMQ==} + unplugin-purge-polyfills@0.0.7: + resolution: {integrity: sha512-l5rxmu+CR6SIQWOcat8RW/2/VUyc4u4s5mBIOSinxP1m7jzAQlgPYzJXTJRPAOW4jfGfqUP+9oB4Q2Zno8SRBA==} unplugin-vue-markdown@0.26.2: resolution: {integrity: sha512-FjmhLZ+RRx7PFmfBCTwNUZLAj0Y9z0y/j79rTgYuXH9u+K6tZBFB+GpFFBm+4yMQ0la3MNCl7KHbaSvfna2bEA==} @@ -9060,9 +9029,14 @@ packages: unplugin@1.0.1: resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} - unplugin@1.12.2: - resolution: {integrity: sha512-bEqQxeC7rxtxPZ3M5V4Djcc4lQqKPgGe3mAWZvxcSmX5jhGxll19NliaRzQSQPrk4xJZSGniK3puLWpRuZN7VQ==} + unplugin@1.14.1: + resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} engines: {node: '>=14.0.0'} + peerDependencies: + webpack-sources: ^3 + peerDependenciesMeta: + webpack-sources: + optional: true update-browserslist-db@1.1.0: resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} @@ -9415,8 +9389,8 @@ packages: engines: {node: '>=16'} hasBin: true - wrangler@3.78.7: - resolution: {integrity: sha512-z2ubdgQZ8lh2TEpvihFQOu3HmCNus78sC1LMBiSmgv133i4DeUMuz6SJglles2LayJAKrusjTqFnDYecA2XDDg==} + wrangler@3.78.8: + resolution: {integrity: sha512-tnJ++KY0EeQKa7Pm5Zxl1Cnf1QcmlLit2CohCpTEFHSgCzwzwViuxFL8JQvVKj8Qb65ouBNbfPZnlqrEyGpbew==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: @@ -9554,13 +9528,13 @@ snapshots: preact: 10.11.3 preact-render-to-string: 5.2.3(preact@10.11.3) - '@aws-cdk/asset-awscli-v1@2.2.202': {} + '@aws-cdk/asset-awscli-v1@2.2.204': {} '@aws-cdk/asset-kubectl-v20@2.1.2': {} '@aws-cdk/asset-node-proxy-agent-v6@2.1.0': {} - '@aws-cdk/cloud-assembly-schema@36.0.24': {} + '@aws-cdk/cloud-assembly-schema@38.0.1': {} '@babel/code-frame@7.24.7': dependencies: @@ -9887,7 +9861,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20240909.0': optional: true - '@cloudflare/workers-shared@0.5.3': + '@cloudflare/workers-shared@0.5.4': dependencies: mime: 3.0.0 zod: 3.23.8 @@ -10420,12 +10394,12 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.11.0(jiti@1.21.6))': + '@eslint-community/eslint-utils@4.4.0(eslint@9.11.1(jiti@1.21.6))': dependencies: - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.1(jiti@1.21.6) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.0': {} + '@eslint-community/regexpp@4.11.1': {} '@eslint/config-array@0.18.0': dependencies: @@ -10435,6 +10409,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/core@0.6.0': {} + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 @@ -10449,7 +10425,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.11.0': {} + '@eslint/js@9.11.1': {} '@eslint/object-schema@2.1.4': {} @@ -10982,18 +10958,18 @@ snapshots: cac: 6.7.14 mime-types: 2.1.35 - '@hono/node-server@1.13.1(hono@4.6.2)': + '@hono/node-server@1.13.1(hono@4.6.3)': dependencies: - hono: 4.6.2 + hono: 4.6.3 - '@hono/vite-dev-server@0.16.0(hono@4.6.2)(miniflare@3.20240909.4)(wrangler@3.78.7(@cloudflare/workers-types@4.20240919.0))': + '@hono/vite-dev-server@0.16.0(hono@4.6.3)(miniflare@3.20240909.5)(wrangler@3.78.8(@cloudflare/workers-types@4.20240919.0))': dependencies: - '@hono/node-server': 1.13.1(hono@4.6.2) - hono: 4.6.2 + '@hono/node-server': 1.13.1(hono@4.6.3) + hono: 4.6.3 minimatch: 9.0.5 optionalDependencies: - miniflare: 3.20240909.4 - wrangler: 3.78.7(@cloudflare/workers-types@4.20240919.0) + miniflare: 3.20240909.5 + wrangler: 3.78.8(@cloudflare/workers-types@4.20240919.0) '@humanwhocodes/module-importer@1.0.1': {} @@ -11342,9 +11318,9 @@ snapshots: '@kikobeats/time-span@1.0.5': optional: true - '@lucia-auth/adapter-drizzle@1.1.0(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.19.1(prisma@5.19.1))(@types/better-sqlite3@7.6.11)(@types/react@18.3.8)(better-sqlite3@11.3.0)(prisma@5.19.1)(react@18.3.1))(lucia@3.2.0)': + '@lucia-auth/adapter-drizzle@1.1.0(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/react@18.3.9)(better-sqlite3@11.3.0)(prisma@5.20.0)(react@18.3.1))(lucia@3.2.0)': dependencies: - drizzle-orm: 0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.19.1(prisma@5.19.1))(@types/better-sqlite3@7.6.11)(@types/react@18.3.8)(better-sqlite3@11.3.0)(prisma@5.19.1)(react@18.3.1) + drizzle-orm: 0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/react@18.3.9)(better-sqlite3@11.3.0)(prisma@5.20.0)(react@18.3.1) lucia: 3.2.0 '@lucia-auth/adapter-sqlite@3.0.2(better-sqlite3@11.3.0)(lucia@3.2.0)': @@ -11355,7 +11331,7 @@ snapshots: '@lukeed/ms@2.0.2': {} - '@mantine/core@7.12.2(@mantine/hooks@7.12.2(react@18.3.1))(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/core@7.12.2(@mantine/hooks@7.12.2(react@18.3.1))(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@floating-ui/react': 0.26.23(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mantine/hooks': 7.12.2(react@18.3.1) @@ -11363,8 +11339,8 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-number-format: 5.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-remove-scroll: 2.5.10(@types/react@18.3.8)(react@18.3.1) - react-textarea-autosize: 8.5.3(@types/react@18.3.8)(react@18.3.1) + react-remove-scroll: 2.5.10(@types/react@18.3.9)(react@18.3.1) + react-textarea-autosize: 8.5.3(@types/react@18.3.9)(react@18.3.1) type-fest: 4.25.0 transitivePeerDependencies: - '@types/react' @@ -11666,30 +11642,30 @@ snapshots: '@polka/url@1.0.0-next.25': {} - '@prisma/client@5.19.1(prisma@5.19.1)': + '@prisma/client@5.20.0(prisma@5.20.0)': optionalDependencies: - prisma: 5.19.1 + prisma: 5.20.0 - '@prisma/debug@5.19.1': {} + '@prisma/debug@5.20.0': {} - '@prisma/engines-version@5.19.1-2.69d742ee20b815d88e17e54db4a2a7a3b30324e3': {} + '@prisma/engines-version@5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284': {} - '@prisma/engines@5.19.1': + '@prisma/engines@5.20.0': dependencies: - '@prisma/debug': 5.19.1 - '@prisma/engines-version': 5.19.1-2.69d742ee20b815d88e17e54db4a2a7a3b30324e3 - '@prisma/fetch-engine': 5.19.1 - '@prisma/get-platform': 5.19.1 + '@prisma/debug': 5.20.0 + '@prisma/engines-version': 5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284 + '@prisma/fetch-engine': 5.20.0 + '@prisma/get-platform': 5.20.0 - '@prisma/fetch-engine@5.19.1': + '@prisma/fetch-engine@5.20.0': dependencies: - '@prisma/debug': 5.19.1 - '@prisma/engines-version': 5.19.1-2.69d742ee20b815d88e17e54db4a2a7a3b30324e3 - '@prisma/get-platform': 5.19.1 + '@prisma/debug': 5.20.0 + '@prisma/engines-version': 5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284 + '@prisma/get-platform': 5.20.0 - '@prisma/get-platform@5.19.1': + '@prisma/get-platform@5.20.0': dependencies: - '@prisma/debug': 5.19.1 + '@prisma/debug': 5.20.0 '@protobufjs/aspromise@1.1.2': {} @@ -11760,60 +11736,60 @@ snapshots: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.1.0(rollup@4.21.2)': + '@rollup/pluginutils@5.1.2(rollup@4.22.4)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.21.2 + rollup: 4.22.4 - '@rollup/rollup-android-arm-eabi@4.21.2': + '@rollup/rollup-android-arm-eabi@4.22.4': optional: true - '@rollup/rollup-android-arm64@4.21.2': + '@rollup/rollup-android-arm64@4.22.4': optional: true - '@rollup/rollup-darwin-arm64@4.21.2': + '@rollup/rollup-darwin-arm64@4.22.4': optional: true - '@rollup/rollup-darwin-x64@4.21.2': + '@rollup/rollup-darwin-x64@4.22.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + '@rollup/rollup-linux-arm-gnueabihf@4.22.4': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.2': + '@rollup/rollup-linux-arm-musleabihf@4.22.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.2': + '@rollup/rollup-linux-arm64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.2': + '@rollup/rollup-linux-arm64-musl@4.22.4': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.2': + '@rollup/rollup-linux-riscv64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.2': + '@rollup/rollup-linux-s390x-gnu@4.22.4': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.2': + '@rollup/rollup-linux-x64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-x64-musl@4.21.2': + '@rollup/rollup-linux-x64-musl@4.22.4': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.2': + '@rollup/rollup-win32-arm64-msvc@4.22.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.2': + '@rollup/rollup-win32-ia32-msvc@4.22.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.2': + '@rollup/rollup-win32-x64-msvc@4.22.4': optional: true '@sec-ant/readable-stream@0.4.1': {} @@ -11924,13 +11900,13 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 18.3.1 - '@sentry/solid@8.31.0(solid-js@1.8.22)': + '@sentry/solid@8.31.0(solid-js@1.8.23)': dependencies: '@sentry/browser': 8.31.0 '@sentry/core': 8.31.0 '@sentry/types': 8.31.0 '@sentry/utils': 8.31.0 - solid-js: 1.8.22 + solid-js: 1.8.23 '@sentry/types@8.31.0': {} @@ -11967,27 +11943,27 @@ snapshots: ignore: 5.3.2 p-map: 4.0.0 - '@solid-primitives/props@3.1.11(solid-js@1.8.22)': + '@solid-primitives/props@3.1.11(solid-js@1.8.23)': dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.8.22) - solid-js: 1.8.22 + '@solid-primitives/utils': 6.2.3(solid-js@1.8.23) + solid-js: 1.8.23 - '@solid-primitives/refs@1.0.8(solid-js@1.8.22)': + '@solid-primitives/refs@1.0.8(solid-js@1.8.23)': dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.8.22) - solid-js: 1.8.22 + '@solid-primitives/utils': 6.2.3(solid-js@1.8.23) + solid-js: 1.8.23 - '@solid-primitives/scheduled@1.4.3(solid-js@1.8.22)': + '@solid-primitives/scheduled@1.4.3(solid-js@1.8.23)': dependencies: - solid-js: 1.8.22 + solid-js: 1.8.23 - '@solid-primitives/transition-group@1.0.5(solid-js@1.8.22)': + '@solid-primitives/transition-group@1.0.5(solid-js@1.8.23)': dependencies: - solid-js: 1.8.22 + solid-js: 1.8.23 - '@solid-primitives/utils@6.2.3(solid-js@1.8.22)': + '@solid-primitives/utils@6.2.3(solid-js@1.8.23)': dependencies: - solid-js: 1.8.22 + solid-js: 1.8.23 '@stackblitz/sdk@1.11.0': {} @@ -12186,11 +12162,11 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@22.5.4': + '@types/node@22.6.1': dependencies: undici-types: 6.19.8 - '@types/prop-types@15.7.12': {} + '@types/prop-types@15.7.13': {} '@types/qs@6.9.15': {} @@ -12198,11 +12174,11 @@ snapshots: '@types/react-dom@18.3.0': dependencies: - '@types/react': 18.3.8 + '@types/react': 18.3.9 - '@types/react@18.3.8': + '@types/react@18.3.9': dependencies: - '@types/prop-types': 15.7.12 + '@types/prop-types': 15.7.13 csstype: 3.1.3 '@types/request@2.48.12': @@ -12242,15 +12218,15 @@ snapshots: '@types/node': 18.19.44 optional: true - '@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/type-utils': 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/utils': 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.6.0 - eslint: 9.11.0(jiti@1.21.6) + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.7.0 + '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.7.0 + eslint: 9.11.1(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -12260,28 +12236,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.6.0 + '@typescript-eslint/scope-manager': 8.7.0 + '@typescript-eslint/types': 8.7.0 + '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.7.0 debug: 4.3.7 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.1(jiti@1.21.6) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.6.0': + '@typescript-eslint/scope-manager@8.7.0': dependencies: - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/visitor-keys': 8.6.0 + '@typescript-eslint/types': 8.7.0 + '@typescript-eslint/visitor-keys': 8.7.0 - '@typescript-eslint/type-utils@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2) + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: @@ -12290,12 +12266,12 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@8.6.0': {} + '@typescript-eslint/types@8.7.0': {} - '@typescript-eslint/typescript-estree@8.6.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@8.7.0(typescript@5.6.2)': dependencies: - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/visitor-keys': 8.6.0 + '@typescript-eslint/types': 8.7.0 + '@typescript-eslint/visitor-keys': 8.7.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -12307,20 +12283,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/utils@8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) - eslint: 9.11.0(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.7.0 + '@typescript-eslint/types': 8.7.0 + '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2) + eslint: 9.11.1(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.6.0': + '@typescript-eslint/visitor-keys@8.7.0': dependencies: - '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/types': 8.7.0 eslint-visitor-keys: 3.4.3 '@universal-middleware/core@0.2.10': @@ -12378,7 +12354,7 @@ snapshots: estree-walker: 2.0.2 glob: 7.2.3 graceful-fs: 4.2.11 - micromatch: 4.0.7 + micromatch: 4.0.8 node-gyp-build: 4.8.1 resolve-from: 5.0.0 transitivePeerDependencies: @@ -12546,7 +12522,7 @@ snapshots: dependencies: acorn: 8.12.1 - acorn-walk@8.3.3: + acorn-walk@8.3.4: dependencies: acorn: 8.12.1 @@ -12697,15 +12673,15 @@ snapshots: await-to-js@3.0.0: optional: true - aws-cdk-lib@2.159.1(constructs@10.3.0): + aws-cdk-lib@2.160.0(constructs@10.3.0): dependencies: - '@aws-cdk/asset-awscli-v1': 2.2.202 + '@aws-cdk/asset-awscli-v1': 2.2.204 '@aws-cdk/asset-kubectl-v20': 2.1.2 '@aws-cdk/asset-node-proxy-agent-v6': 2.1.0 - '@aws-cdk/cloud-assembly-schema': 36.0.24 + '@aws-cdk/cloud-assembly-schema': 38.0.1 constructs: 10.3.0 - aws-cdk@2.159.1: + aws-cdk@2.160.0: optionalDependencies: fsevents: 2.3.2 @@ -12993,9 +12969,9 @@ snapshots: transitivePeerDependencies: - supports-color - cdk@2.159.1: + cdk@2.160.0: dependencies: - aws-cdk: 2.159.1 + aws-cdk: 2.160.0 chai@5.1.1: dependencies: @@ -13406,14 +13382,14 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.19.1(prisma@5.19.1))(@types/better-sqlite3@7.6.11)(@types/react@18.3.8)(better-sqlite3@11.3.0)(prisma@5.19.1)(react@18.3.1): + drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240919.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/react@18.3.9)(better-sqlite3@11.3.0)(prisma@5.20.0)(react@18.3.1): optionalDependencies: '@cloudflare/workers-types': 4.20240919.0 - '@prisma/client': 5.19.1(prisma@5.19.1) + '@prisma/client': 5.20.0(prisma@5.20.0) '@types/better-sqlite3': 7.6.11 - '@types/react': 18.3.8 + '@types/react': 18.3.9 better-sqlite3: 11.3.0 - prisma: 5.19.1 + prisma: 5.20.0 react: 18.3.1 duplexify@4.1.3: @@ -13774,21 +13750,21 @@ snapshots: source-map: 0.6.1 optional: true - eslint-config-prettier@9.1.0(eslint@9.11.0(jiti@1.21.6)): + eslint-config-prettier@9.1.0(eslint@9.11.1(jiti@1.21.6)): dependencies: - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.1(jiti@1.21.6) - eslint-plugin-prettier@5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.11.0(jiti@1.21.6)))(eslint@9.11.0(jiti@1.21.6))(prettier@3.3.3): + eslint-plugin-prettier@5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.11.1(jiti@1.21.6)))(eslint@9.11.1(jiti@1.21.6))(prettier@3.3.3): dependencies: - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.1(jiti@1.21.6) prettier: 3.3.3 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: '@types/eslint': 9.6.1 - eslint-config-prettier: 9.1.0(eslint@9.11.0(jiti@1.21.6)) + eslint-config-prettier: 9.1.0(eslint@9.11.1(jiti@1.21.6)) - eslint-plugin-react@7.36.1(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-react@7.36.1(eslint@9.11.1(jiti@1.21.6)): dependencies: array-includes: '@nolyfill/array-includes@1.0.28' array.prototype.findlast: '@nolyfill/array.prototype.findlast@1.0.24' @@ -13796,7 +13772,7 @@ snapshots: array.prototype.tosorted: '@nolyfill/array.prototype.tosorted@1.0.24' doctrine: 2.1.0 es-iterator-helpers: '@nolyfill/es-iterator-helpers@1.0.21' - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.1(jiti@1.21.6) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -13810,10 +13786,10 @@ snapshots: string.prototype.matchall: '@nolyfill/string.prototype.matchall@1.0.28' string.prototype.repeat: 1.0.0 - eslint-plugin-solid@0.14.3(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2): + eslint-plugin-solid@0.14.3(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2): dependencies: - '@typescript-eslint/utils': 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.11.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) + eslint: 9.11.1(jiti@1.21.6) estraverse: 5.3.0 is-html: 2.0.0 kebab-case: 1.0.2 @@ -13823,16 +13799,16 @@ snapshots: - supports-color - typescript - eslint-plugin-vue@9.28.0(eslint@9.11.0(jiti@1.21.6)): + eslint-plugin-vue@9.28.0(eslint@9.11.1(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) - eslint: 9.11.0(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.6)) + eslint: 9.11.1(jiti@1.21.6) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.11.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.11.1(jiti@1.21.6)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -13853,17 +13829,20 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.11.0(jiti@1.21.6): + eslint@9.11.1(jiti@1.21.6): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0(jiti@1.21.6)) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.6)) + '@eslint-community/regexpp': 4.11.1 '@eslint/config-array': 0.18.0 + '@eslint/core': 0.6.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.11.0 + '@eslint/js': 9.11.1 '@eslint/plugin-kit': 0.2.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -14075,7 +14054,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} @@ -14216,7 +14195,7 @@ snapshots: '@fastify/busboy': 3.0.0 '@firebase/database-compat': 1.0.8 '@firebase/database-types': 1.0.5 - '@types/node': 22.5.4 + '@types/node': 22.6.1 farmhash-modern: 1.1.0 jsonwebtoken: 9.0.2 jwks-rsa: 3.1.0 @@ -14647,7 +14626,7 @@ snapshots: dependencies: react-is: 16.13.1 - hono@4.6.2: {} + hono@4.6.3: {} html-entities@2.3.3: {} @@ -15327,7 +15306,7 @@ snapshots: methods@1.1.2: {} - micromatch@4.0.7: + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 @@ -15354,11 +15333,11 @@ snapshots: mimic-response@3.1.0: {} - miniflare@3.20240909.4: + miniflare@3.20240909.5: dependencies: '@cspotcode/source-map-support': 0.8.1 acorn: 8.12.1 - acorn-walk: 8.3.3 + acorn-walk: 8.3.4 capnp-ts: 0.7.0 exit-hook: 2.2.1 glob-to-regexp: 0.4.1 @@ -16112,9 +16091,9 @@ snapshots: prism-themes@1.9.0: optional: true - prisma@5.19.1: + prisma@5.20.0: dependencies: - '@prisma/engines': 5.19.1 + '@prisma/engines': 5.20.0 optionalDependencies: fsevents: 2.3.3 @@ -16299,24 +16278,24 @@ snapshots: react-refresh@0.14.2: {} - react-remove-scroll-bar@2.3.6(@types/react@18.3.8)(react@18.3.1): + react-remove-scroll-bar@2.3.6(@types/react@18.3.9)(react@18.3.1): dependencies: react: 18.3.1 - react-style-singleton: 2.2.1(@types/react@18.3.8)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.9)(react@18.3.1) tslib: 2.7.0 optionalDependencies: - '@types/react': 18.3.8 + '@types/react': 18.3.9 - react-remove-scroll@2.5.10(@types/react@18.3.8)(react@18.3.1): + react-remove-scroll@2.5.10(@types/react@18.3.9)(react@18.3.1): dependencies: react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.8)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.8)(react@18.3.1) + react-remove-scroll-bar: 2.3.6(@types/react@18.3.9)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.9)(react@18.3.1) tslib: 2.7.0 - use-callback-ref: 1.3.2(@types/react@18.3.8)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.8)(react@18.3.1) + use-callback-ref: 1.3.2(@types/react@18.3.9)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.9)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.8 + '@types/react': 18.3.9 react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: @@ -16327,21 +16306,21 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-style-singleton@2.2.1(@types/react@18.3.8)(react@18.3.1): + react-style-singleton@2.2.1(@types/react@18.3.9)(react@18.3.1): dependencies: get-nonce: 1.0.1 invariant: 2.2.4 react: 18.3.1 tslib: 2.7.0 optionalDependencies: - '@types/react': 18.3.8 + '@types/react': 18.3.9 - react-textarea-autosize@8.5.3(@types/react@18.3.8)(react@18.3.1): + react-textarea-autosize@8.5.3(@types/react@18.3.9)(react@18.3.1): dependencies: '@babel/runtime': 7.25.4 react: 18.3.1 use-composed-ref: 1.3.0(react@18.3.1) - use-latest: 1.2.1(@types/react@18.3.8)(react@18.3.1) + use-latest: 1.2.1(@types/react@18.3.9)(react@18.3.1) transitivePeerDependencies: - '@types/react' @@ -16485,26 +16464,26 @@ snapshots: dependencies: estree-walker: 0.6.1 - rollup@4.21.2: + rollup@4.22.4: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.2 - '@rollup/rollup-android-arm64': 4.21.2 - '@rollup/rollup-darwin-arm64': 4.21.2 - '@rollup/rollup-darwin-x64': 4.21.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 - '@rollup/rollup-linux-arm-musleabihf': 4.21.2 - '@rollup/rollup-linux-arm64-gnu': 4.21.2 - '@rollup/rollup-linux-arm64-musl': 4.21.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 - '@rollup/rollup-linux-riscv64-gnu': 4.21.2 - '@rollup/rollup-linux-s390x-gnu': 4.21.2 - '@rollup/rollup-linux-x64-gnu': 4.21.2 - '@rollup/rollup-linux-x64-musl': 4.21.2 - '@rollup/rollup-win32-arm64-msvc': 4.21.2 - '@rollup/rollup-win32-ia32-msvc': 4.21.2 - '@rollup/rollup-win32-x64-msvc': 4.21.2 + '@rollup/rollup-android-arm-eabi': 4.22.4 + '@rollup/rollup-android-arm64': 4.22.4 + '@rollup/rollup-darwin-arm64': 4.22.4 + '@rollup/rollup-darwin-x64': 4.22.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 + '@rollup/rollup-linux-arm-musleabihf': 4.22.4 + '@rollup/rollup-linux-arm64-gnu': 4.22.4 + '@rollup/rollup-linux-arm64-musl': 4.22.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 + '@rollup/rollup-linux-riscv64-gnu': 4.22.4 + '@rollup/rollup-linux-s390x-gnu': 4.22.4 + '@rollup/rollup-linux-x64-gnu': 4.22.4 + '@rollup/rollup-linux-x64-musl': 4.22.4 + '@rollup/rollup-win32-arm64-msvc': 4.22.4 + '@rollup/rollup-win32-ia32-msvc': 4.22.4 + '@rollup/rollup-win32-x64-msvc': 4.22.4 fsevents: 2.3.3 run-parallel@1.2.0: @@ -16710,33 +16689,33 @@ snapshots: smart-buffer: 4.2.0 optional: true - solid-element@1.8.1(solid-js@1.8.22): + solid-element@1.8.1(solid-js@1.8.23): dependencies: component-register: 0.8.6 - solid-js: 1.8.22 + solid-js: 1.8.23 - solid-js@1.8.22: + solid-js@1.8.23: dependencies: csstype: 3.1.3 seroval: 1.1.1 seroval-plugins: 1.1.1(seroval@1.1.1) - solid-motionone@1.0.1(solid-js@1.8.22): + solid-motionone@1.0.2(solid-js@1.8.23): dependencies: '@motionone/dom': 10.18.0 '@motionone/utils': 10.18.0 - '@solid-primitives/props': 3.1.11(solid-js@1.8.22) - '@solid-primitives/refs': 1.0.8(solid-js@1.8.22) - '@solid-primitives/transition-group': 1.0.5(solid-js@1.8.22) + '@solid-primitives/props': 3.1.11(solid-js@1.8.23) + '@solid-primitives/refs': 1.0.8(solid-js@1.8.23) + '@solid-primitives/transition-group': 1.0.5(solid-js@1.8.23) csstype: 3.1.3 - solid-js: 1.8.22 + solid-js: 1.8.23 - solid-refresh@0.6.3(solid-js@1.8.22): + solid-refresh@0.6.3(solid-js@1.8.23): dependencies: '@babel/generator': 7.25.0 '@babel/helper-module-imports': 7.24.7 '@babel/types': 7.25.6 - solid-js: 1.8.22 + solid-js: 1.8.23 transitivePeerDependencies: - supports-color @@ -16948,11 +16927,11 @@ snapshots: tailwind-merge@2.5.2: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.12): + tailwindcss-animate@1.0.7(tailwindcss@3.4.13): dependencies: - tailwindcss: 3.4.12 + tailwindcss: 3.4.13 - tailwindcss@3.4.12: + tailwindcss@3.4.13: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -16964,7 +16943,7 @@ snapshots: is-glob: 4.0.3 jiti: 1.21.6 lilconfig: 2.1.0 - micromatch: 4.0.7 + micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.1.0 @@ -17169,7 +17148,7 @@ snapshots: picocolors: 1.1.0 postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(yaml@2.5.1) resolve-from: 5.0.0 - rollup: 4.21.2 + rollup: 4.22.4 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyglobby: 0.2.6 @@ -17196,51 +17175,24 @@ snapshots: tunnel@0.0.6: {} - turbo-darwin-64@2.1.1: - optional: true - turbo-darwin-64@2.1.2: optional: true - turbo-darwin-arm64@2.1.1: - optional: true - turbo-darwin-arm64@2.1.2: optional: true - turbo-linux-64@2.1.1: - optional: true - turbo-linux-64@2.1.2: optional: true - turbo-linux-arm64@2.1.1: - optional: true - turbo-linux-arm64@2.1.2: optional: true - turbo-windows-64@2.1.1: - optional: true - turbo-windows-64@2.1.2: optional: true - turbo-windows-arm64@2.1.1: - optional: true - turbo-windows-arm64@2.1.2: optional: true - turbo@2.1.1: - optionalDependencies: - turbo-darwin-64: 2.1.1 - turbo-darwin-arm64: 2.1.1 - turbo-linux-64: 2.1.1 - turbo-linux-arm64: 2.1.1 - turbo-windows-64: 2.1.1 - turbo-windows-arm64: 2.1.1 - turbo@2.1.2: optionalDependencies: turbo-darwin-64: 2.1.2 @@ -17303,11 +17255,11 @@ snapshots: typed-query-selector@2.12.0: optional: true - typescript-eslint@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2): + typescript-eslint@8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/parser': 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/utils': 8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/parser': 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@1.21.6))(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: @@ -17382,28 +17334,30 @@ snapshots: unpipe@1.0.0: {} - unplugin-purge-polyfills@0.0.6(rollup@4.21.2): + unplugin-purge-polyfills@0.0.7(rollup@4.22.4)(webpack-sources@3.2.3): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.2) + '@rollup/pluginutils': 5.1.2(rollup@4.22.4) defu: 6.1.4 magic-string: 0.30.11 mlly: 1.7.1 - unplugin: 1.12.2 + unplugin: 1.14.1(webpack-sources@3.2.3) transitivePeerDependencies: - rollup + - webpack-sources - unplugin-vue-markdown@0.26.2(rollup@4.21.2)(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))): + unplugin-vue-markdown@0.26.2(rollup@4.22.4)(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47)))(webpack-sources@3.2.3): dependencies: '@mdit-vue/plugin-component': 2.1.3 '@mdit-vue/plugin-frontmatter': 2.1.3 '@mdit-vue/types': 2.1.0 - '@rollup/pluginutils': 5.1.0(rollup@4.21.2) + '@rollup/pluginutils': 5.1.2(rollup@4.22.4) '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - unplugin: 1.12.2 + unplugin: 1.14.1(webpack-sources@3.2.3) vite: 5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47)) transitivePeerDependencies: - rollup + - webpack-sources unplugin@1.0.1: dependencies: @@ -17412,12 +17366,12 @@ snapshots: webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 - unplugin@1.12.2: + unplugin@1.14.1(webpack-sources@3.2.3): dependencies: acorn: 8.12.1 - chokidar: 3.6.0 - webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.2 + optionalDependencies: + webpack-sources: 3.2.3 update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: @@ -17459,37 +17413,37 @@ snapshots: urlpattern-polyfill@10.0.0: {} - use-callback-ref@1.3.2(@types/react@18.3.8)(react@18.3.1): + use-callback-ref@1.3.2(@types/react@18.3.9)(react@18.3.1): dependencies: react: 18.3.1 tslib: 2.7.0 optionalDependencies: - '@types/react': 18.3.8 + '@types/react': 18.3.9 use-composed-ref@1.3.0(react@18.3.1): dependencies: react: 18.3.1 - use-isomorphic-layout-effect@1.1.2(@types/react@18.3.8)(react@18.3.1): + use-isomorphic-layout-effect@1.1.2(@types/react@18.3.9)(react@18.3.1): dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.8 + '@types/react': 18.3.9 - use-latest@1.2.1(@types/react@18.3.8)(react@18.3.1): + use-latest@1.2.1(@types/react@18.3.9)(react@18.3.1): dependencies: react: 18.3.1 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.8)(react@18.3.1) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.9)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.8 + '@types/react': 18.3.9 - use-sidecar@1.1.2(@types/react@18.3.8)(react@18.3.1): + use-sidecar@1.1.2(@types/react@18.3.9)(react@18.3.1): dependencies: detect-node-es: 1.1.0 react: 18.3.1 tslib: 2.7.0 optionalDependencies: - '@types/react': 18.3.8 + '@types/react': 18.3.9 utif2@4.1.0: dependencies: @@ -17535,24 +17489,24 @@ snapshots: react-streaming: 0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1) vike: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) - vike-solid@0.7.5(solid-js@1.8.22)(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))): + vike-solid@0.7.5(solid-js@1.8.23)(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))): dependencies: isbot-fast: 1.2.0 - solid-js: 1.8.22 + solid-js: 1.8.23 vike: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) vite: 5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47)) - vite-plugin-solid: 2.10.2(solid-js@1.8.22)(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) + vite-plugin-solid: 2.10.2(solid-js@1.8.23)(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) transitivePeerDependencies: - '@testing-library/jest-dom' - supports-color - vike-solid@0.7.5(solid-js@1.8.22)(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))): + vike-solid@0.7.5(solid-js@1.8.23)(vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))))(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))): dependencies: isbot-fast: 1.2.0 - solid-js: 1.8.22 - vike: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))) - vite: 5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47)) - vite-plugin-solid: 2.10.2(solid-js@1.8.22)(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))) + solid-js: 1.8.23 + vike: 0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))) + vite: 5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47)) + vite-plugin-solid: 2.10.2(solid-js@1.8.23)(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))) transitivePeerDependencies: - '@testing-library/jest-dom' - supports-color @@ -17581,7 +17535,7 @@ snapshots: optionalDependencies: react-streaming: 0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))): + vike@0.4.196(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))): dependencies: '@brillout/import': 0.2.3 '@brillout/json-serializer': 0.5.13 @@ -17596,7 +17550,7 @@ snapshots: semver: 7.6.3 sirv: 2.0.4 source-map-support: 0.5.21 - vite: 5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47)) + vite: 5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47)) optionalDependencies: react-streaming: 0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -17629,29 +17583,29 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-solid@2.10.2(solid-js@1.8.22)(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))): + vite-plugin-solid@2.10.2(solid-js@1.8.23)(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))): dependencies: '@babel/core': 7.25.2 '@types/babel__core': 7.20.5 babel-preset-solid: 1.8.22(@babel/core@7.25.2) merge-anything: 5.1.7 - solid-js: 1.8.22 - solid-refresh: 0.6.3(solid-js@1.8.22) + solid-js: 1.8.23 + solid-refresh: 0.6.3(solid-js@1.8.23) vite: 5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47)) vitefu: 0.2.5(vite@5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47))) transitivePeerDependencies: - supports-color - vite-plugin-solid@2.10.2(solid-js@1.8.22)(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))): + vite-plugin-solid@2.10.2(solid-js@1.8.23)(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))): dependencies: '@babel/core': 7.25.2 '@types/babel__core': 7.20.5 babel-preset-solid: 1.8.22(@babel/core@7.25.2) merge-anything: 5.1.7 - solid-js: 1.8.22 - solid-refresh: 0.6.3(solid-js@1.8.22) - vite: 5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47)) - vitefu: 0.2.5(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))) + solid-js: 1.8.23 + solid-refresh: 0.6.3(solid-js@1.8.23) + vite: 5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47)) + vitefu: 0.2.5(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))) transitivePeerDependencies: - supports-color @@ -17678,19 +17632,19 @@ snapshots: dependencies: esbuild: 0.21.5 postcss: 8.4.47 - rollup: 4.21.2 + rollup: 4.22.4 optionalDependencies: '@types/node': 18.19.44 fsevents: 2.3.3 sugarss: 4.0.1(postcss@8.4.47) - vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47)): + vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47)): dependencies: esbuild: 0.21.5 postcss: 8.4.47 - rollup: 4.21.2 + rollup: 4.22.4 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.6.1 fsevents: 2.3.3 sugarss: 4.0.1(postcss@8.4.47) @@ -17698,9 +17652,9 @@ snapshots: optionalDependencies: vite: 5.4.7(@types/node@18.19.44)(sugarss@4.0.1(postcss@8.4.47)) - vitefu@0.2.5(vite@5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47))): + vitefu@0.2.5(vite@5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47))): optionalDependencies: - vite: 5.4.7(@types/node@22.5.4)(sugarss@4.0.1(postcss@8.4.47)) + vite: 5.4.7(@types/node@22.6.1)(sugarss@4.0.1(postcss@8.4.47)) vitest@2.1.1(@types/node@18.19.44)(happy-dom@15.7.4)(sugarss@4.0.1(postcss@8.4.47)): dependencies: @@ -17737,10 +17691,10 @@ snapshots: - supports-color - terser - vue-eslint-parser@9.4.3(eslint@9.11.0(jiti@1.21.6)): + vue-eslint-parser@9.4.3(eslint@9.11.1(jiti@1.21.6)): dependencies: debug: 4.3.7 - eslint: 9.11.0(jiti@1.21.6) + eslint: 9.11.1(jiti@1.21.6) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -17858,17 +17812,17 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20240909.0 '@cloudflare/workerd-windows-64': 1.20240909.0 - wrangler@3.78.7(@cloudflare/workers-types@4.20240919.0): + wrangler@3.78.8(@cloudflare/workers-types@4.20240919.0): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 - '@cloudflare/workers-shared': 0.5.3 + '@cloudflare/workers-shared': 0.5.4 '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) blake3-wasm: 2.1.5 chokidar: 3.6.0 date-fns: 3.6.0 esbuild: 0.17.19 - miniflare: 3.20240909.4 + miniflare: 3.20240909.5 nanoid: 3.3.7 path-to-regexp: 6.3.0 resolve: 1.22.8 @@ -17969,4 +17923,4 @@ snapshots: zx@8.1.8: optionalDependencies: '@types/fs-extra': 11.0.4 - '@types/node': 22.5.4 + '@types/node': 22.6.1 diff --git a/website/package.json b/website/package.json index 9c5ef913a..d120fb681 100644 --- a/website/package.json +++ b/website/package.json @@ -32,9 +32,9 @@ "esbuild": "^0.24.0", "postcss": "^8.4.47", "solid-element": "^1.8.1", - "solid-js": "^1.8.22", - "solid-motionone": "^1.0.1", - "tailwindcss": "^3.4.12", + "solid-js": "^1.8.23", + "solid-motionone": "^1.0.2", + "tailwindcss": "^3.4.13", "tslib": "^2.7.0", "typescript": "^5.6.2", "vike": "^0.4.196", From 09bfb2375be4133c6b2c93f369f1ffebe266e5f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABl=20Charles?= Date: Tue, 24 Sep 2024 18:14:58 +0200 Subject: [PATCH 6/6] chore: lint --- boilerplates/aws/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boilerplates/aws/package.json b/boilerplates/aws/package.json index ed75ce393..67cb68ddc 100644 --- a/boilerplates/aws/package.json +++ b/boilerplates/aws/package.json @@ -69,4 +69,4 @@ ] } } -} +} \ No newline at end of file