From e4c9158f0ebe8e4048fb4c8713034543309a5861 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 18 Jan 2025 22:51:26 +0000 Subject: [PATCH 001/160] feat: begin refactor of `create-solid` package --- packages/create-solid/package.json | 6 +- packages/create-solid/src/create-start.ts | 0 packages/create-solid/src/create-vanilla.ts | 25 ++++++ packages/create-solid/src/helpers.ts | 97 +++++++++++++++++++++ packages/create-solid/src/index.ts | 78 +++++++---------- pnpm-lock.yaml | 17 ++++ 6 files changed, 177 insertions(+), 46 deletions(-) create mode 100644 packages/create-solid/src/create-start.ts create mode 100644 packages/create-solid/src/create-vanilla.ts create mode 100644 packages/create-solid/src/helpers.ts diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index ba9ac57..ee06004 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -41,5 +41,9 @@ "publishConfig": { "access": "public" }, - "dependencies": {} + "dependencies": { + "@begit/core": "^0.0.19", + "citty": "^0.1.6", + "sucrase": "^3.35.0" + } } diff --git a/packages/create-solid/src/create-start.ts b/packages/create-solid/src/create-start.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/create-solid/src/create-vanilla.ts b/packages/create-solid/src/create-vanilla.ts new file mode 100644 index 0000000..728da6e --- /dev/null +++ b/packages/create-solid/src/create-vanilla.ts @@ -0,0 +1,25 @@ +import { downloadRepo } from "@begit/core"; +import { join } from "node:path"; +import { GIT_IGNORE, handleTSConversion } from "./helpers"; +import { writeFileSync } from "node:fs"; + +const VANILLA_TEMPLATES = ["ts"] as const; +type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; + +type CreateVanillaArgs = { + template: VanillaTemplate, + destination: string, +} +export const createVanillaTS = async ({ template, destination }: CreateVanillaArgs) => { + return await downloadRepo({ repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }); +} + +export const createVanillaJS = async ({ template, destination }: CreateVanillaArgs) => { + // Create typescript project in `/.project` + // then transpile this to javascript and clean up + const tempDir = join(destination, ".project"); + await createVanillaTS({ template, destination: tempDir }) + await handleTSConversion(tempDir, destination); + // Add .gitignore + writeFileSync(join(destination, ".gitignore"), GIT_IGNORE); +} \ No newline at end of file diff --git a/packages/create-solid/src/helpers.ts b/packages/create-solid/src/helpers.ts new file mode 100644 index 0000000..67203a5 --- /dev/null +++ b/packages/create-solid/src/helpers.ts @@ -0,0 +1,97 @@ +import { copyFileSync, Dirent, mkdirSync, readdirSync, writeFileSync } from "node:fs"; +import { readFile, rm } from "node:fs/promises"; +import { join, resolve } from "node:path"; +import { transform } from "sucrase"; + +const recurseFiles = (startPath: string, cb: (file: Dirent, startPath: string) => void) => { + startPath = resolve(startPath); + + const files = readdirSync(startPath, { withFileTypes: true }); + + for (const file of files) { + cb(file, startPath); + } +}; + +export const readFileToString = async (path: string) => { + return (await readFile(path)).toString(); +}; +const convertToJS = async (file: Dirent, startPath: string) => { + const src = join(startPath, file.name); + const dest = resolve(startPath.replace(".solid-start", ""), file.name); + if (file.isDirectory()) { + mkdirSync(dest, { recursive: true }); + recurseFiles(resolve(startPath, file.name), convertToJS); + } else if (file.isFile()) { + if (src.endsWith(".ts") || src.endsWith(".tsx")) { + let { code } = transform(await readFileToString(src), { + transforms: ["typescript", "jsx"], + jsxRuntime: "preserve", + }); + + writeFileSync(dest.replace(".ts", ".js"), code, { flag: "wx" }); + } else { + copyFileSync(src, dest); + } + } +}; +export const handleTSConversion = async (tempDir: string, projectName: string) => { + await rm(resolve(tempDir, "tsconfig.json")); + writeFileSync( + resolve(projectName, "jsconfig.json"), + JSON.stringify( + { + compilerOptions: { + jsx: "preserve", + jsxImportSource: "solid-js", + paths: { + "~/*": ["./src/*"], + }, + }, + }, + null, + 2, + ), + { flag: "wx" }, + ); + + // Convert all ts files in temp directory into js + recurseFiles(tempDir, convertToJS); + + // Remove temp directory + await rm(join(process.cwd(), tempDir), { + recursive: true, + force: true, + }); +}; + +export const GIT_IGNORE = ` +dist +.solid +.output +.vercel +.netlify +.vinxi +app.config.timestamp_*.js + +# Environment +.env +.env*.local + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +*.launch +.settings/ + +# Temp +gitignore + +# System Files +.DS_Store +Thumbs.db +`; \ No newline at end of file diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index c094406..7d63a21 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -1,55 +1,43 @@ #! /usr/bin/env node -import { AllSupported, handleNew, isSupported } from "@solid-cli/commands/new"; import color from "picocolors"; import { intro } from "@clack/prompts"; import packageJson from "../package.json" with { type: "json" }; -import { command, run, option, string, boolean, flag, optional, positional } from "cmd-ts"; +import { defineCommand, runMain } from "citty"; +import { createVanillaJS } from "./create-vanilla"; intro(`\n${color.bgCyan(color.black(` Create-Solid v${packageJson.version}`))}`); -const app = command({ - name: "create-solid", - description: "Create a new Solid project", +const main = defineCommand({ + meta: { + name: "create-solid", + version: packageJson.version, + }, args: { - projectNamePositional: positional({ - type: optional(string), - displayName: "Project Name", - description: "The name of the project to be generated", - }), - templatePositional: positional({ - type: optional(string), - displayName: "Template name", - description: "Name of template to be initialised", - }), - projectNameOption: option({ - type: optional(string), - long: "project-name", - short: "p", - description: "Name of your project", - }), - solidStart: flag({ - type: optional(boolean), - long: "solid-start", - short: "s", + projectNamePositional: { + type: "positional", + required: false, + description: "Project name" + }, + templatePositional: { + type: "positional", + required: false, + description: "Template name", + }, + "project-name": { + type: "string", + required: false, + alias: "p", + description: "Project name", + }, + solidstart: { + type: "boolean", + required: false, + alias: "s", description: "Create a SolidStart project", - }), - }, - handler: async ({ projectNameOption, solidStart, projectNamePositional, templatePositional }) => { - if (templatePositional && !isSupported(templatePositional)) { - console.error(`Template "${templatePositional}" is not supported`); - process.exit(0); - } - try { - await handleNew( - templatePositional as AllSupported, - projectNamePositional ?? projectNameOption, - false, - solidStart, - ); - } catch (e) { - console.error(e); - process.exit(1); - } + }, }, -}); -run(app, process.argv.slice(2)); + run({ args: { projectNamePositional, templatePositional, "project-name": projectNameOptional, solidstart } }) { + createVanillaJS({ template: "ts", destination: "./ts" }) + } +}) +runMain(main); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 71d2f67..7f6594c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -120,6 +120,16 @@ importers: version: 5.6.3 packages/create-solid: + dependencies: + '@begit/core': + specifier: ^0.0.19 + version: 0.0.19 + citty: + specifier: ^0.1.6 + version: 0.1.6 + sucrase: + specifier: ^3.35.0 + version: 3.35.0 devDependencies: '@clack/prompts': specifier: 0.7.0 @@ -1063,6 +1073,9 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + cmd-ts@0.13.0: resolution: {integrity: sha512-nsnxf6wNIM/JAS7T/x/1JmbEsjH0a8tezXqqpaL0O6+eV0/aDEnRxwjxpu0VzDdRcaC1ixGSbRlUuf/IU59I4g==} @@ -2679,6 +2692,10 @@ snapshots: ci-info@3.9.0: {} + citty@0.1.6: + dependencies: + consola: 3.2.3 + cmd-ts@0.13.0: dependencies: chalk: 4.1.2 From 5a380aa41457f612f6cfc2502a3b404d4ce2639b Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 18 Jan 2025 23:02:58 +0000 Subject: [PATCH 002/160] refactor: remove custom reactivity implementation --- packages/reactivity/.gitignore | 1 - packages/reactivity/README.md | 3 - packages/reactivity/package.json | 37 -------- packages/reactivity/src/api/index.ts | 59 ------------- packages/reactivity/src/core/index.ts | 104 ----------------------- packages/reactivity/src/index.ts | 1 - packages/reactivity/test/async.test.ts | 24 ------ packages/reactivity/test/batch.test.ts | 80 ----------------- packages/reactivity/test/effects.test.ts | 54 ------------ packages/reactivity/test/memos.test.ts | 55 ------------ packages/reactivity/test/signals.test.ts | 10 --- packages/reactivity/tsconfig.json | 24 ------ packages/reactivity/tsup.config.ts | 11 --- 13 files changed, 463 deletions(-) delete mode 100644 packages/reactivity/.gitignore delete mode 100644 packages/reactivity/README.md delete mode 100644 packages/reactivity/package.json delete mode 100644 packages/reactivity/src/api/index.ts delete mode 100644 packages/reactivity/src/core/index.ts delete mode 100644 packages/reactivity/src/index.ts delete mode 100644 packages/reactivity/test/async.test.ts delete mode 100644 packages/reactivity/test/batch.test.ts delete mode 100644 packages/reactivity/test/effects.test.ts delete mode 100644 packages/reactivity/test/memos.test.ts delete mode 100644 packages/reactivity/test/signals.test.ts delete mode 100644 packages/reactivity/tsconfig.json delete mode 100644 packages/reactivity/tsup.config.ts diff --git a/packages/reactivity/.gitignore b/packages/reactivity/.gitignore deleted file mode 100644 index fbf0622..0000000 --- a/packages/reactivity/.gitignore +++ /dev/null @@ -1 +0,0 @@ -types \ No newline at end of file diff --git a/packages/reactivity/README.md b/packages/reactivity/README.md deleted file mode 100644 index d46f097..0000000 --- a/packages/reactivity/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @solid-cli/reactivity - -A lightweight reactivity system which powers some of the CLI. It is an eager system (derived state is updated immediately when the sources change) diff --git a/packages/reactivity/package.json b/packages/reactivity/package.json deleted file mode 100644 index 948af8f..0000000 --- a/packages/reactivity/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "@solid-cli/reactivity", - "version": "0.0.11", - "description": "The minimal, eager reactive system that powers the Solid CLI", - "license": "MIT", - "homepage": "https://solid-cli.netlify.app", - "repository": { - "type": "git", - "url": "https://github.com/solidjs-community/solid-cli" - }, - "files": [ - "dist", - "types" - ], - "main": "./dist/index.mjs", - "module": "./dist/index.mjs", - "types": "./types/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.mjs", - "types": "./types/index.d.ts" - } - }, - "scripts": { - "test": "vitest run", - "build": "tsc && tsup" - }, - "author": "Thomas Beer", - "devDependencies": { - "tsup": "^8.3.5", - "typescript": "^5.6.3" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/reactivity/src/api/index.ts b/packages/reactivity/src/api/index.ts deleted file mode 100644 index ffedb90..0000000 --- a/packages/reactivity/src/api/index.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { Computation, Getter, Signal, batch, runWithListener } from "../core"; -export { batch, getListener, type Getter, type Setter, type Signal } from "../core"; -type OnOptions = { defer: boolean }; -export function on(deps: Getter, fn: (val: G) => T, options?: OnOptions): () => T | undefined; -export function on(deps: Getter[] | Getter, fn: (val: any) => T, options?: OnOptions) { - let shouldDefer = options?.defer ?? false; - return () => { - // Track all getters on call - let args: any[] = []; - Array.isArray(deps) ? deps.forEach((d) => args.push(d())) : args.push(deps()); - if (shouldDefer) { - shouldDefer = false; - return; - } - // Ensure that the function isn't tracked - return untrack(() => fn(args.length === 1 ? args[0] : args)); - }; -} -export function createSignal(val: T) { - const comp = new Computation(() => val); - const set = (fnOrVal: T | ((val: T | null) => T) | null) => { - if (typeof fnOrVal === "function") { - let fn = fnOrVal as (val: T | null) => T; - const newVal = fn(untrack(comp.get)); - comp.set(newVal); - } else { - comp.set(fnOrVal as T); - } - }; - return [comp.get, set] as Signal; -} -export function createEffect(fn: () => T) { - new Computation(fn); -} -export function createMemo(fn: () => T) { - const comp = new Computation(fn); - return comp.get; -} -export function createAsync(fn: () => Promise) { - const [get, set] = createSignal(null); - const [loading, setLoading] = createSignal(true); - fn().then((val) => { - batch(() => { - set(val); - setLoading(false); - }); - }); - Object.defineProperties(get, { - loading: { - get() { - return loading(); - }, - }, - }); - return get as Getter & { loading: boolean }; -} -export function untrack(fn: () => T) { - return runWithListener(null, fn); -} diff --git a/packages/reactivity/src/core/index.ts b/packages/reactivity/src/core/index.ts deleted file mode 100644 index 63e923a..0000000 --- a/packages/reactivity/src/core/index.ts +++ /dev/null @@ -1,104 +0,0 @@ -export type Getter = () => T; -export type Setter = (val: T | ((val: T | null) => T)) => void; -export type Signal = [Getter, Setter]; -let OBSERVER: Computation | null = null; -let BATCHING = false; -const UPDATEQUEUE: Computation[] = []; -export class Computation { - fn: () => T; - value: T | null = null; - state: number = 0; - queueSlot: number = -1; - sources: Set> = new Set(); - observers: Set> = new Set(); - constructor(fn: () => T) { - this.fn = fn; - this.update(); - } - track() { - if (!OBSERVER) return; - this.observers.add(OBSERVER); - OBSERVER.sources.add(this); - } - get = () => { - // We need to make sure memos update if they're accessed during a `batch` - if (this.queueSlot != -1) { - UPDATEQUEUE.splice(this.queueSlot, 1); - const prev = BATCHING; - BATCHING = false; - this.update(); - BATCHING = prev; - this.queueSlot = -1; - } - this.track(); - return this.value; - }; - set = (newVal: T) => { - if (newVal === this.value) return; - this.value = newVal; - this.notifyObservers(); - }; - removeParentObservers() { - if (!this.sources) return; - this.sources.forEach((s) => s.observers.delete(this)); - this.sources.clear(); - } - pullSourceUpdates() { - if (!this.sources) return; - this.sources.forEach((s) => s.update()); - } - update() { - if (BATCHING) { - if (this.queueSlot != -1) return; - this.queueSlot = UPDATEQUEUE.length; - UPDATEQUEUE.push(this); - return; - } - // this.removeParentObservers(); - const prev = OBSERVER; - OBSERVER = this; - const newVal = this.fn(); - OBSERVER = prev; - if (newVal === this.value) return; - this.value = newVal; - } - increment() { - this.state++; - // Only increment children if the state has increased to 1, as we don't want to repeatedly re-increment if this node has multiple parents that need updating - if (this.state === 1) { - this.observers.forEach((o) => o.increment()); - } - } - decrement() { - this.state--; - if (this.state === 0) { - this.update(); - this.observers.forEach((o) => o.decrement()); - } - } - notifyObservers() { - this.observers.forEach((o) => o.increment()); - this.observers.forEach((o) => o.decrement()); - } -} -function stabilize() { - UPDATEQUEUE.forEach((u) => u.update()); - UPDATEQUEUE.length = 0; -} -export function batch(fn: () => T) { - BATCHING = true; - const res = fn(); - BATCHING = false; - stabilize(); - return res; -} -export function getListener() { - return OBSERVER; -} -export function runWithListener(listener: Computation | null, fn: () => T) { - const prev = OBSERVER; - OBSERVER = listener; - const res = fn(); - OBSERVER = prev; - return res; -} diff --git a/packages/reactivity/src/index.ts b/packages/reactivity/src/index.ts deleted file mode 100644 index d158c57..0000000 --- a/packages/reactivity/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./api"; diff --git a/packages/reactivity/test/async.test.ts b/packages/reactivity/test/async.test.ts deleted file mode 100644 index 481fd75..0000000 --- a/packages/reactivity/test/async.test.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { describe, expect, test } from "vitest"; -import { createAsync, createEffect } from "../src"; - -describe("createAsync", () => { - test("An async function resolves to a value", async () => { - const asyncFn = createAsync(async () => { - return 123; - }); - const res = await new Promise((res) => { - createEffect(() => { - const result = asyncFn(); - if (result) res(result); - }); - }); - expect(res).toBe(123); - }); - test("An async function has a loading state", async () => { - const asyncFn = createAsync(async () => { - return 123; - }); - expect(asyncFn.loading).toBe(true); - queueMicrotask(() => expect(asyncFn.loading).toBe(false)); - }); -}); diff --git a/packages/reactivity/test/batch.test.ts b/packages/reactivity/test/batch.test.ts deleted file mode 100644 index 4a9f647..0000000 --- a/packages/reactivity/test/batch.test.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { test, expect } from "vitest"; -import { describe } from "vitest"; -import { batch, createAsync, createEffect, createMemo, createSignal } from "../src"; - -describe("batch", () => { - test("Multiple updates should only trigger an effect once", () => { - const [get, set] = createSignal(0); - let updates = 0; - createEffect(() => { - get(); - updates++; - }); - batch(() => { - set(1); - set(2); - }); - expect(updates).toBe(2); - expect(get()).toBe(2); - }); - test("A memo called within a batch should get its value updated", () => { - const [get, set] = createSignal(0); - const memo = createMemo(() => get() * 2); - batch(() => { - set(1); - expect(memo()).toBe(2); - }); - }); - test("An effect depending on both loading and data should only run once when the async resolves", async () => { - const data = createAsync(async () => { - return 123; - }); - let updates = 0; - await new Promise((res) => - createEffect(() => { - // We track both the data itself and the loading signal - const d = data(); - const loading = data.loading; - updates++; - if (d === 123 && loading === false) res(d); - }), - ); - expect(updates).toBe(2); - }); - test("A derived memo accessed within a batch should resolve to the correct value", () => { - const [get, set] = createSignal(0); - const memo = createMemo(() => get() * 2); - let updates = 0; - // First update on initial run - const derived = createMemo(() => { - updates++; - return memo()! * 2; - }); - batch(() => { - set(1); - set(2); - // 2nd Update on access - expect(derived()).toBe(8); - set(3); - // 3rd update on access - expect(derived()).toBe(12); - }); - expect(updates).toBe(3); - }); - test.skip("Diamond problem with memos accessed in a batch", () => { - const [get, set] = createSignal(0); - let updates = 0; - const A = createMemo(() => { - updates++; - get(); - }); - const B = createMemo(() => A()! * 2); - const C = createMemo(() => A()! * 3); - const D = createMemo(() => B()! + C()!); - batch(() => { - set(2); - }); - // Actually currently get 3 here - expect(updates).toBe(2); - }); -}); diff --git a/packages/reactivity/test/effects.test.ts b/packages/reactivity/test/effects.test.ts deleted file mode 100644 index 735f405..0000000 --- a/packages/reactivity/test/effects.test.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { describe, test, expect } from "vitest"; -import { createEffect, createSignal } from "../src"; -describe("createEffect", () => { - test("An effect executes once when created", () => { - let updates = 0; - createEffect(() => { - updates++; - }); - expect(updates).toBe(1); - }); - test("An effect re-executes when a dependency changes", () => { - let updates = 0; - const [value, setValue] = createSignal(0); - createEffect(() => { - value(); - updates++; - }); - expect(updates).toBe(1); - setValue(1); - expect(updates).toBe(2); - }); - test("Changes propagate correctly", () => { - const [get, set] = createSignal(0); - let updates = 0; - createEffect(() => { - get(); - updates++; - }); - expect(updates).toBe(1); - set(1); - expect(updates).toBe(2); - set(2); - expect(updates).toBe(3); - }); - test("Nested effects", () => { - const [A, setA] = createSignal(0); - let updates = 0; - createEffect(() => { - A(); - updates++; - let nestedUpdates = 0; - const [get, set] = createSignal(0); - createEffect(() => { - get(); - nestedUpdates++; - }); - expect(nestedUpdates).toBe(1); - set(1); - expect(nestedUpdates).toBe(2); - }); - setA(1); - expect(updates).toBe(2); - }); -}); diff --git a/packages/reactivity/test/memos.test.ts b/packages/reactivity/test/memos.test.ts deleted file mode 100644 index e18c764..0000000 --- a/packages/reactivity/test/memos.test.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { describe, test, expect } from "vitest"; -import { createMemo, createSignal } from "../src"; -describe("createMemo", () => { - test("A memo is executed once on creation", () => { - let updates = 0; - createMemo(() => { - updates++; - }); - expect(updates).toBe(1); - }); - test("A memo updates when its dependencies change", () => { - const [value, setValue] = createSignal(0); - let updates = 0; - createMemo(() => { - value(); - updates++; - }); - expect(updates).toBe(1); - setValue(1); - expect(updates).toBe(2); - }); - test("Memos don't overexecute if a dependency doesn't change", () => { - const [value, setValue] = createSignal(0); - const memo1 = createMemo(() => { - value(); - return 1; - }); - let updates = 0; - const memo2 = createMemo(() => { - updates++; - return memo1(); - }); - expect(memo2()).toBe(1); - setValue(0); - expect(updates).toBe(1); - }); - test("Memos don't overexecute in a diamond (The diamond problem)", () => { - const [A, setA] = createSignal(0); - const B = createMemo(() => { - return A() * 2; - }); - const C = createMemo(() => { - return A() + 2; - }); - let updates = 0; - const D = createMemo(() => { - updates++; - return B()! + C()!; - }); - expect(D()).toBe(2); - setA(1); - expect(D()).toBe(5); - expect(updates).toBe(2); - }); -}); diff --git a/packages/reactivity/test/signals.test.ts b/packages/reactivity/test/signals.test.ts deleted file mode 100644 index c227cfe..0000000 --- a/packages/reactivity/test/signals.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { describe, test, expect } from "vitest"; -import { createSignal } from "../src"; -describe("createSignal", () => { - test("A signal should hold a value that can be updated", () => { - const [value, setValue] = createSignal(0); - expect(value()).toBe(0); - setValue(1); - expect(value()).toBe(1); - }); -}); diff --git a/packages/reactivity/tsconfig.json b/packages/reactivity/tsconfig.json deleted file mode 100644 index 1bd37fb..0000000 --- a/packages/reactivity/tsconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "useDefineForClassFields": true, - "module": "ESNext", - "skipLibCheck": true, - "declaration": true, - "emitDeclarationOnly": true, - /* Bundler mode */ - "moduleResolution": "bundler", - // "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - // "noEmit": true, - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - "outDir": "types" - }, - "include": ["src/*"] -} diff --git a/packages/reactivity/tsup.config.ts b/packages/reactivity/tsup.config.ts deleted file mode 100644 index aaf7a65..0000000 --- a/packages/reactivity/tsup.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig({ - entry: ["src/index.ts"], - target: "esnext", - format: ["esm", "cjs"], - splitting: false, - sourcemap: true, - minify: true, - clean: true, -}); From 971535c134cbb8ac8073178dbf68650adea73021 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 18 Jan 2025 23:31:29 +0000 Subject: [PATCH 003/160] feat: add basic autocomplete flow --- packages/commands/package.json | 1 - packages/core/package.json | 1 - packages/create-solid/package.json | 1 + packages/create-solid/src/create-vanilla.ts | 8 +++- packages/create-solid/src/helpers.ts | 44 ++++++++++++++++++++- packages/create-solid/src/index.ts | 24 +++++++++-- packages/ui/package.json | 1 - packages/utils/package.json | 1 - pnpm-lock.yaml | 24 ++--------- 9 files changed, 74 insertions(+), 31 deletions(-) diff --git a/packages/commands/package.json b/packages/commands/package.json index 916076c..16b5e2a 100644 --- a/packages/commands/package.json +++ b/packages/commands/package.json @@ -44,7 +44,6 @@ "dependencies": { "@begit/core": "^0.0.19", "@clack/prompts": "0.7.0", - "@solid-cli/reactivity": "workspace:*", "@solid-cli/ui": "workspace:*", "@solid-cli/utils": "workspace:*", "execa": "^8.0.1", diff --git a/packages/core/package.json b/packages/core/package.json index e961d0c..6bc3f13 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -25,7 +25,6 @@ "@clack/core": "0.3.4", "@clack/prompts": "0.7.0", "@solid-cli/commands": "workspace:*", - "@solid-cli/reactivity": "workspace:*", "@solid-cli/ui": "workspace:*", "@solid-cli/utils": "workspace:*", "cmd-ts": "^0.13.0", diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index ee06004..0642c24 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -31,6 +31,7 @@ "devDependencies": { "@clack/prompts": "0.7.0", "@solid-cli/commands": "workspace:*", + "@solid-cli/ui": "workspace:*", "@types/node": "^22.9.0", "cmd-ts": "^0.13.0", "jiti": "^2.4.0", diff --git a/packages/create-solid/src/create-vanilla.ts b/packages/create-solid/src/create-vanilla.ts index 728da6e..9dcf82d 100644 --- a/packages/create-solid/src/create-vanilla.ts +++ b/packages/create-solid/src/create-vanilla.ts @@ -3,13 +3,17 @@ import { join } from "node:path"; import { GIT_IGNORE, handleTSConversion } from "./helpers"; import { writeFileSync } from "node:fs"; -const VANILLA_TEMPLATES = ["ts"] as const; -type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; type CreateVanillaArgs = { template: VanillaTemplate, destination: string, } +export const createVanilla = (args: CreateVanillaArgs, js?: boolean) => { + if (js) { + return createVanillaJS(args); + } + return createVanillaTS(args); +} export const createVanillaTS = async ({ template, destination }: CreateVanillaArgs) => { return await downloadRepo({ repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }); } diff --git a/packages/create-solid/src/helpers.ts b/packages/create-solid/src/helpers.ts index 67203a5..4b48011 100644 --- a/packages/create-solid/src/helpers.ts +++ b/packages/create-solid/src/helpers.ts @@ -94,4 +94,46 @@ gitignore # System Files .DS_Store Thumbs.db -`; \ No newline at end of file +`; + +import { log, spinner } from "@clack/prompts"; +type SpinnerItem = { + startText: string; + finishText: string; + fn: () => Promise; +}; +export async function spinnerify(spinners: SpinnerItem): Promise; +export async function spinnerify(spinners: SpinnerItem[]): Promise; +export async function spinnerify(spinners: SpinnerItem[] | SpinnerItem) { + if (!Array.isArray(spinners)) spinners = [spinners]; + let results: any[] = []; + const s = spinner(); + for (const { startText, finishText, fn } of spinners) { + s.start(startText); + results.push(await fn()); + s.stop(finishText); + } + return results.length === 1 ? results[0] : results; +} + +export const cancelable = async (prompt: Promise, cancelMessage: string = "Canceled"): Promise => { + const value = await prompt; + + if (typeof value === "symbol") { + log.warn(cancelMessage); + process.exit(0); + } + + return value; +}; +const VANILLA_TEMPLATES = ["ts"] as const; +type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; + +const START_TEMPLATES = ["basic"] as const; +type StartTemplate = (typeof VANILLA_TEMPLATES)[number]; +export const getTemplatesList = async (isStart: boolean) => { + if (isStart) { + return START_TEMPLATES; + } + return VANILLA_TEMPLATES; +} \ No newline at end of file diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index 7d63a21..8bb76bb 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -4,7 +4,8 @@ import { intro } from "@clack/prompts"; import packageJson from "../package.json" with { type: "json" }; import { defineCommand, runMain } from "citty"; import { createVanillaJS } from "./create-vanilla"; - +import * as p from "@clack/prompts"; +import { cancelable, getTemplatesList } from "./helpers"; intro(`\n${color.bgCyan(color.black(` Create-Solid v${packageJson.version}`))}`); const main = defineCommand({ @@ -36,8 +37,25 @@ const main = defineCommand({ description: "Create a SolidStart project", }, }, - run({ args: { projectNamePositional, templatePositional, "project-name": projectNameOptional, solidstart } }) { - createVanillaJS({ template: "ts", destination: "./ts" }) + async run({ args: { projectNamePositional, templatePositional, "project-name": projectNameOptional, solidstart } }) { + let projectName: string = projectNamePositional ?? projectNameOptional; + let template: string = templatePositional; + let isStart: boolean = solidstart; + let isJS = false; + projectName ??= await cancelable( + p.text({ message: "Project Name", placeholder: "solid-project", defaultValue: "solid-project" }), + ); + isStart ??= await cancelable(p.confirm({ message: "Is this a SolidStart project?" })); + const template_opts = await getTemplatesList(isStart); + template ??= (await cancelable( + p.select({ + message: "Which template would you like to use?", + initialValue: "ts", + options: template_opts.map((s: string) => ({ label: s, value: s })), + }), + )); + isJS = !(await cancelable(p.confirm({ message: "Use Typescript?" }))) + // createVanillaJS({ template: "ts", destination: "./ts" }) } }) runMain(main); diff --git a/packages/ui/package.json b/packages/ui/package.json index 39b8a9a..68d933d 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -38,7 +38,6 @@ "@clack/core": "0.3.4", "@clack/prompts": "0.7.0", "picocolors": "^1.1.1", - "@solid-cli/reactivity": "workspace:*", "@solid-cli/utils": "workspace:*" } } diff --git a/packages/utils/package.json b/packages/utils/package.json index 95e521f..eefd3f6 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -76,7 +76,6 @@ "dependencies": { "@clack/core": "0.3.4", "@clack/prompts": "0.7.0", - "@solid-cli/reactivity": "workspace:*", "cmd-ts": "^0.13.0", "execa": "^8.0.1", "picocolors": "^1.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7f6594c..635f91b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,9 +32,6 @@ importers: '@clack/prompts': specifier: 0.7.0 version: 0.7.0 - '@solid-cli/reactivity': - specifier: workspace:* - version: link:../reactivity '@solid-cli/ui': specifier: workspace:* version: link:../ui @@ -78,9 +75,6 @@ importers: '@solid-cli/commands': specifier: workspace:* version: link:../commands - '@solid-cli/reactivity': - specifier: workspace:* - version: link:../reactivity '@solid-cli/ui': specifier: workspace:* version: link:../ui @@ -137,6 +131,9 @@ importers: '@solid-cli/commands': specifier: workspace:* version: link:../commands + '@solid-cli/ui': + specifier: workspace:* + version: link:../ui '@types/node': specifier: ^22.9.0 version: 22.9.0 @@ -156,15 +153,6 @@ importers: specifier: ^5.6.3 version: 5.6.3 - packages/reactivity: - devDependencies: - tsup: - specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.0)(postcss@8.4.38)(typescript@5.6.3) - typescript: - specifier: ^5.6.3 - version: 5.6.3 - packages/ui: dependencies: '@clack/core': @@ -173,9 +161,6 @@ importers: '@clack/prompts': specifier: 0.7.0 version: 0.7.0 - '@solid-cli/reactivity': - specifier: workspace:* - version: link:../reactivity '@solid-cli/utils': specifier: workspace:* version: link:../utils @@ -201,9 +186,6 @@ importers: '@clack/prompts': specifier: 0.7.0 version: 0.7.0 - '@solid-cli/reactivity': - specifier: workspace:* - version: link:../reactivity cmd-ts: specifier: ^0.13.0 version: 0.13.0 From c3ffbbd345c90b2846e3001ae840529546404bf6 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 18 Jan 2025 23:36:37 +0000 Subject: [PATCH 004/160] feat: pass input from interactive prompts to vanilla creation functions --- packages/create-solid/src/create-start.ts | 11 +++++++++++ packages/create-solid/src/create-vanilla.ts | 2 +- packages/create-solid/src/helpers.ts | 4 ++-- packages/create-solid/src/index.ts | 11 ++++++++--- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/packages/create-solid/src/create-start.ts b/packages/create-solid/src/create-start.ts index e69de29..ac51e25 100644 --- a/packages/create-solid/src/create-start.ts +++ b/packages/create-solid/src/create-start.ts @@ -0,0 +1,11 @@ +export const createStartTS = () => { + +} + +export const createStartJS = () => { + +} + +export const createStart = () => { + +} \ No newline at end of file diff --git a/packages/create-solid/src/create-vanilla.ts b/packages/create-solid/src/create-vanilla.ts index 9dcf82d..4f08980 100644 --- a/packages/create-solid/src/create-vanilla.ts +++ b/packages/create-solid/src/create-vanilla.ts @@ -1,6 +1,6 @@ import { downloadRepo } from "@begit/core"; import { join } from "node:path"; -import { GIT_IGNORE, handleTSConversion } from "./helpers"; +import { GIT_IGNORE, handleTSConversion, VanillaTemplate } from "./helpers"; import { writeFileSync } from "node:fs"; diff --git a/packages/create-solid/src/helpers.ts b/packages/create-solid/src/helpers.ts index 4b48011..59acde1 100644 --- a/packages/create-solid/src/helpers.ts +++ b/packages/create-solid/src/helpers.ts @@ -127,9 +127,9 @@ export const cancelable = async (prompt: Promise, cance return value; }; const VANILLA_TEMPLATES = ["ts"] as const; -type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; +export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; -const START_TEMPLATES = ["basic"] as const; +export const START_TEMPLATES = ["basic"] as const; type StartTemplate = (typeof VANILLA_TEMPLATES)[number]; export const getTemplatesList = async (isStart: boolean) => { if (isStart) { diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index 8bb76bb..02834f2 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -3,9 +3,9 @@ import color from "picocolors"; import { intro } from "@clack/prompts"; import packageJson from "../package.json" with { type: "json" }; import { defineCommand, runMain } from "citty"; -import { createVanillaJS } from "./create-vanilla"; +import { createVanilla, createVanillaJS } from "./create-vanilla"; import * as p from "@clack/prompts"; -import { cancelable, getTemplatesList } from "./helpers"; +import { cancelable, getTemplatesList, VanillaTemplate } from "./helpers"; intro(`\n${color.bgCyan(color.black(` Create-Solid v${packageJson.version}`))}`); const main = defineCommand({ @@ -55,7 +55,12 @@ const main = defineCommand({ }), )); isJS = !(await cancelable(p.confirm({ message: "Use Typescript?" }))) - // createVanillaJS({ template: "ts", destination: "./ts" }) + + if (isStart) { + + } else { + createVanilla({ template: template as VanillaTemplate, destination: projectName }, isJS); + } } }) runMain(main); From c42e2a085a7df8098c06a268dce541944ba0010b Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 18 Jan 2025 23:43:27 +0000 Subject: [PATCH 005/160] feat: allow creating SolidStart projects --- packages/create-solid/src/create-start.ts | 30 ++++++++++++++++++++--- packages/create-solid/src/helpers.ts | 4 +-- packages/create-solid/src/index.ts | 5 ++-- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/packages/create-solid/src/create-start.ts b/packages/create-solid/src/create-start.ts index ac51e25..78f655e 100644 --- a/packages/create-solid/src/create-start.ts +++ b/packages/create-solid/src/create-start.ts @@ -1,11 +1,33 @@ -export const createStartTS = () => { +import { downloadRepo } from "@begit/core"; +import { GIT_IGNORE, handleTSConversion, StartTemplate } from "./helpers" +import { join } from "path"; +import { writeFileSync } from "fs"; +type CreateStartArgs = { + template: StartTemplate, + destination: string, } -export const createStartJS = () => { - +export const createStartTS = ({ template, destination }: CreateStartArgs) => { + return downloadRepo({ + repo: { owner: "solidjs", name: "solid-start", subdir: `examples/${template}` }, + dest: destination, + }); } -export const createStart = () => { +export const createStartJS = async ({ template, destination }: CreateStartArgs) => { + // Create typescript project in `/.project` + // then transpile this to javascript and clean up + const tempDir = join(destination, ".project"); + await createStartTS({ template, destination: tempDir }) + await handleTSConversion(tempDir, destination); + // Add .gitignore + writeFileSync(join(destination, ".gitignore"), GIT_IGNORE); +} +export const createStart = (args: CreateStartArgs, js?: boolean) => { + if (js) { + return createStartJS(args); + } + return createStartTS(args); } \ No newline at end of file diff --git a/packages/create-solid/src/helpers.ts b/packages/create-solid/src/helpers.ts index 59acde1..3da7840 100644 --- a/packages/create-solid/src/helpers.ts +++ b/packages/create-solid/src/helpers.ts @@ -129,8 +129,8 @@ export const cancelable = async (prompt: Promise, cance const VANILLA_TEMPLATES = ["ts"] as const; export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; -export const START_TEMPLATES = ["basic"] as const; -type StartTemplate = (typeof VANILLA_TEMPLATES)[number]; +const START_TEMPLATES = ["basic"] as const; +export type StartTemplate = (typeof VANILLA_TEMPLATES)[number]; export const getTemplatesList = async (isStart: boolean) => { if (isStart) { return START_TEMPLATES; diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index 02834f2..4ed2a5a 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -5,7 +5,8 @@ import packageJson from "../package.json" with { type: "json" }; import { defineCommand, runMain } from "citty"; import { createVanilla, createVanillaJS } from "./create-vanilla"; import * as p from "@clack/prompts"; -import { cancelable, getTemplatesList, VanillaTemplate } from "./helpers"; +import { cancelable, getTemplatesList, StartTemplate, VanillaTemplate } from "./helpers"; +import { createStart } from "./create-start"; intro(`\n${color.bgCyan(color.black(` Create-Solid v${packageJson.version}`))}`); const main = defineCommand({ @@ -57,7 +58,7 @@ const main = defineCommand({ isJS = !(await cancelable(p.confirm({ message: "Use Typescript?" }))) if (isStart) { - + createVanilla({ template: template as StartTemplate, destination: projectName }, isJS); } else { createVanilla({ template: template as VanillaTemplate, destination: projectName }, isJS); } From 3533539b803871ee5f43598bca2abac493de6386 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:19:23 +0000 Subject: [PATCH 006/160] refactor: reorganise helper functions --- packages/create-solid/package.json | 10 +-- packages/create-solid/src/create-start.ts | 6 +- packages/create-solid/src/create-vanilla.ts | 5 +- packages/create-solid/src/create.ts | 13 ++++ packages/create-solid/src/helpers.ts | 67 ------------------- packages/create-solid/src/index.ts | 15 ++++- .../create-solid/src/utils/file-system.ts | 18 +++++ .../create-solid/src/utils/ts-conversion.ts | 53 +++++++++++++++ packages/create-solid/tsup.config.ts | 3 +- pnpm-lock.yaml | 60 +++++++++++++---- 10 files changed, 156 insertions(+), 94 deletions(-) create mode 100644 packages/create-solid/src/create.ts create mode 100644 packages/create-solid/src/utils/file-system.ts create mode 100644 packages/create-solid/src/utils/ts-conversion.ts diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 0642c24..f31fb09 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -29,7 +29,7 @@ "build": "tsc && tsup" }, "devDependencies": { - "@clack/prompts": "0.7.0", + "@clack/prompts": "0.9.1", "@solid-cli/commands": "workspace:*", "@solid-cli/ui": "workspace:*", "@types/node": "^22.9.0", @@ -37,14 +37,14 @@ "jiti": "^2.4.0", "picocolors": "^1.1.1", "tsup": "^8.3.5", - "typescript": "^5.6.3" + "typescript": "^5.6.3", + "@begit/core": "^0.1.1", + "citty": "^0.1.6", + "sucrase": "^3.35.0" }, "publishConfig": { "access": "public" }, "dependencies": { - "@begit/core": "^0.0.19", - "citty": "^0.1.6", - "sucrase": "^3.35.0" } } diff --git a/packages/create-solid/src/create-start.ts b/packages/create-solid/src/create-start.ts index 78f655e..e41c2a8 100644 --- a/packages/create-solid/src/create-start.ts +++ b/packages/create-solid/src/create-start.ts @@ -1,9 +1,9 @@ import { downloadRepo } from "@begit/core"; -import { GIT_IGNORE, handleTSConversion, StartTemplate } from "./helpers" +import { GIT_IGNORE, StartTemplate } from "./helpers" import { join } from "path"; import { writeFileSync } from "fs"; - -type CreateStartArgs = { +import { handleTSConversion } from "./utils/ts-conversion" +export type CreateStartArgs = { template: StartTemplate, destination: string, } diff --git a/packages/create-solid/src/create-vanilla.ts b/packages/create-solid/src/create-vanilla.ts index 4f08980..394ba41 100644 --- a/packages/create-solid/src/create-vanilla.ts +++ b/packages/create-solid/src/create-vanilla.ts @@ -1,10 +1,11 @@ import { downloadRepo } from "@begit/core"; import { join } from "node:path"; -import { GIT_IGNORE, handleTSConversion, VanillaTemplate } from "./helpers"; +import { GIT_IGNORE, VanillaTemplate } from "./helpers"; import { writeFileSync } from "node:fs"; +import { handleTSConversion } from "./utils/ts-conversion"; -type CreateVanillaArgs = { +export type CreateVanillaArgs = { template: VanillaTemplate, destination: string, } diff --git a/packages/create-solid/src/create.ts b/packages/create-solid/src/create.ts new file mode 100644 index 0000000..49bbd4b --- /dev/null +++ b/packages/create-solid/src/create.ts @@ -0,0 +1,13 @@ +import { createStart, CreateStartArgs } from "./create-start"; +import { createVanilla, CreateVanillaArgs } from "./create-vanilla"; + +export async function create(args: CreateVanillaArgs, js: boolean, isStart: false): Promise; +export async function create(args: CreateStartArgs, js: boolean, isStart: true): Promise; +export async function create(args: CreateVanillaArgs | CreateStartArgs, js: boolean, isStart: boolean) { + if (isStart) { + return createStart(args, js); + } + else { + return createVanilla(args, js); + } +} \ No newline at end of file diff --git a/packages/create-solid/src/helpers.ts b/packages/create-solid/src/helpers.ts index 3da7840..f53899a 100644 --- a/packages/create-solid/src/helpers.ts +++ b/packages/create-solid/src/helpers.ts @@ -1,70 +1,3 @@ -import { copyFileSync, Dirent, mkdirSync, readdirSync, writeFileSync } from "node:fs"; -import { readFile, rm } from "node:fs/promises"; -import { join, resolve } from "node:path"; -import { transform } from "sucrase"; - -const recurseFiles = (startPath: string, cb: (file: Dirent, startPath: string) => void) => { - startPath = resolve(startPath); - - const files = readdirSync(startPath, { withFileTypes: true }); - - for (const file of files) { - cb(file, startPath); - } -}; - -export const readFileToString = async (path: string) => { - return (await readFile(path)).toString(); -}; -const convertToJS = async (file: Dirent, startPath: string) => { - const src = join(startPath, file.name); - const dest = resolve(startPath.replace(".solid-start", ""), file.name); - if (file.isDirectory()) { - mkdirSync(dest, { recursive: true }); - recurseFiles(resolve(startPath, file.name), convertToJS); - } else if (file.isFile()) { - if (src.endsWith(".ts") || src.endsWith(".tsx")) { - let { code } = transform(await readFileToString(src), { - transforms: ["typescript", "jsx"], - jsxRuntime: "preserve", - }); - - writeFileSync(dest.replace(".ts", ".js"), code, { flag: "wx" }); - } else { - copyFileSync(src, dest); - } - } -}; -export const handleTSConversion = async (tempDir: string, projectName: string) => { - await rm(resolve(tempDir, "tsconfig.json")); - writeFileSync( - resolve(projectName, "jsconfig.json"), - JSON.stringify( - { - compilerOptions: { - jsx: "preserve", - jsxImportSource: "solid-js", - paths: { - "~/*": ["./src/*"], - }, - }, - }, - null, - 2, - ), - { flag: "wx" }, - ); - - // Convert all ts files in temp directory into js - recurseFiles(tempDir, convertToJS); - - // Remove temp directory - await rm(join(process.cwd(), tempDir), { - recursive: true, - force: true, - }); -}; - export const GIT_IGNORE = ` dist .solid diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index 4ed2a5a..c340ee7 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -5,8 +5,9 @@ import packageJson from "../package.json" with { type: "json" }; import { defineCommand, runMain } from "citty"; import { createVanilla, createVanillaJS } from "./create-vanilla"; import * as p from "@clack/prompts"; -import { cancelable, getTemplatesList, StartTemplate, VanillaTemplate } from "./helpers"; +import { cancelable, getTemplatesList, spinnerify, StartTemplate, VanillaTemplate } from "./helpers"; import { createStart } from "./create-start"; +import { create } from "./create"; intro(`\n${color.bgCyan(color.black(` Create-Solid v${packageJson.version}`))}`); const main = defineCommand({ @@ -58,9 +59,17 @@ const main = defineCommand({ isJS = !(await cancelable(p.confirm({ message: "Use Typescript?" }))) if (isStart) { - createVanilla({ template: template as StartTemplate, destination: projectName }, isJS); + await spinnerify({ + startText: "Creating project", + finishText: "Project created 🎉", + fn: () => createStart({ template: template as StartTemplate, destination: projectName }, isJS), + }) } else { - createVanilla({ template: template as VanillaTemplate, destination: projectName }, isJS); + await spinnerify({ + startText: "Creating project", + finishText: "Project created 🎉", + fn: () => createVanilla({ template: template as VanillaTemplate, destination: projectName }, isJS), + }) } } }) diff --git a/packages/create-solid/src/utils/file-system.ts b/packages/create-solid/src/utils/file-system.ts new file mode 100644 index 0000000..0dd4c68 --- /dev/null +++ b/packages/create-solid/src/utils/file-system.ts @@ -0,0 +1,18 @@ +import { copyFileSync, Dirent, mkdirSync, readdirSync, writeFileSync } from "node:fs"; +import { readFile, rm } from "node:fs/promises"; +import { join, resolve } from "node:path"; +import { transform } from "sucrase"; + +export const recurseFiles = (startPath: string, cb: (file: Dirent, startPath: string) => void) => { + startPath = resolve(startPath); + + const files = readdirSync(startPath, { withFileTypes: true }); + + for (const file of files) { + cb(file, startPath); + } +}; + +export const readFileToString = async (path: string) => { + return (await readFile(path)).toString(); +}; \ No newline at end of file diff --git a/packages/create-solid/src/utils/ts-conversion.ts b/packages/create-solid/src/utils/ts-conversion.ts new file mode 100644 index 0000000..dc5a711 --- /dev/null +++ b/packages/create-solid/src/utils/ts-conversion.ts @@ -0,0 +1,53 @@ +import { copyFileSync, Dirent, mkdirSync, writeFileSync } from "node:fs"; +import { readFileToString, recurseFiles } from "./file-system" +import { join, resolve } from "node:path"; +import { transform } from "sucrase"; +import { rm } from "node:fs/promises"; +const convertToJS = async (file: Dirent, startPath: string) => { + const src = join(startPath, file.name); + const dest = resolve(startPath.replace(".solid-start", ""), file.name); + if (file.isDirectory()) { + mkdirSync(dest, { recursive: true }); + recurseFiles(resolve(startPath, file.name), convertToJS); + } else if (file.isFile()) { + if (src.endsWith(".ts") || src.endsWith(".tsx")) { + let { code } = transform(await readFileToString(src), { + transforms: ["typescript", "jsx"], + jsxRuntime: "preserve", + }); + + writeFileSync(dest.replace(".ts", ".js"), code, { flag: "wx" }); + } else { + copyFileSync(src, dest); + } + } +}; +export const handleTSConversion = async (tempDir: string, projectName: string) => { + await rm(resolve(tempDir, "tsconfig.json")); + writeFileSync( + resolve(projectName, "jsconfig.json"), + JSON.stringify( + { + compilerOptions: { + jsx: "preserve", + jsxImportSource: "solid-js", + paths: { + "~/*": ["./src/*"], + }, + }, + }, + null, + 2, + ), + { flag: "wx" }, + ); + + // Convert all ts files in temp directory into js + recurseFiles(tempDir, convertToJS); + + // Remove temp directory + await rm(join(process.cwd(), tempDir), { + recursive: true, + force: true, + }); +}; \ No newline at end of file diff --git a/packages/create-solid/tsup.config.ts b/packages/create-solid/tsup.config.ts index e0ff30c..831d65f 100644 --- a/packages/create-solid/tsup.config.ts +++ b/packages/create-solid/tsup.config.ts @@ -4,11 +4,10 @@ export default defineConfig({ entry: ["src/index.ts"], target: "esnext", format: "esm", - splitting: false, + splitting: true, bundle: true, sourcemap: false, clean: true, - noExternal: ["@solid-cli/commands"], treeshake: true, minify: true, banner: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 635f91b..faaaaf3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,20 +114,13 @@ importers: version: 5.6.3 packages/create-solid: - dependencies: - '@begit/core': - specifier: ^0.0.19 - version: 0.0.19 - citty: - specifier: ^0.1.6 - version: 0.1.6 - sucrase: - specifier: ^3.35.0 - version: 3.35.0 devDependencies: + '@begit/core': + specifier: ^0.1.1 + version: 0.1.1 '@clack/prompts': - specifier: 0.7.0 - version: 0.7.0 + specifier: 0.9.1 + version: 0.9.1 '@solid-cli/commands': specifier: workspace:* version: link:../commands @@ -137,6 +130,9 @@ importers: '@types/node': specifier: ^22.9.0 version: 22.9.0 + citty: + specifier: ^0.1.6 + version: 0.1.6 cmd-ts: specifier: ^0.13.0 version: 0.13.0 @@ -146,6 +142,9 @@ importers: picocolors: specifier: ^1.1.1 version: 1.1.1 + sucrase: + specifier: ^3.35.0 + version: 3.35.0 tsup: specifier: ^8.3.5 version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.0)(postcss@8.4.38)(typescript@5.6.3) @@ -247,6 +246,9 @@ packages: '@begit/core@0.0.19': resolution: {integrity: sha512-3ypq3vJQ+PzYVi53HRkAtwdtVXTjyXjo1UzTkD75Qr9YIoacYsSy9gAdbwktfNKgTLyc1nU83W1D3SEw9kgBBA==} + '@begit/core@0.1.1': + resolution: {integrity: sha512-uxooRorqP8Xv20jf/X+nhkbDIiEodl/oXwep5gNat7ccQnlu6oG/PxepcsOyvwonL9x0ZDEmP46fC5Uhu2fivA==} + '@changesets/apply-release-plan@7.0.5': resolution: {integrity: sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==} @@ -324,11 +326,17 @@ packages: '@clack/core@0.3.4': resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} + '@clack/core@0.4.1': + resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} + '@clack/prompts@0.7.0': resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==} bundledDependencies: - is-unicode-supported + '@clack/prompts@0.9.1': + resolution: {integrity: sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==} + '@esbuild/aix-ppc64@0.20.2': resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} @@ -1734,6 +1742,10 @@ packages: resolution: {integrity: sha512-XQs0S8fuAkQWuqhDeCdMlJXDX80D7EOVLDPVFkna9yQfzS+PHKgfxcei0jf6/+QAWcjqrnC8uM3fSAnrQl+XYg==} engines: {node: '>=18'} + tar@7.4.3: + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + engines: {node: '>=18'} + term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} @@ -1990,6 +2002,10 @@ snapshots: dependencies: tar: 7.4.0 + '@begit/core@0.1.1': + dependencies: + tar: 7.4.3 + '@changesets/apply-release-plan@7.0.5': dependencies: '@changesets/config': 3.0.3 @@ -2159,12 +2175,23 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 + '@clack/core@0.4.1': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 + '@clack/prompts@0.7.0': dependencies: '@clack/core': 0.3.3 picocolors: 1.1.1 sisteransi: 1.0.5 + '@clack/prompts@0.9.1': + dependencies: + '@clack/core': 0.4.1 + picocolors: 1.1.1 + sisteransi: 1.0.5 + '@esbuild/aix-ppc64@0.20.2': optional: true @@ -3333,6 +3360,15 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 + tar@7.4.3: + dependencies: + '@isaacs/fs-minipass': 4.0.0 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.0.1 + mkdirp: 3.0.1 + yallist: 5.0.0 + term-size@2.2.1: {} thenify-all@1.6.0: From 11c7ff690cdec7ee07ad67787e4263e11e6a1fe0 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:29:10 +0000 Subject: [PATCH 007/160] remove unused packages refactor create-solid code --- packages/commands/.gitignore | 1 - packages/commands/package.json | 53 ---- packages/commands/src/handlers/add.ts | 222 ---------------- packages/commands/src/handlers/new.ts | 246 ------------------ .../commands/src/handlers/start/adapter.ts | 43 --- packages/commands/src/handlers/start/api.ts | 41 --- packages/commands/src/handlers/start/data.ts | 39 --- packages/commands/src/handlers/start/index.ts | 5 - packages/commands/src/handlers/start/mode.ts | 39 --- packages/commands/src/handlers/start/route.ts | 40 --- packages/commands/src/index.ts | 3 - packages/commands/src/lib/integrations.ts | 221 ---------------- packages/commands/src/lib/utils/helpers.ts | 152 ----------- .../tests/assets/sample_app_config.txt | 7 - .../tests/assets/sample_unocss_app_result.txt | 11 - .../assets/sample_unocss_vite_result.txt | 9 - .../tests/assets/sample_vite_config.txt | 5 - .../tests/config_manipulation.test.ts | 93 ------- .../commands/tests/package_installs.test.ts | 7 - packages/commands/tsconfig.json | 20 -- packages/commands/tsup.config.ts | 13 - packages/core/.gitignore | 133 ---------- packages/core/README.md | 48 ---- packages/core/package.json | 50 ---- packages/core/src/commands/index.ts | 114 -------- packages/core/src/commands/start.ts | 97 ------- packages/core/src/index.ts | 117 --------- packages/core/src/plugins/plugins_entry.ts | 28 -- packages/core/tsconfig.json | 14 - packages/core/tsup.config.ts | 13 - packages/create-solid/src/create-start.ts | 2 +- packages/create-solid/src/create-vanilla.ts | 2 +- packages/create-solid/src/index.ts | 3 +- packages/create-solid/src/utils/constants.ts | 57 ++++ .../create-solid/src/utils/ts-conversion.ts | 11 +- .../src/{helpers.ts => utils/ui.ts} | 42 --- 36 files changed, 63 insertions(+), 1938 deletions(-) delete mode 100644 packages/commands/.gitignore delete mode 100644 packages/commands/package.json delete mode 100644 packages/commands/src/handlers/add.ts delete mode 100644 packages/commands/src/handlers/new.ts delete mode 100644 packages/commands/src/handlers/start/adapter.ts delete mode 100644 packages/commands/src/handlers/start/api.ts delete mode 100644 packages/commands/src/handlers/start/data.ts delete mode 100644 packages/commands/src/handlers/start/index.ts delete mode 100644 packages/commands/src/handlers/start/mode.ts delete mode 100644 packages/commands/src/handlers/start/route.ts delete mode 100644 packages/commands/src/index.ts delete mode 100644 packages/commands/src/lib/integrations.ts delete mode 100644 packages/commands/src/lib/utils/helpers.ts delete mode 100644 packages/commands/tests/assets/sample_app_config.txt delete mode 100644 packages/commands/tests/assets/sample_unocss_app_result.txt delete mode 100644 packages/commands/tests/assets/sample_unocss_vite_result.txt delete mode 100644 packages/commands/tests/assets/sample_vite_config.txt delete mode 100644 packages/commands/tests/config_manipulation.test.ts delete mode 100644 packages/commands/tests/package_installs.test.ts delete mode 100644 packages/commands/tsconfig.json delete mode 100644 packages/commands/tsup.config.ts delete mode 100644 packages/core/.gitignore delete mode 100644 packages/core/README.md delete mode 100644 packages/core/package.json delete mode 100644 packages/core/src/commands/index.ts delete mode 100644 packages/core/src/commands/start.ts delete mode 100644 packages/core/src/index.ts delete mode 100644 packages/core/src/plugins/plugins_entry.ts delete mode 100644 packages/core/tsconfig.json delete mode 100644 packages/core/tsup.config.ts create mode 100644 packages/create-solid/src/utils/constants.ts rename packages/create-solid/src/{helpers.ts => utils/ui.ts} (60%) diff --git a/packages/commands/.gitignore b/packages/commands/.gitignore deleted file mode 100644 index fbf0622..0000000 --- a/packages/commands/.gitignore +++ /dev/null @@ -1 +0,0 @@ -types \ No newline at end of file diff --git a/packages/commands/package.json b/packages/commands/package.json deleted file mode 100644 index 16b5e2a..0000000 --- a/packages/commands/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "@solid-cli/commands", - "version": "0.0.24", - "description": "The main command handlers for the Solid CLI", - "license": "MIT", - "homepage": "https://solid-cli.netlify.app", - "repository": { - "type": "git", - "url": "https://github.com/solidjs-community/solid-cli" - }, - "files": [ - "dist", - "types" - ], - "main": "./dist/index.mjs", - "module": "./dist/index.mjs", - "types": "./types/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.mjs", - "types": "./types/index.d.ts" - }, - "./new": { - "import": "./dist/handlers/new.mjs", - "require": "./dist/handlers/new.mjs", - "types": "./types/handlers/new.d.ts" - } - }, - "scripts": { - "test": "vitest run", - "build": "tsc && tsup" - }, - "devDependencies": { - "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "^22.9.0", - "prettier": "^3.3.3", - "tsup": "^8.3.5", - "typescript": "^5.6.3" - }, - "publishConfig": { - "access": "public" - }, - "dependencies": { - "@begit/core": "^0.0.19", - "@clack/prompts": "0.7.0", - "@solid-cli/ui": "workspace:*", - "@solid-cli/utils": "workspace:*", - "execa": "^8.0.1", - "picocolors": "^1.1.1", - "sucrase": "^3.35.0" - } -} diff --git a/packages/commands/src/handlers/add.ts b/packages/commands/src/handlers/add.ts deleted file mode 100644 index 5c8a4e6..0000000 --- a/packages/commands/src/handlers/add.ts +++ /dev/null @@ -1,222 +0,0 @@ -import { autocomplete } from "@solid-cli/ui"; -import { S_BAR, cancelable, spinnerify } from "@solid-cli/ui"; -import { Integrations, Supported, integrations, setRootFile } from "../lib/integrations"; -import * as p from "@clack/prompts"; -import color from "picocolors"; -import { primitives, loadPrimitives } from "@solid-cli/utils/primitives"; -import { isSolidStart, t } from "@solid-cli/utils"; -import { fileExists, getRootFile, getConfigFile, validateFilePath } from "../lib/utils/helpers"; -import { writeFile, readFile } from "@solid-cli/utils/fs"; -import { transformPlugins, type PluginOptions } from "@solid-cli/utils/transform"; -import { - UPDATESQUEUE, - clearQueue, - flushCommandUpdates, - flushFileUpdates, - flushPackageUpdates, - queueUpdate, - summarizeUpdates, -} from "@solid-cli/utils/updates"; - -const handleAutocompleteAdd = async () => { - const supportedIntegrations = (Object.keys(integrations) as Supported[]).map((value) => ({ label: value, value })); - const opts = () => [...supportedIntegrations, ...primitives()]; - - loadPrimitives().catch((e) => p.log.error(e)); - - const a = await cancelable( - autocomplete({ - message: t.ADD_PACKAGES, - options: opts, - }), - ); - - if (a.length === 0) { - p.log.warn(t.NOTHING_SELECTED); - return; - } - - const shouldInstall = await cancelable( - p.select({ - options: [ - { label: t.YES, value: true }, - { label: t.NO, value: false }, - { label: t.YES_FORCE, value: [true, "force"] }, - ], - message: `${t.CONFIRM_INSTALL(a.length)} \n${color.red(S_BAR)} \n${color.red(S_BAR)} ${ - " " + color.yellow(a.map((opt) => opt.label).join(" ")) + " " - } \n${color.red(S_BAR)} `, - }), - ); - - if (!shouldInstall) return; - - let forceTransform = false; - if (Array.isArray(shouldInstall) && shouldInstall[1] === "force") { - forceTransform = true; - } - const packages = a.map((opt) => opt.value as Supported); - - return { packages, forceTransform }; -}; -const isIntegration = (str: string) => { - if (Object.keys(integrations).includes(str)) return true; - return false; -}; -/** - * Transforms a list containing primitives, either by name or full package name, and returns the corresponding primitive objects - */ -const transformPrimitives = async (ps: string[]) => { - if (!ps.length) return []; - - if (!primitives().length) { - await spinnerify({ - startText: t.LOADING_PRIMITIVES, - finishText: t.PRIMITIVES_LOADED, - fn: loadPrimitives, - }); - } - - const mappedInput = ps.map((p) => p.replace("@solid-primitives/", "")); - - return primitives().filter((p) => mappedInput.includes(p.value.replace("@solid-primitives/", ""))); -}; - -type Configs = Integrations[keyof Integrations][]; - -export const handleAdd = async (packages?: string[], forceTransform: boolean = false) => { - if (!packages?.length) { - const autocompleted = await handleAutocompleteAdd(); - - if (!autocompleted) return; - - packages = autocompleted.packages; - forceTransform = autocompleted.forceTransform; - } - const possiblePrimitives: string[] = []; - const configs: Configs = packages - .map((n) => { - if (!n) return; - if (!isIntegration(n)) { - possiblePrimitives.push(n); - return; - } - const res = integrations[n as Supported]; - if (!res) { - p.log.error(t.NO_SUPPORT(n)); - return; - } - return res; - }) - .filter((p) => p) as Configs; - - const configType = (await isSolidStart()) ? "app" : "vite"; - - const configFile = await getConfigFile(configType); - - for (let i = 0; i < configs.length; i++) { - const config = configs[i]; - config.installs.forEach((p) => queueUpdate({ type: "package", name: p, dev: false })); - config.installsDev?.forEach((p) => queueUpdate({ type: "package", name: p, dev: true })); - } - // Queue primitives - for (const primitive of await transformPrimitives(possiblePrimitives)) { - queueUpdate({ type: "package", name: primitive.value, dev: false }); - } - - if (!configs.length) return; - const pluginOptions = configs.map((c) => c.pluginOptions).filter(Boolean) as PluginOptions[]; - if (pluginOptions.length) { - await spinnerify({ - startText: "Processing config", - finishText: "Config processed", - fn: async () => { - const code = await transformPlugins( - configs.map((c) => c.pluginOptions).filter(Boolean) as PluginOptions[], - { type: configType, name: configFile, contents: (await readFile(configFile)).toString() }, - forceTransform, - undefined, - ); - await writeFile(configFile, code); - }, - }); - } - - p.log.info("Preparing post install steps for integrations"); - - let projectRoot = await getRootFile(); - setRootFile(projectRoot); - - if (!fileExists(projectRoot)) { - p.log.error(color.red(`Can't find root file \`${projectRoot.split("/")[1]}\`.`)); - await cancelable( - p.text({ - message: `Type path to root: `, - validate(value) { - if (!value.length) return `Path can not be empty`; - const path = validateFilePath(value, ["app.tsx", "index.tsx"]); - if (!path) return `File at \`${value}\` not found. Please try again`; - else setRootFile(path); - }, - }), - ); - } - // Run our additional configs - await spinnerify({ - startText: "Running additional config steps", - finishText: "Additional config steps complete", - fn: async () => { - for (const cfg of configs) { - await cfg.additionalConfig?.(); - } - }, - }); - if (UPDATESQUEUE.length === 0) return; - - const { fileUpdates, packageUpdates, commandUpdates } = summarizeUpdates(); - - // Inspired by Qwik's CLI - if (fileUpdates.length) p.log.message([`${color.cyan("Modify")}`, ...fileUpdates.map((f) => ` - ${f}`)].join("\n")); - - if (packageUpdates.length) - p.log.message([`${color.cyan("Install")}`, ...packageUpdates.map((p) => ` - ${p.name}` + (p.dev ? " (dev)" : ""))].join("\n")); - if (commandUpdates.length) - p.log.message([`${color.cyan("Run commands")}`, ...commandUpdates.map((p) => ` - ${p}`)].join("\n")); - - const confirmed = await p.confirm({ message: "Do you wish to continue?" }); - if (!confirmed || p.isCancel(confirmed)) return; - - await spinnerify({ startText: "Writing files...", finishText: "Updates written", fn: flushFileUpdates }); - await spinnerify({ startText: "Installing packages...", finishText: "Packages installed", fn: flushPackageUpdates }); - await spinnerify({ startText: "Running setup commands", finishText: "Setup commands ran", fn: flushCommandUpdates }); - - clearQueue(); - - const postInstalls = configs.filter((c) => c.postInstall); - if (postInstalls.length === 0) return; - - p.log.message( - `${postInstalls.length} ${postInstalls.length === 1 ? "package has" : "packages have" - } post install steps that need to run.`, - ); - - const pInstallConfirmed = await p.confirm({ message: "Do you wish to continue?" }); - if (!pInstallConfirmed || p.isCancel(pInstallConfirmed)) return; - - p.log.info("Running post installs"); - // Run postInstalls - for (const cfg of configs) { - await cfg.postInstall?.(); - } - - p.log.success("Post install steps complete!"); - // await spinnerify({ - // startText: t.POST_INSTALL, - // finishText: t.POST_INSTALL_COMPLETE, - // fn: async () => { - // for (const cfg of configs) { - // await cfg.postInstall?.(); - // } - // }, - // }); -}; diff --git a/packages/commands/src/handlers/new.ts b/packages/commands/src/handlers/new.ts deleted file mode 100644 index ae03fe5..0000000 --- a/packages/commands/src/handlers/new.ts +++ /dev/null @@ -1,246 +0,0 @@ -import * as p from "@clack/prompts"; -import { openInBrowser } from "@solid-cli/utils"; -import { cancelable, spinnerify } from "@solid-cli/ui"; -import { t } from "@solid-cli/utils"; -import { insertAtEnd, readFileToString } from "@solid-cli/utils/fs"; -import { flushQueue } from "@solid-cli/utils/updates"; -import { rm } from "fs/promises"; -import { join, resolve } from "path"; -import { Dirent, copyFileSync, existsSync, mkdirSync, readdirSync, writeFileSync } from "fs"; -import { downloadRepo } from "@begit/core"; -import { transform } from "sucrase"; -import { detectPackageManager } from "@solid-cli/utils/package-manager"; -const gitIgnore = ` -dist -.solid -.output -.vercel -.netlify -.vinxi -app.config.timestamp_*.js - -# Environment -.env -.env*.local - -# dependencies -/node_modules - -# IDEs and editors -/.idea -.project -.classpath -*.launch -.settings/ - -# Temp -gitignore - -# System Files -.DS_Store -Thumbs.db -`; - -const startSupported = [ - "basic", - "bare", - "hackernews", - "notes", - "todomvc", - "with-auth", - "with-authjs", - "with-drizzle", - "with-mdx", - "with-prisma", - "with-solid-styled", - "with-tailwindcss", - "with-trpc", - "with-unocss", - "with-vitest", - "experiments", -] as const; -const localSupported = ["ts", "js"] as const; -const stackblitzSupported = ["bare"] as const; - -export type AllSupported = (typeof localSupported)[number] | (typeof stackblitzSupported)[number]; -export const isSupported = (template: string): template is AllSupported => { - return localSupported.indexOf(template as any) !== -1; -}; -const modifyReadme = async (name: string) => { - await insertAtEnd( - `${name}/README.md`, - "\n## This project was created with the [Solid CLI](https://solid-cli.netlify.app)\n", - ); - await flushQueue(); -}; - -const recurseFiles = (startPath: string, cb: (file: Dirent, startPath: string) => void) => { - startPath = resolve(startPath); - - const files = readdirSync(startPath, { withFileTypes: true }); - - for (const file of files) { - cb(file, startPath); - } -}; - -const convertToJS = async (file: Dirent, startPath: string) => { - const src = join(startPath, file.name); - const dest = resolve(startPath.replace(".solid-start", ""), file.name); - if (file.isDirectory()) { - mkdirSync(dest, { recursive: true }); - recurseFiles(resolve(startPath, file.name), convertToJS); - } else if (file.isFile()) { - if (src.endsWith(".ts") || src.endsWith(".tsx")) { - let { code } = transform(await readFileToString(src), { - transforms: ["typescript", "jsx"], - jsxRuntime: "preserve", - }); - - writeFileSync(dest.replace(".ts", ".js"), code, { flag: "wx" }); - } else { - copyFileSync(src, dest); - } - } -}; - -const handleTSConversion = async (tempDir: string, projectName: string) => { - await rm(resolve(tempDir, "tsconfig.json")); - writeFileSync( - resolve(projectName, "jsconfig.json"), - JSON.stringify( - { - compilerOptions: { - jsx: "preserve", - jsxImportSource: "solid-js", - paths: { - "~/*": ["./src/*"], - }, - }, - }, - null, - 2, - ), - { flag: "wx" }, - ); - - // Convert all ts files in temp directory into js - recurseFiles(tempDir, convertToJS); - - // Remove temp directory - await rm(join(process.cwd(), tempDir), { - recursive: true, - force: true, - }); -}; - -const handleNewStartProject = async (projectName: string, variation?: AllSupported) => { - const template = await cancelable( - p.select({ - message: t.NEW_START, - initialValue: "ts", - options: startSupported.map((s) => ({ label: s, value: s })), - maxItems: process.stdout.rows - 4, - }), - ); - - const withTs = variation ? variation !== "ts" : await cancelable(p.confirm({ message: "Use Typescript?" })); - - // If the user does not want ts, we create the project in a temp directory inside the project directory - const tempDir = withTs ? projectName : join(projectName, ".solid-start"); - const readmeAlreadyExists = existsSync(join(projectName, "README.md")); - await spinnerify({ - startText: t.CREATING_PROJECT, - finishText: t.PROJECT_CREATED, - fn: async () => { - await downloadRepo({ - repo: { owner: "solidjs", name: "solid-start", subdir: `examples/${template}` }, - dest: tempDir, - }); - }, - }); - - if (!withTs) await handleTSConversion(tempDir, projectName); - - // Add .gitignore - writeFileSync(join(projectName, ".gitignore"), gitIgnore); - if (!readmeAlreadyExists) await modifyReadme(projectName); - const pM = detectPackageManager(); - p.note( - `cd ${projectName} -${pM.name} install -${pM.name} ${pM.runScriptCommand("dev")}`, - t.GET_STARTED, - ); -}; - -const handleAutocompleteNew = async (name: string, isStart?: boolean) => { - isStart ??= await cancelable(p.confirm({ message: t.IS_START_PROJECT })); - - if (isStart) { - handleNewStartProject(name); - return; - } - - const template = (await cancelable( - p.select({ - message: t.TEMPLATE, - initialValue: "ts", - options: localSupported.map((s) => ({ label: s, value: s })), - }), - )) as unknown as AllSupported; - - await handleNew(template, name); -}; -export const handleNew = async ( - variation?: AllSupported, - name?: string, - stackblitz: boolean = false, - isStart?: boolean, -) => { - name ??= await cancelable( - p.text({ message: t.PROJECT_NAME, placeholder: "solid-project", defaultValue: "solid-project" }), - ); - - if (!variation) { - await handleAutocompleteNew(name, isStart); - return; - } - - if (stackblitz) { - await spinnerify({ - startText: t.OPENING_IN_BROWSER(variation), - finishText: t.OPENED_IN_BROWSER, - fn: () => openInBrowser(`https://solid.new/${variation}`), - }); - return; - } - - const withTs = variation.startsWith("ts") ? await cancelable(p.confirm({ message: "Use Typescript?" })) : false; - - // If the user does not want ts, we create the project in a temp directory inside the project directory - // If project is already JS don't bother transpiling - const tempDir = withTs || variation.startsWith("js") ? name : join(name, ".solid-start"); - const readmeAlreadyExists = existsSync(join(name, "README.md")); - - await spinnerify({ - startText: t.CREATING_PROJECT, - finishText: t.PROJECT_CREATED, - fn: async () => { - await downloadRepo({ repo: { owner: "solidjs", name: "templates", subdir: variation }, dest: tempDir }); - }, - }); - // Don't try to convert to ts if the template used is JS - if (!withTs && !variation.startsWith("js")) await handleTSConversion(tempDir, name); - - // Add .gitignore - writeFileSync(join(name, ".gitignore"), gitIgnore); - if (!readmeAlreadyExists) await modifyReadme(name ?? variation); - const pM = detectPackageManager(); - p.note( - `cd ${name} -${pM.name} install -${pM.name} ${pM.runScriptCommand("dev")}`, - t.GET_STARTED, - ); -}; diff --git a/packages/commands/src/handlers/start/adapter.ts b/packages/commands/src/handlers/start/adapter.ts deleted file mode 100644 index f2b6ef3..0000000 --- a/packages/commands/src/handlers/start/adapter.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { readFile, writeFile } from "@solid-cli/utils/fs"; -import { transformPlugins } from "@solid-cli/utils/transform"; -import * as p from "@clack/prompts"; -import { cancelable } from "@solid-cli/ui"; - -export const supportedAdapters = [ - "aws", - "cloudflare-pages", - "cloudflare-workers", - "deno", - "netlify", - "node", - "static", - "vercel", -] as const; - -type SupportedAdapters = (typeof supportedAdapters)[number]; - -const handleAutocompleteAdapter = async () => { - const name = (await cancelable( - p.select({ - message: "Select an adapter", - options: supportedAdapters.map((a) => ({ value: a, label: a })), - }), - )) as SupportedAdapters; - await handleAdapter(name, true); -}; - -export const handleAdapter = async (name?: string, forceTransform = false) => { - if (!name) { - await handleAutocompleteAdapter(); - return; - } - const sym = Symbol(name).toString(); - let code = await transformPlugins( - [], - { type: "app", name: "app.config.ts", contents: (await readFile("app.config.ts")).toString() }, - forceTransform, - ); - code = `import ${name} from "solid-start-${name}";\n` + code; - code = code.replace(`"${sym}"`, `${name}({})`); - await writeFile("app.config.ts", code); -}; diff --git a/packages/commands/src/handlers/start/api.ts b/packages/commands/src/handlers/start/api.ts deleted file mode 100644 index 79dd2bb..0000000 --- a/packages/commands/src/handlers/start/api.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { isSolidStart, createApi } from "@solid-cli/utils"; -import * as p from "@clack/prompts"; -import { cancelable, spinnerify } from "@solid-cli/ui"; - -const handleAutocompleteApi = async () => { - const path = await cancelable( - p.text({ - message: "Enter the path in which the api file will be created", - placeholder: "/user", - validate(value) { - if (!value.length) return "Path is required"; - }, - }), - ); - - const name = await cancelable( - p.text({ - message: "Enter the name for the api file (required)", - validate(value) { - if (!value.length) return "Name is required"; - }, - }), - ); - - await handleApi(path, name); -}; -export const handleApi = async (path?: string, name?: string) => { - if (!(await isSolidStart())) { - p.log.error("Cannot run command. Your project doesn't include solid-start"); - return; - } - if (!path) { - await handleAutocompleteApi(); - return; - } - await spinnerify({ - startText: "Creating new api file", - finishText: "Api file created", - fn: () => createApi(path, name), - }); -}; diff --git a/packages/commands/src/handlers/start/data.ts b/packages/commands/src/handlers/start/data.ts deleted file mode 100644 index 380bb1b..0000000 --- a/packages/commands/src/handlers/start/data.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { isSolidStart, createData } from "@solid-cli/utils"; -import * as p from "@clack/prompts"; -import { cancelable, spinnerify } from "@solid-cli/ui"; - -const handleAutocompleteData = async () => { - const path = await cancelable( - p.text({ - message: "Enter the path in which the data file will be created", - placeholder: "/user/login", - validate(value) { - if (!value.length) return "Path is required"; - }, - }), - ); - - const name = await cancelable( - p.text({ - message: "Enter the name for the data file (leave this blank for the default)", - }), - ); - - await handleData(path, name); -}; - -export const handleData = async (path?: string, name?: string) => { - if (!(await isSolidStart())) { - p.log.error("Cannot run command. Your project doesn't include solid-start"); - return; - } - if (!path) { - await handleAutocompleteData(); - return; - } - await spinnerify({ - startText: "Creating new data file", - finishText: "Data file created", - fn: () => createData(path, name), - }); -}; diff --git a/packages/commands/src/handlers/start/index.ts b/packages/commands/src/handlers/start/index.ts deleted file mode 100644 index 2145bbb..0000000 --- a/packages/commands/src/handlers/start/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./adapter"; -export * from "./api"; -export * from "./data"; -export * from "./mode"; -export * from "./route"; diff --git a/packages/commands/src/handlers/start/mode.ts b/packages/commands/src/handlers/start/mode.ts deleted file mode 100644 index c3e5a2b..0000000 --- a/packages/commands/src/handlers/start/mode.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { writeFile, readFile } from "@solid-cli/utils/fs"; -import { transformPlugins } from "@solid-cli/utils/transform"; -import { isSolidStart } from "@solid-cli/utils"; -import * as p from "@clack/prompts"; -import { cancelable } from "@solid-cli/ui"; - -export const supportedModes = ["csr", "ssr", "ssg"] as const; -type SupportedModes = (typeof supportedModes)[number]; - -const handleAutocompleteMode = async () => { - const mode = (await cancelable( - p.select({ - message: "Select a mode", - options: supportedModes.map((a) => ({ value: a, label: a.toUpperCase() })), - }), - )) as SupportedModes; - await handleMode(mode); -}; - -export const handleMode = async (mode?: SupportedModes) => { - if (!(await isSolidStart())) { - p.log.error("Cannot run command. Your project doesn't include solid-start"); - return; - } - if (!mode) { - handleAutocompleteMode(); - return; - } - p.log.info("Updating config"); - if (mode != "ssg") { - const newConfig = await transformPlugins( - [], - { type: "app", name: "app.config.ts", contents: (await readFile("app.config.ts")).toString() }, - true, - true, - ); - await writeFile("app.config.ts", newConfig); - } -}; diff --git a/packages/commands/src/handlers/start/route.ts b/packages/commands/src/handlers/start/route.ts deleted file mode 100644 index 6e1ea45..0000000 --- a/packages/commands/src/handlers/start/route.ts +++ /dev/null @@ -1,40 +0,0 @@ -import * as p from "@clack/prompts"; -import { isSolidStart, createRoute } from "@solid-cli/utils"; -import { cancelable, spinnerify } from "@solid-cli/ui"; -const handleAutocompleteRoute = async () => { - const path = await cancelable( - p.text({ - message: "Please provide a path for the route", - placeholder: "/user/login", - validate(value) { - if (!value.length) return "Path is required"; - }, - }), - ); - const name = await cancelable( - p.text({ - message: "Please provide a name for the route", - - validate(value) { - if (!value.length) return "Name for route is required"; - }, - }), - ); - - await handleRoute(path, name); -}; -export const handleRoute = async (path?: string, name?: string) => { - if (!(await isSolidStart())) { - p.log.error("Cannot run command. Your project doesn't include solid-start"); - return; - } - if (!path) { - await handleAutocompleteRoute(); - return; - } - await spinnerify({ - startText: "Creating new route", - finishText: "Route created", - fn: () => createRoute(path, name), - }); -}; diff --git a/packages/commands/src/index.ts b/packages/commands/src/index.ts deleted file mode 100644 index 32fff0a..0000000 --- a/packages/commands/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./handlers/add"; -export * from "./handlers/new"; -export * from "./handlers/start"; diff --git a/packages/commands/src/lib/integrations.ts b/packages/commands/src/lib/integrations.ts deleted file mode 100644 index 04b2049..0000000 --- a/packages/commands/src/lib/integrations.ts +++ /dev/null @@ -1,221 +0,0 @@ -import { insertAfter, insertAtBeginning } from "@solid-cli/utils/fs"; -import { writeFile } from "fs/promises"; -import { fileExists, manipulateJsonFile, validateFilePath } from "./utils/helpers"; -import { $ } from "execa"; -import { getRunnerCommand, detectPackageManager } from "@solid-cli/utils/package-manager"; -import { createSignal } from "@solid-cli/reactivity"; -import * as p from "@clack/prompts"; -import color from "picocolors"; -import { cancelable } from "@solid-cli/ui"; -import { flushQueue } from "@solid-cli/utils/updates"; -import { PluginOptions } from "@solid-cli/utils/transform"; - -// All the integrations/packages that we support -export type Supported = keyof typeof integrations; - -export type IntegrationsValue = { - pluginOptions?: PluginOptions; - installs: string[]; - installsDev?: string[]; - additionalConfig?: () => Promise; - postInstall?: () => Promise; -}; - -export type Integrations = Record; - -export const [rootFile, setRootFile] = createSignal(undefined); - -export const integrations: Record = { - "tailwind": { - installs: ["tailwindcss", "postcss", "autoprefixer"], - postInstall: async () => { - const pM = detectPackageManager(); - await $`${getRunnerCommand(pM)} tailwindcss init -p`; - let tailwindConfig = "tailwind.config.js"; - if (!fileExists(tailwindConfig)) { - p.log.error(color.red(`Can't find tailwind config file`)); - await cancelable( - p.text({ - message: `Type path to tailwind config: `, - validate(value) { - if (!value.length) return `Path can not be empty`; - const path = validateFilePath(value, "tailwind.config"); - if (!path) return `Tailwind config at \`${value}\` not found. Please try again`; - else { - tailwindConfig = path; - } - }, - }), - ); - } - - let indexCss = "./src/index.css"; - if (!fileExists(indexCss)) { - p.log.error(color.red(`Can't find index.css`)); - await cancelable( - p.text({ - message: `Type path to index.css: `, - validate(value) { - if (!value.length) return `Path can not be empty`; - const path = validateFilePath(value, "index.css"); - if (!path) return `index.css at \`${value}\` not found. Please try again`; - else { - indexCss = path; - } - }, - }), - ); - } - p.log.info("Updating tailwind config"); - await insertAfter(tailwindConfig, "content: [", '"./index.html", "./src/**/*.{js,ts,jsx,tsx}"'); - await insertAtBeginning(indexCss, "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n"); - // Instantly flush queue - await flushQueue(); - }, - }, - "unocss": { - pluginOptions: { - importName: "UnoCss", - importSource: "unocss/vite", - isDefault: true, - options: {}, - }, - installs: [""], - installsDev: ["unocss"], - additionalConfig: async () => { - const path = rootFile(); - if (!path) return; - await insertAtBeginning(path, `import "virtual:uno.css";\n`); - }, - }, - "vitepwa": { - pluginOptions: { - importName: "VitePWA", - importSource: "vite-plugin-pwa", - isDefault: false, - options: {}, - }, - installs: ["vite-plugin-pwa"], - }, - "solid-devtools": { - pluginOptions: { - importName: "devtools", - importSource: "solid-devtools/vite", - isDefault: true, - options: {}, - }, - installs: ["solid-devtools"], - additionalConfig: async () => { - const path = rootFile(); - if (!path) return; - await insertAtBeginning(path, `import "solid-devtools";\n`); - }, - }, - "vitest": { - installs: [], - installsDev: [ - "vitest", - "jsdom", - "@solidjs/testing-library", - "@testing-library/user-event", - "@testing-library/jest-dom", - ], - additionalConfig: async () => { - try { - p.log.info("Adding test script to package.json"); - let hasStart = false; - manipulateJsonFile("package.json", (packageJson) => { - if (!packageJson.scripts) { packageJson.scripts = {}; } - if (!/\bvitest\b/.test(packageJson.scripts.test || "")) { - packageJson.scripts.test = "vitest"; - } - hasStart = packageJson.dependencies["@solidjs/start"] - return packageJson; - }); - const hasTs = fileExists("tsconfig.json"); - if (hasTs) { - p.log.info("Adding testing types to tsconfig.json"); - manipulateJsonFile("tsconfig.json", (tsConfig) => { - if (!tsConfig.compilerOptions) { - tsConfig.compilerOptions = {}; - } - tsConfig.compilerOptions.types = [ - ...new Set([...(tsConfig.compilerOptions.types || []), "vite/client", "@testing-library/jest-dom"]), - ]; - return tsConfig; - }); - } - if ( - hasStart && - ["ts", "mjs", "cjs", "js"].every( - (suffix) => !fileExists(`vite.config.${suffix}`) && !fileExists(`vitest.config.${suffix}`), - ) - ) { - const suffix = hasTs ? "ts" : "mjs"; - p.log.info(`Adding vitest.config.${suffix}`); - await writeFile( - `vitest.config.${suffix}`, - `import solid from "vite-plugin-solid"; -import { defineConfig } from "vitest/config"; - -export default defineConfig({ - plugins: [solid()], - resolve: { - conditions: ["development", "browser"], - }, -}); -`, - "utf-8", - ); - } - } catch (err) { - console.error(err); - } - }, - }, - "tauri-v1.x": { - installs: ["@tauri-apps/cli"], - postInstall: async () => { - try { - let name = ""; - manipulateJsonFile("package.json", (packageJson) => { - if (!packageJson.scripts) { packageJson.scripts = {}; } - packageJson.scripts.tauri = "tauri"; - name = packageJson.name; - return packageJson; - }); - await flushQueue(); - const pM = detectPackageManager(); - await $`${getRunnerCommand(pM)} tauri init --ci -A ${name} -W ${name} -D ../dist -P http://localhost:3000`; - p.note(`Make sure you have installed all prerequisites: https://tauri.app/v1/guides/getting-started/prerequisites - - Start tauri development with ${color.bold(pM.name)} ${color.bold(pM.runScriptCommand("tauri dev"))}`); - } catch (err) { - console.error(err); - } - }, - }, - "tauri-v2.x": { - installs: ["@tauri-apps/cli@next"], - postInstall: async () => { - try { - let name = ""; - manipulateJsonFile("package.json", (packageJson) => { - if (!packageJson.scripts) { packageJson.scripts = {}; } - packageJson.scripts.tauri = "tauri"; - name = packageJson.name; - return packageJson; - }) - await flushQueue(); - const pM = detectPackageManager(); - await $`${getRunnerCommand(pM)} tauri init --ci -A ${name} -W ${name} -D ../dist -P http://localhost:3000`; - p.note(`Make sure you have installed all prerequisites: https://v2.tauri.app/start/prerequisites/ - - Start tauri development with ${color.bold(pM.name)} ${color.bold(pM.runScriptCommand("tauri dev"))}`); - } catch (err) { - console.error(err); - } - }, - }, -}; - diff --git a/packages/commands/src/lib/utils/helpers.ts b/packages/commands/src/lib/utils/helpers.ts deleted file mode 100644 index b910217..0000000 --- a/packages/commands/src/lib/utils/helpers.ts +++ /dev/null @@ -1,152 +0,0 @@ -import { existsSync, lstatSync, readdirSync } from "fs"; -import { readFile, writeFile } from "fs/promises"; -import { isSolidStart } from "@solid-cli/utils"; -import { join, resolve } from "path"; -import { $ } from "execa"; -import { cancelable } from "@solid-cli/ui"; -import * as p from "@clack/prompts"; -import color from "picocolors"; - -export const getProjectRoot = async () => { - const { stdout } = await $`npm root`; - - return stdout.slice(0, stdout.lastIndexOf("/")); -}; - -export const getRootFile = async () => { - if (await isSolidStart()) { - return "src/app.tsx"; - } - return "src/index.tsx"; -}; - -export const fileExists = (path: string) => { - return existsSync(path); -}; - -export function validateFilePath(path: string, lookingFor: string): string | undefined; -export function validateFilePath(path: string, lookingFor: string[]): string | undefined; -export function validateFilePath(path: string, lookingFor: string | string[]): string | undefined { - path = resolve(path); - let isDir: boolean; - try { - console.log(path); - isDir = lstatSync(path).isDirectory(); - } catch (e) { - return undefined; - } - if (isDir) { - const files = readdirSync(path, { withFileTypes: true }); - - const config = files.find((file) => { - if (Array.isArray(lookingFor)) { - return lookingFor.some((s) => file.name.startsWith(s)); - } - - return file.name.startsWith(lookingFor); - }); - return config ? join(path, config.name) : undefined; - } - - const pathIsValid = Array.isArray(lookingFor) - ? lookingFor.some((s) => path.startsWith(s)) - : path.startsWith(lookingFor); - - const exists = fileExists(path) && pathIsValid; - - return exists ? path : undefined; -} - -export async function findFiles( - startPath: string, - lookingFor: string | string[], - opts: { depth?: number; ignoreDirs?: string[]; startsWith?: boolean }, -): Promise { - let { depth = Infinity, ignoreDirs = ["node_modules", "."], startsWith = true } = opts; - - startPath = resolve(startPath); - let isDir: boolean; - try { - isDir = lstatSync(startPath).isDirectory(); - } catch (e) { - return []; - } - if (!isDir) { - startPath = resolve(startPath.slice(0, startPath.lastIndexOf("/"))); - } - - let filePaths: string[] = []; - - const files = readdirSync(startPath, { withFileTypes: true }); - - for (const file of files) { - if (file.isDirectory() && !ignoreDirs.some((s) => file.name.includes(s))) { - if (Number.isFinite(depth) && depth-- <= 0) continue; - filePaths = filePaths.concat(await findFiles(resolve(startPath, file.name), lookingFor, opts)); - continue; - } - - if (file.isFile()) { - const fileMatch = Array.isArray(lookingFor) - ? lookingFor.some((s) => (startsWith ? file.name.startsWith(s) : file.name.endsWith(s))) - : startsWith - ? file.name.startsWith(lookingFor) - : file.name.endsWith(lookingFor); - - if (fileMatch) { - filePaths.push(resolve(startPath, file.name)); - } - } - } - - return filePaths; -} - -export const getConfigFile = async (file: "app" | "vite" = "app") => { - let configFile = `${file}.config.ts`; - - const existsHere = fileExists(configFile); - - if (!existsHere) { - const root = await getProjectRoot(); - const existsInRoot = validateFilePath(root, `${file}.config`); - if (existsInRoot) { - const correctConfig = await cancelable( - p.confirm({ - message: `Could not find ${file} config in current directory, but found ${file} config in \`${root}\`. Is this the correct ${file} config?`, - }), - ); - if (correctConfig) return existsInRoot; - } - - p.log.error(color.red(`Can't find ${file}.config file`)); - await cancelable( - p.text({ - message: `Type path to ${file} config: `, - validate(value) { - const path = validateFilePath(value, `${file}.config`); - if (!path) return `${file} config not found. Please try again`; - else { - configFile = path; - } - }, - }), - ); - } - - return configFile; -}; - -export async function manipulateJsonFile(name: string, manipulate: (obj: Record) => Record) { - try { - const jsonString = await readFile(name, "utf8"); - const jsonObj = JSON.parse(jsonString); - await writeFile( - name, - JSON.stringify(manipulate(jsonObj), null, /^(\t|\s+)/m.exec(jsonString)?.[0] || 2) + "\n", - "utf8", - ); - } catch (error) { - p.log.error(color.red(error ? error.toString() : `unknown error when manipulating ${name}`)); - } -} diff --git a/packages/commands/tests/assets/sample_app_config.txt b/packages/commands/tests/assets/sample_app_config.txt deleted file mode 100644 index 50315ba..0000000 --- a/packages/commands/tests/assets/sample_app_config.txt +++ /dev/null @@ -1,7 +0,0 @@ -import { defineConfig } from "@solidjs/start/config"; -// Simulates an app config -export default defineConfig({ - vite: { - plugins: [solid()] - } -}); diff --git a/packages/commands/tests/assets/sample_unocss_app_result.txt b/packages/commands/tests/assets/sample_unocss_app_result.txt deleted file mode 100644 index 90217f1..0000000 --- a/packages/commands/tests/assets/sample_unocss_app_result.txt +++ /dev/null @@ -1,11 +0,0 @@ -import UnoCss from "unocss/vite"; -import { defineConfig } from "@solidjs/start/config"; -// Simulates an app config -export default defineConfig({ - vite: { - plugins: [ - solid(), - UnoCss({}) - ] - } -}); diff --git a/packages/commands/tests/assets/sample_unocss_vite_result.txt b/packages/commands/tests/assets/sample_unocss_vite_result.txt deleted file mode 100644 index c5d2c91..0000000 --- a/packages/commands/tests/assets/sample_unocss_vite_result.txt +++ /dev/null @@ -1,9 +0,0 @@ -import UnoCss from "unocss/vite"; -import { defineConfig } from "vite"; -// Simulates an app config -export default defineConfig({ - plugins: [ - solid(), - UnoCss({}) - ] -}); diff --git a/packages/commands/tests/assets/sample_vite_config.txt b/packages/commands/tests/assets/sample_vite_config.txt deleted file mode 100644 index 0faac72..0000000 --- a/packages/commands/tests/assets/sample_vite_config.txt +++ /dev/null @@ -1,5 +0,0 @@ -import { defineConfig } from "vite"; -// Simulates an app config -export default defineConfig({ - plugins: [solid()] -}); diff --git a/packages/commands/tests/config_manipulation.test.ts b/packages/commands/tests/config_manipulation.test.ts deleted file mode 100644 index aec0f98..0000000 --- a/packages/commands/tests/config_manipulation.test.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { describe, expect, it, vi } from "vitest"; -import { handleAdd } from "../src/handlers/add"; -import { readFile as readFile1 } from "fs"; -import { UPDATESQUEUE } from "../../utils/src/updates"; - -const readFile = async (path: string): Promise => { - return await new Promise((res) => - // Can't use readFile from fs/promises because we've mocked it - readFile1(path, (_, data) => res(data.toString())), - ); -}; - -const removeWhitespace = (str: string) => str.replace(/\s/g, ""); - -vi.mock("fs/promises", () => { - return { - readFile: async (name: string) => { - if (name === "app.config.ts") { - const sampleConfig: string = await readFile("./packages/commands/tests/assets/sample_app_config.txt"); - return sampleConfig; - } - if (name === "vite.config.ts") { - const sampleConfig: string = await readFile("./packages/commands/tests/assets/sample_vite_config.txt"); - return sampleConfig; - } - - return "{}"; - }, - writeFile: async (_, contents: string) => { - return contents; - }, - }; -}); -vi.mock("execa", () => { - return { $: async () => ({ stdout: "" }) }; -}); - -vi.mock("@clack/prompts", async () => { - const actual: object = await vi.importActual("@clack/prompts"); - return { - ...actual, - confirm: async ({ message }: { message: string }) => true, - }; -}); - -vi.mock("@solid-cli/utils/updates", async () => { - const actual: object = await vi.importActual("@solid-cli/utils/updates"); - return { - ...actual, - clearQueue: async () => {}, - }; -}); - -vi.mock("../src/lib/utils/helpers.ts", async () => { - return { - getConfigFile: async (file: string): Promise => new Promise((r) => r(`${file}.config.ts`)), - fileExists: (path: string) => - path.includes("vite_config") || - path.includes("app_config") || - path.includes("app.tsx") || - path.includes("index.tsx"), - getRootFile: async (): Promise => new Promise((r) => r("./src/app.tsx")), - }; -}); - -let testingSolidStart = false; - -vi.mock("@solid-cli/utils", async () => { - return { - isSolidStart: async () => new Promise((r) => r(testingSolidStart)), - }; -}); - -describe("Update config", () => { - it("Adds a plugin properly to the app config", { timeout: 50000 }, async () => { - testingSolidStart = true; - await handleAdd(["unocss"]); - - const expected = await readFile("./packages/commands/tests/assets/sample_unocss_app_result.txt"); - // @ts-ignore - const newConfig = UPDATESQUEUE.find((u) => u.name === "app.config.ts")?.contents; - expect(removeWhitespace(newConfig)).toBe(removeWhitespace(expected)); - }); - it("Adds a plugin properly to the vite config", { timeout: 50000 }, async () => { - testingSolidStart = false; - await handleAdd(["unocss"]); - - const expected = await readFile("./packages/commands/tests/assets/sample_unocss_vite_result.txt"); - // @ts-ignore - const newConfig = UPDATESQUEUE.find((u) => u.name === "vite.config.ts")?.contents; - expect(removeWhitespace(newConfig)).toBe(removeWhitespace(expected)); - }); -}); diff --git a/packages/commands/tests/package_installs.test.ts b/packages/commands/tests/package_installs.test.ts deleted file mode 100644 index c0eff16..0000000 --- a/packages/commands/tests/package_installs.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { expect, describe, it } from "vitest"; - -describe("Package Installs", () => { - it("should install packages correctly", () => { - expect(true).toBe(true); - }); -}); diff --git a/packages/commands/tsconfig.json b/packages/commands/tsconfig.json deleted file mode 100644 index ecaf1e3..0000000 --- a/packages/commands/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "useDefineForClassFields": true, - "module": "ESNext", - "skipLibCheck": true, - "declaration": true, - "emitDeclarationOnly": true, - "moduleResolution": "Bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "allowSyntheticDefaultImports": true, - "strict": true, - // "noUnusedLocals": true, - // "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - "outDir": "types" - }, - "include": ["src/*"] -} diff --git a/packages/commands/tsup.config.ts b/packages/commands/tsup.config.ts deleted file mode 100644 index 0e6978c..0000000 --- a/packages/commands/tsup.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from "tsup"; -import metaUrlPlugin from "@chialab/esbuild-plugin-meta-url"; - -export default defineConfig({ - entry: ["src/index.ts", "src/handlers/new.ts"], - target: "esnext", - format: "esm", - splitting: false, - sourcemap: true, - clean: true, - minify: true, - esbuildPlugins: [metaUrlPlugin()], -}); diff --git a/packages/core/.gitignore b/packages/core/.gitignore deleted file mode 100644 index bf96551..0000000 --- a/packages/core/.gitignore +++ /dev/null @@ -1,133 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional swc cache -.swc - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* diff --git a/packages/core/README.md b/packages/core/README.md deleted file mode 100644 index c922b0e..0000000 --- a/packages/core/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# @solid-cli/core - -The main package for the SolidJS CLI tool. - -## Installation - -Run the following command to install the CLI tool globally: - -```bash -npm i -g @solid-cli/core -``` - -## Usage - -For a full list of commands and how to use them, you can invoke the help command like so: - -```bash -solid --help -``` - -Which should print this: - -```bash -solid - -where can be one of: - -- add - Can add and install integrations: `solid add unocss`. -- docs -- new - Creates a new solid project -- set -- start - Commands specific to solid start -- playground - -For more help, try running `solid --help` -``` - -## Documentation - -Visit our [official documentation](https://solid-cli.netlify.app/) - -## Support - -Reach out to us on the official [SolidJS discord](https://discord.gg/solidjs) - -## Contributing - -If you would like to contribute or keep up to date with the package, come join the effort over on [our GitHub](https://github.com/solidjs-community/solid-cli) diff --git a/packages/core/package.json b/packages/core/package.json deleted file mode 100644 index 6bc3f13..0000000 --- a/packages/core/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@solid-cli/core", - "version": "0.0.26", - "description": "A CLI for Solid", - "author": "Thomas Beer & Rahul Batra", - "license": "MIT", - "homepage": "https://solid-cli.netlify.app", - "repository": { - "type": "git", - "url": "https://github.com/solidjs-community/solid-cli" - }, - "keywords": [ - "solidjs", - "solid", - "cli" - ], - "main": "dist/index.mjs", - "bin": { - "solid": "./dist/index.mjs" - }, - "files": [ - "dist" - ], - "dependencies": { - "@clack/core": "0.3.4", - "@clack/prompts": "0.7.0", - "@solid-cli/commands": "workspace:*", - "@solid-cli/ui": "workspace:*", - "@solid-cli/utils": "workspace:*", - "cmd-ts": "^0.13.0", - "execa": "^8.0.1", - "picocolors": "^1.1.1", - "smol-toml": "^1.3.0", - "tiny-updater": "^3.5.2" - }, - "scripts": { - "start": "jiti ./src/index.ts", - "build": "tsc && tsup" - }, - "devDependencies": { - "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "^22.9.0", - "jiti": "^2.4.0", - "tsup": "^8.3.5", - "typescript": "^5.6.3" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/core/src/commands/index.ts b/packages/core/src/commands/index.ts deleted file mode 100644 index 8d4bcaf..0000000 --- a/packages/core/src/commands/index.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { openInBrowser } from "@solid-cli/utils"; -import { startCommands } from "./start"; -import * as p from "@clack/prompts"; -import { boolean, command, flag, optional, positional, restPositionals, string } from "cmd-ts"; -import { oneOf } from "@solid-cli/utils"; -import { cancelable } from "@solid-cli/ui"; -import { PossibleFields, setField, t } from "@solid-cli/utils"; -import { spinnerify } from "@solid-cli/ui"; -import { handleNew, handleAdd } from "@solid-cli/commands"; - -const add = command({ - name: "add", - description: t.ADD_DESC, - args: { - packages: restPositionals({ - type: string, - displayName: "Package Name", - }), - forceTransform: flag({ type: boolean, long: "force", short: "f" }), - }, - handler: async ({ packages, forceTransform }) => { - await handleAdd(packages, forceTransform); - }, -}); - -const new_ = command({ - name: "new", - description: t.NEW_DESC, - args: { - variation: positional({ - type: optional(oneOf(["bare", "ts", "js"] as const)), - displayName: t.NEW_VARIATION_DESC, - description: "", - }), - name: positional({ - type: optional(string), - displayName: t.PROJECT_NAME, - description: t.NEW_NAME_DESC, - }), - stackblitz: flag({ type: boolean, long: "stackblitz", short: "s" }), - }, - async handler({ variation, name, stackblitz }) { - if (!name && variation) { - const _name = await cancelable( - p.text({ - message: t.PROJECT_NAME, - placeholder: `solid-${variation}`, - defaultValue: `solid-${variation}`, - }), - ); - name = _name; - } - await handleNew(variation, name, stackblitz); - }, -}); - -const docs = command({ - name: "docs", - args: { - keyword: positional({ type: optional(string), displayName: "Keyword" }), - open: flag({ type: boolean, long: "open", short: "o" }), - }, - async handler({ keyword, open }) { - if (!keyword) { - if (open) { - await spinnerify({ - startText: "Opening", - finishText: "Opened", - fn: () => openInBrowser("https://docs.solidjs.com"), - }); - return; - } - p.log.message("The solid documentation is available at https://docs.solidjs.com"); - return; - } - await spinnerify({ - startText: "Opening", - finishText: "Opened", - fn: () => - openInBrowser( - `https://www.google.com/search?q=${keyword}+site:docs.solidjs.com+OR+site:start.solidjs.com+OR+site:solidjs.com`, - ), - }); - }, -}); - -const set = command({ - name: "set", - args: { field: positional({ type: oneOf(PossibleFields) }), value: positional({ type: string }) }, - async handler({ field, value }) { - await setField(field, value); - }, -}); - -const playground = command({ - name: "playground", - args: {}, - async handler() { - await spinnerify({ - startText: "Opening", - finishText: "Opened", - fn: () => openInBrowser("https://playground.solidjs.com"), - }); - }, -}); - -export default { - add, - docs, - new: new_, - set, - start: startCommands, - playground, -}; diff --git a/packages/core/src/commands/start.ts b/packages/core/src/commands/start.ts deleted file mode 100644 index 8f2640c..0000000 --- a/packages/core/src/commands/start.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { command, flag, optional, positional, string, subcommands } from "cmd-ts"; -import { oneOf } from "@solid-cli/utils"; -import { t } from "@solid-cli/utils"; -import { - handleAdapter, - handleApi, - handleData, - handleMode, - handleRoute, - supportedAdapters, - supportedModes, -} from "@solid-cli/commands"; - -const mode = command({ - name: "mode", - args: { - mode: positional({ - type: optional(oneOf(supportedModes)), - displayName: "Mode", - description: t.START_MODE_DESC, - }), - }, - async handler({ mode }) { - await handleMode(mode); - }, -}); - -const route = command({ - name: "route", - args: { - path: positional({ type: optional(string), displayName: "Route Path" }), - name: positional({ - type: optional(string), - displayName: "Route name", - description: t.START_ROUTE_DESC, - }), - }, - async handler({ path, name }) { - await handleRoute(path, name); - }, -}); - -const data = command({ - name: "data", - args: { - path: positional({ type: optional(string), displayName: "Data Path" }), - name: positional({ - type: optional(string), - displayName: "Data name", - description: t.START_DATA_DESC, - }), - }, - async handler({ path, name }) { - await handleData(path, name); - }, -}); - -const adapter = command({ - name: "adapter", - args: { - name: positional({ - type: optional(oneOf(supportedAdapters)), - displayName: t.START_ADAPTER_DISPLAYNAME, - }), - forceTransform: flag({ short: "f", long: "force" }), - }, - async handler({ name, forceTransform }) { - await handleAdapter(name, forceTransform); - }, -}); - -const api = command({ - name: "api", - args: { - path: positional({ type: optional(string), displayName: "Api Path" }), - name: positional({ - type: optional(string), - displayName: t.START_API_DISPLAYNAME, - description: t.START_API_HINT, - }), - }, - async handler({ path, name }) { - await handleApi(path, name); - }, -}); - -export const startCommands = subcommands({ - name: "start", - description: "Commands specific to solid start", - cmds: { - mode, - route, - data, - adapter, - api, - }, -}); diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts deleted file mode 100644 index c358bb3..0000000 --- a/packages/core/src/index.ts +++ /dev/null @@ -1,117 +0,0 @@ -#! /usr/bin/env node -import { run, subcommands } from "cmd-ts"; -import * as p from "@clack/prompts"; -import color from "picocolors"; -import { t, setLocale, getField } from "@solid-cli/utils"; -import { name, version } from "../package.json"; -import { readConfig } from "@solid-cli/utils"; -import loadCommands from "./plugins/plugins_entry"; -import updater from "tiny-updater"; -import { createAsync } from "@solid-cli/reactivity"; -import { - handleAdapter, - handleAdd, - handleApi, - handleData, - handleMode, - handleNew, - handleRoute, -} from "@solid-cli/commands"; - -const possibleActions = () => - [ - { value: "add", label: t.ACTION_ADD, hint: "solid add ..." }, - { value: "new", label: t.ACTION_NEW, hint: "solid new ..." }, - { value: "start", label: t.ACTION_START, hint: "solid start ..." }, - ] as const; - -export const provideStartSuggestions = async () => { - let startAction = await p.select({ - message: t.SELECT_START_ACTION, - options: [ - { value: "mode", label: t.START_MODE, hint: t.START_MODE_HINT }, - { value: "route", label: t.START_ROUTE, hint: t.START_ROUTE_HINT }, - { value: "data", label: t.START_DATA, hint: t.START_DATA_HINT }, - { - value: "adapter", - label: t.START_ADAPTER, - hint: t.START_ADAPTER_HINT, - }, - { - value: "api", - label: t.START_API, - hint: t.START_API_HINT, - }, - ], - }); - switch (startAction) { - case "mode": - await handleMode(); - break; - case "route": - await handleRoute(); - break; - case "data": - await handleData(); - break; - case "adapter": - await handleAdapter(); - break; - case "api": - await handleApi(); - break; - } -}; - -const provideSuggestions = async () => { - type ActionType = ReturnType[number]["value"]; - let action = (await p.select({ - message: t.SELECT_ACTION, - // This thing really doesn't like `as const` things - options: possibleActions() as any, - })) as ActionType; - if (!action) return; - switch (action) { - case "add": - await handleAdd(); - break; - case "new": - await handleNew(); - break; - case "start": - await provideStartSuggestions(); - break; - } -}; - -const main = async () => { - p.intro(`\n${color.bgCyan(color.black(" Solid-CLI "))}`); - await readConfig(); - const needsUpdate = createAsync(async () => await updater({ name, version, ttl: 86_400_000 })); - setLocale(getField("lang")); - const cli = subcommands({ - name: "solid", - cmds: await loadCommands(), - version, - }); - const args = process.argv.slice(2); - try { - - if (args.length === 0) { - await provideSuggestions(); - return; - } - - if (args.length === 1 && args[0] === "start") { - await provideStartSuggestions(); - return; - } - - await run(cli, args); - } - catch (e) { - console.error(e); - process.exit(1); - } -}; -main(); diff --git a/packages/core/src/plugins/plugins_entry.ts b/packages/core/src/plugins/plugins_entry.ts deleted file mode 100644 index f1aec75..0000000 --- a/packages/core/src/plugins/plugins_entry.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { join } from "path"; -import { config } from "@solid-cli/utils"; -import defaultCommands from "../commands"; - -const resolveImport = async (packagePath: string) => { - const packageJson = await import(join(packagePath, "package.json")); - return await import(join(packagePath, packageJson.module)); -}; -const loadUserCommands = async () => { - const pluginPaths = config()["plugins"] as string[]; - if (!pluginPaths) return null; - const imports = await Promise.all(pluginPaths.map((p) => resolveImport(p))); - const importedCommands = imports.map((i) => i.default); - let commands = {} as any; - importedCommands.forEach((c) => { - const name = c.name; - commands[name] = c; - }); - return commands; -}; -const loadCommands = async () => { - const cmds = { - ...defaultCommands, - ...(await loadUserCommands()), - }; - return cmds; -}; -export default loadCommands; diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json deleted file mode 100644 index b6d4e3a..0000000 --- a/packages/core/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "noEmit": true, - "module": "ESNext", - "target": "ESNext", - "moduleResolution": "Bundler", - "strict": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "skipLibCheck": true, - "resolveJsonModule": true - } -} diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts deleted file mode 100644 index 75f3240..0000000 --- a/packages/core/tsup.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from "tsup"; -import metaUrlPlugin from "@chialab/esbuild-plugin-meta-url"; - -export default defineConfig({ - entry: ["src/index.ts"], - target: "esnext", - format: "esm", - splitting: false, - sourcemap: true, - clean: true, - minify: true, - esbuildPlugins: [metaUrlPlugin()], -}); diff --git a/packages/create-solid/src/create-start.ts b/packages/create-solid/src/create-start.ts index e41c2a8..68041ab 100644 --- a/packages/create-solid/src/create-start.ts +++ b/packages/create-solid/src/create-start.ts @@ -1,8 +1,8 @@ import { downloadRepo } from "@begit/core"; -import { GIT_IGNORE, StartTemplate } from "./helpers" import { join } from "path"; import { writeFileSync } from "fs"; import { handleTSConversion } from "./utils/ts-conversion" +import { GIT_IGNORE, StartTemplate } from "./utils/constants"; export type CreateStartArgs = { template: StartTemplate, destination: string, diff --git a/packages/create-solid/src/create-vanilla.ts b/packages/create-solid/src/create-vanilla.ts index 394ba41..904b010 100644 --- a/packages/create-solid/src/create-vanilla.ts +++ b/packages/create-solid/src/create-vanilla.ts @@ -1,8 +1,8 @@ import { downloadRepo } from "@begit/core"; import { join } from "node:path"; -import { GIT_IGNORE, VanillaTemplate } from "./helpers"; import { writeFileSync } from "node:fs"; import { handleTSConversion } from "./utils/ts-conversion"; +import { GIT_IGNORE, VanillaTemplate } from "./utils/constants"; export type CreateVanillaArgs = { diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index c340ee7..bdcf9b5 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -5,9 +5,10 @@ import packageJson from "../package.json" with { type: "json" }; import { defineCommand, runMain } from "citty"; import { createVanilla, createVanillaJS } from "./create-vanilla"; import * as p from "@clack/prompts"; -import { cancelable, getTemplatesList, spinnerify, StartTemplate, VanillaTemplate } from "./helpers"; +import { cancelable, spinnerify } from "./utils/ui"; import { createStart } from "./create-start"; import { create } from "./create"; +import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/constants"; intro(`\n${color.bgCyan(color.black(` Create-Solid v${packageJson.version}`))}`); const main = defineCommand({ diff --git a/packages/create-solid/src/utils/constants.ts b/packages/create-solid/src/utils/constants.ts new file mode 100644 index 0000000..403e595 --- /dev/null +++ b/packages/create-solid/src/utils/constants.ts @@ -0,0 +1,57 @@ +export const GIT_IGNORE = ` +dist +.solid +.output +.vercel +.netlify +.vinxi +app.config.timestamp_*.js + +# Environment +.env +.env*.local + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +*.launch +.settings/ + +# Temp +gitignore + +# System Files +.DS_Store +Thumbs.db +`; + +export const JS_CONFIG = { + compilerOptions: { + jsx: "preserve", + jsxImportSource: "solid-js", + paths: { + "~/*": ["./src/*"], + }, + }, +} + +// Supported templates + +const VANILLA_TEMPLATES = ["ts"] as const; +export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; + +const START_TEMPLATES = ["basic"] as const; +export type StartTemplate = (typeof VANILLA_TEMPLATES)[number]; + +export const getTemplatesList = async (isStart: boolean) => { + if (isStart) { + return START_TEMPLATES; + } + return VANILLA_TEMPLATES; +} + +// \ No newline at end of file diff --git a/packages/create-solid/src/utils/ts-conversion.ts b/packages/create-solid/src/utils/ts-conversion.ts index dc5a711..6683534 100644 --- a/packages/create-solid/src/utils/ts-conversion.ts +++ b/packages/create-solid/src/utils/ts-conversion.ts @@ -3,6 +3,7 @@ import { readFileToString, recurseFiles } from "./file-system" import { join, resolve } from "node:path"; import { transform } from "sucrase"; import { rm } from "node:fs/promises"; +import { JS_CONFIG } from "./constants" const convertToJS = async (file: Dirent, startPath: string) => { const src = join(startPath, file.name); const dest = resolve(startPath.replace(".solid-start", ""), file.name); @@ -27,15 +28,7 @@ export const handleTSConversion = async (tempDir: string, projectName: string) = writeFileSync( resolve(projectName, "jsconfig.json"), JSON.stringify( - { - compilerOptions: { - jsx: "preserve", - jsxImportSource: "solid-js", - paths: { - "~/*": ["./src/*"], - }, - }, - }, + JS_CONFIG, null, 2, ), diff --git a/packages/create-solid/src/helpers.ts b/packages/create-solid/src/utils/ui.ts similarity index 60% rename from packages/create-solid/src/helpers.ts rename to packages/create-solid/src/utils/ui.ts index f53899a..fcaa5eb 100644 --- a/packages/create-solid/src/helpers.ts +++ b/packages/create-solid/src/utils/ui.ts @@ -1,34 +1,3 @@ -export const GIT_IGNORE = ` -dist -.solid -.output -.vercel -.netlify -.vinxi -app.config.timestamp_*.js - -# Environment -.env -.env*.local - -# dependencies -/node_modules - -# IDEs and editors -/.idea -.project -.classpath -*.launch -.settings/ - -# Temp -gitignore - -# System Files -.DS_Store -Thumbs.db -`; - import { log, spinner } from "@clack/prompts"; type SpinnerItem = { startText: string; @@ -59,14 +28,3 @@ export const cancelable = async (prompt: Promise, cance return value; }; -const VANILLA_TEMPLATES = ["ts"] as const; -export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; - -const START_TEMPLATES = ["basic"] as const; -export type StartTemplate = (typeof VANILLA_TEMPLATES)[number]; -export const getTemplatesList = async (isStart: boolean) => { - if (isStart) { - return START_TEMPLATES; - } - return VANILLA_TEMPLATES; -} \ No newline at end of file From ae7e8c510de10d59dc6609e946a4a4b38ff31538 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:46:08 +0000 Subject: [PATCH 008/160] remove unnecessary example --- examples/README.md | 1 - examples/plugin_template/package.json | 19 - examples/plugin_template/pnpm-lock.yaml | 930 ------------------------ examples/plugin_template/src/index.ts | 10 - examples/plugin_template/tsconfig.json | 14 - examples/plugin_template/tsup.config.ts | 10 - 6 files changed, 984 deletions(-) delete mode 100644 examples/README.md delete mode 100644 examples/plugin_template/package.json delete mode 100644 examples/plugin_template/pnpm-lock.yaml delete mode 100644 examples/plugin_template/src/index.ts delete mode 100644 examples/plugin_template/tsconfig.json delete mode 100644 examples/plugin_template/tsup.config.ts diff --git a/examples/README.md b/examples/README.md deleted file mode 100644 index bde8a57..0000000 --- a/examples/README.md +++ /dev/null @@ -1 +0,0 @@ -# Example plugins for the CLI diff --git a/examples/plugin_template/package.json b/examples/plugin_template/package.json deleted file mode 100644 index 4f9cffc..0000000 --- a/examples/plugin_template/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "test_plugin", - "version": "1.0.0", - "description": "", - "module": "./dist/index.mjs", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "build": "tsup" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "cmd-ts": "^0.13.0" - }, - "devDependencies": { - "tsup": "^7.2.0" - } -} diff --git a/examples/plugin_template/pnpm-lock.yaml b/examples/plugin_template/pnpm-lock.yaml deleted file mode 100644 index b437238..0000000 --- a/examples/plugin_template/pnpm-lock.yaml +++ /dev/null @@ -1,930 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -dependencies: - cmd-ts: - specifier: ^0.13.0 - version: 0.13.0 - -devDependencies: - tsup: - specifier: ^7.2.0 - version: 7.2.0 - -packages: - - /@esbuild/android-arm64@0.18.19: - resolution: {integrity: sha512-4+jkUFQxZkQfQOOxfGVZB38YUWHMJX2ihZwF+2nh8m7bHdWXpixiurgGRN3c/KMSwlltbYI0/i929jwBRMFzbA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.18.19: - resolution: {integrity: sha512-1uOoDurJYh5MNqPqpj3l/TQCI1V25BXgChEldCB7D6iryBYqYKrbZIhYO5AI9fulf66sM8UJpc3UcCly2Tv28w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.18.19: - resolution: {integrity: sha512-ae5sHYiP/Ogj2YNrLZbWkBmyHIDOhPgpkGvFnke7XFGQldBDWvc/AyYwSLpNuKw9UNkgnLlB/jPpnBmlF3G9Bg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.18.19: - resolution: {integrity: sha512-HIpQvNQWFYROmWDANMRL+jZvvTQGOiTuwWBIuAsMaQrnStedM+nEKJBzKQ6bfT9RFKH2wZ+ej+DY7+9xHBTFPg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.18.19: - resolution: {integrity: sha512-m6JdvXJQt0thNLIcWOeG079h2ivhYH4B5sVCgqb/B29zTcFd7EE8/J1nIUHhdtwGeItdUeqKaqqb4towwxvglQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.18.19: - resolution: {integrity: sha512-G0p4EFMPZhGn/xVNspUyMQbORH3nlKTV0bFNHPIwLraBuAkTeMyxNviTe0ZXUbIXQrR1lrwniFjNFU4s+x7veQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.18.19: - resolution: {integrity: sha512-hBxgRlG42+W+j/1/cvlnSa+3+OBKeDCyO7OG2ICya1YJaSCYfSpuG30KfOnQHI7Ytgu4bRqCgrYXxQEzy0zM5Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.18.19: - resolution: {integrity: sha512-X8g33tczY0GsJq3lhyBrjnFtaKjWVpp1gMq5IlF9BQJ3TUfSK74nQnz9mRIEejmcV+OIYn6bkOJeUaU1Knrljg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.18.19: - resolution: {integrity: sha512-qtWyoQskfJlb9MD45mvzCEKeO4uCnDZ7lPFeNqbfaaJHqBiH9qA5Vu2EuckqYZuFMJWy1l4dxTf9NOulCVfUjg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.18.19: - resolution: {integrity: sha512-SAkRWJgb+KN+gOhmbiE6/wu23D6HRcGQi15cB13IVtBZZgXxygTV5GJlUAKLQ5Gcx0gtlmt+XIxEmSqA6sZTOw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.18.19: - resolution: {integrity: sha512-YLAslaO8NsB9UOxBchos82AOMRDbIAWChwDKfjlGrHSzS3v1kxce7dGlSTsrb0PJwo1KYccypN3VNjQVLtz7LA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.18.19: - resolution: {integrity: sha512-vSYFtlYds/oTI8aflEP65xo3MXChMwBOG1eWPGGKs/ev9zkTeXVvciU+nifq8J1JYMz+eQ4J9JDN0O2RKF8+1Q==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.18.19: - resolution: {integrity: sha512-tgG41lRVwlzqO9tv9l7aXYVw35BxKXLtPam1qALScwSqPivI8hjkZLNH0deaaSCYCFT9cBIdB+hUjWFlFFLL9A==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.18.19: - resolution: {integrity: sha512-EgBZFLoN1S5RuB4cCJI31pBPsjE1nZ+3+fHRjguq9Ibrzo29bOLSBcH1KZJvRNh5qtd+fcYIGiIUia8Jw5r1lQ==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.18.19: - resolution: {integrity: sha512-q1V1rtHRojAzjSigZEqrcLkpfh5K09ShCoIsdTakozVBnM5rgV58PLFticqDp5UJ9uE0HScov9QNbbl8HBo6QQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.18.19: - resolution: {integrity: sha512-D0IiYjpZRXxGZLQfsydeAD7ZWqdGyFLBj5f2UshJpy09WPs3qizDCsEr8zyzcym6Woj/UI9ZzMIXwvoXVtyt0A==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.18.19: - resolution: {integrity: sha512-3tt3SOS8L3D54R8oER41UdDshlBIAjYhdWRPiZCTZ1E41+shIZBpTjaW5UaN/jD1ENE/Ok5lkeqhoNMbxstyxw==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.18.19: - resolution: {integrity: sha512-MxbhcuAYQPlfln1EMc4T26OUoeg/YQc6wNoEV8xvktDKZhLtBxjkoeESSo9BbPaGKhAPzusXYj5n8n5A8iZSrA==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.18.19: - resolution: {integrity: sha512-m0/UOq1wj25JpWqOJxoWBRM9VWc3c32xiNzd+ERlYstUZ6uwx5SZsQUtkiFHaYmcaoj+f6+Tfcl7atuAz3idwQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.18.19: - resolution: {integrity: sha512-L4vb6pcoB1cEcXUHU6EPnUhUc4+/tcz4OqlXTWPcSQWxegfmcOprhmIleKKwmMNQVc4wrx/+jB7tGkjjDmiupg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.18.19: - resolution: {integrity: sha512-rQng7LXSKdrDlNDb7/v0fujob6X0GAazoK/IPd9C3oShr642ri8uIBkgM37/l8B3Rd5sBQcqUXoDdEy75XC/jg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.18.19: - resolution: {integrity: sha512-z69jhyG20Gq4QL5JKPLqUT+eREuqnDAFItLbza4JCmpvUnIlY73YNjd5djlO7kBiiZnvTnJuAbOjIoZIOa1GjA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - dev: true - - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: true - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: false - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: false - - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: true - - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /bundle-require@4.0.1(esbuild@0.18.19): - resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.17' - dependencies: - esbuild: 0.18.19 - load-tsconfig: 0.2.5 - dev: true - - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: false - - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /cmd-ts@0.13.0: - resolution: {integrity: sha512-nsnxf6wNIM/JAS7T/x/1JmbEsjH0a8tezXqqpaL0O6+eV0/aDEnRxwjxpu0VzDdRcaC1ixGSbRlUuf/IU59I4g==} - dependencies: - chalk: 4.1.2 - debug: 4.3.4 - didyoumean: 1.2.2 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color - dev: false - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: false - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: false - - /commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - dev: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dev: false - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /esbuild@0.18.19: - resolution: {integrity: sha512-ra3CaIKCzJp5bU5BDfrCc0FRqKj71fQi+gbld0aj6lN0ifuX2fWJYPgLVLGwPfA+ruKna+OWwOvf/yHj6n+i0g==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.18.19 - '@esbuild/android-arm64': 0.18.19 - '@esbuild/android-x64': 0.18.19 - '@esbuild/darwin-arm64': 0.18.19 - '@esbuild/darwin-x64': 0.18.19 - '@esbuild/freebsd-arm64': 0.18.19 - '@esbuild/freebsd-x64': 0.18.19 - '@esbuild/linux-arm': 0.18.19 - '@esbuild/linux-arm64': 0.18.19 - '@esbuild/linux-ia32': 0.18.19 - '@esbuild/linux-loong64': 0.18.19 - '@esbuild/linux-mips64el': 0.18.19 - '@esbuild/linux-ppc64': 0.18.19 - '@esbuild/linux-riscv64': 0.18.19 - '@esbuild/linux-s390x': 0.18.19 - '@esbuild/linux-x64': 0.18.19 - '@esbuild/netbsd-x64': 0.18.19 - '@esbuild/openbsd-x64': 0.18.19 - '@esbuild/sunos-x64': 0.18.19 - '@esbuild/win32-arm64': 0.18.19 - '@esbuild/win32-ia32': 0.18.19 - '@esbuild/win32-x64': 0.18.19 - dev: true - - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - dev: true - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: false - - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: true - - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - dev: true - - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - - /load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: true - - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: true - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - dev: true - - /postcss-load-config@4.0.1: - resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 2.1.0 - yaml: 2.3.1 - dev: true - - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - - /rollup@3.27.2: - resolution: {integrity: sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - dependencies: - whatwg-url: 7.1.0 - dev: true - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: false - - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - - /sucrase@3.34.0: - resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} - engines: {node: '>=8'} - hasBin: true - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - commander: 4.1.1 - glob: 7.1.6 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: false - - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - dependencies: - thenify: 3.3.1 - dev: true - - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - dependencies: - any-promise: 1.3.0 - dev: true - - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.0 - dev: true - - /tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - dev: true - - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true - - /tsup@7.2.0: - resolution: {integrity: sha512-vDHlczXbgUvY3rWvqFEbSqmC1L7woozbzngMqTtL2PGBODTtWlRwGDDawhvWzr5c1QjKe4OAKqJGfE1xeXUvtQ==} - engines: {node: '>=16.14'} - hasBin: true - peerDependencies: - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.1.0' - peerDependenciesMeta: - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - dependencies: - bundle-require: 4.0.1(esbuild@0.18.19) - cac: 6.7.14 - chokidar: 3.5.3 - debug: 4.3.4 - esbuild: 0.18.19 - execa: 5.1.1 - globby: 11.1.0 - joycon: 3.1.1 - postcss-load-config: 4.0.1 - resolve-from: 5.0.0 - rollup: 3.27.2 - source-map: 0.8.0-beta.0 - sucrase: 3.34.0 - tree-kill: 1.2.2 - transitivePeerDependencies: - - supports-color - - ts-node - dev: true - - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - dev: true - - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - dev: true - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - - /yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} - engines: {node: '>= 14'} - dev: true diff --git a/examples/plugin_template/src/index.ts b/examples/plugin_template/src/index.ts deleted file mode 100644 index dd44b62..0000000 --- a/examples/plugin_template/src/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { command } from "cmd-ts"; - -export default command({ - name: "custom", - description: "A completely custom command dynamically imported at runtime!", - args: {}, - handler() { - console.log("CUSTOM COMMAND WORKS!!"); - }, -}); diff --git a/examples/plugin_template/tsconfig.json b/examples/plugin_template/tsconfig.json deleted file mode 100644 index 71dfb43..0000000 --- a/examples/plugin_template/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "jsx": "preserve", - "noEmit": true, - "module": "ESNext", - "target": "ESNext", - "moduleResolution": "node", - "strict": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "skipLibCheck": true, - "resolveJsonModule": true - } -} diff --git a/examples/plugin_template/tsup.config.ts b/examples/plugin_template/tsup.config.ts deleted file mode 100644 index d80d441..0000000 --- a/examples/plugin_template/tsup.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig({ - entry: ["src/index.ts"], - target: "esnext", - format: "esm", - splitting: false, - sourcemap: true, - clean: true, -}); From 6477e9909a46f56e02994dd99d2d66482cf71c45 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:48:46 +0000 Subject: [PATCH 009/160] remove unnecessary utils remove unused `ui` package --- packages/ui/.gitignore | 1 - packages/ui/package.json | 43 --- .../ui/src/components/autocomplete/index.ts | 304 --------------- .../ui/src/components/autocomplete/utils.ts | 95 ----- packages/ui/src/components/form/index.ts | 26 -- .../ui/src/components/spinnerify/index.ts | 19 - packages/ui/src/index.ts | 4 - packages/ui/tsconfig.json | 20 - packages/ui/tsup.config.ts | 11 - packages/utils/src/cmd-ts/index.ts | 1 - packages/utils/src/cmd-ts/oneOf.ts | 16 - packages/utils/src/config/index.ts | 43 --- packages/utils/src/index.ts | 3 - packages/utils/src/primitives/index.ts | 62 --- packages/utils/src/translations/index.ts | 1 - .../utils/src/translations/translations.ts | 354 ------------------ packages/utils/src/translations/types.ts | 6 - packages/utils/src/util-types/index.ts | 6 - 18 files changed, 1015 deletions(-) delete mode 100644 packages/ui/.gitignore delete mode 100644 packages/ui/package.json delete mode 100644 packages/ui/src/components/autocomplete/index.ts delete mode 100644 packages/ui/src/components/autocomplete/utils.ts delete mode 100644 packages/ui/src/components/form/index.ts delete mode 100644 packages/ui/src/components/spinnerify/index.ts delete mode 100644 packages/ui/src/index.ts delete mode 100644 packages/ui/tsconfig.json delete mode 100644 packages/ui/tsup.config.ts delete mode 100644 packages/utils/src/cmd-ts/index.ts delete mode 100644 packages/utils/src/cmd-ts/oneOf.ts delete mode 100644 packages/utils/src/config/index.ts delete mode 100644 packages/utils/src/primitives/index.ts delete mode 100644 packages/utils/src/translations/index.ts delete mode 100644 packages/utils/src/translations/translations.ts delete mode 100644 packages/utils/src/translations/types.ts delete mode 100644 packages/utils/src/util-types/index.ts diff --git a/packages/ui/.gitignore b/packages/ui/.gitignore deleted file mode 100644 index fbf0622..0000000 --- a/packages/ui/.gitignore +++ /dev/null @@ -1 +0,0 @@ -types \ No newline at end of file diff --git a/packages/ui/package.json b/packages/ui/package.json deleted file mode 100644 index 68d933d..0000000 --- a/packages/ui/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "@solid-cli/ui", - "version": "0.0.13", - "license": "MIT", - "homepage": "https://solid-cli.netlify.app", - "repository": { - "type": "git", - "url": "https://github.com/solidjs-community/solid-cli" - }, - "files": [ - "dist", - "types" - ], - "description": "A collection of UI utilities for the Solid CLI", - "main": "./dist/index.mjs", - "module": "./dist/index.mjs", - "types": "./types/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.mjs", - "types": "./types/index.d.ts" - } - }, - "scripts": { - "test": "vitest run", - "build": "tsc && tsup" - }, - "devDependencies": { - "tsup": "^8.3.5", - "typescript": "^5.6.3", - "@types/node": "22.9.0" - }, - "publishConfig": { - "access": "public" - }, - "dependencies": { - "@clack/core": "0.3.4", - "@clack/prompts": "0.7.0", - "picocolors": "^1.1.1", - "@solid-cli/utils": "workspace:*" - } -} diff --git a/packages/ui/src/components/autocomplete/index.ts b/packages/ui/src/components/autocomplete/index.ts deleted file mode 100644 index 739ab93..0000000 --- a/packages/ui/src/components/autocomplete/index.ts +++ /dev/null @@ -1,304 +0,0 @@ -import { Key } from "node:readline"; -import { Prompt } from "@clack/core"; -import { TextOptions } from "@clack/prompts"; -import { S_CHECKBOX_ACTIVE, S_CHECKBOX_SELECTED, S_CHECKBOX_INACTIVE, S_BAR, S_BAR_END, box, S_INFO } from "./utils"; -import color from "picocolors"; -import { createEffect } from "@solid-cli/reactivity"; -import { t } from "@solid-cli/utils"; -import { Option } from "@solid-cli/utils/util-types"; - -const buildRegex = (str: string) => { - let s = ""; - - for (let i = 0; i < str.length; i++) { - s += str[i] + ".*"; - } - - s = ".*" + s; - - return RegExp(s); -}; - -const search = (values: T[], lookFor: string) => { - const group = lookFor.match(/(\w+)\/(\w+)?/); - - if (group) { - const groupData = values.filter((option) => option.group && option.group.includes(group[1])); - - const sp = group[2]; - - if (!sp) return groupData; - - const r = buildRegex(sp); - return groupData.filter((v) => r.test((v.label ?? v.value).toLowerCase())); - } - - const r = buildRegex(lookFor); - - return !lookFor.length ? values : values.filter((v) => r.test((v.label ?? v.value).toLowerCase())); -}; - -const sortByGroup = (options: T[]) => { - return [...options].sort((a, b) => { - if (a.group && b.group) return 0; - - if (a.group && !b.group) return 1; - - return -1; - }); -}; - -const opt = ( - option: any, - state: "inactive" | "active" | "selected" | "active-selected" | "submitted" | "cancelled", -) => { - const label = option.label ?? String(option.value); - if (state === "active") { - return `${color.cyan(S_CHECKBOX_ACTIVE)} ${label} ${option.hint ? color.dim(`(${option.hint})`) : ""}`; - } else if (state === "selected") { - return `${color.green(S_CHECKBOX_SELECTED)} ${color.dim(label)}`; - } else if (state === "cancelled") { - return `${color.strikethrough(color.dim(label))}`; - } else if (state === "active-selected") { - return `${color.green(S_CHECKBOX_SELECTED)} ${label} ${option.hint ? color.dim(`(${option.hint})`) : ""}`; - } else if (state === "submitted") { - return `${color.dim(label)}`; - } - return `${color.dim(S_CHECKBOX_INACTIVE)} ${color.dim(label)}`; -}; - -const aliases = new Map([ - ["k", "up"], - ["j", "down"], - ["h", "left"], - ["l", "right"], -]); - -interface AutocompleteTextOptions extends TextOptions { - options: () => T[]; - render: (this: Omit, "prompt">) => string | void; -} - -class AutocompleteText extends Prompt { - valueWithCursor = ""; - options: T[]; - - get __cursor() { - return this._cursor; - } - cursor: number = 0; - - filteredOptions: T[]; - selected: T[]; - - mode: "search" | "explore" = "explore"; - - private toggleValue() { - const cursorOption = this.filteredOptions[this.cursor]; - const selected = this.selected.find((v) => v.value === cursorOption.value) !== undefined; - - this.selected = selected - ? this.selected.filter((v) => v.value !== cursorOption.value) - : [...this.selected, cursorOption]; - } - - constructor(opts: AutocompleteTextOptions) { - super(opts); - - // // @ts-ignore - // this.rl?.clearLine(); - this.options = opts.options(); - this.filteredOptions = opts.options(); - this.selected = []; - - if (this.mode === "explore") this.value = this.options; - - createEffect(() => { - this.options = opts.options(); - this.filteredOptions = sortByGroup(search(opts.options(), "")); - this.value = this.options; - // @ts-ignore - this.render(); - }); - - this.customKeyPress = this.customKeyPress.bind(this); - - this.on("finalize", () => { - if (!this.value) { - this.value = opts.defaultValue; - } - this.valueWithCursor = this.value; - this.value = this.selected; - }); - - this.on("value", () => { - if (this.value[this.value.length - 1] === "/" && this.mode === "explore") { - // @ts-ignore - this.rl.clearLine(); - this.value = ""; - this.mode = "search"; - return; - } - if (this.mode === "explore") return; - const value = this.value as string; - if (this._cursor >= value.length) { - this.valueWithCursor = `${value}${color.inverse(color.hidden("_"))}`; - } else { - const s1 = value.slice(0, this._cursor); - const s2 = value.slice(this._cursor); - this.valueWithCursor = `${s1}${color.inverse(s2)}${s2.slice(1)}`; - } - - const indexSelector = value.match(/:(\d+)/); - // if (!indexSelector) this.cursor = 0; - - const last = value[value.length - 1]; - if (last === ":") { - const tillSelector = value.slice(0, value.length - 1); - - if (tillSelector.length > 0) { - this.filteredOptions = sortByGroup(search(this.options, tillSelector)); - } else { - this.filteredOptions = sortByGroup(this.options); - } - - return; - } - - if (indexSelector && indexSelector[1]) { - const index = Number(indexSelector[1]); - - if (this.filteredOptions.length > 1 && index > this.filteredOptions.length - 1) { - this.state = "error"; - return; - } - this.cursor = index; - return; - } - - const before = this.filteredOptions.length; - this.filteredOptions = sortByGroup(search(this.options, value.toLowerCase())); - const after = this.filteredOptions.length; - - if (before !== after) { - this.cursor = 0; - } - }); - this.on("cursor", (key) => { - if (this.mode === "explore" && key === "/") return; - switch (key) { - case "left": - case "up": - this.cursor = this.cursor === 0 ? this.filteredOptions.length - 1 : this.cursor - 1; - break; - case "down": - case "right": - this.cursor = this.cursor === this.filteredOptions.length - 1 ? 0 : this.cursor + 1; - break; - case "tab": - this.toggleValue(); - break; - } - }); - this.input.on("keypress", this.customKeyPress); - } - - private customKeyPress(char: string, key?: Key) { - if (this.mode === "explore" && key?.name && aliases.has(key.name)) { - this.emit("cursor", aliases.get(key.name)); - } - if (key?.name === "tab") { - const focusedOption = this.filteredOptions[this.cursor]; - const selected = this.selected.find((v) => v?.value === focusedOption?.value) !== undefined; - if (selected) { - this.selected = this.selected.filter((v) => v !== focusedOption); - } else { - this.selected = this.filteredOptions?.length === 0 ? this.selected : [...this.selected, focusedOption]; - } - // @ts-ignore - this.rl.clearLine(); - } else if (key?.name === "escape") { - if (this.mode === "search") { - this.mode = "explore"; - return; - } - } - } -} - -const BULLET = "•"; - -const instructions = color.gray( - `↓/j down ${BULLET} ↑/k up ${BULLET} tab select ${BULLET} Ctrl-C cancel ${BULLET} / filter`, -); - -const searchInstructions = color.gray( - `tab select ${BULLET} ESC cancel filter ${BULLET} : to highlight by index`, -); - -export const autocomplete = (opts: Omit, "render">) => { - return new AutocompleteText({ - options: opts.options, - message: opts.message, - validate: opts.validate, - placeholder: opts.placeholder, - defaultValue: opts.defaultValue, - initialValue: opts.initialValue, - render() { - const selected = - this.selected.length === 0 - ? color.gray(t.NOTHING_SELECTED) - : this.selected.map((option, i) => `${color.yellow(option.label)}`).join(" "); - const placeholder = opts.placeholder - ? color.inverse(opts.placeholder[0]) + color.dim(opts.placeholder.slice(1)) - : color.inverse(color.hidden("_")); - - const value = typeof this.value === "string" ? (!this.value ? placeholder : this.valueWithCursor) : ""; - - const textView = `${color.cyan("?")} Filter: ` + value + "\n"; - - const noResults = color.red(t.AUTOCOMPLETE_NO_RESULTS); - - let uniqueGroups = new Set(); - let start = Math.max(0, this.cursor - 11); - const filteredOptions = this.filteredOptions - .map((option, i) => { - if (i < start || i > start + 11) return; - - const selected = this.selected.find((v) => v.value === option.value) !== undefined; - const has = option.group && uniqueGroups.has(option.group); - if (!has && option.group) { - uniqueGroups.add(option.group); - } - - const isFocused = this.cursor === i; - - const active = (i === 0 && this.mode === "search") || (this.mode === "explore" && isFocused); - const state = selected ? "selected" : active ? "active" : "inactive"; - - const spacing = i > 9 ? " " : " "; - - const groupView = `${ - has || !option.group ? "" : `\n${color.cyan(S_BAR)}${color.bgBlue(color.black(option.group))}` - } ${!has && option.group ? `\n${color.cyan(S_BAR)} ` : ""}`; - - return groupView + `${i}:${spacing}` + (isFocused ? color.bgBlack(opt(option, state)) : opt(option, state)); - }) - .filter(Boolean) - .join(`\n${color.cyan(S_BAR)} `); - - // prettier-ignore - const options = `${color.cyan(S_BAR)} ${this.filteredOptions.length ? filteredOptions : noResults}\n${color.cyan(S_BAR_END,)}\n`; - - return ( - `${color.cyan(S_BAR)} \n ${color.cyan(S_BAR)} ${color.yellow(S_CHECKBOX_SELECTED)} ${ - t.AUTOCOMPLETE_SELECTED - }: ${selected}\n${color.cyan(S_BAR)} \n` + - (this.mode === "search" ? `${color.cyan(S_BAR)} ` + textView : "") + - options + - "\n" + - (this.mode === "search" ? searchInstructions : instructions) - ); - }, - }).prompt() as Promise; -}; diff --git a/packages/ui/src/components/autocomplete/utils.ts b/packages/ui/src/components/autocomplete/utils.ts deleted file mode 100644 index 78c579f..0000000 --- a/packages/ui/src/components/autocomplete/utils.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { log } from "@clack/prompts"; -import color from "picocolors"; -// Taken from https://github.com/natemoo-re/clack/blob/main/packages/prompts/src/index.ts#L642 -const S_STEP_ACTIVE = "◆"; -const S_STEP_CANCEL = "■"; -const S_STEP_ERROR = "▲"; -const S_STEP_SUBMIT = "◇"; - -const S_BAR_START = "┌"; -const S_BAR = "│"; -const S_BAR_END = "└"; - -const S_RADIO_ACTIVE = "●"; -const S_RADIO_INACTIVE = "○"; -const S_CHECKBOX_ACTIVE = "◻"; -const S_CHECKBOX_SELECTED = "◼"; -const S_CHECKBOX_INACTIVE = "◻"; -const S_PASSWORD_MASK = "▪"; - -const S_BAR_H = "─"; -const S_CORNER_TOP_RIGHT = "╮"; -const S_CONNECT_LEFT = "├"; -const S_CORNER_BOTTOM_RIGHT = "╯"; - -const S_INFO = "●"; -const S_SUCCESS = "◆"; -const S_WARN = "▲"; -const S_ERROR = "■"; - -// Adapted from https://github.com/chalk/ansi-regex -// @see LICENSE -function ansiRegex() { - const pattern = [ - "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", - "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))", - ].join("|"); - - return new RegExp(pattern, "g"); -} - -const strip = (str: string) => str.replace(ansiRegex(), ""); -const box = (message = "", title = "") => { - const lines = `\n${message}\n`.split("\n"); - const len = - Math.max( - lines.reduce((sum, ln) => { - ln = strip(ln); - return ln.length > sum ? ln.length : sum; - }, 0), - strip(title).length, - ) + 2; - const msg = lines - .map((ln) => `${color.gray(S_BAR)} ${color.dim(ln)}${" ".repeat(len - strip(ln).length)}${color.gray(S_BAR)}`) - .join("\n"); - return `${color.gray(S_BAR)}\n${color.green(S_STEP_SUBMIT)} ${color.reset(title)} ${color.gray( - S_BAR_H.repeat(Math.max(len - title.length - 1, 1)) + S_CORNER_TOP_RIGHT, - )}\n${msg}\n${color.gray(S_CONNECT_LEFT + S_BAR_H.repeat(len + 2) + S_CORNER_BOTTOM_RIGHT)}\n`; -}; - -export { - S_CONNECT_LEFT, - S_CORNER_BOTTOM_RIGHT, - S_CORNER_TOP_RIGHT, - S_BAR, - S_BAR_START, - S_BAR_END, - S_BAR_H, - S_INFO, - S_ERROR, - S_WARN, - S_SUCCESS, - S_RADIO_ACTIVE, - S_RADIO_INACTIVE, - S_PASSWORD_MASK, - S_CHECKBOX_ACTIVE, - S_CHECKBOX_INACTIVE, - S_CHECKBOX_SELECTED, - S_STEP_ACTIVE, - S_STEP_ERROR, - S_STEP_CANCEL, - S_STEP_SUBMIT, -}; - -const cancelable = async (prompt: Promise, cancelMessage: string = "Canceled"): Promise => { - const value = await prompt; - - if (typeof value === "symbol") { - log.warn(cancelMessage); - process.exit(0); - } - - return value; -}; - -export { strip, box, cancelable }; diff --git a/packages/ui/src/components/form/index.ts b/packages/ui/src/components/form/index.ts deleted file mode 100644 index fc11479..0000000 --- a/packages/ui/src/components/form/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { TextOptions, text } from "@clack/prompts"; - -interface Field extends TextOptions { - name: string; - render?: (this: Field) => Promise; -} - -export const form = async (fields: Field[]) => { - let returns: { name: string; value: any }[] = []; - - for (const field of fields) { - if (field.render) { - const r = await field.render.bind(field)(); - if (r) { - returns.push({ name: field.name, value: r }); - } - continue; - } - - const r = await text({ ...field }); - - returns.push({ name: field.name, value: r }); - } - - return returns; -}; diff --git a/packages/ui/src/components/spinnerify/index.ts b/packages/ui/src/components/spinnerify/index.ts deleted file mode 100644 index 7205636..0000000 --- a/packages/ui/src/components/spinnerify/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { spinner } from "@clack/prompts"; -type SpinnerItem = { - startText: string; - finishText: string; - fn: () => Promise; -}; -export async function spinnerify(spinners: SpinnerItem): Promise; -export async function spinnerify(spinners: SpinnerItem[]): Promise; -export async function spinnerify(spinners: SpinnerItem[] | SpinnerItem) { - if (!Array.isArray(spinners)) spinners = [spinners]; - let results: any[] = []; - const s = spinner(); - for (const { startText, finishText, fn } of spinners) { - s.start(startText); - results.push(await fn()); - s.stop(finishText); - } - return results.length === 1 ? results[0] : results; -} diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts deleted file mode 100644 index 083c425..0000000 --- a/packages/ui/src/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from "./components/autocomplete"; -export * from "./components/form"; -export * from "./components/autocomplete/utils"; -export * from "./components/spinnerify"; diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json deleted file mode 100644 index ecaf1e3..0000000 --- a/packages/ui/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "useDefineForClassFields": true, - "module": "ESNext", - "skipLibCheck": true, - "declaration": true, - "emitDeclarationOnly": true, - "moduleResolution": "Bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "allowSyntheticDefaultImports": true, - "strict": true, - // "noUnusedLocals": true, - // "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - "outDir": "types" - }, - "include": ["src/*"] -} diff --git a/packages/ui/tsup.config.ts b/packages/ui/tsup.config.ts deleted file mode 100644 index aaf7a65..0000000 --- a/packages/ui/tsup.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig({ - entry: ["src/index.ts"], - target: "esnext", - format: ["esm", "cjs"], - splitting: false, - sourcemap: true, - minify: true, - clean: true, -}); diff --git a/packages/utils/src/cmd-ts/index.ts b/packages/utils/src/cmd-ts/index.ts deleted file mode 100644 index 1896305..0000000 --- a/packages/utils/src/cmd-ts/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./oneOf"; diff --git a/packages/utils/src/cmd-ts/oneOf.ts b/packages/utils/src/cmd-ts/oneOf.ts deleted file mode 100644 index 79fabcb..0000000 --- a/packages/utils/src/cmd-ts/oneOf.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Type } from "cmd-ts"; -import { inspect } from "util"; - -export function oneOf(literals: readonly T[], case_sensitive: boolean = false): Type { - const examples = literals.map((x) => inspect(x)).join(", "); - return { - async from(str) { - const value = literals.find((x) => (case_sensitive ? x === str : x.toLowerCase() === str.toLowerCase())); - if (!value) { - throw new Error(`Invalid value '${str}'. Expected one of: ${examples}`); - } - return value; - }, - description: `One of ${examples}`, - }; -} diff --git a/packages/utils/src/config/index.ts b/packages/utils/src/config/index.ts deleted file mode 100644 index 9f095d2..0000000 --- a/packages/utils/src/config/index.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { readFile, writeFile } from "fs/promises"; -import { homedir } from "../paths"; -import { join } from "path"; -import { parse, stringify } from "smol-toml"; -import { createSignal } from "@solid-cli/reactivity"; - -export const PossibleFields = ["lang"] as const; - -const defaultConfig = { - lang: Intl.DateTimeFormat().resolvedOptions().locale.split("-")[0], -} as Record; - -type Field = (typeof PossibleFields)[number]; - -const configPath: string = join(homedir(), "/solid-cli.config.toml"); - -export const [config, setConfig] = createSignal(defaultConfig); - -export const readConfig = async () => { - try { - const file = await readFile(configPath, "utf-8"); - setConfig(parse(file)); - } catch { - await writeConfig(); - } -}; - -export const writeConfig = async () => { - await writeFile(configPath, stringify(config())); -}; - -export const setField = async (field: Field, value: any) => { - if (!(field in defaultConfig)) { - throw new Error(`Field ${field} does not exist`); - } - setConfig((prev) => ({ ...prev, [field]: value })); - await writeConfig(); -}; - -export const getField = (field: Field) => { - if (!config()[field] && defaultConfig[field]) setField(field, defaultConfig[field]); - return config()[field]; -}; diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index 1310c11..b8f0dc1 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -1,5 +1,2 @@ -export * from "./translations"; -export * from "./config"; export * from "./start"; export * from "./open"; -export * from "./cmd-ts"; diff --git a/packages/utils/src/primitives/index.ts b/packages/utils/src/primitives/index.ts deleted file mode 100644 index 571269a..0000000 --- a/packages/utils/src/primitives/index.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { tmpdir } from "../paths"; -import type { Option } from "../util-types"; -import { createSignal } from "@solid-cli/reactivity"; -import { readFile, writeFile } from "fs/promises"; -export const [primitives, setPrimitives] = createSignal([]); -const fetchPrimitives = async () => { - const result = await ( - await fetch("https://registry.npmjs.com/-/v1/search?text=scope:solid-primitives&size=250.json") - ).json(); - - const primitives: Option[] = result.objects.map((v: any) => { - const opt: Option = { - label: v.package.name.split("/")[1], - value: v.package.name, - group: "primitives", - }; - - return opt; - }); - - return primitives; -}; -type Cache = { - timeCached: string; - primitives: Option[]; -}; -const cache = async (primitives: Option[]) => { - const tmp = tmpdir(); - const t = new Date(); - const cache: Cache = { - timeCached: t.toUTCString(), - primitives, - }; - await writeFile(`${tmp}/primitives.json`, JSON.stringify(cache)); -}; -const daysSinceEpoch = (seconds: number) => { - return seconds / (60 * 60 * 24); -}; -const getCached = async () => { - const tmp = tmpdir(); - const cached = JSON.parse((await readFile(`${tmp}/primitives.json`)).toString()) as Cache; - const timeCached = new Date(Date.parse(cached.timeCached)); - const currentTime = new Date(); - if (daysSinceEpoch(currentTime.getTime() - timeCached.getTime()) > 1) { - throw new Error("Stale cache"); - } - return cached.primitives as Option[]; -}; -export const refetchPrimitives = async () => { - const p = await fetchPrimitives(); - setPrimitives(p); - await cache(p); -}; -export const loadPrimitives = async () => { - try { - const cached = await getCached(); - setPrimitives(cached); - } catch (e) { - // Cannot fetch from cache, must fetch - await refetchPrimitives(); - } -}; diff --git a/packages/utils/src/translations/index.ts b/packages/utils/src/translations/index.ts deleted file mode 100644 index 77ffa7b..0000000 --- a/packages/utils/src/translations/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./translations"; diff --git a/packages/utils/src/translations/translations.ts b/packages/utils/src/translations/translations.ts deleted file mode 100644 index 7ca1614..0000000 --- a/packages/utils/src/translations/translations.ts +++ /dev/null @@ -1,354 +0,0 @@ -import { createEffect, createMemo, createSignal } from "@solid-cli/reactivity"; -import { SL, SupportedLanguages, TemplateFunction, Translations } from "./types"; -import { on } from "@solid-cli/reactivity"; -import { log } from "@clack/prompts"; -import { config, setConfig } from "../config"; -export const [locale, setLocale] = createSignal(null); -export const validatedLocale = createMemo(() => { - const l = locale(); - if (!l) return "en"; - const supported = !!SupportedLanguages.find((lang) => lang.toLowerCase() === l.toLowerCase()); - if (!supported) { - log.warn(`Unsupported language: ${l}. Defaulting to English.`); - } - return supported ? l : "en"; -}); -createEffect( - on( - validatedLocale, - (l) => { - setConfig({ ...config(), lang: l }); - }, - { defer: true }, - ), -); -const TRANSLATIONS = { - AUTOCOMPLETE_SELECTED: { - en: "Selected Packages", - es: "Paquetes seleccionados", - fr: "Forfaits sélectionnés", - ja: "選択されたパッケージ", - }, - AUTOCOMPLETE_NO_RESULTS: { - en: "No results", - es: "No hay resultados", - fr: "Aucun résultat", - ja: "結果がありません", - }, - SELECT_START_ACTION: { - en: "Select a SolidStart specific action", - es: "Seleccione una acción específica de SolidStart", - fr: "Sélectionnez une action spécifique à SolidStart", - ja: "SolidStart 固有のアクションを選択します", - }, - SELECT_ACTION: { - en: "Select an action", - es: "Seleccione una acción", - fr: "Sélectionnez une action", - ja: "アクションを選択してください", - }, - ACTION_ADD: { - en: "Add an integration", - es: "Añadir una integración", - fr: "Ajouter une intégration", - ja: "統合を追加する", - }, - ACTION_NEW: { - en: "Create new project", - es: "Crear nuevo proyecto", - fr: "Créer un nouveau projet", - ja: "新しいプロジェクトを作成する", - }, - ACTION_START: { - en: "A start specific action", - es: "Una acción específica de inicio", - fr: "Une action spécifique de démarrage", - ja: "特定のアクションを開始する", - }, - NEW_VARIATION_DESC: { - en: "The variation to create, for example `bare`", - es: "La variación a crear, por ejemplo `bare`", - fr: "La variante à créer, par exemple `bare`", - ja: "作成するバリエーション、たとえば「bare」", - }, - NEW_NAME_DESC: { - en: "The name of the folder to create", - es: "El nombre de la carpeta a crear.", - fr: "Le nom du dossier à créer", - ja: "作成するフォルダーの名前", - }, - IS_START_PROJECT: { - en: "Is this a SolidStart project?", - es: "¿Es este un proyecto de SolidStart?", - fr: "Est-ce un projet SolidStart?", - ja: "これはソリッドスタートプロジェクトですか?", - }, - START_MODE: { - en: "Mode", - es: "Modo", - fr: "Mode", - ja: "モード", - }, - START_MODE_HINT: { - en: "Changes the mode of the solid app (SSR, CSR, SSG)", - es: "Cambia el modo de la aplicación sólida (SSR, CSR, SSG)", - fr: "Modifie le mode de l'application solide (SSR, CSR, SSG)", - ja: "ソリッドアプリのモードを変更します(SSR、CSR、SSG)", - }, - START_MODE_DESC: { - en: "The rendering mode for solid to build for, and use.", - es: "El modo de renderizado de solid para construir y usar.", - fr: "Le mode de rendu du solid pour lequel construire et utiliser.", - ja: "solid がビルドして使用するレンダリング モード。", - }, - START_ROUTE: { - en: "Route", - es: "Ruta", - fr: "Itinéraire", - ja: "ルート", - }, - START_ROUTE_HINT: { - en: "Allows you to create a new file system route", - es: "Le permite crear una nueva ruta de sistema de archivos", - fr: "Vous permet de créer une nouvelle route de système de fichiers", - ja: "新しいファイル システム ルートを作成できます。", - }, - START_ROUTE_DESC: { - en: "The name of `.tsx` file to be generated", - es: "El nombre del archivo `.tsx` que se generará", - fr: "Le nom du fichier `.tsx` à générer", - ja: "生成される `.tsx` ファイルの名前", - }, - START_DATA: { - en: "Data File", - es: "Archivo de datos", - fr: "Fichier de données", - ja: "データファイル", - }, - START_DATA_HINT: { - en: "Allows you to create a new data file within a route", - es: "Le permite crear un nuevo archivo de datos dentro de una ruta", - fr: "Permet de créer un nouveau fichier de données au sein d'un itinéraire", - ja: "ルート内に新しいデータ ファイルを作成できます。", - }, - START_DATA_DESC: { - en: "The name of the `.data.ts` file to be generated.", - es: "El nombre del archivo `.data.ts` que se generará.", - fr: "Le nom du fichier `.data.ts` à générer.", - ja: "生成される `.data.ts` ファイルの名前。", - }, - START_ADAPTER: { - en: "Adapter", - es: "Adaptador", - fr: "Adaptateur", - ja: "アダプタ", - }, - START_ADAPTER_HINT: { - en: "Allows for setting and updating the adapter used to build a start app", - es: "Permite configurar y actualizar el adaptador utilizado para crear una aplicación de inicio", - fr: "Permet de définir et de mettre à jour l'adaptateur utilisé pour créer une application de démarrage", - ja: "スタートアプリの構築に使用されるアダプターの設定と更新が可能", - }, - START_ADAPTER_DISPLAYNAME: { - en: "Adapter name", - es: "Nombre del adaptador", - fr: "Nom de l'adaptateur", - ja: "アダプター名", - }, - START_API: { - en: "API", - es: "API", - fr: "API", - ja: "API", - }, - START_API_HINT: { - en: "Create an API route", - es: "Crear una ruta API", - fr: "Créer une route d'API", - ja: "APIルートを作成する", - }, - START_API_DISPLAYNAME: { - en: "API file name", - es: "Nombre de archivo API", - fr: "Nom du fichier API", - ja: "APIファイル名", - }, - CANCELED: { - en: "Canceled", - es: "Cancelado", - fr: "Annulé", - ja: "キャンセル", - }, - CONFIRM_INSTALL: (n: number) => ({ - en: `Install the following (${n}) packages?`, - es: `Instale lo siguiente (${n}) paquetes?`, - fr: `Installez les éléments suivants (${n}) paquets?`, - ja: `以下をインストールします (${n}) パッケージ?`, - }), - NEW_START: { - en: "Which template would you like to use?", - es: "¿Qué plantilla te gustaría usar?", - fr: "Quel modèle souhaitez-vous utiliser ?", - ja: "どのテンプレートを使いたいですか?", - }, - ADD_DESC: { - en: "Can add and install integrations: `solid add unocss`.", - es: "Puede agregar e instalar integraciones: `solid add unocss`.", - fr: "Peut ajouter et installer des intégrations : `solid add unocss`.", - ja: "統合を追加およびインストールできます: `solid add unocss`。", - }, - NEW_DESC: { - en: "Creates a new solid project", - es: "Crea un nuevo proyecto sólido.", - fr: "Crée un nouveau projet solide", - ja: "新しいソリッドプロジェクトを作成します", - }, - ADD_PACKAGES: { - en: "Add packages", - es: "Agregar paquetes", - fr: "Ajouter des forfaits", - ja: "パッケージの追加", - }, - NOTHING_SELECTED: { - en: "Nothing selected", - es: "Nada seleccionado", - fr: "Rien de sélectionné", - ja: "何も選択されていません", - }, - YES: { - en: "Yes", - es: "Sí", - fr: "Oui", - ja: "はい", - }, - NO: { - en: "No", - es: "No", - fr: "Non", - ja: "いいえ", - }, - YES_FORCE: { - en: "Yes (force)", - es: "Sí (fuerza)", - fr: "Oui (forcer)", - ja: "はい(強制)", - }, - PROJECT_CREATED: { - en: "Project successfully created! 🎉", - es: "¡Proyecto creado con éxito! 🎉", - fr: "Projet créé avec succès! 🎉", - ja: "プロジェクトが正常に作成されました。 🎉", - }, - CREATING_PROJECT: { - en: "Creating project", - es: "Creando proyecto", - fr: "Création de projet", - ja: "プロジェクトの作成", - }, - TEMPLATE: { - en: "Template", - es: "Plantilla", - fr: "Modèle", - ja: "レンプレート", - }, - GET_STARTED: { - en: "To get started, run:", - es: "Para empezar, ejecuta:", - fr: "Pour commencer, exécutez :", - ja: "開始するには、次を実行します。", - }, - PROJECT_NAME: { - en: "Project Name", - es: "Nombre del proyecto", - fr: "nom du projet", - ja: "プロジェクト名", - }, - LOADING_PRIMITIVES: { - en: "Loading primitives", - es: "Cargando primitivas", - fr: "Chargement des primitives", - ja: "プリミティブのロード", - }, - PRIMITIVES_LOADED: { - en: "Primitives loaded", - es: "Primitivos cargados", - fr: "Primitives chargées", - ja: "プリミティブがロードされました", - }, - INSTALLING_VIA: (pm: string) => ({ - en: `Installing packages via ${pm}`, - es: `Instalación de paquetes a través de ${pm}`, - fr: `Installation de packages via ${pm}`, - ja: `経由でパッケージをインストールする ${pm}`, - }), - CONFIG_UPDATED: { - en: "Config updated", - es: "Configuración actualizada", - fr: "Configuration mise à jour", - ja: "構成が更新されました", - }, - PACKAGES_INSTALLED: { - en: "Packages installed", - es: "Paquetes instalados", - fr: "Paquets installés", - ja: "インストールされたパッケージ", - }, - POST_INSTALL: { - en: "Running post install steps", - es: "Ejecución de pasos posteriores a la instalación", - fr: "Exécution des étapes de post-installation", - ja: "インストール後の手順の実行", - }, - POST_INSTALL_COMPLETE: { - en: "Post install complete", - es: "Post instalación completa", - fr: "Post-installation terminée", - ja: "インストール後の完了", - }, - NO_SUPPORT: (n: string) => ({ - en: `Can't automatically configure ${n}: we don't support it.`, - es: `No se puede configurar automáticamente ${n}: no lo admitimos`, - fr: `Impossible de configurer automatiquement ${n}: nous ne le prenons pas en charge`, - ja: `${n} を自動的に構成できません: サポートされていません`, - }), - OPENING_IN_BROWSER: (s: string) => ({ - en: `Opening ${s} in browser`, - es: `Abriendo ${s} en el navegador`, - fr: `Ouverture de ${s} dans le navigateur`, - ja: `ブラウザで ${s} を開く`, - }), - OPENED_IN_BROWSER: { - en: "Successfully Opened in Browser", - es: "Abierto con éxito en el navegador", - fr: "Ouvert avec succès dans le navigateur", - ja: "ブラウザで正常に開きました", - }, -} as const satisfies Translations; - -export const t = new Proxy(TRANSLATIONS, { - get(target, p, _receiver) { - const l = validatedLocale() as SL; - let text = target[p as keyof typeof target]; - - if (typeof text === "function") { - return new Proxy(text, { - apply(target, thisArg, argArray) { - const newT = Reflect.apply(target, thisArg, argArray); - if (l in newT) { - return newT[l]; - } - return newT["en"]; - }, - }); - } - - if (l in text) { - return text[l as keyof typeof text]; - } - return text["en"]; - }, -}) as unknown as { - [k in keyof typeof TRANSLATIONS]: (typeof TRANSLATIONS)[k] extends TemplateFunction - ? (...args: Parameters<(typeof TRANSLATIONS)[k]>) => string - : string; -}; diff --git a/packages/utils/src/translations/types.ts b/packages/utils/src/translations/types.ts deleted file mode 100644 index 26eba3b..0000000 --- a/packages/utils/src/translations/types.ts +++ /dev/null @@ -1,6 +0,0 @@ -export const SupportedLanguages = ["en", "fr", "es", "de", "ru", "zh", "ja", "ko"] as const; -export type SL = (typeof SupportedLanguages)[number]; - -export type LanguageTranslations = Partial>; -export type TemplateFunction = (...args: any[]) => LanguageTranslations; -export type Translations = Record; diff --git a/packages/utils/src/util-types/index.ts b/packages/utils/src/util-types/index.ts deleted file mode 100644 index 45e9400..0000000 --- a/packages/utils/src/util-types/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type Option = { - value: any; - label?: string; - hint?: string; - group?: string; -}; From da5349bed50a7b3d014c843c169efaf7042691e6 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:55:30 +0000 Subject: [PATCH 010/160] chore: update deps --- package.json | 10 +- packages/create-solid/package.json | 8 +- packages/utils/package.json | 16 +- pnpm-lock.yaml | 874 ++++++++++++----------------- 4 files changed, 373 insertions(+), 535 deletions(-) diff --git a/package.json b/package.json index 04c27b1..55a3ba3 100644 --- a/package.json +++ b/package.json @@ -34,11 +34,11 @@ "./packages/*" ], "devDependencies": { - "@changesets/cli": "2.27.9", - "nodemon": "^3.1.7", - "prettier": "^3.3.3", - "turbo": "^2.2.3", - "vitest": "^2.1.5" + "@changesets/cli": "2.27.11", + "nodemon": "^3.1.9", + "prettier": "^3.4.2", + "turbo": "^2.3.3", + "vitest": "^3.0.2" }, "packageManager": "pnpm@9.6.0" } diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index f31fb09..3d07c1d 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -30,14 +30,12 @@ }, "devDependencies": { "@clack/prompts": "0.9.1", - "@solid-cli/commands": "workspace:*", - "@solid-cli/ui": "workspace:*", - "@types/node": "^22.9.0", + "@types/node": "^22.10.7", "cmd-ts": "^0.13.0", - "jiti": "^2.4.0", + "jiti": "^2.4.2", "picocolors": "^1.1.1", "tsup": "^8.3.5", - "typescript": "^5.6.3", + "typescript": "^5.7.3", "@begit/core": "^0.1.1", "citty": "^0.1.6", "sucrase": "^3.35.0" diff --git a/packages/utils/package.json b/packages/utils/package.json index eefd3f6..6c0ceb5 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -63,22 +63,22 @@ }, "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.9.0", - "jiti": "^2.4.0", + "@types/node": "22.10.7", + "jiti": "^2.4.2", "magicast": "^0.3.5", "tsup": "^8.3.5", - "typescript": "^5.6.3", - "vitest": "^2.1.5" + "typescript": "^5.7.3", + "vitest": "^3.0.2" }, "publishConfig": { "access": "public" }, "dependencies": { - "@clack/core": "0.3.4", - "@clack/prompts": "0.7.0", + "@clack/core": "0.4.1", + "@clack/prompts": "0.9.1", "cmd-ts": "^0.13.0", - "execa": "^8.0.1", + "execa": "^9.5.2", "picocolors": "^1.1.1", - "smol-toml": "^1.3.0" + "smol-toml": "^1.3.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index faaaaf3..eec75b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,109 +9,20 @@ importers: .: devDependencies: '@changesets/cli': - specifier: 2.27.9 - version: 2.27.9 + specifier: 2.27.11 + version: 2.27.11 nodemon: - specifier: ^3.1.7 - version: 3.1.7 + specifier: ^3.1.9 + version: 3.1.9 prettier: - specifier: ^3.3.3 - version: 3.3.3 + specifier: ^3.4.2 + version: 3.4.2 turbo: - specifier: ^2.2.3 - version: 2.2.3 + specifier: ^2.3.3 + version: 2.3.3 vitest: - specifier: ^2.1.5 - version: 2.1.5(@types/node@22.9.0) - - packages/commands: - dependencies: - '@begit/core': - specifier: ^0.0.19 - version: 0.0.19 - '@clack/prompts': - specifier: 0.7.0 - version: 0.7.0 - '@solid-cli/ui': - specifier: workspace:* - version: link:../ui - '@solid-cli/utils': - specifier: workspace:* - version: link:../utils - execa: - specifier: ^8.0.1 - version: 8.0.1 - picocolors: - specifier: ^1.1.1 - version: 1.1.1 - sucrase: - specifier: ^3.35.0 - version: 3.35.0 - devDependencies: - '@chialab/esbuild-plugin-meta-url': - specifier: ^0.18.2 - version: 0.18.2 - '@types/node': - specifier: ^22.9.0 - version: 22.9.0 - prettier: - specifier: ^3.3.3 - version: 3.3.3 - tsup: - specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.0)(postcss@8.4.38)(typescript@5.6.3) - typescript: - specifier: ^5.6.3 - version: 5.6.3 - - packages/core: - dependencies: - '@clack/core': - specifier: 0.3.4 - version: 0.3.4 - '@clack/prompts': - specifier: 0.7.0 - version: 0.7.0 - '@solid-cli/commands': - specifier: workspace:* - version: link:../commands - '@solid-cli/ui': - specifier: workspace:* - version: link:../ui - '@solid-cli/utils': - specifier: workspace:* - version: link:../utils - cmd-ts: - specifier: ^0.13.0 - version: 0.13.0 - execa: - specifier: ^8.0.1 - version: 8.0.1 - picocolors: - specifier: ^1.1.1 - version: 1.1.1 - smol-toml: - specifier: ^1.3.0 - version: 1.3.0 - tiny-updater: - specifier: ^3.5.2 - version: 3.5.2 - devDependencies: - '@chialab/esbuild-plugin-meta-url': - specifier: ^0.18.2 - version: 0.18.2 - '@types/node': - specifier: ^22.9.0 - version: 22.9.0 - jiti: - specifier: ^2.4.0 - version: 2.4.0 - tsup: - specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.0)(postcss@8.4.38)(typescript@5.6.3) - typescript: - specifier: ^5.6.3 - version: 5.6.3 + specifier: ^3.0.2 + version: 3.0.2(@types/node@22.10.7) packages/create-solid: devDependencies: @@ -121,15 +32,9 @@ importers: '@clack/prompts': specifier: 0.9.1 version: 0.9.1 - '@solid-cli/commands': - specifier: workspace:* - version: link:../commands - '@solid-cli/ui': - specifier: workspace:* - version: link:../ui '@types/node': - specifier: ^22.9.0 - version: 22.9.0 + specifier: ^22.10.7 + version: 22.10.7 citty: specifier: ^0.1.6 version: 0.1.6 @@ -137,8 +42,8 @@ importers: specifier: ^0.13.0 version: 0.13.0 jiti: - specifier: ^2.4.0 - version: 2.4.0 + specifier: ^2.4.2 + version: 2.4.2 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -147,78 +52,53 @@ importers: version: 3.35.0 tsup: specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.0)(postcss@8.4.38)(typescript@5.6.3) + version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) typescript: - specifier: ^5.6.3 - version: 5.6.3 - - packages/ui: - dependencies: - '@clack/core': - specifier: 0.3.4 - version: 0.3.4 - '@clack/prompts': - specifier: 0.7.0 - version: 0.7.0 - '@solid-cli/utils': - specifier: workspace:* - version: link:../utils - picocolors: - specifier: ^1.1.1 - version: 1.1.1 - devDependencies: - '@types/node': - specifier: 22.9.0 - version: 22.9.0 - tsup: - specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.0)(postcss@8.4.38)(typescript@5.6.3) - typescript: - specifier: ^5.6.3 - version: 5.6.3 + specifier: ^5.7.3 + version: 5.7.3 packages/utils: dependencies: '@clack/core': - specifier: 0.3.4 - version: 0.3.4 + specifier: 0.4.1 + version: 0.4.1 '@clack/prompts': - specifier: 0.7.0 - version: 0.7.0 + specifier: 0.9.1 + version: 0.9.1 cmd-ts: specifier: ^0.13.0 version: 0.13.0 execa: - specifier: ^8.0.1 - version: 8.0.1 + specifier: ^9.5.2 + version: 9.5.2 picocolors: specifier: ^1.1.1 version: 1.1.1 smol-toml: - specifier: ^1.3.0 - version: 1.3.0 + specifier: ^1.3.1 + version: 1.3.1 devDependencies: '@chialab/esbuild-plugin-meta-url': specifier: ^0.18.2 version: 0.18.2 '@types/node': - specifier: 22.9.0 - version: 22.9.0 + specifier: 22.10.7 + version: 22.10.7 jiti: - specifier: ^2.4.0 - version: 2.4.0 + specifier: ^2.4.2 + version: 2.4.2 magicast: specifier: ^0.3.5 version: 0.3.5 tsup: specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.0)(postcss@8.4.38)(typescript@5.6.3) + version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) typescript: - specifier: ^5.6.3 - version: 5.6.3 + specifier: ^5.7.3 + version: 5.7.3 vitest: - specifier: ^2.1.5 - version: 2.1.5(@types/node@22.9.0) + specifier: ^3.0.2 + version: 3.0.2(@types/node@22.10.7) packages: @@ -243,27 +123,24 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} - '@begit/core@0.0.19': - resolution: {integrity: sha512-3ypq3vJQ+PzYVi53HRkAtwdtVXTjyXjo1UzTkD75Qr9YIoacYsSy9gAdbwktfNKgTLyc1nU83W1D3SEw9kgBBA==} - '@begit/core@0.1.1': resolution: {integrity: sha512-uxooRorqP8Xv20jf/X+nhkbDIiEodl/oXwep5gNat7ccQnlu6oG/PxepcsOyvwonL9x0ZDEmP46fC5Uhu2fivA==} - '@changesets/apply-release-plan@7.0.5': - resolution: {integrity: sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==} + '@changesets/apply-release-plan@7.0.7': + resolution: {integrity: sha512-qnPOcmmmnD0MfMg9DjU1/onORFyRpDXkMMl2IJg9mECY6RnxL3wN0TCCc92b2sXt1jt8DgjAUUsZYGUGTdYIXA==} - '@changesets/assemble-release-plan@6.0.4': - resolution: {integrity: sha512-nqICnvmrwWj4w2x0fOhVj2QEGdlUuwVAwESrUo5HLzWMI1rE5SWfsr9ln+rDqWB6RQ2ZyaMZHUcU7/IRaUJS+Q==} + '@changesets/assemble-release-plan@6.0.5': + resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==} '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/cli@2.27.9': - resolution: {integrity: sha512-q42a/ZbDnxPpCb5Wkm6tMVIxgeI9C/bexntzTeCFBrQEdpisQqk8kCHllYZMDjYtEc1ZzumbMJAG8H0Z4rdvjg==} + '@changesets/cli@2.27.11': + resolution: {integrity: sha512-1QislpE+nvJgSZZo9+Lj3Lno5pKBgN46dAV8IVxKJy9wX8AOrs9nn5pYVZuDpoxWJJCALmbfOsHkyxujgetQSg==} hasBin: true - '@changesets/config@3.0.3': - resolution: {integrity: sha512-vqgQZMyIcuIpw9nqFIpTSNyc/wgm/Lu1zKN5vECy74u95Qx/Wa9g27HdgO4NkVAaq+BGA8wUc/qvbvVNs93n6A==} + '@changesets/config@3.0.5': + resolution: {integrity: sha512-QyXLSSd10GquX7hY0Mt4yQFMEeqnO5z/XLpbIr4PAkNNoQNKwDyiSrx4yd749WddusH1v3OSiA0NRAYmH/APpQ==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} @@ -271,14 +148,14 @@ packages: '@changesets/get-dependents-graph@2.1.2': resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} - '@changesets/get-release-plan@4.0.4': - resolution: {integrity: sha512-SicG/S67JmPTrdcc9Vpu0wSQt7IiuN0dc8iR5VScnnTVPfIaLvKmEGRvIaF0kcn8u5ZqLbormZNTO77bCEvyWw==} + '@changesets/get-release-plan@4.0.6': + resolution: {integrity: sha512-FHRwBkY7Eili04Y5YMOZb0ezQzKikTka4wL753vfUA5COSebt7KThqiuCN9BewE4/qFGgF/5t3AuzXx1/UAY4w==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@changesets/git@3.0.1': - resolution: {integrity: sha512-pdgHcYBLCPcLd82aRcuO0kxCDbw/yISlOtkmwmE8Odo1L6hSiZrBOsRl84eYG7DRCab/iHnOkWqExqc4wxk2LQ==} + '@changesets/git@3.0.2': + resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==} '@changesets/logger@0.1.1': resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} @@ -289,8 +166,8 @@ packages: '@changesets/pre@2.0.1': resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} - '@changesets/read@0.6.1': - resolution: {integrity: sha512-jYMbyXQk3nwP25nRzQQGa1nKLY0KfoOV7VLgwucI0bUO8t8ZLCr6LZmgjXsiKuRDc+5A6doKPr9w2d+FEJ55zQ==} + '@changesets/read@0.6.2': + resolution: {integrity: sha512-wjfQpJvryY3zD61p8jR87mJdyx2FIhEcdXhKUqkja87toMrP/3jtg/Yg29upN+N4Ckf525/uvV7a4tzBlpk6gg==} '@changesets/should-skip-package@0.1.1': resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} @@ -320,20 +197,9 @@ packages: resolution: {integrity: sha512-eV1m70Qn9pLY9xwFmZ2FlcOzwiaUywsJ7NB/ud8VB7DouvCQtIHkQ3Om7uPX0ojXGEG1LCyO96kZkvbNTxNu0Q==} engines: {node: '>=18'} - '@clack/core@0.3.3': - resolution: {integrity: sha512-5ZGyb75BUBjlll6eOa1m/IZBxwk91dooBWhPSL67sWcLS0zt9SnswRL0l26TVdBhb0wnWORRxUn//uH6n4z7+A==} - - '@clack/core@0.3.4': - resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} - '@clack/core@0.4.1': resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} - '@clack/prompts@0.7.0': - resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==} - bundledDependencies: - - is-unicode-supported - '@clack/prompts@0.9.1': resolution: {integrity: sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==} @@ -844,6 +710,13 @@ packages: cpu: [x64] os: [win32] + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@swc/core-darwin-arm64@1.5.5': resolution: {integrity: sha512-Ol5ZwZYdTOZsv2NwjcT/qVVALKzVFeh+IJ4GNarr3P99+38Dkwi81OqCI1o/WaDXQYKAQC/V+CzMbkEuJJfq9Q==} engines: {node: '>=10'} @@ -928,37 +801,37 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.9.0': - resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} + '@types/node@22.10.7': + resolution: {integrity: sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==} - '@vitest/expect@2.1.5': - resolution: {integrity: sha512-nZSBTW1XIdpZvEJyoP/Sy8fUg0b8od7ZpGDkTUcfJ7wz/VoZAFzFfLyxVxGFhUjJzhYqSbIpfMtl/+k/dpWa3Q==} + '@vitest/expect@3.0.2': + resolution: {integrity: sha512-dKSHLBcoZI+3pmP5hiZ7I5grNru2HRtEW8Z5Zp4IXog8QYcxhlox7JUPyIIFWfN53+3HW3KPLIl6nSzUGgKSuQ==} - '@vitest/mocker@2.1.5': - resolution: {integrity: sha512-XYW6l3UuBmitWqSUXTNXcVBUCRytDogBsWuNXQijc00dtnU/9OqpXWp4OJroVrad/gLIomAq9aW8yWDBtMthhQ==} + '@vitest/mocker@3.0.2': + resolution: {integrity: sha512-Hr09FoBf0jlwwSyzIF4Xw31OntpO3XtZjkccpcBf8FeVW3tpiyKlkeUzxS/txzHqpUCNIX157NaTySxedyZLvA==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 + vite: ^5.0.0 || ^6.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@2.1.5': - resolution: {integrity: sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==} + '@vitest/pretty-format@3.0.2': + resolution: {integrity: sha512-yBohcBw/T/p0/JRgYD+IYcjCmuHzjC3WLAKsVE4/LwiubzZkE8N49/xIQ/KGQwDRA8PaviF8IRO8JMWMngdVVQ==} - '@vitest/runner@2.1.5': - resolution: {integrity: sha512-pKHKy3uaUdh7X6p1pxOkgkVAFW7r2I818vHDthYLvUyjRfkKOU6P45PztOch4DZarWQne+VOaIMwA/erSSpB9g==} + '@vitest/runner@3.0.2': + resolution: {integrity: sha512-GHEsWoncrGxWuW8s405fVoDfSLk6RF2LCXp6XhevbtDjdDme1WV/eNmUueDfpY1IX3MJaCRelVCEXsT9cArfEg==} - '@vitest/snapshot@2.1.5': - resolution: {integrity: sha512-zmYw47mhfdfnYbuhkQvkkzYroXUumrwWDGlMjpdUr4jBd3HZiV2w7CQHj+z7AAS4VOtWxI4Zt4bWt4/sKcoIjg==} + '@vitest/snapshot@3.0.2': + resolution: {integrity: sha512-h9s67yD4+g+JoYG0zPCo/cLTabpDqzqNdzMawmNPzDStTiwxwkyYM1v5lWE8gmGv3SVJ2DcxA2NpQJZJv9ym3g==} - '@vitest/spy@2.1.5': - resolution: {integrity: sha512-aWZF3P0r3w6DiYTVskOYuhBc7EMc3jvn1TkBg8ttylFFRqNN2XGD7V5a4aQdk6QiUzZQ4klNBSpCLJgWNdIiNw==} + '@vitest/spy@3.0.2': + resolution: {integrity: sha512-8mI2iUn+PJFMT44e3ISA1R+K6ALVs47W6eriDTfXe6lFqlflID05MB4+rIFhmDSLBj8iBsZkzBYlgSkinxLzSQ==} - '@vitest/utils@2.1.5': - resolution: {integrity: sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg==} + '@vitest/utils@3.0.2': + resolution: {integrity: sha512-Qu01ZYZlgHvDP02JnMBRpX43nRaZtNpIzw3C1clDXmn8eakgX6iQVGzTQ/NjkIr64WD8ioqOjkaYRVvHQI5qiw==} abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} @@ -1022,6 +895,10 @@ packages: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + bundle-require@5.0.0: resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1087,13 +964,14 @@ packages: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} - cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -1103,8 +981,8 @@ packages: supports-color: optional: true - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1112,8 +990,8 @@ packages: supports-color: optional: true - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1154,8 +1032,8 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - es-module-lexer@1.5.4: - resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + es-module-lexer@1.6.0: + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} @@ -1175,9 +1053,9 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} + execa@9.5.2: + resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} + engines: {node: ^18.19.0 || >=20.5.0} expect-type@1.1.0: resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} @@ -1205,10 +1083,18 @@ packages: picomatch: optional: true + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -1233,9 +1119,9 @@ packages: get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -1264,9 +1150,9 @@ packages: human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} + human-signals@8.0.0: + resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} + engines: {node: '>=18.18.0'} iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} @@ -1279,9 +1165,6 @@ packages: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - ionstore@1.0.0: - resolution: {integrity: sha512-ikEvmeZFh9u5SkjKbFqJlmmhaQTulB3P7QoSoZ/xL8EDP5uj5QWbPeKcQ8ZJtszBLHRRnhIJJE8P1dhFx/oCMw==} - is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -1302,14 +1185,22 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} is-subdir@1.2.0: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} engines: {node: '>=4'} + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} @@ -1321,8 +1212,8 @@ packages: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - jiti@2.4.0: - resolution: {integrity: sha512-H5UpaUI+aHOqZXlYOaFP/8AzKsg+guWu+Pr3Y8i7+Y3zr1aXAvCvTAQ1RxSc6oVD8R8c7brgNtTVP91E7upH/g==} + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} hasBin: true joycon@3.1.1: @@ -1367,22 +1258,16 @@ packages: resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} - lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - magic-string@0.30.12: - resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1391,6 +1276,10 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -1399,10 +1288,6 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -1445,8 +1330,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nodemon@3.1.7: - resolution: {integrity: sha512-hLj7fuMow6f0lbB0cD14Lz2xNjwsyruH251Pk4t/yIitCFJbmY1myuLlHm/q06aST4jg6EgAh74PIBBrRqpVAQ==} + nodemon@3.1.9: + resolution: {integrity: sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg==} engines: {node: '>=10'} hasBin: true @@ -1458,18 +1343,14 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -1500,6 +1381,10 @@ packages: package-manager-detector@0.2.0: resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -1520,8 +1405,8 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@2.0.2: + resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==} pathval@2.0.0: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} @@ -1573,13 +1458,14 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.3.3: - resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} engines: {node: '>=14'} hasBin: true - pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + engines: {node: '>=18'} pstree.remy@1.1.8: resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} @@ -1640,18 +1526,10 @@ packages: engines: {node: '>=10'} hasBin: true - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -1659,9 +1537,6 @@ packages: siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -1677,8 +1552,8 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - smol-toml@1.3.0: - resolution: {integrity: sha512-tWpi2TsODPScmi48b/OQZGi2lgUmBCHy6SZrhi/FdnnHiU1GwebbCfuQuxsC3nHaLwtYeJGPrDZDIeodDOc4pA==} + smol-toml@1.3.1: + resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==} engines: {node: '>= 18'} source-map-js@1.2.0: @@ -1689,8 +1564,8 @@ packages: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} - spawndamnit@2.0.0: - resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + spawndamnit@3.0.1: + resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -1721,9 +1596,9 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} @@ -1738,10 +1613,6 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - tar@7.4.0: - resolution: {integrity: sha512-XQs0S8fuAkQWuqhDeCdMlJXDX80D7EOVLDPVFkna9yQfzS+PHKgfxcei0jf6/+QAWcjqrnC8uM3fSAnrQl+XYg==} - engines: {node: '>=18'} - tar@7.4.3: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} engines: {node: '>=18'} @@ -1757,28 +1628,25 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - tiny-colors@2.0.2: - resolution: {integrity: sha512-FYzA5Q5myp26PIZ4mx/03SreNgB1dGqcHJnj1Z8UVQ8/CBw0c6qRoPgRdk8rKpviY5diZyOmRGYMYKLYbjnmWQ==} - - tiny-updater@3.5.2: - resolution: {integrity: sha512-5EjK01h0rvgv+Eb0XaiTZJZR+ujdjCDHZ1ZCVCu+1h4+MyOYZ+za8UKuKdNOOOSKhkkC9B08o6ZhF4JnQg7ZLg==} - tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinyexec@0.3.1: resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyglobby@0.2.10: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} - tinypool@1.0.1: - resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} - tinyrainbow@1.2.0: - resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + tinyrainbow@2.0.0: + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} tinyspy@3.0.2: @@ -1830,58 +1698,62 @@ packages: typescript: optional: true - turbo-darwin-64@2.2.3: - resolution: {integrity: sha512-Rcm10CuMKQGcdIBS3R/9PMeuYnv6beYIHqfZFeKWVYEWH69sauj4INs83zKMTUiZJ3/hWGZ4jet9AOwhsssLyg==} + turbo-darwin-64@2.3.3: + resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.2.3: - resolution: {integrity: sha512-+EIMHkuLFqUdJYsA3roj66t9+9IciCajgj+DVek+QezEdOJKcRxlvDOS2BUaeN8kEzVSsNiAGnoysFWYw4K0HA==} + turbo-darwin-arm64@2.3.3: + resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.2.3: - resolution: {integrity: sha512-UBhJCYnqtaeOBQLmLo8BAisWbc9v9daL9G8upLR+XGj6vuN/Nz6qUAhverN4Pyej1g4Nt1BhROnj6GLOPYyqxQ==} + turbo-linux-64@2.3.3: + resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.2.3: - resolution: {integrity: sha512-hJYT9dN06XCQ3jBka/EWvvAETnHRs3xuO/rb5bESmDfG+d9yQjeTMlhRXKrr4eyIMt6cLDt1LBfyi+6CQ+VAwQ==} + turbo-linux-arm64@2.3.3: + resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==} cpu: [arm64] os: [linux] - turbo-windows-64@2.2.3: - resolution: {integrity: sha512-NPrjacrZypMBF31b4HE4ROg4P3nhMBPHKS5WTpMwf7wydZ8uvdEHpESVNMOtqhlp857zbnKYgP+yJF30H3N2dQ==} + turbo-windows-64@2.3.3: + resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.2.3: - resolution: {integrity: sha512-fnNrYBCqn6zgKPKLHu4sOkihBI/+0oYFr075duRxqUZ+1aLWTAGfHZLgjVeLh3zR37CVzuerGIPWAEkNhkWEIw==} + turbo-windows-arm64@2.3.3: + resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==} cpu: [arm64] os: [win32] - turbo@2.2.3: - resolution: {integrity: sha512-5lDvSqIxCYJ/BAd6rQGK/AzFRhBkbu4JHVMLmGh/hCb7U3CqSnr5Tjwfy9vc+/5wG2DJ6wttgAaA7MoCgvBKZQ==} + turbo@2.3.3: + resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==} hasBin: true - typescript@5.6.3: - resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} engines: {node: '>=14.17'} hasBin: true undefsafe@2.0.5: resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@2.1.5: - resolution: {integrity: sha512-rd0QIgx74q4S1Rd56XIiL2cYEdyWn13cunYBIuqh9mpmQr7gGS0IxXoP8R6OaZtNQQLyXSWbd4rXKYUbhFpK5w==} - engines: {node: ^18.0.0 || >=20.0.0} + vite-node@3.0.2: + resolution: {integrity: sha512-hsEQerBAHvVAbv40m3TFQe/lTEbOp7yDpyqMJqr2Tnd+W58+DEYOt+fluQgekOePcsNBmR77lpVAnIU2Xu4SvQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true vite@5.2.10: @@ -1912,15 +1784,15 @@ packages: terser: optional: true - vitest@2.1.5: - resolution: {integrity: sha512-P4ljsdpuzRTPI/kbND2sDZ4VmieerR2c9szEZpjc+98Z9ebvnXmM5+0tHEKqYZumXqlvnmfWsjeFOjXVriDG7A==} - engines: {node: ^18.0.0 || >=20.0.0} + vitest@3.0.2: + resolution: {integrity: sha512-5bzaHakQ0hmVVKLhfh/jXf6oETDBtgPo8tQCHYB+wftNgFJ+Hah67IsWc8ivx4vFL025Ow8UiuTf4W57z4izvQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.1.5 - '@vitest/ui': 2.1.5 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.0.2 + '@vitest/ui': 3.0.2 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1943,13 +1815,6 @@ packages: whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - when-exit@2.1.1: - resolution: {integrity: sha512-XLipGldz/UcleuGaoQjbYuWwD+ICRnzIjlldtwTaTWr7aZz8yQW49rXk6MHQnh+KxOiWiJpM1vIyaxprOnlW4g==} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1968,9 +1833,6 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} @@ -1978,6 +1840,10 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} + yoctocolors@2.1.1: + resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} + engines: {node: '>=18'} + snapshots: '@babel/helper-string-parser@7.24.8': {} @@ -1998,19 +1864,15 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@begit/core@0.0.19': - dependencies: - tar: 7.4.0 - '@begit/core@0.1.1': dependencies: tar: 7.4.3 - '@changesets/apply-release-plan@7.0.5': + '@changesets/apply-release-plan@7.0.7': dependencies: - '@changesets/config': 3.0.3 + '@changesets/config': 3.0.5 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.1 + '@changesets/git': 3.0.2 '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -2022,7 +1884,7 @@ snapshots: resolve-from: 5.0.0 semver: 7.6.0 - '@changesets/assemble-release-plan@6.0.4': + '@changesets/assemble-release-plan@6.0.5': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 @@ -2035,19 +1897,19 @@ snapshots: dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.9': + '@changesets/cli@2.27.11': dependencies: - '@changesets/apply-release-plan': 7.0.5 - '@changesets/assemble-release-plan': 6.0.4 + '@changesets/apply-release-plan': 7.0.7 + '@changesets/assemble-release-plan': 6.0.5 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.3 + '@changesets/config': 3.0.5 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 - '@changesets/get-release-plan': 4.0.4 - '@changesets/git': 3.0.1 + '@changesets/get-release-plan': 4.0.6 + '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.1 + '@changesets/read': 0.6.2 '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@changesets/write': 0.3.2 @@ -2063,10 +1925,10 @@ snapshots: picocolors: 1.1.1 resolve-from: 5.0.0 semver: 7.6.0 - spawndamnit: 2.0.0 + spawndamnit: 3.0.1 term-size: 2.2.1 - '@changesets/config@3.0.3': + '@changesets/config@3.0.5': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 @@ -2074,7 +1936,7 @@ snapshots: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - micromatch: 4.0.5 + micromatch: 4.0.8 '@changesets/errors@0.2.0': dependencies: @@ -2087,24 +1949,24 @@ snapshots: picocolors: 1.1.1 semver: 7.6.0 - '@changesets/get-release-plan@4.0.4': + '@changesets/get-release-plan@4.0.6': dependencies: - '@changesets/assemble-release-plan': 6.0.4 - '@changesets/config': 3.0.3 + '@changesets/assemble-release-plan': 6.0.5 + '@changesets/config': 3.0.5 '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.1 + '@changesets/read': 0.6.2 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} - '@changesets/git@3.0.1': + '@changesets/git@3.0.2': dependencies: '@changesets/errors': 0.2.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 - micromatch: 4.0.5 - spawndamnit: 2.0.0 + micromatch: 4.0.8 + spawndamnit: 3.0.1 '@changesets/logger@0.1.1': dependencies: @@ -2122,9 +1984,9 @@ snapshots: '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.1': + '@changesets/read@0.6.2': dependencies: - '@changesets/git': 3.0.1 + '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 '@changesets/parse': 0.4.0 '@changesets/types': 6.0.0 @@ -2165,27 +2027,11 @@ snapshots: '@chialab/node-resolve@0.18.0': {} - '@clack/core@0.3.3': - dependencies: - picocolors: 1.1.1 - sisteransi: 1.0.5 - - '@clack/core@0.3.4': - dependencies: - picocolors: 1.1.1 - sisteransi: 1.0.5 - '@clack/core@0.4.1': dependencies: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/prompts@0.7.0': - dependencies: - '@clack/core': 0.3.3 - picocolors: 1.1.1 - sisteransi: 1.0.5 - '@clack/prompts@0.9.1': dependencies: '@clack/core': 0.4.1 @@ -2502,6 +2348,10 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.26.0': optional: true + '@sec-ant/readable-stream@0.4.1': {} + + '@sindresorhus/merge-streams@4.0.0': {} + '@swc/core-darwin-arm64@1.5.5': optional: true @@ -2563,49 +2413,49 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.9.0': + '@types/node@22.10.7': dependencies: - undici-types: 6.19.8 + undici-types: 6.20.0 - '@vitest/expect@2.1.5': + '@vitest/expect@3.0.2': dependencies: - '@vitest/spy': 2.1.5 - '@vitest/utils': 2.1.5 + '@vitest/spy': 3.0.2 + '@vitest/utils': 3.0.2 chai: 5.1.2 - tinyrainbow: 1.2.0 + tinyrainbow: 2.0.0 - '@vitest/mocker@2.1.5(vite@5.2.10(@types/node@22.9.0))': + '@vitest/mocker@3.0.2(vite@5.2.10(@types/node@22.10.7))': dependencies: - '@vitest/spy': 2.1.5 + '@vitest/spy': 3.0.2 estree-walker: 3.0.3 - magic-string: 0.30.12 + magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.9.0) + vite: 5.2.10(@types/node@22.10.7) - '@vitest/pretty-format@2.1.5': + '@vitest/pretty-format@3.0.2': dependencies: - tinyrainbow: 1.2.0 + tinyrainbow: 2.0.0 - '@vitest/runner@2.1.5': + '@vitest/runner@3.0.2': dependencies: - '@vitest/utils': 2.1.5 - pathe: 1.1.2 + '@vitest/utils': 3.0.2 + pathe: 2.0.2 - '@vitest/snapshot@2.1.5': + '@vitest/snapshot@3.0.2': dependencies: - '@vitest/pretty-format': 2.1.5 - magic-string: 0.30.12 - pathe: 1.1.2 + '@vitest/pretty-format': 3.0.2 + magic-string: 0.30.17 + pathe: 2.0.2 - '@vitest/spy@2.1.5': + '@vitest/spy@3.0.2': dependencies: tinyspy: 3.0.2 - '@vitest/utils@2.1.5': + '@vitest/utils@3.0.2': dependencies: - '@vitest/pretty-format': 2.1.5 + '@vitest/pretty-format': 3.0.2 loupe: 3.1.2 - tinyrainbow: 1.2.0 + tinyrainbow: 2.0.0 abbrev@1.1.1: {} @@ -2657,6 +2507,10 @@ snapshots: dependencies: fill-range: 7.0.1 + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + bundle-require@5.0.0(esbuild@0.24.0): dependencies: esbuild: 0.24.0 @@ -2726,13 +2580,13 @@ snapshots: consola@3.2.3: {} - cross-spawn@5.1.0: + cross-spawn@7.0.3: dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 - cross-spawn@7.0.3: + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -2742,13 +2596,13 @@ snapshots: dependencies: ms: 2.1.2 - debug@4.3.5(supports-color@5.5.0): + debug@4.3.7(supports-color@5.5.0): dependencies: - ms: 2.1.2 + ms: 2.1.3 optionalDependencies: supports-color: 5.5.0 - debug@4.3.7: + debug@4.4.0: dependencies: ms: 2.1.3 @@ -2775,7 +2629,7 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - es-module-lexer@1.5.4: {} + es-module-lexer@1.6.0: {} esbuild@0.20.2: optionalDependencies: @@ -2836,17 +2690,20 @@ snapshots: dependencies: '@types/estree': 1.0.5 - execa@8.0.1: - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 + execa@9.5.2: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.0 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.2.0 signal-exit: 4.1.0 - strip-final-newline: 3.0.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.1 expect-type@1.1.0: {} @@ -2874,10 +2731,18 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -2905,7 +2770,10 @@ snapshots: get-func-name@2.0.2: {} - get-stream@8.0.1: {} + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 glob-parent@5.1.2: dependencies: @@ -2936,7 +2804,7 @@ snapshots: human-id@1.0.2: {} - human-signals@5.0.0: {} + human-signals@8.0.0: {} iconv-lite@0.4.24: dependencies: @@ -2946,8 +2814,6 @@ snapshots: ignore@5.2.4: {} - ionstore@1.0.0: {} - is-binary-path@2.1.0: dependencies: binary-extensions: 2.2.0 @@ -2962,12 +2828,16 @@ snapshots: is-number@7.0.0: {} - is-stream@3.0.0: {} + is-plain-obj@4.1.0: {} + + is-stream@4.0.1: {} is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 + is-unicode-supported@2.1.0: {} + is-windows@1.0.2: {} isexe@2.0.0: {} @@ -2978,7 +2848,7 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jiti@2.4.0: {} + jiti@2.4.2: {} joycon@3.1.1: {} @@ -3013,16 +2883,11 @@ snapshots: lru-cache@10.1.0: {} - lru-cache@4.1.5: - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 - lru-cache@6.0.0: dependencies: yallist: 4.0.0 - magic-string@0.30.12: + magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -3032,8 +2897,6 @@ snapshots: '@babel/types': 7.25.6 source-map-js: 1.2.0 - merge-stream@2.0.0: {} - merge2@1.4.1: {} micromatch@4.0.5: @@ -3041,14 +2904,17 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + mime-db@1.52.0: {} mime-types@2.1.35: dependencies: mime-db: 1.52.0 - mimic-fn@4.0.0: {} - minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -3082,10 +2948,10 @@ snapshots: nanoid@3.3.7: {} - nodemon@3.1.7: + nodemon@3.1.9: dependencies: chokidar: 3.6.0 - debug: 4.3.5(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) ignore-by-default: 1.0.1 minimatch: 3.1.2 pstree.remy: 1.1.8 @@ -3101,16 +2967,13 @@ snapshots: normalize-path@3.0.0: {} - npm-run-path@5.3.0: + npm-run-path@6.0.0: dependencies: path-key: 4.0.0 + unicorn-magic: 0.3.0 object-assign@4.1.1: {} - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - os-tmpdir@1.0.2: {} outdent@0.5.0: {} @@ -3133,6 +2996,8 @@ snapshots: package-manager-detector@0.2.0: {} + parse-ms@4.0.0: {} + path-exists@4.0.0: {} path-key@3.1.1: {} @@ -3146,7 +3011,7 @@ snapshots: path-type@4.0.0: {} - pathe@1.1.2: {} + pathe@2.0.2: {} pathval@2.0.0: {} @@ -3160,11 +3025,11 @@ snapshots: pirates@4.0.6: {} - postcss-load-config@6.0.1(jiti@2.4.0)(postcss@8.4.38): + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.38): dependencies: lilconfig: 3.1.2 optionalDependencies: - jiti: 2.4.0 + jiti: 2.4.2 postcss: 8.4.38 postcss@8.4.38: @@ -3175,9 +3040,11 @@ snapshots: prettier@2.8.8: {} - prettier@3.3.3: {} + prettier@3.4.2: {} - pseudomap@1.0.2: {} + pretty-ms@9.2.0: + dependencies: + parse-ms: 4.0.0 pstree.remy@1.1.8: {} @@ -3264,22 +3131,14 @@ snapshots: dependencies: lru-cache: 6.0.0 - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} - shebang-regex@3.0.0: {} siginfo@2.0.0: {} - signal-exit@3.0.7: {} - signal-exit@4.1.0: {} simple-update-notifier@2.0.0: @@ -3290,7 +3149,7 @@ snapshots: slash@3.0.0: {} - smol-toml@1.3.0: {} + smol-toml@1.3.1: {} source-map-js@1.2.0: {} @@ -3298,10 +3157,10 @@ snapshots: dependencies: whatwg-url: 7.1.0 - spawndamnit@2.0.0: + spawndamnit@3.0.1: dependencies: - cross-spawn: 5.1.0 - signal-exit: 3.0.7 + cross-spawn: 7.0.6 + signal-exit: 4.1.0 sprintf-js@1.0.3: {} @@ -3331,7 +3190,7 @@ snapshots: strip-bom@3.0.0: {} - strip-final-newline@3.0.0: {} + strip-final-newline@4.0.0: {} sucrase@3.35.0: dependencies: @@ -3351,15 +3210,6 @@ snapshots: dependencies: has-flag: 4.0.0 - tar@7.4.0: - dependencies: - '@isaacs/fs-minipass': 4.0.0 - chownr: 3.0.0 - minipass: 7.1.2 - minizlib: 3.0.1 - mkdirp: 3.0.1 - yallist: 5.0.0 - tar@7.4.3: dependencies: '@isaacs/fs-minipass': 4.0.0 @@ -3379,26 +3229,20 @@ snapshots: dependencies: any-promise: 1.3.0 - tiny-colors@2.0.2: {} - - tiny-updater@3.5.2: - dependencies: - ionstore: 1.0.0 - tiny-colors: 2.0.2 - when-exit: 2.1.1 - tinybench@2.9.0: {} tinyexec@0.3.1: {} + tinyexec@0.3.2: {} + tinyglobby@0.2.10: dependencies: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 - tinypool@1.0.1: {} + tinypool@1.0.2: {} - tinyrainbow@1.2.0: {} + tinyrainbow@2.0.0: {} tinyspy@3.0.2: {} @@ -3424,17 +3268,17 @@ snapshots: ts-interface-checker@0.1.13: {} - tsup@8.3.5(@swc/core@1.5.5)(jiti@2.4.0)(postcss@8.4.38)(typescript@5.6.3): + tsup@8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3): dependencies: bundle-require: 5.0.0(esbuild@0.24.0) cac: 6.7.14 chokidar: 4.0.1 consola: 3.2.3 - debug: 4.3.7 + debug: 4.3.7(supports-color@5.5.0) esbuild: 0.24.0 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.0)(postcss@8.4.38) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.38) resolve-from: 5.0.0 rollup: 4.26.0 source-map: 0.8.0-beta.0 @@ -3445,55 +3289,57 @@ snapshots: optionalDependencies: '@swc/core': 1.5.5 postcss: 8.4.38 - typescript: 5.6.3 + typescript: 5.7.3 transitivePeerDependencies: - jiti - supports-color - tsx - yaml - turbo-darwin-64@2.2.3: + turbo-darwin-64@2.3.3: optional: true - turbo-darwin-arm64@2.2.3: + turbo-darwin-arm64@2.3.3: optional: true - turbo-linux-64@2.2.3: + turbo-linux-64@2.3.3: optional: true - turbo-linux-arm64@2.2.3: + turbo-linux-arm64@2.3.3: optional: true - turbo-windows-64@2.2.3: + turbo-windows-64@2.3.3: optional: true - turbo-windows-arm64@2.2.3: + turbo-windows-arm64@2.3.3: optional: true - turbo@2.2.3: + turbo@2.3.3: optionalDependencies: - turbo-darwin-64: 2.2.3 - turbo-darwin-arm64: 2.2.3 - turbo-linux-64: 2.2.3 - turbo-linux-arm64: 2.2.3 - turbo-windows-64: 2.2.3 - turbo-windows-arm64: 2.2.3 + turbo-darwin-64: 2.3.3 + turbo-darwin-arm64: 2.3.3 + turbo-linux-64: 2.3.3 + turbo-linux-arm64: 2.3.3 + turbo-windows-64: 2.3.3 + turbo-windows-arm64: 2.3.3 - typescript@5.6.3: {} + typescript@5.7.3: {} undefsafe@2.0.5: {} - undici-types@6.19.8: {} + undici-types@6.20.0: {} + + unicorn-magic@0.3.0: {} universalify@0.1.2: {} - vite-node@2.1.5(@types/node@22.9.0): + vite-node@3.0.2(@types/node@22.10.7): dependencies: cac: 6.7.14 - debug: 4.3.7 - es-module-lexer: 1.5.4 - pathe: 1.1.2 - vite: 5.2.10(@types/node@22.9.0) + debug: 4.4.0 + es-module-lexer: 1.6.0 + pathe: 2.0.2 + vite: 5.2.10(@types/node@22.10.7) transitivePeerDependencies: - '@types/node' - less @@ -3504,39 +3350,39 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.9.0): + vite@5.2.10(@types/node@22.10.7): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.19.0 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.10.7 fsevents: 2.3.3 - vitest@2.1.5(@types/node@22.9.0): + vitest@3.0.2(@types/node@22.10.7): dependencies: - '@vitest/expect': 2.1.5 - '@vitest/mocker': 2.1.5(vite@5.2.10(@types/node@22.9.0)) - '@vitest/pretty-format': 2.1.5 - '@vitest/runner': 2.1.5 - '@vitest/snapshot': 2.1.5 - '@vitest/spy': 2.1.5 - '@vitest/utils': 2.1.5 + '@vitest/expect': 3.0.2 + '@vitest/mocker': 3.0.2(vite@5.2.10(@types/node@22.10.7)) + '@vitest/pretty-format': 3.0.2 + '@vitest/runner': 3.0.2 + '@vitest/snapshot': 3.0.2 + '@vitest/spy': 3.0.2 + '@vitest/utils': 3.0.2 chai: 5.1.2 - debug: 4.3.7 + debug: 4.4.0 expect-type: 1.1.0 - magic-string: 0.30.12 - pathe: 1.1.2 + magic-string: 0.30.17 + pathe: 2.0.2 std-env: 3.8.0 tinybench: 2.9.0 - tinyexec: 0.3.1 - tinypool: 1.0.1 - tinyrainbow: 1.2.0 - vite: 5.2.10(@types/node@22.9.0) - vite-node: 2.1.5(@types/node@22.9.0) + tinyexec: 0.3.2 + tinypool: 1.0.2 + tinyrainbow: 2.0.0 + vite: 5.2.10(@types/node@22.10.7) + vite-node: 3.0.2(@types/node@22.10.7) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.10.7 transitivePeerDependencies: - less - lightningcss @@ -3555,12 +3401,6 @@ snapshots: tr46: 1.0.1 webidl-conversions: 4.0.2 - when-exit@2.1.1: {} - - which@1.3.1: - dependencies: - isexe: 2.0.0 - which@2.0.2: dependencies: isexe: 2.0.0 @@ -3582,8 +3422,8 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - yallist@2.1.2: {} - yallist@4.0.0: {} yallist@5.0.0: {} + + yoctocolors@2.1.1: {} From 27f9e99b13904c9425352f953ae1a8e6072af10a Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 01:03:22 +0000 Subject: [PATCH 011/160] feat: export command in separate file to binary This allows for `create-solid` to be imported by another package and used there --- packages/create-solid/package.json | 4 ++-- packages/create-solid/src/bin.ts | 11 +++++++++++ packages/create-solid/src/index.ts | 15 +++++---------- packages/create-solid/tsup.config.ts | 2 +- packages/utils/src/open/index.ts | 3 +-- 5 files changed, 20 insertions(+), 15 deletions(-) create mode 100644 packages/create-solid/src/bin.ts diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 3d07c1d..98cd91f 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -19,13 +19,13 @@ ], "main": "dist/index.mjs", "bin": { - "create-solid": "./dist/index.mjs" + "create-solid": "./dist/bin.mjs" }, "files": [ "dist" ], "scripts": { - "start": "jiti ./src/index.ts", + "start": "jiti ./src/bin.ts", "build": "tsc && tsup" }, "devDependencies": { diff --git a/packages/create-solid/src/bin.ts b/packages/create-solid/src/bin.ts new file mode 100644 index 0000000..acd39b8 --- /dev/null +++ b/packages/create-solid/src/bin.ts @@ -0,0 +1,11 @@ +#! /usr/bin/env node + +import { runMain } from "citty"; +import { main } from "."; +import { intro } from "@clack/prompts"; +import color from "picocolors"; +import packageJson from "../package.json" with { type: "json" }; + +intro(`\n${color.bgCyan(color.black(` Create-Solid v${packageJson.version}`))}`); + +runMain(main(packageJson.version)); \ No newline at end of file diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index bdcf9b5..74239c5 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -1,20 +1,16 @@ #! /usr/bin/env node -import color from "picocolors"; -import { intro } from "@clack/prompts"; -import packageJson from "../package.json" with { type: "json" }; -import { defineCommand, runMain } from "citty"; -import { createVanilla, createVanillaJS } from "./create-vanilla"; + +import { defineCommand } from "citty"; +import { createVanilla } from "./create-vanilla"; import * as p from "@clack/prompts"; import { cancelable, spinnerify } from "./utils/ui"; import { createStart } from "./create-start"; -import { create } from "./create"; import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/constants"; -intro(`\n${color.bgCyan(color.black(` Create-Solid v${packageJson.version}`))}`); -const main = defineCommand({ +export const main = (version: string) => defineCommand({ meta: { name: "create-solid", - version: packageJson.version, + version: version, }, args: { projectNamePositional: { @@ -74,4 +70,3 @@ const main = defineCommand({ } } }) -runMain(main); diff --git a/packages/create-solid/tsup.config.ts b/packages/create-solid/tsup.config.ts index 831d65f..abd8918 100644 --- a/packages/create-solid/tsup.config.ts +++ b/packages/create-solid/tsup.config.ts @@ -1,7 +1,7 @@ import { defineConfig } from "tsup"; export default defineConfig({ - entry: ["src/index.ts"], + entry: ["src/index.ts", "src/bin.ts"], target: "esnext", format: "esm", splitting: true, diff --git a/packages/utils/src/open/index.ts b/packages/utils/src/open/index.ts index 68ce0da..b946650 100644 --- a/packages/utils/src/open/index.ts +++ b/packages/utils/src/open/index.ts @@ -1,5 +1,4 @@ // Taken verbatim from https://github.com/withastro/astro/blob/main/packages/astro/src/cli/docs/open.ts -import type { ExecaChildProcess } from "execa"; import { execa } from "execa"; /** @@ -27,7 +26,7 @@ const getPlatformSpecificCommand = (): [string] | [string, string[]] => { } }; -export async function openInBrowser(url: string): Promise { +export async function openInBrowser(url: string) { const [command, args = []] = getPlatformSpecificCommand(); return execa(command, [...args, encodeURI(url)]); } From ece3bf679fb98fa0bb41df791334ffa97fa8dbef Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 01:09:56 +0000 Subject: [PATCH 012/160] refactor: rename `main` to `createSolid` --- packages/create-solid/src/bin.ts | 4 ++-- packages/create-solid/src/index.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/create-solid/src/bin.ts b/packages/create-solid/src/bin.ts index acd39b8..673067d 100644 --- a/packages/create-solid/src/bin.ts +++ b/packages/create-solid/src/bin.ts @@ -1,11 +1,11 @@ #! /usr/bin/env node import { runMain } from "citty"; -import { main } from "."; +import { createSolid } from "."; import { intro } from "@clack/prompts"; import color from "picocolors"; import packageJson from "../package.json" with { type: "json" }; intro(`\n${color.bgCyan(color.black(` Create-Solid v${packageJson.version}`))}`); -runMain(main(packageJson.version)); \ No newline at end of file +runMain(createSolid(packageJson.version)); \ No newline at end of file diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index 74239c5..7a7d284 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -7,7 +7,7 @@ import { cancelable, spinnerify } from "./utils/ui"; import { createStart } from "./create-start"; import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/constants"; -export const main = (version: string) => defineCommand({ +export const createSolid = (version: string) => defineCommand({ meta: { name: "create-solid", version: version, From 2a9a9da799b070b6389c25ad4a9d75bf5bd0a22d Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 01:14:37 +0000 Subject: [PATCH 013/160] feat: add description to `create-solid` --- packages/create-solid/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index 7a7d284..143c7ff 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -10,6 +10,7 @@ import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/consta export const createSolid = (version: string) => defineCommand({ meta: { name: "create-solid", + description: "A CLI for scaffolding new Solid projects", version: version, }, args: { From 3ce2ac0d0e270ed89717b1fe8d879b0ea730d865 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 12:22:31 +0000 Subject: [PATCH 014/160] feat: add all templates from start and vanilla format --- packages/create-solid/package.json | 3 +- packages/create-solid/src/bin.ts | 2 +- packages/create-solid/src/create-start.ts | 44 +++--- packages/create-solid/src/create-vanilla.ts | 37 +++--- packages/create-solid/src/create.ts | 13 +- packages/create-solid/src/index.ts | 125 +++++++++--------- packages/create-solid/src/utils/constants.ts | 42 +++++- .../create-solid/src/utils/file-system.ts | 14 +- .../create-solid/src/utils/ts-conversion.ts | 64 ++++----- packages/create-solid/src/utils/ui.ts | 41 +++--- packages/utils/src/updates/index.ts | 3 +- turbo.json | 34 ++--- 12 files changed, 221 insertions(+), 201 deletions(-) diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 98cd91f..9f9c724 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -43,6 +43,5 @@ "publishConfig": { "access": "public" }, - "dependencies": { - } + "dependencies": {} } diff --git a/packages/create-solid/src/bin.ts b/packages/create-solid/src/bin.ts index 673067d..f9a3f43 100644 --- a/packages/create-solid/src/bin.ts +++ b/packages/create-solid/src/bin.ts @@ -8,4 +8,4 @@ import packageJson from "../package.json" with { type: "json" }; intro(`\n${color.bgCyan(color.black(` Create-Solid v${packageJson.version}`))}`); -runMain(createSolid(packageJson.version)); \ No newline at end of file +runMain(createSolid(packageJson.version)); diff --git a/packages/create-solid/src/create-start.ts b/packages/create-solid/src/create-start.ts index 68041ab..7088cc7 100644 --- a/packages/create-solid/src/create-start.ts +++ b/packages/create-solid/src/create-start.ts @@ -1,33 +1,33 @@ import { downloadRepo } from "@begit/core"; import { join } from "path"; import { writeFileSync } from "fs"; -import { handleTSConversion } from "./utils/ts-conversion" +import { handleTSConversion } from "./utils/ts-conversion"; import { GIT_IGNORE, StartTemplate } from "./utils/constants"; export type CreateStartArgs = { - template: StartTemplate, - destination: string, -} + template: StartTemplate; + destination: string; +}; export const createStartTS = ({ template, destination }: CreateStartArgs) => { - return downloadRepo({ - repo: { owner: "solidjs", name: "solid-start", subdir: `examples/${template}` }, - dest: destination, - }); -} + return downloadRepo({ + repo: { owner: "solidjs", name: "solid-start", subdir: `examples/${template}` }, + dest: destination, + }); +}; export const createStartJS = async ({ template, destination }: CreateStartArgs) => { - // Create typescript project in `/.project` - // then transpile this to javascript and clean up - const tempDir = join(destination, ".project"); - await createStartTS({ template, destination: tempDir }) - await handleTSConversion(tempDir, destination); - // Add .gitignore - writeFileSync(join(destination, ".gitignore"), GIT_IGNORE); -} + // Create typescript project in `/.project` + // then transpile this to javascript and clean up + const tempDir = join(destination, ".project"); + await createStartTS({ template, destination: tempDir }); + await handleTSConversion(tempDir, destination); + // Add .gitignore + writeFileSync(join(destination, ".gitignore"), GIT_IGNORE); +}; export const createStart = (args: CreateStartArgs, js?: boolean) => { - if (js) { - return createStartJS(args); - } - return createStartTS(args); -} \ No newline at end of file + if (js) { + return createStartJS(args); + } + return createStartTS(args); +}; diff --git a/packages/create-solid/src/create-vanilla.ts b/packages/create-solid/src/create-vanilla.ts index 904b010..dc2dc2d 100644 --- a/packages/create-solid/src/create-vanilla.ts +++ b/packages/create-solid/src/create-vanilla.ts @@ -4,27 +4,26 @@ import { writeFileSync } from "node:fs"; import { handleTSConversion } from "./utils/ts-conversion"; import { GIT_IGNORE, VanillaTemplate } from "./utils/constants"; - export type CreateVanillaArgs = { - template: VanillaTemplate, - destination: string, -} + template: VanillaTemplate; + destination: string; +}; export const createVanilla = (args: CreateVanillaArgs, js?: boolean) => { - if (js) { - return createVanillaJS(args); - } - return createVanillaTS(args); -} + if (js) { + return createVanillaJS(args); + } + return createVanillaTS(args); +}; export const createVanillaTS = async ({ template, destination }: CreateVanillaArgs) => { - return await downloadRepo({ repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }); -} + return await downloadRepo({ repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }); +}; export const createVanillaJS = async ({ template, destination }: CreateVanillaArgs) => { - // Create typescript project in `/.project` - // then transpile this to javascript and clean up - const tempDir = join(destination, ".project"); - await createVanillaTS({ template, destination: tempDir }) - await handleTSConversion(tempDir, destination); - // Add .gitignore - writeFileSync(join(destination, ".gitignore"), GIT_IGNORE); -} \ No newline at end of file + // Create typescript project in `/.project` + // then transpile this to javascript and clean up + const tempDir = join(destination, ".project"); + await createVanillaTS({ template, destination: tempDir }); + await handleTSConversion(tempDir, destination); + // Add .gitignore + writeFileSync(join(destination, ".gitignore"), GIT_IGNORE); +}; diff --git a/packages/create-solid/src/create.ts b/packages/create-solid/src/create.ts index 49bbd4b..6629041 100644 --- a/packages/create-solid/src/create.ts +++ b/packages/create-solid/src/create.ts @@ -4,10 +4,9 @@ import { createVanilla, CreateVanillaArgs } from "./create-vanilla"; export async function create(args: CreateVanillaArgs, js: boolean, isStart: false): Promise; export async function create(args: CreateStartArgs, js: boolean, isStart: true): Promise; export async function create(args: CreateVanillaArgs | CreateStartArgs, js: boolean, isStart: boolean) { - if (isStart) { - return createStart(args, js); - } - else { - return createVanilla(args, js); - } -} \ No newline at end of file + if (isStart) { + return createStart(args, js); + } else { + return createVanilla(args, js); + } +} diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index 143c7ff..dd0e5aa 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -7,67 +7,70 @@ import { cancelable, spinnerify } from "./utils/ui"; import { createStart } from "./create-start"; import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/constants"; -export const createSolid = (version: string) => defineCommand({ - meta: { - name: "create-solid", - description: "A CLI for scaffolding new Solid projects", - version: version, - }, - args: { - projectNamePositional: { - type: "positional", - required: false, - description: "Project name" +export const createSolid = (version: string) => + defineCommand({ + meta: { + name: "create-solid", + description: "A CLI for scaffolding new Solid projects", + version: version, }, - templatePositional: { - type: "positional", - required: false, - description: "Template name", + args: { + "projectNamePositional": { + type: "positional", + required: false, + description: "Project name", + }, + "templatePositional": { + type: "positional", + required: false, + description: "Template name", + }, + "project-name": { + type: "string", + required: false, + alias: "p", + description: "Project name", + }, + "solidstart": { + type: "boolean", + required: false, + alias: "s", + description: "Create a SolidStart project", + }, }, - "project-name": { - type: "string", - required: false, - alias: "p", - description: "Project name", - }, - solidstart: { - type: "boolean", - required: false, - alias: "s", - description: "Create a SolidStart project", - }, - }, - async run({ args: { projectNamePositional, templatePositional, "project-name": projectNameOptional, solidstart } }) { - let projectName: string = projectNamePositional ?? projectNameOptional; - let template: string = templatePositional; - let isStart: boolean = solidstart; - let isJS = false; - projectName ??= await cancelable( - p.text({ message: "Project Name", placeholder: "solid-project", defaultValue: "solid-project" }), - ); - isStart ??= await cancelable(p.confirm({ message: "Is this a SolidStart project?" })); - const template_opts = await getTemplatesList(isStart); - template ??= (await cancelable( - p.select({ - message: "Which template would you like to use?", - initialValue: "ts", - options: template_opts.map((s: string) => ({ label: s, value: s })), - }), - )); - isJS = !(await cancelable(p.confirm({ message: "Use Typescript?" }))) + async run({ + args: { projectNamePositional, templatePositional, "project-name": projectNameOptional, solidstart }, + }) { + let projectName: string = projectNamePositional ?? projectNameOptional; + let template: string = templatePositional; + let isStart: boolean = solidstart; + projectName ??= await cancelable( + p.text({ message: "Project Name", placeholder: "solid-project", defaultValue: "solid-project" }), + ); + isStart ??= await cancelable(p.confirm({ message: "Is this a SolidStart project?" })); + const template_opts = await getTemplatesList(isStart); + template ??= await cancelable( + p.select({ + message: "Which template would you like to use?", + initialValue: "ts", + options: template_opts.map((s: string) => ({ label: s, value: s })), + }), + ); + // Project must be javascript if the template name begins with `js-` + const isJS = template.startsWith("js") ? true : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); - if (isStart) { - await spinnerify({ - startText: "Creating project", - finishText: "Project created 🎉", - fn: () => createStart({ template: template as StartTemplate, destination: projectName }, isJS), - }) - } else { - await spinnerify({ - startText: "Creating project", - finishText: "Project created 🎉", - fn: () => createVanilla({ template: template as VanillaTemplate, destination: projectName }, isJS), - }) - } - } -}) + if (isStart) { + await spinnerify({ + startText: "Creating project", + finishText: "Project created 🎉", + fn: () => createStart({ template: template as StartTemplate, destination: projectName }, isJS), + }); + } else { + await spinnerify({ + startText: "Creating project", + finishText: "Project created 🎉", + fn: () => createVanilla({ template: template as VanillaTemplate, destination: projectName }, isJS), + }); + } + }, + }); diff --git a/packages/create-solid/src/utils/constants.ts b/packages/create-solid/src/utils/constants.ts index 403e595..dbf98de 100644 --- a/packages/create-solid/src/utils/constants.ts +++ b/packages/create-solid/src/utils/constants.ts @@ -37,14 +37,46 @@ export const JS_CONFIG = { "~/*": ["./src/*"], }, }, -} +}; // Supported templates -const VANILLA_TEMPLATES = ["ts"] as const; +const VANILLA_TEMPLATES = [ + "ts", + "ts-vitest", + "ts-uvu", + "ts-unocss", + "ts-tailwindcss", + "ts-sass", + "ts-router", + "ts-router-file-based", + "ts-minimal", + "ts-jest", + "ts-bootstrap", + "js", + "js-vitest", + "js-tailwindcss", +] as const; export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; -const START_TEMPLATES = ["basic"] as const; +const START_TEMPLATES = [ + "basic", + "bare", + "hackernews", + "notes", + "todomvc", + "with-auth", + "with-authjs", + "with-drizzle", + "with-mdx", + "with-prisma", + "with-solid-styled", + "with-tailwindcss", + "with-trpc", + "with-unocss", + "with-vitest", + "experiments", +] as const; export type StartTemplate = (typeof VANILLA_TEMPLATES)[number]; export const getTemplatesList = async (isStart: boolean) => { @@ -52,6 +84,6 @@ export const getTemplatesList = async (isStart: boolean) => { return START_TEMPLATES; } return VANILLA_TEMPLATES; -} +}; -// \ No newline at end of file +// diff --git a/packages/create-solid/src/utils/file-system.ts b/packages/create-solid/src/utils/file-system.ts index 0dd4c68..33aa860 100644 --- a/packages/create-solid/src/utils/file-system.ts +++ b/packages/create-solid/src/utils/file-system.ts @@ -4,15 +4,15 @@ import { join, resolve } from "node:path"; import { transform } from "sucrase"; export const recurseFiles = (startPath: string, cb: (file: Dirent, startPath: string) => void) => { - startPath = resolve(startPath); + startPath = resolve(startPath); - const files = readdirSync(startPath, { withFileTypes: true }); + const files = readdirSync(startPath, { withFileTypes: true }); - for (const file of files) { - cb(file, startPath); - } + for (const file of files) { + cb(file, startPath); + } }; export const readFileToString = async (path: string) => { - return (await readFile(path)).toString(); -}; \ No newline at end of file + return (await readFile(path)).toString(); +}; diff --git a/packages/create-solid/src/utils/ts-conversion.ts b/packages/create-solid/src/utils/ts-conversion.ts index 6683534..001923a 100644 --- a/packages/create-solid/src/utils/ts-conversion.ts +++ b/packages/create-solid/src/utils/ts-conversion.ts @@ -1,46 +1,38 @@ import { copyFileSync, Dirent, mkdirSync, writeFileSync } from "node:fs"; -import { readFileToString, recurseFiles } from "./file-system" +import { readFileToString, recurseFiles } from "./file-system"; import { join, resolve } from "node:path"; import { transform } from "sucrase"; import { rm } from "node:fs/promises"; -import { JS_CONFIG } from "./constants" +import { JS_CONFIG } from "./constants"; const convertToJS = async (file: Dirent, startPath: string) => { - const src = join(startPath, file.name); - const dest = resolve(startPath.replace(".solid-start", ""), file.name); - if (file.isDirectory()) { - mkdirSync(dest, { recursive: true }); - recurseFiles(resolve(startPath, file.name), convertToJS); - } else if (file.isFile()) { - if (src.endsWith(".ts") || src.endsWith(".tsx")) { - let { code } = transform(await readFileToString(src), { - transforms: ["typescript", "jsx"], - jsxRuntime: "preserve", - }); + const src = join(startPath, file.name); + const dest = resolve(startPath.replace(".solid-start", ""), file.name); + if (file.isDirectory()) { + mkdirSync(dest, { recursive: true }); + recurseFiles(resolve(startPath, file.name), convertToJS); + } else if (file.isFile()) { + if (src.endsWith(".ts") || src.endsWith(".tsx")) { + let { code } = transform(await readFileToString(src), { + transforms: ["typescript", "jsx"], + jsxRuntime: "preserve", + }); - writeFileSync(dest.replace(".ts", ".js"), code, { flag: "wx" }); - } else { - copyFileSync(src, dest); - } - } + writeFileSync(dest.replace(".ts", ".js"), code, { flag: "wx" }); + } else { + copyFileSync(src, dest); + } + } }; export const handleTSConversion = async (tempDir: string, projectName: string) => { - await rm(resolve(tempDir, "tsconfig.json")); - writeFileSync( - resolve(projectName, "jsconfig.json"), - JSON.stringify( - JS_CONFIG, - null, - 2, - ), - { flag: "wx" }, - ); + await rm(resolve(tempDir, "tsconfig.json")); + writeFileSync(resolve(projectName, "jsconfig.json"), JSON.stringify(JS_CONFIG, null, 2), { flag: "wx" }); - // Convert all ts files in temp directory into js - recurseFiles(tempDir, convertToJS); + // Convert all ts files in temp directory into js + recurseFiles(tempDir, convertToJS); - // Remove temp directory - await rm(join(process.cwd(), tempDir), { - recursive: true, - force: true, - }); -}; \ No newline at end of file + // Remove temp directory + await rm(join(process.cwd(), tempDir), { + recursive: true, + force: true, + }); +}; diff --git a/packages/create-solid/src/utils/ui.ts b/packages/create-solid/src/utils/ui.ts index fcaa5eb..baf8b4b 100644 --- a/packages/create-solid/src/utils/ui.ts +++ b/packages/create-solid/src/utils/ui.ts @@ -1,30 +1,33 @@ import { log, spinner } from "@clack/prompts"; type SpinnerItem = { - startText: string; - finishText: string; - fn: () => Promise; + startText: string; + finishText: string; + fn: () => Promise; }; export async function spinnerify(spinners: SpinnerItem): Promise; export async function spinnerify(spinners: SpinnerItem[]): Promise; export async function spinnerify(spinners: SpinnerItem[] | SpinnerItem) { - if (!Array.isArray(spinners)) spinners = [spinners]; - let results: any[] = []; - const s = spinner(); - for (const { startText, finishText, fn } of spinners) { - s.start(startText); - results.push(await fn()); - s.stop(finishText); - } - return results.length === 1 ? results[0] : results; + if (!Array.isArray(spinners)) spinners = [spinners]; + let results: any[] = []; + const s = spinner(); + for (const { startText, finishText, fn } of spinners) { + s.start(startText); + results.push(await fn()); + s.stop(finishText); + } + return results.length === 1 ? results[0] : results; } -export const cancelable = async (prompt: Promise, cancelMessage: string = "Canceled"): Promise => { - const value = await prompt; +export const cancelable = async ( + prompt: Promise, + cancelMessage: string = "Canceled", +): Promise => { + const value = await prompt; - if (typeof value === "symbol") { - log.warn(cancelMessage); - process.exit(0); - } + if (typeof value === "symbol") { + log.warn(cancelMessage); + process.exit(0); + } - return value; + return value; }; diff --git a/packages/utils/src/updates/index.ts b/packages/utils/src/updates/index.ts index e996680..65e3854 100644 --- a/packages/utils/src/updates/index.ts +++ b/packages/utils/src/updates/index.ts @@ -66,8 +66,7 @@ export const flushPackageUpdates = async () => { for (const update of packageUpdates) { if (update.dev) { await $`${pM.name} ${instlCmd} -D ${update.name}`; - } - else { + } else { await $`${pM.name} ${instlCmd} ${update.name}`; } } diff --git a/turbo.json b/turbo.json index dc2279d..d13c31c 100644 --- a/turbo.json +++ b/turbo.json @@ -1,22 +1,16 @@ { - "$schema": "https://turbo.build/schema.json", - "tasks": { - "build": { - "dependsOn": [ - "^build" - ], - "outputs": [ - "dist/**" - ] - }, - "test": { - "dependsOn": [ - "^test" - ] - }, - "dev": { - "cache": false, - "persistent": true - } - } + "$schema": "https://turbo.build/schema.json", + "tasks": { + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**"] + }, + "test": { + "dependsOn": ["^test"] + }, + "dev": { + "cache": false, + "persistent": true + } + } } From a0780bf2fbc5cd9daae1a005b5486eb4dd936d47 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 12:25:01 +0000 Subject: [PATCH 015/160] refactor: remove unused imports --- packages/create-solid/src/utils/file-system.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/create-solid/src/utils/file-system.ts b/packages/create-solid/src/utils/file-system.ts index 33aa860..c17c0f9 100644 --- a/packages/create-solid/src/utils/file-system.ts +++ b/packages/create-solid/src/utils/file-system.ts @@ -1,7 +1,6 @@ -import { copyFileSync, Dirent, mkdirSync, readdirSync, writeFileSync } from "node:fs"; -import { readFile, rm } from "node:fs/promises"; -import { join, resolve } from "node:path"; -import { transform } from "sucrase"; +import { Dirent, readdirSync } from "node:fs"; +import { readFile } from "node:fs/promises"; +import { resolve } from "node:path"; export const recurseFiles = (startPath: string, cb: (file: Dirent, startPath: string) => void) => { startPath = resolve(startPath); From cb5287b7fd7ccf1584830633e2dada639d172550 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 12:28:41 +0000 Subject: [PATCH 016/160] fix: don't transpile if the project template is already js --- packages/create-solid/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index dd0e5aa..2f286c1 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -56,8 +56,8 @@ export const createSolid = (version: string) => options: template_opts.map((s: string) => ({ label: s, value: s })), }), ); - // Project must be javascript if the template name begins with `js-` - const isJS = template.startsWith("js") ? true : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); + // Don't transpile project if it's already javascript! + const isJS = template.startsWith("js") ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); if (isStart) { await spinnerify({ From 38c349554e90e3e0451d632e0b529330c48045d4 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 13:21:16 +0000 Subject: [PATCH 017/160] attempts at mocking the file system --- __mocks__/fs.cjs | 2 + __mocks__/fs/promises.cjs | 2 + package.json | 1 + packages/create-solid/package.json | 3 +- packages/create-solid/src/index.ts | 2 +- packages/create-solid/tests/template.test.ts | 21 ++++++ pnpm-lock.yaml | 79 ++++++++++++++++++++ 7 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 __mocks__/fs.cjs create mode 100644 __mocks__/fs/promises.cjs create mode 100644 packages/create-solid/tests/template.test.ts diff --git a/__mocks__/fs.cjs b/__mocks__/fs.cjs new file mode 100644 index 0000000..d1b5789 --- /dev/null +++ b/__mocks__/fs.cjs @@ -0,0 +1,2 @@ +const { fs } = require('memfs') +module.exports = fs \ No newline at end of file diff --git a/__mocks__/fs/promises.cjs b/__mocks__/fs/promises.cjs new file mode 100644 index 0000000..0bb2b07 --- /dev/null +++ b/__mocks__/fs/promises.cjs @@ -0,0 +1,2 @@ +const { fs } = require('memfs') +module.exports = fs.promises \ No newline at end of file diff --git a/package.json b/package.json index 55a3ba3..923577d 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ ], "devDependencies": { "@changesets/cli": "2.27.11", + "memfs": "^4.17.0", "nodemon": "^3.1.9", "prettier": "^3.4.2", "turbo": "^2.3.3", diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 9f9c724..84e87e7 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -26,7 +26,8 @@ ], "scripts": { "start": "jiti ./src/bin.ts", - "build": "tsc && tsup" + "build": "tsc && tsup", + "test": "vitest run" }, "devDependencies": { "@clack/prompts": "0.9.1", diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index 2f286c1..ce65542 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -6,7 +6,7 @@ import * as p from "@clack/prompts"; import { cancelable, spinnerify } from "./utils/ui"; import { createStart } from "./create-start"; import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/constants"; - +export { createVanilla, createStart } export const createSolid = (version: string) => defineCommand({ meta: { diff --git a/packages/create-solid/tests/template.test.ts b/packages/create-solid/tests/template.test.ts new file mode 100644 index 0000000..b7a6551 --- /dev/null +++ b/packages/create-solid/tests/template.test.ts @@ -0,0 +1,21 @@ +import { beforeEach, expect, it, vi } from "vitest"; +import { createVanilla } from "../src" +import { vol, fs } from 'memfs' +import { cwd } from "process"; +import { readdir, readdirSync, readFileSync } from "fs"; +import { toTreeSync } from "memfs/lib/print"; +vi.mock("node:fs"); +vi.mock("node:fs/promises") +vi.mock("fs"); +vi.mock("fs/promises") +beforeEach(() => { + // reset the state of in-memory fs + vol.reset() +}) +it("downloads and extracts the typescript template", async () => { + const res = await createVanilla({ template: "ts", destination: "test/ts" }, false) + + // const res = readdirSync(cwd()); + // console.log(res); + console.log(toTreeSync(fs)) +}) \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eec75b4..1b31e4b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@changesets/cli': specifier: 2.27.11 version: 2.27.11 + memfs: + specifier: ^4.17.0 + version: 4.17.0 nodemon: specifier: ^3.1.9 version: 3.1.9 @@ -514,6 +517,24 @@ packages: '@jridgewell/trace-mapping@0.3.19': resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + '@jsonjoy.com/base64@1.1.2': + resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pack@1.1.1': + resolution: {integrity: sha512-osjeBqMJ2lb/j/M8NCPjs1ylqWIcTRTycIhVB5pt6LgzgeRSb0YRZ7j9RfA8wIUrsr/medIuhVyonXRZWLyfdw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/util@1.5.0': + resolution: {integrity: sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -1154,6 +1175,10 @@ packages: resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} engines: {node: '>=18.18.0'} + hyperdyperid@1.2.0: + resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} + engines: {node: '>=10.18'} + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -1268,6 +1293,10 @@ packages: magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + memfs@4.17.0: + resolution: {integrity: sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==} + engines: {node: '>= 4.0.0'} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1628,6 +1657,12 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thingies@1.21.0: + resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} + engines: {node: '>=10.18'} + peerDependencies: + tslib: ^2 + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -1672,6 +1707,12 @@ packages: tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + tree-dump@1.0.2: + resolution: {integrity: sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -1679,6 +1720,9 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsup@8.3.5: resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} engines: {node: '>=18'} @@ -2211,6 +2255,22 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 + '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/json-pack@1.1.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + hyperdyperid: 1.2.0 + thingies: 1.21.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/util@1.5.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.24.4 @@ -2806,6 +2866,8 @@ snapshots: human-signals@8.0.0: {} + hyperdyperid@1.2.0: {} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -2897,6 +2959,13 @@ snapshots: '@babel/types': 7.25.6 source-map-js: 1.2.0 + memfs@4.17.0: + dependencies: + '@jsonjoy.com/json-pack': 1.1.1(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + tree-dump: 1.0.2(tslib@2.8.1) + tslib: 2.8.1 + merge2@1.4.1: {} micromatch@4.0.5: @@ -3229,6 +3298,10 @@ snapshots: dependencies: any-promise: 1.3.0 + thingies@1.21.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + tinybench@2.9.0: {} tinyexec@0.3.1: {} @@ -3264,10 +3337,16 @@ snapshots: dependencies: punycode: 2.3.0 + tree-dump@1.0.2(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + tree-kill@1.2.2: {} ts-interface-checker@0.1.13: {} + tslib@2.8.1: {} + tsup@8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3): dependencies: bundle-require: 5.0.0(esbuild@0.24.0) From 1ab5a80d09b82016aa16127598564685aa07b11f Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 14:06:27 +0000 Subject: [PATCH 018/160] feat: replace attempts at in-memory fs testing with just using the actual filesystem --- .gitignore | 4 +- __mocks__/fs.cjs | 2 - __mocks__/fs/promises.cjs | 2 - package.json | 3 +- packages/create-solid/src/index.ts | 2 +- packages/create-solid/tests/template.test.ts | 24 ++---- pnpm-lock.yaml | 79 -------------------- setup.ts | 6 ++ vitest.config.ts | 4 + 9 files changed, 21 insertions(+), 105 deletions(-) delete mode 100644 __mocks__/fs.cjs delete mode 100644 __mocks__/fs/promises.cjs create mode 100644 setup.ts create mode 100644 vitest.config.ts diff --git a/.gitignore b/.gitignore index b1d8509..3359d16 100644 --- a/.gitignore +++ b/.gitignore @@ -135,5 +135,5 @@ dist .yarn/install-state.gz .pnp.* -# Testing directory -testing \ No newline at end of file +# Test directory +test \ No newline at end of file diff --git a/__mocks__/fs.cjs b/__mocks__/fs.cjs deleted file mode 100644 index d1b5789..0000000 --- a/__mocks__/fs.cjs +++ /dev/null @@ -1,2 +0,0 @@ -const { fs } = require('memfs') -module.exports = fs \ No newline at end of file diff --git a/__mocks__/fs/promises.cjs b/__mocks__/fs/promises.cjs deleted file mode 100644 index 0bb2b07..0000000 --- a/__mocks__/fs/promises.cjs +++ /dev/null @@ -1,2 +0,0 @@ -const { fs } = require('memfs') -module.exports = fs.promises \ No newline at end of file diff --git a/package.json b/package.json index 923577d..1e46299 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "url": "https://github.com/solidjs-community/solid-cli" }, "scripts": { - "test": "vitest", + "test": "vitest run", "test:all": "turbo run test", "build": "turbo run build", "release": "pnpm build && changeset publish", @@ -35,7 +35,6 @@ ], "devDependencies": { "@changesets/cli": "2.27.11", - "memfs": "^4.17.0", "nodemon": "^3.1.9", "prettier": "^3.4.2", "turbo": "^2.3.3", diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index ce65542..e38148c 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -6,7 +6,7 @@ import * as p from "@clack/prompts"; import { cancelable, spinnerify } from "./utils/ui"; import { createStart } from "./create-start"; import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/constants"; -export { createVanilla, createStart } +export { createVanilla, createStart }; export const createSolid = (version: string) => defineCommand({ meta: { diff --git a/packages/create-solid/tests/template.test.ts b/packages/create-solid/tests/template.test.ts index b7a6551..d2e01b5 100644 --- a/packages/create-solid/tests/template.test.ts +++ b/packages/create-solid/tests/template.test.ts @@ -1,21 +1,11 @@ -import { beforeEach, expect, it, vi } from "vitest"; +import { afterAll, beforeEach, expect, it, vi } from "vitest"; import { createVanilla } from "../src" -import { vol, fs } from 'memfs' import { cwd } from "process"; -import { readdir, readdirSync, readFileSync } from "fs"; -import { toTreeSync } from "memfs/lib/print"; -vi.mock("node:fs"); -vi.mock("node:fs/promises") -vi.mock("fs"); -vi.mock("fs/promises") -beforeEach(() => { - // reset the state of in-memory fs - vol.reset() -}) +import { existsSync, readdir, readdirSync, readFileSync } from "fs"; +import { rm } from "fs/promises"; it("downloads and extracts the typescript template", async () => { - const res = await createVanilla({ template: "ts", destination: "test/ts" }, false) - - // const res = readdirSync(cwd()); - // console.log(res); - console.log(toTreeSync(fs)) + await createVanilla({ template: "ts", destination: "./test/ts" }, false) + + const appTsx = existsSync("./test/ts/src/App.tsx"); + expect(appTsx).toBe(true); }) \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b31e4b..eec75b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,9 +11,6 @@ importers: '@changesets/cli': specifier: 2.27.11 version: 2.27.11 - memfs: - specifier: ^4.17.0 - version: 4.17.0 nodemon: specifier: ^3.1.9 version: 3.1.9 @@ -517,24 +514,6 @@ packages: '@jridgewell/trace-mapping@0.3.19': resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} - '@jsonjoy.com/base64@1.1.2': - resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/json-pack@1.1.1': - resolution: {integrity: sha512-osjeBqMJ2lb/j/M8NCPjs1ylqWIcTRTycIhVB5pt6LgzgeRSb0YRZ7j9RfA8wIUrsr/medIuhVyonXRZWLyfdw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/util@1.5.0': - resolution: {integrity: sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -1175,10 +1154,6 @@ packages: resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} engines: {node: '>=18.18.0'} - hyperdyperid@1.2.0: - resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} - engines: {node: '>=10.18'} - iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -1293,10 +1268,6 @@ packages: magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} - memfs@4.17.0: - resolution: {integrity: sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==} - engines: {node: '>= 4.0.0'} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1657,12 +1628,6 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thingies@1.21.0: - resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} - engines: {node: '>=10.18'} - peerDependencies: - tslib: ^2 - tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -1707,12 +1672,6 @@ packages: tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - tree-dump@1.0.2: - resolution: {integrity: sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -1720,9 +1679,6 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsup@8.3.5: resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} engines: {node: '>=18'} @@ -2255,22 +2211,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/json-pack@1.1.1(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) - '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) - hyperdyperid: 1.2.0 - thingies: 1.21.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/util@1.5.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.24.4 @@ -2866,8 +2806,6 @@ snapshots: human-signals@8.0.0: {} - hyperdyperid@1.2.0: {} - iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -2959,13 +2897,6 @@ snapshots: '@babel/types': 7.25.6 source-map-js: 1.2.0 - memfs@4.17.0: - dependencies: - '@jsonjoy.com/json-pack': 1.1.1(tslib@2.8.1) - '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) - tree-dump: 1.0.2(tslib@2.8.1) - tslib: 2.8.1 - merge2@1.4.1: {} micromatch@4.0.5: @@ -3298,10 +3229,6 @@ snapshots: dependencies: any-promise: 1.3.0 - thingies@1.21.0(tslib@2.8.1): - dependencies: - tslib: 2.8.1 - tinybench@2.9.0: {} tinyexec@0.3.1: {} @@ -3337,16 +3264,10 @@ snapshots: dependencies: punycode: 2.3.0 - tree-dump@1.0.2(tslib@2.8.1): - dependencies: - tslib: 2.8.1 - tree-kill@1.2.2: {} ts-interface-checker@0.1.13: {} - tslib@2.8.1: {} - tsup@8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3): dependencies: bundle-require: 5.0.0(esbuild@0.24.0) diff --git a/setup.ts b/setup.ts new file mode 100644 index 0000000..73583ec --- /dev/null +++ b/setup.ts @@ -0,0 +1,6 @@ +import type { TestProject } from 'vitest/node' +import { rmSync } from "fs"; +export default function setup(project: TestProject) { + // Clean up test directory before running tests + rmSync("./test", { recursive: true }) +} \ No newline at end of file diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..e2f77f6 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,4 @@ +import { defineConfig } from "vitest/config"; +export default defineConfig({ + test: { globalSetup: ["./setup.ts"] } +}) \ No newline at end of file From 3875bbc2e1884967a7add6c09cdccc12920981df Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 14:06:44 +0000 Subject: [PATCH 019/160] refactor: remove unused imports --- packages/create-solid/tests/template.test.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/create-solid/tests/template.test.ts b/packages/create-solid/tests/template.test.ts index d2e01b5..c29d52b 100644 --- a/packages/create-solid/tests/template.test.ts +++ b/packages/create-solid/tests/template.test.ts @@ -1,8 +1,6 @@ -import { afterAll, beforeEach, expect, it, vi } from "vitest"; +import { expect, it } from "vitest"; import { createVanilla } from "../src" -import { cwd } from "process"; -import { existsSync, readdir, readdirSync, readFileSync } from "fs"; -import { rm } from "fs/promises"; +import { existsSync } from "fs"; it("downloads and extracts the typescript template", async () => { await createVanilla({ template: "ts", destination: "./test/ts" }, false) From d066fbe6a0d13914cc6e6ea79440d76f7fbcf4af Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 14:28:38 +0000 Subject: [PATCH 020/160] fix: only remove `test` directory if it exists --- setup.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/setup.ts b/setup.ts index 73583ec..0da5513 100644 --- a/setup.ts +++ b/setup.ts @@ -1,6 +1,7 @@ import type { TestProject } from 'vitest/node' -import { rmSync } from "fs"; +import { existsSync, rmSync } from "fs"; export default function setup(project: TestProject) { // Clean up test directory before running tests - rmSync("./test", { recursive: true }) + if (existsSync("./test")) + rmSync("./test", { recursive: true }) } \ No newline at end of file From d4a2de5a774a6cc653d3cff5900f92c8e35826cb Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 14:45:37 +0000 Subject: [PATCH 021/160] feat: add next steps --- packages/create-solid/package.json | 3 ++- packages/create-solid/src/index.ts | 11 +++++++++++ pnpm-lock.yaml | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 84e87e7..e4c4b9d 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -39,7 +39,8 @@ "typescript": "^5.7.3", "@begit/core": "^0.1.1", "citty": "^0.1.6", - "sucrase": "^3.35.0" + "sucrase": "^3.35.0", + "@solid-cli/utils": "workspace:*" }, "publishConfig": { "access": "public" diff --git a/packages/create-solid/src/index.ts b/packages/create-solid/src/index.ts index e38148c..79848e8 100644 --- a/packages/create-solid/src/index.ts +++ b/packages/create-solid/src/index.ts @@ -6,6 +6,7 @@ import * as p from "@clack/prompts"; import { cancelable, spinnerify } from "./utils/ui"; import { createStart } from "./create-start"; import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/constants"; +import { detectPackageManager } from "@solid-cli/utils/package-manager"; export { createVanilla, createStart }; export const createSolid = (version: string) => defineCommand({ @@ -41,6 +42,7 @@ export const createSolid = (version: string) => async run({ args: { projectNamePositional, templatePositional, "project-name": projectNameOptional, solidstart }, }) { + // Show prompts for any unknown arguments let projectName: string = projectNamePositional ?? projectNameOptional; let template: string = templatePositional; let isStart: boolean = solidstart; @@ -56,6 +58,7 @@ export const createSolid = (version: string) => options: template_opts.map((s: string) => ({ label: s, value: s })), }), ); + // Don't transpile project if it's already javascript! const isJS = template.startsWith("js") ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); @@ -72,5 +75,13 @@ export const createSolid = (version: string) => fn: () => createVanilla({ template: template as VanillaTemplate, destination: projectName }, isJS), }); } + + // Next steps.. + const pM = detectPackageManager(); + p.note( + `cd ${projectName} +${pM.name} install +${pM.name} ${pM.runScriptCommand("dev")}`, + "To get started, run:"); }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eec75b4..d47b0ad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,6 +32,9 @@ importers: '@clack/prompts': specifier: 0.9.1 version: 0.9.1 + '@solid-cli/utils': + specifier: workspace:* + version: link:../utils '@types/node': specifier: ^22.10.7 version: 22.10.7 From f07f7157325f2dc18a53d2baa44f65153ccb4f33 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:14:30 +0000 Subject: [PATCH 022/160] feat: add `full-solid` package which re-exports the `create` prompt under a subcommand --- .gitignore | 5 +++- packages/create-solid/package.json | 14 +++++++-- packages/create-solid/tsconfig.json | 8 +++-- packages/full-solid/README.md | 1 + packages/full-solid/package.json | 45 +++++++++++++++++++++++++++++ packages/full-solid/src/bin.ts | 14 +++++++++ packages/full-solid/tsconfig.json | 15 ++++++++++ packages/full-solid/tsup.config.ts | 17 +++++++++++ pnpm-lock.yaml | 27 +++++++++++++++++ turbo.json | 2 +- 10 files changed, 141 insertions(+), 7 deletions(-) create mode 100644 packages/full-solid/README.md create mode 100644 packages/full-solid/package.json create mode 100644 packages/full-solid/src/bin.ts create mode 100644 packages/full-solid/tsconfig.json create mode 100644 packages/full-solid/tsup.config.ts diff --git a/.gitignore b/.gitignore index 3359d16..ba04bab 100644 --- a/.gitignore +++ b/.gitignore @@ -136,4 +136,7 @@ dist .pnp.* # Test directory -test \ No newline at end of file +test + +# Build output +types \ No newline at end of file diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index e4c4b9d..dc731d5 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -17,12 +17,22 @@ "solid", "cli" ], - "main": "dist/index.mjs", + "main": "./dist/index.mjs", + "module": "./dist/index.mjs", + "types": "./types/src/index.d.ts", + "exports": { + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.mjs", + "types": "./types/src/index.d.ts" + } + }, "bin": { "create-solid": "./dist/bin.mjs" }, "files": [ - "dist" + "dist", + "types" ], "scripts": { "start": "jiti ./src/bin.ts", diff --git a/packages/create-solid/tsconfig.json b/packages/create-solid/tsconfig.json index 55a0135..51a5a37 100644 --- a/packages/create-solid/tsconfig.json +++ b/packages/create-solid/tsconfig.json @@ -1,7 +1,5 @@ { "compilerOptions": { - "baseUrl": ".", - "noEmit": true, "module": "ESNext", "target": "ESNext", "moduleResolution": "Bundler", @@ -9,7 +7,11 @@ "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "skipLibCheck": true, - "resolveJsonModule": true + "resolveJsonModule": true, + + "declaration": true, + "emitDeclarationOnly": true, + "outDir": "types" }, "include": ["src/*"] } diff --git a/packages/full-solid/README.md b/packages/full-solid/README.md new file mode 100644 index 0000000..0a9a706 --- /dev/null +++ b/packages/full-solid/README.md @@ -0,0 +1 @@ +# Full Solid diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json new file mode 100644 index 0000000..c684adf --- /dev/null +++ b/packages/full-solid/package.json @@ -0,0 +1,45 @@ +{ + "name": "@solid-cli/full", + "version": "0.5.13", + "description": "Create Solid apps with low configuration", + "author": "Thomas Beer", + "contributors": [ + "Rahul Batra" + ], + "license": "MIT", + "homepage": "https://solid-cli.netlify.app", + "repository": { + "type": "git", + "url": "https://github.com/solidjs-community/solid-cli" + }, + "keywords": [ + "solidjs", + "solid", + "cli" + ], + "main": "dist/index.mjs", + "bin": { + "sd": "./dist/bin.mjs" + }, + "files": [ + "dist" + ], + "scripts": { + "start": "jiti ./src/bin.ts", + "build": "tsc && tsup", + "test": "vitest run" + }, + "devDependencies": { + "@clack/prompts": "0.9.1", + "picocolors": "^1.1.1", + "@types/node": "^22.10.7", + "citty": "^0.1.6", + "create-solid": "workspace:*", + "jiti": "^2.4.2", + "tsup": "^8.3.5", + "typescript": "^5.7.3" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/full-solid/src/bin.ts b/packages/full-solid/src/bin.ts new file mode 100644 index 0000000..79b8f47 --- /dev/null +++ b/packages/full-solid/src/bin.ts @@ -0,0 +1,14 @@ +#! /usr/bin/env node + +import { defineCommand, runMain } from "citty"; +import { createSolid } from "create-solid"; +import packageJson from "../package.json" with { type: "json" }; +import { intro } from "@clack/prompts"; +import * as color from "picocolors"; +intro(`\n${color.bgCyan(color.black(` Solid CLI v${packageJson.version}`))}`); + +const main = defineCommand({ + subCommands: { create: createSolid(packageJson.version) }, +}) + +runMain(main); \ No newline at end of file diff --git a/packages/full-solid/tsconfig.json b/packages/full-solid/tsconfig.json new file mode 100644 index 0000000..55a0135 --- /dev/null +++ b/packages/full-solid/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "noEmit": true, + "module": "ESNext", + "target": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "skipLibCheck": true, + "resolveJsonModule": true + }, + "include": ["src/*"] +} diff --git a/packages/full-solid/tsup.config.ts b/packages/full-solid/tsup.config.ts new file mode 100644 index 0000000..ed15cdf --- /dev/null +++ b/packages/full-solid/tsup.config.ts @@ -0,0 +1,17 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/bin.ts"], + target: "esnext", + format: "esm", + splitting: true, + bundle: true, + sourcemap: false, + clean: true, + treeshake: true, + minify: true, + banner: { + js: `import { createRequire } from "module"; + const require = createRequire(import.meta.url);`, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d47b0ad..fd3c1bd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -60,6 +60,33 @@ importers: specifier: ^5.7.3 version: 5.7.3 + packages/full-solid: + devDependencies: + '@clack/prompts': + specifier: 0.9.1 + version: 0.9.1 + '@types/node': + specifier: ^22.10.7 + version: 22.10.7 + citty: + specifier: ^0.1.6 + version: 0.1.6 + create-solid: + specifier: workspace:* + version: link:../create-solid + jiti: + specifier: ^2.4.2 + version: 2.4.2 + picocolors: + specifier: ^1.1.1 + version: 1.1.1 + tsup: + specifier: ^8.3.5 + version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) + typescript: + specifier: ^5.7.3 + version: 5.7.3 + packages/utils: dependencies: '@clack/core': diff --git a/turbo.json b/turbo.json index d13c31c..2bd8cbe 100644 --- a/turbo.json +++ b/turbo.json @@ -3,7 +3,7 @@ "tasks": { "build": { "dependsOn": ["^build"], - "outputs": ["dist/**"] + "outputs": ["dist/**", "types/**"] }, "test": { "dependsOn": ["^test"] From 43cddeb4e9d6fd312827290e4d240930c48f858a Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:25:12 +0000 Subject: [PATCH 023/160] feat: add `@solid-cli/create` package feat: export nothing from `create-solid` so it can be as small as possible --- packages/create-solid/package.json | 2 +- packages/create-solid/src/bin.ts | 2 +- packages/create-solid/tsup.config.ts | 2 +- packages/create/README.md | 29 ++++++++++ packages/create/package.json | 57 +++++++++++++++++++ .../src/create-start.ts | 0 .../src/create-vanilla.ts | 0 .../{create-solid => create}/src/create.ts | 0 .../{create-solid => create}/src/index.ts | 0 .../src/utils/constants.ts | 0 .../src/utils/file-system.ts | 0 .../src/utils/ts-conversion.ts | 0 .../{create-solid => create}/src/utils/ui.ts | 0 packages/create/tests/template.test.ts | 9 +++ packages/create/tsconfig.json | 17 ++++++ packages/create/tsup.config.ts | 15 +++++ packages/full-solid/package.json | 2 +- packages/full-solid/src/bin.ts | 2 +- pnpm-lock.yaml | 47 +++++++++++++-- 19 files changed, 174 insertions(+), 10 deletions(-) create mode 100644 packages/create/README.md create mode 100644 packages/create/package.json rename packages/{create-solid => create}/src/create-start.ts (100%) rename packages/{create-solid => create}/src/create-vanilla.ts (100%) rename packages/{create-solid => create}/src/create.ts (100%) rename packages/{create-solid => create}/src/index.ts (100%) rename packages/{create-solid => create}/src/utils/constants.ts (100%) rename packages/{create-solid => create}/src/utils/file-system.ts (100%) rename packages/{create-solid => create}/src/utils/ts-conversion.ts (100%) rename packages/{create-solid => create}/src/utils/ui.ts (100%) create mode 100644 packages/create/tests/template.test.ts create mode 100644 packages/create/tsconfig.json create mode 100644 packages/create/tsup.config.ts diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index dc731d5..89a7dda 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -50,7 +50,7 @@ "@begit/core": "^0.1.1", "citty": "^0.1.6", "sucrase": "^3.35.0", - "@solid-cli/utils": "workspace:*" + "@solid-cli/create": "workspace:*" }, "publishConfig": { "access": "public" diff --git a/packages/create-solid/src/bin.ts b/packages/create-solid/src/bin.ts index f9a3f43..5b848bd 100644 --- a/packages/create-solid/src/bin.ts +++ b/packages/create-solid/src/bin.ts @@ -1,7 +1,7 @@ #! /usr/bin/env node import { runMain } from "citty"; -import { createSolid } from "."; +import { createSolid } from "@solid-cli/create"; import { intro } from "@clack/prompts"; import color from "picocolors"; import packageJson from "../package.json" with { type: "json" }; diff --git a/packages/create-solid/tsup.config.ts b/packages/create-solid/tsup.config.ts index abd8918..ed15cdf 100644 --- a/packages/create-solid/tsup.config.ts +++ b/packages/create-solid/tsup.config.ts @@ -1,7 +1,7 @@ import { defineConfig } from "tsup"; export default defineConfig({ - entry: ["src/index.ts", "src/bin.ts"], + entry: ["src/bin.ts"], target: "esnext", format: "esm", splitting: true, diff --git a/packages/create/README.md b/packages/create/README.md new file mode 100644 index 0000000..ce864de --- /dev/null +++ b/packages/create/README.md @@ -0,0 +1,29 @@ +--- +description: Create Solid apps in one command with create-solid. +--- + +# Create Solid + +The easiest way to get started with Solid is by using `create-solid`. This CLI tool enables you to quickly start building a new Solid application, with everything set up for you. You can create a new app using the default SolidStart template or use one of the [Official SolidStart Examples](https://github.com/solidjs/solid-start/tree/main/examples). To get started, use the following command: + +```bash +#or +npm init solid@latest + +#or +pnpm create solid@latest + +# or +yarn create solid + +# or +bunx create-solid +``` + +## Why use Create Solid? + +`create-solid` allows you to create a new Solid app within seconds. It includes a number of benefits: + +- **Interactive Experience**: Running `npm init solid@latest` (with no arguments) launches an interactive experience that guides you through setting up a project. +- **Zero Dependencies**: Initializing a project is as quick as one second. Create Solid has zero runtime dependencies. +- **Support for Examples**: Create Solid App can bootstrap your application using an example from the SolidStart official examples collection. diff --git a/packages/create/package.json b/packages/create/package.json new file mode 100644 index 0000000..6d14e43 --- /dev/null +++ b/packages/create/package.json @@ -0,0 +1,57 @@ +{ + "name": "@solid-cli/create", + "version": "0.5.13", + "description": "Create Solid apps with low configuration", + "author": "Thomas Beer", + "contributors": [ + "Rahul Batra" + ], + "license": "MIT", + "homepage": "https://solid-cli.netlify.app", + "repository": { + "type": "git", + "url": "https://github.com/solidjs-community/solid-cli" + }, + "keywords": [ + "solidjs", + "solid", + "cli" + ], + "main": "./dist/index.mjs", + "module": "./dist/index.mjs", + "types": "./types/src/index.d.ts", + "exports": { + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.mjs", + "types": "./types/src/index.d.ts" + } + }, + "files": [ + "dist", + "types" + ], + "scripts": { + "start": "jiti ./src/bin.ts", + "build": "tsc && tsup", + "test": "vitest run" + }, + "devDependencies": { + "typescript": "^5.7.3", + "@types/node": "^22.10.7", + "tsup": "^8.3.5", + "jiti": "^2.4.2" + }, + "publishConfig": { + "access": "public" + }, + "dependencies": { + "@clack/prompts": "0.9.1", + "cmd-ts": "^0.13.0", + "picocolors": "^1.1.1", + "@begit/core": "^0.1.1", + "citty": "^0.1.6", + "sucrase": "^3.35.0", + "@solid-cli/utils": "workspace:*" + } +} diff --git a/packages/create-solid/src/create-start.ts b/packages/create/src/create-start.ts similarity index 100% rename from packages/create-solid/src/create-start.ts rename to packages/create/src/create-start.ts diff --git a/packages/create-solid/src/create-vanilla.ts b/packages/create/src/create-vanilla.ts similarity index 100% rename from packages/create-solid/src/create-vanilla.ts rename to packages/create/src/create-vanilla.ts diff --git a/packages/create-solid/src/create.ts b/packages/create/src/create.ts similarity index 100% rename from packages/create-solid/src/create.ts rename to packages/create/src/create.ts diff --git a/packages/create-solid/src/index.ts b/packages/create/src/index.ts similarity index 100% rename from packages/create-solid/src/index.ts rename to packages/create/src/index.ts diff --git a/packages/create-solid/src/utils/constants.ts b/packages/create/src/utils/constants.ts similarity index 100% rename from packages/create-solid/src/utils/constants.ts rename to packages/create/src/utils/constants.ts diff --git a/packages/create-solid/src/utils/file-system.ts b/packages/create/src/utils/file-system.ts similarity index 100% rename from packages/create-solid/src/utils/file-system.ts rename to packages/create/src/utils/file-system.ts diff --git a/packages/create-solid/src/utils/ts-conversion.ts b/packages/create/src/utils/ts-conversion.ts similarity index 100% rename from packages/create-solid/src/utils/ts-conversion.ts rename to packages/create/src/utils/ts-conversion.ts diff --git a/packages/create-solid/src/utils/ui.ts b/packages/create/src/utils/ui.ts similarity index 100% rename from packages/create-solid/src/utils/ui.ts rename to packages/create/src/utils/ui.ts diff --git a/packages/create/tests/template.test.ts b/packages/create/tests/template.test.ts new file mode 100644 index 0000000..c29d52b --- /dev/null +++ b/packages/create/tests/template.test.ts @@ -0,0 +1,9 @@ +import { expect, it } from "vitest"; +import { createVanilla } from "../src" +import { existsSync } from "fs"; +it("downloads and extracts the typescript template", async () => { + await createVanilla({ template: "ts", destination: "./test/ts" }, false) + + const appTsx = existsSync("./test/ts/src/App.tsx"); + expect(appTsx).toBe(true); +}) \ No newline at end of file diff --git a/packages/create/tsconfig.json b/packages/create/tsconfig.json new file mode 100644 index 0000000..51a5a37 --- /dev/null +++ b/packages/create/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "ESNext", + "target": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "skipLibCheck": true, + "resolveJsonModule": true, + + "declaration": true, + "emitDeclarationOnly": true, + "outDir": "types" + }, + "include": ["src/*"] +} diff --git a/packages/create/tsup.config.ts b/packages/create/tsup.config.ts new file mode 100644 index 0000000..4a06abf --- /dev/null +++ b/packages/create/tsup.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + target: "esnext", + format: "esm", + splitting: true, + sourcemap: false, + clean: true, + treeshake: true, + banner: { + js: `import { createRequire } from "module"; + const require = createRequire(import.meta.url);`, + }, +}); diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index c684adf..3d6bc37 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -34,7 +34,7 @@ "picocolors": "^1.1.1", "@types/node": "^22.10.7", "citty": "^0.1.6", - "create-solid": "workspace:*", + "@solid-cli/create": "workspace:*", "jiti": "^2.4.2", "tsup": "^8.3.5", "typescript": "^5.7.3" diff --git a/packages/full-solid/src/bin.ts b/packages/full-solid/src/bin.ts index 79b8f47..c509d5a 100644 --- a/packages/full-solid/src/bin.ts +++ b/packages/full-solid/src/bin.ts @@ -1,7 +1,7 @@ #! /usr/bin/env node import { defineCommand, runMain } from "citty"; -import { createSolid } from "create-solid"; +import { createSolid } from "@solid-cli/create"; import packageJson from "../package.json" with { type: "json" }; import { intro } from "@clack/prompts"; import * as color from "picocolors"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fd3c1bd..209b968 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,8 +24,8 @@ importers: specifier: ^3.0.2 version: 3.0.2(@types/node@22.10.7) - packages/create-solid: - devDependencies: + packages/create: + dependencies: '@begit/core': specifier: ^0.1.1 version: 0.1.1 @@ -35,6 +35,43 @@ importers: '@solid-cli/utils': specifier: workspace:* version: link:../utils + citty: + specifier: ^0.1.6 + version: 0.1.6 + cmd-ts: + specifier: ^0.13.0 + version: 0.13.0 + picocolors: + specifier: ^1.1.1 + version: 1.1.1 + sucrase: + specifier: ^3.35.0 + version: 3.35.0 + devDependencies: + '@types/node': + specifier: ^22.10.7 + version: 22.10.7 + jiti: + specifier: ^2.4.2 + version: 2.4.2 + tsup: + specifier: ^8.3.5 + version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) + typescript: + specifier: ^5.7.3 + version: 5.7.3 + + packages/create-solid: + devDependencies: + '@begit/core': + specifier: ^0.1.1 + version: 0.1.1 + '@clack/prompts': + specifier: 0.9.1 + version: 0.9.1 + '@solid-cli/create': + specifier: workspace:* + version: link:../create '@types/node': specifier: ^22.10.7 version: 22.10.7 @@ -65,15 +102,15 @@ importers: '@clack/prompts': specifier: 0.9.1 version: 0.9.1 + '@solid-cli/create': + specifier: workspace:* + version: link:../create '@types/node': specifier: ^22.10.7 version: 22.10.7 citty: specifier: ^0.1.6 version: 0.1.6 - create-solid: - specifier: workspace:* - version: link:../create-solid jiti: specifier: ^2.4.2 version: 2.4.2 From 054c5bedf3045b8653cd5560a32697d68053e2e4 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:27:13 +0000 Subject: [PATCH 024/160] feat: don't emit or include types in `create-solid` --- packages/create-solid/package.json | 3 +-- packages/create-solid/tsconfig.json | 5 +---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 89a7dda..775dd46 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -31,8 +31,7 @@ "create-solid": "./dist/bin.mjs" }, "files": [ - "dist", - "types" + "dist" ], "scripts": { "start": "jiti ./src/bin.ts", diff --git a/packages/create-solid/tsconfig.json b/packages/create-solid/tsconfig.json index 51a5a37..1115998 100644 --- a/packages/create-solid/tsconfig.json +++ b/packages/create-solid/tsconfig.json @@ -8,10 +8,7 @@ "forceConsistentCasingInFileNames": true, "skipLibCheck": true, "resolveJsonModule": true, - - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "types" + "noEmit": true }, "include": ["src/*"] } From b26317ea6b16c641e9b4c91d9a909a66d47f03c8 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:28:38 +0000 Subject: [PATCH 025/160] fix: remove shebang from `@solid-cli/create` --- packages/create/src/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 79848e8..9047ba8 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -1,5 +1,3 @@ -#! /usr/bin/env node - import { defineCommand } from "citty"; import { createVanilla } from "./create-vanilla"; import * as p from "@clack/prompts"; From d6a0e0c10e8e25796d8d094e410ed8cbfbdface6 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:29:30 +0000 Subject: [PATCH 026/160] refactor: actually remove all exports from `create-solid` --- packages/create-solid/package.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 775dd46..3d69f12 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -20,13 +20,6 @@ "main": "./dist/index.mjs", "module": "./dist/index.mjs", "types": "./types/src/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.mjs", - "types": "./types/src/index.d.ts" - } - }, "bin": { "create-solid": "./dist/bin.mjs" }, From e7ceae32b24549a01bb1792d5560cbae7461f2ac Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:43:43 +0000 Subject: [PATCH 027/160] fix: change types export for `@solid-cli/create` --- packages/create/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create/package.json b/packages/create/package.json index 6d14e43..1dc1b05 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -19,12 +19,12 @@ ], "main": "./dist/index.mjs", "module": "./dist/index.mjs", - "types": "./types/src/index.d.ts", + "types": "./types/index.d.ts", "exports": { ".": { "import": "./dist/index.mjs", "require": "./dist/index.mjs", - "types": "./types/src/index.d.ts" + "types": "./types/index.d.ts" } }, "files": [ From 792a55408a849c4f30a5aa799c6bf638ab401059 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:44:50 +0000 Subject: [PATCH 028/160] fix: remove unnecessary test --- packages/create-solid/tests/template.test.ts | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 packages/create-solid/tests/template.test.ts diff --git a/packages/create-solid/tests/template.test.ts b/packages/create-solid/tests/template.test.ts deleted file mode 100644 index c29d52b..0000000 --- a/packages/create-solid/tests/template.test.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { expect, it } from "vitest"; -import { createVanilla } from "../src" -import { existsSync } from "fs"; -it("downloads and extracts the typescript template", async () => { - await createVanilla({ template: "ts", destination: "./test/ts" }, false) - - const appTsx = existsSync("./test/ts/src/App.tsx"); - expect(appTsx).toBe(true); -}) \ No newline at end of file From c3f4fca61349856672f49bcaa36fa47e5fcab76c Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 16:09:30 +0000 Subject: [PATCH 029/160] feat: run tests on ubuntu, windows, and macos This should help catch platform-specific bugs --- .github/workflows/tests.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 357d2cb..3f71550 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,7 +8,10 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v4 From 2de6bec3450bb2cb37c137939e11e01c2e451b9a Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 16:48:14 +0000 Subject: [PATCH 030/160] refactor: remove unused dependencies refactor: make `jiti` a workspace dependency --- package.json | 11 +- packages/create-solid/package.json | 4 - packages/create/package.json | 4 +- packages/full-solid/package.json | 1 - packages/utils/package.json | 1 - pnpm-lock.yaml | 186 +---------------------------- 6 files changed, 11 insertions(+), 196 deletions(-) diff --git a/package.json b/package.json index 1e46299..fff9261 100644 --- a/package.json +++ b/package.json @@ -14,11 +14,6 @@ "test:all": "turbo run test", "build": "turbo run build", "release": "pnpm build && changeset publish", - "watch:all": "nodemon --no-stdin -q --watch packages/core/src -e ts --exec 'turbo run build --scope=core' --watch packages/reactivity/src -e ts --exec 'turbo run build --scope=reactivity' --watch packages/ui/src -e ts --exec 'turbo run build --scope=ui' --watch packages/utils/src -e ts --exec 'turbo run build --scope=utils'", - "watch:core": "nodemon --watch packages/core/src -e ts --exec 'turbo run build --scope=core'", - "watch:reactivity": "nodemon --watch packages/reactivity/src -e ts --exec 'turbo run build --scope=reactivity'", - "watch:ui": "nodemon --watch packages/ui/src -e ts --exec 'turbo run build --scope=ui'", - "watch:utils": "nodemon --watch packages/utils/src -e ts --exec 'turbo run build --scope=utils'", "start": "cd packages/core && pnpm start", "format": "prettier --write ." }, @@ -35,10 +30,12 @@ ], "devDependencies": { "@changesets/cli": "2.27.11", - "nodemon": "^3.1.9", "prettier": "^3.4.2", "turbo": "^2.3.3", "vitest": "^3.0.2" }, - "packageManager": "pnpm@9.6.0" + "packageManager": "pnpm@9.6.0", + "dependencies": { + "jiti": "^2.4.2" + } } diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 3d69f12..67f2183 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -34,14 +34,10 @@ "devDependencies": { "@clack/prompts": "0.9.1", "@types/node": "^22.10.7", - "cmd-ts": "^0.13.0", - "jiti": "^2.4.2", "picocolors": "^1.1.1", "tsup": "^8.3.5", "typescript": "^5.7.3", - "@begit/core": "^0.1.1", "citty": "^0.1.6", - "sucrase": "^3.35.0", "@solid-cli/create": "workspace:*" }, "publishConfig": { diff --git a/packages/create/package.json b/packages/create/package.json index 1dc1b05..d432bce 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -39,15 +39,13 @@ "devDependencies": { "typescript": "^5.7.3", "@types/node": "^22.10.7", - "tsup": "^8.3.5", - "jiti": "^2.4.2" + "tsup": "^8.3.5" }, "publishConfig": { "access": "public" }, "dependencies": { "@clack/prompts": "0.9.1", - "cmd-ts": "^0.13.0", "picocolors": "^1.1.1", "@begit/core": "^0.1.1", "citty": "^0.1.6", diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 3d6bc37..6d8e038 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -35,7 +35,6 @@ "@types/node": "^22.10.7", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", - "jiti": "^2.4.2", "tsup": "^8.3.5", "typescript": "^5.7.3" }, diff --git a/packages/utils/package.json b/packages/utils/package.json index 6c0ceb5..d172aad 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -64,7 +64,6 @@ "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", "@types/node": "22.10.7", - "jiti": "^2.4.2", "magicast": "^0.3.5", "tsup": "^8.3.5", "typescript": "^5.7.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 209b968..8382e3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,13 +7,14 @@ settings: importers: .: + dependencies: + jiti: + specifier: ^2.4.2 + version: 2.4.2 devDependencies: '@changesets/cli': specifier: 2.27.11 version: 2.27.11 - nodemon: - specifier: ^3.1.9 - version: 3.1.9 prettier: specifier: ^3.4.2 version: 3.4.2 @@ -38,9 +39,6 @@ importers: citty: specifier: ^0.1.6 version: 0.1.6 - cmd-ts: - specifier: ^0.13.0 - version: 0.13.0 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -51,9 +49,6 @@ importers: '@types/node': specifier: ^22.10.7 version: 22.10.7 - jiti: - specifier: ^2.4.2 - version: 2.4.2 tsup: specifier: ^8.3.5 version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) @@ -63,9 +58,6 @@ importers: packages/create-solid: devDependencies: - '@begit/core': - specifier: ^0.1.1 - version: 0.1.1 '@clack/prompts': specifier: 0.9.1 version: 0.9.1 @@ -78,18 +70,9 @@ importers: citty: specifier: ^0.1.6 version: 0.1.6 - cmd-ts: - specifier: ^0.13.0 - version: 0.13.0 - jiti: - specifier: ^2.4.2 - version: 2.4.2 picocolors: specifier: ^1.1.1 version: 1.1.1 - sucrase: - specifier: ^3.35.0 - version: 3.35.0 tsup: specifier: ^8.3.5 version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) @@ -111,9 +94,6 @@ importers: citty: specifier: ^0.1.6 version: 0.1.6 - jiti: - specifier: ^2.4.2 - version: 2.4.2 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -151,9 +131,6 @@ importers: '@types/node': specifier: 22.10.7 version: 22.10.7 - jiti: - specifier: ^2.4.2 - version: 2.4.2 magicast: specifier: ^0.3.5 version: 0.3.5 @@ -900,9 +877,6 @@ packages: '@vitest/utils@3.0.2': resolution: {integrity: sha512-Qu01ZYZlgHvDP02JnMBRpX43nRaZtNpIzw3C1clDXmn8eakgX6iQVGzTQ/NjkIr64WD8ioqOjkaYRVvHQI5qiw==} - abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -926,10 +900,6 @@ packages: any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -948,13 +918,6 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} - binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} @@ -991,10 +954,6 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - chokidar@4.0.1: resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} engines: {node: '>= 14.16.0'} @@ -1024,9 +983,6 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -1206,10 +1162,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -1225,17 +1177,10 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} - ignore-by-default@1.0.1: - resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} - ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1355,9 +1300,6 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -1397,19 +1339,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nodemon@3.1.9: - resolution: {integrity: sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg==} - engines: {node: '>=10'} - hasBin: true - - nopt@1.0.10: - resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} - hasBin: true - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - npm-run-path@6.0.0: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} @@ -1534,9 +1463,6 @@ packages: resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} engines: {node: '>=18'} - pstree.remy@1.1.8: - resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} - punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} @@ -1548,10 +1474,6 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - readdirp@4.0.2: resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} engines: {node: '>= 14.16.0'} @@ -1608,10 +1530,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-update-notifier@2.0.0: - resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} - engines: {node: '>=10'} - sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -1672,10 +1590,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -1732,10 +1646,6 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - touch@3.1.0: - resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} - hasBin: true - tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} @@ -1804,9 +1714,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - undefsafe@2.0.5: - resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} - undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} @@ -2524,8 +2431,6 @@ snapshots: loupe: 3.1.2 tinyrainbow: 2.0.0 - abbrev@1.1.1: {} - ansi-colors@4.1.3: {} ansi-regex@5.0.1: {} @@ -2540,11 +2445,6 @@ snapshots: any-promise@1.3.0: {} - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -2559,13 +2459,6 @@ snapshots: dependencies: is-windows: 1.0.2 - binary-extensions@2.2.0: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 @@ -2602,18 +2495,6 @@ snapshots: check-error@2.1.1: {} - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - chokidar@4.0.1: dependencies: readdirp: 4.0.2 @@ -2643,8 +2524,6 @@ snapshots: commander@4.1.1: {} - concat-map@0.0.1: {} - consola@3.2.3: {} cross-spawn@7.0.3: @@ -2663,11 +2542,9 @@ snapshots: dependencies: ms: 2.1.2 - debug@4.3.7(supports-color@5.5.0): + debug@4.3.7: dependencies: ms: 2.1.3 - optionalDependencies: - supports-color: 5.5.0 debug@4.4.0: dependencies: @@ -2865,8 +2742,6 @@ snapshots: graceful-fs@4.2.11: {} - has-flag@3.0.0: {} - has-flag@4.0.0: {} human-id@1.0.2: {} @@ -2877,14 +2752,8 @@ snapshots: dependencies: safer-buffer: 2.1.2 - ignore-by-default@1.0.1: {} - ignore@5.2.4: {} - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.2.0 - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -2982,10 +2851,6 @@ snapshots: dependencies: mime-db: 1.52.0 - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 - minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 @@ -3015,25 +2880,6 @@ snapshots: nanoid@3.3.7: {} - nodemon@3.1.9: - dependencies: - chokidar: 3.6.0 - debug: 4.3.7(supports-color@5.5.0) - ignore-by-default: 1.0.1 - minimatch: 3.1.2 - pstree.remy: 1.1.8 - semver: 7.6.0 - simple-update-notifier: 2.0.0 - supports-color: 5.5.0 - touch: 3.1.0 - undefsafe: 2.0.5 - - nopt@1.0.10: - dependencies: - abbrev: 1.1.1 - - normalize-path@3.0.0: {} - npm-run-path@6.0.0: dependencies: path-key: 4.0.0 @@ -3113,8 +2959,6 @@ snapshots: dependencies: parse-ms: 4.0.0 - pstree.remy@1.1.8: {} - punycode@2.3.0: {} queue-microtask@1.2.3: {} @@ -3126,10 +2970,6 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - readdirp@4.0.2: {} regenerator-runtime@0.14.1: {} @@ -3208,10 +3048,6 @@ snapshots: signal-exit@4.1.0: {} - simple-update-notifier@2.0.0: - dependencies: - semver: 7.6.0 - sisteransi@1.0.5: {} slash@3.0.0: {} @@ -3269,10 +3105,6 @@ snapshots: pirates: 4.0.6 ts-interface-checker: 0.1.13 - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -3323,10 +3155,6 @@ snapshots: dependencies: is-number: 7.0.0 - touch@3.1.0: - dependencies: - nopt: 1.0.10 - tr46@1.0.1: dependencies: punycode: 2.3.0 @@ -3341,7 +3169,7 @@ snapshots: cac: 6.7.14 chokidar: 4.0.1 consola: 3.2.3 - debug: 4.3.7(supports-color@5.5.0) + debug: 4.3.7 esbuild: 0.24.0 joycon: 3.1.1 picocolors: 1.1.1 @@ -3392,8 +3220,6 @@ snapshots: typescript@5.7.3: {} - undefsafe@2.0.5: {} - undici-types@6.20.0: {} unicorn-magic@0.3.0: {} From 442e55dd16b4883eaa398347adbfe66f9f677210 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 16:58:03 +0000 Subject: [PATCH 031/160] fix: reorder `types` in `package.json`s to avoid build warning feat: use `turbo watch` for automatically rebuilding on change --- package.json | 3 ++- packages/create-solid/package.json | 1 - packages/create/package.json | 4 ++-- packages/full-solid/src/bin.ts | 2 +- packages/utils/package.json | 32 +++++++++++++++--------------- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index fff9261..97e62cc 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "build": "turbo run build", "release": "pnpm build && changeset publish", "start": "cd packages/core && pnpm start", - "format": "prettier --write ." + "format": "prettier --write .", + "watch:build": "turbo watch build" }, "contributors": [ { diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 67f2183..ea58685 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -19,7 +19,6 @@ ], "main": "./dist/index.mjs", "module": "./dist/index.mjs", - "types": "./types/src/index.d.ts", "bin": { "create-solid": "./dist/bin.mjs" }, diff --git a/packages/create/package.json b/packages/create/package.json index d432bce..2196c4e 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -22,9 +22,9 @@ "types": "./types/index.d.ts", "exports": { ".": { + "types": "./types/index.d.ts", "import": "./dist/index.mjs", - "require": "./dist/index.mjs", - "types": "./types/index.d.ts" + "require": "./dist/index.mjs" } }, "files": [ diff --git a/packages/full-solid/src/bin.ts b/packages/full-solid/src/bin.ts index c509d5a..4c1c95e 100644 --- a/packages/full-solid/src/bin.ts +++ b/packages/full-solid/src/bin.ts @@ -9,6 +9,6 @@ intro(`\n${color.bgCyan(color.black(` Solid CLI v${packageJson.version}`))}`); const main = defineCommand({ subCommands: { create: createSolid(packageJson.version) }, -}) +}); runMain(main); \ No newline at end of file diff --git a/packages/utils/package.json b/packages/utils/package.json index d172aad..d0894fe 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -17,44 +17,44 @@ "types": "./types/index.d.ts", "exports": { ".": { + "types": "./types/index.d.ts", "import": "./dist/index.mjs", - "require": "./dist/index.mjs", - "types": "./types/index.d.ts" + "require": "./dist/index.mjs" }, "./paths": { + "types": "./types/paths/index.d.ts", "import": "./dist/paths/index.mjs", - "require": "./dist/paths/index.mjs", - "types": "./types/paths/index.d.ts" + "require": "./dist/paths/index.mjs" }, "./transform": { + "types": "./types/transform/index.d.ts", "import": "./dist/transform/index.mjs", - "require": "./dist/transform/index.mjs", - "types": "./types/transform/index.d.ts" + "require": "./dist/transform/index.mjs" }, "./updates": { + "types": "./types/updates/index.d.ts", "import": "./dist/updates/index.mjs", - "require": "./dist/updates/index.mjs", - "types": "./types/updates/index.d.ts" + "require": "./dist/updates/index.mjs" }, "./fs": { + "types": "./types/fs/index.d.ts", "import": "./dist/fs/index.mjs", - "require": "./dist/fs/index.mjs", - "types": "./types/fs/index.d.ts" + "require": "./dist/fs/index.mjs" }, "./util-types": { + "types": "./types/util-types/index.d.ts", "import": "./dist/util-types/index.mjs", - "require": "./dist/util-types/index.mjs", - "types": "./types/util-types/index.d.ts" + "require": "./dist/util-types/index.mjs" }, "./primitives": { + "types": "./types/primitives/index.d.ts", "import": "./dist/primitives/index.mjs", - "require": "./dist/primitives/index.mjs", - "types": "./types/primitives/index.d.ts" + "require": "./dist/primitives/index.mjs" }, "./package-manager": { + "types": "./types/package-manager/index.d.ts", "import": "./dist/package-manager/index.mjs", - "require": "./dist/package-manager/index.mjs", - "types": "./types/package-manager/index.d.ts" + "require": "./dist/package-manager/index.mjs" } }, "scripts": { From 1089fdc726c19391314adfb89e8038a0b8205fce Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 17:07:35 +0000 Subject: [PATCH 032/160] refactor(utils): remove in-memory cache from filesystem helpers --- packages/utils/src/fs/index.ts | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/utils/src/fs/index.ts b/packages/utils/src/fs/index.ts index 8f992b3..a252d99 100644 --- a/packages/utils/src/fs/index.ts +++ b/packages/utils/src/fs/index.ts @@ -1,22 +1,22 @@ -import { readFile as readFile1 } from "fs/promises"; -import { queueUpdate, readQueuedFile, unqueueUpdate } from "../updates"; -export const writeFile = (path: string, data: string, checked: boolean = false) => { - // First, unqueue all previous updates to this file - unqueueUpdate(path, "file"); - queueUpdate({ type: "file", name: path, contents: data, checked }); -}; -export const readFile = async (path: string) => { - const queued = readQueuedFile(path); - if (queued) return queued.contents; - return await readFile1(path); -}; +import { readFile, writeFile } from "fs/promises"; +// import { queueUpdate, readQueuedFile, unqueueUpdate } from "../updates"; +// export const writeFile = (path: string, data: string, checked: boolean = false) => { +// // First, unqueue all previous updates to this file +// unqueueUpdate(path, "file"); +// queueUpdate({ type: "file", name: path, contents: data, checked }); +// }; +// export const readFile = async (path: string) => { +// const queued = readQueuedFile(path); +// if (queued) return queued.contents; +// return await readFile1(path); +// }; export const readFileToString = async (path: string) => { return (await readFile(path)).toString(); }; -export const writeChecked = async (path: string, contents: string) => { - unqueueUpdate(path, "file"); - queueUpdate({ type: "file", name: path, contents, checked: true }); -}; +// export const writeChecked = async (path: string, contents: string) => { +// unqueueUpdate(path, "file"); +// queueUpdate({ type: "file", name: path, contents, checked: true }); +// }; export const insertAtBeginning = async (path: string, text: string) => { const contents = await readFileToString(path); writeFile(path, text + contents); From b7bb42d3b07394e7fc4ecfbb57ca4f5208bfbd5f Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 17:10:36 +0000 Subject: [PATCH 033/160] feat: add "Created with Solid CLI" text to README --- packages/create/src/index.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 9047ba8..22ed52a 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -5,6 +5,8 @@ import { cancelable, spinnerify } from "./utils/ui"; import { createStart } from "./create-start"; import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/constants"; import { detectPackageManager } from "@solid-cli/utils/package-manager"; +import { insertAtEnd } from "@solid-cli/utils/fs"; +import { existsSync } from "node:fs"; export { createVanilla, createStart }; export const createSolid = (version: string) => defineCommand({ @@ -73,7 +75,12 @@ export const createSolid = (version: string) => fn: () => createVanilla({ template: template as VanillaTemplate, destination: projectName }, isJS), }); } - + // Add "Created with Solid CLI" text to bottom of README + if (existsSync(`${projectName}/README.md`)) + await insertAtEnd( + `${projectName}/README.md`, + "\n## This project was created with the [Solid CLI](https://solid-cli.netlify.app)\n", + ); // Next steps.. const pM = detectPackageManager(); p.note( From 558b2bdd767843684f62287913ee09257b9175aa Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 17:13:07 +0000 Subject: [PATCH 034/160] fix: add blank `writeChecked` implementation to fix build --- packages/utils/src/fs/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/utils/src/fs/index.ts b/packages/utils/src/fs/index.ts index a252d99..1953f2c 100644 --- a/packages/utils/src/fs/index.ts +++ b/packages/utils/src/fs/index.ts @@ -17,6 +17,7 @@ export const readFileToString = async (path: string) => { // unqueueUpdate(path, "file"); // queueUpdate({ type: "file", name: path, contents, checked: true }); // }; +export const writeChecked = async (_path: string, _contents: string) => { throw new Error("Unimplemented") } export const insertAtBeginning = async (path: string, text: string) => { const contents = await readFileToString(path); writeFile(path, text + contents); From b66cee387a8c71f0c1c4213c6e690ae1c61a2480 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 17:32:55 +0000 Subject: [PATCH 035/160] release alpha package versions --- .changeset/pre.json | 11 +++++++++++ packages/create-solid/package.json | 2 +- packages/create/package.json | 2 +- packages/full-solid/package.json | 2 +- packages/utils/package.json | 2 +- 5 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 0000000..d94f0a0 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,11 @@ +{ + "mode": "pre", + "tag": "alpha", + "initialVersions": { + "@solid-cli/create": "0.6.0-alpha.0", + "create-solid": "0.6.0-alpha.1", + "@solid-cli/full": "0.6.0-alpha.0", + "@solid-cli/utils": "0.6.0-alpha.0" + }, + "changesets": [] +} diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index ea58685..f79ad38 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.5.13", + "version": "0.6.0-alpha.1", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/package.json b/packages/create/package.json index 2196c4e..b3cd0d6 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.5.13", + "version": "0.6.0-alpha.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 6d8e038..b5314dc 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/full", - "version": "0.5.13", + "version": "0.6.0-alpha.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/utils/package.json b/packages/utils/package.json index d0894fe..135c353 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/utils", - "version": "0.0.15", + "version": "0.6.0-alpha.0", "description": "A collection of utilities for the Solid CLI", "license": "MIT", "homepage": "https://solid-cli.netlify.app", From 5a572f9f55fa5fa97eb2de694e78e6ddf2b3e931 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 19 Jan 2025 18:02:55 +0000 Subject: [PATCH 036/160] refactor: remove `cmd-ts` from `@solid-cli/utils` --- packages/utils/package.json | 1 - pnpm-lock.yaml | 167 +++++++----------------------------- 2 files changed, 33 insertions(+), 135 deletions(-) diff --git a/packages/utils/package.json b/packages/utils/package.json index 135c353..cc62f8f 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -75,7 +75,6 @@ "dependencies": { "@clack/core": "0.4.1", "@clack/prompts": "0.9.1", - "cmd-ts": "^0.13.0", "execa": "^9.5.2", "picocolors": "^1.1.1", "smol-toml": "^1.3.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8382e3f..fe1f309 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -112,9 +112,6 @@ importers: '@clack/prompts': specifier: 0.9.1 version: 0.9.1 - cmd-ts: - specifier: ^0.13.0 - version: 0.13.0 execa: specifier: ^9.5.2 version: 9.5.2 @@ -159,8 +156,8 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/runtime@7.24.4': - resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} '@babel/types@7.25.6': @@ -833,8 +830,8 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/types@0.1.6': - resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==} + '@swc/types@0.1.17': + resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -921,10 +918,6 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -943,10 +936,6 @@ packages: resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -969,9 +958,6 @@ packages: citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - cmd-ts@0.13.0: - resolution: {integrity: sha512-nsnxf6wNIM/JAS7T/x/1JmbEsjH0a8tezXqqpaL0O6+eV0/aDEnRxwjxpu0VzDdRcaC1ixGSbRlUuf/IU59I4g==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -995,15 +981,6 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -1035,9 +1012,6 @@ packages: engines: {node: '>=0.10'} hasBin: true - didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1091,12 +1065,12 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} - fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + fastq@1.18.0: + resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} fdir@6.4.2: resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} @@ -1110,10 +1084,6 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -1162,10 +1132,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} @@ -1177,8 +1143,8 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} - ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} is-extglob@2.1.1: @@ -1270,10 +1236,6 @@ packages: resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} @@ -1284,10 +1246,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -1325,9 +1283,6 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1374,8 +1329,8 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-manager-detector@0.2.0: - resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} + package-manager-detector@0.2.8: + resolution: {integrity: sha512-ts9KSdroZisdvKMWVAVCXiKqnqNfXz4+IbrBG8/BWx/TR5le+jfenvoBuIZ6UWM9nz47W7AbD9qYfAwfWMIwzA==} parse-ms@4.0.0: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} @@ -1510,8 +1465,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true @@ -1590,10 +1545,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - tar@7.4.3: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} engines: {node: '>=18'} @@ -1807,9 +1758,6 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yallist@5.0.0: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} @@ -1828,7 +1776,7 @@ snapshots: dependencies: '@babel/types': 7.25.6 - '@babel/runtime@7.24.4': + '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 @@ -1856,7 +1804,7 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.6.0 + semver: 7.6.3 '@changesets/assemble-release-plan@6.0.5': dependencies: @@ -1865,7 +1813,7 @@ snapshots: '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.6.0 + semver: 7.6.3 '@changesets/changelog-git@0.2.0': dependencies: @@ -1895,10 +1843,10 @@ snapshots: fs-extra: 7.0.1 mri: 1.2.0 p-limit: 2.3.0 - package-manager-detector: 0.2.0 + package-manager-detector: 0.2.8 picocolors: 1.1.1 resolve-from: 5.0.0 - semver: 7.6.0 + semver: 7.6.3 spawndamnit: 3.0.1 term-size: 2.2.1 @@ -1921,7 +1869,7 @@ snapshots: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 - semver: 7.6.0 + semver: 7.6.3 '@changesets/get-release-plan@4.0.6': dependencies: @@ -2187,14 +2135,14 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.26.0 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.26.0 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -2211,7 +2159,7 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.18.0 '@parcel/source-map@2.1.1': dependencies: @@ -2359,7 +2307,7 @@ snapshots: '@swc/core@1.5.5': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.6 + '@swc/types': 0.1.17 optionalDependencies: '@swc/core-darwin-arm64': 1.5.5 '@swc/core-darwin-x64': 1.5.5 @@ -2376,7 +2324,7 @@ snapshots: '@swc/counter@0.1.3': optional: true - '@swc/types@0.1.6': + '@swc/types@0.1.17': dependencies: '@swc/counter': 0.1.3 optional: true @@ -2463,10 +2411,6 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.2: - dependencies: - fill-range: 7.0.1 - braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -2486,11 +2430,6 @@ snapshots: loupe: 3.1.1 pathval: 2.0.0 - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - chardet@0.7.0: {} check-error@2.1.1: {} @@ -2507,15 +2446,6 @@ snapshots: dependencies: consola: 3.2.3 - cmd-ts@0.13.0: - dependencies: - chalk: 4.1.2 - debug: 4.3.4 - didyoumean: 1.2.2 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color - color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -2538,10 +2468,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - debug@4.3.4: - dependencies: - ms: 2.1.2 - debug@4.3.7: dependencies: ms: 2.1.3 @@ -2556,8 +2482,6 @@ snapshots: detect-libc@1.0.3: {} - didyoumean@1.2.2: {} - dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -2659,15 +2583,15 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - fast-glob@3.3.1: + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 - fastq@1.15.0: + fastq@1.18.0: dependencies: reusify: 1.0.4 @@ -2679,10 +2603,6 @@ snapshots: dependencies: is-unicode-supported: 2.1.0 - fill-range@7.0.1: - dependencies: - to-regex-range: 5.0.1 - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -2735,15 +2655,13 @@ snapshots: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 + fast-glob: 3.3.3 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 graceful-fs@4.2.11: {} - has-flag@4.0.0: {} - human-id@1.0.2: {} human-signals@8.0.0: {} @@ -2752,7 +2670,7 @@ snapshots: dependencies: safer-buffer: 2.1.2 - ignore@5.2.4: {} + ignore@5.3.2: {} is-extglob@2.1.1: {} @@ -2819,10 +2737,6 @@ snapshots: lru-cache@10.1.0: {} - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -2835,11 +2749,6 @@ snapshots: merge2@1.4.1: {} - micromatch@4.0.5: - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -2868,8 +2777,6 @@ snapshots: mri@1.2.0: {} - ms@2.1.2: {} - ms@2.1.3: {} mz@2.7.0: @@ -2907,7 +2814,7 @@ snapshots: p-try@2.2.0: {} - package-manager-detector@0.2.0: {} + package-manager-detector@0.2.8: {} parse-ms@4.0.0: {} @@ -3034,9 +2941,7 @@ snapshots: safer-buffer@2.1.2: {} - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.3: {} shebang-command@2.0.0: dependencies: @@ -3105,10 +3010,6 @@ snapshots: pirates: 4.0.6 ts-interface-checker: 0.1.13 - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - tar@7.4.3: dependencies: '@isaacs/fs-minipass': 4.0.0 @@ -3315,8 +3216,6 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - yallist@4.0.0: {} - yallist@5.0.0: {} yoctocolors@2.1.1: {} From 4ce5f302d1a4a9f87953b9e08a462374e5a2db09 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 22 Jan 2025 20:32:33 +0000 Subject: [PATCH 037/160] format --- .changeset/pre.json | 18 +++--- packages/create/src/index.ts | 3 +- packages/create/src/utils/constants.ts | 82 +++++++++++++------------- packages/create/tests/template.test.ts | 10 ++-- packages/full-solid/src/bin.ts | 4 +- packages/utils/src/fs/index.ts | 4 +- setup.ts | 9 ++- vitest.config.ts | 4 +- 8 files changed, 68 insertions(+), 66 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index d94f0a0..6b257a5 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -1,11 +1,11 @@ { - "mode": "pre", - "tag": "alpha", - "initialVersions": { - "@solid-cli/create": "0.6.0-alpha.0", - "create-solid": "0.6.0-alpha.1", - "@solid-cli/full": "0.6.0-alpha.0", - "@solid-cli/utils": "0.6.0-alpha.0" - }, - "changesets": [] + "mode": "pre", + "tag": "alpha", + "initialVersions": { + "@solid-cli/create": "0.6.0-alpha.0", + "create-solid": "0.6.0-alpha.1", + "@solid-cli/full": "0.6.0-alpha.0", + "@solid-cli/utils": "0.6.0-alpha.0" + }, + "changesets": [] } diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 22ed52a..f426c88 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -87,6 +87,7 @@ export const createSolid = (version: string) => `cd ${projectName} ${pM.name} install ${pM.name} ${pM.runScriptCommand("dev")}`, - "To get started, run:"); + "To get started, run:", + ); }, }); diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index dbf98de..3b37567 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -30,60 +30,60 @@ Thumbs.db `; export const JS_CONFIG = { - compilerOptions: { - jsx: "preserve", - jsxImportSource: "solid-js", - paths: { - "~/*": ["./src/*"], - }, - }, + compilerOptions: { + jsx: "preserve", + jsxImportSource: "solid-js", + paths: { + "~/*": ["./src/*"], + }, + }, }; // Supported templates const VANILLA_TEMPLATES = [ - "ts", - "ts-vitest", - "ts-uvu", - "ts-unocss", - "ts-tailwindcss", - "ts-sass", - "ts-router", - "ts-router-file-based", - "ts-minimal", - "ts-jest", - "ts-bootstrap", - "js", - "js-vitest", - "js-tailwindcss", + "ts", + "ts-vitest", + "ts-uvu", + "ts-unocss", + "ts-tailwindcss", + "ts-sass", + "ts-router", + "ts-router-file-based", + "ts-minimal", + "ts-jest", + "ts-bootstrap", + "js", + "js-vitest", + "js-tailwindcss", ] as const; export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; const START_TEMPLATES = [ - "basic", - "bare", - "hackernews", - "notes", - "todomvc", - "with-auth", - "with-authjs", - "with-drizzle", - "with-mdx", - "with-prisma", - "with-solid-styled", - "with-tailwindcss", - "with-trpc", - "with-unocss", - "with-vitest", - "experiments", + "basic", + "bare", + "hackernews", + "notes", + "todomvc", + "with-auth", + "with-authjs", + "with-drizzle", + "with-mdx", + "with-prisma", + "with-solid-styled", + "with-tailwindcss", + "with-trpc", + "with-unocss", + "with-vitest", + "experiments", ] as const; export type StartTemplate = (typeof VANILLA_TEMPLATES)[number]; export const getTemplatesList = async (isStart: boolean) => { - if (isStart) { - return START_TEMPLATES; - } - return VANILLA_TEMPLATES; + if (isStart) { + return START_TEMPLATES; + } + return VANILLA_TEMPLATES; }; // diff --git a/packages/create/tests/template.test.ts b/packages/create/tests/template.test.ts index c29d52b..ac7027c 100644 --- a/packages/create/tests/template.test.ts +++ b/packages/create/tests/template.test.ts @@ -1,9 +1,9 @@ import { expect, it } from "vitest"; -import { createVanilla } from "../src" +import { createVanilla } from "../src"; import { existsSync } from "fs"; it("downloads and extracts the typescript template", async () => { - await createVanilla({ template: "ts", destination: "./test/ts" }, false) + await createVanilla({ template: "ts", destination: "./test/ts" }, false); - const appTsx = existsSync("./test/ts/src/App.tsx"); - expect(appTsx).toBe(true); -}) \ No newline at end of file + const appTsx = existsSync("./test/ts/src/App.tsx"); + expect(appTsx).toBe(true); +}); diff --git a/packages/full-solid/src/bin.ts b/packages/full-solid/src/bin.ts index 4c1c95e..3b02b1c 100644 --- a/packages/full-solid/src/bin.ts +++ b/packages/full-solid/src/bin.ts @@ -8,7 +8,7 @@ import * as color from "picocolors"; intro(`\n${color.bgCyan(color.black(` Solid CLI v${packageJson.version}`))}`); const main = defineCommand({ - subCommands: { create: createSolid(packageJson.version) }, + subCommands: { create: createSolid(packageJson.version) }, }); -runMain(main); \ No newline at end of file +runMain(main); diff --git a/packages/utils/src/fs/index.ts b/packages/utils/src/fs/index.ts index 1953f2c..ae8b698 100644 --- a/packages/utils/src/fs/index.ts +++ b/packages/utils/src/fs/index.ts @@ -17,7 +17,9 @@ export const readFileToString = async (path: string) => { // unqueueUpdate(path, "file"); // queueUpdate({ type: "file", name: path, contents, checked: true }); // }; -export const writeChecked = async (_path: string, _contents: string) => { throw new Error("Unimplemented") } +export const writeChecked = async (_path: string, _contents: string) => { + throw new Error("Unimplemented"); +}; export const insertAtBeginning = async (path: string, text: string) => { const contents = await readFileToString(path); writeFile(path, text + contents); diff --git a/setup.ts b/setup.ts index 0da5513..0b2b690 100644 --- a/setup.ts +++ b/setup.ts @@ -1,7 +1,6 @@ -import type { TestProject } from 'vitest/node' +import type { TestProject } from "vitest/node"; import { existsSync, rmSync } from "fs"; export default function setup(project: TestProject) { - // Clean up test directory before running tests - if (existsSync("./test")) - rmSync("./test", { recursive: true }) -} \ No newline at end of file + // Clean up test directory before running tests + if (existsSync("./test")) rmSync("./test", { recursive: true }); +} diff --git a/vitest.config.ts b/vitest.config.ts index e2f77f6..bef45c6 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,4 +1,4 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ - test: { globalSetup: ["./setup.ts"] } -}) \ No newline at end of file + test: { globalSetup: ["./setup.ts"] }, +}); From 9294c1b905a0e7f7c8d7832318ee70cf141847b6 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 22 Jan 2025 21:55:34 +0000 Subject: [PATCH 038/160] feat: begin adding command for pretty printing useful debug info --- packages/full-solid/src/debug/index.ts | 45 +++++++++++++++++++++ packages/full-solid/src/start/index.ts | 0 packages/full-solid/tests/debuginfo.test.ts | 6 +++ 3 files changed, 51 insertions(+) create mode 100644 packages/full-solid/src/debug/index.ts create mode 100644 packages/full-solid/src/start/index.ts create mode 100644 packages/full-solid/tests/debuginfo.test.ts diff --git a/packages/full-solid/src/debug/index.ts b/packages/full-solid/src/debug/index.ts new file mode 100644 index 0000000..9eed6a6 --- /dev/null +++ b/packages/full-solid/src/debug/index.ts @@ -0,0 +1,45 @@ +/// This subcommand prints useful debug info to stdout +import { readFile } from "fs/promises"; +import os from "os"; +type DebugInfo = { + runtime: { name: string, version: string } + os: { platform: string, release: string } + packages: Record +} +const getPackageJSON = async () => { + const f = await readFile("package.json"); + const parsed = JSON.parse(f.toString()); + return parsed; +} +const prettyPrintRecord = (record: Record) => { + let str = ""; + for (const key in record) { + const value = record[key]; + str += ` ${key}: ${value}\n` + } + return str; +} + +export const prettyPrint = (info: DebugInfo) => { + return `System: + OS: ${info.os.platform} ${info.os.release} +Runtime: + ${info.runtime.name}: v${info.runtime.version} +${Object.keys(info.packages).length !== 0 ? `Dependencies: +${prettyPrintRecord(info.packages)}` : ""}` +} +export const fetchDebugInfo = async (): Promise => { + const parsed = await getPackageJSON(); + const packages: Record = parsed.dependencies ?? {}; + return { + runtime: { + name: "Node", + version: "22.10.4" + }, + os: { + platform: os.platform(), + release: os.release() + }, + packages + } +} \ No newline at end of file diff --git a/packages/full-solid/src/start/index.ts b/packages/full-solid/src/start/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/full-solid/tests/debuginfo.test.ts b/packages/full-solid/tests/debuginfo.test.ts new file mode 100644 index 0000000..d492e8e --- /dev/null +++ b/packages/full-solid/tests/debuginfo.test.ts @@ -0,0 +1,6 @@ +import { it } from "vitest"; +import { fetchDebugInfo, prettyPrint } from "../src/debug"; + +it("Runs", async () => { + console.log(prettyPrint(await fetchDebugInfo())) +}) \ No newline at end of file From cd20d0154c54e9a722156ecbd2c70936842ff0ca Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:03:31 +0000 Subject: [PATCH 039/160] feat: add `debug` command to full CLI This command allows for printing system information useful for debugging purposes --- packages/full-solid/src/bin.ts | 3 ++- packages/full-solid/src/debug/index.ts | 20 +++++++++++++------ .../full-solid/src/debug/runtime-detector.ts | 20 +++++++++++++++++++ 3 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 packages/full-solid/src/debug/runtime-detector.ts diff --git a/packages/full-solid/src/bin.ts b/packages/full-solid/src/bin.ts index 3b02b1c..c06965d 100644 --- a/packages/full-solid/src/bin.ts +++ b/packages/full-solid/src/bin.ts @@ -5,10 +5,11 @@ import { createSolid } from "@solid-cli/create"; import packageJson from "../package.json" with { type: "json" }; import { intro } from "@clack/prompts"; import * as color from "picocolors"; +import { debuginfo } from "./debug" intro(`\n${color.bgCyan(color.black(` Solid CLI v${packageJson.version}`))}`); const main = defineCommand({ - subCommands: { create: createSolid(packageJson.version) }, + subCommands: { create: createSolid(packageJson.version), debug: debuginfo }, }); runMain(main); diff --git a/packages/full-solid/src/debug/index.ts b/packages/full-solid/src/debug/index.ts index 9eed6a6..9d6fb65 100644 --- a/packages/full-solid/src/debug/index.ts +++ b/packages/full-solid/src/debug/index.ts @@ -1,6 +1,9 @@ /// This subcommand prints useful debug info to stdout import { readFile } from "fs/promises"; import os from "os"; +import { defineCommand } from "citty"; +import { detectRuntime } from "./runtime-detector" +import * as p from "@clack/prompts"; type DebugInfo = { runtime: { name: string, version: string } os: { platform: string, release: string } @@ -24,22 +27,27 @@ export const prettyPrint = (info: DebugInfo) => { return `System: OS: ${info.os.platform} ${info.os.release} Runtime: - ${info.runtime.name}: v${info.runtime.version} + ${info.runtime.name}: ${info.runtime.version} ${Object.keys(info.packages).length !== 0 ? `Dependencies: ${prettyPrintRecord(info.packages)}` : ""}` } export const fetchDebugInfo = async (): Promise => { const parsed = await getPackageJSON(); const packages: Record = parsed.dependencies ?? {}; + const runtime = detectRuntime(); return { - runtime: { - name: "Node", - version: "22.10.4" - }, + runtime, os: { platform: os.platform(), release: os.release() }, packages } -} \ No newline at end of file +} + +export const debuginfo = defineCommand({ + async run(ctx) { + const info = await fetchDebugInfo(); + p.log.info(prettyPrint(info)); + }, +}) \ No newline at end of file diff --git a/packages/full-solid/src/debug/runtime-detector.ts b/packages/full-solid/src/debug/runtime-detector.ts new file mode 100644 index 0000000..2a1da3a --- /dev/null +++ b/packages/full-solid/src/debug/runtime-detector.ts @@ -0,0 +1,20 @@ +type RuntimeName = "Bun" | "Node" | "Deno" +type Runtime = { name: RuntimeName, version: string } +declare global { + var Bun: { version: string } | undefined + var Deno: { version: { deno: string } } | undefined +} +export const detectRuntime = (): Runtime => { + if (globalThis.Bun) { + return { name: "Bun", version: globalThis.Bun?.version } + } + if (globalThis.Deno) { + return { name: "Deno", version: globalThis.Deno?.version?.deno } + } + // @ts-ignore + if (typeof process !== undefined && !!process.versions?.node) { + // @ts-ignore + return { name: "Node", version: process?.version } + } + throw new Error("Unable to detect") +} From eb21580efd302b37e007b2b2d28917d12e8c8c82 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:17:49 +0000 Subject: [PATCH 040/160] format feat: add `docs` command Allows for opening the Solid docs in the browser --- packages/full-solid/package.json | 1 + packages/full-solid/src/bin.ts | 13 ++++++- packages/full-solid/src/debug/index.ts | 38 ++++++++++--------- .../full-solid/src/debug/runtime-detector.ts | 34 ++++++++--------- packages/full-solid/src/start/index.ts | 3 ++ packages/full-solid/tests/debuginfo.test.ts | 4 +- pnpm-lock.yaml | 3 ++ 7 files changed, 58 insertions(+), 38 deletions(-) diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index b5314dc..feb18ac 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -35,6 +35,7 @@ "@types/node": "^22.10.7", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", + "@solid-cli/utils": "workspace:*", "tsup": "^8.3.5", "typescript": "^5.7.3" }, diff --git a/packages/full-solid/src/bin.ts b/packages/full-solid/src/bin.ts index c06965d..d44602e 100644 --- a/packages/full-solid/src/bin.ts +++ b/packages/full-solid/src/bin.ts @@ -5,11 +5,20 @@ import { createSolid } from "@solid-cli/create"; import packageJson from "../package.json" with { type: "json" }; import { intro } from "@clack/prompts"; import * as color from "picocolors"; -import { debuginfo } from "./debug" +import { debuginfo } from "./debug"; +import { startCommands } from "./start"; +import { openInBrowser } from "@solid-cli/utils"; intro(`\n${color.bgCyan(color.black(` Solid CLI v${packageJson.version}`))}`); const main = defineCommand({ - subCommands: { create: createSolid(packageJson.version), debug: debuginfo }, + subCommands: { + create: createSolid(packageJson.version), debug: debuginfo, start: startCommands, docs: defineCommand({ + meta: { description: "Open the Solid Docs in your browser" }, + async run() { + openInBrowser("https://docs.solidjs.com") + } + }) + }, }); runMain(main); diff --git a/packages/full-solid/src/debug/index.ts b/packages/full-solid/src/debug/index.ts index 9d6fb65..e3fda26 100644 --- a/packages/full-solid/src/debug/index.ts +++ b/packages/full-solid/src/debug/index.ts @@ -2,35 +2,38 @@ import { readFile } from "fs/promises"; import os from "os"; import { defineCommand } from "citty"; -import { detectRuntime } from "./runtime-detector" +import { detectRuntime } from "./runtime-detector"; import * as p from "@clack/prompts"; type DebugInfo = { - runtime: { name: string, version: string } - os: { platform: string, release: string } - packages: Record -} + runtime: { name: string; version: string }; + os: { platform: string; release: string }; + packages: Record; +}; const getPackageJSON = async () => { const f = await readFile("package.json"); const parsed = JSON.parse(f.toString()); return parsed; -} +}; const prettyPrintRecord = (record: Record) => { let str = ""; for (const key in record) { const value = record[key]; - str += ` ${key}: ${value}\n` + str += ` ${key}: ${value}\n`; } return str; -} +}; export const prettyPrint = (info: DebugInfo) => { return `System: OS: ${info.os.platform} ${info.os.release} Runtime: ${info.runtime.name}: ${info.runtime.version} -${Object.keys(info.packages).length !== 0 ? `Dependencies: -${prettyPrintRecord(info.packages)}` : ""}` -} +${Object.keys(info.packages).length !== 0 + ? `Dependencies: +${prettyPrintRecord(info.packages)}` + : "" + }`; +}; export const fetchDebugInfo = async (): Promise => { const parsed = await getPackageJSON(); const packages: Record = parsed.dependencies ?? {}; @@ -39,15 +42,16 @@ export const fetchDebugInfo = async (): Promise => { runtime, os: { platform: os.platform(), - release: os.release() + release: os.release(), }, - packages - } -} + packages, + }; +}; export const debuginfo = defineCommand({ - async run(ctx) { + meta: { description: "Print important debug info" }, + async run(_ctx) { const info = await fetchDebugInfo(); p.log.info(prettyPrint(info)); }, -}) \ No newline at end of file +}); diff --git a/packages/full-solid/src/debug/runtime-detector.ts b/packages/full-solid/src/debug/runtime-detector.ts index 2a1da3a..014cc4b 100644 --- a/packages/full-solid/src/debug/runtime-detector.ts +++ b/packages/full-solid/src/debug/runtime-detector.ts @@ -1,20 +1,20 @@ -type RuntimeName = "Bun" | "Node" | "Deno" -type Runtime = { name: RuntimeName, version: string } +type RuntimeName = "Bun" | "Node" | "Deno"; +type Runtime = { name: RuntimeName; version: string }; declare global { - var Bun: { version: string } | undefined - var Deno: { version: { deno: string } } | undefined + var Bun: { version: string } | undefined; + var Deno: { version: { deno: string } } | undefined; } export const detectRuntime = (): Runtime => { - if (globalThis.Bun) { - return { name: "Bun", version: globalThis.Bun?.version } - } - if (globalThis.Deno) { - return { name: "Deno", version: globalThis.Deno?.version?.deno } - } - // @ts-ignore - if (typeof process !== undefined && !!process.versions?.node) { - // @ts-ignore - return { name: "Node", version: process?.version } - } - throw new Error("Unable to detect") -} + if (globalThis.Bun) { + return { name: "Bun", version: globalThis.Bun?.version }; + } + if (globalThis.Deno) { + return { name: "Deno", version: globalThis.Deno?.version?.deno }; + } + // @ts-ignore + if (typeof process !== undefined && !!process.versions?.node) { + // @ts-ignore + return { name: "Node", version: process?.version }; + } + throw new Error("Unable to detect"); +}; diff --git a/packages/full-solid/src/start/index.ts b/packages/full-solid/src/start/index.ts index e69de29..e69a1bd 100644 --- a/packages/full-solid/src/start/index.ts +++ b/packages/full-solid/src/start/index.ts @@ -0,0 +1,3 @@ +import { defineCommand } from "citty"; + +export const startCommands = defineCommand({}); diff --git a/packages/full-solid/tests/debuginfo.test.ts b/packages/full-solid/tests/debuginfo.test.ts index d492e8e..1a52062 100644 --- a/packages/full-solid/tests/debuginfo.test.ts +++ b/packages/full-solid/tests/debuginfo.test.ts @@ -2,5 +2,5 @@ import { it } from "vitest"; import { fetchDebugInfo, prettyPrint } from "../src/debug"; it("Runs", async () => { - console.log(prettyPrint(await fetchDebugInfo())) -}) \ No newline at end of file + console.log(prettyPrint(await fetchDebugInfo())); +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fe1f309..ac2e8ca 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -88,6 +88,9 @@ importers: '@solid-cli/create': specifier: workspace:* version: link:../create + '@solid-cli/utils': + specifier: workspace:* + version: link:../utils '@types/node': specifier: ^22.10.7 version: 22.10.7 From de4770231ec8f56d802c282f8ccd4c9808f92340 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:23:10 +0000 Subject: [PATCH 041/160] readme: update readme --- README.md | 52 +++++----------------------------------------------- 1 file changed, 5 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index 3e4293c..db310f3 100644 --- a/README.md +++ b/README.md @@ -10,56 +10,14 @@ [![Build and Test](https://github.com/solidjs-community/solid-cli/actions/workflows/tests.yml/badge.svg)](https://github.com/solidjs-community/solid-cli/actions/workflows/tests.yml) [![Netlify Status](https://api.netlify.com/api/v1/badges/5233ac74-3f53-4c90-b95d-25b528b931a1/deploy-status)](https://app.netlify.com/sites/solid-cli/deploys) -A custom-built CLI for creating and managing SolidJS apps and projects. +A CLI for creating and managing SolidJS apps and projects. -## Roadmap/Features +## Commands -- [x] Templates - - [x] From Degit -- [x] Docs -- [ ] Primitives - - [ ] Add/remove/update primitives - - [x] Search list of primitives -- [ ] Integrations - - [ ] Auth.js - - [x] Tailwind - - [ ] PandaCSS - - [ ] Cypress - - [ ] PostCSS - - [x] UnoCSS - - [ ] Vanilla Extract - - [x] Vitest - - [x] Tauri - - [ ] Playwright -- [ ] Utilities - - [ ] eslint-plugin-solid - - [x] solid-devtools -- [ ] Misc - - [x] Launch new Stackblitz - - [ ] Launch new CodeSandBox -- [x] SolidStart - - [x] New route - - [x] New data file - - [x] Enable Adapters - - [x] Enable SSR/CSR/SSG mode - -## Structure - -The CLI is invoked with `solid`. The commands then cascade, where actions are grouped with other similar actions. The actions will be: - -- `version`: Displays a changelog of recent Solid versions - - `start`: Specific command for Start versions -- `docs`: List a `man`-like page for versioned docs or link out to the docs -- `primitives`: Potential integration with Solid Primitives -- `add`, `remove`: Used for adding and installing integrations/packages ie. `solid add tailwind` -- `config`: For enabling a certain features ie. `solid config vite _____` -- `start`: Special keyword for SolidStart commands - - `mode`: Changes the Start serving mode (ssr/csr/ssg) `solid mode ssr` +- `sd create`: See [create-solid](./packages/create-solid) +- `sd docs`: Opens the Solid docs in the browser +- `sd start`: Special keyword for SolidStart commands - `route`: Creates a new route ie. `solid start route login` -- `new`: Opens your browser to a new template via CSB/SB ie. `solid new bare --stackblitz` opens -- `ecosystem` - - `add`: Starts the process of submitting your current project to our ecosystem listing (Solidex) ie. `solid ecosystem publish` - - `search`: Initializes an ecosystem search result `solid ecosystem search auth` ## Contributing From b190a0ee797d4d152aac8b8fbc81b3f3760ff42e Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:27:04 +0000 Subject: [PATCH 042/160] format --- packages/full-solid/src/bin.ts | 11 +++++++---- packages/full-solid/src/debug/index.ts | 9 +++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/full-solid/src/bin.ts b/packages/full-solid/src/bin.ts index d44602e..a7c0807 100644 --- a/packages/full-solid/src/bin.ts +++ b/packages/full-solid/src/bin.ts @@ -12,12 +12,15 @@ intro(`\n${color.bgCyan(color.black(` Solid CLI v${packageJson.version}`))}`); const main = defineCommand({ subCommands: { - create: createSolid(packageJson.version), debug: debuginfo, start: startCommands, docs: defineCommand({ + create: createSolid(packageJson.version), + debug: debuginfo, + start: startCommands, + docs: defineCommand({ meta: { description: "Open the Solid Docs in your browser" }, async run() { - openInBrowser("https://docs.solidjs.com") - } - }) + openInBrowser("https://docs.solidjs.com"); + }, + }), }, }); diff --git a/packages/full-solid/src/debug/index.ts b/packages/full-solid/src/debug/index.ts index e3fda26..77e8c14 100644 --- a/packages/full-solid/src/debug/index.ts +++ b/packages/full-solid/src/debug/index.ts @@ -28,11 +28,12 @@ export const prettyPrint = (info: DebugInfo) => { OS: ${info.os.platform} ${info.os.release} Runtime: ${info.runtime.name}: ${info.runtime.version} -${Object.keys(info.packages).length !== 0 - ? `Dependencies: +${ + Object.keys(info.packages).length !== 0 + ? `Dependencies: ${prettyPrintRecord(info.packages)}` - : "" - }`; + : "" +}`; }; export const fetchDebugInfo = async (): Promise => { const parsed = await getPackageJSON(); From e50c87151c5c5f92bbaf1fbb5b136d0a70f92952 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:38:52 +0000 Subject: [PATCH 043/160] feat(utils): fix `writeChecked` implementation feat(full): add `sd start route` subcommand --- packages/full-solid/src/start/index.ts | 21 +++++++++++++++++++-- packages/utils/src/fs/index.ts | 4 ++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/packages/full-solid/src/start/index.ts b/packages/full-solid/src/start/index.ts index e69a1bd..f4cff53 100644 --- a/packages/full-solid/src/start/index.ts +++ b/packages/full-solid/src/start/index.ts @@ -1,3 +1,20 @@ +import { createRoute } from "@solid-cli/utils"; import { defineCommand } from "citty"; - -export const startCommands = defineCommand({}); +import * as p from "@clack/prompts"; +export const startCommands = defineCommand({ + meta: { description: "Start-specific commands" }, subCommands: { + route: defineCommand({ + args: { + path: { + type: "positional", + required: false, + description: "Route name", + }, + }, + async run({ args: { path } }) { + await createRoute(path as string); + p.log.success(`Route ${path} successfully created!`) + }, + }) + } +}); diff --git a/packages/utils/src/fs/index.ts b/packages/utils/src/fs/index.ts index ae8b698..2f064d0 100644 --- a/packages/utils/src/fs/index.ts +++ b/packages/utils/src/fs/index.ts @@ -17,8 +17,8 @@ export const readFileToString = async (path: string) => { // unqueueUpdate(path, "file"); // queueUpdate({ type: "file", name: path, contents, checked: true }); // }; -export const writeChecked = async (_path: string, _contents: string) => { - throw new Error("Unimplemented"); +export const writeChecked = async (path: string, contents: string) => { + await writeFile(path, contents); }; export const insertAtBeginning = async (path: string, text: string) => { const contents = await readFileToString(path); From e20fa779a82172b69ddd22861b292d72ae3b3937 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:42:45 +0000 Subject: [PATCH 044/160] readme: replace `solid` with `sd` --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index db310f3..d4479ba 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ A CLI for creating and managing SolidJS apps and projects. - `sd create`: See [create-solid](./packages/create-solid) - `sd docs`: Opens the Solid docs in the browser - `sd start`: Special keyword for SolidStart commands - - `route`: Creates a new route ie. `solid start route login` + - `route`: Creates a new route ie. `sd start route login` ## Contributing From 2cfc25b6a17289278cebc0b58df55d7a2a97a6c0 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:47:13 +0000 Subject: [PATCH 045/160] feat: add colour to `route` subcommand output --- packages/full-solid/src/start/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/full-solid/src/start/index.ts b/packages/full-solid/src/start/index.ts index f4cff53..d3be639 100644 --- a/packages/full-solid/src/start/index.ts +++ b/packages/full-solid/src/start/index.ts @@ -1,6 +1,7 @@ import { createRoute } from "@solid-cli/utils"; import { defineCommand } from "citty"; import * as p from "@clack/prompts"; +import { green } from "picocolors"; export const startCommands = defineCommand({ meta: { description: "Start-specific commands" }, subCommands: { route: defineCommand({ @@ -13,7 +14,7 @@ export const startCommands = defineCommand({ }, async run({ args: { path } }) { await createRoute(path as string); - p.log.success(`Route ${path} successfully created!`) + p.log.success(`Route ${green(path as string)} successfully created!`) }, }) } From de5fa730bf2f45e72edc504d0ba9356dbffae74a Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 20:00:31 +0000 Subject: [PATCH 046/160] refactor: move `cancelable` and `spinnerify` into `@solid-cli/utils` feat: add interactive prompt for `route` subcommand --- packages/create/src/index.ts | 2 +- packages/full-solid/src/start/index.ts | 6 ++++++ packages/utils/package.json | 5 +++++ packages/utils/src/ui/cancelable.ts | 14 ++++++++++++++ packages/utils/src/ui/index.ts | 3 +++ .../utils/ui.ts => utils/src/ui/spinnerify.ts} | 18 ++---------------- 6 files changed, 31 insertions(+), 17 deletions(-) create mode 100644 packages/utils/src/ui/cancelable.ts create mode 100644 packages/utils/src/ui/index.ts rename packages/{create/src/utils/ui.ts => utils/src/ui/spinnerify.ts} (66%) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index f426c88..3b16d01 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -1,7 +1,7 @@ import { defineCommand } from "citty"; import { createVanilla } from "./create-vanilla"; import * as p from "@clack/prompts"; -import { cancelable, spinnerify } from "./utils/ui"; +import { cancelable, spinnerify } from "@solid-cli/utils/ui"; import { createStart } from "./create-start"; import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/constants"; import { detectPackageManager } from "@solid-cli/utils/package-manager"; diff --git a/packages/full-solid/src/start/index.ts b/packages/full-solid/src/start/index.ts index d3be639..b56c1d8 100644 --- a/packages/full-solid/src/start/index.ts +++ b/packages/full-solid/src/start/index.ts @@ -2,6 +2,7 @@ import { createRoute } from "@solid-cli/utils"; import { defineCommand } from "citty"; import * as p from "@clack/prompts"; import { green } from "picocolors"; +import { cancelable } from "@solid-cli/utils/ui" export const startCommands = defineCommand({ meta: { description: "Start-specific commands" }, subCommands: { route: defineCommand({ @@ -13,6 +14,11 @@ export const startCommands = defineCommand({ }, }, async run({ args: { path } }) { + path ||= await cancelable(p.text({ + message: "Route name", validate(value) { + if (value.length === 0) return "A route name is required" + }, + })) await createRoute(path as string); p.log.success(`Route ${green(path as string)} successfully created!`) }, diff --git a/packages/utils/package.json b/packages/utils/package.json index cc62f8f..4d1b4b0 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -55,6 +55,11 @@ "types": "./types/package-manager/index.d.ts", "import": "./dist/package-manager/index.mjs", "require": "./dist/package-manager/index.mjs" + }, + "./ui": { + "types": "./types/ui/index.d.ts", + "import": "./dist/ui/index.mjs", + "require": "./dist/ui/index.mjs" } }, "scripts": { diff --git a/packages/utils/src/ui/cancelable.ts b/packages/utils/src/ui/cancelable.ts new file mode 100644 index 0000000..35f0255 --- /dev/null +++ b/packages/utils/src/ui/cancelable.ts @@ -0,0 +1,14 @@ +import { log } from "@clack/prompts"; +export const cancelable = async ( + prompt: Promise, + cancelMessage: string = "Canceled", +): Promise => { + const value = await prompt; + + if (typeof value === "symbol") { + log.warn(cancelMessage); + process.exit(0); + } + + return value; +}; diff --git a/packages/utils/src/ui/index.ts b/packages/utils/src/ui/index.ts new file mode 100644 index 0000000..be0fed0 --- /dev/null +++ b/packages/utils/src/ui/index.ts @@ -0,0 +1,3 @@ +import { cancelable } from "./cancelable"; +import { spinnerify } from "./spinnerify"; +export { cancelable, spinnerify } \ No newline at end of file diff --git a/packages/create/src/utils/ui.ts b/packages/utils/src/ui/spinnerify.ts similarity index 66% rename from packages/create/src/utils/ui.ts rename to packages/utils/src/ui/spinnerify.ts index baf8b4b..baa53b4 100644 --- a/packages/create/src/utils/ui.ts +++ b/packages/utils/src/ui/spinnerify.ts @@ -1,4 +1,4 @@ -import { log, spinner } from "@clack/prompts"; +import { spinner } from "@clack/prompts"; type SpinnerItem = { startText: string; finishText: string; @@ -16,18 +16,4 @@ export async function spinnerify(spinners: SpinnerItem[] | SpinnerItem( - prompt: Promise, - cancelMessage: string = "Canceled", -): Promise => { - const value = await prompt; - - if (typeof value === "symbol") { - log.warn(cancelMessage); - process.exit(0); - } - - return value; -}; +} \ No newline at end of file From 773fbba4c68ed7bbb0afd7e25e85209f6eb6b5ef Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 20:01:35 +0000 Subject: [PATCH 047/160] feat: add description to full CLI --- packages/full-solid/src/bin.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/full-solid/src/bin.ts b/packages/full-solid/src/bin.ts index a7c0807..2158440 100644 --- a/packages/full-solid/src/bin.ts +++ b/packages/full-solid/src/bin.ts @@ -11,6 +11,9 @@ import { openInBrowser } from "@solid-cli/utils"; intro(`\n${color.bgCyan(color.black(` Solid CLI v${packageJson.version}`))}`); const main = defineCommand({ + meta: { + description: "The full Solid CLI" + }, subCommands: { create: createSolid(packageJson.version), debug: debuginfo, From fec958fdaf6563f31fc78bb2236b8d4975126a17 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 20:05:56 +0000 Subject: [PATCH 048/160] release --- packages/create/package.json | 2 +- packages/full-solid/package.json | 2 +- packages/utils/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/create/package.json b/packages/create/package.json index b3cd0d6..f24c386 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.0-alpha.0", + "version": "0.6.0-alpha.1", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index feb18ac..3dc644e 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/full", - "version": "0.6.0-alpha.0", + "version": "0.6.0-alpha.1", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/utils/package.json b/packages/utils/package.json index 4d1b4b0..a96ffc2 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/utils", - "version": "0.6.0-alpha.0", + "version": "0.6.0-alpha.1", "description": "A collection of utilities for the Solid CLI", "license": "MIT", "homepage": "https://solid-cli.netlify.app", From 0d7bdd53bb4f2e3a745c55714c1425fb486820bf Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 20:06:43 +0000 Subject: [PATCH 049/160] feat: add completion message to `docs` subcommand --- packages/full-solid/src/bin.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/full-solid/src/bin.ts b/packages/full-solid/src/bin.ts index 2158440..12100b6 100644 --- a/packages/full-solid/src/bin.ts +++ b/packages/full-solid/src/bin.ts @@ -5,6 +5,7 @@ import { createSolid } from "@solid-cli/create"; import packageJson from "../package.json" with { type: "json" }; import { intro } from "@clack/prompts"; import * as color from "picocolors"; +import * as p from "@clack/prompts"; import { debuginfo } from "./debug"; import { startCommands } from "./start"; import { openInBrowser } from "@solid-cli/utils"; @@ -22,6 +23,7 @@ const main = defineCommand({ meta: { description: "Open the Solid Docs in your browser" }, async run() { openInBrowser("https://docs.solidjs.com"); + p.log.success("Opened successfully") }, }), }, From ea71f173e7591ccf52fcc68df7dab8fcbea7b0a6 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 23 Jan 2025 20:50:58 +0000 Subject: [PATCH 050/160] feat: add `declarationMap` setting This enables going directly to source definition --- packages/utils/tsconfig.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 085de6c..594e530 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -15,7 +15,8 @@ "noUnusedLocals": true, "noUnusedParameters": true, "noFallthroughCasesInSwitch": true, - "outDir": "types" + "outDir": "types", + "declarationMap": true }, "include": ["src/*", "src/**/*"] } From efa526295490f6d724c935d890136d1359a20dc8 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 24 Jan 2025 18:23:31 +0000 Subject: [PATCH 051/160] feat: `route` command can now also add API routes --- packages/full-solid/src/start/index.ts | 25 ++++++++++++++++++------- packages/utils/src/start/add_api.ts | 2 +- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/packages/full-solid/src/start/index.ts b/packages/full-solid/src/start/index.ts index b56c1d8..62812f7 100644 --- a/packages/full-solid/src/start/index.ts +++ b/packages/full-solid/src/start/index.ts @@ -1,4 +1,4 @@ -import { createRoute } from "@solid-cli/utils"; +import { createApi, createRoute } from "@solid-cli/utils"; import { defineCommand } from "citty"; import * as p from "@clack/prompts"; import { green } from "picocolors"; @@ -6,22 +6,33 @@ import { cancelable } from "@solid-cli/utils/ui" export const startCommands = defineCommand({ meta: { description: "Start-specific commands" }, subCommands: { route: defineCommand({ + meta: { description: "Creates a new route" }, args: { path: { type: "positional", required: false, - description: "Route name", + description: "Route path", }, + api: { + type: "boolean", + required: false, + default: false, + alias: "a" + } }, - async run({ args: { path } }) { + async run({ args: { path, api } }) { path ||= await cancelable(p.text({ - message: "Route name", validate(value) { - if (value.length === 0) return "A route name is required" + message: "Route path", validate(value) { + if (value.length === 0) return "A route path is required" }, })) - await createRoute(path as string); + if (api) { + await createApi(path as string); + } else { + await createRoute(path as string); + } p.log.success(`Route ${green(path as string)} successfully created!`) }, - }) + }), } }); diff --git a/packages/utils/src/start/add_api.ts b/packages/utils/src/start/add_api.ts index 41fbf35..98ec483 100644 --- a/packages/utils/src/start/add_api.ts +++ b/packages/utils/src/start/add_api.ts @@ -8,7 +8,7 @@ export const createApi = async (path: string, name?: string) => { await mkdir(path_parts.join("/"), { recursive: true }); - path_parts.push(name ? `${name}.ts` : "hello.ts"); + path_parts.push(name ? `${name}.ts` : "index.ts"); await writeChecked(path_parts.join("/"), ""); }; From 0fc01a7bd40392fa2a33b884786b7d5c8ebd0295 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 24 Jan 2025 18:33:23 +0000 Subject: [PATCH 052/160] ci: set `BEGIT_GH_API_KEY` when running tests --- .github/workflows/tests.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3f71550..febcfe8 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -31,3 +31,5 @@ jobs: run: pnpm build - name: Test all packages run: pnpm test + env: + BEGIT_GH_API_KEY: ${{ secrets.GITHUB_TOKEN }} From ac289056e28e445cf67be4e615ce60bffbf85e52 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 24 Jan 2025 18:36:28 +0000 Subject: [PATCH 053/160] chore: update pnpm to latest --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 97e62cc..5887281 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "turbo": "^2.3.3", "vitest": "^3.0.2" }, - "packageManager": "pnpm@9.6.0", + "packageManager": "pnpm@9.15.4", "dependencies": { "jiti": "^2.4.2" } From bf23a8d856fe2f58d36945fd1b39acacfca173f1 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 24 Jan 2025 18:45:29 +0000 Subject: [PATCH 054/160] fix: `StartTemplate` type incorrectly referenced `VANILLA_TEMPLATES` array --- packages/create/src/create.ts | 4 ++-- packages/create/src/utils/constants.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/create/src/create.ts b/packages/create/src/create.ts index 6629041..1fe7984 100644 --- a/packages/create/src/create.ts +++ b/packages/create/src/create.ts @@ -5,8 +5,8 @@ export async function create(args: CreateVanillaArgs, js: boolean, isStart: fals export async function create(args: CreateStartArgs, js: boolean, isStart: true): Promise; export async function create(args: CreateVanillaArgs | CreateStartArgs, js: boolean, isStart: boolean) { if (isStart) { - return createStart(args, js); + return createStart(args as CreateStartArgs, js); } else { - return createVanilla(args, js); + return createVanilla(args as CreateVanillaArgs, js); } } diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index 3b37567..7618b02 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -77,7 +77,7 @@ const START_TEMPLATES = [ "with-vitest", "experiments", ] as const; -export type StartTemplate = (typeof VANILLA_TEMPLATES)[number]; +export type StartTemplate = (typeof START_TEMPLATES)[number]; export const getTemplatesList = async (isStart: boolean) => { if (isStart) { From 55bff9b3b87a0ef8daa042d1bbbd2dc283393b99 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 24 Jan 2025 19:08:30 +0000 Subject: [PATCH 055/160] tests: check `fetchDebugInfo` output --- packages/full-solid/tests/debuginfo.test.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/full-solid/tests/debuginfo.test.ts b/packages/full-solid/tests/debuginfo.test.ts index 1a52062..6bbe6cf 100644 --- a/packages/full-solid/tests/debuginfo.test.ts +++ b/packages/full-solid/tests/debuginfo.test.ts @@ -1,6 +1,8 @@ -import { it } from "vitest"; +import { expect, it } from "vitest"; import { fetchDebugInfo, prettyPrint } from "../src/debug"; it("Runs", async () => { - console.log(prettyPrint(await fetchDebugInfo())); + const output = prettyPrint(await fetchDebugInfo()); + + expect(output).contains("Runtime", "System"); }); From d1540f8e4f000bb7d156dbb2479fe3f4c735833a Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 24 Jan 2025 23:58:03 +0000 Subject: [PATCH 056/160] refactor: rename `isJS` to `transpile` This better reflects the fact that js-based templates shouldn't be transpiled. Previously `isJS` would be set to false, which is obviously misleading --- packages/create/src/create-start.ts | 4 ++-- packages/create/src/create-vanilla.ts | 4 ++-- packages/create/src/index.ts | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/create/src/create-start.ts b/packages/create/src/create-start.ts index 7088cc7..fef8cfb 100644 --- a/packages/create/src/create-start.ts +++ b/packages/create/src/create-start.ts @@ -25,8 +25,8 @@ export const createStartJS = async ({ template, destination }: CreateStartArgs) writeFileSync(join(destination, ".gitignore"), GIT_IGNORE); }; -export const createStart = (args: CreateStartArgs, js?: boolean) => { - if (js) { +export const createStart = (args: CreateStartArgs, transpile?: boolean) => { + if (transpile) { return createStartJS(args); } return createStartTS(args); diff --git a/packages/create/src/create-vanilla.ts b/packages/create/src/create-vanilla.ts index dc2dc2d..c6c4716 100644 --- a/packages/create/src/create-vanilla.ts +++ b/packages/create/src/create-vanilla.ts @@ -8,8 +8,8 @@ export type CreateVanillaArgs = { template: VanillaTemplate; destination: string; }; -export const createVanilla = (args: CreateVanillaArgs, js?: boolean) => { - if (js) { +export const createVanilla = (args: CreateVanillaArgs, transpile?: boolean) => { + if (transpile) { return createVanillaJS(args); } return createVanillaTS(args); diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 3b16d01..dd1035b 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -60,19 +60,19 @@ export const createSolid = (version: string) => ); // Don't transpile project if it's already javascript! - const isJS = template.startsWith("js") ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); + const transpileToJS = template.startsWith("js") ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); if (isStart) { await spinnerify({ startText: "Creating project", finishText: "Project created 🎉", - fn: () => createStart({ template: template as StartTemplate, destination: projectName }, isJS), + fn: () => createStart({ template: template as StartTemplate, destination: projectName }, transpileToJS), }); } else { await spinnerify({ startText: "Creating project", finishText: "Project created 🎉", - fn: () => createVanilla({ template: template as VanillaTemplate, destination: projectName }, isJS), + fn: () => createVanilla({ template: template as VanillaTemplate, destination: projectName }, transpileToJS), }); } // Add "Created with Solid CLI" text to bottom of README From 5616190bb9bdc99256ec582b489595c772e30241 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 2 Feb 2025 23:19:03 +0000 Subject: [PATCH 057/160] chore: update dependencies --- package.json | 6 +- packages/create/package.json | 6 +- packages/full-solid/package.json | 4 +- packages/utils/package.json | 6 +- pnpm-lock.yaml | 451 ++++++++++++------------------- 5 files changed, 179 insertions(+), 294 deletions(-) diff --git a/package.json b/package.json index 5887281..523a577 100644 --- a/package.json +++ b/package.json @@ -30,10 +30,10 @@ "./packages/*" ], "devDependencies": { - "@changesets/cli": "2.27.11", + "@changesets/cli": "2.27.12", "prettier": "^3.4.2", - "turbo": "^2.3.3", - "vitest": "^3.0.2" + "turbo": "^2.4.0", + "vitest": "^3.0.4" }, "packageManager": "pnpm@9.15.4", "dependencies": { diff --git a/packages/create/package.json b/packages/create/package.json index f24c386..199c7ba 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -38,8 +38,8 @@ }, "devDependencies": { "typescript": "^5.7.3", - "@types/node": "^22.10.7", - "tsup": "^8.3.5" + "@types/node": "^22.13.0", + "tsup": "^8.3.6" }, "publishConfig": { "access": "public" @@ -47,7 +47,7 @@ "dependencies": { "@clack/prompts": "0.9.1", "picocolors": "^1.1.1", - "@begit/core": "^0.1.1", + "@begit/core": "^0.1.5", "citty": "^0.1.6", "sucrase": "^3.35.0", "@solid-cli/utils": "workspace:*" diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 3dc644e..8fb7dd5 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -32,11 +32,11 @@ "devDependencies": { "@clack/prompts": "0.9.1", "picocolors": "^1.1.1", - "@types/node": "^22.10.7", + "@types/node": "^22.13.0", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*", - "tsup": "^8.3.5", + "tsup": "^8.3.6", "typescript": "^5.7.3" }, "publishConfig": { diff --git a/packages/utils/package.json b/packages/utils/package.json index a96ffc2..d302510 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,11 +68,11 @@ }, "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.10.7", + "@types/node": "22.13.0", "magicast": "^0.3.5", - "tsup": "^8.3.5", + "tsup": "^8.3.6", "typescript": "^5.7.3", - "vitest": "^3.0.2" + "vitest": "^3.0.4" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac2e8ca..9060b1a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,23 +13,23 @@ importers: version: 2.4.2 devDependencies: '@changesets/cli': - specifier: 2.27.11 - version: 2.27.11 + specifier: 2.27.12 + version: 2.27.12 prettier: specifier: ^3.4.2 version: 3.4.2 turbo: - specifier: ^2.3.3 - version: 2.3.3 + specifier: ^2.4.0 + version: 2.4.0 vitest: - specifier: ^3.0.2 - version: 3.0.2(@types/node@22.10.7) + specifier: ^3.0.4 + version: 3.0.4(@types/node@22.13.0) packages/create: dependencies: '@begit/core': - specifier: ^0.1.1 - version: 0.1.1 + specifier: ^0.1.5 + version: 0.1.5 '@clack/prompts': specifier: 0.9.1 version: 0.9.1 @@ -47,11 +47,11 @@ importers: version: 3.35.0 devDependencies: '@types/node': - specifier: ^22.10.7 - version: 22.10.7 + specifier: ^22.13.0 + version: 22.13.0 tsup: - specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) + specifier: ^8.3.6 + version: 8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) typescript: specifier: ^5.7.3 version: 5.7.3 @@ -92,8 +92,8 @@ importers: specifier: workspace:* version: link:../utils '@types/node': - specifier: ^22.10.7 - version: 22.10.7 + specifier: ^22.13.0 + version: 22.13.0 citty: specifier: ^0.1.6 version: 0.1.6 @@ -101,8 +101,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 tsup: - specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) + specifier: ^8.3.6 + version: 8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) typescript: specifier: ^5.7.3 version: 5.7.3 @@ -129,20 +129,20 @@ importers: specifier: ^0.18.2 version: 0.18.2 '@types/node': - specifier: 22.10.7 - version: 22.10.7 + specifier: 22.13.0 + version: 22.13.0 magicast: specifier: ^0.3.5 version: 0.3.5 tsup: - specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) + specifier: ^8.3.6 + version: 8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) typescript: specifier: ^5.7.3 version: 5.7.3 vitest: - specifier: ^3.0.2 - version: 3.0.2(@types/node@22.10.7) + specifier: ^3.0.4 + version: 3.0.4(@types/node@22.13.0) packages: @@ -167,11 +167,11 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} - '@begit/core@0.1.1': - resolution: {integrity: sha512-uxooRorqP8Xv20jf/X+nhkbDIiEodl/oXwep5gNat7ccQnlu6oG/PxepcsOyvwonL9x0ZDEmP46fC5Uhu2fivA==} + '@begit/core@0.1.5': + resolution: {integrity: sha512-3DoFnqKlFrnK6vOGT/Y2dCZvmBmYTgNUOmGdjxdNQvGDAnoUm4XPyRu8dKE30PlKM+7CB0IsZOTPdNSPLBUq1g==} - '@changesets/apply-release-plan@7.0.7': - resolution: {integrity: sha512-qnPOcmmmnD0MfMg9DjU1/onORFyRpDXkMMl2IJg9mECY6RnxL3wN0TCCc92b2sXt1jt8DgjAUUsZYGUGTdYIXA==} + '@changesets/apply-release-plan@7.0.8': + resolution: {integrity: sha512-qjMUj4DYQ1Z6qHawsn7S71SujrExJ+nceyKKyI9iB+M5p9lCL55afuEd6uLBPRpLGWQwkwvWegDHtwHJb1UjpA==} '@changesets/assemble-release-plan@6.0.5': resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==} @@ -179,8 +179,8 @@ packages: '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/cli@2.27.11': - resolution: {integrity: sha512-1QislpE+nvJgSZZo9+Lj3Lno5pKBgN46dAV8IVxKJy9wX8AOrs9nn5pYVZuDpoxWJJCALmbfOsHkyxujgetQSg==} + '@changesets/cli@2.27.12': + resolution: {integrity: sha512-9o3fOfHYOvBnyEn0mcahB7wzaA3P4bGJf8PNqGit5PKaMEFdsRixik+txkrJWd2VX+O6wRFXpxQL8j/1ANKE9g==} hasBin: true '@changesets/config@3.0.5': @@ -584,41 +584,21 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@rollup/rollup-android-arm-eabi@4.19.0': - resolution: {integrity: sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm-eabi@4.26.0': resolution: {integrity: sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.19.0': - resolution: {integrity: sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-android-arm64@4.26.0': resolution: {integrity: sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.19.0': - resolution: {integrity: sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-arm64@4.26.0': resolution: {integrity: sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.19.0': - resolution: {integrity: sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.26.0': resolution: {integrity: sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==} cpu: [x64] @@ -634,121 +614,61 @@ packages: cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.19.0': - resolution: {integrity: sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': resolution: {integrity: sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.19.0': - resolution: {integrity: sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.26.0': resolution: {integrity: sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.19.0': - resolution: {integrity: sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.26.0': resolution: {integrity: sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.19.0': - resolution: {integrity: sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-musl@4.26.0': resolution: {integrity: sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.19.0': - resolution: {integrity: sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==} - cpu: [ppc64] - os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': resolution: {integrity: sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.19.0': - resolution: {integrity: sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==} - cpu: [riscv64] - os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.26.0': resolution: {integrity: sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.19.0': - resolution: {integrity: sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==} - cpu: [s390x] - os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.26.0': resolution: {integrity: sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.19.0': - resolution: {integrity: sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-gnu@4.26.0': resolution: {integrity: sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.19.0': - resolution: {integrity: sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-musl@4.26.0': resolution: {integrity: sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.19.0': - resolution: {integrity: sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.26.0': resolution: {integrity: sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.19.0': - resolution: {integrity: sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.26.0': resolution: {integrity: sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.19.0': - resolution: {integrity: sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.26.0': resolution: {integrity: sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==} cpu: [x64] @@ -836,9 +756,6 @@ packages: '@swc/types@0.1.17': resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -848,11 +765,14 @@ packages: '@types/node@22.10.7': resolution: {integrity: sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==} - '@vitest/expect@3.0.2': - resolution: {integrity: sha512-dKSHLBcoZI+3pmP5hiZ7I5grNru2HRtEW8Z5Zp4IXog8QYcxhlox7JUPyIIFWfN53+3HW3KPLIl6nSzUGgKSuQ==} + '@types/node@22.13.0': + resolution: {integrity: sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==} - '@vitest/mocker@3.0.2': - resolution: {integrity: sha512-Hr09FoBf0jlwwSyzIF4Xw31OntpO3XtZjkccpcBf8FeVW3tpiyKlkeUzxS/txzHqpUCNIX157NaTySxedyZLvA==} + '@vitest/expect@3.0.4': + resolution: {integrity: sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==} + + '@vitest/mocker@3.0.4': + resolution: {integrity: sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -862,20 +782,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.0.2': - resolution: {integrity: sha512-yBohcBw/T/p0/JRgYD+IYcjCmuHzjC3WLAKsVE4/LwiubzZkE8N49/xIQ/KGQwDRA8PaviF8IRO8JMWMngdVVQ==} + '@vitest/pretty-format@3.0.4': + resolution: {integrity: sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==} - '@vitest/runner@3.0.2': - resolution: {integrity: sha512-GHEsWoncrGxWuW8s405fVoDfSLk6RF2LCXp6XhevbtDjdDme1WV/eNmUueDfpY1IX3MJaCRelVCEXsT9cArfEg==} + '@vitest/runner@3.0.4': + resolution: {integrity: sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==} - '@vitest/snapshot@3.0.2': - resolution: {integrity: sha512-h9s67yD4+g+JoYG0zPCo/cLTabpDqzqNdzMawmNPzDStTiwxwkyYM1v5lWE8gmGv3SVJ2DcxA2NpQJZJv9ym3g==} + '@vitest/snapshot@3.0.4': + resolution: {integrity: sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==} - '@vitest/spy@3.0.2': - resolution: {integrity: sha512-8mI2iUn+PJFMT44e3ISA1R+K6ALVs47W6eriDTfXe6lFqlflID05MB4+rIFhmDSLBj8iBsZkzBYlgSkinxLzSQ==} + '@vitest/spy@3.0.4': + resolution: {integrity: sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==} - '@vitest/utils@3.0.2': - resolution: {integrity: sha512-Qu01ZYZlgHvDP02JnMBRpX43nRaZtNpIzw3C1clDXmn8eakgX6iQVGzTQ/NjkIr64WD8ioqOjkaYRVvHQI5qiw==} + '@vitest/utils@3.0.4': + resolution: {integrity: sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -1112,9 +1032,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-stream@9.0.1: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} @@ -1229,9 +1146,6 @@ packages: lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - loupe@3.1.1: - resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} - loupe@3.1.2: resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} @@ -1452,11 +1366,6 @@ packages: engines: {node: '>=14'} hasBin: true - rollup@4.19.0: - resolution: {integrity: sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - rollup@4.26.0: resolution: {integrity: sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -1629,38 +1538,57 @@ packages: typescript: optional: true - turbo-darwin-64@2.3.3: - resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==} + tsup@8.3.6: + resolution: {integrity: sha512-XkVtlDV/58S9Ye0JxUUTcrQk4S+EqlOHKzg6Roa62rdjL1nGWNUstG0xgI4vanHdfIpjP448J8vlN0oK6XOJ5g==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + + turbo-darwin-64@2.4.0: + resolution: {integrity: sha512-kVMScnPUa3R4n7woNmkR15kOY0aUwCLJcUyH5UC59ggKqr5HIHwweKYK8N1pwBQso0LQF4I9i93hIzfJguCcwQ==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.3.3: - resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==} + turbo-darwin-arm64@2.4.0: + resolution: {integrity: sha512-8JObIpfun1guA7UlFR5jC/SOVm49lRscxMxfg5jZ5ABft79rhFC+ygN9AwAhGKv6W2DUhIh2xENkSgu4EDmUyg==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.3.3: - resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==} + turbo-linux-64@2.4.0: + resolution: {integrity: sha512-xWDGGcRlBuGV7HXWAVuTY6vsQi4aZxGMAnuiuNDg8Ij1aHGohOM0RUsWMXjxz4vuJmjk9+/D6NQqHH3AJEXezg==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.3.3: - resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==} + turbo-linux-arm64@2.4.0: + resolution: {integrity: sha512-c3En99xMguc/Pdtk/rZP53LnDdw0W6lgUc04he8r8F+UHYSNvgzHh0WGXXmCC6lGbBH72kPhhGx4bAwyvi7dug==} cpu: [arm64] os: [linux] - turbo-windows-64@2.3.3: - resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==} + turbo-windows-64@2.4.0: + resolution: {integrity: sha512-/gOORuOlyA8JDPzyA16CD3wvyRcuBFePa1URAnFUof9hXQmKxK0VvSDO79cYZFsJSchCKNJpckUS0gYxGsWwoA==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.3.3: - resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==} + turbo-windows-arm64@2.4.0: + resolution: {integrity: sha512-/DJIdTFijEMM5LSiEpSfarDOMOlYqJV+EzmppqWtHqDsOLF4hbbIBH9sJR6OOp5dURAu5eURBYdmvBRz9Lo6TA==} cpu: [arm64] os: [win32] - turbo@2.3.3: - resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==} + turbo@2.4.0: + resolution: {integrity: sha512-ah/yQp2oMif1X0u7fBJ4MLMygnkbKnW5O8SG6pJvloPCpHfFoZctkSVQiJ3VnvNTq71V2JJIdwmOeu1i34OQyg==} hasBin: true typescript@5.7.3: @@ -1679,8 +1607,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.0.2: - resolution: {integrity: sha512-hsEQerBAHvVAbv40m3TFQe/lTEbOp7yDpyqMJqr2Tnd+W58+DEYOt+fluQgekOePcsNBmR77lpVAnIU2Xu4SvQ==} + vite-node@3.0.4: + resolution: {integrity: sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1712,20 +1640,23 @@ packages: terser: optional: true - vitest@3.0.2: - resolution: {integrity: sha512-5bzaHakQ0hmVVKLhfh/jXf6oETDBtgPo8tQCHYB+wftNgFJ+Hah67IsWc8ivx4vFL025Ow8UiuTf4W57z4izvQ==} + vitest@3.0.4: + resolution: {integrity: sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' + '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.2 - '@vitest/ui': 3.0.2 + '@vitest/browser': 3.0.4 + '@vitest/ui': 3.0.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true + '@types/debug': + optional: true '@types/node': optional: true '@vitest/browser': @@ -1789,11 +1720,11 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@begit/core@0.1.1': + '@begit/core@0.1.5': dependencies: tar: 7.4.3 - '@changesets/apply-release-plan@7.0.7': + '@changesets/apply-release-plan@7.0.8': dependencies: '@changesets/config': 3.0.5 '@changesets/get-version-range-type': 0.4.0 @@ -1822,9 +1753,9 @@ snapshots: dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.11': + '@changesets/cli@2.27.12': dependencies: - '@changesets/apply-release-plan': 7.0.7 + '@changesets/apply-release-plan': 7.0.8 '@changesets/assemble-release-plan': 6.0.5 '@changesets/changelog-git': 0.2.0 '@changesets/config': 3.0.5 @@ -2171,27 +2102,15 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@rollup/rollup-android-arm-eabi@4.19.0': - optional: true - '@rollup/rollup-android-arm-eabi@4.26.0': optional: true - '@rollup/rollup-android-arm64@4.19.0': - optional: true - '@rollup/rollup-android-arm64@4.26.0': optional: true - '@rollup/rollup-darwin-arm64@4.19.0': - optional: true - '@rollup/rollup-darwin-arm64@4.26.0': optional: true - '@rollup/rollup-darwin-x64@4.19.0': - optional: true - '@rollup/rollup-darwin-x64@4.26.0': optional: true @@ -2201,75 +2120,39 @@ snapshots: '@rollup/rollup-freebsd-x64@4.26.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.19.0': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.19.0': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.26.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.19.0': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.26.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.19.0': - optional: true - '@rollup/rollup-linux-arm64-musl@4.26.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.19.0': - optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.19.0': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.26.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.19.0': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.26.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.19.0': - optional: true - '@rollup/rollup-linux-x64-gnu@4.26.0': optional: true - '@rollup/rollup-linux-x64-musl@4.19.0': - optional: true - '@rollup/rollup-linux-x64-musl@4.26.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.19.0': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.26.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.19.0': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.26.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.19.0': - optional: true - '@rollup/rollup-win32-x64-msvc@4.26.0': optional: true @@ -2332,8 +2215,6 @@ snapshots: '@swc/counter': 0.1.3 optional: true - '@types/estree@1.0.5': {} - '@types/estree@1.0.6': {} '@types/node@12.20.55': {} @@ -2342,43 +2223,47 @@ snapshots: dependencies: undici-types: 6.20.0 - '@vitest/expect@3.0.2': + '@types/node@22.13.0': + dependencies: + undici-types: 6.20.0 + + '@vitest/expect@3.0.4': dependencies: - '@vitest/spy': 3.0.2 - '@vitest/utils': 3.0.2 + '@vitest/spy': 3.0.4 + '@vitest/utils': 3.0.4 chai: 5.1.2 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.2(vite@5.2.10(@types/node@22.10.7))': + '@vitest/mocker@3.0.4(vite@5.2.10(@types/node@22.13.0))': dependencies: - '@vitest/spy': 3.0.2 + '@vitest/spy': 3.0.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.10.7) + vite: 5.2.10(@types/node@22.13.0) - '@vitest/pretty-format@3.0.2': + '@vitest/pretty-format@3.0.4': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.0.2': + '@vitest/runner@3.0.4': dependencies: - '@vitest/utils': 3.0.2 + '@vitest/utils': 3.0.4 pathe: 2.0.2 - '@vitest/snapshot@3.0.2': + '@vitest/snapshot@3.0.4': dependencies: - '@vitest/pretty-format': 3.0.2 + '@vitest/pretty-format': 3.0.4 magic-string: 0.30.17 pathe: 2.0.2 - '@vitest/spy@3.0.2': + '@vitest/spy@3.0.4': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.0.2': + '@vitest/utils@3.0.4': dependencies: - '@vitest/pretty-format': 3.0.2 + '@vitest/pretty-format': 3.0.4 loupe: 3.1.2 tinyrainbow: 2.0.0 @@ -2430,7 +2315,7 @@ snapshots: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.1 + loupe: 3.1.2 pathval: 2.0.0 chardet@0.7.0: {} @@ -2559,7 +2444,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 execa@9.5.2: dependencies: @@ -2635,8 +2520,6 @@ snapshots: fsevents@2.3.3: optional: true - get-func-name@2.0.2: {} - get-stream@9.0.1: dependencies: '@sec-ant/readable-stream': 0.4.1 @@ -2732,10 +2615,6 @@ snapshots: lodash.startcase@4.4.0: {} - loupe@3.1.1: - dependencies: - get-func-name: 2.0.2 - loupe@3.1.2: {} lru-cache@10.1.0: {} @@ -2892,28 +2771,6 @@ snapshots: dependencies: glob: 10.3.10 - rollup@4.19.0: - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.19.0 - '@rollup/rollup-android-arm64': 4.19.0 - '@rollup/rollup-darwin-arm64': 4.19.0 - '@rollup/rollup-darwin-x64': 4.19.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.19.0 - '@rollup/rollup-linux-arm-musleabihf': 4.19.0 - '@rollup/rollup-linux-arm64-gnu': 4.19.0 - '@rollup/rollup-linux-arm64-musl': 4.19.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.19.0 - '@rollup/rollup-linux-riscv64-gnu': 4.19.0 - '@rollup/rollup-linux-s390x-gnu': 4.19.0 - '@rollup/rollup-linux-x64-gnu': 4.19.0 - '@rollup/rollup-linux-x64-musl': 4.19.0 - '@rollup/rollup-win32-arm64-msvc': 4.19.0 - '@rollup/rollup-win32-ia32-msvc': 4.19.0 - '@rollup/rollup-win32-x64-msvc': 4.19.0 - fsevents: 2.3.3 - rollup@4.26.0: dependencies: '@types/estree': 1.0.6 @@ -3095,32 +2952,60 @@ snapshots: - tsx - yaml - turbo-darwin-64@2.3.3: + tsup@8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3): + dependencies: + bundle-require: 5.0.0(esbuild@0.24.0) + cac: 6.7.14 + chokidar: 4.0.1 + consola: 3.2.3 + debug: 4.4.0 + esbuild: 0.24.0 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.38) + resolve-from: 5.0.0 + rollup: 4.26.0 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.10 + tree-kill: 1.2.2 + optionalDependencies: + '@swc/core': 1.5.5 + postcss: 8.4.38 + typescript: 5.7.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + + turbo-darwin-64@2.4.0: optional: true - turbo-darwin-arm64@2.3.3: + turbo-darwin-arm64@2.4.0: optional: true - turbo-linux-64@2.3.3: + turbo-linux-64@2.4.0: optional: true - turbo-linux-arm64@2.3.3: + turbo-linux-arm64@2.4.0: optional: true - turbo-windows-64@2.3.3: + turbo-windows-64@2.4.0: optional: true - turbo-windows-arm64@2.3.3: + turbo-windows-arm64@2.4.0: optional: true - turbo@2.3.3: + turbo@2.4.0: optionalDependencies: - turbo-darwin-64: 2.3.3 - turbo-darwin-arm64: 2.3.3 - turbo-linux-64: 2.3.3 - turbo-linux-arm64: 2.3.3 - turbo-windows-64: 2.3.3 - turbo-windows-arm64: 2.3.3 + turbo-darwin-64: 2.4.0 + turbo-darwin-arm64: 2.4.0 + turbo-linux-64: 2.4.0 + turbo-linux-arm64: 2.4.0 + turbo-windows-64: 2.4.0 + turbo-windows-arm64: 2.4.0 typescript@5.7.3: {} @@ -3130,13 +3015,13 @@ snapshots: universalify@0.1.2: {} - vite-node@3.0.2(@types/node@22.10.7): + vite-node@3.0.4(@types/node@22.13.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.2 - vite: 5.2.10(@types/node@22.10.7) + vite: 5.2.10(@types/node@22.13.0) transitivePeerDependencies: - '@types/node' - less @@ -3147,24 +3032,24 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.10.7): + vite@5.2.10(@types/node@22.13.0): dependencies: esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.19.0 + rollup: 4.26.0 optionalDependencies: - '@types/node': 22.10.7 + '@types/node': 22.13.0 fsevents: 2.3.3 - vitest@3.0.2(@types/node@22.10.7): + vitest@3.0.4(@types/node@22.13.0): dependencies: - '@vitest/expect': 3.0.2 - '@vitest/mocker': 3.0.2(vite@5.2.10(@types/node@22.10.7)) - '@vitest/pretty-format': 3.0.2 - '@vitest/runner': 3.0.2 - '@vitest/snapshot': 3.0.2 - '@vitest/spy': 3.0.2 - '@vitest/utils': 3.0.2 + '@vitest/expect': 3.0.4 + '@vitest/mocker': 3.0.4(vite@5.2.10(@types/node@22.13.0)) + '@vitest/pretty-format': 3.0.4 + '@vitest/runner': 3.0.4 + '@vitest/snapshot': 3.0.4 + '@vitest/spy': 3.0.4 + '@vitest/utils': 3.0.4 chai: 5.1.2 debug: 4.4.0 expect-type: 1.1.0 @@ -3175,11 +3060,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.10.7) - vite-node: 3.0.2(@types/node@22.10.7) + vite: 5.2.10(@types/node@22.13.0) + vite-node: 3.0.4(@types/node@22.13.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.7 + '@types/node': 22.13.0 transitivePeerDependencies: - less - lightningcss From bb92e8827817dc68c529da25ae06a733dfa2d169 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 14 Feb 2025 16:40:14 +0000 Subject: [PATCH 058/160] chore: update deps --- package.json | 6 +- packages/create-solid/package.json | 6 +- packages/create/package.json | 4 +- packages/full-solid/package.json | 4 +- packages/utils/package.json | 6 +- pnpm-lock.yaml | 294 +++++++++++------------------ 6 files changed, 124 insertions(+), 196 deletions(-) diff --git a/package.json b/package.json index 523a577..d17157c 100644 --- a/package.json +++ b/package.json @@ -31,9 +31,9 @@ ], "devDependencies": { "@changesets/cli": "2.27.12", - "prettier": "^3.4.2", - "turbo": "^2.4.0", - "vitest": "^3.0.4" + "prettier": "^3.5.1", + "turbo": "^2.4.2", + "vitest": "^3.0.5" }, "packageManager": "pnpm@9.15.4", "dependencies": { diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index f79ad38..6234b65 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -31,10 +31,10 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "0.9.1", - "@types/node": "^22.10.7", + "@clack/prompts": "0.10.0", + "@types/node": "^22.13.4", "picocolors": "^1.1.1", - "tsup": "^8.3.5", + "tsup": "^8.3.6", "typescript": "^5.7.3", "citty": "^0.1.6", "@solid-cli/create": "workspace:*" diff --git a/packages/create/package.json b/packages/create/package.json index 199c7ba..a9e5ac5 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -38,14 +38,14 @@ }, "devDependencies": { "typescript": "^5.7.3", - "@types/node": "^22.13.0", + "@types/node": "^22.13.4", "tsup": "^8.3.6" }, "publishConfig": { "access": "public" }, "dependencies": { - "@clack/prompts": "0.9.1", + "@clack/prompts": "0.10.0", "picocolors": "^1.1.1", "@begit/core": "^0.1.5", "citty": "^0.1.6", diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 8fb7dd5..03b1d51 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -30,9 +30,9 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "0.9.1", + "@clack/prompts": "0.10.0", "picocolors": "^1.1.1", - "@types/node": "^22.13.0", + "@types/node": "^22.13.4", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*", diff --git a/packages/utils/package.json b/packages/utils/package.json index d302510..8f72fcf 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,18 +68,18 @@ }, "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.13.0", + "@types/node": "22.13.4", "magicast": "^0.3.5", "tsup": "^8.3.6", "typescript": "^5.7.3", - "vitest": "^3.0.4" + "vitest": "^3.0.5" }, "publishConfig": { "access": "public" }, "dependencies": { "@clack/core": "0.4.1", - "@clack/prompts": "0.9.1", + "@clack/prompts": "0.10.0", "execa": "^9.5.2", "picocolors": "^1.1.1", "smol-toml": "^1.3.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9060b1a..ec341c9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,14 +16,14 @@ importers: specifier: 2.27.12 version: 2.27.12 prettier: - specifier: ^3.4.2 - version: 3.4.2 + specifier: ^3.5.1 + version: 3.5.1 turbo: - specifier: ^2.4.0 - version: 2.4.0 + specifier: ^2.4.2 + version: 2.4.2 vitest: - specifier: ^3.0.4 - version: 3.0.4(@types/node@22.13.0) + specifier: ^3.0.5 + version: 3.0.5(@types/node@22.13.4) packages/create: dependencies: @@ -31,8 +31,8 @@ importers: specifier: ^0.1.5 version: 0.1.5 '@clack/prompts': - specifier: 0.9.1 - version: 0.9.1 + specifier: 0.10.0 + version: 0.10.0 '@solid-cli/utils': specifier: workspace:* version: link:../utils @@ -47,8 +47,8 @@ importers: version: 3.35.0 devDependencies: '@types/node': - specifier: ^22.13.0 - version: 22.13.0 + specifier: ^22.13.4 + version: 22.13.4 tsup: specifier: ^8.3.6 version: 8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) @@ -59,14 +59,14 @@ importers: packages/create-solid: devDependencies: '@clack/prompts': - specifier: 0.9.1 - version: 0.9.1 + specifier: 0.10.0 + version: 0.10.0 '@solid-cli/create': specifier: workspace:* version: link:../create '@types/node': - specifier: ^22.10.7 - version: 22.10.7 + specifier: ^22.13.4 + version: 22.13.4 citty: specifier: ^0.1.6 version: 0.1.6 @@ -74,8 +74,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 tsup: - specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) + specifier: ^8.3.6 + version: 8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) typescript: specifier: ^5.7.3 version: 5.7.3 @@ -83,8 +83,8 @@ importers: packages/full-solid: devDependencies: '@clack/prompts': - specifier: 0.9.1 - version: 0.9.1 + specifier: 0.10.0 + version: 0.10.0 '@solid-cli/create': specifier: workspace:* version: link:../create @@ -92,8 +92,8 @@ importers: specifier: workspace:* version: link:../utils '@types/node': - specifier: ^22.13.0 - version: 22.13.0 + specifier: ^22.13.4 + version: 22.13.4 citty: specifier: ^0.1.6 version: 0.1.6 @@ -113,8 +113,8 @@ importers: specifier: 0.4.1 version: 0.4.1 '@clack/prompts': - specifier: 0.9.1 - version: 0.9.1 + specifier: 0.10.0 + version: 0.10.0 execa: specifier: ^9.5.2 version: 9.5.2 @@ -129,8 +129,8 @@ importers: specifier: ^0.18.2 version: 0.18.2 '@types/node': - specifier: 22.13.0 - version: 22.13.0 + specifier: 22.13.4 + version: 22.13.4 magicast: specifier: ^0.3.5 version: 0.3.5 @@ -141,8 +141,8 @@ importers: specifier: ^5.7.3 version: 5.7.3 vitest: - specifier: ^3.0.4 - version: 3.0.4(@types/node@22.13.0) + specifier: ^3.0.5 + version: 3.0.5(@types/node@22.13.4) packages: @@ -244,8 +244,8 @@ packages: '@clack/core@0.4.1': resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} - '@clack/prompts@0.9.1': - resolution: {integrity: sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==} + '@clack/prompts@0.10.0': + resolution: {integrity: sha512-H3rCl6CwW1NdQt9rE3n373t7o5cthPv7yUoxF2ytZvyvlJv89C5RYMJu83Hed8ODgys5vpBU0GKxIRG83jd8NQ==} '@esbuild/aix-ppc64@0.20.2': resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} @@ -762,17 +762,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.10.7': - resolution: {integrity: sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==} + '@types/node@22.13.4': + resolution: {integrity: sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==} - '@types/node@22.13.0': - resolution: {integrity: sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==} + '@vitest/expect@3.0.5': + resolution: {integrity: sha512-nNIOqupgZ4v5jWuQx2DSlHLEs7Q4Oh/7AYwNyE+k0UQzG7tSmjPXShUikn1mpNGzYEN2jJbTvLejwShMitovBA==} - '@vitest/expect@3.0.4': - resolution: {integrity: sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==} - - '@vitest/mocker@3.0.4': - resolution: {integrity: sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==} + '@vitest/mocker@3.0.5': + resolution: {integrity: sha512-CLPNBFBIE7x6aEGbIjaQAX03ZZlBMaWwAjBdMkIf/cAn6xzLTiM3zYqO/WAbieEjsAZir6tO71mzeHZoodThvw==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -782,20 +779,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.0.4': - resolution: {integrity: sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==} + '@vitest/pretty-format@3.0.5': + resolution: {integrity: sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==} - '@vitest/runner@3.0.4': - resolution: {integrity: sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==} + '@vitest/runner@3.0.5': + resolution: {integrity: sha512-BAiZFityFexZQi2yN4OX3OkJC6scwRo8EhRB0Z5HIGGgd2q+Nq29LgHU/+ovCtd0fOfXj5ZI6pwdlUmC5bpi8A==} - '@vitest/snapshot@3.0.4': - resolution: {integrity: sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==} + '@vitest/snapshot@3.0.5': + resolution: {integrity: sha512-GJPZYcd7v8QNUJ7vRvLDmRwl+a1fGg4T/54lZXe+UOGy47F9yUfE18hRCtXL5aHN/AONu29NGzIXSVFh9K0feA==} - '@vitest/spy@3.0.4': - resolution: {integrity: sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==} + '@vitest/spy@3.0.5': + resolution: {integrity: sha512-5fOzHj0WbUNqPK6blI/8VzZdkBlQLnT25knX0r4dbZI9qoZDf3qAdjoMmDcLG5A83W6oUUFJgUd0EYBc2P5xqg==} - '@vitest/utils@3.0.4': - resolution: {integrity: sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==} + '@vitest/utils@3.0.5': + resolution: {integrity: sha512-N9AX0NUoUtVwKwy21JtwzaqR5L5R5A99GAbrHfCCXK1lp593i/3AZAXhSP43wRQuxYsflrdzEfXZFo1reR1Nkg==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -904,15 +901,6 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -1326,8 +1314,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.4.2: - resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} + prettier@3.5.1: + resolution: {integrity: sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw==} engines: {node: '>=14'} hasBin: true @@ -1475,9 +1463,6 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@0.3.1: - resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} - tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} @@ -1519,25 +1504,6 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tsup@8.3.5: - resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@microsoft/api-extractor': ^7.36.0 - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.5.0' - peerDependenciesMeta: - '@microsoft/api-extractor': - optional: true - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - tsup@8.3.6: resolution: {integrity: sha512-XkVtlDV/58S9Ye0JxUUTcrQk4S+EqlOHKzg6Roa62rdjL1nGWNUstG0xgI4vanHdfIpjP448J8vlN0oK6XOJ5g==} engines: {node: '>=18'} @@ -1557,38 +1523,38 @@ packages: typescript: optional: true - turbo-darwin-64@2.4.0: - resolution: {integrity: sha512-kVMScnPUa3R4n7woNmkR15kOY0aUwCLJcUyH5UC59ggKqr5HIHwweKYK8N1pwBQso0LQF4I9i93hIzfJguCcwQ==} + turbo-darwin-64@2.4.2: + resolution: {integrity: sha512-HFfemyWB60CJtEvVQj9yby5rkkWw9fLAdLtAPGtPQoU3tKh8t/uzCAZKso2aPVbib9vGUuGbPGoGpaRXdVhj5g==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.4.0: - resolution: {integrity: sha512-8JObIpfun1guA7UlFR5jC/SOVm49lRscxMxfg5jZ5ABft79rhFC+ygN9AwAhGKv6W2DUhIh2xENkSgu4EDmUyg==} + turbo-darwin-arm64@2.4.2: + resolution: {integrity: sha512-uwSx1dsBSSFeEC0nxyx2O219FEsS/haiESaWwE9JI8mHkQK61s6w6fN2G586krKxyNam4AIxRltleL+O2Em94g==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.4.0: - resolution: {integrity: sha512-xWDGGcRlBuGV7HXWAVuTY6vsQi4aZxGMAnuiuNDg8Ij1aHGohOM0RUsWMXjxz4vuJmjk9+/D6NQqHH3AJEXezg==} + turbo-linux-64@2.4.2: + resolution: {integrity: sha512-Fy/uL8z/LAYcPbm7a1LwFnTY9pIi5FAi12iuHsgB7zHjdh4eeIKS2NIg4nroAmTcUTUZ0/cVTo4bDOCUcS3aKw==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.4.0: - resolution: {integrity: sha512-c3En99xMguc/Pdtk/rZP53LnDdw0W6lgUc04he8r8F+UHYSNvgzHh0WGXXmCC6lGbBH72kPhhGx4bAwyvi7dug==} + turbo-linux-arm64@2.4.2: + resolution: {integrity: sha512-AEA0d8h5W/K6iiXfEgiNwWt0yqRL1NpBs8zQCLdc4/L7WeYeJW3sORWX8zt7xhutF/KW9gTm8ehKpiK6cCIsAA==} cpu: [arm64] os: [linux] - turbo-windows-64@2.4.0: - resolution: {integrity: sha512-/gOORuOlyA8JDPzyA16CD3wvyRcuBFePa1URAnFUof9hXQmKxK0VvSDO79cYZFsJSchCKNJpckUS0gYxGsWwoA==} + turbo-windows-64@2.4.2: + resolution: {integrity: sha512-CybtIZ9wRgnnNFVN9En9G+rxsO+mwU81fvW4RpE8BWyNEkhQ8J28qYf4PaimueMxGHHp/28i/G7Kcdn2GAWG0g==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.4.0: - resolution: {integrity: sha512-/DJIdTFijEMM5LSiEpSfarDOMOlYqJV+EzmppqWtHqDsOLF4hbbIBH9sJR6OOp5dURAu5eURBYdmvBRz9Lo6TA==} + turbo-windows-arm64@2.4.2: + resolution: {integrity: sha512-7V0yneVPL8Y3TgrkUIjw7Odmwu1tHnyIiPHFM7eFcA7U+H6hPXyCxge7nC3wOKfjhKCQqUm+Vf/k6kjmLz5G4g==} cpu: [arm64] os: [win32] - turbo@2.4.0: - resolution: {integrity: sha512-ah/yQp2oMif1X0u7fBJ4MLMygnkbKnW5O8SG6pJvloPCpHfFoZctkSVQiJ3VnvNTq71V2JJIdwmOeu1i34OQyg==} + turbo@2.4.2: + resolution: {integrity: sha512-Qxi0ioQCxMRUCcHKHZkTnYH8e7XCpNfg9QiJcyfWIc+ZXeaCjzV5rCGlbQlTXMAtI8qgfP8fZADv3CFtPwqdPQ==} hasBin: true typescript@5.7.3: @@ -1607,8 +1573,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.0.4: - resolution: {integrity: sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==} + vite-node@3.0.5: + resolution: {integrity: sha512-02JEJl7SbtwSDJdYS537nU6l+ktdvcREfLksk/NDAqtdKWGqHl+joXzEubHROmS3E6pip+Xgu2tFezMu75jH7A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1640,16 +1606,16 @@ packages: terser: optional: true - vitest@3.0.4: - resolution: {integrity: sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==} + vitest@3.0.5: + resolution: {integrity: sha512-4dof+HvqONw9bvsYxtkfUp2uHsTN9bV2CZIi1pWgoFpL1Lld8LA1ka9q/ONSsoScAKG7NVGf2stJTI7XRkXb2Q==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.4 - '@vitest/ui': 3.0.4 + '@vitest/browser': 3.0.5 + '@vitest/ui': 3.0.5 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1888,7 +1854,7 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/prompts@0.9.1': + '@clack/prompts@0.10.0': dependencies: '@clack/core': 0.4.1 picocolors: 1.1.1 @@ -2219,51 +2185,47 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.10.7': - dependencies: - undici-types: 6.20.0 - - '@types/node@22.13.0': + '@types/node@22.13.4': dependencies: undici-types: 6.20.0 - '@vitest/expect@3.0.4': + '@vitest/expect@3.0.5': dependencies: - '@vitest/spy': 3.0.4 - '@vitest/utils': 3.0.4 + '@vitest/spy': 3.0.5 + '@vitest/utils': 3.0.5 chai: 5.1.2 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.4(vite@5.2.10(@types/node@22.13.0))': + '@vitest/mocker@3.0.5(vite@5.2.10(@types/node@22.13.4))': dependencies: - '@vitest/spy': 3.0.4 + '@vitest/spy': 3.0.5 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.13.0) + vite: 5.2.10(@types/node@22.13.4) - '@vitest/pretty-format@3.0.4': + '@vitest/pretty-format@3.0.5': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.0.4': + '@vitest/runner@3.0.5': dependencies: - '@vitest/utils': 3.0.4 + '@vitest/utils': 3.0.5 pathe: 2.0.2 - '@vitest/snapshot@3.0.4': + '@vitest/snapshot@3.0.5': dependencies: - '@vitest/pretty-format': 3.0.4 + '@vitest/pretty-format': 3.0.5 magic-string: 0.30.17 pathe: 2.0.2 - '@vitest/spy@3.0.4': + '@vitest/spy@3.0.5': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.0.4': + '@vitest/utils@3.0.5': dependencies: - '@vitest/pretty-format': 3.0.4 + '@vitest/pretty-format': 3.0.5 loupe: 3.1.2 tinyrainbow: 2.0.0 @@ -2356,10 +2318,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - debug@4.3.7: - dependencies: - ms: 2.1.3 - debug@4.4.0: dependencies: ms: 2.1.3 @@ -2742,7 +2700,7 @@ snapshots: prettier@2.8.8: {} - prettier@3.4.2: {} + prettier@3.5.1: {} pretty-ms@9.2.0: dependencies: @@ -2891,8 +2849,6 @@ snapshots: tinybench@2.9.0: {} - tinyexec@0.3.1: {} - tinyexec@0.3.2: {} tinyglobby@0.2.10: @@ -2924,34 +2880,6 @@ snapshots: ts-interface-checker@0.1.13: {} - tsup@8.3.5(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3): - dependencies: - bundle-require: 5.0.0(esbuild@0.24.0) - cac: 6.7.14 - chokidar: 4.0.1 - consola: 3.2.3 - debug: 4.3.7 - esbuild: 0.24.0 - joycon: 3.1.1 - picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.38) - resolve-from: 5.0.0 - rollup: 4.26.0 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tinyexec: 0.3.1 - tinyglobby: 0.2.10 - tree-kill: 1.2.2 - optionalDependencies: - '@swc/core': 1.5.5 - postcss: 8.4.38 - typescript: 5.7.3 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - tsup@8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3): dependencies: bundle-require: 5.0.0(esbuild@0.24.0) @@ -2980,32 +2908,32 @@ snapshots: - tsx - yaml - turbo-darwin-64@2.4.0: + turbo-darwin-64@2.4.2: optional: true - turbo-darwin-arm64@2.4.0: + turbo-darwin-arm64@2.4.2: optional: true - turbo-linux-64@2.4.0: + turbo-linux-64@2.4.2: optional: true - turbo-linux-arm64@2.4.0: + turbo-linux-arm64@2.4.2: optional: true - turbo-windows-64@2.4.0: + turbo-windows-64@2.4.2: optional: true - turbo-windows-arm64@2.4.0: + turbo-windows-arm64@2.4.2: optional: true - turbo@2.4.0: + turbo@2.4.2: optionalDependencies: - turbo-darwin-64: 2.4.0 - turbo-darwin-arm64: 2.4.0 - turbo-linux-64: 2.4.0 - turbo-linux-arm64: 2.4.0 - turbo-windows-64: 2.4.0 - turbo-windows-arm64: 2.4.0 + turbo-darwin-64: 2.4.2 + turbo-darwin-arm64: 2.4.2 + turbo-linux-64: 2.4.2 + turbo-linux-arm64: 2.4.2 + turbo-windows-64: 2.4.2 + turbo-windows-arm64: 2.4.2 typescript@5.7.3: {} @@ -3015,13 +2943,13 @@ snapshots: universalify@0.1.2: {} - vite-node@3.0.4(@types/node@22.13.0): + vite-node@3.0.5(@types/node@22.13.4): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.2 - vite: 5.2.10(@types/node@22.13.0) + vite: 5.2.10(@types/node@22.13.4) transitivePeerDependencies: - '@types/node' - less @@ -3032,24 +2960,24 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.13.0): + vite@5.2.10(@types/node@22.13.4): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.26.0 optionalDependencies: - '@types/node': 22.13.0 + '@types/node': 22.13.4 fsevents: 2.3.3 - vitest@3.0.4(@types/node@22.13.0): + vitest@3.0.5(@types/node@22.13.4): dependencies: - '@vitest/expect': 3.0.4 - '@vitest/mocker': 3.0.4(vite@5.2.10(@types/node@22.13.0)) - '@vitest/pretty-format': 3.0.4 - '@vitest/runner': 3.0.4 - '@vitest/snapshot': 3.0.4 - '@vitest/spy': 3.0.4 - '@vitest/utils': 3.0.4 + '@vitest/expect': 3.0.5 + '@vitest/mocker': 3.0.5(vite@5.2.10(@types/node@22.13.4)) + '@vitest/pretty-format': 3.0.5 + '@vitest/runner': 3.0.5 + '@vitest/snapshot': 3.0.5 + '@vitest/spy': 3.0.5 + '@vitest/utils': 3.0.5 chai: 5.1.2 debug: 4.4.0 expect-type: 1.1.0 @@ -3060,11 +2988,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.13.0) - vite-node: 3.0.4(@types/node@22.13.0) + vite: 5.2.10(@types/node@22.13.4) + vite-node: 3.0.5(@types/node@22.13.4) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.0 + '@types/node': 22.13.4 transitivePeerDependencies: - less - lightningcss From d9bbe5c3b49336e924910bedf5191f694d25e8c1 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 21 Feb 2025 22:35:56 +0000 Subject: [PATCH 059/160] feat: add `with-tanstack-router` template --- packages/create/src/utils/constants.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index 7618b02..8ac3ba6 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -72,6 +72,7 @@ const START_TEMPLATES = [ "with-prisma", "with-solid-styled", "with-tailwindcss", + "with-tanstack-router", "with-trpc", "with-unocss", "with-vitest", From c1d6aefbab8c3e91a17b5423c1a93bf3e6f1b5f8 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 21 Feb 2025 22:43:28 +0000 Subject: [PATCH 060/160] chore: update deps --- package.json | 4 +- packages/create-solid/package.json | 2 +- packages/create/package.json | 2 +- packages/full-solid/package.json | 2 +- packages/utils/package.json | 4 +- pnpm-lock.yaml | 314 +++++++++++++++-------------- 6 files changed, 167 insertions(+), 161 deletions(-) diff --git a/package.json b/package.json index d17157c..c313ebd 100644 --- a/package.json +++ b/package.json @@ -30,10 +30,10 @@ "./packages/*" ], "devDependencies": { - "@changesets/cli": "2.27.12", + "@changesets/cli": "2.28.1", "prettier": "^3.5.1", "turbo": "^2.4.2", - "vitest": "^3.0.5" + "vitest": "^3.0.6" }, "packageManager": "pnpm@9.15.4", "dependencies": { diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 6234b65..efa2425 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@clack/prompts": "0.10.0", - "@types/node": "^22.13.4", + "@types/node": "^22.13.5", "picocolors": "^1.1.1", "tsup": "^8.3.6", "typescript": "^5.7.3", diff --git a/packages/create/package.json b/packages/create/package.json index a9e5ac5..f75f472 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -38,7 +38,7 @@ }, "devDependencies": { "typescript": "^5.7.3", - "@types/node": "^22.13.4", + "@types/node": "^22.13.5", "tsup": "^8.3.6" }, "publishConfig": { diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 03b1d51..8bf8ea5 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@clack/prompts": "0.10.0", "picocolors": "^1.1.1", - "@types/node": "^22.13.4", + "@types/node": "^22.13.5", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*", diff --git a/packages/utils/package.json b/packages/utils/package.json index 8f72fcf..0fd0a60 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,11 +68,11 @@ }, "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.13.4", + "@types/node": "22.13.5", "magicast": "^0.3.5", "tsup": "^8.3.6", "typescript": "^5.7.3", - "vitest": "^3.0.5" + "vitest": "^3.0.6" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ec341c9..3903caa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,8 +13,8 @@ importers: version: 2.4.2 devDependencies: '@changesets/cli': - specifier: 2.27.12 - version: 2.27.12 + specifier: 2.28.1 + version: 2.28.1 prettier: specifier: ^3.5.1 version: 3.5.1 @@ -22,8 +22,8 @@ importers: specifier: ^2.4.2 version: 2.4.2 vitest: - specifier: ^3.0.5 - version: 3.0.5(@types/node@22.13.4) + specifier: ^3.0.6 + version: 3.0.6(@types/node@22.13.5) packages/create: dependencies: @@ -47,8 +47,8 @@ importers: version: 3.35.0 devDependencies: '@types/node': - specifier: ^22.13.4 - version: 22.13.4 + specifier: ^22.13.5 + version: 22.13.5 tsup: specifier: ^8.3.6 version: 8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) @@ -65,8 +65,8 @@ importers: specifier: workspace:* version: link:../create '@types/node': - specifier: ^22.13.4 - version: 22.13.4 + specifier: ^22.13.5 + version: 22.13.5 citty: specifier: ^0.1.6 version: 0.1.6 @@ -92,8 +92,8 @@ importers: specifier: workspace:* version: link:../utils '@types/node': - specifier: ^22.13.4 - version: 22.13.4 + specifier: ^22.13.5 + version: 22.13.5 citty: specifier: ^0.1.6 version: 0.1.6 @@ -129,8 +129,8 @@ importers: specifier: ^0.18.2 version: 0.18.2 '@types/node': - specifier: 22.13.4 - version: 22.13.4 + specifier: 22.13.5 + version: 22.13.5 magicast: specifier: ^0.3.5 version: 0.3.5 @@ -141,8 +141,8 @@ importers: specifier: ^5.7.3 version: 5.7.3 vitest: - specifier: ^3.0.5 - version: 3.0.5(@types/node@22.13.4) + specifier: ^3.0.6 + version: 3.0.6(@types/node@22.13.5) packages: @@ -170,30 +170,30 @@ packages: '@begit/core@0.1.5': resolution: {integrity: sha512-3DoFnqKlFrnK6vOGT/Y2dCZvmBmYTgNUOmGdjxdNQvGDAnoUm4XPyRu8dKE30PlKM+7CB0IsZOTPdNSPLBUq1g==} - '@changesets/apply-release-plan@7.0.8': - resolution: {integrity: sha512-qjMUj4DYQ1Z6qHawsn7S71SujrExJ+nceyKKyI9iB+M5p9lCL55afuEd6uLBPRpLGWQwkwvWegDHtwHJb1UjpA==} + '@changesets/apply-release-plan@7.0.10': + resolution: {integrity: sha512-wNyeIJ3yDsVspYvHnEz1xQDq18D9ifed3lI+wxRQRK4pArUcuHgCTrHv0QRnnwjhVCQACxZ+CBih3wgOct6UXw==} - '@changesets/assemble-release-plan@6.0.5': - resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==} + '@changesets/assemble-release-plan@6.0.6': + resolution: {integrity: sha512-Frkj8hWJ1FRZiY3kzVCKzS0N5mMwWKwmv9vpam7vt8rZjLL1JMthdh6pSDVSPumHPshTTkKZ0VtNbE0cJHZZUg==} - '@changesets/changelog-git@0.2.0': - resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} + '@changesets/changelog-git@0.2.1': + resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@changesets/cli@2.27.12': - resolution: {integrity: sha512-9o3fOfHYOvBnyEn0mcahB7wzaA3P4bGJf8PNqGit5PKaMEFdsRixik+txkrJWd2VX+O6wRFXpxQL8j/1ANKE9g==} + '@changesets/cli@2.28.1': + resolution: {integrity: sha512-PiIyGRmSc6JddQJe/W1hRPjiN4VrMvb2VfQ6Uydy2punBioQrsxppyG5WafinKcW1mT0jOe/wU4k9Zy5ff21AA==} hasBin: true - '@changesets/config@3.0.5': - resolution: {integrity: sha512-QyXLSSd10GquX7hY0Mt4yQFMEeqnO5z/XLpbIr4PAkNNoQNKwDyiSrx4yd749WddusH1v3OSiA0NRAYmH/APpQ==} + '@changesets/config@3.1.1': + resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.1.2': - resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} + '@changesets/get-dependents-graph@2.1.3': + resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - '@changesets/get-release-plan@4.0.6': - resolution: {integrity: sha512-FHRwBkY7Eili04Y5YMOZb0ezQzKikTka4wL753vfUA5COSebt7KThqiuCN9BewE4/qFGgF/5t3AuzXx1/UAY4w==} + '@changesets/get-release-plan@4.0.8': + resolution: {integrity: sha512-MM4mq2+DQU1ZT7nqxnpveDMTkMBLnwNX44cX7NSxlXmr7f8hO6/S2MXNiXG54uf/0nYnefv0cfy4Czf/ZL/EKQ==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} @@ -204,26 +204,26 @@ packages: '@changesets/logger@0.1.1': resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - '@changesets/parse@0.4.0': - resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} + '@changesets/parse@0.4.1': + resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==} - '@changesets/pre@2.0.1': - resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} + '@changesets/pre@2.0.2': + resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - '@changesets/read@0.6.2': - resolution: {integrity: sha512-wjfQpJvryY3zD61p8jR87mJdyx2FIhEcdXhKUqkja87toMrP/3jtg/Yg29upN+N4Ckf525/uvV7a4tzBlpk6gg==} + '@changesets/read@0.6.3': + resolution: {integrity: sha512-9H4p/OuJ3jXEUTjaVGdQEhBdqoT2cO5Ts95JTFsQyawmKzpL8FnIeJSyhTDPW1MBRDnwZlHFEM9SpPwJDY5wIg==} - '@changesets/should-skip-package@0.1.1': - resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} + '@changesets/should-skip-package@0.1.2': + resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - '@changesets/types@6.0.0': - resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} + '@changesets/types@6.1.0': + resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} - '@changesets/write@0.3.2': - resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} + '@changesets/write@0.4.0': + resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} '@chialab/esbuild-plugin-meta-url@0.18.2': resolution: {integrity: sha512-uIRIdLvYnw5mLrTRXY0BTgeZx6ANL2/OHkWFl8FaiTYNb7cyXmwEDRE1mh6kBXPRPtGuqv6XSpNX+koEkElu4g==} @@ -762,14 +762,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.13.4': - resolution: {integrity: sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==} + '@types/node@22.13.5': + resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==} - '@vitest/expect@3.0.5': - resolution: {integrity: sha512-nNIOqupgZ4v5jWuQx2DSlHLEs7Q4Oh/7AYwNyE+k0UQzG7tSmjPXShUikn1mpNGzYEN2jJbTvLejwShMitovBA==} + '@vitest/expect@3.0.6': + resolution: {integrity: sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg==} - '@vitest/mocker@3.0.5': - resolution: {integrity: sha512-CLPNBFBIE7x6aEGbIjaQAX03ZZlBMaWwAjBdMkIf/cAn6xzLTiM3zYqO/WAbieEjsAZir6tO71mzeHZoodThvw==} + '@vitest/mocker@3.0.6': + resolution: {integrity: sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -779,20 +779,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.0.5': - resolution: {integrity: sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==} + '@vitest/pretty-format@3.0.6': + resolution: {integrity: sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==} - '@vitest/runner@3.0.5': - resolution: {integrity: sha512-BAiZFityFexZQi2yN4OX3OkJC6scwRo8EhRB0Z5HIGGgd2q+Nq29LgHU/+ovCtd0fOfXj5ZI6pwdlUmC5bpi8A==} + '@vitest/runner@3.0.6': + resolution: {integrity: sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA==} - '@vitest/snapshot@3.0.5': - resolution: {integrity: sha512-GJPZYcd7v8QNUJ7vRvLDmRwl+a1fGg4T/54lZXe+UOGy47F9yUfE18hRCtXL5aHN/AONu29NGzIXSVFh9K0feA==} + '@vitest/snapshot@3.0.6': + resolution: {integrity: sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg==} - '@vitest/spy@3.0.5': - resolution: {integrity: sha512-5fOzHj0WbUNqPK6blI/8VzZdkBlQLnT25knX0r4dbZI9qoZDf3qAdjoMmDcLG5A83W6oUUFJgUd0EYBc2P5xqg==} + '@vitest/spy@3.0.6': + resolution: {integrity: sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q==} - '@vitest/utils@3.0.5': - resolution: {integrity: sha512-N9AX0NUoUtVwKwy21JtwzaqR5L5R5A99GAbrHfCCXK1lp593i/3AZAXhSP43wRQuxYsflrdzEfXZFo1reR1Nkg==} + '@vitest/utils@3.0.6': + resolution: {integrity: sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -852,8 +852,8 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - chai@5.1.2: - resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + chai@5.2.0: + resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} engines: {node: '>=12'} chardet@0.7.0: @@ -1040,8 +1040,9 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - human-id@1.0.2: - resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + human-id@4.1.1: + resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} + hasBin: true human-signals@8.0.0: resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} @@ -1137,6 +1138,9 @@ packages: loupe@3.1.2: resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + loupe@3.1.3: + resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + lru-cache@10.1.0: resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} @@ -1261,8 +1265,8 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pathe@2.0.2: - resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} pathval@2.0.0: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} @@ -1573,8 +1577,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.0.5: - resolution: {integrity: sha512-02JEJl7SbtwSDJdYS537nU6l+ktdvcREfLksk/NDAqtdKWGqHl+joXzEubHROmS3E6pip+Xgu2tFezMu75jH7A==} + vite-node@3.0.6: + resolution: {integrity: sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1606,16 +1610,16 @@ packages: terser: optional: true - vitest@3.0.5: - resolution: {integrity: sha512-4dof+HvqONw9bvsYxtkfUp2uHsTN9bV2CZIi1pWgoFpL1Lld8LA1ka9q/ONSsoScAKG7NVGf2stJTI7XRkXb2Q==} + vitest@3.0.6: + resolution: {integrity: sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.5 - '@vitest/ui': 3.0.5 + '@vitest/browser': 3.0.6 + '@vitest/ui': 3.0.6 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1690,13 +1694,13 @@ snapshots: dependencies: tar: 7.4.3 - '@changesets/apply-release-plan@7.0.8': + '@changesets/apply-release-plan@7.0.10': dependencies: - '@changesets/config': 3.0.5 + '@changesets/config': 3.1.1 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.2 - '@changesets/should-skip-package': 0.1.1 - '@changesets/types': 6.0.0 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 fs-extra: 7.0.1 @@ -1706,35 +1710,35 @@ snapshots: resolve-from: 5.0.0 semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.5': + '@changesets/assemble-release-plan@6.0.6': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.2 - '@changesets/should-skip-package': 0.1.1 - '@changesets/types': 6.0.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 semver: 7.6.3 - '@changesets/changelog-git@0.2.0': + '@changesets/changelog-git@0.2.1': dependencies: - '@changesets/types': 6.0.0 + '@changesets/types': 6.1.0 - '@changesets/cli@2.27.12': + '@changesets/cli@2.28.1': dependencies: - '@changesets/apply-release-plan': 7.0.8 - '@changesets/assemble-release-plan': 6.0.5 - '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.5 + '@changesets/apply-release-plan': 7.0.10 + '@changesets/assemble-release-plan': 6.0.6 + '@changesets/changelog-git': 0.2.1 + '@changesets/config': 3.1.1 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.2 - '@changesets/get-release-plan': 4.0.6 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-release-plan': 4.0.8 '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 - '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.2 - '@changesets/should-skip-package': 0.1.1 - '@changesets/types': 6.0.0 - '@changesets/write': 0.3.2 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.3 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@changesets/write': 0.4.0 '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 @@ -1750,12 +1754,12 @@ snapshots: spawndamnit: 3.0.1 term-size: 2.2.1 - '@changesets/config@3.0.5': + '@changesets/config@3.1.1': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.2 + '@changesets/get-dependents-graph': 2.1.3 '@changesets/logger': 0.1.1 - '@changesets/types': 6.0.0 + '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 micromatch: 4.0.8 @@ -1764,20 +1768,20 @@ snapshots: dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.1.2': + '@changesets/get-dependents-graph@2.1.3': dependencies: - '@changesets/types': 6.0.0 + '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 semver: 7.6.3 - '@changesets/get-release-plan@4.0.6': + '@changesets/get-release-plan@4.0.8': dependencies: - '@changesets/assemble-release-plan': 6.0.5 - '@changesets/config': 3.0.5 - '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.2 - '@changesets/types': 6.0.0 + '@changesets/assemble-release-plan': 6.0.6 + '@changesets/config': 3.1.1 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.3 + '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} @@ -1794,42 +1798,42 @@ snapshots: dependencies: picocolors: 1.1.1 - '@changesets/parse@0.4.0': + '@changesets/parse@0.4.1': dependencies: - '@changesets/types': 6.0.0 + '@changesets/types': 6.1.0 js-yaml: 3.14.1 - '@changesets/pre@2.0.1': + '@changesets/pre@2.0.2': dependencies: '@changesets/errors': 0.2.0 - '@changesets/types': 6.0.0 + '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.2': + '@changesets/read@0.6.3': dependencies: '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 - '@changesets/parse': 0.4.0 - '@changesets/types': 6.0.0 + '@changesets/parse': 0.4.1 + '@changesets/types': 6.1.0 fs-extra: 7.0.1 p-filter: 2.1.0 picocolors: 1.1.1 - '@changesets/should-skip-package@0.1.1': + '@changesets/should-skip-package@0.1.2': dependencies: - '@changesets/types': 6.0.0 + '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 '@changesets/types@4.1.0': {} - '@changesets/types@6.0.0': {} + '@changesets/types@6.1.0': {} - '@changesets/write@0.3.2': + '@changesets/write@0.4.0': dependencies: - '@changesets/types': 6.0.0 + '@changesets/types': 6.1.0 fs-extra: 7.0.1 - human-id: 1.0.2 + human-id: 4.1.1 prettier: 2.8.8 '@chialab/esbuild-plugin-meta-url@0.18.2': @@ -2185,48 +2189,48 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.13.4': + '@types/node@22.13.5': dependencies: undici-types: 6.20.0 - '@vitest/expect@3.0.5': + '@vitest/expect@3.0.6': dependencies: - '@vitest/spy': 3.0.5 - '@vitest/utils': 3.0.5 - chai: 5.1.2 + '@vitest/spy': 3.0.6 + '@vitest/utils': 3.0.6 + chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.5(vite@5.2.10(@types/node@22.13.4))': + '@vitest/mocker@3.0.6(vite@5.2.10(@types/node@22.13.5))': dependencies: - '@vitest/spy': 3.0.5 + '@vitest/spy': 3.0.6 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.13.4) + vite: 5.2.10(@types/node@22.13.5) - '@vitest/pretty-format@3.0.5': + '@vitest/pretty-format@3.0.6': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.0.5': + '@vitest/runner@3.0.6': dependencies: - '@vitest/utils': 3.0.5 - pathe: 2.0.2 + '@vitest/utils': 3.0.6 + pathe: 2.0.3 - '@vitest/snapshot@3.0.5': + '@vitest/snapshot@3.0.6': dependencies: - '@vitest/pretty-format': 3.0.5 + '@vitest/pretty-format': 3.0.6 magic-string: 0.30.17 - pathe: 2.0.2 + pathe: 2.0.3 - '@vitest/spy@3.0.5': + '@vitest/spy@3.0.6': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.0.5': + '@vitest/utils@3.0.6': dependencies: - '@vitest/pretty-format': 3.0.5 - loupe: 3.1.2 + '@vitest/pretty-format': 3.0.6 + loupe: 3.1.3 tinyrainbow: 2.0.0 ansi-colors@4.1.3: {} @@ -2272,7 +2276,7 @@ snapshots: cac@6.7.14: {} - chai@5.1.2: + chai@5.2.0: dependencies: assertion-error: 2.0.1 check-error: 2.1.1 @@ -2506,7 +2510,7 @@ snapshots: graceful-fs@4.2.11: {} - human-id@1.0.2: {} + human-id@4.1.1: {} human-signals@8.0.0: {} @@ -2575,6 +2579,8 @@ snapshots: loupe@3.1.2: {} + loupe@3.1.3: {} + lru-cache@10.1.0: {} magic-string@0.30.17: @@ -2671,7 +2677,7 @@ snapshots: path-type@4.0.0: {} - pathe@2.0.2: {} + pathe@2.0.3: {} pathval@2.0.0: {} @@ -2943,13 +2949,13 @@ snapshots: universalify@0.1.2: {} - vite-node@3.0.5(@types/node@22.13.4): + vite-node@3.0.6(@types/node@22.13.5): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 - pathe: 2.0.2 - vite: 5.2.10(@types/node@22.13.4) + pathe: 2.0.3 + vite: 5.2.10(@types/node@22.13.5) transitivePeerDependencies: - '@types/node' - less @@ -2960,39 +2966,39 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.13.4): + vite@5.2.10(@types/node@22.13.5): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.26.0 optionalDependencies: - '@types/node': 22.13.4 + '@types/node': 22.13.5 fsevents: 2.3.3 - vitest@3.0.5(@types/node@22.13.4): + vitest@3.0.6(@types/node@22.13.5): dependencies: - '@vitest/expect': 3.0.5 - '@vitest/mocker': 3.0.5(vite@5.2.10(@types/node@22.13.4)) - '@vitest/pretty-format': 3.0.5 - '@vitest/runner': 3.0.5 - '@vitest/snapshot': 3.0.5 - '@vitest/spy': 3.0.5 - '@vitest/utils': 3.0.5 - chai: 5.1.2 + '@vitest/expect': 3.0.6 + '@vitest/mocker': 3.0.6(vite@5.2.10(@types/node@22.13.5)) + '@vitest/pretty-format': 3.0.6 + '@vitest/runner': 3.0.6 + '@vitest/snapshot': 3.0.6 + '@vitest/spy': 3.0.6 + '@vitest/utils': 3.0.6 + chai: 5.2.0 debug: 4.4.0 expect-type: 1.1.0 magic-string: 0.30.17 - pathe: 2.0.2 + pathe: 2.0.3 std-env: 3.8.0 tinybench: 2.9.0 tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.13.4) - vite-node: 3.0.5(@types/node@22.13.4) + vite: 5.2.10(@types/node@22.13.5) + vite-node: 3.0.6(@types/node@22.13.5) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.4 + '@types/node': 22.13.5 transitivePeerDependencies: - less - lightningcss From 729454c98d950804744968c086e90407f1478686 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 23 Feb 2025 14:34:19 +0000 Subject: [PATCH 061/160] chore: upgrade pnpm --- package.json | 10 ++++++++-- pnpm-lock.yaml | 10 +++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index c313ebd..2e7494f 100644 --- a/package.json +++ b/package.json @@ -31,12 +31,18 @@ ], "devDependencies": { "@changesets/cli": "2.28.1", - "prettier": "^3.5.1", + "prettier": "^3.5.2", "turbo": "^2.4.2", "vitest": "^3.0.6" }, - "packageManager": "pnpm@9.15.4", + "packageManager": "pnpm@10.4.1", "dependencies": { "jiti": "^2.4.2" + }, + "pnpm": { + "onlyBuiltDependencies": [ + "@swc/core", + "esbuild" + ] } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3903caa..80c4f4c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,8 +16,8 @@ importers: specifier: 2.28.1 version: 2.28.1 prettier: - specifier: ^3.5.1 - version: 3.5.1 + specifier: ^3.5.2 + version: 3.5.2 turbo: specifier: ^2.4.2 version: 2.4.2 @@ -1318,8 +1318,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.5.1: - resolution: {integrity: sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw==} + prettier@3.5.2: + resolution: {integrity: sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==} engines: {node: '>=14'} hasBin: true @@ -2706,7 +2706,7 @@ snapshots: prettier@2.8.8: {} - prettier@3.5.1: {} + prettier@3.5.2: {} pretty-ms@9.2.0: dependencies: From 20493c7ace2a062ba0d7f3396c7ae18ffdf99c7e Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 23 Feb 2025 14:42:45 +0000 Subject: [PATCH 062/160] release: version and release --- .changeset/pre.json | 11 ----------- packages/create-solid/CHANGELOG.md | 3 +++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 7 +++++++ packages/create/package.json | 2 +- packages/full-solid/CHANGELOG.md | 3 +++ packages/full-solid/package.json | 2 +- packages/utils/CHANGELOG.md | 3 +++ packages/utils/package.json | 2 +- 9 files changed, 20 insertions(+), 15 deletions(-) delete mode 100644 .changeset/pre.json create mode 100644 packages/create-solid/CHANGELOG.md create mode 100644 packages/create/CHANGELOG.md create mode 100644 packages/full-solid/CHANGELOG.md create mode 100644 packages/utils/CHANGELOG.md diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index 6b257a5..0000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "mode": "pre", - "tag": "alpha", - "initialVersions": { - "@solid-cli/create": "0.6.0-alpha.0", - "create-solid": "0.6.0-alpha.1", - "@solid-cli/full": "0.6.0-alpha.0", - "@solid-cli/utils": "0.6.0-alpha.0" - }, - "changesets": [] -} diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md new file mode 100644 index 0000000..4c162bb --- /dev/null +++ b/packages/create-solid/CHANGELOG.md @@ -0,0 +1,3 @@ +# create-solid + +## 0.6.0 diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index efa2425..113cf94 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.0-alpha.1", + "version": "0.6.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md new file mode 100644 index 0000000..59b1f89 --- /dev/null +++ b/packages/create/CHANGELOG.md @@ -0,0 +1,7 @@ +# @solid-cli/create + +## 0.6.0 + +### Patch Changes + +- @solid-cli/utils@0.6.0 diff --git a/packages/create/package.json b/packages/create/package.json index f75f472..58f0b76 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.0-alpha.1", + "version": "0.6.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/full-solid/CHANGELOG.md b/packages/full-solid/CHANGELOG.md new file mode 100644 index 0000000..5eef41c --- /dev/null +++ b/packages/full-solid/CHANGELOG.md @@ -0,0 +1,3 @@ +# @solid-cli/full + +## 0.6.0 diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 8bf8ea5..7463120 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/full", - "version": "0.6.0-alpha.1", + "version": "0.6.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md new file mode 100644 index 0000000..329d0b3 --- /dev/null +++ b/packages/utils/CHANGELOG.md @@ -0,0 +1,3 @@ +# @solid-cli/utils + +## 0.6.0 diff --git a/packages/utils/package.json b/packages/utils/package.json index 0fd0a60..625b345 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/utils", - "version": "0.6.0-alpha.1", + "version": "0.6.0", "description": "A collection of utilities for the Solid CLI", "license": "MIT", "homepage": "https://solid-cli.netlify.app", From 408141d35bcd9ed1e260b359f7cd6548a57b8d72 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 4 Mar 2025 20:55:38 +0000 Subject: [PATCH 063/160] chore: update deps --- package.json | 8 +- packages/create-solid/package.json | 6 +- packages/create/package.json | 6 +- packages/full-solid/package.json | 6 +- packages/utils/package.json | 8 +- pnpm-lock.yaml | 685 ++++++++++++++++++----------- 6 files changed, 456 insertions(+), 263 deletions(-) diff --git a/package.json b/package.json index 2e7494f..402813a 100644 --- a/package.json +++ b/package.json @@ -31,11 +31,11 @@ ], "devDependencies": { "@changesets/cli": "2.28.1", - "prettier": "^3.5.2", - "turbo": "^2.4.2", - "vitest": "^3.0.6" + "prettier": "^3.5.3", + "turbo": "^2.4.4", + "vitest": "^3.0.7" }, - "packageManager": "pnpm@10.4.1", + "packageManager": "pnpm@10.5.2", "dependencies": { "jiti": "^2.4.2" }, diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 113cf94..c564d48 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -32,10 +32,10 @@ }, "devDependencies": { "@clack/prompts": "0.10.0", - "@types/node": "^22.13.5", + "@types/node": "^22.13.9", "picocolors": "^1.1.1", - "tsup": "^8.3.6", - "typescript": "^5.7.3", + "tsup": "^8.4.0", + "typescript": "^5.8.2", "citty": "^0.1.6", "@solid-cli/create": "workspace:*" }, diff --git a/packages/create/package.json b/packages/create/package.json index 58f0b76..f0e7a11 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -37,9 +37,9 @@ "test": "vitest run" }, "devDependencies": { - "typescript": "^5.7.3", - "@types/node": "^22.13.5", - "tsup": "^8.3.6" + "typescript": "^5.8.2", + "@types/node": "^22.13.9", + "tsup": "^8.4.0" }, "publishConfig": { "access": "public" diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 7463120..2d4367a 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -32,12 +32,12 @@ "devDependencies": { "@clack/prompts": "0.10.0", "picocolors": "^1.1.1", - "@types/node": "^22.13.5", + "@types/node": "^22.13.9", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*", - "tsup": "^8.3.6", - "typescript": "^5.7.3" + "tsup": "^8.4.0", + "typescript": "^5.8.2" }, "publishConfig": { "access": "public" diff --git a/packages/utils/package.json b/packages/utils/package.json index 625b345..fc60caf 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,11 +68,11 @@ }, "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.13.5", + "@types/node": "22.13.9", "magicast": "^0.3.5", - "tsup": "^8.3.6", - "typescript": "^5.7.3", - "vitest": "^3.0.6" + "tsup": "^8.4.0", + "typescript": "^5.8.2", + "vitest": "^3.0.7" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 80c4f4c..437d123 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,14 +16,14 @@ importers: specifier: 2.28.1 version: 2.28.1 prettier: - specifier: ^3.5.2 - version: 3.5.2 + specifier: ^3.5.3 + version: 3.5.3 turbo: - specifier: ^2.4.2 - version: 2.4.2 + specifier: ^2.4.4 + version: 2.4.4 vitest: - specifier: ^3.0.6 - version: 3.0.6(@types/node@22.13.5) + specifier: ^3.0.7 + version: 3.0.7(@types/node@22.13.9) packages/create: dependencies: @@ -47,14 +47,14 @@ importers: version: 3.35.0 devDependencies: '@types/node': - specifier: ^22.13.5 - version: 22.13.5 + specifier: ^22.13.9 + version: 22.13.9 tsup: - specifier: ^8.3.6 - version: 8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) + specifier: ^8.4.0 + version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2) typescript: - specifier: ^5.7.3 - version: 5.7.3 + specifier: ^5.8.2 + version: 5.8.2 packages/create-solid: devDependencies: @@ -65,8 +65,8 @@ importers: specifier: workspace:* version: link:../create '@types/node': - specifier: ^22.13.5 - version: 22.13.5 + specifier: ^22.13.9 + version: 22.13.9 citty: specifier: ^0.1.6 version: 0.1.6 @@ -74,11 +74,11 @@ importers: specifier: ^1.1.1 version: 1.1.1 tsup: - specifier: ^8.3.6 - version: 8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) + specifier: ^8.4.0 + version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2) typescript: - specifier: ^5.7.3 - version: 5.7.3 + specifier: ^5.8.2 + version: 5.8.2 packages/full-solid: devDependencies: @@ -92,8 +92,8 @@ importers: specifier: workspace:* version: link:../utils '@types/node': - specifier: ^22.13.5 - version: 22.13.5 + specifier: ^22.13.9 + version: 22.13.9 citty: specifier: ^0.1.6 version: 0.1.6 @@ -101,11 +101,11 @@ importers: specifier: ^1.1.1 version: 1.1.1 tsup: - specifier: ^8.3.6 - version: 8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) + specifier: ^8.4.0 + version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2) typescript: - specifier: ^5.7.3 - version: 5.7.3 + specifier: ^5.8.2 + version: 5.8.2 packages/utils: dependencies: @@ -129,20 +129,20 @@ importers: specifier: ^0.18.2 version: 0.18.2 '@types/node': - specifier: 22.13.5 - version: 22.13.5 + specifier: 22.13.9 + version: 22.13.9 magicast: specifier: ^0.3.5 version: 0.3.5 tsup: - specifier: ^8.3.6 - version: 8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3) + specifier: ^8.4.0 + version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2) typescript: - specifier: ^5.7.3 - version: 5.7.3 + specifier: ^5.8.2 + version: 5.8.2 vitest: - specifier: ^3.0.6 - version: 3.0.6(@types/node@22.13.5) + specifier: ^3.0.7 + version: 3.0.7(@types/node@22.13.9) packages: @@ -253,8 +253,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.24.0': - resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + '@esbuild/aix-ppc64@0.25.0': + resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -265,8 +265,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.24.0': - resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + '@esbuild/android-arm64@0.25.0': + resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -277,8 +277,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.24.0': - resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + '@esbuild/android-arm@0.25.0': + resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -289,8 +289,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.24.0': - resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + '@esbuild/android-x64@0.25.0': + resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -301,8 +301,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.24.0': - resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + '@esbuild/darwin-arm64@0.25.0': + resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -313,8 +313,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.24.0': - resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + '@esbuild/darwin-x64@0.25.0': + resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -325,8 +325,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.24.0': - resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + '@esbuild/freebsd-arm64@0.25.0': + resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -337,8 +337,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.24.0': - resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + '@esbuild/freebsd-x64@0.25.0': + resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -349,8 +349,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.24.0': - resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + '@esbuild/linux-arm64@0.25.0': + resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -361,8 +361,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.24.0': - resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + '@esbuild/linux-arm@0.25.0': + resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -373,8 +373,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.24.0': - resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + '@esbuild/linux-ia32@0.25.0': + resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -385,8 +385,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.24.0': - resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + '@esbuild/linux-loong64@0.25.0': + resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -397,8 +397,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.24.0': - resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + '@esbuild/linux-mips64el@0.25.0': + resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -409,8 +409,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.24.0': - resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + '@esbuild/linux-ppc64@0.25.0': + resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -421,8 +421,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.24.0': - resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + '@esbuild/linux-riscv64@0.25.0': + resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -433,8 +433,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.24.0': - resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + '@esbuild/linux-s390x@0.25.0': + resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -445,26 +445,32 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.24.0': - resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + '@esbuild/linux-x64@0.25.0': + resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/netbsd-arm64@0.25.0': + resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.20.2': resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.24.0': - resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + '@esbuild/netbsd-x64@0.25.0': + resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.24.0': - resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + '@esbuild/openbsd-arm64@0.25.0': + resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -475,8 +481,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.24.0': - resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + '@esbuild/openbsd-x64@0.25.0': + resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -487,8 +493,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.24.0': - resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + '@esbuild/sunos-x64@0.25.0': + resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -499,8 +505,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.24.0': - resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + '@esbuild/win32-arm64@0.25.0': + resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -511,8 +517,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.24.0': - resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + '@esbuild/win32-ia32@0.25.0': + resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -523,8 +529,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.24.0': - resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + '@esbuild/win32-x64@0.25.0': + resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -589,91 +595,186 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.34.9': + resolution: {integrity: sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.26.0': resolution: {integrity: sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==} cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.34.9': + resolution: {integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==} + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.26.0': resolution: {integrity: sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==} cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.34.9': + resolution: {integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==} + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.26.0': resolution: {integrity: sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==} cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.34.9': + resolution: {integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==} + cpu: [x64] + os: [darwin] + '@rollup/rollup-freebsd-arm64@4.26.0': resolution: {integrity: sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==} cpu: [arm64] os: [freebsd] + '@rollup/rollup-freebsd-arm64@4.34.9': + resolution: {integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==} + cpu: [arm64] + os: [freebsd] + '@rollup/rollup-freebsd-x64@4.26.0': resolution: {integrity: sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==} cpu: [x64] os: [freebsd] + '@rollup/rollup-freebsd-x64@4.34.9': + resolution: {integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==} + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.26.0': resolution: {integrity: sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-gnueabihf@4.34.9': + resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.26.0': resolution: {integrity: sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.34.9': + resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.26.0': resolution: {integrity: sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.34.9': + resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-arm64-musl@4.26.0': resolution: {integrity: sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-musl@4.34.9': + resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.34.9': + resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==} + cpu: [loong64] + os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': resolution: {integrity: sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==} cpu: [ppc64] os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': + resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==} + cpu: [ppc64] + os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.26.0': resolution: {integrity: sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==} cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.34.9': + resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.26.0': resolution: {integrity: sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==} cpu: [s390x] os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.34.9': + resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==} + cpu: [s390x] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.26.0': resolution: {integrity: sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.34.9': + resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==} + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-musl@4.26.0': resolution: {integrity: sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-musl@4.34.9': + resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==} + cpu: [x64] + os: [linux] + '@rollup/rollup-win32-arm64-msvc@4.26.0': resolution: {integrity: sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==} cpu: [arm64] os: [win32] + '@rollup/rollup-win32-arm64-msvc@4.34.9': + resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==} + cpu: [arm64] + os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.26.0': resolution: {integrity: sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==} cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.34.9': + resolution: {integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==} + cpu: [ia32] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.26.0': resolution: {integrity: sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==} cpu: [x64] os: [win32] + '@rollup/rollup-win32-x64-msvc@4.34.9': + resolution: {integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==} + cpu: [x64] + os: [win32] + '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} @@ -762,14 +863,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.13.5': - resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==} + '@types/node@22.13.9': + resolution: {integrity: sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==} - '@vitest/expect@3.0.6': - resolution: {integrity: sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg==} + '@vitest/expect@3.0.7': + resolution: {integrity: sha512-QP25f+YJhzPfHrHfYHtvRn+uvkCFCqFtW9CktfBxmB+25QqWsx7VB2As6f4GmwllHLDhXNHvqedwhvMmSnNmjw==} - '@vitest/mocker@3.0.6': - resolution: {integrity: sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==} + '@vitest/mocker@3.0.7': + resolution: {integrity: sha512-qui+3BLz9Eonx4EAuR/i+QlCX6AUZ35taDQgwGkK/Tw6/WgwodSrjN1X2xf69IA/643ZX5zNKIn2svvtZDrs4w==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -779,20 +880,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.0.6': - resolution: {integrity: sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==} + '@vitest/pretty-format@3.0.7': + resolution: {integrity: sha512-CiRY0BViD/V8uwuEzz9Yapyao+M9M008/9oMOSQydwbwb+CMokEq3XVaF3XK/VWaOK0Jm9z7ENhybg70Gtxsmg==} - '@vitest/runner@3.0.6': - resolution: {integrity: sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA==} + '@vitest/runner@3.0.7': + resolution: {integrity: sha512-WeEl38Z0S2ZcuRTeyYqaZtm4e26tq6ZFqh5y8YD9YxfWuu0OFiGFUbnxNynwLjNRHPsXyee2M9tV7YxOTPZl2g==} - '@vitest/snapshot@3.0.6': - resolution: {integrity: sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg==} + '@vitest/snapshot@3.0.7': + resolution: {integrity: sha512-eqTUryJWQN0Rtf5yqCGTQWsCFOQe4eNz5Twsu21xYEcnFJtMU5XvmG0vgebhdLlrHQTSq5p8vWHJIeJQV8ovsA==} - '@vitest/spy@3.0.6': - resolution: {integrity: sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q==} + '@vitest/spy@3.0.7': + resolution: {integrity: sha512-4T4WcsibB0B6hrKdAZTM37ekuyFZt2cGbEGd2+L0P8ov15J1/HUsUaqkXEQPNAWr4BtPPe1gI+FYfMHhEKfR8w==} - '@vitest/utils@3.0.6': - resolution: {integrity: sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ==} + '@vitest/utils@3.0.7': + resolution: {integrity: sha512-xePVpCRfooFX3rANQjwoditoXgWb1MaFbzmGuPP59MK6i13mrnDw/yEIyJudLeW6/38mCNcwCiJIGmpDPibAIg==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -842,8 +943,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - bundle-require@5.0.0: - resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.18' @@ -863,8 +964,8 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - chokidar@4.0.1: - resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} chownr@3.0.0: @@ -893,6 +994,10 @@ packages: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} + engines: {node: ^14.18.0 || >=16.10.0} + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -948,8 +1053,8 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.24.0: - resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + esbuild@0.25.0: + resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==} engines: {node: '>=18'} hasBin: true @@ -983,8 +1088,8 @@ packages: fastq@1.18.0: resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} - fdir@6.4.2: - resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -1135,9 +1240,6 @@ packages: lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - loupe@3.1.2: - resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} - loupe@3.1.3: resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} @@ -1318,8 +1420,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.5.2: - resolution: {integrity: sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==} + prettier@3.5.3: + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} engines: {node: '>=14'} hasBin: true @@ -1363,6 +1465,11 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rollup@4.34.9: + resolution: {integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -1470,8 +1577,8 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.10: - resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + tinyglobby@0.2.12: + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} engines: {node: '>=12.0.0'} tinypool@1.0.2: @@ -1508,8 +1615,8 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tsup@8.3.6: - resolution: {integrity: sha512-XkVtlDV/58S9Ye0JxUUTcrQk4S+EqlOHKzg6Roa62rdjL1nGWNUstG0xgI4vanHdfIpjP448J8vlN0oK6XOJ5g==} + tsup@8.4.0: + resolution: {integrity: sha512-b+eZbPCjz10fRryaAA7C8xlIHnf8VnsaRqydheLIqwG/Mcpfk8Z5zp3HayX7GaTygkigHl5cBUs+IhcySiIexQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -1527,42 +1634,42 @@ packages: typescript: optional: true - turbo-darwin-64@2.4.2: - resolution: {integrity: sha512-HFfemyWB60CJtEvVQj9yby5rkkWw9fLAdLtAPGtPQoU3tKh8t/uzCAZKso2aPVbib9vGUuGbPGoGpaRXdVhj5g==} + turbo-darwin-64@2.4.4: + resolution: {integrity: sha512-5kPvRkLAfmWI0MH96D+/THnDMGXlFNmjeqNRj5grLKiry+M9pKj3pRuScddAXPdlxjO5Ptz06UNaOQrrYGTx1g==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.4.2: - resolution: {integrity: sha512-uwSx1dsBSSFeEC0nxyx2O219FEsS/haiESaWwE9JI8mHkQK61s6w6fN2G586krKxyNam4AIxRltleL+O2Em94g==} + turbo-darwin-arm64@2.4.4: + resolution: {integrity: sha512-/gtHPqbGQXDFhrmy+Q/MFW2HUTUlThJ97WLLSe4bxkDrKHecDYhAjbZ4rN3MM93RV9STQb3Tqy4pZBtsd4DfCw==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.4.2: - resolution: {integrity: sha512-Fy/uL8z/LAYcPbm7a1LwFnTY9pIi5FAi12iuHsgB7zHjdh4eeIKS2NIg4nroAmTcUTUZ0/cVTo4bDOCUcS3aKw==} + turbo-linux-64@2.4.4: + resolution: {integrity: sha512-SR0gri4k0bda56hw5u9VgDXLKb1Q+jrw4lM7WAhnNdXvVoep4d6LmnzgMHQQR12Wxl3KyWPbkz9d1whL6NTm2Q==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.4.2: - resolution: {integrity: sha512-AEA0d8h5W/K6iiXfEgiNwWt0yqRL1NpBs8zQCLdc4/L7WeYeJW3sORWX8zt7xhutF/KW9gTm8ehKpiK6cCIsAA==} + turbo-linux-arm64@2.4.4: + resolution: {integrity: sha512-COXXwzRd3vslQIfJhXUklgEqlwq35uFUZ7hnN+AUyXx7hUOLIiD5NblL+ETrHnhY4TzWszrbwUMfe2BYWtaPQg==} cpu: [arm64] os: [linux] - turbo-windows-64@2.4.2: - resolution: {integrity: sha512-CybtIZ9wRgnnNFVN9En9G+rxsO+mwU81fvW4RpE8BWyNEkhQ8J28qYf4PaimueMxGHHp/28i/G7Kcdn2GAWG0g==} + turbo-windows-64@2.4.4: + resolution: {integrity: sha512-PV9rYNouGz4Ff3fd6sIfQy5L7HT9a4fcZoEv8PKRavU9O75G7PoDtm8scpHU10QnK0QQNLbE9qNxOAeRvF0fJg==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.4.2: - resolution: {integrity: sha512-7V0yneVPL8Y3TgrkUIjw7Odmwu1tHnyIiPHFM7eFcA7U+H6hPXyCxge7nC3wOKfjhKCQqUm+Vf/k6kjmLz5G4g==} + turbo-windows-arm64@2.4.4: + resolution: {integrity: sha512-403sqp9t5sx6YGEC32IfZTVWkRAixOQomGYB8kEc6ZD+//LirSxzeCHCnM8EmSXw7l57U1G+Fb0kxgTcKPU/Lg==} cpu: [arm64] os: [win32] - turbo@2.4.2: - resolution: {integrity: sha512-Qxi0ioQCxMRUCcHKHZkTnYH8e7XCpNfg9QiJcyfWIc+ZXeaCjzV5rCGlbQlTXMAtI8qgfP8fZADv3CFtPwqdPQ==} + turbo@2.4.4: + resolution: {integrity: sha512-N9FDOVaY3yz0YCOhYIgOGYad7+m2ptvinXygw27WPLQvcZDl3+0Sa77KGVlLSiuPDChOUEnTKE9VJwLSi9BPGQ==} hasBin: true - typescript@5.7.3: - resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + typescript@5.8.2: + resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} hasBin: true @@ -1577,8 +1684,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.0.6: - resolution: {integrity: sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw==} + vite-node@3.0.7: + resolution: {integrity: sha512-2fX0QwX4GkkkpULXdT1Pf4q0tC1i1lFOyseKoonavXUNlQ77KpW2XqBGGNIm/J4Ows4KxgGJzDguYVPKwG/n5A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1610,16 +1717,16 @@ packages: terser: optional: true - vitest@3.0.6: - resolution: {integrity: sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA==} + vitest@3.0.7: + resolution: {integrity: sha512-IP7gPK3LS3Fvn44x30X1dM9vtawm0aesAa2yBIZ9vQf+qB69NXC5776+Qmcr7ohUXIQuLhk7xQR0aSUIDPqavg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.6 - '@vitest/ui': 3.0.6 + '@vitest/browser': 3.0.7 + '@vitest/ui': 3.0.7 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1867,142 +1974,145 @@ snapshots: '@esbuild/aix-ppc64@0.20.2': optional: true - '@esbuild/aix-ppc64@0.24.0': + '@esbuild/aix-ppc64@0.25.0': optional: true '@esbuild/android-arm64@0.20.2': optional: true - '@esbuild/android-arm64@0.24.0': + '@esbuild/android-arm64@0.25.0': optional: true '@esbuild/android-arm@0.20.2': optional: true - '@esbuild/android-arm@0.24.0': + '@esbuild/android-arm@0.25.0': optional: true '@esbuild/android-x64@0.20.2': optional: true - '@esbuild/android-x64@0.24.0': + '@esbuild/android-x64@0.25.0': optional: true '@esbuild/darwin-arm64@0.20.2': optional: true - '@esbuild/darwin-arm64@0.24.0': + '@esbuild/darwin-arm64@0.25.0': optional: true '@esbuild/darwin-x64@0.20.2': optional: true - '@esbuild/darwin-x64@0.24.0': + '@esbuild/darwin-x64@0.25.0': optional: true '@esbuild/freebsd-arm64@0.20.2': optional: true - '@esbuild/freebsd-arm64@0.24.0': + '@esbuild/freebsd-arm64@0.25.0': optional: true '@esbuild/freebsd-x64@0.20.2': optional: true - '@esbuild/freebsd-x64@0.24.0': + '@esbuild/freebsd-x64@0.25.0': optional: true '@esbuild/linux-arm64@0.20.2': optional: true - '@esbuild/linux-arm64@0.24.0': + '@esbuild/linux-arm64@0.25.0': optional: true '@esbuild/linux-arm@0.20.2': optional: true - '@esbuild/linux-arm@0.24.0': + '@esbuild/linux-arm@0.25.0': optional: true '@esbuild/linux-ia32@0.20.2': optional: true - '@esbuild/linux-ia32@0.24.0': + '@esbuild/linux-ia32@0.25.0': optional: true '@esbuild/linux-loong64@0.20.2': optional: true - '@esbuild/linux-loong64@0.24.0': + '@esbuild/linux-loong64@0.25.0': optional: true '@esbuild/linux-mips64el@0.20.2': optional: true - '@esbuild/linux-mips64el@0.24.0': + '@esbuild/linux-mips64el@0.25.0': optional: true '@esbuild/linux-ppc64@0.20.2': optional: true - '@esbuild/linux-ppc64@0.24.0': + '@esbuild/linux-ppc64@0.25.0': optional: true '@esbuild/linux-riscv64@0.20.2': optional: true - '@esbuild/linux-riscv64@0.24.0': + '@esbuild/linux-riscv64@0.25.0': optional: true '@esbuild/linux-s390x@0.20.2': optional: true - '@esbuild/linux-s390x@0.24.0': + '@esbuild/linux-s390x@0.25.0': optional: true '@esbuild/linux-x64@0.20.2': optional: true - '@esbuild/linux-x64@0.24.0': + '@esbuild/linux-x64@0.25.0': + optional: true + + '@esbuild/netbsd-arm64@0.25.0': optional: true '@esbuild/netbsd-x64@0.20.2': optional: true - '@esbuild/netbsd-x64@0.24.0': + '@esbuild/netbsd-x64@0.25.0': optional: true - '@esbuild/openbsd-arm64@0.24.0': + '@esbuild/openbsd-arm64@0.25.0': optional: true '@esbuild/openbsd-x64@0.20.2': optional: true - '@esbuild/openbsd-x64@0.24.0': + '@esbuild/openbsd-x64@0.25.0': optional: true '@esbuild/sunos-x64@0.20.2': optional: true - '@esbuild/sunos-x64@0.24.0': + '@esbuild/sunos-x64@0.25.0': optional: true '@esbuild/win32-arm64@0.20.2': optional: true - '@esbuild/win32-arm64@0.24.0': + '@esbuild/win32-arm64@0.25.0': optional: true '@esbuild/win32-ia32@0.20.2': optional: true - '@esbuild/win32-ia32@0.24.0': + '@esbuild/win32-ia32@0.25.0': optional: true '@esbuild/win32-x64@0.20.2': optional: true - '@esbuild/win32-x64@0.24.0': + '@esbuild/win32-x64@0.25.0': optional: true '@isaacs/cliui@8.0.2': @@ -2075,57 +2185,114 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.26.0': optional: true + '@rollup/rollup-android-arm-eabi@4.34.9': + optional: true + '@rollup/rollup-android-arm64@4.26.0': optional: true + '@rollup/rollup-android-arm64@4.34.9': + optional: true + '@rollup/rollup-darwin-arm64@4.26.0': optional: true + '@rollup/rollup-darwin-arm64@4.34.9': + optional: true + '@rollup/rollup-darwin-x64@4.26.0': optional: true + '@rollup/rollup-darwin-x64@4.34.9': + optional: true + '@rollup/rollup-freebsd-arm64@4.26.0': optional: true + '@rollup/rollup-freebsd-arm64@4.34.9': + optional: true + '@rollup/rollup-freebsd-x64@4.26.0': optional: true + '@rollup/rollup-freebsd-x64@4.34.9': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.26.0': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.34.9': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.26.0': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.34.9': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.26.0': optional: true + '@rollup/rollup-linux-arm64-gnu@4.34.9': + optional: true + '@rollup/rollup-linux-arm64-musl@4.26.0': optional: true + '@rollup/rollup-linux-arm64-musl@4.34.9': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.34.9': + optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.26.0': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.34.9': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.26.0': optional: true + '@rollup/rollup-linux-s390x-gnu@4.34.9': + optional: true + '@rollup/rollup-linux-x64-gnu@4.26.0': optional: true + '@rollup/rollup-linux-x64-gnu@4.34.9': + optional: true + '@rollup/rollup-linux-x64-musl@4.26.0': optional: true + '@rollup/rollup-linux-x64-musl@4.34.9': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.26.0': optional: true + '@rollup/rollup-win32-arm64-msvc@4.34.9': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.26.0': optional: true + '@rollup/rollup-win32-ia32-msvc@4.34.9': + optional: true + '@rollup/rollup-win32-x64-msvc@4.26.0': optional: true + '@rollup/rollup-win32-x64-msvc@4.34.9': + optional: true + '@sec-ant/readable-stream@0.4.1': {} '@sindresorhus/merge-streams@4.0.0': {} @@ -2189,47 +2356,47 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.13.5': + '@types/node@22.13.9': dependencies: undici-types: 6.20.0 - '@vitest/expect@3.0.6': + '@vitest/expect@3.0.7': dependencies: - '@vitest/spy': 3.0.6 - '@vitest/utils': 3.0.6 + '@vitest/spy': 3.0.7 + '@vitest/utils': 3.0.7 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.6(vite@5.2.10(@types/node@22.13.5))': + '@vitest/mocker@3.0.7(vite@5.2.10(@types/node@22.13.9))': dependencies: - '@vitest/spy': 3.0.6 + '@vitest/spy': 3.0.7 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.13.5) + vite: 5.2.10(@types/node@22.13.9) - '@vitest/pretty-format@3.0.6': + '@vitest/pretty-format@3.0.7': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.0.6': + '@vitest/runner@3.0.7': dependencies: - '@vitest/utils': 3.0.6 + '@vitest/utils': 3.0.7 pathe: 2.0.3 - '@vitest/snapshot@3.0.6': + '@vitest/snapshot@3.0.7': dependencies: - '@vitest/pretty-format': 3.0.6 + '@vitest/pretty-format': 3.0.7 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.0.6': + '@vitest/spy@3.0.7': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.0.6': + '@vitest/utils@3.0.7': dependencies: - '@vitest/pretty-format': 3.0.6 + '@vitest/pretty-format': 3.0.7 loupe: 3.1.3 tinyrainbow: 2.0.0 @@ -2269,9 +2436,9 @@ snapshots: dependencies: fill-range: 7.1.1 - bundle-require@5.0.0(esbuild@0.24.0): + bundle-require@5.1.0(esbuild@0.25.0): dependencies: - esbuild: 0.24.0 + esbuild: 0.25.0 load-tsconfig: 0.2.5 cac@6.7.14: {} @@ -2281,14 +2448,14 @@ snapshots: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.2 + loupe: 3.1.3 pathval: 2.0.0 chardet@0.7.0: {} check-error@2.1.1: {} - chokidar@4.0.1: + chokidar@4.0.3: dependencies: readdirp: 4.0.2 @@ -2310,6 +2477,8 @@ snapshots: consola@3.2.3: {} + consola@3.4.0: {} + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -2375,32 +2544,33 @@ snapshots: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - esbuild@0.24.0: + esbuild@0.25.0: optionalDependencies: - '@esbuild/aix-ppc64': 0.24.0 - '@esbuild/android-arm': 0.24.0 - '@esbuild/android-arm64': 0.24.0 - '@esbuild/android-x64': 0.24.0 - '@esbuild/darwin-arm64': 0.24.0 - '@esbuild/darwin-x64': 0.24.0 - '@esbuild/freebsd-arm64': 0.24.0 - '@esbuild/freebsd-x64': 0.24.0 - '@esbuild/linux-arm': 0.24.0 - '@esbuild/linux-arm64': 0.24.0 - '@esbuild/linux-ia32': 0.24.0 - '@esbuild/linux-loong64': 0.24.0 - '@esbuild/linux-mips64el': 0.24.0 - '@esbuild/linux-ppc64': 0.24.0 - '@esbuild/linux-riscv64': 0.24.0 - '@esbuild/linux-s390x': 0.24.0 - '@esbuild/linux-x64': 0.24.0 - '@esbuild/netbsd-x64': 0.24.0 - '@esbuild/openbsd-arm64': 0.24.0 - '@esbuild/openbsd-x64': 0.24.0 - '@esbuild/sunos-x64': 0.24.0 - '@esbuild/win32-arm64': 0.24.0 - '@esbuild/win32-ia32': 0.24.0 - '@esbuild/win32-x64': 0.24.0 + '@esbuild/aix-ppc64': 0.25.0 + '@esbuild/android-arm': 0.25.0 + '@esbuild/android-arm64': 0.25.0 + '@esbuild/android-x64': 0.25.0 + '@esbuild/darwin-arm64': 0.25.0 + '@esbuild/darwin-x64': 0.25.0 + '@esbuild/freebsd-arm64': 0.25.0 + '@esbuild/freebsd-x64': 0.25.0 + '@esbuild/linux-arm': 0.25.0 + '@esbuild/linux-arm64': 0.25.0 + '@esbuild/linux-ia32': 0.25.0 + '@esbuild/linux-loong64': 0.25.0 + '@esbuild/linux-mips64el': 0.25.0 + '@esbuild/linux-ppc64': 0.25.0 + '@esbuild/linux-riscv64': 0.25.0 + '@esbuild/linux-s390x': 0.25.0 + '@esbuild/linux-x64': 0.25.0 + '@esbuild/netbsd-arm64': 0.25.0 + '@esbuild/netbsd-x64': 0.25.0 + '@esbuild/openbsd-arm64': 0.25.0 + '@esbuild/openbsd-x64': 0.25.0 + '@esbuild/sunos-x64': 0.25.0 + '@esbuild/win32-arm64': 0.25.0 + '@esbuild/win32-ia32': 0.25.0 + '@esbuild/win32-x64': 0.25.0 esprima@4.0.1: {} @@ -2445,7 +2615,7 @@ snapshots: dependencies: reusify: 1.0.4 - fdir@6.4.2(picomatch@4.0.2): + fdir@6.4.3(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -2577,8 +2747,6 @@ snapshots: lodash.startcase@4.4.0: {} - loupe@3.1.2: {} - loupe@3.1.3: {} lru-cache@10.1.0: {} @@ -2706,7 +2874,7 @@ snapshots: prettier@2.8.8: {} - prettier@3.5.2: {} + prettier@3.5.3: {} pretty-ms@9.2.0: dependencies: @@ -2759,6 +2927,31 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.26.0 fsevents: 2.3.3 + rollup@4.34.9: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.34.9 + '@rollup/rollup-android-arm64': 4.34.9 + '@rollup/rollup-darwin-arm64': 4.34.9 + '@rollup/rollup-darwin-x64': 4.34.9 + '@rollup/rollup-freebsd-arm64': 4.34.9 + '@rollup/rollup-freebsd-x64': 4.34.9 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.9 + '@rollup/rollup-linux-arm-musleabihf': 4.34.9 + '@rollup/rollup-linux-arm64-gnu': 4.34.9 + '@rollup/rollup-linux-arm64-musl': 4.34.9 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.9 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.9 + '@rollup/rollup-linux-riscv64-gnu': 4.34.9 + '@rollup/rollup-linux-s390x-gnu': 4.34.9 + '@rollup/rollup-linux-x64-gnu': 4.34.9 + '@rollup/rollup-linux-x64-musl': 4.34.9 + '@rollup/rollup-win32-arm64-msvc': 4.34.9 + '@rollup/rollup-win32-ia32-msvc': 4.34.9 + '@rollup/rollup-win32-x64-msvc': 4.34.9 + fsevents: 2.3.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -2857,9 +3050,9 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.10: + tinyglobby@0.2.12: dependencies: - fdir: 6.4.2(picomatch@4.0.2) + fdir: 6.4.3(picomatch@4.0.2) picomatch: 4.0.2 tinypool@1.0.2: {} @@ -2886,62 +3079,62 @@ snapshots: ts-interface-checker@0.1.13: {} - tsup@8.3.6(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.7.3): + tsup@8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2): dependencies: - bundle-require: 5.0.0(esbuild@0.24.0) + bundle-require: 5.1.0(esbuild@0.25.0) cac: 6.7.14 - chokidar: 4.0.1 - consola: 3.2.3 + chokidar: 4.0.3 + consola: 3.4.0 debug: 4.4.0 - esbuild: 0.24.0 + esbuild: 0.25.0 joycon: 3.1.1 picocolors: 1.1.1 postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.38) resolve-from: 5.0.0 - rollup: 4.26.0 + rollup: 4.34.9 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.2 - tinyglobby: 0.2.10 + tinyglobby: 0.2.12 tree-kill: 1.2.2 optionalDependencies: '@swc/core': 1.5.5 postcss: 8.4.38 - typescript: 5.7.3 + typescript: 5.8.2 transitivePeerDependencies: - jiti - supports-color - tsx - yaml - turbo-darwin-64@2.4.2: + turbo-darwin-64@2.4.4: optional: true - turbo-darwin-arm64@2.4.2: + turbo-darwin-arm64@2.4.4: optional: true - turbo-linux-64@2.4.2: + turbo-linux-64@2.4.4: optional: true - turbo-linux-arm64@2.4.2: + turbo-linux-arm64@2.4.4: optional: true - turbo-windows-64@2.4.2: + turbo-windows-64@2.4.4: optional: true - turbo-windows-arm64@2.4.2: + turbo-windows-arm64@2.4.4: optional: true - turbo@2.4.2: + turbo@2.4.4: optionalDependencies: - turbo-darwin-64: 2.4.2 - turbo-darwin-arm64: 2.4.2 - turbo-linux-64: 2.4.2 - turbo-linux-arm64: 2.4.2 - turbo-windows-64: 2.4.2 - turbo-windows-arm64: 2.4.2 + turbo-darwin-64: 2.4.4 + turbo-darwin-arm64: 2.4.4 + turbo-linux-64: 2.4.4 + turbo-linux-arm64: 2.4.4 + turbo-windows-64: 2.4.4 + turbo-windows-arm64: 2.4.4 - typescript@5.7.3: {} + typescript@5.8.2: {} undici-types@6.20.0: {} @@ -2949,13 +3142,13 @@ snapshots: universalify@0.1.2: {} - vite-node@3.0.6(@types/node@22.13.5): + vite-node@3.0.7(@types/node@22.13.9): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 5.2.10(@types/node@22.13.5) + vite: 5.2.10(@types/node@22.13.9) transitivePeerDependencies: - '@types/node' - less @@ -2966,24 +3159,24 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.13.5): + vite@5.2.10(@types/node@22.13.9): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.26.0 optionalDependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 fsevents: 2.3.3 - vitest@3.0.6(@types/node@22.13.5): + vitest@3.0.7(@types/node@22.13.9): dependencies: - '@vitest/expect': 3.0.6 - '@vitest/mocker': 3.0.6(vite@5.2.10(@types/node@22.13.5)) - '@vitest/pretty-format': 3.0.6 - '@vitest/runner': 3.0.6 - '@vitest/snapshot': 3.0.6 - '@vitest/spy': 3.0.6 - '@vitest/utils': 3.0.6 + '@vitest/expect': 3.0.7 + '@vitest/mocker': 3.0.7(vite@5.2.10(@types/node@22.13.9)) + '@vitest/pretty-format': 3.0.7 + '@vitest/runner': 3.0.7 + '@vitest/snapshot': 3.0.7 + '@vitest/spy': 3.0.7 + '@vitest/utils': 3.0.7 chai: 5.2.0 debug: 4.4.0 expect-type: 1.1.0 @@ -2994,11 +3187,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.13.5) - vite-node: 3.0.6(@types/node@22.13.5) + vite: 5.2.10(@types/node@22.13.9) + vite-node: 3.0.7(@types/node@22.13.9) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.9 transitivePeerDependencies: - less - lightningcss From 7609a87b3c9cdd9efb8705caaf757d2f4b99ec4a Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 4 Mar 2025 20:59:06 +0000 Subject: [PATCH 064/160] fix: regression from 0.5.x: write `.gitignore` to new projects --- packages/create/src/index.ts | 7 +++++-- packages/create/src/utils/constants.ts | 3 +-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index dd1035b..77efc43 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -3,10 +3,11 @@ import { createVanilla } from "./create-vanilla"; import * as p from "@clack/prompts"; import { cancelable, spinnerify } from "@solid-cli/utils/ui"; import { createStart } from "./create-start"; -import { getTemplatesList, StartTemplate, VanillaTemplate } from "./utils/constants"; +import { getTemplatesList, GIT_IGNORE, StartTemplate, VanillaTemplate } from "./utils/constants"; import { detectPackageManager } from "@solid-cli/utils/package-manager"; import { insertAtEnd } from "@solid-cli/utils/fs"; -import { existsSync } from "node:fs"; +import { existsSync, writeFileSync } from "node:fs"; +import { join } from "node:path"; export { createVanilla, createStart }; export const createSolid = (version: string) => defineCommand({ @@ -75,6 +76,8 @@ export const createSolid = (version: string) => fn: () => createVanilla({ template: template as VanillaTemplate, destination: projectName }, transpileToJS), }); } + // Add .gitignore + writeFileSync(join(projectName, ".gitignore"), GIT_IGNORE); // Add "Created with Solid CLI" text to bottom of README if (existsSync(`${projectName}/README.md`)) await insertAtEnd( diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index 8ac3ba6..fbccf1b 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -1,5 +1,4 @@ -export const GIT_IGNORE = ` -dist +export const GIT_IGNORE = `dist .solid .output .vercel From 86764930891b55f2024b049a0f5195314b9f584c Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 4 Mar 2025 21:01:58 +0000 Subject: [PATCH 065/160] release: version and release fixes #60 --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- packages/full-solid/CHANGELOG.md | 6 ++++++ packages/full-solid/package.json | 2 +- 6 files changed, 21 insertions(+), 3 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 4c162bb..a7c73ca 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,3 +1,9 @@ # create-solid +## 0.6.1 + +### Patch Changes + +- Fix regression from 0.5.x (.gitignore wasn't being written to new projects) + ## 0.6.0 diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index c564d48..d7acf20 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.0", + "version": "0.6.1", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 59b1f89..7cd1fb5 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.1 + +### Patch Changes + +- Fix regression from 0.5.x (.gitignore wasn't being written to new projects) + ## 0.6.0 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index f0e7a11..2490c0f 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.0", + "version": "0.6.1", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/full-solid/CHANGELOG.md b/packages/full-solid/CHANGELOG.md index 5eef41c..82d25df 100644 --- a/packages/full-solid/CHANGELOG.md +++ b/packages/full-solid/CHANGELOG.md @@ -1,3 +1,9 @@ # @solid-cli/full +## 0.6.1 + +### Patch Changes + +- Fix regression from 0.5.x (.gitignore wasn't being written to new projects) + ## 0.6.0 diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 2d4367a..b1dabcb 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/full", - "version": "0.6.0", + "version": "0.6.1", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From 7d20849f7fcc0d08d28ad9ac8d9e6ce48909a64d Mon Sep 17 00:00:00 2001 From: huseeiin <122984423+huseeiin@users.noreply.github.com> Date: Fri, 14 Mar 2025 05:24:58 -0400 Subject: [PATCH 066/160] Update constants.ts delete .solid and add .wrangler --- packages/create/src/utils/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index fbccf1b..2c894f8 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -1,5 +1,5 @@ export const GIT_IGNORE = `dist -.solid +.wrangler .output .vercel .netlify From 1ff35113d0781c2153b543721563df6026211b0e Mon Sep 17 00:00:00 2001 From: Brenley Dueck Date: Fri, 14 Mar 2025 20:59:04 -0500 Subject: [PATCH 067/160] fix: non-typescript templates --- packages/create/src/utils/ts-conversion.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/utils/ts-conversion.ts b/packages/create/src/utils/ts-conversion.ts index 001923a..a13da71 100644 --- a/packages/create/src/utils/ts-conversion.ts +++ b/packages/create/src/utils/ts-conversion.ts @@ -6,7 +6,7 @@ import { rm } from "node:fs/promises"; import { JS_CONFIG } from "./constants"; const convertToJS = async (file: Dirent, startPath: string) => { const src = join(startPath, file.name); - const dest = resolve(startPath.replace(".solid-start", ""), file.name); + const dest = resolve(startPath.replace(".project", ""), file.name); if (file.isDirectory()) { mkdirSync(dest, { recursive: true }); recurseFiles(resolve(startPath, file.name), convertToJS); From cbe3d4d997bd7f95ef45737cadd55afde31cbf63 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 15 Mar 2025 17:37:00 +0000 Subject: [PATCH 068/160] release --- packages/create-solid/package.json | 2 +- packages/create/package.json | 2 +- packages/full-solid/package.json | 2 +- packages/utils/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index d7acf20..8e26cb7 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.1", + "version": "0.6.2", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/package.json b/packages/create/package.json index 2490c0f..f9681c8 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.1", + "version": "0.6.2", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index b1dabcb..68a0fad 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/full", - "version": "0.6.1", + "version": "0.6.2", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/utils/package.json b/packages/utils/package.json index fc60caf..5e58ee1 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/utils", - "version": "0.6.0", + "version": "0.6.1", "description": "A collection of utilities for the Solid CLI", "license": "MIT", "homepage": "https://solid-cli.netlify.app", From d608d2dc9b1a473948a6c52fca9ae73ca0388c6c Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 29 Mar 2025 22:02:08 +0000 Subject: [PATCH 069/160] chore: update deps --- package.json | 4 +- packages/create-solid/package.json | 2 +- packages/create/package.json | 2 +- packages/full-solid/package.json | 2 +- packages/utils/package.json | 4 +- pnpm-lock.yaml | 128 ++++++++++++++--------------- 6 files changed, 71 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 402813a..2974816 100644 --- a/package.json +++ b/package.json @@ -33,9 +33,9 @@ "@changesets/cli": "2.28.1", "prettier": "^3.5.3", "turbo": "^2.4.4", - "vitest": "^3.0.7" + "vitest": "^3.0.9" }, - "packageManager": "pnpm@10.5.2", + "packageManager": "pnpm@10.7.0", "dependencies": { "jiti": "^2.4.2" }, diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 8e26cb7..d99a156 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@clack/prompts": "0.10.0", - "@types/node": "^22.13.9", + "@types/node": "^22.13.14", "picocolors": "^1.1.1", "tsup": "^8.4.0", "typescript": "^5.8.2", diff --git a/packages/create/package.json b/packages/create/package.json index f9681c8..b1e3bf7 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -38,7 +38,7 @@ }, "devDependencies": { "typescript": "^5.8.2", - "@types/node": "^22.13.9", + "@types/node": "^22.13.14", "tsup": "^8.4.0" }, "publishConfig": { diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 68a0fad..47a258e 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@clack/prompts": "0.10.0", "picocolors": "^1.1.1", - "@types/node": "^22.13.9", + "@types/node": "^22.13.14", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*", diff --git a/packages/utils/package.json b/packages/utils/package.json index 5e58ee1..ef28cca 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,11 +68,11 @@ }, "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.13.9", + "@types/node": "22.13.14", "magicast": "^0.3.5", "tsup": "^8.4.0", "typescript": "^5.8.2", - "vitest": "^3.0.7" + "vitest": "^3.0.9" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 437d123..87452b9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,8 +22,8 @@ importers: specifier: ^2.4.4 version: 2.4.4 vitest: - specifier: ^3.0.7 - version: 3.0.7(@types/node@22.13.9) + specifier: ^3.0.9 + version: 3.0.9(@types/node@22.13.14) packages/create: dependencies: @@ -47,8 +47,8 @@ importers: version: 3.35.0 devDependencies: '@types/node': - specifier: ^22.13.9 - version: 22.13.9 + specifier: ^22.13.14 + version: 22.13.14 tsup: specifier: ^8.4.0 version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2) @@ -65,8 +65,8 @@ importers: specifier: workspace:* version: link:../create '@types/node': - specifier: ^22.13.9 - version: 22.13.9 + specifier: ^22.13.14 + version: 22.13.14 citty: specifier: ^0.1.6 version: 0.1.6 @@ -92,8 +92,8 @@ importers: specifier: workspace:* version: link:../utils '@types/node': - specifier: ^22.13.9 - version: 22.13.9 + specifier: ^22.13.14 + version: 22.13.14 citty: specifier: ^0.1.6 version: 0.1.6 @@ -129,8 +129,8 @@ importers: specifier: ^0.18.2 version: 0.18.2 '@types/node': - specifier: 22.13.9 - version: 22.13.9 + specifier: 22.13.14 + version: 22.13.14 magicast: specifier: ^0.3.5 version: 0.3.5 @@ -141,8 +141,8 @@ importers: specifier: ^5.8.2 version: 5.8.2 vitest: - specifier: ^3.0.7 - version: 3.0.7(@types/node@22.13.9) + specifier: ^3.0.9 + version: 3.0.9(@types/node@22.13.14) packages: @@ -863,14 +863,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.13.9': - resolution: {integrity: sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==} + '@types/node@22.13.14': + resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==} - '@vitest/expect@3.0.7': - resolution: {integrity: sha512-QP25f+YJhzPfHrHfYHtvRn+uvkCFCqFtW9CktfBxmB+25QqWsx7VB2As6f4GmwllHLDhXNHvqedwhvMmSnNmjw==} + '@vitest/expect@3.0.9': + resolution: {integrity: sha512-5eCqRItYgIML7NNVgJj6TVCmdzE7ZVgJhruW0ziSQV4V7PvLkDL1bBkBdcTs/VuIz0IxPb5da1IDSqc1TR9eig==} - '@vitest/mocker@3.0.7': - resolution: {integrity: sha512-qui+3BLz9Eonx4EAuR/i+QlCX6AUZ35taDQgwGkK/Tw6/WgwodSrjN1X2xf69IA/643ZX5zNKIn2svvtZDrs4w==} + '@vitest/mocker@3.0.9': + resolution: {integrity: sha512-ryERPIBOnvevAkTq+L1lD+DTFBRcjueL9lOUfXsLfwP92h4e+Heb+PjiqS3/OURWPtywfafK0kj++yDFjWUmrA==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -880,20 +880,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.0.7': - resolution: {integrity: sha512-CiRY0BViD/V8uwuEzz9Yapyao+M9M008/9oMOSQydwbwb+CMokEq3XVaF3XK/VWaOK0Jm9z7ENhybg70Gtxsmg==} + '@vitest/pretty-format@3.0.9': + resolution: {integrity: sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==} - '@vitest/runner@3.0.7': - resolution: {integrity: sha512-WeEl38Z0S2ZcuRTeyYqaZtm4e26tq6ZFqh5y8YD9YxfWuu0OFiGFUbnxNynwLjNRHPsXyee2M9tV7YxOTPZl2g==} + '@vitest/runner@3.0.9': + resolution: {integrity: sha512-NX9oUXgF9HPfJSwl8tUZCMP1oGx2+Sf+ru6d05QjzQz4OwWg0psEzwY6VexP2tTHWdOkhKHUIZH+fS6nA7jfOw==} - '@vitest/snapshot@3.0.7': - resolution: {integrity: sha512-eqTUryJWQN0Rtf5yqCGTQWsCFOQe4eNz5Twsu21xYEcnFJtMU5XvmG0vgebhdLlrHQTSq5p8vWHJIeJQV8ovsA==} + '@vitest/snapshot@3.0.9': + resolution: {integrity: sha512-AiLUiuZ0FuA+/8i19mTYd+re5jqjEc2jZbgJ2up0VY0Ddyyxg/uUtBDpIFAy4uzKaQxOW8gMgBdAJJ2ydhu39A==} - '@vitest/spy@3.0.7': - resolution: {integrity: sha512-4T4WcsibB0B6hrKdAZTM37ekuyFZt2cGbEGd2+L0P8ov15J1/HUsUaqkXEQPNAWr4BtPPe1gI+FYfMHhEKfR8w==} + '@vitest/spy@3.0.9': + resolution: {integrity: sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==} - '@vitest/utils@3.0.7': - resolution: {integrity: sha512-xePVpCRfooFX3rANQjwoditoXgWb1MaFbzmGuPP59MK6i13mrnDw/yEIyJudLeW6/38mCNcwCiJIGmpDPibAIg==} + '@vitest/utils@3.0.9': + resolution: {integrity: sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -1684,8 +1684,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.0.7: - resolution: {integrity: sha512-2fX0QwX4GkkkpULXdT1Pf4q0tC1i1lFOyseKoonavXUNlQ77KpW2XqBGGNIm/J4Ows4KxgGJzDguYVPKwG/n5A==} + vite-node@3.0.9: + resolution: {integrity: sha512-w3Gdx7jDcuT9cNn9jExXgOyKmf5UOTb6WMHz8LGAm54eS1Elf5OuBhCxl6zJxGhEeIkgsE1WbHuoL0mj/UXqXg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1717,16 +1717,16 @@ packages: terser: optional: true - vitest@3.0.7: - resolution: {integrity: sha512-IP7gPK3LS3Fvn44x30X1dM9vtawm0aesAa2yBIZ9vQf+qB69NXC5776+Qmcr7ohUXIQuLhk7xQR0aSUIDPqavg==} + vitest@3.0.9: + resolution: {integrity: sha512-BbcFDqNyBlfSpATmTtXOAOj71RNKDDvjBM/uPfnxxVGrG+FSH2RQIwgeEngTaTkuU/h0ScFvf+tRcKfYXzBybQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.7 - '@vitest/ui': 3.0.7 + '@vitest/browser': 3.0.9 + '@vitest/ui': 3.0.9 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2356,47 +2356,47 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.13.9': + '@types/node@22.13.14': dependencies: undici-types: 6.20.0 - '@vitest/expect@3.0.7': + '@vitest/expect@3.0.9': dependencies: - '@vitest/spy': 3.0.7 - '@vitest/utils': 3.0.7 + '@vitest/spy': 3.0.9 + '@vitest/utils': 3.0.9 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.7(vite@5.2.10(@types/node@22.13.9))': + '@vitest/mocker@3.0.9(vite@5.2.10(@types/node@22.13.14))': dependencies: - '@vitest/spy': 3.0.7 + '@vitest/spy': 3.0.9 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.13.9) + vite: 5.2.10(@types/node@22.13.14) - '@vitest/pretty-format@3.0.7': + '@vitest/pretty-format@3.0.9': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.0.7': + '@vitest/runner@3.0.9': dependencies: - '@vitest/utils': 3.0.7 + '@vitest/utils': 3.0.9 pathe: 2.0.3 - '@vitest/snapshot@3.0.7': + '@vitest/snapshot@3.0.9': dependencies: - '@vitest/pretty-format': 3.0.7 + '@vitest/pretty-format': 3.0.9 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.0.7': + '@vitest/spy@3.0.9': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.0.7': + '@vitest/utils@3.0.9': dependencies: - '@vitest/pretty-format': 3.0.7 + '@vitest/pretty-format': 3.0.9 loupe: 3.1.3 tinyrainbow: 2.0.0 @@ -3142,13 +3142,13 @@ snapshots: universalify@0.1.2: {} - vite-node@3.0.7(@types/node@22.13.9): + vite-node@3.0.9(@types/node@22.13.14): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 5.2.10(@types/node@22.13.9) + vite: 5.2.10(@types/node@22.13.14) transitivePeerDependencies: - '@types/node' - less @@ -3159,24 +3159,24 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.13.9): + vite@5.2.10(@types/node@22.13.14): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.26.0 optionalDependencies: - '@types/node': 22.13.9 + '@types/node': 22.13.14 fsevents: 2.3.3 - vitest@3.0.7(@types/node@22.13.9): + vitest@3.0.9(@types/node@22.13.14): dependencies: - '@vitest/expect': 3.0.7 - '@vitest/mocker': 3.0.7(vite@5.2.10(@types/node@22.13.9)) - '@vitest/pretty-format': 3.0.7 - '@vitest/runner': 3.0.7 - '@vitest/snapshot': 3.0.7 - '@vitest/spy': 3.0.7 - '@vitest/utils': 3.0.7 + '@vitest/expect': 3.0.9 + '@vitest/mocker': 3.0.9(vite@5.2.10(@types/node@22.13.14)) + '@vitest/pretty-format': 3.0.9 + '@vitest/runner': 3.0.9 + '@vitest/snapshot': 3.0.9 + '@vitest/spy': 3.0.9 + '@vitest/utils': 3.0.9 chai: 5.2.0 debug: 4.4.0 expect-type: 1.1.0 @@ -3187,11 +3187,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.13.9) - vite-node: 3.0.7(@types/node@22.13.9) + vite: 5.2.10(@types/node@22.13.14) + vite-node: 3.0.9(@types/node@22.13.14) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.9 + '@types/node': 22.13.14 transitivePeerDependencies: - less - lightningcss From 491d179ecd65a0258524e427bcb4ddcb641b9327 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 8 Apr 2025 23:22:11 +0100 Subject: [PATCH 070/160] chore: update dependencies --- package.json | 6 +- packages/create-solid/package.json | 6 +- packages/create/package.json | 8 +- packages/full-solid/package.json | 6 +- packages/utils/package.json | 10 +- pnpm-lock.yaml | 463 +++++++++-------------------- 6 files changed, 163 insertions(+), 336 deletions(-) diff --git a/package.json b/package.json index 2974816..9b4c296 100644 --- a/package.json +++ b/package.json @@ -32,10 +32,10 @@ "devDependencies": { "@changesets/cli": "2.28.1", "prettier": "^3.5.3", - "turbo": "^2.4.4", - "vitest": "^3.0.9" + "turbo": "^2.5.0", + "vitest": "^3.1.1" }, - "packageManager": "pnpm@10.7.0", + "packageManager": "pnpm@10.8.0", "dependencies": { "jiti": "^2.4.2" }, diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index d99a156..3c9dab2 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -31,11 +31,11 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "0.10.0", - "@types/node": "^22.13.14", + "@clack/prompts": "0.10.1", + "@types/node": "^22.14.0", "picocolors": "^1.1.1", "tsup": "^8.4.0", - "typescript": "^5.8.2", + "typescript": "^5.8.3", "citty": "^0.1.6", "@solid-cli/create": "workspace:*" }, diff --git a/packages/create/package.json b/packages/create/package.json index b1e3bf7..0431547 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -37,17 +37,17 @@ "test": "vitest run" }, "devDependencies": { - "typescript": "^5.8.2", - "@types/node": "^22.13.14", + "typescript": "^5.8.3", + "@types/node": "^22.14.0", "tsup": "^8.4.0" }, "publishConfig": { "access": "public" }, "dependencies": { - "@clack/prompts": "0.10.0", + "@clack/prompts": "0.10.1", "picocolors": "^1.1.1", - "@begit/core": "^0.1.5", + "@begit/core": "^0.2.0", "citty": "^0.1.6", "sucrase": "^3.35.0", "@solid-cli/utils": "workspace:*" diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 47a258e..1bfac41 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -30,14 +30,14 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "0.10.0", + "@clack/prompts": "0.10.1", "picocolors": "^1.1.1", - "@types/node": "^22.13.14", + "@types/node": "^22.14.0", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*", "tsup": "^8.4.0", - "typescript": "^5.8.2" + "typescript": "^5.8.3" }, "publishConfig": { "access": "public" diff --git a/packages/utils/package.json b/packages/utils/package.json index ef28cca..0a7720d 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,18 +68,18 @@ }, "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.13.14", + "@types/node": "22.14.0", "magicast": "^0.3.5", "tsup": "^8.4.0", - "typescript": "^5.8.2", - "vitest": "^3.0.9" + "typescript": "^5.8.3", + "vitest": "^3.1.1" }, "publishConfig": { "access": "public" }, "dependencies": { - "@clack/core": "0.4.1", - "@clack/prompts": "0.10.0", + "@clack/core": "0.4.2", + "@clack/prompts": "0.10.1", "execa": "^9.5.2", "picocolors": "^1.1.1", "smol-toml": "^1.3.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 87452b9..e6d321a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,20 +19,20 @@ importers: specifier: ^3.5.3 version: 3.5.3 turbo: - specifier: ^2.4.4 - version: 2.4.4 + specifier: ^2.5.0 + version: 2.5.0 vitest: - specifier: ^3.0.9 - version: 3.0.9(@types/node@22.13.14) + specifier: ^3.1.1 + version: 3.1.1(@types/node@22.14.0) packages/create: dependencies: '@begit/core': - specifier: ^0.1.5 - version: 0.1.5 + specifier: ^0.2.0 + version: 0.2.0 '@clack/prompts': - specifier: 0.10.0 - version: 0.10.0 + specifier: 0.10.1 + version: 0.10.1 '@solid-cli/utils': specifier: workspace:* version: link:../utils @@ -47,26 +47,26 @@ importers: version: 3.35.0 devDependencies: '@types/node': - specifier: ^22.13.14 - version: 22.13.14 + specifier: ^22.14.0 + version: 22.14.0 tsup: specifier: ^8.4.0 - version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2) + version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) typescript: - specifier: ^5.8.2 - version: 5.8.2 + specifier: ^5.8.3 + version: 5.8.3 packages/create-solid: devDependencies: '@clack/prompts': - specifier: 0.10.0 - version: 0.10.0 + specifier: 0.10.1 + version: 0.10.1 '@solid-cli/create': specifier: workspace:* version: link:../create '@types/node': - specifier: ^22.13.14 - version: 22.13.14 + specifier: ^22.14.0 + version: 22.14.0 citty: specifier: ^0.1.6 version: 0.1.6 @@ -75,16 +75,16 @@ importers: version: 1.1.1 tsup: specifier: ^8.4.0 - version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2) + version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) typescript: - specifier: ^5.8.2 - version: 5.8.2 + specifier: ^5.8.3 + version: 5.8.3 packages/full-solid: devDependencies: '@clack/prompts': - specifier: 0.10.0 - version: 0.10.0 + specifier: 0.10.1 + version: 0.10.1 '@solid-cli/create': specifier: workspace:* version: link:../create @@ -92,8 +92,8 @@ importers: specifier: workspace:* version: link:../utils '@types/node': - specifier: ^22.13.14 - version: 22.13.14 + specifier: ^22.14.0 + version: 22.14.0 citty: specifier: ^0.1.6 version: 0.1.6 @@ -102,19 +102,19 @@ importers: version: 1.1.1 tsup: specifier: ^8.4.0 - version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2) + version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) typescript: - specifier: ^5.8.2 - version: 5.8.2 + specifier: ^5.8.3 + version: 5.8.3 packages/utils: dependencies: '@clack/core': - specifier: 0.4.1 - version: 0.4.1 + specifier: 0.4.2 + version: 0.4.2 '@clack/prompts': - specifier: 0.10.0 - version: 0.10.0 + specifier: 0.10.1 + version: 0.10.1 execa: specifier: ^9.5.2 version: 9.5.2 @@ -129,20 +129,20 @@ importers: specifier: ^0.18.2 version: 0.18.2 '@types/node': - specifier: 22.13.14 - version: 22.13.14 + specifier: 22.14.0 + version: 22.14.0 magicast: specifier: ^0.3.5 version: 0.3.5 tsup: specifier: ^8.4.0 - version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2) + version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) typescript: - specifier: ^5.8.2 - version: 5.8.2 + specifier: ^5.8.3 + version: 5.8.3 vitest: - specifier: ^3.0.9 - version: 3.0.9(@types/node@22.13.14) + specifier: ^3.1.1 + version: 3.1.1(@types/node@22.14.0) packages: @@ -167,8 +167,8 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} - '@begit/core@0.1.5': - resolution: {integrity: sha512-3DoFnqKlFrnK6vOGT/Y2dCZvmBmYTgNUOmGdjxdNQvGDAnoUm4XPyRu8dKE30PlKM+7CB0IsZOTPdNSPLBUq1g==} + '@begit/core@0.2.0': + resolution: {integrity: sha512-mSmYK/dgfG49avwfg/V93TtcMfOXPfp11YQ22PZv8WLlqSJChXdFz2KWukhiteRS6+y4cbqkn9GZ9iAEb6uklw==} '@changesets/apply-release-plan@7.0.10': resolution: {integrity: sha512-wNyeIJ3yDsVspYvHnEz1xQDq18D9ifed3lI+wxRQRK4pArUcuHgCTrHv0QRnnwjhVCQACxZ+CBih3wgOct6UXw==} @@ -241,11 +241,11 @@ packages: resolution: {integrity: sha512-eV1m70Qn9pLY9xwFmZ2FlcOzwiaUywsJ7NB/ud8VB7DouvCQtIHkQ3Om7uPX0ojXGEG1LCyO96kZkvbNTxNu0Q==} engines: {node: '>=18'} - '@clack/core@0.4.1': - resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} + '@clack/core@0.4.2': + resolution: {integrity: sha512-NYQfcEy8MWIxrT5Fj8nIVchfRFA26yYKJcvBS7WlUIlw2OmQOY9DhGGXMovyI5J5PpxrCPGkgUi207EBrjpBvg==} - '@clack/prompts@0.10.0': - resolution: {integrity: sha512-H3rCl6CwW1NdQt9rE3n373t7o5cthPv7yUoxF2ytZvyvlJv89C5RYMJu83Hed8ODgys5vpBU0GKxIRG83jd8NQ==} + '@clack/prompts@0.10.1': + resolution: {integrity: sha512-Q0T02vx8ZM9XSv9/Yde0jTmmBQufZhPJfYAg2XrrrxWWaZgq1rr8nU8Hv710BQ1dhoP8rtY7YUdpGej2Qza/cw==} '@esbuild/aix-ppc64@0.20.2': resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} @@ -590,101 +590,51 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@rollup/rollup-android-arm-eabi@4.26.0': - resolution: {integrity: sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm-eabi@4.34.9': resolution: {integrity: sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.26.0': - resolution: {integrity: sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==} - cpu: [arm64] - os: [android] - '@rollup/rollup-android-arm64@4.34.9': resolution: {integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.26.0': - resolution: {integrity: sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-arm64@4.34.9': resolution: {integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.26.0': - resolution: {integrity: sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.34.9': resolution: {integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.26.0': - resolution: {integrity: sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.34.9': resolution: {integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.26.0': - resolution: {integrity: sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.34.9': resolution: {integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': - resolution: {integrity: sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.34.9': resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.26.0': - resolution: {integrity: sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.34.9': resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.26.0': - resolution: {integrity: sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.34.9': resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.26.0': - resolution: {integrity: sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-musl@4.34.9': resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==} cpu: [arm64] @@ -695,81 +645,41 @@ packages: cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': - resolution: {integrity: sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==} - cpu: [ppc64] - os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.26.0': - resolution: {integrity: sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==} - cpu: [riscv64] - os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.34.9': resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.26.0': - resolution: {integrity: sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==} - cpu: [s390x] - os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.34.9': resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.26.0': - resolution: {integrity: sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-gnu@4.34.9': resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.26.0': - resolution: {integrity: sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-musl@4.34.9': resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.26.0': - resolution: {integrity: sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.34.9': resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.26.0': - resolution: {integrity: sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.34.9': resolution: {integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.26.0': - resolution: {integrity: sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.34.9': resolution: {integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==} cpu: [x64] @@ -863,14 +773,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.13.14': - resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==} + '@types/node@22.14.0': + resolution: {integrity: sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==} - '@vitest/expect@3.0.9': - resolution: {integrity: sha512-5eCqRItYgIML7NNVgJj6TVCmdzE7ZVgJhruW0ziSQV4V7PvLkDL1bBkBdcTs/VuIz0IxPb5da1IDSqc1TR9eig==} + '@vitest/expect@3.1.1': + resolution: {integrity: sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==} - '@vitest/mocker@3.0.9': - resolution: {integrity: sha512-ryERPIBOnvevAkTq+L1lD+DTFBRcjueL9lOUfXsLfwP92h4e+Heb+PjiqS3/OURWPtywfafK0kj++yDFjWUmrA==} + '@vitest/mocker@3.1.1': + resolution: {integrity: sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -880,20 +790,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.0.9': - resolution: {integrity: sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==} + '@vitest/pretty-format@3.1.1': + resolution: {integrity: sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==} - '@vitest/runner@3.0.9': - resolution: {integrity: sha512-NX9oUXgF9HPfJSwl8tUZCMP1oGx2+Sf+ru6d05QjzQz4OwWg0psEzwY6VexP2tTHWdOkhKHUIZH+fS6nA7jfOw==} + '@vitest/runner@3.1.1': + resolution: {integrity: sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==} - '@vitest/snapshot@3.0.9': - resolution: {integrity: sha512-AiLUiuZ0FuA+/8i19mTYd+re5jqjEc2jZbgJ2up0VY0Ddyyxg/uUtBDpIFAy4uzKaQxOW8gMgBdAJJ2ydhu39A==} + '@vitest/snapshot@3.1.1': + resolution: {integrity: sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==} - '@vitest/spy@3.0.9': - resolution: {integrity: sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==} + '@vitest/spy@3.1.1': + resolution: {integrity: sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==} - '@vitest/utils@3.0.9': - resolution: {integrity: sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==} + '@vitest/utils@3.1.1': + resolution: {integrity: sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -1070,8 +980,8 @@ packages: resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} engines: {node: ^18.19.0 || >=20.5.0} - expect-type@1.1.0: - resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + expect-type@1.2.1: + resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} engines: {node: '>=12.0.0'} extendable-error@0.1.7: @@ -1460,11 +1370,6 @@ packages: engines: {node: '>=14'} hasBin: true - rollup@4.26.0: - resolution: {integrity: sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - rollup@4.34.9: resolution: {integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -1524,8 +1429,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - std-env@3.8.0: - resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + std-env@3.9.0: + resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -1634,47 +1539,47 @@ packages: typescript: optional: true - turbo-darwin-64@2.4.4: - resolution: {integrity: sha512-5kPvRkLAfmWI0MH96D+/THnDMGXlFNmjeqNRj5grLKiry+M9pKj3pRuScddAXPdlxjO5Ptz06UNaOQrrYGTx1g==} + turbo-darwin-64@2.5.0: + resolution: {integrity: sha512-fP1hhI9zY8hv0idym3hAaXdPi80TLovmGmgZFocVAykFtOxF+GlfIgM/l4iLAV9ObIO4SUXPVWHeBZQQ+Hpjag==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.4.4: - resolution: {integrity: sha512-/gtHPqbGQXDFhrmy+Q/MFW2HUTUlThJ97WLLSe4bxkDrKHecDYhAjbZ4rN3MM93RV9STQb3Tqy4pZBtsd4DfCw==} + turbo-darwin-arm64@2.5.0: + resolution: {integrity: sha512-p9sYq7kXH7qeJwIQE86cOWv/xNqvow846l6c/qWc26Ib1ci5W7V0sI5thsrP3eH+VA0d+SHalTKg5SQXgNQBWA==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.4.4: - resolution: {integrity: sha512-SR0gri4k0bda56hw5u9VgDXLKb1Q+jrw4lM7WAhnNdXvVoep4d6LmnzgMHQQR12Wxl3KyWPbkz9d1whL6NTm2Q==} + turbo-linux-64@2.5.0: + resolution: {integrity: sha512-1iEln2GWiF3iPPPS1HQJT6ZCFXynJPd89gs9SkggH2EJsj3eRUSVMmMC8y6d7bBbhBFsiGGazwFIYrI12zs6uQ==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.4.4: - resolution: {integrity: sha512-COXXwzRd3vslQIfJhXUklgEqlwq35uFUZ7hnN+AUyXx7hUOLIiD5NblL+ETrHnhY4TzWszrbwUMfe2BYWtaPQg==} + turbo-linux-arm64@2.5.0: + resolution: {integrity: sha512-bKBcbvuQHmsX116KcxHJuAcppiiBOfivOObh2O5aXNER6mce7YDDQJy00xQQNp1DhEfcSV2uOsvb3O3nN2cbcA==} cpu: [arm64] os: [linux] - turbo-windows-64@2.4.4: - resolution: {integrity: sha512-PV9rYNouGz4Ff3fd6sIfQy5L7HT9a4fcZoEv8PKRavU9O75G7PoDtm8scpHU10QnK0QQNLbE9qNxOAeRvF0fJg==} + turbo-windows-64@2.5.0: + resolution: {integrity: sha512-9BCo8oQ7BO7J0K913Czbc3tw8QwLqn2nTe4E47k6aVYkM12ASTScweXPTuaPFP5iYXAT6z5Dsniw704Ixa5eGg==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.4.4: - resolution: {integrity: sha512-403sqp9t5sx6YGEC32IfZTVWkRAixOQomGYB8kEc6ZD+//LirSxzeCHCnM8EmSXw7l57U1G+Fb0kxgTcKPU/Lg==} + turbo-windows-arm64@2.5.0: + resolution: {integrity: sha512-OUHCV+ueXa3UzfZ4co/ueIHgeq9B2K48pZwIxKSm5VaLVuv8M13MhM7unukW09g++dpdrrE1w4IOVgxKZ0/exg==} cpu: [arm64] os: [win32] - turbo@2.4.4: - resolution: {integrity: sha512-N9FDOVaY3yz0YCOhYIgOGYad7+m2ptvinXygw27WPLQvcZDl3+0Sa77KGVlLSiuPDChOUEnTKE9VJwLSi9BPGQ==} + turbo@2.5.0: + resolution: {integrity: sha512-PvSRruOsitjy6qdqwIIyolv99+fEn57gP6gn4zhsHTEcCYgXPhv6BAxzAjleS8XKpo+Y582vTTA9nuqYDmbRuA==} hasBin: true - typescript@5.8.2: - resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} engines: {node: '>=14.17'} hasBin: true - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} @@ -1684,8 +1589,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.0.9: - resolution: {integrity: sha512-w3Gdx7jDcuT9cNn9jExXgOyKmf5UOTb6WMHz8LGAm54eS1Elf5OuBhCxl6zJxGhEeIkgsE1WbHuoL0mj/UXqXg==} + vite-node@3.1.1: + resolution: {integrity: sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1717,16 +1622,16 @@ packages: terser: optional: true - vitest@3.0.9: - resolution: {integrity: sha512-BbcFDqNyBlfSpATmTtXOAOj71RNKDDvjBM/uPfnxxVGrG+FSH2RQIwgeEngTaTkuU/h0ScFvf+tRcKfYXzBybQ==} + vitest@3.1.1: + resolution: {integrity: sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.9 - '@vitest/ui': 3.0.9 + '@vitest/browser': 3.1.1 + '@vitest/ui': 3.1.1 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1797,7 +1702,7 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@begit/core@0.1.5': + '@begit/core@0.2.0': dependencies: tar: 7.4.3 @@ -1960,14 +1865,14 @@ snapshots: '@chialab/node-resolve@0.18.0': {} - '@clack/core@0.4.1': + '@clack/core@0.4.2': dependencies: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/prompts@0.10.0': + '@clack/prompts@0.10.1': dependencies: - '@clack/core': 0.4.1 + '@clack/core': 0.4.2 picocolors: 1.1.1 sisteransi: 1.0.5 @@ -2182,114 +2087,60 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@rollup/rollup-android-arm-eabi@4.26.0': - optional: true - '@rollup/rollup-android-arm-eabi@4.34.9': optional: true - '@rollup/rollup-android-arm64@4.26.0': - optional: true - '@rollup/rollup-android-arm64@4.34.9': optional: true - '@rollup/rollup-darwin-arm64@4.26.0': - optional: true - '@rollup/rollup-darwin-arm64@4.34.9': optional: true - '@rollup/rollup-darwin-x64@4.26.0': - optional: true - '@rollup/rollup-darwin-x64@4.34.9': optional: true - '@rollup/rollup-freebsd-arm64@4.26.0': - optional: true - '@rollup/rollup-freebsd-arm64@4.34.9': optional: true - '@rollup/rollup-freebsd-x64@4.26.0': - optional: true - '@rollup/rollup-freebsd-x64@4.34.9': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.34.9': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.26.0': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.34.9': optional: true - '@rollup/rollup-linux-arm64-gnu@4.26.0': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.34.9': optional: true - '@rollup/rollup-linux-arm64-musl@4.26.0': - optional: true - '@rollup/rollup-linux-arm64-musl@4.34.9': optional: true '@rollup/rollup-linux-loongarch64-gnu@4.34.9': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': - optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.26.0': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.34.9': optional: true - '@rollup/rollup-linux-s390x-gnu@4.26.0': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.34.9': optional: true - '@rollup/rollup-linux-x64-gnu@4.26.0': - optional: true - '@rollup/rollup-linux-x64-gnu@4.34.9': optional: true - '@rollup/rollup-linux-x64-musl@4.26.0': - optional: true - '@rollup/rollup-linux-x64-musl@4.34.9': optional: true - '@rollup/rollup-win32-arm64-msvc@4.26.0': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.34.9': optional: true - '@rollup/rollup-win32-ia32-msvc@4.26.0': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.34.9': optional: true - '@rollup/rollup-win32-x64-msvc@4.26.0': - optional: true - '@rollup/rollup-win32-x64-msvc@4.34.9': optional: true @@ -2356,47 +2207,47 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.13.14': + '@types/node@22.14.0': dependencies: - undici-types: 6.20.0 + undici-types: 6.21.0 - '@vitest/expect@3.0.9': + '@vitest/expect@3.1.1': dependencies: - '@vitest/spy': 3.0.9 - '@vitest/utils': 3.0.9 + '@vitest/spy': 3.1.1 + '@vitest/utils': 3.1.1 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.9(vite@5.2.10(@types/node@22.13.14))': + '@vitest/mocker@3.1.1(vite@5.2.10(@types/node@22.14.0))': dependencies: - '@vitest/spy': 3.0.9 + '@vitest/spy': 3.1.1 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.13.14) + vite: 5.2.10(@types/node@22.14.0) - '@vitest/pretty-format@3.0.9': + '@vitest/pretty-format@3.1.1': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.0.9': + '@vitest/runner@3.1.1': dependencies: - '@vitest/utils': 3.0.9 + '@vitest/utils': 3.1.1 pathe: 2.0.3 - '@vitest/snapshot@3.0.9': + '@vitest/snapshot@3.1.1': dependencies: - '@vitest/pretty-format': 3.0.9 + '@vitest/pretty-format': 3.1.1 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.0.9': + '@vitest/spy@3.1.1': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.0.9': + '@vitest/utils@3.1.1': dependencies: - '@vitest/pretty-format': 3.0.9 + '@vitest/pretty-format': 3.1.1 loupe: 3.1.3 tinyrainbow: 2.0.0 @@ -2593,7 +2444,7 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.1 - expect-type@1.1.0: {} + expect-type@1.2.1: {} extendable-error@0.1.7: {} @@ -2903,30 +2754,6 @@ snapshots: dependencies: glob: 10.3.10 - rollup@4.26.0: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.26.0 - '@rollup/rollup-android-arm64': 4.26.0 - '@rollup/rollup-darwin-arm64': 4.26.0 - '@rollup/rollup-darwin-x64': 4.26.0 - '@rollup/rollup-freebsd-arm64': 4.26.0 - '@rollup/rollup-freebsd-x64': 4.26.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.26.0 - '@rollup/rollup-linux-arm-musleabihf': 4.26.0 - '@rollup/rollup-linux-arm64-gnu': 4.26.0 - '@rollup/rollup-linux-arm64-musl': 4.26.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.26.0 - '@rollup/rollup-linux-riscv64-gnu': 4.26.0 - '@rollup/rollup-linux-s390x-gnu': 4.26.0 - '@rollup/rollup-linux-x64-gnu': 4.26.0 - '@rollup/rollup-linux-x64-musl': 4.26.0 - '@rollup/rollup-win32-arm64-msvc': 4.26.0 - '@rollup/rollup-win32-ia32-msvc': 4.26.0 - '@rollup/rollup-win32-x64-msvc': 4.26.0 - fsevents: 2.3.3 - rollup@4.34.9: dependencies: '@types/estree': 1.0.6 @@ -2991,7 +2818,7 @@ snapshots: stackback@0.0.2: {} - std-env@3.8.0: {} + std-env@3.9.0: {} string-width@4.2.3: dependencies: @@ -3079,7 +2906,7 @@ snapshots: ts-interface-checker@0.1.13: {} - tsup@8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.2): + tsup@8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3): dependencies: bundle-require: 5.1.0(esbuild@0.25.0) cac: 6.7.14 @@ -3100,55 +2927,55 @@ snapshots: optionalDependencies: '@swc/core': 1.5.5 postcss: 8.4.38 - typescript: 5.8.2 + typescript: 5.8.3 transitivePeerDependencies: - jiti - supports-color - tsx - yaml - turbo-darwin-64@2.4.4: + turbo-darwin-64@2.5.0: optional: true - turbo-darwin-arm64@2.4.4: + turbo-darwin-arm64@2.5.0: optional: true - turbo-linux-64@2.4.4: + turbo-linux-64@2.5.0: optional: true - turbo-linux-arm64@2.4.4: + turbo-linux-arm64@2.5.0: optional: true - turbo-windows-64@2.4.4: + turbo-windows-64@2.5.0: optional: true - turbo-windows-arm64@2.4.4: + turbo-windows-arm64@2.5.0: optional: true - turbo@2.4.4: + turbo@2.5.0: optionalDependencies: - turbo-darwin-64: 2.4.4 - turbo-darwin-arm64: 2.4.4 - turbo-linux-64: 2.4.4 - turbo-linux-arm64: 2.4.4 - turbo-windows-64: 2.4.4 - turbo-windows-arm64: 2.4.4 + turbo-darwin-64: 2.5.0 + turbo-darwin-arm64: 2.5.0 + turbo-linux-64: 2.5.0 + turbo-linux-arm64: 2.5.0 + turbo-windows-64: 2.5.0 + turbo-windows-arm64: 2.5.0 - typescript@5.8.2: {} + typescript@5.8.3: {} - undici-types@6.20.0: {} + undici-types@6.21.0: {} unicorn-magic@0.3.0: {} universalify@0.1.2: {} - vite-node@3.0.9(@types/node@22.13.14): + vite-node@3.1.1(@types/node@22.14.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 5.2.10(@types/node@22.13.14) + vite: 5.2.10(@types/node@22.14.0) transitivePeerDependencies: - '@types/node' - less @@ -3159,39 +2986,39 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.13.14): + vite@5.2.10(@types/node@22.14.0): dependencies: esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.26.0 + rollup: 4.34.9 optionalDependencies: - '@types/node': 22.13.14 + '@types/node': 22.14.0 fsevents: 2.3.3 - vitest@3.0.9(@types/node@22.13.14): + vitest@3.1.1(@types/node@22.14.0): dependencies: - '@vitest/expect': 3.0.9 - '@vitest/mocker': 3.0.9(vite@5.2.10(@types/node@22.13.14)) - '@vitest/pretty-format': 3.0.9 - '@vitest/runner': 3.0.9 - '@vitest/snapshot': 3.0.9 - '@vitest/spy': 3.0.9 - '@vitest/utils': 3.0.9 + '@vitest/expect': 3.1.1 + '@vitest/mocker': 3.1.1(vite@5.2.10(@types/node@22.14.0)) + '@vitest/pretty-format': 3.1.1 + '@vitest/runner': 3.1.1 + '@vitest/snapshot': 3.1.1 + '@vitest/spy': 3.1.1 + '@vitest/utils': 3.1.1 chai: 5.2.0 debug: 4.4.0 - expect-type: 1.1.0 + expect-type: 1.2.1 magic-string: 0.30.17 pathe: 2.0.3 - std-env: 3.8.0 + std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.13.14) - vite-node: 3.0.9(@types/node@22.13.14) + vite: 5.2.10(@types/node@22.14.0) + vite-node: 3.1.1(@types/node@22.14.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.14 + '@types/node': 22.14.0 transitivePeerDependencies: - less - lightningcss From 500759fc543c74ce87b66094b4d9b1cc6547584d Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 19 Apr 2025 21:39:10 +0100 Subject: [PATCH 071/160] chore: update deps and migrate to new `begit` --- package.json | 4 +- packages/create-solid/package.json | 2 +- packages/create/package.json | 4 +- packages/create/src/create-start.ts | 4 +- packages/create/src/create-vanilla.ts | 4 +- packages/full-solid/package.json | 2 +- packages/utils/package.json | 4 +- pnpm-lock.yaml | 116 +++++++++++++------------- 8 files changed, 70 insertions(+), 70 deletions(-) diff --git a/package.json b/package.json index 9b4c296..8018ce3 100644 --- a/package.json +++ b/package.json @@ -30,12 +30,12 @@ "./packages/*" ], "devDependencies": { - "@changesets/cli": "2.28.1", + "@changesets/cli": "2.29.2", "prettier": "^3.5.3", "turbo": "^2.5.0", "vitest": "^3.1.1" }, - "packageManager": "pnpm@10.8.0", + "packageManager": "pnpm@10.8.1", "dependencies": { "jiti": "^2.4.2" }, diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 3c9dab2..e4bbb11 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@clack/prompts": "0.10.1", - "@types/node": "^22.14.0", + "@types/node": "^22.14.1", "picocolors": "^1.1.1", "tsup": "^8.4.0", "typescript": "^5.8.3", diff --git a/packages/create/package.json b/packages/create/package.json index 0431547..87e6363 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -38,7 +38,7 @@ }, "devDependencies": { "typescript": "^5.8.3", - "@types/node": "^22.14.0", + "@types/node": "^22.14.1", "tsup": "^8.4.0" }, "publishConfig": { @@ -47,7 +47,7 @@ "dependencies": { "@clack/prompts": "0.10.1", "picocolors": "^1.1.1", - "@begit/core": "^0.2.0", + "@begit/core": "^0.3.0", "citty": "^0.1.6", "sucrase": "^3.35.0", "@solid-cli/utils": "workspace:*" diff --git a/packages/create/src/create-start.ts b/packages/create/src/create-start.ts index fef8cfb..873ac36 100644 --- a/packages/create/src/create-start.ts +++ b/packages/create/src/create-start.ts @@ -1,4 +1,4 @@ -import { downloadRepo } from "@begit/core"; +import { downloadRepo, GithubFetcher } from "@begit/core"; import { join } from "path"; import { writeFileSync } from "fs"; import { handleTSConversion } from "./utils/ts-conversion"; @@ -9,7 +9,7 @@ export type CreateStartArgs = { }; export const createStartTS = ({ template, destination }: CreateStartArgs) => { - return downloadRepo({ + return downloadRepo(GithubFetcher, { repo: { owner: "solidjs", name: "solid-start", subdir: `examples/${template}` }, dest: destination, }); diff --git a/packages/create/src/create-vanilla.ts b/packages/create/src/create-vanilla.ts index c6c4716..750ce17 100644 --- a/packages/create/src/create-vanilla.ts +++ b/packages/create/src/create-vanilla.ts @@ -1,4 +1,4 @@ -import { downloadRepo } from "@begit/core"; +import { downloadRepo, GithubFetcher } from "@begit/core"; import { join } from "node:path"; import { writeFileSync } from "node:fs"; import { handleTSConversion } from "./utils/ts-conversion"; @@ -15,7 +15,7 @@ export const createVanilla = (args: CreateVanillaArgs, transpile?: boolean) => { return createVanillaTS(args); }; export const createVanillaTS = async ({ template, destination }: CreateVanillaArgs) => { - return await downloadRepo({ repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }); + return await downloadRepo(GithubFetcher, { repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }); }; export const createVanillaJS = async ({ template, destination }: CreateVanillaArgs) => { diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 1bfac41..4efdabe 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@clack/prompts": "0.10.1", "picocolors": "^1.1.1", - "@types/node": "^22.14.0", + "@types/node": "^22.14.1", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*", diff --git a/packages/utils/package.json b/packages/utils/package.json index 0a7720d..a0b9486 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,7 +68,7 @@ }, "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.14.0", + "@types/node": "22.14.1", "magicast": "^0.3.5", "tsup": "^8.4.0", "typescript": "^5.8.3", @@ -82,6 +82,6 @@ "@clack/prompts": "0.10.1", "execa": "^9.5.2", "picocolors": "^1.1.1", - "smol-toml": "^1.3.1" + "smol-toml": "^1.3.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6d321a..8d2510f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,8 +13,8 @@ importers: version: 2.4.2 devDependencies: '@changesets/cli': - specifier: 2.28.1 - version: 2.28.1 + specifier: 2.29.2 + version: 2.29.2 prettier: specifier: ^3.5.3 version: 3.5.3 @@ -23,13 +23,13 @@ importers: version: 2.5.0 vitest: specifier: ^3.1.1 - version: 3.1.1(@types/node@22.14.0) + version: 3.1.1(@types/node@22.14.1) packages/create: dependencies: '@begit/core': - specifier: ^0.2.0 - version: 0.2.0 + specifier: ^0.3.0 + version: 0.3.0 '@clack/prompts': specifier: 0.10.1 version: 0.10.1 @@ -47,8 +47,8 @@ importers: version: 3.35.0 devDependencies: '@types/node': - specifier: ^22.14.0 - version: 22.14.0 + specifier: ^22.14.1 + version: 22.14.1 tsup: specifier: ^8.4.0 version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) @@ -65,8 +65,8 @@ importers: specifier: workspace:* version: link:../create '@types/node': - specifier: ^22.14.0 - version: 22.14.0 + specifier: ^22.14.1 + version: 22.14.1 citty: specifier: ^0.1.6 version: 0.1.6 @@ -92,8 +92,8 @@ importers: specifier: workspace:* version: link:../utils '@types/node': - specifier: ^22.14.0 - version: 22.14.0 + specifier: ^22.14.1 + version: 22.14.1 citty: specifier: ^0.1.6 version: 0.1.6 @@ -122,15 +122,15 @@ importers: specifier: ^1.1.1 version: 1.1.1 smol-toml: - specifier: ^1.3.1 - version: 1.3.1 + specifier: ^1.3.3 + version: 1.3.3 devDependencies: '@chialab/esbuild-plugin-meta-url': specifier: ^0.18.2 version: 0.18.2 '@types/node': - specifier: 22.14.0 - version: 22.14.0 + specifier: 22.14.1 + version: 22.14.1 magicast: specifier: ^0.3.5 version: 0.3.5 @@ -142,7 +142,7 @@ importers: version: 5.8.3 vitest: specifier: ^3.1.1 - version: 3.1.1(@types/node@22.14.0) + version: 3.1.1(@types/node@22.14.1) packages: @@ -167,11 +167,11 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} - '@begit/core@0.2.0': - resolution: {integrity: sha512-mSmYK/dgfG49avwfg/V93TtcMfOXPfp11YQ22PZv8WLlqSJChXdFz2KWukhiteRS6+y4cbqkn9GZ9iAEb6uklw==} + '@begit/core@0.3.0': + resolution: {integrity: sha512-alkgprLk2fiWy14X89vGm43q7437Jp8D/YDHMbGeyWpwOxlT+BuxxGle9D91YV0OjKQW4iWok2I/bX3PE9IWPQ==} - '@changesets/apply-release-plan@7.0.10': - resolution: {integrity: sha512-wNyeIJ3yDsVspYvHnEz1xQDq18D9ifed3lI+wxRQRK4pArUcuHgCTrHv0QRnnwjhVCQACxZ+CBih3wgOct6UXw==} + '@changesets/apply-release-plan@7.0.12': + resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} '@changesets/assemble-release-plan@6.0.6': resolution: {integrity: sha512-Frkj8hWJ1FRZiY3kzVCKzS0N5mMwWKwmv9vpam7vt8rZjLL1JMthdh6pSDVSPumHPshTTkKZ0VtNbE0cJHZZUg==} @@ -179,8 +179,8 @@ packages: '@changesets/changelog-git@0.2.1': resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@changesets/cli@2.28.1': - resolution: {integrity: sha512-PiIyGRmSc6JddQJe/W1hRPjiN4VrMvb2VfQ6Uydy2punBioQrsxppyG5WafinKcW1mT0jOe/wU4k9Zy5ff21AA==} + '@changesets/cli@2.29.2': + resolution: {integrity: sha512-vwDemKjGYMOc0l6WUUTGqyAWH3AmueeyoJa1KmFRtCYiCoY5K3B68ErYpDB6H48T4lLI4czum4IEjh6ildxUeg==} hasBin: true '@changesets/config@3.1.1': @@ -192,14 +192,14 @@ packages: '@changesets/get-dependents-graph@2.1.3': resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - '@changesets/get-release-plan@4.0.8': - resolution: {integrity: sha512-MM4mq2+DQU1ZT7nqxnpveDMTkMBLnwNX44cX7NSxlXmr7f8hO6/S2MXNiXG54uf/0nYnefv0cfy4Czf/ZL/EKQ==} + '@changesets/get-release-plan@4.0.10': + resolution: {integrity: sha512-CCJ/f3edYaA3MqoEnWvGGuZm0uMEMzNJ97z9hdUR34AOvajSwySwsIzC/bBu3+kuGDsB+cny4FljG8UBWAa7jg==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@changesets/git@3.0.2': - resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==} + '@changesets/git@3.0.4': + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} '@changesets/logger@0.1.1': resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} @@ -210,8 +210,8 @@ packages: '@changesets/pre@2.0.2': resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - '@changesets/read@0.6.3': - resolution: {integrity: sha512-9H4p/OuJ3jXEUTjaVGdQEhBdqoT2cO5Ts95JTFsQyawmKzpL8FnIeJSyhTDPW1MBRDnwZlHFEM9SpPwJDY5wIg==} + '@changesets/read@0.6.5': + resolution: {integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==} '@changesets/should-skip-package@0.1.2': resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} @@ -773,8 +773,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.14.0': - resolution: {integrity: sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==} + '@types/node@22.14.1': + resolution: {integrity: sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==} '@vitest/expect@3.1.1': resolution: {integrity: sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==} @@ -1408,8 +1408,8 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - smol-toml@1.3.1: - resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==} + smol-toml@1.3.3: + resolution: {integrity: sha512-KMVLNWu490KlNfD0lbfDBUktJIEaZRBj1eeK0SMfdpO/rfyARIzlnPVI1Ge4l0vtSJmQUAiGKxMyLGrCT38iyA==} engines: {node: '>= 18'} source-map-js@1.2.0: @@ -1702,15 +1702,15 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@begit/core@0.2.0': + '@begit/core@0.3.0': dependencies: tar: 7.4.3 - '@changesets/apply-release-plan@7.0.10': + '@changesets/apply-release-plan@7.0.12': dependencies: '@changesets/config': 3.1.1 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.2 + '@changesets/git': 3.0.4 '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 @@ -1735,19 +1735,19 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.28.1': + '@changesets/cli@2.29.2': dependencies: - '@changesets/apply-release-plan': 7.0.10 + '@changesets/apply-release-plan': 7.0.12 '@changesets/assemble-release-plan': 6.0.6 '@changesets/changelog-git': 0.2.1 '@changesets/config': 3.1.1 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.3 - '@changesets/get-release-plan': 4.0.8 - '@changesets/git': 3.0.2 + '@changesets/get-release-plan': 4.0.10 + '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.3 + '@changesets/read': 0.6.5 '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 @@ -1787,18 +1787,18 @@ snapshots: picocolors: 1.1.1 semver: 7.6.3 - '@changesets/get-release-plan@4.0.8': + '@changesets/get-release-plan@4.0.10': dependencies: '@changesets/assemble-release-plan': 6.0.6 '@changesets/config': 3.1.1 '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.3 + '@changesets/read': 0.6.5 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} - '@changesets/git@3.0.2': + '@changesets/git@3.0.4': dependencies: '@changesets/errors': 0.2.0 '@manypkg/get-packages': 1.1.3 @@ -1822,9 +1822,9 @@ snapshots: '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.3': + '@changesets/read@0.6.5': dependencies: - '@changesets/git': 3.0.2 + '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 '@changesets/parse': 0.4.1 '@changesets/types': 6.1.0 @@ -2207,7 +2207,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.14.0': + '@types/node@22.14.1': dependencies: undici-types: 6.21.0 @@ -2218,13 +2218,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.1.1(vite@5.2.10(@types/node@22.14.0))': + '@vitest/mocker@3.1.1(vite@5.2.10(@types/node@22.14.1))': dependencies: '@vitest/spy': 3.1.1 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.14.0) + vite: 5.2.10(@types/node@22.14.1) '@vitest/pretty-format@3.1.1': dependencies: @@ -2801,7 +2801,7 @@ snapshots: slash@3.0.0: {} - smol-toml@1.3.1: {} + smol-toml@1.3.3: {} source-map-js@1.2.0: {} @@ -2969,13 +2969,13 @@ snapshots: universalify@0.1.2: {} - vite-node@3.1.1(@types/node@22.14.0): + vite-node@3.1.1(@types/node@22.14.1): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 5.2.10(@types/node@22.14.0) + vite: 5.2.10(@types/node@22.14.1) transitivePeerDependencies: - '@types/node' - less @@ -2986,19 +2986,19 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.14.0): + vite@5.2.10(@types/node@22.14.1): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.34.9 optionalDependencies: - '@types/node': 22.14.0 + '@types/node': 22.14.1 fsevents: 2.3.3 - vitest@3.1.1(@types/node@22.14.0): + vitest@3.1.1(@types/node@22.14.1): dependencies: '@vitest/expect': 3.1.1 - '@vitest/mocker': 3.1.1(vite@5.2.10(@types/node@22.14.0)) + '@vitest/mocker': 3.1.1(vite@5.2.10(@types/node@22.14.1)) '@vitest/pretty-format': 3.1.1 '@vitest/runner': 3.1.1 '@vitest/snapshot': 3.1.1 @@ -3014,11 +3014,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.14.0) - vite-node: 3.1.1(@types/node@22.14.0) + vite: 5.2.10(@types/node@22.14.1) + vite-node: 3.1.1(@types/node@22.14.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.14.0 + '@types/node': 22.14.1 transitivePeerDependencies: - less - lightningcss From b53f45c3a75045756239261599315dacbfc733bf Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 19 Apr 2025 21:53:39 +0100 Subject: [PATCH 072/160] feat: add `with-solidbase` template --- packages/create/src/utils/constants.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index 2c894f8..f3a25d7 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -64,6 +64,7 @@ const START_TEMPLATES = [ "hackernews", "notes", "todomvc", + "with-solidbase", "with-auth", "with-authjs", "with-drizzle", From afe232f649a527459bde1c5f078f8b3c81a2ade1 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 20 Apr 2025 15:33:59 +0100 Subject: [PATCH 073/160] chore: update to latest `begit` --- packages/create/package.json | 2 +- packages/create/src/create-start.ts | 4 ++-- packages/create/src/create-vanilla.ts | 2 +- pnpm-lock.yaml | 10 +++++----- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/create/package.json b/packages/create/package.json index 87e6363..3f19764 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -47,7 +47,7 @@ "dependencies": { "@clack/prompts": "0.10.1", "picocolors": "^1.1.1", - "@begit/core": "^0.3.0", + "@begit/core": "^0.3.1", "citty": "^0.1.6", "sucrase": "^3.35.0", "@solid-cli/utils": "workspace:*" diff --git a/packages/create/src/create-start.ts b/packages/create/src/create-start.ts index 873ac36..9d5dd0b 100644 --- a/packages/create/src/create-start.ts +++ b/packages/create/src/create-start.ts @@ -9,10 +9,10 @@ export type CreateStartArgs = { }; export const createStartTS = ({ template, destination }: CreateStartArgs) => { - return downloadRepo(GithubFetcher, { + return downloadRepo({ repo: { owner: "solidjs", name: "solid-start", subdir: `examples/${template}` }, dest: destination, - }); + }, GithubFetcher); }; export const createStartJS = async ({ template, destination }: CreateStartArgs) => { diff --git a/packages/create/src/create-vanilla.ts b/packages/create/src/create-vanilla.ts index 750ce17..1c5ad61 100644 --- a/packages/create/src/create-vanilla.ts +++ b/packages/create/src/create-vanilla.ts @@ -15,7 +15,7 @@ export const createVanilla = (args: CreateVanillaArgs, transpile?: boolean) => { return createVanillaTS(args); }; export const createVanillaTS = async ({ template, destination }: CreateVanillaArgs) => { - return await downloadRepo(GithubFetcher, { repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }); + return await downloadRepo({ repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }, GithubFetcher); }; export const createVanillaJS = async ({ template, destination }: CreateVanillaArgs) => { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8d2510f..e908c8c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,8 +28,8 @@ importers: packages/create: dependencies: '@begit/core': - specifier: ^0.3.0 - version: 0.3.0 + specifier: ^0.3.1 + version: 0.3.1 '@clack/prompts': specifier: 0.10.1 version: 0.10.1 @@ -167,8 +167,8 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} - '@begit/core@0.3.0': - resolution: {integrity: sha512-alkgprLk2fiWy14X89vGm43q7437Jp8D/YDHMbGeyWpwOxlT+BuxxGle9D91YV0OjKQW4iWok2I/bX3PE9IWPQ==} + '@begit/core@0.3.1': + resolution: {integrity: sha512-tjpsZqeLkGgApDW0Ra1553a55lqNhFSE6ZYUzzruLbN5inst63Qoa5J2XRNixA8lFTR3o1i2HQJioPv+J8/h9A==} '@changesets/apply-release-plan@7.0.12': resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} @@ -1702,7 +1702,7 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@begit/core@0.3.0': + '@begit/core@0.3.1': dependencies: tar: 7.4.3 From 80c3c93ad2b62f19a278abeda7b63b717b0143df Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 29 Apr 2025 21:26:20 +0100 Subject: [PATCH 074/160] chore: update dependencies --- package.json | 6 +- packages/create-solid/package.json | 2 +- packages/create/package.json | 2 +- packages/full-solid/package.json | 2 +- packages/utils/package.json | 6 +- pnpm-lock.yaml | 218 ++++++++++++++++------------- 6 files changed, 129 insertions(+), 107 deletions(-) diff --git a/package.json b/package.json index 8018ce3..14efcee 100644 --- a/package.json +++ b/package.json @@ -32,10 +32,10 @@ "devDependencies": { "@changesets/cli": "2.29.2", "prettier": "^3.5.3", - "turbo": "^2.5.0", - "vitest": "^3.1.1" + "turbo": "^2.5.2", + "vitest": "^3.1.2" }, - "packageManager": "pnpm@10.8.1", + "packageManager": "pnpm@10.10.0", "dependencies": { "jiti": "^2.4.2" }, diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index e4bbb11..bf295cd 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@clack/prompts": "0.10.1", - "@types/node": "^22.14.1", + "@types/node": "^22.15.3", "picocolors": "^1.1.1", "tsup": "^8.4.0", "typescript": "^5.8.3", diff --git a/packages/create/package.json b/packages/create/package.json index 3f19764..1ff5044 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -38,7 +38,7 @@ }, "devDependencies": { "typescript": "^5.8.3", - "@types/node": "^22.14.1", + "@types/node": "^22.15.3", "tsup": "^8.4.0" }, "publishConfig": { diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 4efdabe..1bae7a7 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@clack/prompts": "0.10.1", "picocolors": "^1.1.1", - "@types/node": "^22.14.1", + "@types/node": "^22.15.3", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*", diff --git a/packages/utils/package.json b/packages/utils/package.json index a0b9486..3c3ff39 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,11 +68,11 @@ }, "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.14.1", + "@types/node": "22.15.3", "magicast": "^0.3.5", "tsup": "^8.4.0", "typescript": "^5.8.3", - "vitest": "^3.1.1" + "vitest": "^3.1.2" }, "publishConfig": { "access": "public" @@ -82,6 +82,6 @@ "@clack/prompts": "0.10.1", "execa": "^9.5.2", "picocolors": "^1.1.1", - "smol-toml": "^1.3.3" + "smol-toml": "^1.3.4" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e908c8c..1c85018 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,11 +19,11 @@ importers: specifier: ^3.5.3 version: 3.5.3 turbo: - specifier: ^2.5.0 - version: 2.5.0 + specifier: ^2.5.2 + version: 2.5.2 vitest: - specifier: ^3.1.1 - version: 3.1.1(@types/node@22.14.1) + specifier: ^3.1.2 + version: 3.1.2(@types/node@22.15.3) packages/create: dependencies: @@ -47,8 +47,8 @@ importers: version: 3.35.0 devDependencies: '@types/node': - specifier: ^22.14.1 - version: 22.14.1 + specifier: ^22.15.3 + version: 22.15.3 tsup: specifier: ^8.4.0 version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) @@ -65,8 +65,8 @@ importers: specifier: workspace:* version: link:../create '@types/node': - specifier: ^22.14.1 - version: 22.14.1 + specifier: ^22.15.3 + version: 22.15.3 citty: specifier: ^0.1.6 version: 0.1.6 @@ -92,8 +92,8 @@ importers: specifier: workspace:* version: link:../utils '@types/node': - specifier: ^22.14.1 - version: 22.14.1 + specifier: ^22.15.3 + version: 22.15.3 citty: specifier: ^0.1.6 version: 0.1.6 @@ -122,15 +122,15 @@ importers: specifier: ^1.1.1 version: 1.1.1 smol-toml: - specifier: ^1.3.3 - version: 1.3.3 + specifier: ^1.3.4 + version: 1.3.4 devDependencies: '@chialab/esbuild-plugin-meta-url': specifier: ^0.18.2 version: 0.18.2 '@types/node': - specifier: 22.14.1 - version: 22.14.1 + specifier: 22.15.3 + version: 22.15.3 magicast: specifier: ^0.3.5 version: 0.3.5 @@ -141,8 +141,8 @@ importers: specifier: ^5.8.3 version: 5.8.3 vitest: - specifier: ^3.1.1 - version: 3.1.1(@types/node@22.14.1) + specifier: ^3.1.2 + version: 3.1.2(@types/node@22.15.3) packages: @@ -773,14 +773,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.14.1': - resolution: {integrity: sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==} + '@types/node@22.15.3': + resolution: {integrity: sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==} - '@vitest/expect@3.1.1': - resolution: {integrity: sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==} + '@vitest/expect@3.1.2': + resolution: {integrity: sha512-O8hJgr+zREopCAqWl3uCVaOdqJwZ9qaDwUP7vy3Xigad0phZe9APxKhPcDNqYYi0rX5oMvwJMSCAXY2afqeTSA==} - '@vitest/mocker@3.1.1': - resolution: {integrity: sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==} + '@vitest/mocker@3.1.2': + resolution: {integrity: sha512-kOtd6K2lc7SQ0mBqYv/wdGedlqPdM/B38paPY+OwJ1XiNi44w3Fpog82UfOibmHaV9Wod18A09I9SCKLyDMqgw==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -790,20 +790,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.1.1': - resolution: {integrity: sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==} + '@vitest/pretty-format@3.1.2': + resolution: {integrity: sha512-R0xAiHuWeDjTSB3kQ3OQpT8Rx3yhdOAIm/JM4axXxnG7Q/fS8XUwggv/A4xzbQA+drYRjzkMnpYnOGAc4oeq8w==} - '@vitest/runner@3.1.1': - resolution: {integrity: sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==} + '@vitest/runner@3.1.2': + resolution: {integrity: sha512-bhLib9l4xb4sUMPXnThbnhX2Yi8OutBMA8Yahxa7yavQsFDtwY/jrUZwpKp2XH9DhRFJIeytlyGpXCqZ65nR+g==} - '@vitest/snapshot@3.1.1': - resolution: {integrity: sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==} + '@vitest/snapshot@3.1.2': + resolution: {integrity: sha512-Q1qkpazSF/p4ApZg1vfZSQ5Yw6OCQxVMVrLjslbLFA1hMDrT2uxtqMaw8Tc/jy5DLka1sNs1Y7rBcftMiaSH/Q==} - '@vitest/spy@3.1.1': - resolution: {integrity: sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==} + '@vitest/spy@3.1.2': + resolution: {integrity: sha512-OEc5fSXMws6sHVe4kOFyDSj/+4MSwst0ib4un0DlcYgQvRuYQ0+M2HyqGaauUMnjq87tmUaMNDxKQx7wNfVqPA==} - '@vitest/utils@3.1.1': - resolution: {integrity: sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==} + '@vitest/utils@3.1.2': + resolution: {integrity: sha512-5GGd0ytZ7BH3H6JTj9Kw7Prn1Nbg0wZVrIvou+UWxm54d+WoXXgAgjFJ8wn3LdagWLFSEfpPeyYrByZaGEZHLg==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -1006,6 +1006,14 @@ packages: picomatch: optional: true + fdir@6.4.4: + resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + figures@6.1.0: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} @@ -1408,8 +1416,8 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - smol-toml@1.3.3: - resolution: {integrity: sha512-KMVLNWu490KlNfD0lbfDBUktJIEaZRBj1eeK0SMfdpO/rfyARIzlnPVI1Ge4l0vtSJmQUAiGKxMyLGrCT38iyA==} + smol-toml@1.3.4: + resolution: {integrity: sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==} engines: {node: '>= 18'} source-map-js@1.2.0: @@ -1486,6 +1494,10 @@ packages: resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.13: + resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} + engines: {node: '>=12.0.0'} + tinypool@1.0.2: resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -1539,38 +1551,38 @@ packages: typescript: optional: true - turbo-darwin-64@2.5.0: - resolution: {integrity: sha512-fP1hhI9zY8hv0idym3hAaXdPi80TLovmGmgZFocVAykFtOxF+GlfIgM/l4iLAV9ObIO4SUXPVWHeBZQQ+Hpjag==} + turbo-darwin-64@2.5.2: + resolution: {integrity: sha512-2aIl0Sx230nLk+Cg2qSVxvPOBWCZpwKNuAMKoROTvWKif6VMpkWWiR9XEPoz7sHeLmCOed4GYGMjL1bqAiIS/g==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.5.0: - resolution: {integrity: sha512-p9sYq7kXH7qeJwIQE86cOWv/xNqvow846l6c/qWc26Ib1ci5W7V0sI5thsrP3eH+VA0d+SHalTKg5SQXgNQBWA==} + turbo-darwin-arm64@2.5.2: + resolution: {integrity: sha512-MrFYhK/jYu8N6QlqZtqSHi3e4QVxlzqU3ANHTKn3/tThuwTLbNHEvzBPWSj5W7nZcM58dCqi6gYrfRz6bJZyAA==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.5.0: - resolution: {integrity: sha512-1iEln2GWiF3iPPPS1HQJT6ZCFXynJPd89gs9SkggH2EJsj3eRUSVMmMC8y6d7bBbhBFsiGGazwFIYrI12zs6uQ==} + turbo-linux-64@2.5.2: + resolution: {integrity: sha512-LxNqUE2HmAJQ/8deoLgMUDzKxd5bKxqH0UBogWa+DF+JcXhtze3UTMr6lEr0dEofdsEUYK1zg8FRjglmwlN5YA==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.5.0: - resolution: {integrity: sha512-bKBcbvuQHmsX116KcxHJuAcppiiBOfivOObh2O5aXNER6mce7YDDQJy00xQQNp1DhEfcSV2uOsvb3O3nN2cbcA==} + turbo-linux-arm64@2.5.2: + resolution: {integrity: sha512-0MI1Ao1q8zhd+UUbIEsrM+yLq1BsrcJQRGZkxIsHFlGp7WQQH1oR3laBgfnUCNdCotCMD6w4moc9pUbXdOR3bg==} cpu: [arm64] os: [linux] - turbo-windows-64@2.5.0: - resolution: {integrity: sha512-9BCo8oQ7BO7J0K913Czbc3tw8QwLqn2nTe4E47k6aVYkM12ASTScweXPTuaPFP5iYXAT6z5Dsniw704Ixa5eGg==} + turbo-windows-64@2.5.2: + resolution: {integrity: sha512-hOLcbgZzE5ttACHHyc1ajmWYq4zKT42IC3G6XqgiXxMbS+4eyVYTL+7UvCZBd3Kca1u4TLQdLQjeO76zyDJc2A==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.5.0: - resolution: {integrity: sha512-OUHCV+ueXa3UzfZ4co/ueIHgeq9B2K48pZwIxKSm5VaLVuv8M13MhM7unukW09g++dpdrrE1w4IOVgxKZ0/exg==} + turbo-windows-arm64@2.5.2: + resolution: {integrity: sha512-fMU41ABhSLa18H8V3Z7BMCGynQ8x+wj9WyBMvWm1jeyRKgkvUYJsO2vkIsy8m0vrwnIeVXKOIn6eSe1ddlBVqw==} cpu: [arm64] os: [win32] - turbo@2.5.0: - resolution: {integrity: sha512-PvSRruOsitjy6qdqwIIyolv99+fEn57gP6gn4zhsHTEcCYgXPhv6BAxzAjleS8XKpo+Y582vTTA9nuqYDmbRuA==} + turbo@2.5.2: + resolution: {integrity: sha512-Qo5lfuStr6LQh3sPQl7kIi243bGU4aHGDQJUf6ylAdGwks30jJFloc9NYHP7Y373+gGU9OS0faA4Mb5Sy8X9Xw==} hasBin: true typescript@5.8.3: @@ -1589,8 +1601,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.1.1: - resolution: {integrity: sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==} + vite-node@3.1.2: + resolution: {integrity: sha512-/8iMryv46J3aK13iUXsei5G/A3CUlW4665THCPS+K8xAaqrVWiGB4RfXMQXCLjpK9P2eK//BczrVkn5JLAk6DA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1622,16 +1634,16 @@ packages: terser: optional: true - vitest@3.1.1: - resolution: {integrity: sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==} + vitest@3.1.2: + resolution: {integrity: sha512-WaxpJe092ID1C0mr+LH9MmNrhfzi8I65EX/NRU/Ld016KqQNRgxSOlGNP1hHN+a/F8L15Mh8klwaF77zR3GeDQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.1.1 - '@vitest/ui': 3.1.1 + '@vitest/browser': 3.1.2 + '@vitest/ui': 3.1.2 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2207,47 +2219,47 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.14.1': + '@types/node@22.15.3': dependencies: undici-types: 6.21.0 - '@vitest/expect@3.1.1': + '@vitest/expect@3.1.2': dependencies: - '@vitest/spy': 3.1.1 - '@vitest/utils': 3.1.1 + '@vitest/spy': 3.1.2 + '@vitest/utils': 3.1.2 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.1.1(vite@5.2.10(@types/node@22.14.1))': + '@vitest/mocker@3.1.2(vite@5.2.10(@types/node@22.15.3))': dependencies: - '@vitest/spy': 3.1.1 + '@vitest/spy': 3.1.2 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.14.1) + vite: 5.2.10(@types/node@22.15.3) - '@vitest/pretty-format@3.1.1': + '@vitest/pretty-format@3.1.2': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.1.1': + '@vitest/runner@3.1.2': dependencies: - '@vitest/utils': 3.1.1 + '@vitest/utils': 3.1.2 pathe: 2.0.3 - '@vitest/snapshot@3.1.1': + '@vitest/snapshot@3.1.2': dependencies: - '@vitest/pretty-format': 3.1.1 + '@vitest/pretty-format': 3.1.2 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.1.1': + '@vitest/spy@3.1.2': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.1.1': + '@vitest/utils@3.1.2': dependencies: - '@vitest/pretty-format': 3.1.1 + '@vitest/pretty-format': 3.1.2 loupe: 3.1.3 tinyrainbow: 2.0.0 @@ -2470,6 +2482,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.4.4(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + figures@6.1.0: dependencies: is-unicode-supported: 2.1.0 @@ -2801,7 +2817,7 @@ snapshots: slash@3.0.0: {} - smol-toml@1.3.3: {} + smol-toml@1.3.4: {} source-map-js@1.2.0: {} @@ -2882,6 +2898,11 @@ snapshots: fdir: 6.4.3(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.13: + dependencies: + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@1.0.2: {} tinyrainbow@2.0.0: {} @@ -2934,32 +2955,32 @@ snapshots: - tsx - yaml - turbo-darwin-64@2.5.0: + turbo-darwin-64@2.5.2: optional: true - turbo-darwin-arm64@2.5.0: + turbo-darwin-arm64@2.5.2: optional: true - turbo-linux-64@2.5.0: + turbo-linux-64@2.5.2: optional: true - turbo-linux-arm64@2.5.0: + turbo-linux-arm64@2.5.2: optional: true - turbo-windows-64@2.5.0: + turbo-windows-64@2.5.2: optional: true - turbo-windows-arm64@2.5.0: + turbo-windows-arm64@2.5.2: optional: true - turbo@2.5.0: + turbo@2.5.2: optionalDependencies: - turbo-darwin-64: 2.5.0 - turbo-darwin-arm64: 2.5.0 - turbo-linux-64: 2.5.0 - turbo-linux-arm64: 2.5.0 - turbo-windows-64: 2.5.0 - turbo-windows-arm64: 2.5.0 + turbo-darwin-64: 2.5.2 + turbo-darwin-arm64: 2.5.2 + turbo-linux-64: 2.5.2 + turbo-linux-arm64: 2.5.2 + turbo-windows-64: 2.5.2 + turbo-windows-arm64: 2.5.2 typescript@5.8.3: {} @@ -2969,13 +2990,13 @@ snapshots: universalify@0.1.2: {} - vite-node@3.1.1(@types/node@22.14.1): + vite-node@3.1.2(@types/node@22.15.3): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 5.2.10(@types/node@22.14.1) + vite: 5.2.10(@types/node@22.15.3) transitivePeerDependencies: - '@types/node' - less @@ -2986,24 +3007,24 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.14.1): + vite@5.2.10(@types/node@22.15.3): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.34.9 optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.3 fsevents: 2.3.3 - vitest@3.1.1(@types/node@22.14.1): + vitest@3.1.2(@types/node@22.15.3): dependencies: - '@vitest/expect': 3.1.1 - '@vitest/mocker': 3.1.1(vite@5.2.10(@types/node@22.14.1)) - '@vitest/pretty-format': 3.1.1 - '@vitest/runner': 3.1.1 - '@vitest/snapshot': 3.1.1 - '@vitest/spy': 3.1.1 - '@vitest/utils': 3.1.1 + '@vitest/expect': 3.1.2 + '@vitest/mocker': 3.1.2(vite@5.2.10(@types/node@22.15.3)) + '@vitest/pretty-format': 3.1.2 + '@vitest/runner': 3.1.2 + '@vitest/snapshot': 3.1.2 + '@vitest/spy': 3.1.2 + '@vitest/utils': 3.1.2 chai: 5.2.0 debug: 4.4.0 expect-type: 1.2.1 @@ -3012,13 +3033,14 @@ snapshots: std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 + tinyglobby: 0.2.13 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.14.1) - vite-node: 3.1.1(@types/node@22.14.1) + vite: 5.2.10(@types/node@22.15.3) + vite-node: 3.1.2(@types/node@22.15.3) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.3 transitivePeerDependencies: - less - lightningcss From 8501dc68ad164ac1352d2e55ac1b9ae1a0876db3 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Mon, 5 May 2025 18:14:25 +0100 Subject: [PATCH 075/160] build: update start command --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 14efcee..0bbcc58 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "test:all": "turbo run test", "build": "turbo run build", "release": "pnpm build && changeset publish", - "start": "cd packages/core && pnpm start", + "start": "pnpm build && cd packages/create-solid && pnpm start", "format": "prettier --write .", "watch:build": "turbo watch build" }, From 37acf10fbd73e698d9a652a5f069f730fdbf94cd Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Mon, 5 May 2025 18:18:53 +0100 Subject: [PATCH 076/160] chore: update dependencies --- package.json | 3 ++- packages/utils/package.json | 3 +-- pnpm-lock.yaml | 3 --- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 0bbcc58..89ca5d1 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "release": "pnpm build && changeset publish", "start": "pnpm build && cd packages/create-solid && pnpm start", "format": "prettier --write .", - "watch:build": "turbo watch build" + "watch:build": "turbo watch build", + "update-deps": "ncu -u --packageFile packages/**/package.json" }, "contributors": [ { diff --git a/packages/utils/package.json b/packages/utils/package.json index 3c3ff39..7cc7685 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -71,8 +71,7 @@ "@types/node": "22.15.3", "magicast": "^0.3.5", "tsup": "^8.4.0", - "typescript": "^5.8.3", - "vitest": "^3.1.2" + "typescript": "^5.8.3" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1c85018..02788c8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -140,9 +140,6 @@ importers: typescript: specifier: ^5.8.3 version: 5.8.3 - vitest: - specifier: ^3.1.2 - version: 3.1.2(@types/node@22.15.3) packages: From a425a59604eb0a9e85234decf584800ad92b76df Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 8 May 2025 21:21:59 +0100 Subject: [PATCH 077/160] feat: allow creating library projects --- packages/create/src/create-library.ts | 14 +++++++++ packages/create/src/create-start.ts | 11 ++++--- packages/create/src/create-vanilla.ts | 5 +++- packages/create/src/index.ts | 41 ++++++++++++++++++++++---- packages/create/src/utils/constants.ts | 26 +++++++++++----- packages/full-solid/src/bin.ts | 4 +-- packages/full-solid/src/start/index.ts | 26 +++++++++------- packages/utils/src/ui/index.ts | 2 +- packages/utils/src/ui/spinnerify.ts | 2 +- 9 files changed, 98 insertions(+), 33 deletions(-) create mode 100644 packages/create/src/create-library.ts diff --git a/packages/create/src/create-library.ts b/packages/create/src/create-library.ts new file mode 100644 index 0000000..0366d98 --- /dev/null +++ b/packages/create/src/create-library.ts @@ -0,0 +1,14 @@ +import { downloadRepo, GithubFetcher } from "@begit/core"; + +export type CreateLibraryArgs = { + destination: string; +}; +export const createLibrary = ({ destination }: CreateLibraryArgs) => { + return downloadRepo( + { + repo: { owner: "solidjs-community", name: "solid-lib-starter" }, + dest: destination, + }, + GithubFetcher, + ); +}; diff --git a/packages/create/src/create-start.ts b/packages/create/src/create-start.ts index 9d5dd0b..63e4da6 100644 --- a/packages/create/src/create-start.ts +++ b/packages/create/src/create-start.ts @@ -9,10 +9,13 @@ export type CreateStartArgs = { }; export const createStartTS = ({ template, destination }: CreateStartArgs) => { - return downloadRepo({ - repo: { owner: "solidjs", name: "solid-start", subdir: `examples/${template}` }, - dest: destination, - }, GithubFetcher); + return downloadRepo( + { + repo: { owner: "solidjs", name: "solid-start", subdir: `examples/${template}` }, + dest: destination, + }, + GithubFetcher, + ); }; export const createStartJS = async ({ template, destination }: CreateStartArgs) => { diff --git a/packages/create/src/create-vanilla.ts b/packages/create/src/create-vanilla.ts index 1c5ad61..47fea82 100644 --- a/packages/create/src/create-vanilla.ts +++ b/packages/create/src/create-vanilla.ts @@ -15,7 +15,10 @@ export const createVanilla = (args: CreateVanillaArgs, transpile?: boolean) => { return createVanillaTS(args); }; export const createVanillaTS = async ({ template, destination }: CreateVanillaArgs) => { - return await downloadRepo({ repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }, GithubFetcher); + return await downloadRepo( + { repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }, + GithubFetcher, + ); }; export const createVanillaJS = async ({ template, destination }: CreateVanillaArgs) => { diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 77efc43..926ea0d 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -3,12 +3,21 @@ import { createVanilla } from "./create-vanilla"; import * as p from "@clack/prompts"; import { cancelable, spinnerify } from "@solid-cli/utils/ui"; import { createStart } from "./create-start"; -import { getTemplatesList, GIT_IGNORE, StartTemplate, VanillaTemplate } from "./utils/constants"; +import { + getTemplatesList, + GIT_IGNORE, + PROJECT_TYPES, + ProjectType, + StartTemplate, + VanillaTemplate, +} from "./utils/constants"; import { detectPackageManager } from "@solid-cli/utils/package-manager"; import { insertAtEnd } from "@solid-cli/utils/fs"; import { existsSync, writeFileSync } from "node:fs"; import { join } from "node:path"; +import { createLibrary } from "./create-library"; export { createVanilla, createStart }; + export const createSolid = (version: string) => defineCommand({ meta: { @@ -46,12 +55,21 @@ export const createSolid = (version: string) => // Show prompts for any unknown arguments let projectName: string = projectNamePositional ?? projectNameOptional; let template: string = templatePositional; - let isStart: boolean = solidstart; + let projectType: ProjectType | undefined = solidstart ? "start" : undefined; projectName ??= await cancelable( p.text({ message: "Project Name", placeholder: "solid-project", defaultValue: "solid-project" }), ); - isStart ??= await cancelable(p.confirm({ message: "Is this a SolidStart project?" })); - const template_opts = await getTemplatesList(isStart); + projectType ??= await cancelable( + p.select({ + message: "What type of project would you like to create?", + initialValue: "start", + options: PROJECT_TYPES.map((t) => ({ + value: t, + label: t === "start" ? "SolidStart" : t === "vanilla" ? "SolidJS + Vite" : "Library", + })), + }), + ); + const template_opts = getTemplatesList(projectType); template ??= await cancelable( p.select({ message: "Which template would you like to use?", @@ -61,14 +79,25 @@ export const createSolid = (version: string) => ); // Don't transpile project if it's already javascript! - const transpileToJS = template.startsWith("js") ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); + const transpileToJS = + projectType === "library" + ? false + : template.startsWith("js") + ? false + : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); - if (isStart) { + if (projectType === "start") { await spinnerify({ startText: "Creating project", finishText: "Project created 🎉", fn: () => createStart({ template: template as StartTemplate, destination: projectName }, transpileToJS), }); + } else if (projectType === "library") { + await spinnerify({ + startText: "Creating project", + finishText: "Project created 🎉", + fn: () => createLibrary({ destination: projectName }), + }); } else { await spinnerify({ startText: "Creating project", diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index f3a25d7..ce66b2d 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -55,7 +55,7 @@ const VANILLA_TEMPLATES = [ "js", "js-vitest", "js-tailwindcss", -] as const; +] as const satisfies string[]; export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; const START_TEMPLATES = [ @@ -77,14 +77,26 @@ const START_TEMPLATES = [ "with-unocss", "with-vitest", "experiments", -] as const; +] as const satisfies string[]; export type StartTemplate = (typeof START_TEMPLATES)[number]; -export const getTemplatesList = async (isStart: boolean) => { - if (isStart) { - return START_TEMPLATES; +export const LIBRARY_TEMPLATES = ["solid-lib-starter"] as const satisfies string[]; +export type LibraryTemplate = (typeof LIBRARY_TEMPLATES)[number]; + +export const PROJECT_TYPES = ["start", "vanilla", "library"] as const satisfies string[]; +export type ProjectType = (typeof PROJECT_TYPES)[number]; + +export function getTemplatesList(projectType: "vanilla"): StartTemplate[]; +export function getTemplatesList(projectType: "start"): VanillaTemplate[]; +export function getTemplatesList(projectType: "library"): VanillaTemplate[]; +export function getTemplatesList(projectType: ProjectType): VanillaTemplate[] | StartTemplate[] | LibraryTemplate[]; +export function getTemplatesList(projectType: ProjectType) { + if (projectType === "start") { + return START_TEMPLATES as StartTemplate[]; + } else if (projectType === "library") { + return LIBRARY_TEMPLATES as LibraryTemplate[]; } - return VANILLA_TEMPLATES; -}; + return VANILLA_TEMPLATES as VanillaTemplate[]; +} // diff --git a/packages/full-solid/src/bin.ts b/packages/full-solid/src/bin.ts index 12100b6..5f2c97c 100644 --- a/packages/full-solid/src/bin.ts +++ b/packages/full-solid/src/bin.ts @@ -13,7 +13,7 @@ intro(`\n${color.bgCyan(color.black(` Solid CLI v${packageJson.version}`))}`); const main = defineCommand({ meta: { - description: "The full Solid CLI" + description: "The full Solid CLI", }, subCommands: { create: createSolid(packageJson.version), @@ -23,7 +23,7 @@ const main = defineCommand({ meta: { description: "Open the Solid Docs in your browser" }, async run() { openInBrowser("https://docs.solidjs.com"); - p.log.success("Opened successfully") + p.log.success("Opened successfully"); }, }), }, diff --git a/packages/full-solid/src/start/index.ts b/packages/full-solid/src/start/index.ts index 62812f7..0df4ad5 100644 --- a/packages/full-solid/src/start/index.ts +++ b/packages/full-solid/src/start/index.ts @@ -2,9 +2,10 @@ import { createApi, createRoute } from "@solid-cli/utils"; import { defineCommand } from "citty"; import * as p from "@clack/prompts"; import { green } from "picocolors"; -import { cancelable } from "@solid-cli/utils/ui" +import { cancelable } from "@solid-cli/utils/ui"; export const startCommands = defineCommand({ - meta: { description: "Start-specific commands" }, subCommands: { + meta: { description: "Start-specific commands" }, + subCommands: { route: defineCommand({ meta: { description: "Creates a new route" }, args: { @@ -17,22 +18,25 @@ export const startCommands = defineCommand({ type: "boolean", required: false, default: false, - alias: "a" - } + alias: "a", + }, }, async run({ args: { path, api } }) { - path ||= await cancelable(p.text({ - message: "Route path", validate(value) { - if (value.length === 0) return "A route path is required" - }, - })) + path ||= await cancelable( + p.text({ + message: "Route path", + validate(value) { + if (value.length === 0) return "A route path is required"; + }, + }), + ); if (api) { await createApi(path as string); } else { await createRoute(path as string); } - p.log.success(`Route ${green(path as string)} successfully created!`) + p.log.success(`Route ${green(path as string)} successfully created!`); }, }), - } + }, }); diff --git a/packages/utils/src/ui/index.ts b/packages/utils/src/ui/index.ts index be0fed0..a41de7c 100644 --- a/packages/utils/src/ui/index.ts +++ b/packages/utils/src/ui/index.ts @@ -1,3 +1,3 @@ import { cancelable } from "./cancelable"; import { spinnerify } from "./spinnerify"; -export { cancelable, spinnerify } \ No newline at end of file +export { cancelable, spinnerify }; diff --git a/packages/utils/src/ui/spinnerify.ts b/packages/utils/src/ui/spinnerify.ts index baa53b4..7205636 100644 --- a/packages/utils/src/ui/spinnerify.ts +++ b/packages/utils/src/ui/spinnerify.ts @@ -16,4 +16,4 @@ export async function spinnerify(spinners: SpinnerItem[] | SpinnerItem Date: Sat, 24 May 2025 13:32:25 +0100 Subject: [PATCH 078/160] chore: update dependencies --- package.json | 6 +- packages/create-solid/package.json | 6 +- packages/create/package.json | 6 +- packages/full-solid/package.json | 6 +- packages/utils/package.json | 10 +- pnpm-lock.yaml | 353 +++++++++++++++-------------- 6 files changed, 206 insertions(+), 181 deletions(-) diff --git a/package.json b/package.json index 89ca5d1..a5954a7 100644 --- a/package.json +++ b/package.json @@ -31,10 +31,10 @@ "./packages/*" ], "devDependencies": { - "@changesets/cli": "2.29.2", + "@changesets/cli": "2.29.4", "prettier": "^3.5.3", - "turbo": "^2.5.2", - "vitest": "^3.1.2" + "turbo": "^2.5.3", + "vitest": "^3.1.4" }, "packageManager": "pnpm@10.10.0", "dependencies": { diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index bf295cd..c0fcad1 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -31,10 +31,10 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "0.10.1", - "@types/node": "^22.15.3", + "@clack/prompts": "0.11.0", + "@types/node": "^22.15.21", "picocolors": "^1.1.1", - "tsup": "^8.4.0", + "tsup": "^8.5.0", "typescript": "^5.8.3", "citty": "^0.1.6", "@solid-cli/create": "workspace:*" diff --git a/packages/create/package.json b/packages/create/package.json index 1ff5044..abc1c85 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -38,14 +38,14 @@ }, "devDependencies": { "typescript": "^5.8.3", - "@types/node": "^22.15.3", - "tsup": "^8.4.0" + "@types/node": "^22.15.21", + "tsup": "^8.5.0" }, "publishConfig": { "access": "public" }, "dependencies": { - "@clack/prompts": "0.10.1", + "@clack/prompts": "0.11.0", "picocolors": "^1.1.1", "@begit/core": "^0.3.1", "citty": "^0.1.6", diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 1bae7a7..db472c5 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -30,13 +30,13 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "0.10.1", + "@clack/prompts": "0.11.0", "picocolors": "^1.1.1", - "@types/node": "^22.15.3", + "@types/node": "^22.15.21", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*", - "tsup": "^8.4.0", + "tsup": "^8.5.0", "typescript": "^5.8.3" }, "publishConfig": { diff --git a/packages/utils/package.json b/packages/utils/package.json index 7cc7685..9325fc8 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,18 +68,18 @@ }, "devDependencies": { "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.15.3", + "@types/node": "22.15.21", "magicast": "^0.3.5", - "tsup": "^8.4.0", + "tsup": "^8.5.0", "typescript": "^5.8.3" }, "publishConfig": { "access": "public" }, "dependencies": { - "@clack/core": "0.4.2", - "@clack/prompts": "0.10.1", - "execa": "^9.5.2", + "@clack/core": "0.5.0", + "@clack/prompts": "0.11.0", + "execa": "^9.5.3", "picocolors": "^1.1.1", "smol-toml": "^1.3.4" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 02788c8..42597ac 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,17 +13,17 @@ importers: version: 2.4.2 devDependencies: '@changesets/cli': - specifier: 2.29.2 - version: 2.29.2 + specifier: 2.29.4 + version: 2.29.4 prettier: specifier: ^3.5.3 version: 3.5.3 turbo: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.5.3 + version: 2.5.3 vitest: - specifier: ^3.1.2 - version: 3.1.2(@types/node@22.15.3) + specifier: ^3.1.4 + version: 3.1.4(@types/node@22.15.21) packages/create: dependencies: @@ -31,8 +31,8 @@ importers: specifier: ^0.3.1 version: 0.3.1 '@clack/prompts': - specifier: 0.10.1 - version: 0.10.1 + specifier: 0.11.0 + version: 0.11.0 '@solid-cli/utils': specifier: workspace:* version: link:../utils @@ -47,11 +47,11 @@ importers: version: 3.35.0 devDependencies: '@types/node': - specifier: ^22.15.3 - version: 22.15.3 + specifier: ^22.15.21 + version: 22.15.21 tsup: - specifier: ^8.4.0 - version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) + specifier: ^8.5.0 + version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -59,14 +59,14 @@ importers: packages/create-solid: devDependencies: '@clack/prompts': - specifier: 0.10.1 - version: 0.10.1 + specifier: 0.11.0 + version: 0.11.0 '@solid-cli/create': specifier: workspace:* version: link:../create '@types/node': - specifier: ^22.15.3 - version: 22.15.3 + specifier: ^22.15.21 + version: 22.15.21 citty: specifier: ^0.1.6 version: 0.1.6 @@ -74,8 +74,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 tsup: - specifier: ^8.4.0 - version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) + specifier: ^8.5.0 + version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -83,8 +83,8 @@ importers: packages/full-solid: devDependencies: '@clack/prompts': - specifier: 0.10.1 - version: 0.10.1 + specifier: 0.11.0 + version: 0.11.0 '@solid-cli/create': specifier: workspace:* version: link:../create @@ -92,8 +92,8 @@ importers: specifier: workspace:* version: link:../utils '@types/node': - specifier: ^22.15.3 - version: 22.15.3 + specifier: ^22.15.21 + version: 22.15.21 citty: specifier: ^0.1.6 version: 0.1.6 @@ -101,8 +101,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 tsup: - specifier: ^8.4.0 - version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) + specifier: ^8.5.0 + version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -110,14 +110,14 @@ importers: packages/utils: dependencies: '@clack/core': - specifier: 0.4.2 - version: 0.4.2 + specifier: 0.5.0 + version: 0.5.0 '@clack/prompts': - specifier: 0.10.1 - version: 0.10.1 + specifier: 0.11.0 + version: 0.11.0 execa: - specifier: ^9.5.2 - version: 9.5.2 + specifier: ^9.5.3 + version: 9.5.3 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -129,14 +129,14 @@ importers: specifier: ^0.18.2 version: 0.18.2 '@types/node': - specifier: 22.15.3 - version: 22.15.3 + specifier: 22.15.21 + version: 22.15.21 magicast: specifier: ^0.3.5 version: 0.3.5 tsup: - specifier: ^8.4.0 - version: 8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) + specifier: ^8.5.0 + version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -170,14 +170,14 @@ packages: '@changesets/apply-release-plan@7.0.12': resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} - '@changesets/assemble-release-plan@6.0.6': - resolution: {integrity: sha512-Frkj8hWJ1FRZiY3kzVCKzS0N5mMwWKwmv9vpam7vt8rZjLL1JMthdh6pSDVSPumHPshTTkKZ0VtNbE0cJHZZUg==} + '@changesets/assemble-release-plan@6.0.8': + resolution: {integrity: sha512-y8+8LvZCkKJdbUlpXFuqcavpzJR80PN0OIfn8HZdwK7Sh6MgLXm4hKY5vu6/NDoKp8lAlM4ERZCqRMLxP4m+MQ==} '@changesets/changelog-git@0.2.1': resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@changesets/cli@2.29.2': - resolution: {integrity: sha512-vwDemKjGYMOc0l6WUUTGqyAWH3AmueeyoJa1KmFRtCYiCoY5K3B68ErYpDB6H48T4lLI4czum4IEjh6ildxUeg==} + '@changesets/cli@2.29.4': + resolution: {integrity: sha512-VW30x9oiFp/un/80+5jLeWgEU6Btj8IqOgI+X/zAYu4usVOWXjPIK5jSSlt5jsCU7/6Z7AxEkarxBxGUqkAmNg==} hasBin: true '@changesets/config@3.1.1': @@ -189,8 +189,8 @@ packages: '@changesets/get-dependents-graph@2.1.3': resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - '@changesets/get-release-plan@4.0.10': - resolution: {integrity: sha512-CCJ/f3edYaA3MqoEnWvGGuZm0uMEMzNJ97z9hdUR34AOvajSwySwsIzC/bBu3+kuGDsB+cny4FljG8UBWAa7jg==} + '@changesets/get-release-plan@4.0.12': + resolution: {integrity: sha512-KukdEgaafnyGryUwpHG2kZ7xJquOmWWWk5mmoeQaSvZTWH1DC5D/Sw6ClgGFYtQnOMSQhgoEbDxAbpIIayKH1g==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} @@ -238,11 +238,11 @@ packages: resolution: {integrity: sha512-eV1m70Qn9pLY9xwFmZ2FlcOzwiaUywsJ7NB/ud8VB7DouvCQtIHkQ3Om7uPX0ojXGEG1LCyO96kZkvbNTxNu0Q==} engines: {node: '>=18'} - '@clack/core@0.4.2': - resolution: {integrity: sha512-NYQfcEy8MWIxrT5Fj8nIVchfRFA26yYKJcvBS7WlUIlw2OmQOY9DhGGXMovyI5J5PpxrCPGkgUi207EBrjpBvg==} + '@clack/core@0.5.0': + resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==} - '@clack/prompts@0.10.1': - resolution: {integrity: sha512-Q0T02vx8ZM9XSv9/Yde0jTmmBQufZhPJfYAg2XrrrxWWaZgq1rr8nU8Hv710BQ1dhoP8rtY7YUdpGej2Qza/cw==} + '@clack/prompts@0.11.0': + resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} '@esbuild/aix-ppc64@0.20.2': resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} @@ -770,14 +770,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.15.3': - resolution: {integrity: sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==} + '@types/node@22.15.21': + resolution: {integrity: sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==} - '@vitest/expect@3.1.2': - resolution: {integrity: sha512-O8hJgr+zREopCAqWl3uCVaOdqJwZ9qaDwUP7vy3Xigad0phZe9APxKhPcDNqYYi0rX5oMvwJMSCAXY2afqeTSA==} + '@vitest/expect@3.1.4': + resolution: {integrity: sha512-xkD/ljeliyaClDYqHPNCiJ0plY5YIcM0OlRiZizLhlPmpXWpxnGMyTZXOHFhFeG7w9P5PBeL4IdtJ/HeQwTbQA==} - '@vitest/mocker@3.1.2': - resolution: {integrity: sha512-kOtd6K2lc7SQ0mBqYv/wdGedlqPdM/B38paPY+OwJ1XiNi44w3Fpog82UfOibmHaV9Wod18A09I9SCKLyDMqgw==} + '@vitest/mocker@3.1.4': + resolution: {integrity: sha512-8IJ3CvwtSw/EFXqWFL8aCMu+YyYXG2WUSrQbViOZkWTKTVicVwZ/YiEZDSqD00kX+v/+W+OnxhNWoeVKorHygA==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -787,20 +787,25 @@ packages: vite: optional: true - '@vitest/pretty-format@3.1.2': - resolution: {integrity: sha512-R0xAiHuWeDjTSB3kQ3OQpT8Rx3yhdOAIm/JM4axXxnG7Q/fS8XUwggv/A4xzbQA+drYRjzkMnpYnOGAc4oeq8w==} + '@vitest/pretty-format@3.1.4': + resolution: {integrity: sha512-cqv9H9GvAEoTaoq+cYqUTCGscUjKqlJZC7PRwY5FMySVj5J+xOm1KQcCiYHJOEzOKRUhLH4R2pTwvFlWCEScsg==} - '@vitest/runner@3.1.2': - resolution: {integrity: sha512-bhLib9l4xb4sUMPXnThbnhX2Yi8OutBMA8Yahxa7yavQsFDtwY/jrUZwpKp2XH9DhRFJIeytlyGpXCqZ65nR+g==} + '@vitest/runner@3.1.4': + resolution: {integrity: sha512-djTeF1/vt985I/wpKVFBMWUlk/I7mb5hmD5oP8K9ACRmVXgKTae3TUOtXAEBfslNKPzUQvnKhNd34nnRSYgLNQ==} - '@vitest/snapshot@3.1.2': - resolution: {integrity: sha512-Q1qkpazSF/p4ApZg1vfZSQ5Yw6OCQxVMVrLjslbLFA1hMDrT2uxtqMaw8Tc/jy5DLka1sNs1Y7rBcftMiaSH/Q==} + '@vitest/snapshot@3.1.4': + resolution: {integrity: sha512-JPHf68DvuO7vilmvwdPr9TS0SuuIzHvxeaCkxYcCD4jTk67XwL45ZhEHFKIuCm8CYstgI6LZ4XbwD6ANrwMpFg==} - '@vitest/spy@3.1.2': - resolution: {integrity: sha512-OEc5fSXMws6sHVe4kOFyDSj/+4MSwst0ib4un0DlcYgQvRuYQ0+M2HyqGaauUMnjq87tmUaMNDxKQx7wNfVqPA==} + '@vitest/spy@3.1.4': + resolution: {integrity: sha512-Xg1bXhu+vtPXIodYN369M86K8shGLouNjoVI78g8iAq2rFoHFdajNvJJ5A/9bPMFcfQqdaCpOgWKEoMQg/s0Yg==} - '@vitest/utils@3.1.2': - resolution: {integrity: sha512-5GGd0ytZ7BH3H6JTj9Kw7Prn1Nbg0wZVrIvou+UWxm54d+WoXXgAgjFJ8wn3LdagWLFSEfpPeyYrByZaGEZHLg==} + '@vitest/utils@3.1.4': + resolution: {integrity: sha512-yriMuO1cfFhmiGc8ataN51+9ooHRuURdfAZfwFd3usWynjzpLslZdYnRegTv32qdgtJTsj15FoeZe2g15fY1gg==} + + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -897,6 +902,9 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -952,8 +960,8 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - es-module-lexer@1.6.0: - resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} @@ -973,8 +981,8 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - execa@9.5.2: - resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} + execa@9.5.3: + resolution: {integrity: sha512-QFNnTvU3UjgWFy8Ef9iDHvIdcgZ344ebkwYx4/KLbR+CKQA4xBaHzv+iRpp86QfMHP8faFQLh8iOc57215y4Rg==} engines: {node: ^18.19.0 || >=20.5.0} expect-type@1.2.1: @@ -995,14 +1003,6 @@ packages: fastq@1.18.0: resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} - fdir@6.4.3: - resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - fdir@6.4.4: resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} peerDependencies: @@ -1023,6 +1023,9 @@ packages: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} + fix-dts-default-cjs-exports@1.0.1: + resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} + foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} @@ -1205,6 +1208,9 @@ packages: engines: {node: '>=10'} hasBin: true + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -1308,6 +1314,9 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + postcss-load-config@6.0.1: resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} @@ -1487,10 +1496,6 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.12: - resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} - engines: {node: '>=12.0.0'} - tinyglobby@0.2.13: resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} engines: {node: '>=12.0.0'} @@ -1529,8 +1534,8 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tsup@8.4.0: - resolution: {integrity: sha512-b+eZbPCjz10fRryaAA7C8xlIHnf8VnsaRqydheLIqwG/Mcpfk8Z5zp3HayX7GaTygkigHl5cBUs+IhcySiIexQ==} + tsup@8.5.0: + resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -1548,38 +1553,38 @@ packages: typescript: optional: true - turbo-darwin-64@2.5.2: - resolution: {integrity: sha512-2aIl0Sx230nLk+Cg2qSVxvPOBWCZpwKNuAMKoROTvWKif6VMpkWWiR9XEPoz7sHeLmCOed4GYGMjL1bqAiIS/g==} + turbo-darwin-64@2.5.3: + resolution: {integrity: sha512-YSItEVBUIvAGPUDpAB9etEmSqZI3T6BHrkBkeSErvICXn3dfqXUfeLx35LfptLDEbrzFUdwYFNmt8QXOwe9yaw==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.5.2: - resolution: {integrity: sha512-MrFYhK/jYu8N6QlqZtqSHi3e4QVxlzqU3ANHTKn3/tThuwTLbNHEvzBPWSj5W7nZcM58dCqi6gYrfRz6bJZyAA==} + turbo-darwin-arm64@2.5.3: + resolution: {integrity: sha512-5PefrwHd42UiZX7YA9m1LPW6x9YJBDErXmsegCkVp+GjmWrADfEOxpFrGQNonH3ZMj77WZB2PVE5Aw3gA+IOhg==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.5.2: - resolution: {integrity: sha512-LxNqUE2HmAJQ/8deoLgMUDzKxd5bKxqH0UBogWa+DF+JcXhtze3UTMr6lEr0dEofdsEUYK1zg8FRjglmwlN5YA==} + turbo-linux-64@2.5.3: + resolution: {integrity: sha512-M9xigFgawn5ofTmRzvjjLj3Lqc05O8VHKuOlWNUlnHPUltFquyEeSkpQNkE/vpPdOR14AzxqHbhhxtfS4qvb1w==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.5.2: - resolution: {integrity: sha512-0MI1Ao1q8zhd+UUbIEsrM+yLq1BsrcJQRGZkxIsHFlGp7WQQH1oR3laBgfnUCNdCotCMD6w4moc9pUbXdOR3bg==} + turbo-linux-arm64@2.5.3: + resolution: {integrity: sha512-auJRbYZ8SGJVqvzTikpg1bsRAsiI9Tk0/SDkA5Xgg0GdiHDH/BOzv1ZjDE2mjmlrO/obr19Dw+39OlMhwLffrw==} cpu: [arm64] os: [linux] - turbo-windows-64@2.5.2: - resolution: {integrity: sha512-hOLcbgZzE5ttACHHyc1ajmWYq4zKT42IC3G6XqgiXxMbS+4eyVYTL+7UvCZBd3Kca1u4TLQdLQjeO76zyDJc2A==} + turbo-windows-64@2.5.3: + resolution: {integrity: sha512-arLQYohuHtIEKkmQSCU9vtrKUg+/1TTstWB9VYRSsz+khvg81eX6LYHtXJfH/dK7Ho6ck+JaEh5G+QrE1jEmCQ==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.5.2: - resolution: {integrity: sha512-fMU41ABhSLa18H8V3Z7BMCGynQ8x+wj9WyBMvWm1jeyRKgkvUYJsO2vkIsy8m0vrwnIeVXKOIn6eSe1ddlBVqw==} + turbo-windows-arm64@2.5.3: + resolution: {integrity: sha512-3JPn66HAynJ0gtr6H+hjY4VHpu1RPKcEwGATvGUTmLmYSYBQieVlnGDRMMoYN066YfyPqnNGCfhYbXfH92Cm0g==} cpu: [arm64] os: [win32] - turbo@2.5.2: - resolution: {integrity: sha512-Qo5lfuStr6LQh3sPQl7kIi243bGU4aHGDQJUf6ylAdGwks30jJFloc9NYHP7Y373+gGU9OS0faA4Mb5Sy8X9Xw==} + turbo@2.5.3: + resolution: {integrity: sha512-iHuaNcq5GZZnr3XDZNuu2LSyCzAOPwDuo5Qt+q64DfsTP1i3T2bKfxJhni2ZQxsvAoxRbuUK5QetJki4qc5aYA==} hasBin: true typescript@5.8.3: @@ -1587,6 +1592,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} @@ -1598,8 +1606,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.1.2: - resolution: {integrity: sha512-/8iMryv46J3aK13iUXsei5G/A3CUlW4665THCPS+K8xAaqrVWiGB4RfXMQXCLjpK9P2eK//BczrVkn5JLAk6DA==} + vite-node@3.1.4: + resolution: {integrity: sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1631,16 +1639,16 @@ packages: terser: optional: true - vitest@3.1.2: - resolution: {integrity: sha512-WaxpJe092ID1C0mr+LH9MmNrhfzi8I65EX/NRU/Ld016KqQNRgxSOlGNP1hHN+a/F8L15Mh8klwaF77zR3GeDQ==} + vitest@3.1.4: + resolution: {integrity: sha512-Ta56rT7uWxCSJXlBtKgIlApJnT6e6IGmTYxYcmxjJ4ujuZDI59GUQgVDObXXJujOmPDBYXHK1qmaGtneu6TNIQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.1.2 - '@vitest/ui': 3.1.2 + '@vitest/browser': 3.1.4 + '@vitest/ui': 3.1.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1731,7 +1739,7 @@ snapshots: resolve-from: 5.0.0 semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.6': + '@changesets/assemble-release-plan@6.0.8': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.3 @@ -1744,15 +1752,15 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.29.2': + '@changesets/cli@2.29.4': dependencies: '@changesets/apply-release-plan': 7.0.12 - '@changesets/assemble-release-plan': 6.0.6 + '@changesets/assemble-release-plan': 6.0.8 '@changesets/changelog-git': 0.2.1 '@changesets/config': 3.1.1 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.3 - '@changesets/get-release-plan': 4.0.10 + '@changesets/get-release-plan': 4.0.12 '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.2 @@ -1796,9 +1804,9 @@ snapshots: picocolors: 1.1.1 semver: 7.6.3 - '@changesets/get-release-plan@4.0.10': + '@changesets/get-release-plan@4.0.12': dependencies: - '@changesets/assemble-release-plan': 6.0.6 + '@changesets/assemble-release-plan': 6.0.8 '@changesets/config': 3.1.1 '@changesets/pre': 2.0.2 '@changesets/read': 0.6.5 @@ -1874,14 +1882,14 @@ snapshots: '@chialab/node-resolve@0.18.0': {} - '@clack/core@0.4.2': + '@clack/core@0.5.0': dependencies: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/prompts@0.10.1': + '@clack/prompts@0.11.0': dependencies: - '@clack/core': 0.4.2 + '@clack/core': 0.5.0 picocolors: 1.1.1 sisteransi: 1.0.5 @@ -2216,50 +2224,52 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.15.3': + '@types/node@22.15.21': dependencies: undici-types: 6.21.0 - '@vitest/expect@3.1.2': + '@vitest/expect@3.1.4': dependencies: - '@vitest/spy': 3.1.2 - '@vitest/utils': 3.1.2 + '@vitest/spy': 3.1.4 + '@vitest/utils': 3.1.4 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.1.2(vite@5.2.10(@types/node@22.15.3))': + '@vitest/mocker@3.1.4(vite@5.2.10(@types/node@22.15.21))': dependencies: - '@vitest/spy': 3.1.2 + '@vitest/spy': 3.1.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.15.3) + vite: 5.2.10(@types/node@22.15.21) - '@vitest/pretty-format@3.1.2': + '@vitest/pretty-format@3.1.4': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.1.2': + '@vitest/runner@3.1.4': dependencies: - '@vitest/utils': 3.1.2 + '@vitest/utils': 3.1.4 pathe: 2.0.3 - '@vitest/snapshot@3.1.2': + '@vitest/snapshot@3.1.4': dependencies: - '@vitest/pretty-format': 3.1.2 + '@vitest/pretty-format': 3.1.4 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.1.2': + '@vitest/spy@3.1.4': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.1.2': + '@vitest/utils@3.1.4': dependencies: - '@vitest/pretty-format': 3.1.2 + '@vitest/pretty-format': 3.1.4 loupe: 3.1.3 tinyrainbow: 2.0.0 + acorn@8.14.1: {} + ansi-colors@4.1.3: {} ansi-regex@5.0.1: {} @@ -2335,6 +2345,8 @@ snapshots: commander@4.1.1: {} + confbox@0.1.8: {} + consola@3.2.3: {} consola@3.4.0: {} @@ -2376,7 +2388,7 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - es-module-lexer@1.6.0: {} + es-module-lexer@1.7.0: {} esbuild@0.20.2: optionalDependencies: @@ -2438,7 +2450,7 @@ snapshots: dependencies: '@types/estree': 1.0.6 - execa@9.5.2: + execa@9.5.3: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.6 @@ -2475,10 +2487,6 @@ snapshots: dependencies: reusify: 1.0.4 - fdir@6.4.3(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - fdir@6.4.4(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -2496,6 +2504,12 @@ snapshots: locate-path: 5.0.0 path-exists: 4.0.0 + fix-dts-default-cjs-exports@1.0.1: + dependencies: + magic-string: 0.30.17 + mlly: 1.7.4 + rollup: 4.34.9 + foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 @@ -2653,6 +2667,13 @@ snapshots: mkdirp@3.0.1: {} + mlly@1.7.4: + dependencies: + acorn: 8.14.1 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + mri@1.2.0: {} ms@2.1.3: {} @@ -2723,6 +2744,12 @@ snapshots: pirates@4.0.6: {} + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 2.0.3 + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.38): dependencies: lilconfig: 3.1.2 @@ -2890,11 +2917,6 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.12: - dependencies: - fdir: 6.4.3(picomatch@4.0.2) - picomatch: 4.0.2 - tinyglobby@0.2.13: dependencies: fdir: 6.4.4(picomatch@4.0.2) @@ -2924,7 +2946,7 @@ snapshots: ts-interface-checker@0.1.13: {} - tsup@8.4.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3): + tsup@8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3): dependencies: bundle-require: 5.1.0(esbuild@0.25.0) cac: 6.7.14 @@ -2932,6 +2954,7 @@ snapshots: consola: 3.4.0 debug: 4.4.0 esbuild: 0.25.0 + fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.38) @@ -2940,7 +2963,7 @@ snapshots: source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.2 - tinyglobby: 0.2.12 + tinyglobby: 0.2.13 tree-kill: 1.2.2 optionalDependencies: '@swc/core': 1.5.5 @@ -2952,48 +2975,50 @@ snapshots: - tsx - yaml - turbo-darwin-64@2.5.2: + turbo-darwin-64@2.5.3: optional: true - turbo-darwin-arm64@2.5.2: + turbo-darwin-arm64@2.5.3: optional: true - turbo-linux-64@2.5.2: + turbo-linux-64@2.5.3: optional: true - turbo-linux-arm64@2.5.2: + turbo-linux-arm64@2.5.3: optional: true - turbo-windows-64@2.5.2: + turbo-windows-64@2.5.3: optional: true - turbo-windows-arm64@2.5.2: + turbo-windows-arm64@2.5.3: optional: true - turbo@2.5.2: + turbo@2.5.3: optionalDependencies: - turbo-darwin-64: 2.5.2 - turbo-darwin-arm64: 2.5.2 - turbo-linux-64: 2.5.2 - turbo-linux-arm64: 2.5.2 - turbo-windows-64: 2.5.2 - turbo-windows-arm64: 2.5.2 + turbo-darwin-64: 2.5.3 + turbo-darwin-arm64: 2.5.3 + turbo-linux-64: 2.5.3 + turbo-linux-arm64: 2.5.3 + turbo-windows-64: 2.5.3 + turbo-windows-arm64: 2.5.3 typescript@5.8.3: {} + ufo@1.6.1: {} + undici-types@6.21.0: {} unicorn-magic@0.3.0: {} universalify@0.1.2: {} - vite-node@3.1.2(@types/node@22.15.3): + vite-node@3.1.4(@types/node@22.15.21): dependencies: cac: 6.7.14 debug: 4.4.0 - es-module-lexer: 1.6.0 + es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 5.2.10(@types/node@22.15.3) + vite: 5.2.10(@types/node@22.15.21) transitivePeerDependencies: - '@types/node' - less @@ -3004,24 +3029,24 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.15.3): + vite@5.2.10(@types/node@22.15.21): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.34.9 optionalDependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.21 fsevents: 2.3.3 - vitest@3.1.2(@types/node@22.15.3): + vitest@3.1.4(@types/node@22.15.21): dependencies: - '@vitest/expect': 3.1.2 - '@vitest/mocker': 3.1.2(vite@5.2.10(@types/node@22.15.3)) - '@vitest/pretty-format': 3.1.2 - '@vitest/runner': 3.1.2 - '@vitest/snapshot': 3.1.2 - '@vitest/spy': 3.1.2 - '@vitest/utils': 3.1.2 + '@vitest/expect': 3.1.4 + '@vitest/mocker': 3.1.4(vite@5.2.10(@types/node@22.15.21)) + '@vitest/pretty-format': 3.1.4 + '@vitest/runner': 3.1.4 + '@vitest/snapshot': 3.1.4 + '@vitest/spy': 3.1.4 + '@vitest/utils': 3.1.4 chai: 5.2.0 debug: 4.4.0 expect-type: 1.2.1 @@ -3033,11 +3058,11 @@ snapshots: tinyglobby: 0.2.13 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.15.3) - vite-node: 3.1.2(@types/node@22.15.3) + vite: 5.2.10(@types/node@22.15.21) + vite-node: 3.1.4(@types/node@22.15.21) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.21 transitivePeerDependencies: - less - lightningcss From 626603d734457fa6898cbd5fd948051d54e89722 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 24 May 2025 13:36:05 +0100 Subject: [PATCH 079/160] chore: move common dependencies to workspace --- package.json | 3 + packages/create-solid/package.json | 3 - packages/create/package.json | 5 -- packages/full-solid/package.json | 5 +- packages/utils/package.json | 6 +- packages/utils/tsup.config.ts | 2 - pnpm-lock.yaml | 111 +++-------------------------- 7 files changed, 14 insertions(+), 121 deletions(-) diff --git a/package.json b/package.json index a5954a7..6053069 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,9 @@ "./packages/*" ], "devDependencies": { + "@types/node": "22.15.21", + "tsup": "^8.5.0", + "typescript": "^5.8.3", "@changesets/cli": "2.29.4", "prettier": "^3.5.3", "turbo": "^2.5.3", diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index c0fcad1..a5e067c 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -32,10 +32,7 @@ }, "devDependencies": { "@clack/prompts": "0.11.0", - "@types/node": "^22.15.21", "picocolors": "^1.1.1", - "tsup": "^8.5.0", - "typescript": "^5.8.3", "citty": "^0.1.6", "@solid-cli/create": "workspace:*" }, diff --git a/packages/create/package.json b/packages/create/package.json index abc1c85..d863cc2 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -36,11 +36,6 @@ "build": "tsc && tsup", "test": "vitest run" }, - "devDependencies": { - "typescript": "^5.8.3", - "@types/node": "^22.15.21", - "tsup": "^8.5.0" - }, "publishConfig": { "access": "public" }, diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index db472c5..24a4396 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -32,12 +32,9 @@ "devDependencies": { "@clack/prompts": "0.11.0", "picocolors": "^1.1.1", - "@types/node": "^22.15.21", "citty": "^0.1.6", "@solid-cli/create": "workspace:*", - "@solid-cli/utils": "workspace:*", - "tsup": "^8.5.0", - "typescript": "^5.8.3" + "@solid-cli/utils": "workspace:*" }, "publishConfig": { "access": "public" diff --git a/packages/utils/package.json b/packages/utils/package.json index 9325fc8..f12239d 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -67,11 +67,7 @@ "build": "tsc && tsup" }, "devDependencies": { - "@chialab/esbuild-plugin-meta-url": "^0.18.2", - "@types/node": "22.15.21", - "magicast": "^0.3.5", - "tsup": "^8.5.0", - "typescript": "^5.8.3" + "magicast": "^0.3.5" }, "publishConfig": { "access": "public" diff --git a/packages/utils/tsup.config.ts b/packages/utils/tsup.config.ts index 6902122..1b4f756 100644 --- a/packages/utils/tsup.config.ts +++ b/packages/utils/tsup.config.ts @@ -1,5 +1,4 @@ import { defineConfig } from "tsup"; -import metaUrlPlugin from "@chialab/esbuild-plugin-meta-url"; export default defineConfig({ entry: ["src"], @@ -9,5 +8,4 @@ export default defineConfig({ sourcemap: true, clean: true, minify: true, - esbuildPlugins: [metaUrlPlugin()], }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 42597ac..3335d1d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,12 +15,21 @@ importers: '@changesets/cli': specifier: 2.29.4 version: 2.29.4 + '@types/node': + specifier: 22.15.21 + version: 22.15.21 prettier: specifier: ^3.5.3 version: 3.5.3 + tsup: + specifier: ^8.5.0 + version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) turbo: specifier: ^2.5.3 version: 2.5.3 + typescript: + specifier: ^5.8.3 + version: 5.8.3 vitest: specifier: ^3.1.4 version: 3.1.4(@types/node@22.15.21) @@ -45,16 +54,6 @@ importers: sucrase: specifier: ^3.35.0 version: 3.35.0 - devDependencies: - '@types/node': - specifier: ^22.15.21 - version: 22.15.21 - tsup: - specifier: ^8.5.0 - version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) - typescript: - specifier: ^5.8.3 - version: 5.8.3 packages/create-solid: devDependencies: @@ -64,21 +63,12 @@ importers: '@solid-cli/create': specifier: workspace:* version: link:../create - '@types/node': - specifier: ^22.15.21 - version: 22.15.21 citty: specifier: ^0.1.6 version: 0.1.6 picocolors: specifier: ^1.1.1 version: 1.1.1 - tsup: - specifier: ^8.5.0 - version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) - typescript: - specifier: ^5.8.3 - version: 5.8.3 packages/full-solid: devDependencies: @@ -91,21 +81,12 @@ importers: '@solid-cli/utils': specifier: workspace:* version: link:../utils - '@types/node': - specifier: ^22.15.21 - version: 22.15.21 citty: specifier: ^0.1.6 version: 0.1.6 picocolors: specifier: ^1.1.1 version: 1.1.1 - tsup: - specifier: ^8.5.0 - version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) - typescript: - specifier: ^5.8.3 - version: 5.8.3 packages/utils: dependencies: @@ -125,21 +106,9 @@ importers: specifier: ^1.3.4 version: 1.3.4 devDependencies: - '@chialab/esbuild-plugin-meta-url': - specifier: ^0.18.2 - version: 0.18.2 - '@types/node': - specifier: 22.15.21 - version: 22.15.21 magicast: specifier: ^0.3.5 version: 0.3.5 - tsup: - specifier: ^8.5.0 - version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) - typescript: - specifier: ^5.8.3 - version: 5.8.3 packages: @@ -222,22 +191,6 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@chialab/esbuild-plugin-meta-url@0.18.2': - resolution: {integrity: sha512-uIRIdLvYnw5mLrTRXY0BTgeZx6ANL2/OHkWFl8FaiTYNb7cyXmwEDRE1mh6kBXPRPtGuqv6XSpNX+koEkElu4g==} - engines: {node: '>=18'} - - '@chialab/esbuild-rna@0.18.2': - resolution: {integrity: sha512-ckzskez7bxstVQ4c5cxbx0DRP2teldzrcSGQl2KPh1VJGdO2ZmRrb6vNkBBD5K3dx9tgTyvskWp4dV+Fbg07Ag==} - engines: {node: '>=18'} - - '@chialab/estransform@0.18.1': - resolution: {integrity: sha512-W/WmjpQL2hndD0/XfR0FcPBAUj+aLNeoAVehOjV/Q9bSnioz0GVSAXXhzp59S33ZynxJBBfn8DNiMTVNJmk4Aw==} - engines: {node: '>=18'} - - '@chialab/node-resolve@0.18.0': - resolution: {integrity: sha512-eV1m70Qn9pLY9xwFmZ2FlcOzwiaUywsJ7NB/ud8VB7DouvCQtIHkQ3Om7uPX0ojXGEG1LCyO96kZkvbNTxNu0Q==} - engines: {node: '>=18'} - '@clack/core@0.5.0': resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==} @@ -579,10 +532,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@parcel/source-map@2.1.1': - resolution: {integrity: sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==} - engines: {node: ^12.18.3 || >=14} - '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -938,11 +887,6 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1179,14 +1123,6 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -1865,23 +1801,6 @@ snapshots: human-id: 4.1.1 prettier: 2.8.8 - '@chialab/esbuild-plugin-meta-url@0.18.2': - dependencies: - '@chialab/esbuild-rna': 0.18.2 - '@chialab/estransform': 0.18.1 - mime-types: 2.1.35 - - '@chialab/esbuild-rna@0.18.2': - dependencies: - '@chialab/estransform': 0.18.1 - '@chialab/node-resolve': 0.18.0 - - '@chialab/estransform@0.18.1': - dependencies: - '@parcel/source-map': 2.1.1 - - '@chialab/node-resolve@0.18.0': {} - '@clack/core@0.5.0': dependencies: picocolors: 1.1.1 @@ -2097,10 +2016,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.18.0 - '@parcel/source-map@2.1.1': - dependencies: - detect-libc: 1.0.3 - '@pkgjs/parseargs@0.11.0': optional: true @@ -2371,8 +2286,6 @@ snapshots: detect-indent@6.1.0: {} - detect-libc@1.0.3: {} - dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -2646,12 +2559,6 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 From 30db17904d09e9f14ed17e9e83f78ed460e2f61e Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 24 May 2025 14:11:17 +0100 Subject: [PATCH 080/160] feat: re-order typescript prompt Ask the user if they want to use Typescript before asking which template they'd like to use --- packages/create/src/index.ts | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 926ea0d..eeee8a2 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -69,23 +69,21 @@ export const createSolid = (version: string) => })), }), ); + // Don't offer javascript if `projectType` is library + const useJS = + projectType === "library" ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); + const template_opts = getTemplatesList(projectType); template ??= await cancelable( p.select({ message: "Which template would you like to use?", initialValue: "ts", - options: template_opts.map((s: string) => ({ label: s, value: s })), + options: template_opts.filter(s => useJS ? s : !s.startsWith("js")).map((s: string) => ({ label: s, value: s })), }), ); - - // Don't transpile project if it's already javascript! - const transpileToJS = - projectType === "library" - ? false - : template.startsWith("js") - ? false - : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); - + + // Need to transpile if the user wants Jabascript, but their selected template isn't Javascript + const transpileToJS = useJS && !template.startsWith("js") if (projectType === "start") { await spinnerify({ startText: "Creating project", From c6bbf49afa2106a5609dcc0b1b9f998e1719ead0 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 24 May 2025 14:15:38 +0100 Subject: [PATCH 081/160] fix: replace `index.tsx` with `index.jsx` in `index.html` --- packages/create/src/create-vanilla.ts | 4 ++++ packages/create/src/index.ts | 11 ++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/create/src/create-vanilla.ts b/packages/create/src/create-vanilla.ts index 47fea82..ee2cc63 100644 --- a/packages/create/src/create-vanilla.ts +++ b/packages/create/src/create-vanilla.ts @@ -1,6 +1,7 @@ import { downloadRepo, GithubFetcher } from "@begit/core"; import { join } from "node:path"; import { writeFileSync } from "node:fs"; +import { readFile } from "node:fs/promises"; import { handleTSConversion } from "./utils/ts-conversion"; import { GIT_IGNORE, VanillaTemplate } from "./utils/constants"; @@ -27,6 +28,9 @@ export const createVanillaJS = async ({ template, destination }: CreateVanillaAr const tempDir = join(destination, ".project"); await createVanillaTS({ template, destination: tempDir }); await handleTSConversion(tempDir, destination); + // Replace `index.tsx` with `index.jsx` in `index.html` + const indexPath = join(destination, "index.html"); + writeFileSync(indexPath, (await readFile(indexPath)).toString().replace("index.tsx", "index.jsx")); // Add .gitignore writeFileSync(join(destination, ".gitignore"), GIT_IGNORE); }; diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index eeee8a2..56025e9 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -70,20 +70,21 @@ export const createSolid = (version: string) => }), ); // Don't offer javascript if `projectType` is library - const useJS = - projectType === "library" ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); + const useJS = projectType === "library" ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); const template_opts = getTemplatesList(projectType); template ??= await cancelable( p.select({ message: "Which template would you like to use?", initialValue: "ts", - options: template_opts.filter(s => useJS ? s : !s.startsWith("js")).map((s: string) => ({ label: s, value: s })), + options: template_opts + .filter((s) => (useJS ? s : !s.startsWith("js"))) + .map((s: string) => ({ label: s, value: s })), }), ); - + // Need to transpile if the user wants Jabascript, but their selected template isn't Javascript - const transpileToJS = useJS && !template.startsWith("js") + const transpileToJS = useJS && !template.startsWith("js"); if (projectType === "start") { await spinnerify({ startText: "Creating project", From 233d8ce4535c7eddbd3469ad8af96f7e00d5c05b Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sat, 24 May 2025 14:44:15 +0100 Subject: [PATCH 082/160] chore: remove `smol-toml` --- packages/utils/package.json | 3 +-- pnpm-lock.yaml | 9 --------- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/utils/package.json b/packages/utils/package.json index f12239d..1bc8d68 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -76,7 +76,6 @@ "@clack/core": "0.5.0", "@clack/prompts": "0.11.0", "execa": "^9.5.3", - "picocolors": "^1.1.1", - "smol-toml": "^1.3.4" + "picocolors": "^1.1.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3335d1d..7dae4c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -102,9 +102,6 @@ importers: picocolors: specifier: ^1.1.1 version: 1.1.1 - smol-toml: - specifier: ^1.3.4 - version: 1.3.4 devDependencies: magicast: specifier: ^0.3.5 @@ -1358,10 +1355,6 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - smol-toml@1.3.4: - resolution: {integrity: sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==} - engines: {node: '>= 18'} - source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} @@ -2748,8 +2741,6 @@ snapshots: slash@3.0.0: {} - smol-toml@1.3.4: {} - source-map-js@1.2.0: {} source-map@0.8.0-beta.0: From f2fcb1c8621070308e494171532c583dd536ca0f Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 25 May 2025 16:21:09 +0100 Subject: [PATCH 083/160] feat: add more command-line arguments Added template positional, and selectors for typescript and javascript --- packages/create/src/index.ts | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 56025e9..d028ae1 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -42,20 +42,38 @@ export const createSolid = (version: string) => alias: "p", description: "Project name", }, + template: { + type: "string", + required: false, + alias: "t", + description: "Template name", + }, "solidstart": { type: "boolean", required: false, alias: "s", description: "Create a SolidStart project", }, + "ts": { + type: "boolean", + required: false, + description: "Use typescript" + }, + "js": { + type: "boolean", + required: false, + description: "Use javascript" + } }, async run({ - args: { projectNamePositional, templatePositional, "project-name": projectNameOptional, solidstart }, + args: { projectNamePositional, templatePositional, "project-name": projectNameOptional, template: templateOptional, solidstart, ts, js }, }) { // Show prompts for any unknown arguments let projectName: string = projectNamePositional ?? projectNameOptional; - let template: string = templatePositional; + let template: string = templatePositional ?? templateOptional; let projectType: ProjectType | undefined = solidstart ? "start" : undefined; + // False if user has selected ts, true if they have selected js, and undefined if they've done neither + let useJS = ts ? !ts : js ? js : undefined; projectName ??= await cancelable( p.text({ message: "Project Name", placeholder: "solid-project", defaultValue: "solid-project" }), ); @@ -70,7 +88,7 @@ export const createSolid = (version: string) => }), ); // Don't offer javascript if `projectType` is library - const useJS = projectType === "library" ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); + useJS ??= projectType === "library" ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); const template_opts = getTemplatesList(projectType); template ??= await cancelable( From 9e22aad42231fe15e0e141d9ec73d1d3231833ef Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 25 May 2025 16:23:38 +0100 Subject: [PATCH 084/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index a7c73ca..046e03b 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.3 + +### Patch Changes + +- Add more command line arguments + ## 0.6.1 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index a5e067c..92116ec 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.2", + "version": "0.6.3", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 7cd1fb5..0891a50 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.3 + +### Patch Changes + +- Add more command line arguments + ## 0.6.1 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index d863cc2..e1d3bef 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.2", + "version": "0.6.3", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From 97f5e5a66773f67cb42ef95682c897289fedd0fe Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 25 May 2025 16:52:19 +0100 Subject: [PATCH 085/160] feat: replace docs link with github link --- packages/create/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index d028ae1..f81f164 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -128,7 +128,7 @@ export const createSolid = (version: string) => if (existsSync(`${projectName}/README.md`)) await insertAtEnd( `${projectName}/README.md`, - "\n## This project was created with the [Solid CLI](https://solid-cli.netlify.app)\n", + "\n## This project was created with the [Solid CLI](https://github.com/solidjs-community/solid-cli)\n", ); // Next steps.. const pM = detectPackageManager(); From 2c7e4bf6c0ab15b94020e33c115180d4651b710d Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 25 May 2025 16:53:18 +0100 Subject: [PATCH 086/160] chore: format --- packages/create/src/index.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index f81f164..73f85bc 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -42,7 +42,7 @@ export const createSolid = (version: string) => alias: "p", description: "Project name", }, - template: { + "template": { type: "string", required: false, alias: "t", @@ -57,16 +57,24 @@ export const createSolid = (version: string) => "ts": { type: "boolean", required: false, - description: "Use typescript" + description: "Use typescript", }, "js": { type: "boolean", required: false, - description: "Use javascript" - } + description: "Use javascript", + }, }, async run({ - args: { projectNamePositional, templatePositional, "project-name": projectNameOptional, template: templateOptional, solidstart, ts, js }, + args: { + projectNamePositional, + templatePositional, + "project-name": projectNameOptional, + "template": templateOptional, + solidstart, + ts, + js, + }, }) { // Show prompts for any unknown arguments let projectName: string = projectNamePositional ?? projectNameOptional; From 39a0d147623067e94995ed855873d69f61bc815f Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 25 May 2025 16:54:16 +0100 Subject: [PATCH 087/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 046e03b..3770e38 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.4 + +### Patch Changes + +- Update link in text added to project READMEs + ## 0.6.3 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 92116ec..bb0230b 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.3", + "version": "0.6.4", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 0891a50..2154a68 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.4 + +### Patch Changes + +- Update link in text added to project READMEs + ## 0.6.3 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index e1d3bef..eebeaec 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.3", + "version": "0.6.4", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From 2f72e87759f95d76e5af4cedca0c2648ebadad0e Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 25 May 2025 16:55:10 +0100 Subject: [PATCH 088/160] refactor: move `jiti` into `devDependencies` --- package.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 6053069..8cfe88a 100644 --- a/package.json +++ b/package.json @@ -37,12 +37,10 @@ "@changesets/cli": "2.29.4", "prettier": "^3.5.3", "turbo": "^2.5.3", - "vitest": "^3.1.4" - }, - "packageManager": "pnpm@10.10.0", - "dependencies": { + "vitest": "^3.1.4", "jiti": "^2.4.2" }, + "packageManager": "pnpm@10.10.0", "pnpm": { "onlyBuiltDependencies": [ "@swc/core", From 44725abd127a187e57dfebfa04a9910e9754c042 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 25 May 2025 16:57:55 +0100 Subject: [PATCH 089/160] chore: update lockfile --- pnpm-lock.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7dae4c5..7af6155 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,10 +7,6 @@ settings: importers: .: - dependencies: - jiti: - specifier: ^2.4.2 - version: 2.4.2 devDependencies: '@changesets/cli': specifier: 2.29.4 @@ -18,6 +14,9 @@ importers: '@types/node': specifier: 22.15.21 version: 22.15.21 + jiti: + specifier: ^2.4.2 + version: 2.4.2 prettier: specifier: ^3.5.3 version: 3.5.3 From b1f96eba4aa8de7de1d6e4e6b1515dc3fa0f4d42 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 30 May 2025 19:14:21 +0100 Subject: [PATCH 090/160] fix: don't add "Created with Solid CLI" text if it's already there --- packages/create/src/index.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 73f85bc..f3b3a97 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -12,10 +12,10 @@ import { VanillaTemplate, } from "./utils/constants"; import { detectPackageManager } from "@solid-cli/utils/package-manager"; -import { insertAtEnd } from "@solid-cli/utils/fs"; import { existsSync, writeFileSync } from "node:fs"; import { join } from "node:path"; import { createLibrary } from "./create-library"; +import { readFile, writeFile } from "node:fs/promises"; export { createVanilla, createStart }; export const createSolid = (version: string) => @@ -133,11 +133,12 @@ export const createSolid = (version: string) => // Add .gitignore writeFileSync(join(projectName, ".gitignore"), GIT_IGNORE); // Add "Created with Solid CLI" text to bottom of README - if (existsSync(`${projectName}/README.md`)) - await insertAtEnd( - `${projectName}/README.md`, - "\n## This project was created with the [Solid CLI](https://github.com/solidjs-community/solid-cli)\n", - ); + const readmePath = `${projectName}/README.md`; + if (existsSync(readmePath)) { + const contents = (await readFile(readmePath)).toString(); + if (!contents.includes("This project was created with the [Solid CLI]")) + await writeFile(readmePath, contents + "\n## This project was created with the [Solid CLI](https://github.com/solidjs-community/solid-cli)\n") + } // Next steps.. const pM = detectPackageManager(); p.note( From a868fbc3bcd2a270cc0f82f4c3c6aa729ab69ee6 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 30 May 2025 19:16:18 +0100 Subject: [PATCH 091/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 3770e38..a05cf37 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.5 + +### Patch Changes + +- Don't add "Created with Solid CLI" text to README if it's already there + ## 0.6.4 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index bb0230b..f7d98d6 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.4", + "version": "0.6.5", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 2154a68..22ab047 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.5 + +### Patch Changes + +- Don't add "Created with Solid CLI" text to README if it's already there + ## 0.6.4 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index eebeaec..5fe9d45 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.4", + "version": "0.6.5", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From cd2fe317de917340ce5606c7f98004eb7fe2bdd2 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 4 Jun 2025 21:15:34 +0100 Subject: [PATCH 092/160] chore: update dependencies --- package.json | 8 +- packages/create/package.json | 2 +- packages/utils/package.json | 2 +- pnpm-lock.yaml | 259 ++++++++++++++++++++--------------- 4 files changed, 154 insertions(+), 117 deletions(-) diff --git a/package.json b/package.json index 8cfe88a..fce97eb 100644 --- a/package.json +++ b/package.json @@ -31,16 +31,16 @@ "./packages/*" ], "devDependencies": { - "@types/node": "22.15.21", + "@types/node": "22.15.29", "tsup": "^8.5.0", "typescript": "^5.8.3", "@changesets/cli": "2.29.4", "prettier": "^3.5.3", - "turbo": "^2.5.3", - "vitest": "^3.1.4", + "turbo": "^2.5.4", + "vitest": "^3.2.1", "jiti": "^2.4.2" }, - "packageManager": "pnpm@10.10.0", + "packageManager": "pnpm@10.11.1", "pnpm": { "onlyBuiltDependencies": [ "@swc/core", diff --git a/packages/create/package.json b/packages/create/package.json index 5fe9d45..e8564de 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -42,7 +42,7 @@ "dependencies": { "@clack/prompts": "0.11.0", "picocolors": "^1.1.1", - "@begit/core": "^0.3.1", + "@begit/core": "^0.3.3", "citty": "^0.1.6", "sucrase": "^3.35.0", "@solid-cli/utils": "workspace:*" diff --git a/packages/utils/package.json b/packages/utils/package.json index 1bc8d68..93ac53f 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -75,7 +75,7 @@ "dependencies": { "@clack/core": "0.5.0", "@clack/prompts": "0.11.0", - "execa": "^9.5.3", + "execa": "^9.6.0", "picocolors": "^1.1.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7af6155..c452968 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: 2.29.4 version: 2.29.4 '@types/node': - specifier: 22.15.21 - version: 22.15.21 + specifier: 22.15.29 + version: 22.15.29 jiti: specifier: ^2.4.2 version: 2.4.2 @@ -24,20 +24,20 @@ importers: specifier: ^8.5.0 version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) turbo: - specifier: ^2.5.3 - version: 2.5.3 + specifier: ^2.5.4 + version: 2.5.4 typescript: specifier: ^5.8.3 version: 5.8.3 vitest: - specifier: ^3.1.4 - version: 3.1.4(@types/node@22.15.21) + specifier: ^3.2.1 + version: 3.2.1(@types/node@22.15.29) packages/create: dependencies: '@begit/core': - specifier: ^0.3.1 - version: 0.3.1 + specifier: ^0.3.3 + version: 0.3.3 '@clack/prompts': specifier: 0.11.0 version: 0.11.0 @@ -96,8 +96,8 @@ importers: specifier: 0.11.0 version: 0.11.0 execa: - specifier: ^9.5.3 - version: 9.5.3 + specifier: ^9.6.0 + version: 9.6.0 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -129,8 +129,8 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} - '@begit/core@0.3.1': - resolution: {integrity: sha512-tjpsZqeLkGgApDW0Ra1553a55lqNhFSE6ZYUzzruLbN5inst63Qoa5J2XRNixA8lFTR3o1i2HQJioPv+J8/h9A==} + '@begit/core@0.3.3': + resolution: {integrity: sha512-ekoNr/hsoK71NYDEI0dffMAGPJWUh1Uiu4Zlp7lBtFN3gTmdUOV9HQssxkTE88440whM7ES5WKiokKw+cNqUqg==} '@changesets/apply-release-plan@7.0.12': resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} @@ -709,43 +709,49 @@ packages: '@swc/types@0.1.17': resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} + '@types/chai@5.2.2': + resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.15.21': - resolution: {integrity: sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==} + '@types/node@22.15.29': + resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==} - '@vitest/expect@3.1.4': - resolution: {integrity: sha512-xkD/ljeliyaClDYqHPNCiJ0plY5YIcM0OlRiZizLhlPmpXWpxnGMyTZXOHFhFeG7w9P5PBeL4IdtJ/HeQwTbQA==} + '@vitest/expect@3.2.1': + resolution: {integrity: sha512-FqS/BnDOzV6+IpxrTg5GQRyLOCtcJqkwMwcS8qGCI2IyRVDwPAtutztaf1CjtPHlZlWtl1yUPCd7HM0cNiDOYw==} - '@vitest/mocker@3.1.4': - resolution: {integrity: sha512-8IJ3CvwtSw/EFXqWFL8aCMu+YyYXG2WUSrQbViOZkWTKTVicVwZ/YiEZDSqD00kX+v/+W+OnxhNWoeVKorHygA==} + '@vitest/mocker@3.2.1': + resolution: {integrity: sha512-OXxMJnx1lkB+Vl65Re5BrsZEHc90s5NMjD23ZQ9NlU7f7nZiETGoX4NeKZSmsKjseuMq2uOYXdLOeoM0pJU+qw==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@3.1.4': - resolution: {integrity: sha512-cqv9H9GvAEoTaoq+cYqUTCGscUjKqlJZC7PRwY5FMySVj5J+xOm1KQcCiYHJOEzOKRUhLH4R2pTwvFlWCEScsg==} + '@vitest/pretty-format@3.2.1': + resolution: {integrity: sha512-xBh1X2GPlOGBupp6E1RcUQWIxw0w/hRLd3XyBS6H+dMdKTAqHDNsIR2AnJwPA3yYe9DFy3VUKTe3VRTrAiQ01g==} - '@vitest/runner@3.1.4': - resolution: {integrity: sha512-djTeF1/vt985I/wpKVFBMWUlk/I7mb5hmD5oP8K9ACRmVXgKTae3TUOtXAEBfslNKPzUQvnKhNd34nnRSYgLNQ==} + '@vitest/runner@3.2.1': + resolution: {integrity: sha512-kygXhNTu/wkMYbwYpS3z/9tBe0O8qpdBuC3dD/AW9sWa0LE/DAZEjnHtWA9sIad7lpD4nFW1yQ+zN7mEKNH3yA==} - '@vitest/snapshot@3.1.4': - resolution: {integrity: sha512-JPHf68DvuO7vilmvwdPr9TS0SuuIzHvxeaCkxYcCD4jTk67XwL45ZhEHFKIuCm8CYstgI6LZ4XbwD6ANrwMpFg==} + '@vitest/snapshot@3.2.1': + resolution: {integrity: sha512-5xko/ZpW2Yc65NVK9Gpfg2y4BFvcF+At7yRT5AHUpTg9JvZ4xZoyuRY4ASlmNcBZjMslV08VRLDrBOmUe2YX3g==} - '@vitest/spy@3.1.4': - resolution: {integrity: sha512-Xg1bXhu+vtPXIodYN369M86K8shGLouNjoVI78g8iAq2rFoHFdajNvJJ5A/9bPMFcfQqdaCpOgWKEoMQg/s0Yg==} + '@vitest/spy@3.2.1': + resolution: {integrity: sha512-Nbfib34Z2rfcJGSetMxjDCznn4pCYPZOtQYox2kzebIJcgH75yheIKd5QYSFmR8DIZf2M8fwOm66qSDIfRFFfQ==} - '@vitest/utils@3.1.4': - resolution: {integrity: sha512-yriMuO1cfFhmiGc8ataN51+9ooHRuURdfAZfwFd3usWynjzpLslZdYnRegTv32qdgtJTsj15FoeZe2g15fY1gg==} + '@vitest/utils@3.2.1': + resolution: {integrity: sha512-KkHlGhePEKZSub5ViknBcN5KEF+u7dSUr9NW8QsVICusUojrgrOnnY3DEWWO877ax2Pyopuk2qHmt+gkNKnBVw==} acorn@8.14.1: resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} @@ -875,6 +881,15 @@ packages: supports-color: optional: true + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -921,8 +936,8 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - execa@9.5.3: - resolution: {integrity: sha512-QFNnTvU3UjgWFy8Ef9iDHvIdcgZ344ebkwYx4/KLbR+CKQA4xBaHzv+iRpp86QfMHP8faFQLh8iOc57215y4Rg==} + execa@9.6.0: + resolution: {integrity: sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==} engines: {node: ^18.19.0 || >=20.5.0} expect-type@1.2.1: @@ -1007,8 +1022,8 @@ packages: resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} hasBin: true - human-signals@8.0.0: - resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} iconv-lite@0.4.24: @@ -1428,16 +1443,20 @@ packages: resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} engines: {node: '>=12.0.0'} - tinypool@1.0.2: - resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + + tinypool@1.1.0: + resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@2.0.0: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} - tinyspy@3.0.2: - resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + tinyspy@4.0.3: + resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} engines: {node: '>=14.0.0'} tmp@0.0.33: @@ -1481,38 +1500,38 @@ packages: typescript: optional: true - turbo-darwin-64@2.5.3: - resolution: {integrity: sha512-YSItEVBUIvAGPUDpAB9etEmSqZI3T6BHrkBkeSErvICXn3dfqXUfeLx35LfptLDEbrzFUdwYFNmt8QXOwe9yaw==} + turbo-darwin-64@2.5.4: + resolution: {integrity: sha512-ah6YnH2dErojhFooxEzmvsoZQTMImaruZhFPfMKPBq8sb+hALRdvBNLqfc8NWlZq576FkfRZ/MSi4SHvVFT9PQ==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.5.3: - resolution: {integrity: sha512-5PefrwHd42UiZX7YA9m1LPW6x9YJBDErXmsegCkVp+GjmWrADfEOxpFrGQNonH3ZMj77WZB2PVE5Aw3gA+IOhg==} + turbo-darwin-arm64@2.5.4: + resolution: {integrity: sha512-2+Nx6LAyuXw2MdXb7pxqle3MYignLvS7OwtsP9SgtSBaMlnNlxl9BovzqdYAgkUW3AsYiQMJ/wBRb7d+xemM5A==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.5.3: - resolution: {integrity: sha512-M9xigFgawn5ofTmRzvjjLj3Lqc05O8VHKuOlWNUlnHPUltFquyEeSkpQNkE/vpPdOR14AzxqHbhhxtfS4qvb1w==} + turbo-linux-64@2.5.4: + resolution: {integrity: sha512-5May2kjWbc8w4XxswGAl74GZ5eM4Gr6IiroqdLhXeXyfvWEdm2mFYCSWOzz0/z5cAgqyGidF1jt1qzUR8hTmOA==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.5.3: - resolution: {integrity: sha512-auJRbYZ8SGJVqvzTikpg1bsRAsiI9Tk0/SDkA5Xgg0GdiHDH/BOzv1ZjDE2mjmlrO/obr19Dw+39OlMhwLffrw==} + turbo-linux-arm64@2.5.4: + resolution: {integrity: sha512-/2yqFaS3TbfxV3P5yG2JUI79P7OUQKOUvAnx4MV9Bdz6jqHsHwc9WZPpO4QseQm+NvmgY6ICORnoVPODxGUiJg==} cpu: [arm64] os: [linux] - turbo-windows-64@2.5.3: - resolution: {integrity: sha512-arLQYohuHtIEKkmQSCU9vtrKUg+/1TTstWB9VYRSsz+khvg81eX6LYHtXJfH/dK7Ho6ck+JaEh5G+QrE1jEmCQ==} + turbo-windows-64@2.5.4: + resolution: {integrity: sha512-EQUO4SmaCDhO6zYohxIjJpOKRN3wlfU7jMAj3CgcyTPvQR/UFLEKAYHqJOnJtymbQmiiM/ihX6c6W6Uq0yC7mA==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.5.3: - resolution: {integrity: sha512-3JPn66HAynJ0gtr6H+hjY4VHpu1RPKcEwGATvGUTmLmYSYBQieVlnGDRMMoYN066YfyPqnNGCfhYbXfH92Cm0g==} + turbo-windows-arm64@2.5.4: + resolution: {integrity: sha512-oQ8RrK1VS8lrxkLriotFq+PiF7iiGgkZtfLKF4DDKsmdbPo0O9R2mQxm7jHLuXraRCuIQDWMIw6dpcr7Iykf4A==} cpu: [arm64] os: [win32] - turbo@2.5.3: - resolution: {integrity: sha512-iHuaNcq5GZZnr3XDZNuu2LSyCzAOPwDuo5Qt+q64DfsTP1i3T2bKfxJhni2ZQxsvAoxRbuUK5QetJki4qc5aYA==} + turbo@2.5.4: + resolution: {integrity: sha512-kc8ZibdRcuWUG1pbYSBFWqmIjynlD8Lp7IB6U3vIzvOv9VG+6Sp8bzyeBWE3Oi8XV5KsQrznyRTBPvrf99E4mA==} hasBin: true typescript@5.8.3: @@ -1534,8 +1553,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.1.4: - resolution: {integrity: sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA==} + vite-node@3.2.1: + resolution: {integrity: sha512-V4EyKQPxquurNJPtQJRZo8hKOoKNBRIhxcDbQFPFig0JdoWcUhwRgK8yoCXXrfYVPKS6XwirGHPszLnR8FbjCA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1567,16 +1586,16 @@ packages: terser: optional: true - vitest@3.1.4: - resolution: {integrity: sha512-Ta56rT7uWxCSJXlBtKgIlApJnT6e6IGmTYxYcmxjJ4ujuZDI59GUQgVDObXXJujOmPDBYXHK1qmaGtneu6TNIQ==} + vitest@3.2.1: + resolution: {integrity: sha512-VZ40MBnlE1/V5uTgdqY3DmjUgZtIzsYq758JGlyQrv5syIsaYcabkfPkEuWML49Ph0D/SoqpVFd0dyVTr551oA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.1.4 - '@vitest/ui': 3.1.4 + '@vitest/browser': 3.2.1 + '@vitest/ui': 3.2.1 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1647,7 +1666,7 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@begit/core@0.3.1': + '@begit/core@0.3.3': dependencies: tar: 7.4.3 @@ -2127,51 +2146,58 @@ snapshots: '@swc/counter': 0.1.3 optional: true + '@types/chai@5.2.2': + dependencies: + '@types/deep-eql': 4.0.2 + + '@types/deep-eql@4.0.2': {} + '@types/estree@1.0.6': {} '@types/node@12.20.55': {} - '@types/node@22.15.21': + '@types/node@22.15.29': dependencies: undici-types: 6.21.0 - '@vitest/expect@3.1.4': + '@vitest/expect@3.2.1': dependencies: - '@vitest/spy': 3.1.4 - '@vitest/utils': 3.1.4 + '@types/chai': 5.2.2 + '@vitest/spy': 3.2.1 + '@vitest/utils': 3.2.1 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.1.4(vite@5.2.10(@types/node@22.15.21))': + '@vitest/mocker@3.2.1(vite@5.2.10(@types/node@22.15.29))': dependencies: - '@vitest/spy': 3.1.4 + '@vitest/spy': 3.2.1 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.15.21) + vite: 5.2.10(@types/node@22.15.29) - '@vitest/pretty-format@3.1.4': + '@vitest/pretty-format@3.2.1': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.1.4': + '@vitest/runner@3.2.1': dependencies: - '@vitest/utils': 3.1.4 + '@vitest/utils': 3.2.1 pathe: 2.0.3 - '@vitest/snapshot@3.1.4': + '@vitest/snapshot@3.2.1': dependencies: - '@vitest/pretty-format': 3.1.4 + '@vitest/pretty-format': 3.2.1 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.1.4': + '@vitest/spy@3.2.1': dependencies: - tinyspy: 3.0.2 + tinyspy: 4.0.3 - '@vitest/utils@3.1.4': + '@vitest/utils@3.2.1': dependencies: - '@vitest/pretty-format': 3.1.4 + '@vitest/pretty-format': 3.2.1 loupe: 3.1.3 tinyrainbow: 2.0.0 @@ -2274,6 +2300,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.1: + dependencies: + ms: 2.1.3 + deep-eql@5.0.2: {} detect-indent@6.1.0: {} @@ -2355,13 +2385,13 @@ snapshots: dependencies: '@types/estree': 1.0.6 - execa@9.5.3: + execa@9.6.0: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.6 figures: 6.1.0 get-stream: 9.0.1 - human-signals: 8.0.0 + human-signals: 8.0.1 is-plain-obj: 4.1.0 is-stream: 4.0.1 npm-run-path: 6.0.0 @@ -2465,7 +2495,7 @@ snapshots: human-id@4.1.1: {} - human-signals@8.0.0: {} + human-signals@8.0.1: {} iconv-lite@0.4.24: dependencies: @@ -2819,11 +2849,16 @@ snapshots: fdir: 6.4.4(picomatch@4.0.2) picomatch: 4.0.2 - tinypool@1.0.2: {} + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + + tinypool@1.1.0: {} tinyrainbow@2.0.0: {} - tinyspy@3.0.2: {} + tinyspy@4.0.3: {} tmp@0.0.33: dependencies: @@ -2872,32 +2907,32 @@ snapshots: - tsx - yaml - turbo-darwin-64@2.5.3: + turbo-darwin-64@2.5.4: optional: true - turbo-darwin-arm64@2.5.3: + turbo-darwin-arm64@2.5.4: optional: true - turbo-linux-64@2.5.3: + turbo-linux-64@2.5.4: optional: true - turbo-linux-arm64@2.5.3: + turbo-linux-arm64@2.5.4: optional: true - turbo-windows-64@2.5.3: + turbo-windows-64@2.5.4: optional: true - turbo-windows-arm64@2.5.3: + turbo-windows-arm64@2.5.4: optional: true - turbo@2.5.3: + turbo@2.5.4: optionalDependencies: - turbo-darwin-64: 2.5.3 - turbo-darwin-arm64: 2.5.3 - turbo-linux-64: 2.5.3 - turbo-linux-arm64: 2.5.3 - turbo-windows-64: 2.5.3 - turbo-windows-arm64: 2.5.3 + turbo-darwin-64: 2.5.4 + turbo-darwin-arm64: 2.5.4 + turbo-linux-64: 2.5.4 + turbo-linux-arm64: 2.5.4 + turbo-windows-64: 2.5.4 + turbo-windows-arm64: 2.5.4 typescript@5.8.3: {} @@ -2909,13 +2944,13 @@ snapshots: universalify@0.1.2: {} - vite-node@3.1.4(@types/node@22.15.21): + vite-node@3.2.1(@types/node@22.15.29): dependencies: cac: 6.7.14 - debug: 4.4.0 + debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 5.2.10(@types/node@22.15.21) + vite: 5.2.10(@types/node@22.15.29) transitivePeerDependencies: - '@types/node' - less @@ -2926,40 +2961,42 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.15.21): + vite@5.2.10(@types/node@22.15.29): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.34.9 optionalDependencies: - '@types/node': 22.15.21 + '@types/node': 22.15.29 fsevents: 2.3.3 - vitest@3.1.4(@types/node@22.15.21): + vitest@3.2.1(@types/node@22.15.29): dependencies: - '@vitest/expect': 3.1.4 - '@vitest/mocker': 3.1.4(vite@5.2.10(@types/node@22.15.21)) - '@vitest/pretty-format': 3.1.4 - '@vitest/runner': 3.1.4 - '@vitest/snapshot': 3.1.4 - '@vitest/spy': 3.1.4 - '@vitest/utils': 3.1.4 + '@types/chai': 5.2.2 + '@vitest/expect': 3.2.1 + '@vitest/mocker': 3.2.1(vite@5.2.10(@types/node@22.15.29)) + '@vitest/pretty-format': 3.2.1 + '@vitest/runner': 3.2.1 + '@vitest/snapshot': 3.2.1 + '@vitest/spy': 3.2.1 + '@vitest/utils': 3.2.1 chai: 5.2.0 - debug: 4.4.0 + debug: 4.4.1 expect-type: 1.2.1 magic-string: 0.30.17 pathe: 2.0.3 + picomatch: 4.0.2 std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinyglobby: 0.2.13 - tinypool: 1.0.2 + tinyglobby: 0.2.14 + tinypool: 1.1.0 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.15.21) - vite-node: 3.1.4(@types/node@22.15.21) + vite: 5.2.10(@types/node@22.15.29) + vite-node: 3.2.1(@types/node@22.15.29) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.15.21 + '@types/node': 22.15.29 transitivePeerDependencies: - less - lightningcss From 97774b24ae835f94da0adabdc5ed7ac0288345d0 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 4 Jun 2025 21:35:30 +0100 Subject: [PATCH 093/160] refactor: add `isValidTemplate` function --- packages/create/src/utils/constants.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index ce66b2d..ae8d295 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -99,4 +99,16 @@ export function getTemplatesList(projectType: ProjectType) { return VANILLA_TEMPLATES as VanillaTemplate[]; } -// +/** + * Tests is the template given is a valid template, and returns it as a template if it is + * @param type expected type of the template + * @param maybe_template the template string to test + * @returns the template string if it is valid, undefined if not + */ +export function isValidTemplate(type: "vanilla", maybe_template: string): VanillaTemplate; +export function isValidTemplate(type: "start", maybe_template: string): StartTemplate; +export function isValidTemplate(type: "library", maybe_template: string): LibraryTemplate; +export function isValidTemplate(type: ProjectType, maybe_template: string) { + const templates = getTemplatesList(type); + return templates.find(t => t === maybe_template) +} From 2f2ce23de61e4efd42a50ee4880d01ac2ecf3740 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 4 Jun 2025 21:40:11 +0100 Subject: [PATCH 094/160] docs: add various doc comments in the code --- packages/create/src/utils/constants.ts | 7 +++++++ packages/create/src/utils/ts-conversion.ts | 1 + 2 files changed, 8 insertions(+) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index ae8d295..e42d5de 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -40,6 +40,7 @@ export const JS_CONFIG = { // Supported templates +/**Supported Vanilla Templates */ const VANILLA_TEMPLATES = [ "ts", "ts-vitest", @@ -58,6 +59,7 @@ const VANILLA_TEMPLATES = [ ] as const satisfies string[]; export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; +/**Supported Start Templates */ const START_TEMPLATES = [ "basic", "bare", @@ -80,12 +82,17 @@ const START_TEMPLATES = [ ] as const satisfies string[]; export type StartTemplate = (typeof START_TEMPLATES)[number]; +/**Supported Library Templates */ export const LIBRARY_TEMPLATES = ["solid-lib-starter"] as const satisfies string[]; export type LibraryTemplate = (typeof LIBRARY_TEMPLATES)[number]; export const PROJECT_TYPES = ["start", "vanilla", "library"] as const satisfies string[]; export type ProjectType = (typeof PROJECT_TYPES)[number]; +/** + * Fetches the template list for the project type given + * @param projectType type of project + */ export function getTemplatesList(projectType: "vanilla"): StartTemplate[]; export function getTemplatesList(projectType: "start"): VanillaTemplate[]; export function getTemplatesList(projectType: "library"): VanillaTemplate[]; diff --git a/packages/create/src/utils/ts-conversion.ts b/packages/create/src/utils/ts-conversion.ts index a13da71..36bb42d 100644 --- a/packages/create/src/utils/ts-conversion.ts +++ b/packages/create/src/utils/ts-conversion.ts @@ -4,6 +4,7 @@ import { join, resolve } from "node:path"; import { transform } from "sucrase"; import { rm } from "node:fs/promises"; import { JS_CONFIG } from "./constants"; + const convertToJS = async (file: Dirent, startPath: string) => { const src = join(startPath, file.name); const dest = resolve(startPath.replace(".project", ""), file.name); From 86a9a400f1cae53cd862eb9e93162c215553ba43 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 4 Jun 2025 21:50:15 +0100 Subject: [PATCH 095/160] feat: check that template is valid before attempting to create it --- packages/create/src/index.ts | 17 ++++++++++------- packages/create/src/utils/constants.ts | 8 ++++---- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index f3b3a97..1d95346 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -6,10 +6,9 @@ import { createStart } from "./create-start"; import { getTemplatesList, GIT_IGNORE, + isValidTemplate, PROJECT_TYPES, ProjectType, - StartTemplate, - VanillaTemplate, } from "./utils/constants"; import { detectPackageManager } from "@solid-cli/utils/package-manager"; import { existsSync, writeFileSync } from "node:fs"; @@ -111,25 +110,29 @@ export const createSolid = (version: string) => // Need to transpile if the user wants Jabascript, but their selected template isn't Javascript const transpileToJS = useJS && !template.startsWith("js"); - if (projectType === "start") { + if (projectType === "start" && isValidTemplate("start", template)) { await spinnerify({ startText: "Creating project", finishText: "Project created 🎉", - fn: () => createStart({ template: template as StartTemplate, destination: projectName }, transpileToJS), + fn: () => createStart({ template, destination: projectName }, transpileToJS), }); - } else if (projectType === "library") { + } else if (projectType === "library" && isValidTemplate("library", template)) { await spinnerify({ startText: "Creating project", finishText: "Project created 🎉", fn: () => createLibrary({ destination: projectName }), }); - } else { + } else if (projectType === "vanilla" && isValidTemplate(projectType, template)) { await spinnerify({ startText: "Creating project", finishText: "Project created 🎉", - fn: () => createVanilla({ template: template as VanillaTemplate, destination: projectName }, transpileToJS), + fn: () => createVanilla({ template, destination: projectName }, transpileToJS), }); } + else { + p.log.error(`Template ${template} is not valid for project type ${projectType}`); + process.exit(0); + } // Add .gitignore writeFileSync(join(projectName, ".gitignore"), GIT_IGNORE); // Add "Created with Solid CLI" text to bottom of README diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index e42d5de..30c2c16 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -112,10 +112,10 @@ export function getTemplatesList(projectType: ProjectType) { * @param maybe_template the template string to test * @returns the template string if it is valid, undefined if not */ -export function isValidTemplate(type: "vanilla", maybe_template: string): VanillaTemplate; -export function isValidTemplate(type: "start", maybe_template: string): StartTemplate; -export function isValidTemplate(type: "library", maybe_template: string): LibraryTemplate; +export function isValidTemplate(type: "vanilla", maybe_template: string): maybe_template is VanillaTemplate; +export function isValidTemplate(type: "start", maybe_template: string): maybe_template is StartTemplate; +export function isValidTemplate(type: "library", maybe_template: string): maybe_template is LibraryTemplate; export function isValidTemplate(type: ProjectType, maybe_template: string) { const templates = getTemplatesList(type); - return templates.find(t => t === maybe_template) + return templates.find(t => t === maybe_template) !== undefined } From 007e8320bfafbec1fdba07add6cd61d9ed1963ea Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Mon, 16 Jun 2025 15:55:45 +0100 Subject: [PATCH 096/160] chore: update dependencies --- package.json | 4 +- pnpm-lock.yaml | 133 +++++++++++++++++++++++++++---------------------- 2 files changed, 75 insertions(+), 62 deletions(-) diff --git a/package.json b/package.json index fce97eb..a4658db 100644 --- a/package.json +++ b/package.json @@ -31,13 +31,13 @@ "./packages/*" ], "devDependencies": { - "@types/node": "22.15.29", + "@types/node": "24.0.3", "tsup": "^8.5.0", "typescript": "^5.8.3", "@changesets/cli": "2.29.4", "prettier": "^3.5.3", "turbo": "^2.5.4", - "vitest": "^3.2.1", + "vitest": "^3.2.3", "jiti": "^2.4.2" }, "packageManager": "pnpm@10.11.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c452968..3641d0b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: 2.29.4 version: 2.29.4 '@types/node': - specifier: 22.15.29 - version: 22.15.29 + specifier: 24.0.3 + version: 24.0.3 jiti: specifier: ^2.4.2 version: 2.4.2 @@ -30,8 +30,8 @@ importers: specifier: ^5.8.3 version: 5.8.3 vitest: - specifier: ^3.2.1 - version: 3.2.1(@types/node@22.15.29) + specifier: ^3.2.3 + version: 3.2.3(@types/node@24.0.3) packages/create: dependencies: @@ -721,14 +721,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.15.29': - resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==} + '@types/node@24.0.3': + resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==} - '@vitest/expect@3.2.1': - resolution: {integrity: sha512-FqS/BnDOzV6+IpxrTg5GQRyLOCtcJqkwMwcS8qGCI2IyRVDwPAtutztaf1CjtPHlZlWtl1yUPCd7HM0cNiDOYw==} + '@vitest/expect@3.2.3': + resolution: {integrity: sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==} - '@vitest/mocker@3.2.1': - resolution: {integrity: sha512-OXxMJnx1lkB+Vl65Re5BrsZEHc90s5NMjD23ZQ9NlU7f7nZiETGoX4NeKZSmsKjseuMq2uOYXdLOeoM0pJU+qw==} + '@vitest/mocker@3.2.3': + resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 @@ -738,20 +738,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.2.1': - resolution: {integrity: sha512-xBh1X2GPlOGBupp6E1RcUQWIxw0w/hRLd3XyBS6H+dMdKTAqHDNsIR2AnJwPA3yYe9DFy3VUKTe3VRTrAiQ01g==} + '@vitest/pretty-format@3.2.3': + resolution: {integrity: sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==} - '@vitest/runner@3.2.1': - resolution: {integrity: sha512-kygXhNTu/wkMYbwYpS3z/9tBe0O8qpdBuC3dD/AW9sWa0LE/DAZEjnHtWA9sIad7lpD4nFW1yQ+zN7mEKNH3yA==} + '@vitest/runner@3.2.3': + resolution: {integrity: sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==} - '@vitest/snapshot@3.2.1': - resolution: {integrity: sha512-5xko/ZpW2Yc65NVK9Gpfg2y4BFvcF+At7yRT5AHUpTg9JvZ4xZoyuRY4ASlmNcBZjMslV08VRLDrBOmUe2YX3g==} + '@vitest/snapshot@3.2.3': + resolution: {integrity: sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==} - '@vitest/spy@3.2.1': - resolution: {integrity: sha512-Nbfib34Z2rfcJGSetMxjDCznn4pCYPZOtQYox2kzebIJcgH75yheIKd5QYSFmR8DIZf2M8fwOm66qSDIfRFFfQ==} + '@vitest/spy@3.2.3': + resolution: {integrity: sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==} - '@vitest/utils@3.2.1': - resolution: {integrity: sha512-KkHlGhePEKZSub5ViknBcN5KEF+u7dSUr9NW8QsVICusUojrgrOnnY3DEWWO877ax2Pyopuk2qHmt+gkNKnBVw==} + '@vitest/utils@3.2.3': + resolution: {integrity: sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==} acorn@8.14.1: resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} @@ -1085,6 +1085,9 @@ packages: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -1413,6 +1416,9 @@ packages: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} + strip-literal@3.0.0: + resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} @@ -1542,8 +1548,8 @@ packages: ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.8.0: + resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} @@ -1553,8 +1559,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.2.1: - resolution: {integrity: sha512-V4EyKQPxquurNJPtQJRZo8hKOoKNBRIhxcDbQFPFig0JdoWcUhwRgK8yoCXXrfYVPKS6XwirGHPszLnR8FbjCA==} + vite-node@3.2.3: + resolution: {integrity: sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1586,16 +1592,16 @@ packages: terser: optional: true - vitest@3.2.1: - resolution: {integrity: sha512-VZ40MBnlE1/V5uTgdqY3DmjUgZtIzsYq758JGlyQrv5syIsaYcabkfPkEuWML49Ph0D/SoqpVFd0dyVTr551oA==} + vitest@3.2.3: + resolution: {integrity: sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.1 - '@vitest/ui': 3.2.1 + '@vitest/browser': 3.2.3 + '@vitest/ui': 3.2.3 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2156,48 +2162,49 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.15.29': + '@types/node@24.0.3': dependencies: - undici-types: 6.21.0 + undici-types: 7.8.0 - '@vitest/expect@3.2.1': + '@vitest/expect@3.2.3': dependencies: '@types/chai': 5.2.2 - '@vitest/spy': 3.2.1 - '@vitest/utils': 3.2.1 + '@vitest/spy': 3.2.3 + '@vitest/utils': 3.2.3 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.1(vite@5.2.10(@types/node@22.15.29))': + '@vitest/mocker@3.2.3(vite@5.2.10(@types/node@24.0.3))': dependencies: - '@vitest/spy': 3.2.1 + '@vitest/spy': 3.2.3 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@22.15.29) + vite: 5.2.10(@types/node@24.0.3) - '@vitest/pretty-format@3.2.1': + '@vitest/pretty-format@3.2.3': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.2.1': + '@vitest/runner@3.2.3': dependencies: - '@vitest/utils': 3.2.1 + '@vitest/utils': 3.2.3 pathe: 2.0.3 + strip-literal: 3.0.0 - '@vitest/snapshot@3.2.1': + '@vitest/snapshot@3.2.3': dependencies: - '@vitest/pretty-format': 3.2.1 + '@vitest/pretty-format': 3.2.3 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.2.1': + '@vitest/spy@3.2.3': dependencies: tinyspy: 4.0.3 - '@vitest/utils@3.2.1': + '@vitest/utils@3.2.3': dependencies: - '@vitest/pretty-format': 3.2.1 + '@vitest/pretty-format': 3.2.3 loupe: 3.1.3 tinyrainbow: 2.0.0 @@ -2537,6 +2544,8 @@ snapshots: joycon@3.1.1: {} + js-tokens@9.0.1: {} + js-yaml@3.14.1: dependencies: argparse: 1.0.10 @@ -2811,6 +2820,10 @@ snapshots: strip-final-newline@4.0.0: {} + strip-literal@3.0.0: + dependencies: + js-tokens: 9.0.1 + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.3 @@ -2938,19 +2951,19 @@ snapshots: ufo@1.6.1: {} - undici-types@6.21.0: {} + undici-types@7.8.0: {} unicorn-magic@0.3.0: {} universalify@0.1.2: {} - vite-node@3.2.1(@types/node@22.15.29): + vite-node@3.2.3(@types/node@24.0.3): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 5.2.10(@types/node@22.15.29) + vite: 5.2.10(@types/node@24.0.3) transitivePeerDependencies: - '@types/node' - less @@ -2961,25 +2974,25 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@22.15.29): + vite@5.2.10(@types/node@24.0.3): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.34.9 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.3 fsevents: 2.3.3 - vitest@3.2.1(@types/node@22.15.29): + vitest@3.2.3(@types/node@24.0.3): dependencies: '@types/chai': 5.2.2 - '@vitest/expect': 3.2.1 - '@vitest/mocker': 3.2.1(vite@5.2.10(@types/node@22.15.29)) - '@vitest/pretty-format': 3.2.1 - '@vitest/runner': 3.2.1 - '@vitest/snapshot': 3.2.1 - '@vitest/spy': 3.2.1 - '@vitest/utils': 3.2.1 + '@vitest/expect': 3.2.3 + '@vitest/mocker': 3.2.3(vite@5.2.10(@types/node@24.0.3)) + '@vitest/pretty-format': 3.2.3 + '@vitest/runner': 3.2.3 + '@vitest/snapshot': 3.2.3 + '@vitest/spy': 3.2.3 + '@vitest/utils': 3.2.3 chai: 5.2.0 debug: 4.4.1 expect-type: 1.2.1 @@ -2992,11 +3005,11 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.0 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@22.15.29) - vite-node: 3.2.1(@types/node@22.15.29) + vite: 5.2.10(@types/node@24.0.3) + vite-node: 3.2.3(@types/node@24.0.3) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.3 transitivePeerDependencies: - less - lightningcss From 694dd682df15afded500a555d045301ced10a3dc Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 1 Aug 2025 12:23:42 +0100 Subject: [PATCH 097/160] chore: update dependencies --- package.json | 16 ++-- pnpm-lock.yaml | 255 +++++++++++++++++++++++++------------------------ 2 files changed, 138 insertions(+), 133 deletions(-) diff --git a/package.json b/package.json index a4658db..1c1cb2d 100644 --- a/package.json +++ b/package.json @@ -31,16 +31,16 @@ "./packages/*" ], "devDependencies": { - "@types/node": "24.0.3", + "@types/node": "24.1.0", "tsup": "^8.5.0", - "typescript": "^5.8.3", - "@changesets/cli": "2.29.4", - "prettier": "^3.5.3", - "turbo": "^2.5.4", - "vitest": "^3.2.3", - "jiti": "^2.4.2" + "typescript": "^5.9.2", + "@changesets/cli": "2.29.5", + "prettier": "^3.6.2", + "turbo": "^2.5.5", + "vitest": "^3.2.4", + "jiti": "^2.5.1" }, - "packageManager": "pnpm@10.11.1", + "packageManager": "pnpm@10.14.0", "pnpm": { "onlyBuiltDependencies": [ "@swc/core", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3641d0b..29eea07 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,29 +9,29 @@ importers: .: devDependencies: '@changesets/cli': - specifier: 2.29.4 - version: 2.29.4 + specifier: 2.29.5 + version: 2.29.5 '@types/node': - specifier: 24.0.3 - version: 24.0.3 + specifier: 24.1.0 + version: 24.1.0 jiti: - specifier: ^2.4.2 - version: 2.4.2 + specifier: ^2.5.1 + version: 2.5.1 prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.2 + version: 3.6.2 tsup: specifier: ^8.5.0 - version: 8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3) + version: 8.5.0(@swc/core@1.5.5)(jiti@2.5.1)(postcss@8.4.38)(typescript@5.9.2) turbo: - specifier: ^2.5.4 - version: 2.5.4 + specifier: ^2.5.5 + version: 2.5.5 typescript: - specifier: ^5.8.3 - version: 5.8.3 + specifier: ^5.9.2 + version: 5.9.2 vitest: - specifier: ^3.2.3 - version: 3.2.3(@types/node@24.0.3) + specifier: ^3.2.4 + version: 3.2.4(@types/node@24.1.0) packages/create: dependencies: @@ -135,14 +135,14 @@ packages: '@changesets/apply-release-plan@7.0.12': resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} - '@changesets/assemble-release-plan@6.0.8': - resolution: {integrity: sha512-y8+8LvZCkKJdbUlpXFuqcavpzJR80PN0OIfn8HZdwK7Sh6MgLXm4hKY5vu6/NDoKp8lAlM4ERZCqRMLxP4m+MQ==} + '@changesets/assemble-release-plan@6.0.9': + resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} '@changesets/changelog-git@0.2.1': resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@changesets/cli@2.29.4': - resolution: {integrity: sha512-VW30x9oiFp/un/80+5jLeWgEU6Btj8IqOgI+X/zAYu4usVOWXjPIK5jSSlt5jsCU7/6Z7AxEkarxBxGUqkAmNg==} + '@changesets/cli@2.29.5': + resolution: {integrity: sha512-0j0cPq3fgxt2dPdFsg4XvO+6L66RC0pZybT9F4dG5TBrLA3jA/1pNkdTXH9IBBVHkgsKrNKenI3n1mPyPlIydg==} hasBin: true '@changesets/config@3.1.1': @@ -154,8 +154,8 @@ packages: '@changesets/get-dependents-graph@2.1.3': resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - '@changesets/get-release-plan@4.0.12': - resolution: {integrity: sha512-KukdEgaafnyGryUwpHG2kZ7xJquOmWWWk5mmoeQaSvZTWH1DC5D/Sw6ClgGFYtQnOMSQhgoEbDxAbpIIayKH1g==} + '@changesets/get-release-plan@4.0.13': + resolution: {integrity: sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} @@ -721,14 +721,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@24.0.3': - resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==} + '@types/node@24.1.0': + resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} - '@vitest/expect@3.2.3': - resolution: {integrity: sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==} + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - '@vitest/mocker@3.2.3': - resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==} + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 @@ -738,20 +738,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.2.3': - resolution: {integrity: sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==} + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/runner@3.2.3': - resolution: {integrity: sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==} + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} - '@vitest/snapshot@3.2.3': - resolution: {integrity: sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==} + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} - '@vitest/spy@3.2.3': - resolution: {integrity: sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==} + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/utils@3.2.3': - resolution: {integrity: sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==} + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} acorn@8.14.1: resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} @@ -1077,8 +1077,8 @@ packages: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} hasBin: true joycon@3.1.1: @@ -1119,6 +1119,9 @@ packages: loupe@3.1.3: resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + loupe@3.2.0: + resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==} + lru-cache@10.1.0: resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} @@ -1294,8 +1297,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} engines: {node: '>=14'} hasBin: true @@ -1453,8 +1456,8 @@ packages: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} - tinypool@1.1.0: - resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@2.0.0: @@ -1506,42 +1509,42 @@ packages: typescript: optional: true - turbo-darwin-64@2.5.4: - resolution: {integrity: sha512-ah6YnH2dErojhFooxEzmvsoZQTMImaruZhFPfMKPBq8sb+hALRdvBNLqfc8NWlZq576FkfRZ/MSi4SHvVFT9PQ==} + turbo-darwin-64@2.5.5: + resolution: {integrity: sha512-RYnTz49u4F5tDD2SUwwtlynABNBAfbyT2uU/brJcyh5k6lDLyNfYKdKmqd3K2ls4AaiALWrFKVSBsiVwhdFNzQ==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.5.4: - resolution: {integrity: sha512-2+Nx6LAyuXw2MdXb7pxqle3MYignLvS7OwtsP9SgtSBaMlnNlxl9BovzqdYAgkUW3AsYiQMJ/wBRb7d+xemM5A==} + turbo-darwin-arm64@2.5.5: + resolution: {integrity: sha512-Tk+ZeSNdBobZiMw9aFypQt0DlLsWSFWu1ymqsAdJLuPoAH05qCfYtRxE1pJuYHcJB5pqI+/HOxtJoQ40726Btw==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.5.4: - resolution: {integrity: sha512-5May2kjWbc8w4XxswGAl74GZ5eM4Gr6IiroqdLhXeXyfvWEdm2mFYCSWOzz0/z5cAgqyGidF1jt1qzUR8hTmOA==} + turbo-linux-64@2.5.5: + resolution: {integrity: sha512-2/XvMGykD7VgsvWesZZYIIVXMlgBcQy+ZAryjugoTcvJv8TZzSU/B1nShcA7IAjZ0q7OsZ45uP2cOb8EgKT30w==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.5.4: - resolution: {integrity: sha512-/2yqFaS3TbfxV3P5yG2JUI79P7OUQKOUvAnx4MV9Bdz6jqHsHwc9WZPpO4QseQm+NvmgY6ICORnoVPODxGUiJg==} + turbo-linux-arm64@2.5.5: + resolution: {integrity: sha512-DW+8CjCjybu0d7TFm9dovTTVg1VRnlkZ1rceO4zqsaLrit3DgHnN4to4uwyuf9s2V/BwS3IYcRy+HG9BL596Iw==} cpu: [arm64] os: [linux] - turbo-windows-64@2.5.4: - resolution: {integrity: sha512-EQUO4SmaCDhO6zYohxIjJpOKRN3wlfU7jMAj3CgcyTPvQR/UFLEKAYHqJOnJtymbQmiiM/ihX6c6W6Uq0yC7mA==} + turbo-windows-64@2.5.5: + resolution: {integrity: sha512-q5p1BOy8ChtSZfULuF1BhFMYIx6bevXu4fJ+TE/hyNfyHJIfjl90Z6jWdqAlyaFLmn99X/uw+7d6T/Y/dr5JwQ==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.5.4: - resolution: {integrity: sha512-oQ8RrK1VS8lrxkLriotFq+PiF7iiGgkZtfLKF4DDKsmdbPo0O9R2mQxm7jHLuXraRCuIQDWMIw6dpcr7Iykf4A==} + turbo-windows-arm64@2.5.5: + resolution: {integrity: sha512-AXbF1KmpHUq3PKQwddMGoKMYhHsy5t1YBQO8HZ04HLMR0rWv9adYlQ8kaeQJTko1Ay1anOBFTqaxfVOOsu7+1Q==} cpu: [arm64] os: [win32] - turbo@2.5.4: - resolution: {integrity: sha512-kc8ZibdRcuWUG1pbYSBFWqmIjynlD8Lp7IB6U3vIzvOv9VG+6Sp8bzyeBWE3Oi8XV5KsQrznyRTBPvrf99E4mA==} + turbo@2.5.5: + resolution: {integrity: sha512-eZ7wI6KjtT1eBqCnh2JPXWNUAxtoxxfi6VdBdZFvil0ychCOTxbm7YLRBi1JSt7U3c+u3CLxpoPxLdvr/Npr3A==} hasBin: true - typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true @@ -1559,8 +1562,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.2.3: - resolution: {integrity: sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -1592,16 +1595,16 @@ packages: terser: optional: true - vitest@3.2.3: - resolution: {integrity: sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==} + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.3 - '@vitest/ui': 3.2.3 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1692,7 +1695,7 @@ snapshots: resolve-from: 5.0.0 semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.8': + '@changesets/assemble-release-plan@6.0.9': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.3 @@ -1705,15 +1708,15 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.29.4': + '@changesets/cli@2.29.5': dependencies: '@changesets/apply-release-plan': 7.0.12 - '@changesets/assemble-release-plan': 6.0.8 + '@changesets/assemble-release-plan': 6.0.9 '@changesets/changelog-git': 0.2.1 '@changesets/config': 3.1.1 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.3 - '@changesets/get-release-plan': 4.0.12 + '@changesets/get-release-plan': 4.0.13 '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.2 @@ -1757,9 +1760,9 @@ snapshots: picocolors: 1.1.1 semver: 7.6.3 - '@changesets/get-release-plan@4.0.12': + '@changesets/get-release-plan@4.0.13': dependencies: - '@changesets/assemble-release-plan': 6.0.8 + '@changesets/assemble-release-plan': 6.0.9 '@changesets/config': 3.1.1 '@changesets/pre': 2.0.2 '@changesets/read': 0.6.5 @@ -2162,50 +2165,50 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@24.0.3': + '@types/node@24.1.0': dependencies: undici-types: 7.8.0 - '@vitest/expect@3.2.3': + '@vitest/expect@3.2.4': dependencies: '@types/chai': 5.2.2 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.3(vite@5.2.10(@types/node@24.0.3))': + '@vitest/mocker@3.2.4(vite@5.2.10(@types/node@24.1.0))': dependencies: - '@vitest/spy': 3.2.3 + '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.2.10(@types/node@24.0.3) + vite: 5.2.10(@types/node@24.1.0) - '@vitest/pretty-format@3.2.3': + '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.2.3': + '@vitest/runner@3.2.4': dependencies: - '@vitest/utils': 3.2.3 + '@vitest/utils': 3.2.4 pathe: 2.0.3 strip-literal: 3.0.0 - '@vitest/snapshot@3.2.3': + '@vitest/snapshot@3.2.4': dependencies: - '@vitest/pretty-format': 3.2.3 + '@vitest/pretty-format': 3.2.4 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.2.3': + '@vitest/spy@3.2.4': dependencies: tinyspy: 4.0.3 - '@vitest/utils@3.2.3': + '@vitest/utils@3.2.4': dependencies: - '@vitest/pretty-format': 3.2.3 - loupe: 3.1.3 + '@vitest/pretty-format': 3.2.4 + loupe: 3.2.0 tinyrainbow: 2.0.0 acorn@8.14.1: {} @@ -2540,7 +2543,7 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jiti@2.4.2: {} + jiti@2.5.1: {} joycon@3.1.1: {} @@ -2571,6 +2574,8 @@ snapshots: loupe@3.1.3: {} + loupe@3.2.0: {} + lru-cache@10.1.0: {} magic-string@0.30.17: @@ -2688,11 +2693,11 @@ snapshots: mlly: 1.7.4 pathe: 2.0.3 - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.38): + postcss-load-config@6.0.1(jiti@2.5.1)(postcss@8.4.38): dependencies: lilconfig: 3.1.2 optionalDependencies: - jiti: 2.4.2 + jiti: 2.5.1 postcss: 8.4.38 postcss@8.4.38: @@ -2703,7 +2708,7 @@ snapshots: prettier@2.8.8: {} - prettier@3.5.3: {} + prettier@3.6.2: {} pretty-ms@9.2.0: dependencies: @@ -2867,7 +2872,7 @@ snapshots: fdir: 6.4.4(picomatch@4.0.2) picomatch: 4.0.2 - tinypool@1.1.0: {} + tinypool@1.1.1: {} tinyrainbow@2.0.0: {} @@ -2891,7 +2896,7 @@ snapshots: ts-interface-checker@0.1.13: {} - tsup@8.5.0(@swc/core@1.5.5)(jiti@2.4.2)(postcss@8.4.38)(typescript@5.8.3): + tsup@8.5.0(@swc/core@1.5.5)(jiti@2.5.1)(postcss@8.4.38)(typescript@5.9.2): dependencies: bundle-require: 5.1.0(esbuild@0.25.0) cac: 6.7.14 @@ -2902,7 +2907,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.38) + postcss-load-config: 6.0.1(jiti@2.5.1)(postcss@8.4.38) resolve-from: 5.0.0 rollup: 4.34.9 source-map: 0.8.0-beta.0 @@ -2913,41 +2918,41 @@ snapshots: optionalDependencies: '@swc/core': 1.5.5 postcss: 8.4.38 - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - jiti - supports-color - tsx - yaml - turbo-darwin-64@2.5.4: + turbo-darwin-64@2.5.5: optional: true - turbo-darwin-arm64@2.5.4: + turbo-darwin-arm64@2.5.5: optional: true - turbo-linux-64@2.5.4: + turbo-linux-64@2.5.5: optional: true - turbo-linux-arm64@2.5.4: + turbo-linux-arm64@2.5.5: optional: true - turbo-windows-64@2.5.4: + turbo-windows-64@2.5.5: optional: true - turbo-windows-arm64@2.5.4: + turbo-windows-arm64@2.5.5: optional: true - turbo@2.5.4: + turbo@2.5.5: optionalDependencies: - turbo-darwin-64: 2.5.4 - turbo-darwin-arm64: 2.5.4 - turbo-linux-64: 2.5.4 - turbo-linux-arm64: 2.5.4 - turbo-windows-64: 2.5.4 - turbo-windows-arm64: 2.5.4 + turbo-darwin-64: 2.5.5 + turbo-darwin-arm64: 2.5.5 + turbo-linux-64: 2.5.5 + turbo-linux-arm64: 2.5.5 + turbo-windows-64: 2.5.5 + turbo-windows-arm64: 2.5.5 - typescript@5.8.3: {} + typescript@5.9.2: {} ufo@1.6.1: {} @@ -2957,13 +2962,13 @@ snapshots: universalify@0.1.2: {} - vite-node@3.2.3(@types/node@24.0.3): + vite-node@3.2.4(@types/node@24.1.0): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 5.2.10(@types/node@24.0.3) + vite: 5.2.10(@types/node@24.1.0) transitivePeerDependencies: - '@types/node' - less @@ -2974,25 +2979,25 @@ snapshots: - supports-color - terser - vite@5.2.10(@types/node@24.0.3): + vite@5.2.10(@types/node@24.1.0): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.34.9 optionalDependencies: - '@types/node': 24.0.3 + '@types/node': 24.1.0 fsevents: 2.3.3 - vitest@3.2.3(@types/node@24.0.3): + vitest@3.2.4(@types/node@24.1.0): dependencies: '@types/chai': 5.2.2 - '@vitest/expect': 3.2.3 - '@vitest/mocker': 3.2.3(vite@5.2.10(@types/node@24.0.3)) - '@vitest/pretty-format': 3.2.3 - '@vitest/runner': 3.2.3 - '@vitest/snapshot': 3.2.3 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(vite@5.2.10(@types/node@24.1.0)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 debug: 4.4.1 expect-type: 1.2.1 @@ -3003,13 +3008,13 @@ snapshots: tinybench: 2.9.0 tinyexec: 0.3.2 tinyglobby: 0.2.14 - tinypool: 1.1.0 + tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@24.0.3) - vite-node: 3.2.3(@types/node@24.0.3) + vite: 5.2.10(@types/node@24.1.0) + vite-node: 3.2.4(@types/node@24.1.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.0.3 + '@types/node': 24.1.0 transitivePeerDependencies: - less - lightningcss From c557fa418f2b9ce3ae44528e50d5fc823cede7b0 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 6 Aug 2025 12:42:12 +0100 Subject: [PATCH 098/160] feat: add `library` and `vanilla` flags --- packages/create/src/index.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 1d95346..db570aa 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -53,6 +53,18 @@ export const createSolid = (version: string) => alias: "s", description: "Create a SolidStart project", }, + "library": { + type: "boolean", + required: false, + alias: "l", + description: "Create a Library project", + }, + "vanilla": { + type: "boolean", + required: false, + alias: "v", + description: "Create a vanilla (SolidJS + Vite) project", + }, "ts": { type: "boolean", required: false, @@ -71,6 +83,8 @@ export const createSolid = (version: string) => "project-name": projectNameOptional, "template": templateOptional, solidstart, + library, + vanilla, ts, js, }, @@ -78,7 +92,7 @@ export const createSolid = (version: string) => // Show prompts for any unknown arguments let projectName: string = projectNamePositional ?? projectNameOptional; let template: string = templatePositional ?? templateOptional; - let projectType: ProjectType | undefined = solidstart ? "start" : undefined; + let projectType: ProjectType | undefined = solidstart ? "start" : (vanilla ? "vanilla" : (library ? "library" : undefined)); // False if user has selected ts, true if they have selected js, and undefined if they've done neither let useJS = ts ? !ts : js ? js : undefined; projectName ??= await cancelable( From 189a8566bb5176d44154e472b6689e4d3c090205 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 6 Aug 2025 12:47:22 +0100 Subject: [PATCH 099/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index a05cf37..8d227e8 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.6 + +### Patch Changes + +- Add CLI flags for creating `vanilla` and `library` projects + ## 0.6.5 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index f7d98d6..376da26 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.5", + "version": "0.6.6", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 22ab047..081b3e6 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.6 + +### Patch Changes + +- Add CLI flags for creating `vanilla` and `library` projects + ## 0.6.5 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index e8564de..dbd95db 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.5", + "version": "0.6.6", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From 558ae8cb1703b04b5003be08fdcdd7dc56c71e37 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 6 Aug 2025 13:01:45 +0100 Subject: [PATCH 100/160] feat: export `createLibrary` from `@solid-cli/create` --- packages/create/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index db570aa..3378bae 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -15,7 +15,7 @@ import { existsSync, writeFileSync } from "node:fs"; import { join } from "node:path"; import { createLibrary } from "./create-library"; import { readFile, writeFile } from "node:fs/promises"; -export { createVanilla, createStart }; +export { createVanilla, createStart, createLibrary }; export const createSolid = (version: string) => defineCommand({ From 59344f86822abb8f50fb4e10953607d3c3c775c1 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 6 Aug 2025 13:05:21 +0100 Subject: [PATCH 101/160] docs: document using `@solid-cli/create` as a library --- packages/create/README.md | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/packages/create/README.md b/packages/create/README.md index ce864de..74c4b75 100644 --- a/packages/create/README.md +++ b/packages/create/README.md @@ -1,29 +1,26 @@ ---- -description: Create Solid apps in one command with create-solid. ---- +# @solid-cli/create -# Create Solid +A library for easily initialising Solid projects -The easiest way to get started with Solid is by using `create-solid`. This CLI tool enables you to quickly start building a new Solid application, with everything set up for you. You can create a new app using the default SolidStart template or use one of the [Official SolidStart Examples](https://github.com/solidjs/solid-start/tree/main/examples). To get started, use the following command: +## Usage -```bash -#or -npm init solid@latest +### Initialising a Vanilla project -#or -pnpm create solid@latest +```ts +import { createVanilla } from "@solid-cli/create"; +createVanilla({ template: "ts", destination: "./ts" }); +``` -# or -yarn create solid +### Initialising a Start project -# or -bunx create-solid +```ts +import { createStart } from "@solid-cli/create"; +createStart({ template: "basic", destination: "./basic" }); ``` -## Why use Create Solid? - -`create-solid` allows you to create a new Solid app within seconds. It includes a number of benefits: +### Initialising a Library project -- **Interactive Experience**: Running `npm init solid@latest` (with no arguments) launches an interactive experience that guides you through setting up a project. -- **Zero Dependencies**: Initializing a project is as quick as one second. Create Solid has zero runtime dependencies. -- **Support for Examples**: Create Solid App can bootstrap your application using an example from the SolidStart official examples collection. +```ts +import { createLibrary } from "@solid-cli/create"; +createLibrary({ destination: "./library-project" }); +``` From c27ab913351cc07deda4d8eaaf504b0bd93cb227 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 10 Aug 2025 12:32:47 +0100 Subject: [PATCH 102/160] feat: add `with-strict-csp` to available start templates --- packages/create/src/utils/constants.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index 30c2c16..7223d83 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -78,6 +78,7 @@ const START_TEMPLATES = [ "with-trpc", "with-unocss", "with-vitest", + "with-strict-csp", "experiments", ] as const satisfies string[]; export type StartTemplate = (typeof START_TEMPLATES)[number]; From e2aa8cc9d597e571241073f5e885fd52f38e3aff Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 10 Aug 2025 12:33:49 +0100 Subject: [PATCH 103/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 8d227e8..88b2071 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.7 + +### Patch Changes + +- Add `with-strict-csp` template to Start + ## 0.6.6 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 376da26..5361657 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.6", + "version": "0.6.7", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 081b3e6..b106e0c 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.7 + +### Patch Changes + +- Add `with-strict-csp` template to Start + ## 0.6.6 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index dbd95db..efacfc6 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.6", + "version": "0.6.7", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From 337e9784e42357c3da33aa58cd085173e4ac6efc Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 22 Aug 2025 11:15:11 +0100 Subject: [PATCH 104/160] fix: disable ES transforms and preserve dynamic imports when transforming TS to JS fixes #64 --- packages/create/src/utils/ts-conversion.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/create/src/utils/ts-conversion.ts b/packages/create/src/utils/ts-conversion.ts index 36bb42d..10d9c37 100644 --- a/packages/create/src/utils/ts-conversion.ts +++ b/packages/create/src/utils/ts-conversion.ts @@ -16,6 +16,8 @@ const convertToJS = async (file: Dirent, startPath: string) => { let { code } = transform(await readFileToString(src), { transforms: ["typescript", "jsx"], jsxRuntime: "preserve", + disableESTransforms: true, + preserveDynamicImport: true, }); writeFileSync(dest.replace(".ts", ".js"), code, { flag: "wx" }); From de9992b0f5ad505b6f57e8fef63524415439d423 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 22 Aug 2025 11:17:42 +0100 Subject: [PATCH 105/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 88b2071..5def7f5 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.8 + +### Patch Changes + +- Correctly perform TS->JS conversion by disabling ES transforms and preserving dynamic imports + ## 0.6.7 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 5361657..3944cd9 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.7", + "version": "0.6.8", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index b106e0c..6539e3c 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.8 + +### Patch Changes + +- Correctly perform TS->JS conversion by disabling ES transforms and preserving dynamic imports + ## 0.6.7 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index efacfc6..f3dbf38 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.7", + "version": "0.6.8", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From 8f6a84dd7dbeb8adeed7a49d881eb4d9a440bcae Mon Sep 17 00:00:00 2001 From: Atila Fassina Date: Fri, 12 Sep 2025 19:34:56 +0200 Subject: [PATCH 106/160] replace SolidStart templates with the ones in templates repository --- packages/create/src/create-start.ts | 2 +- packages/create/src/utils/constants.ts | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/create/src/create-start.ts b/packages/create/src/create-start.ts index 63e4da6..cde6000 100644 --- a/packages/create/src/create-start.ts +++ b/packages/create/src/create-start.ts @@ -11,7 +11,7 @@ export type CreateStartArgs = { export const createStartTS = ({ template, destination }: CreateStartArgs) => { return downloadRepo( { - repo: { owner: "solidjs", name: "solid-start", subdir: `examples/${template}` }, + repo: { owner: "solidjs", name: "templates", subdir: `solid-start/${template}` }, dest: destination, }, GithubFetcher, diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index 7223d83..3b2cbbf 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -59,13 +59,13 @@ const VANILLA_TEMPLATES = [ ] as const satisfies string[]; export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; -/**Supported Start Templates */ +/** + * @description This list is hardcoded. But templates are fetched from another github repo. + * @see https://github.com/solidjs/templates/tree/main/solid-start + */ const START_TEMPLATES = [ "basic", "bare", - "hackernews", - "notes", - "todomvc", "with-solidbase", "with-auth", "with-authjs", @@ -79,8 +79,8 @@ const START_TEMPLATES = [ "with-unocss", "with-vitest", "with-strict-csp", - "experiments", ] as const satisfies string[]; + export type StartTemplate = (typeof START_TEMPLATES)[number]; /**Supported Library Templates */ @@ -118,5 +118,5 @@ export function isValidTemplate(type: "start", maybe_template: string): maybe_te export function isValidTemplate(type: "library", maybe_template: string): maybe_template is LibraryTemplate; export function isValidTemplate(type: ProjectType, maybe_template: string) { const templates = getTemplatesList(type); - return templates.find(t => t === maybe_template) !== undefined + return templates.find((t) => t === maybe_template) !== undefined; } From 33081c0695bd0fafa2d35f53cd93b2582622986b Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 19 Sep 2025 01:39:11 +0100 Subject: [PATCH 107/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 5def7f5..8f6d392 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.9 + +### Patch Changes + +- Fetch Start templates from solidjs/templates, rather than the Start repo + ## 0.6.8 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 3944cd9..0261470 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.8", + "version": "0.6.9", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 6539e3c..e7234b4 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.9 + +### Patch Changes + +- Fetch Start templates from solidjs/templates, rather than the Start repo + ## 0.6.8 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index f3dbf38..69cf607 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.8", + "version": "0.6.9", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From dd4b7d147fd2b1265e0b029723a4966b862f1056 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Fri, 19 Sep 2025 20:17:47 +0200 Subject: [PATCH 108/160] organize vanilla templates --- packages/create/src/create-vanilla.ts | 3 ++- packages/create/src/utils/constants.ts | 27 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/create/src/create-vanilla.ts b/packages/create/src/create-vanilla.ts index ee2cc63..0cebd73 100644 --- a/packages/create/src/create-vanilla.ts +++ b/packages/create/src/create-vanilla.ts @@ -15,9 +15,10 @@ export const createVanilla = (args: CreateVanillaArgs, transpile?: boolean) => { } return createVanillaTS(args); }; + export const createVanillaTS = async ({ template, destination }: CreateVanillaArgs) => { return await downloadRepo( - { repo: { owner: "solidjs", name: "templates", subdir: template }, dest: destination }, + { repo: { owner: "solidjs", name: "templates", subdir: `vanilla/${template}` }, dest: destination }, GithubFetcher, ); }; diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index 3b2cbbf..7444b7a 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -42,20 +42,19 @@ export const JS_CONFIG = { /**Supported Vanilla Templates */ const VANILLA_TEMPLATES = [ - "ts", - "ts-vitest", - "ts-uvu", - "ts-unocss", - "ts-tailwindcss", - "ts-sass", - "ts-router", - "ts-router-file-based", - "ts-minimal", - "ts-jest", - "ts-bootstrap", - "js", - "js-vitest", - "js-tailwindcss", + "basic", + "bare", + "with-vitest", + "with-uvu", + "with-unocss", + "with-tailwindcss", + "with-sass", + "with-solid-router", + "with-pages-router-file-based", + "with-tanstack-router-config-based", + "with-tanstack-router-file-based", + "with-jest", + "with-bootstrap", ] as const satisfies string[]; export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; From b41f573e76558352582f88fed2ab11179268bcb2 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Fri, 19 Sep 2025 20:25:26 +0200 Subject: [PATCH 109/160] changelog --- packages/create/CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index e7234b4..df2fd62 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.10 + +### Patch Changes + +- Fetch Vanilla templates from /vanilla subdirectory of solidjs/templates, rather than from repo root + ## 0.6.9 ### Patch Changes From 11215c0fbbe0b620f27f55b48d30b23c37d18c33 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 19 Sep 2025 19:59:30 +0100 Subject: [PATCH 110/160] test: fix test for downloading templates --- packages/create/tests/template.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create/tests/template.test.ts b/packages/create/tests/template.test.ts index ac7027c..6fb0520 100644 --- a/packages/create/tests/template.test.ts +++ b/packages/create/tests/template.test.ts @@ -1,8 +1,8 @@ import { expect, it } from "vitest"; import { createVanilla } from "../src"; import { existsSync } from "fs"; -it("downloads and extracts the typescript template", async () => { - await createVanilla({ template: "ts", destination: "./test/ts" }, false); +it("downloads and extracts the basic template", async () => { + await createVanilla({ template: "basic", destination: "./test/ts" }, false); const appTsx = existsSync("./test/ts/src/App.tsx"); expect(appTsx).toBe(true); From 13bb49a8673de59e1ac34a680b087a2f0f5994a3 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 19 Sep 2025 20:24:06 +0100 Subject: [PATCH 111/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/package.json | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 8f6d392..88c65d4 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.10 + +### Patch Changes + +- Fetch Vanilla templates from /vanilla subdirectory of solidjs/templates, rather than from repo root + ## 0.6.9 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 0261470..d03df84 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.9", + "version": "0.6.10", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/package.json b/packages/create/package.json index 69cf607..76f4a7f 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.9", + "version": "0.6.10", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From eeb3aad1599b2a1a6f925239292593e168e6f1ae Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Fri, 19 Sep 2025 22:56:23 +0200 Subject: [PATCH 112/160] with-vite-plugin-pages --- packages/create/src/utils/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index 7444b7a..d26872e 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -50,7 +50,7 @@ const VANILLA_TEMPLATES = [ "with-tailwindcss", "with-sass", "with-solid-router", - "with-pages-router-file-based", + "with-vite-plugin-pages", "with-tanstack-router-config-based", "with-tanstack-router-file-based", "with-jest", From 100ae885937b8cf856d61716465bf8ee2961f1a5 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 19 Sep 2025 22:27:11 +0100 Subject: [PATCH 113/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 88c65d4..764c3b3 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.11 + +### Patch Changes + +- Rename `with-pages-router-file-based` to `with-vite-plugin-pages` + ## 0.6.10 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index d03df84..6ab18e1 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.10", + "version": "0.6.11", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index df2fd62..0c90750 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.11 + +### Patch Changes + +- Rename `with-pages-router-file-based` to `with-vite-plugin-pages` + ## 0.6.10 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index 76f4a7f..f9efea4 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.10", + "version": "0.6.11", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From bfd4478d783f1f2072a295a0016973e2cb30be34 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Tue, 11 Nov 2025 00:05:05 +0100 Subject: [PATCH 114/160] link tanstack start example --- packages/create/src/utils/constants.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index d26872e..b886591 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -53,6 +53,7 @@ const VANILLA_TEMPLATES = [ "with-vite-plugin-pages", "with-tanstack-router-config-based", "with-tanstack-router-file-based", + "with-tanstack-start", "with-jest", "with-bootstrap", ] as const satisfies string[]; From 68f6b0687aa2bd056060b2e3b5bb91993d83ecab Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 9 Jan 2026 12:14:31 +0000 Subject: [PATCH 115/160] chore: update dependencies --- package.json | 18 +- packages/create/package.json | 2 +- packages/utils/package.json | 4 +- packages/utils/src/transform/parse.ts | 2 +- packages/utils/tsconfig.json | 2 +- pnpm-lock.yaml | 1469 ++++++++++++------------- 6 files changed, 729 insertions(+), 768 deletions(-) diff --git a/package.json b/package.json index 1c1cb2d..d7c0755 100644 --- a/package.json +++ b/package.json @@ -31,16 +31,16 @@ "./packages/*" ], "devDependencies": { - "@types/node": "24.1.0", - "tsup": "^8.5.0", - "typescript": "^5.9.2", - "@changesets/cli": "2.29.5", - "prettier": "^3.6.2", - "turbo": "^2.5.5", - "vitest": "^3.2.4", - "jiti": "^2.5.1" + "@types/node": "25.0.3", + "tsup": "^8.5.1", + "typescript": "^5.9.3", + "@changesets/cli": "2.29.8", + "prettier": "^3.7.4", + "turbo": "^2.7.3", + "vitest": "^4.0.16", + "jiti": "^2.6.1" }, - "packageManager": "pnpm@10.14.0", + "packageManager": "pnpm@10.27.0", "pnpm": { "onlyBuiltDependencies": [ "@swc/core", diff --git a/packages/create/package.json b/packages/create/package.json index f9efea4..c2ee00e 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -44,7 +44,7 @@ "picocolors": "^1.1.1", "@begit/core": "^0.3.3", "citty": "^0.1.6", - "sucrase": "^3.35.0", + "sucrase": "^3.35.1", "@solid-cli/utils": "workspace:*" } } diff --git a/packages/utils/package.json b/packages/utils/package.json index 93ac53f..1669d5a 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -67,7 +67,7 @@ "build": "tsc && tsup" }, "devDependencies": { - "magicast": "^0.3.5" + "magicast": "^0.5.1" }, "publishConfig": { "access": "public" @@ -75,7 +75,7 @@ "dependencies": { "@clack/core": "0.5.0", "@clack/prompts": "0.11.0", - "execa": "^9.6.0", + "execa": "^9.6.1", "picocolors": "^1.1.1" } } diff --git a/packages/utils/src/transform/parse.ts b/packages/utils/src/transform/parse.ts index 63581d5..6d23dd7 100644 --- a/packages/utils/src/transform/parse.ts +++ b/packages/utils/src/transform/parse.ts @@ -12,7 +12,7 @@ type ArrayExpression = Extract; const isNodeFunction = (node: ASTNodeFull) => node.type === "BlockStatement" || node.type === "ArrowFunctionExpression"; -const getReturnStatement = (node: ASTNodeFull | undefined) => { +const getReturnStatement = (node: ASTNode | undefined) => { if (!node) return; if (node.type === "BlockStatement" && node.body) { let returnStatement; diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 594e530..31a361a 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -7,7 +7,7 @@ "skipLibCheck": true, "declaration": true, "emitDeclarationOnly": true, - "moduleResolution": "Node", + "moduleResolution": "Bundler", "resolveJsonModule": true, "isolatedModules": true, "allowSyntheticDefaultImports": true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29eea07..98f9fb4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,29 +9,29 @@ importers: .: devDependencies: '@changesets/cli': - specifier: 2.29.5 - version: 2.29.5 + specifier: 2.29.8 + version: 2.29.8(@types/node@25.0.3) '@types/node': - specifier: 24.1.0 - version: 24.1.0 + specifier: 25.0.3 + version: 25.0.3 jiti: - specifier: ^2.5.1 - version: 2.5.1 + specifier: ^2.6.1 + version: 2.6.1 prettier: - specifier: ^3.6.2 - version: 3.6.2 + specifier: ^3.7.4 + version: 3.7.4 tsup: - specifier: ^8.5.0 - version: 8.5.0(@swc/core@1.5.5)(jiti@2.5.1)(postcss@8.4.38)(typescript@5.9.2) + specifier: ^8.5.1 + version: 8.5.1(@swc/core@1.5.5)(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3) turbo: - specifier: ^2.5.5 - version: 2.5.5 + specifier: ^2.7.3 + version: 2.7.3 typescript: - specifier: ^5.9.2 - version: 5.9.2 + specifier: ^5.9.3 + version: 5.9.3 vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/node@24.1.0) + specifier: ^4.0.16 + version: 4.0.16(@types/node@25.0.3)(jiti@2.6.1) packages/create: dependencies: @@ -51,8 +51,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 sucrase: - specifier: ^3.35.0 - version: 3.35.0 + specifier: ^3.35.1 + version: 3.35.1 packages/create-solid: devDependencies: @@ -96,28 +96,28 @@ importers: specifier: 0.11.0 version: 0.11.0 execa: - specifier: ^9.6.0 - version: 9.6.0 + specifier: ^9.6.1 + version: 9.6.1 picocolors: specifier: ^1.1.1 version: 1.1.1 devDependencies: magicast: - specifier: ^0.3.5 - version: 0.3.5 + specifier: ^0.5.1 + version: 0.5.1 packages: - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.6': - resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} engines: {node: '>=6.0.0'} hasBin: true @@ -125,15 +125,15 @@ packages: resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.6': - resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} '@begit/core@0.3.3': resolution: {integrity: sha512-ekoNr/hsoK71NYDEI0dffMAGPJWUh1Uiu4Zlp7lBtFN3gTmdUOV9HQssxkTE88440whM7ES5WKiokKw+cNqUqg==} - '@changesets/apply-release-plan@7.0.12': - resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} + '@changesets/apply-release-plan@7.0.14': + resolution: {integrity: sha512-ddBvf9PHdy2YY0OUiEl3TV78mH9sckndJR14QAt87KLEbIov81XO0q0QAmvooBxXlqRRP8I9B7XOzZwQG7JkWA==} '@changesets/assemble-release-plan@6.0.9': resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} @@ -141,12 +141,12 @@ packages: '@changesets/changelog-git@0.2.1': resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@changesets/cli@2.29.5': - resolution: {integrity: sha512-0j0cPq3fgxt2dPdFsg4XvO+6L66RC0pZybT9F4dG5TBrLA3jA/1pNkdTXH9IBBVHkgsKrNKenI3n1mPyPlIydg==} + '@changesets/cli@2.29.8': + resolution: {integrity: sha512-1weuGZpP63YWUYjay/E84qqwcnt5yJMM0tep10Up7Q5cS/DGe2IZ0Uj3HNMxGhCINZuR7aO9WBMdKnPit5ZDPA==} hasBin: true - '@changesets/config@3.1.1': - resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==} + '@changesets/config@3.1.2': + resolution: {integrity: sha512-CYiRhA4bWKemdYi/uwImjPxqWNpqGPNbEBdX1BdONALFIDK7MCUj6FPkzD+z9gJcvDFUQJn9aDVf4UG7OT6Kog==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} @@ -154,8 +154,8 @@ packages: '@changesets/get-dependents-graph@2.1.3': resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - '@changesets/get-release-plan@4.0.13': - resolution: {integrity: sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==} + '@changesets/get-release-plan@4.0.14': + resolution: {integrity: sha512-yjZMHpUHgl4Xl5gRlolVuxDkm4HgSJqT93Ri1Uz8kGrQb+5iJ8dkXJ20M2j/Y4iV5QzS2c5SeTxVSKX+2eMI0g==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} @@ -166,14 +166,14 @@ packages: '@changesets/logger@0.1.1': resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - '@changesets/parse@0.4.1': - resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==} + '@changesets/parse@0.4.2': + resolution: {integrity: sha512-Uo5MC5mfg4OM0jU3up66fmSn6/NE9INK+8/Vn/7sMVcdWg46zfbvvUSjD9EMonVqPi9fbrJH9SXHn48Tr1f2yA==} '@changesets/pre@2.0.2': resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - '@changesets/read@0.6.5': - resolution: {integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==} + '@changesets/read@0.6.6': + resolution: {integrity: sha512-P5QaN9hJSQQKJShzzpBT13FzOSPyHbqdoIBUd2DJdgvnECCyO6LmAOWSV+O8se2TaZJVwSXjL+v9yhb+a9JeJg==} '@changesets/should-skip-package@0.1.2': resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} @@ -193,293 +193,170 @@ packages: '@clack/prompts@0.11.0': resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} - '@esbuild/aix-ppc64@0.20.2': - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.25.0': - resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==} + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.20.2': - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.25.0': - resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==} + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.20.2': - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.25.0': - resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==} + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.20.2': - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.25.0': - resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==} + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.20.2': - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.25.0': - resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==} + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.20.2': - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.25.0': - resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==} + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.20.2': - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.25.0': - resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==} + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.20.2': - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.25.0': - resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==} + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.20.2': - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.25.0': - resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==} + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.20.2': - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.25.0': - resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==} + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.20.2': - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.25.0': - resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==} + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.20.2': - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.25.0': - resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==} + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.20.2': - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.25.0': - resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==} + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.20.2': - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.25.0': - resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==} + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.20.2': - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.25.0': - resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==} + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.20.2': - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.25.0': - resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==} + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.20.2': - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.25.0': - resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==} + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.0': - resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==} + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.20.2': - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.25.0': - resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==} + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.0': - resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==} + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.20.2': - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.0': - resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==} + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.20.2': - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] - '@esbuild/sunos-x64@0.25.0': - resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==} + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.20.2': - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.25.0': - resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==} + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.20.2': - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.25.0': - resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==} + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.20.2': - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.0': - resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==} + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} engines: {node: '>=18'} - cpu: [x64] - os: [win32] + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -507,6 +384,9 @@ packages: '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.19': resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} @@ -537,51 +417,111 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.55.1': + resolution: {integrity: sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.34.9': resolution: {integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==} cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.55.1': + resolution: {integrity: sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==} + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.34.9': resolution: {integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==} cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.55.1': + resolution: {integrity: sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==} + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.34.9': resolution: {integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==} cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.55.1': + resolution: {integrity: sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==} + cpu: [x64] + os: [darwin] + '@rollup/rollup-freebsd-arm64@4.34.9': resolution: {integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==} cpu: [arm64] os: [freebsd] + '@rollup/rollup-freebsd-arm64@4.55.1': + resolution: {integrity: sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==} + cpu: [arm64] + os: [freebsd] + '@rollup/rollup-freebsd-x64@4.34.9': resolution: {integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==} cpu: [x64] os: [freebsd] + '@rollup/rollup-freebsd-x64@4.55.1': + resolution: {integrity: sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==} + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.34.9': resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-gnueabihf@4.55.1': + resolution: {integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.34.9': resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.55.1': + resolution: {integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.34.9': resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.55.1': + resolution: {integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-arm64-musl@4.34.9': resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-musl@4.55.1': + resolution: {integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.55.1': + resolution: {integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.55.1': + resolution: {integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==} + cpu: [loong64] + os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.34.9': resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==} cpu: [loong64] @@ -592,41 +532,106 @@ packages: cpu: [ppc64] os: [linux] + '@rollup/rollup-linux-ppc64-gnu@4.55.1': + resolution: {integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.55.1': + resolution: {integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==} + cpu: [ppc64] + os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.34.9': resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==} cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.55.1': + resolution: {integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.55.1': + resolution: {integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.34.9': resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==} cpu: [s390x] os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.55.1': + resolution: {integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==} + cpu: [s390x] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.34.9': resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.55.1': + resolution: {integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==} + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-musl@4.34.9': resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-musl@4.55.1': + resolution: {integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openbsd-x64@4.55.1': + resolution: {integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.55.1': + resolution: {integrity: sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==} + cpu: [arm64] + os: [openharmony] + '@rollup/rollup-win32-arm64-msvc@4.34.9': resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==} cpu: [arm64] os: [win32] + '@rollup/rollup-win32-arm64-msvc@4.55.1': + resolution: {integrity: sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==} + cpu: [arm64] + os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.34.9': resolution: {integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==} cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.55.1': + resolution: {integrity: sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.55.1': + resolution: {integrity: sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==} + cpu: [x64] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.34.9': resolution: {integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==} cpu: [x64] os: [win32] + '@rollup/rollup-win32-x64-msvc@4.55.1': + resolution: {integrity: sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==} + cpu: [x64] + os: [win32] + '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} @@ -634,6 +639,9 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@swc/core-darwin-arm64@1.5.5': resolution: {integrity: sha512-Ol5ZwZYdTOZsv2NwjcT/qVVALKzVFeh+IJ4GNarr3P99+38Dkwi81OqCI1o/WaDXQYKAQC/V+CzMbkEuJJfq9Q==} engines: {node: '>=10'} @@ -718,40 +726,43 @@ packages: '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@24.1.0': - resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} + '@types/node@25.0.3': + resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} - '@vitest/expect@3.2.4': - resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} + '@vitest/expect@4.0.16': + resolution: {integrity: sha512-eshqULT2It7McaJkQGLkPjPjNph+uevROGuIMJdG3V+0BSR2w9u6J9Lwu+E8cK5TETlfou8GRijhafIMhXsimA==} - '@vitest/mocker@3.2.4': - resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} + '@vitest/mocker@4.0.16': + resolution: {integrity: sha512-yb6k4AZxJTB+q9ycAvsoxGn+j/po0UaPgajllBgt1PzoMAAmJGYFdDk0uCcRcxb3BrME34I6u8gHZTQlkqSZpg==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + vite: ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@3.2.4': - resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} + '@vitest/pretty-format@4.0.16': + resolution: {integrity: sha512-eNCYNsSty9xJKi/UdVD8Ou16alu7AYiS2fCPRs0b1OdhJiV89buAXQLpTbe+X8V9L6qrs9CqyvU7OaAopJYPsA==} - '@vitest/runner@3.2.4': - resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} + '@vitest/runner@4.0.16': + resolution: {integrity: sha512-VWEDm5Wv9xEo80ctjORcTQRJ539EGPB3Pb9ApvVRAY1U/WkHXmmYISqU5E79uCwcW7xYUV38gwZD+RV755fu3Q==} - '@vitest/snapshot@3.2.4': - resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} + '@vitest/snapshot@4.0.16': + resolution: {integrity: sha512-sf6NcrYhYBsSYefxnry+DR8n3UV4xWZwWxYbCJUt2YdvtqzSPR7VfGrY0zsv090DAbjFZsi7ZaMi1KnSRyK1XA==} - '@vitest/spy@3.2.4': - resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + '@vitest/spy@4.0.16': + resolution: {integrity: sha512-4jIOWjKP0ZUaEmJm00E0cOBLU+5WE0BpeNr3XN6TEF05ltro6NJqHWxXD0kA8/Zc8Nh23AT8WQxwNG+WeROupw==} - '@vitest/utils@3.2.4': - resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + '@vitest/utils@4.0.16': + resolution: {integrity: sha512-h8z9yYhV3e1LEfaQ3zdypIrnAg/9hguReGZoS7Gl0aBG5xgA410zBqECqmaF/+RkTggRsfnzc1XaAHA6bmUufA==} acorn@8.14.1: resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} @@ -784,14 +795,13 @@ packages: argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -816,16 +826,12 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - chai@5.2.0: - resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} - engines: {node: '>=12'} - - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} @@ -872,15 +878,6 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.1: resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} @@ -890,10 +887,6 @@ packages: supports-color: optional: true - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -918,13 +911,8 @@ packages: es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.25.0: - resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==} + esbuild@0.27.2: + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} engines: {node: '>=18'} hasBin: true @@ -936,21 +924,17 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - execa@9.6.0: - resolution: {integrity: sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==} + execa@9.6.1: + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} engines: {node: ^18.19.0 || >=20.5.0} - expect-type@1.2.1: - resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} @@ -966,6 +950,15 @@ packages: picomatch: optional: true + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + figures@6.1.0: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} @@ -1026,8 +1019,8 @@ packages: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + iconv-lite@0.7.2: + resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} engines: {node: '>=0.10.0'} ignore@5.3.2: @@ -1077,21 +1070,22 @@ packages: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - jiti@2.5.1: - resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} - js-tokens@9.0.1: - resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -1110,18 +1104,9 @@ packages: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - loupe@3.1.3: - resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} - - loupe@3.2.0: - resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==} - lru-cache@10.1.0: resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} @@ -1129,8 +1114,11 @@ packages: magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - magicast@0.3.5: - resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + magicast@0.5.1: + resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==} merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -1174,8 +1162,8 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -1187,9 +1175,8 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} @@ -1244,10 +1231,6 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1259,6 +1242,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -1288,8 +1275,8 @@ packages: yaml: optional: true - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} prettier@2.8.8: @@ -1297,8 +1284,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.6.2: - resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + prettier@3.7.4: + resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} engines: {node: '>=14'} hasBin: true @@ -1306,10 +1293,6 @@ packages: resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} engines: {node: '>=18'} - punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -1342,6 +1325,11 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rollup@4.55.1: + resolution: {integrity: sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -1375,13 +1363,13 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} spawndamnit@3.0.1: resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} @@ -1392,8 +1380,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -1419,14 +1407,16 @@ packages: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} - strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true + sucrase@3.35.1: + resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + tar@7.4.3: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} engines: {node: '>=18'} @@ -1448,41 +1438,26 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.13: - resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} - engines: {node: '>=12.0.0'} + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} tinyglobby@0.2.14: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} - engines: {node: '>=14.0.0'} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} - tinyspy@4.0.3: - resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} + tinyrainbow@3.0.3: + resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} engines: {node: '>=14.0.0'} - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -1490,8 +1465,8 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tsup@8.5.0: - resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==} + tsup@8.5.1: + resolution: {integrity: sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -1509,50 +1484,50 @@ packages: typescript: optional: true - turbo-darwin-64@2.5.5: - resolution: {integrity: sha512-RYnTz49u4F5tDD2SUwwtlynABNBAfbyT2uU/brJcyh5k6lDLyNfYKdKmqd3K2ls4AaiALWrFKVSBsiVwhdFNzQ==} + turbo-darwin-64@2.7.3: + resolution: {integrity: sha512-aZHhvRiRHXbJw1EcEAq4aws1hsVVUZ9DPuSFaq9VVFAKCup7niIEwc22glxb7240yYEr1vLafdQ2U294Vcwz+w==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.5.5: - resolution: {integrity: sha512-Tk+ZeSNdBobZiMw9aFypQt0DlLsWSFWu1ymqsAdJLuPoAH05qCfYtRxE1pJuYHcJB5pqI+/HOxtJoQ40726Btw==} + turbo-darwin-arm64@2.7.3: + resolution: {integrity: sha512-CkVrHSq+Bnhl9sX2LQgqQYVfLTWC2gvI74C4758OmU0djfrssDKU9d4YQF0AYXXhIIRZipSXfxClQziIMD+EAg==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.5.5: - resolution: {integrity: sha512-2/XvMGykD7VgsvWesZZYIIVXMlgBcQy+ZAryjugoTcvJv8TZzSU/B1nShcA7IAjZ0q7OsZ45uP2cOb8EgKT30w==} + turbo-linux-64@2.7.3: + resolution: {integrity: sha512-GqDsCNnzzr89kMaLGpRALyigUklzgxIrSy2pHZVXyifgczvYPnLglex78Aj3T2gu+T3trPPH2iJ+pWucVOCC2Q==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.5.5: - resolution: {integrity: sha512-DW+8CjCjybu0d7TFm9dovTTVg1VRnlkZ1rceO4zqsaLrit3DgHnN4to4uwyuf9s2V/BwS3IYcRy+HG9BL596Iw==} + turbo-linux-arm64@2.7.3: + resolution: {integrity: sha512-NdCDTfIcIo3dWjsiaAHlxu5gW61Ed/8maah1IAF/9E3EtX0aAHNiBMbuYLZaR4vRJ7BeVkYB6xKWRtdFLZ0y3g==} cpu: [arm64] os: [linux] - turbo-windows-64@2.5.5: - resolution: {integrity: sha512-q5p1BOy8ChtSZfULuF1BhFMYIx6bevXu4fJ+TE/hyNfyHJIfjl90Z6jWdqAlyaFLmn99X/uw+7d6T/Y/dr5JwQ==} + turbo-windows-64@2.7.3: + resolution: {integrity: sha512-7bVvO987daXGSJVYBoG8R4Q+csT1pKIgLJYZevXRQ0Hqw0Vv4mKme/TOjYXs9Qb1xMKh51Tb3bXKDbd8/4G08g==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.5.5: - resolution: {integrity: sha512-AXbF1KmpHUq3PKQwddMGoKMYhHsy5t1YBQO8HZ04HLMR0rWv9adYlQ8kaeQJTko1Ay1anOBFTqaxfVOOsu7+1Q==} + turbo-windows-arm64@2.7.3: + resolution: {integrity: sha512-nTodweTbPmkvwMu/a55XvjMsPtuyUSC+sV7f/SR57K36rB2I0YG21qNETN+00LOTUW9B3omd8XkiXJkt4kx/cw==} cpu: [arm64] os: [win32] - turbo@2.5.5: - resolution: {integrity: sha512-eZ7wI6KjtT1eBqCnh2JPXWNUAxtoxxfi6VdBdZFvil0ychCOTxbm7YLRBi1JSt7U3c+u3CLxpoPxLdvr/Npr3A==} + turbo@2.7.3: + resolution: {integrity: sha512-+HjKlP4OfYk+qzvWNETA3cUO5UuK6b5MSc2UJOKyvBceKucQoQGb2g7HlC2H1GHdkfKrk4YF1VPvROkhVZDDLQ==} hasBin: true - typescript@5.9.2: - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - undici-types@7.8.0: - resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} @@ -1562,59 +1537,72 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - vite-node@3.2.4: - resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - - vite@5.2.10: - resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} - engines: {node: ^18.0.0 || >=20.0.0} + vite@7.3.1: + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: '@types/node': optional: true + jiti: + optional: true less: optional: true lightningcss: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true - vitest@3.2.4: - resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vitest@4.0.16: + resolution: {integrity: sha512-E4t7DJ9pESL6E3I8nFjPa4xGUd3PmiWDLsDztS2qXSJWfHtbQnwAWylaBvSNY48I3vr8PTqIZlyK8TE3V3CA4Q==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/debug': ^4.1.12 - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.4 - '@vitest/ui': 3.2.4 + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.0.16 + '@vitest/browser-preview': 4.0.16 + '@vitest/browser-webdriverio': 4.0.16 + '@vitest/ui': 4.0.16 happy-dom: '*' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true - '@types/debug': + '@opentelemetry/api': optional: true '@types/node': optional: true - '@vitest/browser': + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': optional: true '@vitest/ui': optional: true @@ -1623,12 +1611,6 @@ packages: jsdom: optional: true - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1657,31 +1639,30 @@ packages: snapshots: - '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.28.5': {} - '@babel/parser@7.25.6': + '@babel/parser@7.28.5': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.28.5 '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 - '@babel/types@7.25.6': + '@babel/types@7.28.5': dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 '@begit/core@0.3.3': dependencies: tar: 7.4.3 - '@changesets/apply-release-plan@7.0.12': + '@changesets/apply-release-plan@7.0.14': dependencies: - '@changesets/config': 3.1.1 + '@changesets/config': 3.1.2 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.4 '@changesets/should-skip-package': 0.1.2 @@ -1708,27 +1689,27 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.29.5': + '@changesets/cli@2.29.8(@types/node@25.0.3)': dependencies: - '@changesets/apply-release-plan': 7.0.12 + '@changesets/apply-release-plan': 7.0.14 '@changesets/assemble-release-plan': 6.0.9 '@changesets/changelog-git': 0.2.1 - '@changesets/config': 3.1.1 + '@changesets/config': 3.1.2 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.3 - '@changesets/get-release-plan': 4.0.13 + '@changesets/get-release-plan': 4.0.14 '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.5 + '@changesets/read': 0.6.6 '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 + '@inquirer/external-editor': 1.0.3(@types/node@25.0.3) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 enquirer: 2.4.1 - external-editor: 3.1.0 fs-extra: 7.0.1 mri: 1.2.0 p-limit: 2.3.0 @@ -1738,8 +1719,10 @@ snapshots: semver: 7.6.3 spawndamnit: 3.0.1 term-size: 2.2.1 + transitivePeerDependencies: + - '@types/node' - '@changesets/config@3.1.1': + '@changesets/config@3.1.2': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.3 @@ -1760,12 +1743,12 @@ snapshots: picocolors: 1.1.1 semver: 7.6.3 - '@changesets/get-release-plan@4.0.13': + '@changesets/get-release-plan@4.0.14': dependencies: '@changesets/assemble-release-plan': 6.0.9 - '@changesets/config': 3.1.1 + '@changesets/config': 3.1.2 '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.5 + '@changesets/read': 0.6.6 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 @@ -1783,10 +1766,10 @@ snapshots: dependencies: picocolors: 1.1.1 - '@changesets/parse@0.4.1': + '@changesets/parse@0.4.2': dependencies: '@changesets/types': 6.1.0 - js-yaml: 3.14.1 + js-yaml: 4.1.1 '@changesets/pre@2.0.2': dependencies: @@ -1795,11 +1778,11 @@ snapshots: '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.5': + '@changesets/read@0.6.6': dependencies: '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 - '@changesets/parse': 0.4.1 + '@changesets/parse': 0.4.2 '@changesets/types': 6.1.0 fs-extra: 7.0.1 p-filter: 2.1.0 @@ -1832,149 +1815,90 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 - '@esbuild/aix-ppc64@0.20.2': - optional: true - - '@esbuild/aix-ppc64@0.25.0': - optional: true - - '@esbuild/android-arm64@0.20.2': - optional: true - - '@esbuild/android-arm64@0.25.0': - optional: true - - '@esbuild/android-arm@0.20.2': - optional: true - - '@esbuild/android-arm@0.25.0': - optional: true - - '@esbuild/android-x64@0.20.2': - optional: true - - '@esbuild/android-x64@0.25.0': - optional: true - - '@esbuild/darwin-arm64@0.20.2': - optional: true - - '@esbuild/darwin-arm64@0.25.0': - optional: true - - '@esbuild/darwin-x64@0.20.2': - optional: true - - '@esbuild/darwin-x64@0.25.0': - optional: true - - '@esbuild/freebsd-arm64@0.20.2': - optional: true - - '@esbuild/freebsd-arm64@0.25.0': + '@esbuild/aix-ppc64@0.27.2': optional: true - '@esbuild/freebsd-x64@0.20.2': + '@esbuild/android-arm64@0.27.2': optional: true - '@esbuild/freebsd-x64@0.25.0': + '@esbuild/android-arm@0.27.2': optional: true - '@esbuild/linux-arm64@0.20.2': + '@esbuild/android-x64@0.27.2': optional: true - '@esbuild/linux-arm64@0.25.0': + '@esbuild/darwin-arm64@0.27.2': optional: true - '@esbuild/linux-arm@0.20.2': + '@esbuild/darwin-x64@0.27.2': optional: true - '@esbuild/linux-arm@0.25.0': + '@esbuild/freebsd-arm64@0.27.2': optional: true - '@esbuild/linux-ia32@0.20.2': + '@esbuild/freebsd-x64@0.27.2': optional: true - '@esbuild/linux-ia32@0.25.0': + '@esbuild/linux-arm64@0.27.2': optional: true - '@esbuild/linux-loong64@0.20.2': + '@esbuild/linux-arm@0.27.2': optional: true - '@esbuild/linux-loong64@0.25.0': + '@esbuild/linux-ia32@0.27.2': optional: true - '@esbuild/linux-mips64el@0.20.2': + '@esbuild/linux-loong64@0.27.2': optional: true - '@esbuild/linux-mips64el@0.25.0': + '@esbuild/linux-mips64el@0.27.2': optional: true - '@esbuild/linux-ppc64@0.20.2': + '@esbuild/linux-ppc64@0.27.2': optional: true - '@esbuild/linux-ppc64@0.25.0': + '@esbuild/linux-riscv64@0.27.2': optional: true - '@esbuild/linux-riscv64@0.20.2': + '@esbuild/linux-s390x@0.27.2': optional: true - '@esbuild/linux-riscv64@0.25.0': + '@esbuild/linux-x64@0.27.2': optional: true - '@esbuild/linux-s390x@0.20.2': + '@esbuild/netbsd-arm64@0.27.2': optional: true - '@esbuild/linux-s390x@0.25.0': + '@esbuild/netbsd-x64@0.27.2': optional: true - '@esbuild/linux-x64@0.20.2': + '@esbuild/openbsd-arm64@0.27.2': optional: true - '@esbuild/linux-x64@0.25.0': + '@esbuild/openbsd-x64@0.27.2': optional: true - '@esbuild/netbsd-arm64@0.25.0': + '@esbuild/openharmony-arm64@0.27.2': optional: true - '@esbuild/netbsd-x64@0.20.2': + '@esbuild/sunos-x64@0.27.2': optional: true - '@esbuild/netbsd-x64@0.25.0': + '@esbuild/win32-arm64@0.27.2': optional: true - '@esbuild/openbsd-arm64@0.25.0': + '@esbuild/win32-ia32@0.27.2': optional: true - '@esbuild/openbsd-x64@0.20.2': + '@esbuild/win32-x64@0.27.2': optional: true - '@esbuild/openbsd-x64@0.25.0': - optional: true - - '@esbuild/sunos-x64@0.20.2': - optional: true - - '@esbuild/sunos-x64@0.25.0': - optional: true - - '@esbuild/win32-arm64@0.20.2': - optional: true - - '@esbuild/win32-arm64@0.25.0': - optional: true - - '@esbuild/win32-ia32@0.20.2': - optional: true - - '@esbuild/win32-ia32@0.25.0': - optional: true - - '@esbuild/win32-x64@0.20.2': - optional: true - - '@esbuild/win32-x64@0.25.0': - optional: true + '@inquirer/external-editor@1.0.3(@types/node@25.0.3)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.2 + optionalDependencies: + '@types/node': 25.0.3 '@isaacs/cliui@8.0.2': dependencies: @@ -2003,6 +1927,8 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.19': dependencies: '@jridgewell/resolve-uri': 3.1.1 @@ -2042,64 +1968,141 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.34.9': optional: true + '@rollup/rollup-android-arm-eabi@4.55.1': + optional: true + '@rollup/rollup-android-arm64@4.34.9': optional: true + '@rollup/rollup-android-arm64@4.55.1': + optional: true + '@rollup/rollup-darwin-arm64@4.34.9': optional: true + '@rollup/rollup-darwin-arm64@4.55.1': + optional: true + '@rollup/rollup-darwin-x64@4.34.9': optional: true + '@rollup/rollup-darwin-x64@4.55.1': + optional: true + '@rollup/rollup-freebsd-arm64@4.34.9': optional: true + '@rollup/rollup-freebsd-arm64@4.55.1': + optional: true + '@rollup/rollup-freebsd-x64@4.34.9': optional: true + '@rollup/rollup-freebsd-x64@4.55.1': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.34.9': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.55.1': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.34.9': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.55.1': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.34.9': optional: true + '@rollup/rollup-linux-arm64-gnu@4.55.1': + optional: true + '@rollup/rollup-linux-arm64-musl@4.34.9': optional: true + '@rollup/rollup-linux-arm64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.55.1': + optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.34.9': optional: true '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': optional: true + '@rollup/rollup-linux-ppc64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.55.1': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.34.9': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.55.1': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.34.9': optional: true + '@rollup/rollup-linux-s390x-gnu@4.55.1': + optional: true + '@rollup/rollup-linux-x64-gnu@4.34.9': optional: true + '@rollup/rollup-linux-x64-gnu@4.55.1': + optional: true + '@rollup/rollup-linux-x64-musl@4.34.9': optional: true + '@rollup/rollup-linux-x64-musl@4.55.1': + optional: true + + '@rollup/rollup-openbsd-x64@4.55.1': + optional: true + + '@rollup/rollup-openharmony-arm64@4.55.1': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.34.9': optional: true + '@rollup/rollup-win32-arm64-msvc@4.55.1': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.34.9': optional: true + '@rollup/rollup-win32-ia32-msvc@4.55.1': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.55.1': + optional: true + '@rollup/rollup-win32-x64-msvc@4.34.9': optional: true + '@rollup/rollup-win32-x64-msvc@4.55.1': + optional: true + '@sec-ant/readable-stream@0.4.1': {} '@sindresorhus/merge-streams@4.0.0': {} + '@standard-schema/spec@1.1.0': {} + '@swc/core-darwin-arm64@1.5.5': optional: true @@ -2163,53 +2166,52 @@ snapshots: '@types/estree@1.0.6': {} + '@types/estree@1.0.8': {} + '@types/node@12.20.55': {} - '@types/node@24.1.0': + '@types/node@25.0.3': dependencies: - undici-types: 7.8.0 + undici-types: 7.16.0 - '@vitest/expect@3.2.4': + '@vitest/expect@4.0.16': dependencies: + '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.2 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.2.0 - tinyrainbow: 2.0.0 + '@vitest/spy': 4.0.16 + '@vitest/utils': 4.0.16 + chai: 6.2.2 + tinyrainbow: 3.0.3 - '@vitest/mocker@3.2.4(vite@5.2.10(@types/node@24.1.0))': + '@vitest/mocker@4.0.16(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1))': dependencies: - '@vitest/spy': 3.2.4 + '@vitest/spy': 4.0.16 estree-walker: 3.0.3 - magic-string: 0.30.17 + magic-string: 0.30.21 optionalDependencies: - vite: 5.2.10(@types/node@24.1.0) + vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1) - '@vitest/pretty-format@3.2.4': + '@vitest/pretty-format@4.0.16': dependencies: - tinyrainbow: 2.0.0 + tinyrainbow: 3.0.3 - '@vitest/runner@3.2.4': + '@vitest/runner@4.0.16': dependencies: - '@vitest/utils': 3.2.4 + '@vitest/utils': 4.0.16 pathe: 2.0.3 - strip-literal: 3.0.0 - '@vitest/snapshot@3.2.4': + '@vitest/snapshot@4.0.16': dependencies: - '@vitest/pretty-format': 3.2.4 - magic-string: 0.30.17 + '@vitest/pretty-format': 4.0.16 + magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@3.2.4': - dependencies: - tinyspy: 4.0.3 + '@vitest/spy@4.0.16': {} - '@vitest/utils@3.2.4': + '@vitest/utils@4.0.16': dependencies: - '@vitest/pretty-format': 3.2.4 - loupe: 3.2.0 - tinyrainbow: 2.0.0 + '@vitest/pretty-format': 4.0.16 + tinyrainbow: 3.0.3 acorn@8.14.1: {} @@ -2231,9 +2233,9 @@ snapshots: dependencies: sprintf-js: 1.0.3 - array-union@2.1.0: {} + argparse@2.0.1: {} - assertion-error@2.0.1: {} + array-union@2.1.0: {} balanced-match@1.0.2: {} @@ -2249,24 +2251,16 @@ snapshots: dependencies: fill-range: 7.1.1 - bundle-require@5.1.0(esbuild@0.25.0): + bundle-require@5.1.0(esbuild@0.27.2): dependencies: - esbuild: 0.25.0 + esbuild: 0.27.2 load-tsconfig: 0.2.5 cac@6.7.14: {} - chai@5.2.0: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.2 - loupe: 3.1.3 - pathval: 2.0.0 + chai@6.2.2: {} - chardet@0.7.0: {} - - check-error@2.1.1: {} + chardet@2.1.1: {} chokidar@4.0.3: dependencies: @@ -2306,16 +2300,10 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - debug@4.4.0: - dependencies: - ms: 2.1.3 - debug@4.4.1: dependencies: ms: 2.1.3 - deep-eql@5.0.2: {} - detect-indent@6.1.0: {} dir-glob@3.0.1: @@ -2335,59 +2323,34 @@ snapshots: es-module-lexer@1.7.0: {} - esbuild@0.20.2: + esbuild@0.27.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 - - esbuild@0.25.0: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.0 - '@esbuild/android-arm': 0.25.0 - '@esbuild/android-arm64': 0.25.0 - '@esbuild/android-x64': 0.25.0 - '@esbuild/darwin-arm64': 0.25.0 - '@esbuild/darwin-x64': 0.25.0 - '@esbuild/freebsd-arm64': 0.25.0 - '@esbuild/freebsd-x64': 0.25.0 - '@esbuild/linux-arm': 0.25.0 - '@esbuild/linux-arm64': 0.25.0 - '@esbuild/linux-ia32': 0.25.0 - '@esbuild/linux-loong64': 0.25.0 - '@esbuild/linux-mips64el': 0.25.0 - '@esbuild/linux-ppc64': 0.25.0 - '@esbuild/linux-riscv64': 0.25.0 - '@esbuild/linux-s390x': 0.25.0 - '@esbuild/linux-x64': 0.25.0 - '@esbuild/netbsd-arm64': 0.25.0 - '@esbuild/netbsd-x64': 0.25.0 - '@esbuild/openbsd-arm64': 0.25.0 - '@esbuild/openbsd-x64': 0.25.0 - '@esbuild/sunos-x64': 0.25.0 - '@esbuild/win32-arm64': 0.25.0 - '@esbuild/win32-ia32': 0.25.0 - '@esbuild/win32-x64': 0.25.0 + '@esbuild/aix-ppc64': 0.27.2 + '@esbuild/android-arm': 0.27.2 + '@esbuild/android-arm64': 0.27.2 + '@esbuild/android-x64': 0.27.2 + '@esbuild/darwin-arm64': 0.27.2 + '@esbuild/darwin-x64': 0.27.2 + '@esbuild/freebsd-arm64': 0.27.2 + '@esbuild/freebsd-x64': 0.27.2 + '@esbuild/linux-arm': 0.27.2 + '@esbuild/linux-arm64': 0.27.2 + '@esbuild/linux-ia32': 0.27.2 + '@esbuild/linux-loong64': 0.27.2 + '@esbuild/linux-mips64el': 0.27.2 + '@esbuild/linux-ppc64': 0.27.2 + '@esbuild/linux-riscv64': 0.27.2 + '@esbuild/linux-s390x': 0.27.2 + '@esbuild/linux-x64': 0.27.2 + '@esbuild/netbsd-arm64': 0.27.2 + '@esbuild/netbsd-x64': 0.27.2 + '@esbuild/openbsd-arm64': 0.27.2 + '@esbuild/openbsd-x64': 0.27.2 + '@esbuild/openharmony-arm64': 0.27.2 + '@esbuild/sunos-x64': 0.27.2 + '@esbuild/win32-arm64': 0.27.2 + '@esbuild/win32-ia32': 0.27.2 + '@esbuild/win32-x64': 0.27.2 esprima@4.0.1: {} @@ -2395,7 +2358,7 @@ snapshots: dependencies: '@types/estree': 1.0.6 - execa@9.6.0: + execa@9.6.1: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.6 @@ -2410,16 +2373,10 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.1 - expect-type@1.2.1: {} + expect-type@1.3.0: {} extendable-error@0.1.7: {} - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2436,6 +2393,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + figures@6.1.0: dependencies: is-unicode-supported: 2.1.0 @@ -2507,7 +2468,7 @@ snapshots: human-signals@8.0.1: {} - iconv-lite@0.4.24: + iconv-lite@0.7.2: dependencies: safer-buffer: 2.1.2 @@ -2543,17 +2504,19 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jiti@2.5.1: {} + jiti@2.6.1: {} joycon@3.1.1: {} - js-tokens@9.0.1: {} - js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 @@ -2568,25 +2531,23 @@ snapshots: dependencies: p-locate: 4.1.0 - lodash.sortby@4.7.0: {} - lodash.startcase@4.4.0: {} - loupe@3.1.3: {} - - loupe@3.2.0: {} - lru-cache@10.1.0: {} magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - magicast@0.3.5: + magic-string@0.30.21: dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - source-map-js: 1.2.0 + '@jridgewell/sourcemap-codec': 1.5.5 + + magicast@0.5.1: + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + source-map-js: 1.2.1 merge2@1.4.1: {} @@ -2627,7 +2588,7 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.7: {} + nanoid@3.3.11: {} npm-run-path@6.0.0: dependencies: @@ -2636,7 +2597,7 @@ snapshots: object-assign@4.1.1: {} - os-tmpdir@1.0.2: {} + obug@2.1.1: {} outdent@0.5.0: {} @@ -2675,14 +2636,14 @@ snapshots: pathe@2.0.3: {} - pathval@2.0.0: {} - picocolors@1.1.1: {} picomatch@2.3.1: {} picomatch@4.0.2: {} + picomatch@4.0.3: {} + pify@4.0.1: {} pirates@4.0.6: {} @@ -2693,29 +2654,27 @@ snapshots: mlly: 1.7.4 pathe: 2.0.3 - postcss-load-config@6.0.1(jiti@2.5.1)(postcss@8.4.38): + postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.6): dependencies: lilconfig: 3.1.2 optionalDependencies: - jiti: 2.5.1 - postcss: 8.4.38 + jiti: 2.6.1 + postcss: 8.5.6 - postcss@8.4.38: + postcss@8.5.6: dependencies: - nanoid: 3.3.7 + nanoid: 3.3.11 picocolors: 1.1.1 - source-map-js: 1.2.0 + source-map-js: 1.2.1 prettier@2.8.8: {} - prettier@3.6.2: {} + prettier@3.7.4: {} pretty-ms@9.2.0: dependencies: parse-ms: 4.0.0 - punycode@2.3.0: {} - queue-microtask@1.2.3: {} read-yaml-file@1.1.0: @@ -2762,6 +2721,37 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.34.9 fsevents: 2.3.3 + rollup@4.55.1: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.55.1 + '@rollup/rollup-android-arm64': 4.55.1 + '@rollup/rollup-darwin-arm64': 4.55.1 + '@rollup/rollup-darwin-x64': 4.55.1 + '@rollup/rollup-freebsd-arm64': 4.55.1 + '@rollup/rollup-freebsd-x64': 4.55.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.55.1 + '@rollup/rollup-linux-arm-musleabihf': 4.55.1 + '@rollup/rollup-linux-arm64-gnu': 4.55.1 + '@rollup/rollup-linux-arm64-musl': 4.55.1 + '@rollup/rollup-linux-loong64-gnu': 4.55.1 + '@rollup/rollup-linux-loong64-musl': 4.55.1 + '@rollup/rollup-linux-ppc64-gnu': 4.55.1 + '@rollup/rollup-linux-ppc64-musl': 4.55.1 + '@rollup/rollup-linux-riscv64-gnu': 4.55.1 + '@rollup/rollup-linux-riscv64-musl': 4.55.1 + '@rollup/rollup-linux-s390x-gnu': 4.55.1 + '@rollup/rollup-linux-x64-gnu': 4.55.1 + '@rollup/rollup-linux-x64-musl': 4.55.1 + '@rollup/rollup-openbsd-x64': 4.55.1 + '@rollup/rollup-openharmony-arm64': 4.55.1 + '@rollup/rollup-win32-arm64-msvc': 4.55.1 + '@rollup/rollup-win32-ia32-msvc': 4.55.1 + '@rollup/rollup-win32-x64-gnu': 4.55.1 + '@rollup/rollup-win32-x64-msvc': 4.55.1 + fsevents: 2.3.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -2784,11 +2774,9 @@ snapshots: slash@3.0.0: {} - source-map-js@1.2.0: {} + source-map-js@1.2.1: {} - source-map@0.8.0-beta.0: - dependencies: - whatwg-url: 7.1.0 + source-map@0.7.6: {} spawndamnit@3.0.1: dependencies: @@ -2799,7 +2787,7 @@ snapshots: stackback@0.0.2: {} - std-env@3.9.0: {} + std-env@3.10.0: {} string-width@4.2.3: dependencies: @@ -2825,10 +2813,6 @@ snapshots: strip-final-newline@4.0.0: {} - strip-literal@3.0.0: - dependencies: - js-tokens: 9.0.1 - sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.3 @@ -2839,6 +2823,16 @@ snapshots: pirates: 4.0.6 ts-interface-checker: 0.1.13 + sucrase@3.35.1: + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + tinyglobby: 0.2.15 + ts-interface-checker: 0.1.13 + tar@7.4.3: dependencies: '@isaacs/fs-minipass': 4.0.0 @@ -2862,176 +2856,143 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.13: - dependencies: - fdir: 6.4.4(picomatch@4.0.2) - picomatch: 4.0.2 + tinyexec@1.0.2: {} tinyglobby@0.2.14: dependencies: fdir: 6.4.4(picomatch@4.0.2) picomatch: 4.0.2 - tinypool@1.1.1: {} - - tinyrainbow@2.0.0: {} - - tinyspy@4.0.3: {} - - tmp@0.0.33: + tinyglobby@0.2.15: dependencies: - os-tmpdir: 1.0.2 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 - to-fast-properties@2.0.0: {} + tinyrainbow@3.0.3: {} to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - tr46@1.0.1: - dependencies: - punycode: 2.3.0 - tree-kill@1.2.2: {} ts-interface-checker@0.1.13: {} - tsup@8.5.0(@swc/core@1.5.5)(jiti@2.5.1)(postcss@8.4.38)(typescript@5.9.2): + tsup@8.5.1(@swc/core@1.5.5)(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3): dependencies: - bundle-require: 5.1.0(esbuild@0.25.0) + bundle-require: 5.1.0(esbuild@0.27.2) cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.0 - debug: 4.4.0 - esbuild: 0.25.0 + debug: 4.4.1 + esbuild: 0.27.2 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.5.1)(postcss@8.4.38) + postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.6) resolve-from: 5.0.0 rollup: 4.34.9 - source-map: 0.8.0-beta.0 + source-map: 0.7.6 sucrase: 3.35.0 tinyexec: 0.3.2 - tinyglobby: 0.2.13 + tinyglobby: 0.2.14 tree-kill: 1.2.2 optionalDependencies: '@swc/core': 1.5.5 - postcss: 8.4.38 - typescript: 5.9.2 + postcss: 8.5.6 + typescript: 5.9.3 transitivePeerDependencies: - jiti - supports-color - tsx - yaml - turbo-darwin-64@2.5.5: + turbo-darwin-64@2.7.3: optional: true - turbo-darwin-arm64@2.5.5: + turbo-darwin-arm64@2.7.3: optional: true - turbo-linux-64@2.5.5: + turbo-linux-64@2.7.3: optional: true - turbo-linux-arm64@2.5.5: + turbo-linux-arm64@2.7.3: optional: true - turbo-windows-64@2.5.5: + turbo-windows-64@2.7.3: optional: true - turbo-windows-arm64@2.5.5: + turbo-windows-arm64@2.7.3: optional: true - turbo@2.5.5: + turbo@2.7.3: optionalDependencies: - turbo-darwin-64: 2.5.5 - turbo-darwin-arm64: 2.5.5 - turbo-linux-64: 2.5.5 - turbo-linux-arm64: 2.5.5 - turbo-windows-64: 2.5.5 - turbo-windows-arm64: 2.5.5 + turbo-darwin-64: 2.7.3 + turbo-darwin-arm64: 2.7.3 + turbo-linux-64: 2.7.3 + turbo-linux-arm64: 2.7.3 + turbo-windows-64: 2.7.3 + turbo-windows-arm64: 2.7.3 - typescript@5.9.2: {} + typescript@5.9.3: {} ufo@1.6.1: {} - undici-types@7.8.0: {} + undici-types@7.16.0: {} unicorn-magic@0.3.0: {} universalify@0.1.2: {} - vite-node@3.2.4(@types/node@24.1.0): + vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1): dependencies: - cac: 6.7.14 - debug: 4.4.1 - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 5.2.10(@types/node@24.1.0) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - vite@5.2.10(@types/node@24.1.0): - dependencies: - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.34.9 + esbuild: 0.27.2 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.55.1 + tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.1.0 + '@types/node': 25.0.3 fsevents: 2.3.3 + jiti: 2.6.1 - vitest@3.2.4(@types/node@24.1.0): + vitest@4.0.16(@types/node@25.0.3)(jiti@2.6.1): dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@5.2.10(@types/node@24.1.0)) - '@vitest/pretty-format': 3.2.4 - '@vitest/runner': 3.2.4 - '@vitest/snapshot': 3.2.4 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.2.0 - debug: 4.4.1 - expect-type: 1.2.1 - magic-string: 0.30.17 + '@vitest/expect': 4.0.16 + '@vitest/mocker': 4.0.16(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)) + '@vitest/pretty-format': 4.0.16 + '@vitest/runner': 4.0.16 + '@vitest/snapshot': 4.0.16 + '@vitest/spy': 4.0.16 + '@vitest/utils': 4.0.16 + es-module-lexer: 1.7.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 pathe: 2.0.3 - picomatch: 4.0.2 - std-env: 3.9.0 + picomatch: 4.0.3 + std-env: 3.10.0 tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 5.2.10(@types/node@24.1.0) - vite-node: 3.2.4(@types/node@24.1.0) + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tinyrainbow: 3.0.3 + vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.1.0 + '@types/node': 25.0.3 transitivePeerDependencies: + - jiti - less - lightningcss - msw - sass + - sass-embedded - stylus - sugarss - - supports-color - terser - - webidl-conversions@4.0.2: {} - - whatwg-url@7.1.0: - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 + - tsx + - yaml which@2.0.2: dependencies: From 1127dfab2dc23ae8888055e73e2d744ac2af65b9 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Mon, 2 Feb 2026 20:13:52 +0000 Subject: [PATCH 116/160] chore: update dependencies --- package.json | 10 +- packages/create-solid/package.json | 4 +- packages/create/package.json | 4 +- packages/create/src/index.ts | 4 +- packages/full-solid/package.json | 4 +- packages/full-solid/src/start/index.ts | 2 +- packages/utils/package.json | 4 +- pnpm-lock.yaml | 273 +++++++++++++------------ 8 files changed, 162 insertions(+), 143 deletions(-) diff --git a/package.json b/package.json index d7c0755..014b5fc 100644 --- a/package.json +++ b/package.json @@ -31,16 +31,16 @@ "./packages/*" ], "devDependencies": { - "@types/node": "25.0.3", + "@types/node": "25.2.0", "tsup": "^8.5.1", "typescript": "^5.9.3", "@changesets/cli": "2.29.8", - "prettier": "^3.7.4", - "turbo": "^2.7.3", - "vitest": "^4.0.16", + "prettier": "^3.8.1", + "turbo": "^2.8.1", + "vitest": "^4.0.18", "jiti": "^2.6.1" }, - "packageManager": "pnpm@10.27.0", + "packageManager": "pnpm@10.28.2", "pnpm": { "onlyBuiltDependencies": [ "@swc/core", diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 6ab18e1..6e603a6 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -31,9 +31,9 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "0.11.0", + "@clack/prompts": "1.0.0", "picocolors": "^1.1.1", - "citty": "^0.1.6", + "citty": "^0.2.0", "@solid-cli/create": "workspace:*" }, "publishConfig": { diff --git a/packages/create/package.json b/packages/create/package.json index c2ee00e..ccd9958 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -40,10 +40,10 @@ "access": "public" }, "dependencies": { - "@clack/prompts": "0.11.0", + "@clack/prompts": "1.0.0", "picocolors": "^1.1.1", "@begit/core": "^0.3.3", - "citty": "^0.1.6", + "citty": "^0.2.0", "sucrase": "^3.35.1", "@solid-cli/utils": "workspace:*" } diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 3378bae..0114bc4 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -90,8 +90,8 @@ export const createSolid = (version: string) => }, }) { // Show prompts for any unknown arguments - let projectName: string = projectNamePositional ?? projectNameOptional; - let template: string = templatePositional ?? templateOptional; + let projectName = projectNamePositional ?? projectNameOptional; + let template = templatePositional ?? templateOptional; let projectType: ProjectType | undefined = solidstart ? "start" : (vanilla ? "vanilla" : (library ? "library" : undefined)); // False if user has selected ts, true if they have selected js, and undefined if they've done neither let useJS = ts ? !ts : js ? js : undefined; diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 24a4396..7181146 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -30,9 +30,9 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "0.11.0", + "@clack/prompts": "1.0.0", "picocolors": "^1.1.1", - "citty": "^0.1.6", + "citty": "^0.2.0", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*" }, diff --git a/packages/full-solid/src/start/index.ts b/packages/full-solid/src/start/index.ts index 0df4ad5..520876a 100644 --- a/packages/full-solid/src/start/index.ts +++ b/packages/full-solid/src/start/index.ts @@ -26,7 +26,7 @@ export const startCommands = defineCommand({ p.text({ message: "Route path", validate(value) { - if (value.length === 0) return "A route path is required"; + if (!value || value.length === 0) return "A route path is required"; }, }), ); diff --git a/packages/utils/package.json b/packages/utils/package.json index 1669d5a..e16b805 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -73,8 +73,8 @@ "access": "public" }, "dependencies": { - "@clack/core": "0.5.0", - "@clack/prompts": "0.11.0", + "@clack/core": "1.0.0", + "@clack/prompts": "1.0.0", "execa": "^9.6.1", "picocolors": "^1.1.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 98f9fb4..a9996a1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,28 +10,28 @@ importers: devDependencies: '@changesets/cli': specifier: 2.29.8 - version: 2.29.8(@types/node@25.0.3) + version: 2.29.8(@types/node@25.2.0) '@types/node': - specifier: 25.0.3 - version: 25.0.3 + specifier: 25.2.0 + version: 25.2.0 jiti: specifier: ^2.6.1 version: 2.6.1 prettier: - specifier: ^3.7.4 - version: 3.7.4 + specifier: ^3.8.1 + version: 3.8.1 tsup: specifier: ^8.5.1 version: 8.5.1(@swc/core@1.5.5)(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3) turbo: - specifier: ^2.7.3 - version: 2.7.3 + specifier: ^2.8.1 + version: 2.8.1 typescript: specifier: ^5.9.3 version: 5.9.3 vitest: - specifier: ^4.0.16 - version: 4.0.16(@types/node@25.0.3)(jiti@2.6.1) + specifier: ^4.0.18 + version: 4.0.18(@types/node@25.2.0)(jiti@2.6.1) packages/create: dependencies: @@ -39,14 +39,14 @@ importers: specifier: ^0.3.3 version: 0.3.3 '@clack/prompts': - specifier: 0.11.0 - version: 0.11.0 + specifier: 1.0.0 + version: 1.0.0 '@solid-cli/utils': specifier: workspace:* version: link:../utils citty: - specifier: ^0.1.6 - version: 0.1.6 + specifier: ^0.2.0 + version: 0.2.0 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -57,14 +57,14 @@ importers: packages/create-solid: devDependencies: '@clack/prompts': - specifier: 0.11.0 - version: 0.11.0 + specifier: 1.0.0 + version: 1.0.0 '@solid-cli/create': specifier: workspace:* version: link:../create citty: - specifier: ^0.1.6 - version: 0.1.6 + specifier: ^0.2.0 + version: 0.2.0 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -72,8 +72,8 @@ importers: packages/full-solid: devDependencies: '@clack/prompts': - specifier: 0.11.0 - version: 0.11.0 + specifier: 1.0.0 + version: 1.0.0 '@solid-cli/create': specifier: workspace:* version: link:../create @@ -81,8 +81,8 @@ importers: specifier: workspace:* version: link:../utils citty: - specifier: ^0.1.6 - version: 0.1.6 + specifier: ^0.2.0 + version: 0.2.0 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -90,11 +90,11 @@ importers: packages/utils: dependencies: '@clack/core': - specifier: 0.5.0 - version: 0.5.0 + specifier: 1.0.0 + version: 1.0.0 '@clack/prompts': - specifier: 0.11.0 - version: 0.11.0 + specifier: 1.0.0 + version: 1.0.0 execa: specifier: ^9.6.1 version: 9.6.1 @@ -187,11 +187,11 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@clack/core@0.5.0': - resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==} + '@clack/core@1.0.0': + resolution: {integrity: sha512-Orf9Ltr5NeiEuVJS8Rk2XTw3IxNC2Bic3ash7GgYeA8LJ/zmSNpSQ/m5UAhe03lA6KFgklzZ5KTHs4OAMA/SAQ==} - '@clack/prompts@0.11.0': - resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} + '@clack/prompts@1.0.0': + resolution: {integrity: sha512-rWPXg9UaCFqErJVQ+MecOaWsozjaxol4yjnmYcGNipAWzdaWa2x+VJmKfGq7L0APwBohQOYdHC+9RO4qRXej+A==} '@esbuild/aix-ppc64@0.27.2': resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} @@ -476,116 +476,139 @@ packages: resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-gnueabihf@4.55.1': resolution: {integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.34.9': resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm-musleabihf@4.55.1': resolution: {integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.34.9': resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-gnu@4.55.1': resolution: {integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.34.9': resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-musl@4.55.1': resolution: {integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.55.1': resolution: {integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.55.1': resolution: {integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==} cpu: [loong64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loongarch64-gnu@4.34.9': resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-gnu@4.55.1': resolution: {integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.55.1': resolution: {integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==} cpu: [ppc64] os: [linux] + libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.34.9': resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.55.1': resolution: {integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.55.1': resolution: {integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.34.9': resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.55.1': resolution: {integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.34.9': resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.55.1': resolution: {integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.34.9': resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-linux-x64-musl@4.55.1': resolution: {integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-openbsd-x64@4.55.1': resolution: {integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==} @@ -665,24 +688,28 @@ packages: engines: {node: '>=10'} cpu: [arm64] os: [linux] + libc: [glibc] '@swc/core-linux-arm64-musl@1.5.5': resolution: {integrity: sha512-DkzJc13ukXa7oJpyn24BjIgsiOybYrc+IxjsQyfNlDrrs1QXP4elStcpkD02SsIuSyHjZV8Hw2HFBMQB3OHPrA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] + libc: [musl] '@swc/core-linux-x64-gnu@1.5.5': resolution: {integrity: sha512-kj4ZwWJGeBEUzHrRQP2VudN+kkkYH7OI1dPVDc6kWQx5X4329JeKOas4qY0l7gDVjBbRwN9IbbPI6TIn2KfAug==} engines: {node: '>=10'} cpu: [x64] os: [linux] + libc: [glibc] '@swc/core-linux-x64-musl@1.5.5': resolution: {integrity: sha512-6pTorCs4mYhPhYtC4jNOnhGgjNd3DZcRoZ9P0tzXXP69aCbYjvlgNH/NRvAROp9AaVFeZ7a7PmCWb6+Rbe7NKg==} engines: {node: '>=10'} cpu: [x64] os: [linux] + libc: [musl] '@swc/core-win32-arm64-msvc@1.5.5': resolution: {integrity: sha512-o0/9pstmEjwZyrY/bA+mymF0zH7E+GT/XCVqdKeWW9Wn3gTTyWa5MZnrFgI2THQ+AXwdglMB/Zo76ARQPaz/+A==} @@ -732,14 +759,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@25.0.3': - resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} + '@types/node@25.2.0': + resolution: {integrity: sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==} - '@vitest/expect@4.0.16': - resolution: {integrity: sha512-eshqULT2It7McaJkQGLkPjPjNph+uevROGuIMJdG3V+0BSR2w9u6J9Lwu+E8cK5TETlfou8GRijhafIMhXsimA==} + '@vitest/expect@4.0.18': + resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} - '@vitest/mocker@4.0.16': - resolution: {integrity: sha512-yb6k4AZxJTB+q9ycAvsoxGn+j/po0UaPgajllBgt1PzoMAAmJGYFdDk0uCcRcxb3BrME34I6u8gHZTQlkqSZpg==} + '@vitest/mocker@4.0.18': + resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0-0 @@ -749,20 +776,20 @@ packages: vite: optional: true - '@vitest/pretty-format@4.0.16': - resolution: {integrity: sha512-eNCYNsSty9xJKi/UdVD8Ou16alu7AYiS2fCPRs0b1OdhJiV89buAXQLpTbe+X8V9L6qrs9CqyvU7OaAopJYPsA==} + '@vitest/pretty-format@4.0.18': + resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} - '@vitest/runner@4.0.16': - resolution: {integrity: sha512-VWEDm5Wv9xEo80ctjORcTQRJ539EGPB3Pb9ApvVRAY1U/WkHXmmYISqU5E79uCwcW7xYUV38gwZD+RV755fu3Q==} + '@vitest/runner@4.0.18': + resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} - '@vitest/snapshot@4.0.16': - resolution: {integrity: sha512-sf6NcrYhYBsSYefxnry+DR8n3UV4xWZwWxYbCJUt2YdvtqzSPR7VfGrY0zsv090DAbjFZsi7ZaMi1KnSRyK1XA==} + '@vitest/snapshot@4.0.18': + resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} - '@vitest/spy@4.0.16': - resolution: {integrity: sha512-4jIOWjKP0ZUaEmJm00E0cOBLU+5WE0BpeNr3XN6TEF05ltro6NJqHWxXD0kA8/Zc8Nh23AT8WQxwNG+WeROupw==} + '@vitest/spy@4.0.18': + resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} - '@vitest/utils@4.0.16': - resolution: {integrity: sha512-h8z9yYhV3e1LEfaQ3zdypIrnAg/9hguReGZoS7Gl0aBG5xgA410zBqECqmaF/+RkTggRsfnzc1XaAHA6bmUufA==} + '@vitest/utils@4.0.18': + resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} acorn@8.14.1: resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} @@ -845,8 +872,8 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - citty@0.1.6: - resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + citty@0.2.0: + resolution: {integrity: sha512-8csy5IBFI2ex2hTVpaHN2j+LNE199AgiI7y4dMintrr8i0lQiFn+0AWMZrWdHKIgMOer65f8IThysYhoReqjWA==} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -862,10 +889,6 @@ packages: confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - consola@3.4.0: resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} engines: {node: ^14.18.0 || >=16.10.0} @@ -1284,8 +1307,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.7.4: - resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} + prettier@3.8.1: + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} engines: {node: '>=14'} hasBin: true @@ -1484,38 +1507,38 @@ packages: typescript: optional: true - turbo-darwin-64@2.7.3: - resolution: {integrity: sha512-aZHhvRiRHXbJw1EcEAq4aws1hsVVUZ9DPuSFaq9VVFAKCup7niIEwc22glxb7240yYEr1vLafdQ2U294Vcwz+w==} + turbo-darwin-64@2.8.1: + resolution: {integrity: sha512-FQ6Uqxty/H1Nvn1dpBe8KUlMRclTuiyNSc1PCeDL/ad7M9ykpWutB51YpMpf9ibTA32M6wLdIRf+D96W6hDAtQ==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.7.3: - resolution: {integrity: sha512-CkVrHSq+Bnhl9sX2LQgqQYVfLTWC2gvI74C4758OmU0djfrssDKU9d4YQF0AYXXhIIRZipSXfxClQziIMD+EAg==} + turbo-darwin-arm64@2.8.1: + resolution: {integrity: sha512-4bCcEpGP2/aSXmeN2gl5SuAmS1q5ykjubnFvSoXjQoCKtDOV+vc4CTl/DduZzUUutCVUWXjl8OyfIQ+DGCaV4A==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.7.3: - resolution: {integrity: sha512-GqDsCNnzzr89kMaLGpRALyigUklzgxIrSy2pHZVXyifgczvYPnLglex78Aj3T2gu+T3trPPH2iJ+pWucVOCC2Q==} + turbo-linux-64@2.8.1: + resolution: {integrity: sha512-m99JRlWlEgXPR7mkThAbKh6jbTmWSOXM/c6rt8yd4Uxh0+wjq7+DYcQbead6aoOqmCP9akswZ8EXIv1ogKBblg==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.7.3: - resolution: {integrity: sha512-NdCDTfIcIo3dWjsiaAHlxu5gW61Ed/8maah1IAF/9E3EtX0aAHNiBMbuYLZaR4vRJ7BeVkYB6xKWRtdFLZ0y3g==} + turbo-linux-arm64@2.8.1: + resolution: {integrity: sha512-AsPlza3AsavJdl2o7FE67qyv0aLfmT1XwFQGzvwpoAO6Bj7S4a03tpUchZKNuGjNAkKVProQRFnB7PgUAScFXA==} cpu: [arm64] os: [linux] - turbo-windows-64@2.7.3: - resolution: {integrity: sha512-7bVvO987daXGSJVYBoG8R4Q+csT1pKIgLJYZevXRQ0Hqw0Vv4mKme/TOjYXs9Qb1xMKh51Tb3bXKDbd8/4G08g==} + turbo-windows-64@2.8.1: + resolution: {integrity: sha512-GdqNO6bYShRsr79B+2G/2ssjLEp9uBTvLBJSWRtRCiac/SEmv8T6RYv9hu+h5oGbFALtnKNp6BQBw78RJURsPw==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.7.3: - resolution: {integrity: sha512-nTodweTbPmkvwMu/a55XvjMsPtuyUSC+sV7f/SR57K36rB2I0YG21qNETN+00LOTUW9B3omd8XkiXJkt4kx/cw==} + turbo-windows-arm64@2.8.1: + resolution: {integrity: sha512-n40E6IpkzrShRo3yMdRpgnn1/sAbGC6tZXwyNu8fe9RsufeD7KBiaoRSvw8xLyqV3pd2yoTL2rdCXq24MnTCWA==} cpu: [arm64] os: [win32] - turbo@2.7.3: - resolution: {integrity: sha512-+HjKlP4OfYk+qzvWNETA3cUO5UuK6b5MSc2UJOKyvBceKucQoQGb2g7HlC2H1GHdkfKrk4YF1VPvROkhVZDDLQ==} + turbo@2.8.1: + resolution: {integrity: sha512-pbSMlRflA0RAuk/0jnAt8pzOYh1+sKaT8nVtcs75OFGVWD0evleQRmKtHJJV42QOhaC3Hx9mUUSOom/irasbjA==} hasBin: true typescript@5.9.3: @@ -1577,18 +1600,18 @@ packages: yaml: optional: true - vitest@4.0.16: - resolution: {integrity: sha512-E4t7DJ9pESL6E3I8nFjPa4xGUd3PmiWDLsDztS2qXSJWfHtbQnwAWylaBvSNY48I3vr8PTqIZlyK8TE3V3CA4Q==} + vitest@4.0.18: + resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.0.16 - '@vitest/browser-preview': 4.0.16 - '@vitest/browser-webdriverio': 4.0.16 - '@vitest/ui': 4.0.16 + '@vitest/browser-playwright': 4.0.18 + '@vitest/browser-preview': 4.0.18 + '@vitest/browser-webdriverio': 4.0.18 + '@vitest/ui': 4.0.18 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1689,7 +1712,7 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.29.8(@types/node@25.0.3)': + '@changesets/cli@2.29.8(@types/node@25.2.0)': dependencies: '@changesets/apply-release-plan': 7.0.14 '@changesets/assemble-release-plan': 6.0.9 @@ -1705,7 +1728,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@25.0.3) + '@inquirer/external-editor': 1.0.3(@types/node@25.2.0) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 @@ -1804,14 +1827,14 @@ snapshots: human-id: 4.1.1 prettier: 2.8.8 - '@clack/core@0.5.0': + '@clack/core@1.0.0': dependencies: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/prompts@0.11.0': + '@clack/prompts@1.0.0': dependencies: - '@clack/core': 0.5.0 + '@clack/core': 1.0.0 picocolors: 1.1.1 sisteransi: 1.0.5 @@ -1893,12 +1916,12 @@ snapshots: '@esbuild/win32-x64@0.27.2': optional: true - '@inquirer/external-editor@1.0.3(@types/node@25.0.3)': + '@inquirer/external-editor@1.0.3(@types/node@25.2.0)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 25.2.0 '@isaacs/cliui@8.0.2': dependencies: @@ -2170,47 +2193,47 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@25.0.3': + '@types/node@25.2.0': dependencies: undici-types: 7.16.0 - '@vitest/expect@4.0.16': + '@vitest/expect@4.0.18': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.2 - '@vitest/spy': 4.0.16 - '@vitest/utils': 4.0.16 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.16(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1))': dependencies: - '@vitest/spy': 4.0.16 + '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1) + vite: 7.3.1(@types/node@25.2.0)(jiti@2.6.1) - '@vitest/pretty-format@4.0.16': + '@vitest/pretty-format@4.0.18': dependencies: tinyrainbow: 3.0.3 - '@vitest/runner@4.0.16': + '@vitest/runner@4.0.18': dependencies: - '@vitest/utils': 4.0.16 + '@vitest/utils': 4.0.18 pathe: 2.0.3 - '@vitest/snapshot@4.0.16': + '@vitest/snapshot@4.0.18': dependencies: - '@vitest/pretty-format': 4.0.16 + '@vitest/pretty-format': 4.0.18 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.0.16': {} + '@vitest/spy@4.0.18': {} - '@vitest/utils@4.0.16': + '@vitest/utils@4.0.18': dependencies: - '@vitest/pretty-format': 4.0.16 + '@vitest/pretty-format': 4.0.18 tinyrainbow: 3.0.3 acorn@8.14.1: {} @@ -2270,9 +2293,7 @@ snapshots: ci-info@3.9.0: {} - citty@0.1.6: - dependencies: - consola: 3.2.3 + citty@0.2.0: {} color-convert@2.0.1: dependencies: @@ -2284,8 +2305,6 @@ snapshots: confbox@0.1.8: {} - consola@3.2.3: {} - consola@3.4.0: {} cross-spawn@7.0.3: @@ -2356,7 +2375,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.8 execa@9.6.1: dependencies: @@ -2669,7 +2688,7 @@ snapshots: prettier@2.8.8: {} - prettier@3.7.4: {} + prettier@3.8.1: {} pretty-ms@9.2.0: dependencies: @@ -2907,32 +2926,32 @@ snapshots: - tsx - yaml - turbo-darwin-64@2.7.3: + turbo-darwin-64@2.8.1: optional: true - turbo-darwin-arm64@2.7.3: + turbo-darwin-arm64@2.8.1: optional: true - turbo-linux-64@2.7.3: + turbo-linux-64@2.8.1: optional: true - turbo-linux-arm64@2.7.3: + turbo-linux-arm64@2.8.1: optional: true - turbo-windows-64@2.7.3: + turbo-windows-64@2.8.1: optional: true - turbo-windows-arm64@2.7.3: + turbo-windows-arm64@2.8.1: optional: true - turbo@2.7.3: + turbo@2.8.1: optionalDependencies: - turbo-darwin-64: 2.7.3 - turbo-darwin-arm64: 2.7.3 - turbo-linux-64: 2.7.3 - turbo-linux-arm64: 2.7.3 - turbo-windows-64: 2.7.3 - turbo-windows-arm64: 2.7.3 + turbo-darwin-64: 2.8.1 + turbo-darwin-arm64: 2.8.1 + turbo-linux-64: 2.8.1 + turbo-linux-arm64: 2.8.1 + turbo-windows-64: 2.8.1 + turbo-windows-arm64: 2.8.1 typescript@5.9.3: {} @@ -2944,7 +2963,7 @@ snapshots: universalify@0.1.2: {} - vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1): + vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -2953,19 +2972,19 @@ snapshots: rollup: 4.55.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 25.2.0 fsevents: 2.3.3 jiti: 2.6.1 - vitest@4.0.16(@types/node@25.0.3)(jiti@2.6.1): + vitest@4.0.18(@types/node@25.2.0)(jiti@2.6.1): dependencies: - '@vitest/expect': 4.0.16 - '@vitest/mocker': 4.0.16(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)) - '@vitest/pretty-format': 4.0.16 - '@vitest/runner': 4.0.16 - '@vitest/snapshot': 4.0.16 - '@vitest/spy': 4.0.16 - '@vitest/utils': 4.0.16 + '@vitest/expect': 4.0.18 + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1)) + '@vitest/pretty-format': 4.0.18 + '@vitest/runner': 4.0.18 + '@vitest/snapshot': 4.0.18 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 es-module-lexer: 1.7.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -2977,10 +2996,10 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1) + vite: 7.3.1(@types/node@25.2.0)(jiti@2.6.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 25.2.0 transitivePeerDependencies: - jiti - less From 5150334abd1fbb896a635f0154feb85c897776f9 Mon Sep 17 00:00:00 2001 From: Luc van Kampen Date: Tue, 17 Feb 2026 20:11:13 +0100 Subject: [PATCH 117/160] Fix getting started command when directory is "." --- packages/create/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 0114bc4..af18fcf 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -159,8 +159,8 @@ export const createSolid = (version: string) => // Next steps.. const pM = detectPackageManager(); p.note( - `cd ${projectName} -${pM.name} install + projectName === "." ? "" : `cd ${projectName}\n` + + `${pM.name} install ${pM.name} ${pM.runScriptCommand("dev")}`, "To get started, run:", ); From 5a3fe528f996fa581e6befd387105a18a0c6b455 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 18 Feb 2026 15:33:08 +0000 Subject: [PATCH 118/160] chore: format --- packages/create/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index af18fcf..078c1a7 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -160,7 +160,7 @@ export const createSolid = (version: string) => const pM = detectPackageManager(); p.note( projectName === "." ? "" : `cd ${projectName}\n` + - `${pM.name} install + `${pM.name} install ${pM.name} ${pM.runScriptCommand("dev")}`, "To get started, run:", ); From c5714d0cde03f377e3e06f7b0cab7e31215179b3 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 18 Feb 2026 15:34:00 +0000 Subject: [PATCH 119/160] chore: update dependencies --- package.json | 6 +- packages/create-solid/package.json | 4 +- packages/create/package.json | 4 +- packages/full-solid/package.json | 4 +- packages/utils/package.json | 6 +- pnpm-lock.yaml | 176 ++++++++++++++--------------- 6 files changed, 100 insertions(+), 100 deletions(-) diff --git a/package.json b/package.json index 014b5fc..00545bf 100644 --- a/package.json +++ b/package.json @@ -31,16 +31,16 @@ "./packages/*" ], "devDependencies": { - "@types/node": "25.2.0", + "@types/node": "25.2.3", "tsup": "^8.5.1", "typescript": "^5.9.3", "@changesets/cli": "2.29.8", "prettier": "^3.8.1", - "turbo": "^2.8.1", + "turbo": "^2.8.10", "vitest": "^4.0.18", "jiti": "^2.6.1" }, - "packageManager": "pnpm@10.28.2", + "packageManager": "pnpm@10.30.0", "pnpm": { "onlyBuiltDependencies": [ "@swc/core", diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 6e603a6..670edaf 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -31,9 +31,9 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "1.0.0", + "@clack/prompts": "1.0.1", "picocolors": "^1.1.1", - "citty": "^0.2.0", + "citty": "^0.2.1", "@solid-cli/create": "workspace:*" }, "publishConfig": { diff --git a/packages/create/package.json b/packages/create/package.json index ccd9958..231173e 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -40,10 +40,10 @@ "access": "public" }, "dependencies": { - "@clack/prompts": "1.0.0", + "@clack/prompts": "1.0.1", "picocolors": "^1.1.1", "@begit/core": "^0.3.3", - "citty": "^0.2.0", + "citty": "^0.2.1", "sucrase": "^3.35.1", "@solid-cli/utils": "workspace:*" } diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 7181146..7707d3d 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -30,9 +30,9 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "1.0.0", + "@clack/prompts": "1.0.1", "picocolors": "^1.1.1", - "citty": "^0.2.0", + "citty": "^0.2.1", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*" }, diff --git a/packages/utils/package.json b/packages/utils/package.json index e16b805..719e675 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -67,14 +67,14 @@ "build": "tsc && tsup" }, "devDependencies": { - "magicast": "^0.5.1" + "magicast": "^0.5.2" }, "publishConfig": { "access": "public" }, "dependencies": { - "@clack/core": "1.0.0", - "@clack/prompts": "1.0.0", + "@clack/core": "1.0.1", + "@clack/prompts": "1.0.1", "execa": "^9.6.1", "picocolors": "^1.1.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9996a1..ed4b5e0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,10 @@ importers: devDependencies: '@changesets/cli': specifier: 2.29.8 - version: 2.29.8(@types/node@25.2.0) + version: 2.29.8(@types/node@25.2.3) '@types/node': - specifier: 25.2.0 - version: 25.2.0 + specifier: 25.2.3 + version: 25.2.3 jiti: specifier: ^2.6.1 version: 2.6.1 @@ -24,14 +24,14 @@ importers: specifier: ^8.5.1 version: 8.5.1(@swc/core@1.5.5)(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3) turbo: - specifier: ^2.8.1 - version: 2.8.1 + specifier: ^2.8.10 + version: 2.8.10 typescript: specifier: ^5.9.3 version: 5.9.3 vitest: specifier: ^4.0.18 - version: 4.0.18(@types/node@25.2.0)(jiti@2.6.1) + version: 4.0.18(@types/node@25.2.3)(jiti@2.6.1) packages/create: dependencies: @@ -39,14 +39,14 @@ importers: specifier: ^0.3.3 version: 0.3.3 '@clack/prompts': - specifier: 1.0.0 - version: 1.0.0 + specifier: 1.0.1 + version: 1.0.1 '@solid-cli/utils': specifier: workspace:* version: link:../utils citty: - specifier: ^0.2.0 - version: 0.2.0 + specifier: ^0.2.1 + version: 0.2.1 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -57,14 +57,14 @@ importers: packages/create-solid: devDependencies: '@clack/prompts': - specifier: 1.0.0 - version: 1.0.0 + specifier: 1.0.1 + version: 1.0.1 '@solid-cli/create': specifier: workspace:* version: link:../create citty: - specifier: ^0.2.0 - version: 0.2.0 + specifier: ^0.2.1 + version: 0.2.1 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -72,8 +72,8 @@ importers: packages/full-solid: devDependencies: '@clack/prompts': - specifier: 1.0.0 - version: 1.0.0 + specifier: 1.0.1 + version: 1.0.1 '@solid-cli/create': specifier: workspace:* version: link:../create @@ -81,8 +81,8 @@ importers: specifier: workspace:* version: link:../utils citty: - specifier: ^0.2.0 - version: 0.2.0 + specifier: ^0.2.1 + version: 0.2.1 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -90,11 +90,11 @@ importers: packages/utils: dependencies: '@clack/core': - specifier: 1.0.0 - version: 1.0.0 + specifier: 1.0.1 + version: 1.0.1 '@clack/prompts': - specifier: 1.0.0 - version: 1.0.0 + specifier: 1.0.1 + version: 1.0.1 execa: specifier: ^9.6.1 version: 9.6.1 @@ -103,8 +103,8 @@ importers: version: 1.1.1 devDependencies: magicast: - specifier: ^0.5.1 - version: 0.5.1 + specifier: ^0.5.2 + version: 0.5.2 packages: @@ -116,8 +116,8 @@ packages: resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.5': - resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} engines: {node: '>=6.0.0'} hasBin: true @@ -125,8 +125,8 @@ packages: resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.5': - resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} '@begit/core@0.3.3': @@ -187,11 +187,11 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@clack/core@1.0.0': - resolution: {integrity: sha512-Orf9Ltr5NeiEuVJS8Rk2XTw3IxNC2Bic3ash7GgYeA8LJ/zmSNpSQ/m5UAhe03lA6KFgklzZ5KTHs4OAMA/SAQ==} + '@clack/core@1.0.1': + resolution: {integrity: sha512-WKeyK3NOBwDOzagPR5H08rFk9D/WuN705yEbuZvKqlkmoLM2woKtXb10OO2k1NoSU4SFG947i2/SCYh+2u5e4g==} - '@clack/prompts@1.0.0': - resolution: {integrity: sha512-rWPXg9UaCFqErJVQ+MecOaWsozjaxol4yjnmYcGNipAWzdaWa2x+VJmKfGq7L0APwBohQOYdHC+9RO4qRXej+A==} + '@clack/prompts@1.0.1': + resolution: {integrity: sha512-/42G73JkuYdyWZ6m8d/CJtBrGl1Hegyc7Fy78m5Ob+jF85TOUmLR5XLce/U3LxYAw0kJ8CT5aI99RIvPHcGp/Q==} '@esbuild/aix-ppc64@0.27.2': resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} @@ -759,8 +759,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@25.2.0': - resolution: {integrity: sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==} + '@types/node@25.2.3': + resolution: {integrity: sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==} '@vitest/expect@4.0.18': resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} @@ -872,8 +872,8 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - citty@0.2.0: - resolution: {integrity: sha512-8csy5IBFI2ex2hTVpaHN2j+LNE199AgiI7y4dMintrr8i0lQiFn+0AWMZrWdHKIgMOer65f8IThysYhoReqjWA==} + citty@0.2.1: + resolution: {integrity: sha512-kEV95lFBhQgtogAPlQfJJ0WGVSokvLr/UEoFPiKKOXF7pl98HfUVUD0ejsuTCld/9xH9vogSywZ5KqHzXrZpqg==} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -1140,8 +1140,8 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magicast@0.5.1: - resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==} + magicast@0.5.2: + resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==} merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -1507,38 +1507,38 @@ packages: typescript: optional: true - turbo-darwin-64@2.8.1: - resolution: {integrity: sha512-FQ6Uqxty/H1Nvn1dpBe8KUlMRclTuiyNSc1PCeDL/ad7M9ykpWutB51YpMpf9ibTA32M6wLdIRf+D96W6hDAtQ==} + turbo-darwin-64@2.8.10: + resolution: {integrity: sha512-A03fXh+B7S8mL3PbdhTd+0UsaGrhfyPkODvzBDpKRY7bbeac4MDFpJ7I+Slf2oSkCEeSvHKR7Z4U71uKRUfX7g==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.8.1: - resolution: {integrity: sha512-4bCcEpGP2/aSXmeN2gl5SuAmS1q5ykjubnFvSoXjQoCKtDOV+vc4CTl/DduZzUUutCVUWXjl8OyfIQ+DGCaV4A==} + turbo-darwin-arm64@2.8.10: + resolution: {integrity: sha512-sidzowgWL3s5xCHLeqwC9M3s9M0i16W1nuQF3Mc7fPHpZ+YPohvcbVFBB2uoRRHYZg6yBnwD4gyUHKTeXfwtXA==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.8.1: - resolution: {integrity: sha512-m99JRlWlEgXPR7mkThAbKh6jbTmWSOXM/c6rt8yd4Uxh0+wjq7+DYcQbead6aoOqmCP9akswZ8EXIv1ogKBblg==} + turbo-linux-64@2.8.10: + resolution: {integrity: sha512-YK9vcpL3TVtqonB021XwgaQhY9hJJbKKUhLv16osxV0HkcQASQWUqR56yMge7puh6nxU67rQlTq1b7ksR1T3KA==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.8.1: - resolution: {integrity: sha512-AsPlza3AsavJdl2o7FE67qyv0aLfmT1XwFQGzvwpoAO6Bj7S4a03tpUchZKNuGjNAkKVProQRFnB7PgUAScFXA==} + turbo-linux-arm64@2.8.10: + resolution: {integrity: sha512-3+j2tL0sG95iBJTm+6J8/45JsETQABPqtFyYjVjBbi6eVGdtNTiBmHNKrbvXRlQ3ZbUG75bKLaSSDHSEEN+btQ==} cpu: [arm64] os: [linux] - turbo-windows-64@2.8.1: - resolution: {integrity: sha512-GdqNO6bYShRsr79B+2G/2ssjLEp9uBTvLBJSWRtRCiac/SEmv8T6RYv9hu+h5oGbFALtnKNp6BQBw78RJURsPw==} + turbo-windows-64@2.8.10: + resolution: {integrity: sha512-hdeF5qmVY/NFgiucf8FW0CWJWtyT2QPm5mIsX0W1DXAVzqKVXGq+Zf+dg4EUngAFKjDzoBeN6ec2Fhajwfztkw==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.8.1: - resolution: {integrity: sha512-n40E6IpkzrShRo3yMdRpgnn1/sAbGC6tZXwyNu8fe9RsufeD7KBiaoRSvw8xLyqV3pd2yoTL2rdCXq24MnTCWA==} + turbo-windows-arm64@2.8.10: + resolution: {integrity: sha512-QGdr/Q8LWmj+ITMkSvfiz2glf0d7JG0oXVzGL3jxkGqiBI1zXFj20oqVY0qWi+112LO9SVrYdpHS0E/oGFrMbQ==} cpu: [arm64] os: [win32] - turbo@2.8.1: - resolution: {integrity: sha512-pbSMlRflA0RAuk/0jnAt8pzOYh1+sKaT8nVtcs75OFGVWD0evleQRmKtHJJV42QOhaC3Hx9mUUSOom/irasbjA==} + turbo@2.8.10: + resolution: {integrity: sha512-OxbzDES66+x7nnKGg2MwBA1ypVsZoDTLHpeaP4giyiHSixbsiTaMyeJqbEyvBdp5Cm28fc+8GG6RdQtic0ijwQ==} hasBin: true typescript@5.9.3: @@ -1666,15 +1666,15 @@ snapshots: '@babel/helper-validator-identifier@7.28.5': {} - '@babel/parser@7.28.5': + '@babel/parser@7.29.0': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.29.0 '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 - '@babel/types@7.28.5': + '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 @@ -1712,7 +1712,7 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.29.8(@types/node@25.2.0)': + '@changesets/cli@2.29.8(@types/node@25.2.3)': dependencies: '@changesets/apply-release-plan': 7.0.14 '@changesets/assemble-release-plan': 6.0.9 @@ -1728,7 +1728,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@25.2.0) + '@inquirer/external-editor': 1.0.3(@types/node@25.2.3) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 @@ -1827,14 +1827,14 @@ snapshots: human-id: 4.1.1 prettier: 2.8.8 - '@clack/core@1.0.0': + '@clack/core@1.0.1': dependencies: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/prompts@1.0.0': + '@clack/prompts@1.0.1': dependencies: - '@clack/core': 1.0.0 + '@clack/core': 1.0.1 picocolors: 1.1.1 sisteransi: 1.0.5 @@ -1916,12 +1916,12 @@ snapshots: '@esbuild/win32-x64@0.27.2': optional: true - '@inquirer/external-editor@1.0.3(@types/node@25.2.0)': + '@inquirer/external-editor@1.0.3(@types/node@25.2.3)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 25.2.0 + '@types/node': 25.2.3 '@isaacs/cliui@8.0.2': dependencies: @@ -2193,7 +2193,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@25.2.0': + '@types/node@25.2.3': dependencies: undici-types: 7.16.0 @@ -2206,13 +2206,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1))': dependencies: '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@25.2.0)(jiti@2.6.1) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1) '@vitest/pretty-format@4.0.18': dependencies: @@ -2293,7 +2293,7 @@ snapshots: ci-info@3.9.0: {} - citty@0.2.0: {} + citty@0.2.1: {} color-convert@2.0.1: dependencies: @@ -2562,10 +2562,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - magicast@0.5.1: + magicast@0.5.2: dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 source-map-js: 1.2.1 merge2@1.4.1: {} @@ -2926,32 +2926,32 @@ snapshots: - tsx - yaml - turbo-darwin-64@2.8.1: + turbo-darwin-64@2.8.10: optional: true - turbo-darwin-arm64@2.8.1: + turbo-darwin-arm64@2.8.10: optional: true - turbo-linux-64@2.8.1: + turbo-linux-64@2.8.10: optional: true - turbo-linux-arm64@2.8.1: + turbo-linux-arm64@2.8.10: optional: true - turbo-windows-64@2.8.1: + turbo-windows-64@2.8.10: optional: true - turbo-windows-arm64@2.8.1: + turbo-windows-arm64@2.8.10: optional: true - turbo@2.8.1: + turbo@2.8.10: optionalDependencies: - turbo-darwin-64: 2.8.1 - turbo-darwin-arm64: 2.8.1 - turbo-linux-64: 2.8.1 - turbo-linux-arm64: 2.8.1 - turbo-windows-64: 2.8.1 - turbo-windows-arm64: 2.8.1 + turbo-darwin-64: 2.8.10 + turbo-darwin-arm64: 2.8.10 + turbo-linux-64: 2.8.10 + turbo-linux-arm64: 2.8.10 + turbo-windows-64: 2.8.10 + turbo-windows-arm64: 2.8.10 typescript@5.9.3: {} @@ -2963,7 +2963,7 @@ snapshots: universalify@0.1.2: {} - vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1): + vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -2972,14 +2972,14 @@ snapshots: rollup: 4.55.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.2.0 + '@types/node': 25.2.3 fsevents: 2.3.3 jiti: 2.6.1 - vitest@4.0.18(@types/node@25.2.0)(jiti@2.6.1): + vitest@4.0.18(@types/node@25.2.3)(jiti@2.6.1): dependencies: '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1)) + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)) '@vitest/pretty-format': 4.0.18 '@vitest/runner': 4.0.18 '@vitest/snapshot': 4.0.18 @@ -2996,10 +2996,10 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.2.0)(jiti@2.6.1) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 25.2.0 + '@types/node': 25.2.3 transitivePeerDependencies: - jiti - less From 535971b77efb6364c341c1da1b3e3947234d503e Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 19 Feb 2026 00:27:22 +0000 Subject: [PATCH 120/160] chore: update `begit` --- packages/create/package.json | 2 +- pnpm-lock.yaml | 44 +++++++++++------------------------- 2 files changed, 14 insertions(+), 32 deletions(-) diff --git a/packages/create/package.json b/packages/create/package.json index 231173e..44581d4 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -42,7 +42,7 @@ "dependencies": { "@clack/prompts": "1.0.1", "picocolors": "^1.1.1", - "@begit/core": "^0.3.3", + "@begit/core": "^0.3.4", "citty": "^0.2.1", "sucrase": "^3.35.1", "@solid-cli/utils": "workspace:*" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed4b5e0..a81c3eb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,8 +36,8 @@ importers: packages/create: dependencies: '@begit/core': - specifier: ^0.3.3 - version: 0.3.3 + specifier: ^0.3.4 + version: 0.3.4 '@clack/prompts': specifier: 1.0.1 version: 1.0.1 @@ -129,8 +129,8 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@begit/core@0.3.3': - resolution: {integrity: sha512-ekoNr/hsoK71NYDEI0dffMAGPJWUh1Uiu4Zlp7lBtFN3gTmdUOV9HQssxkTE88440whM7ES5WKiokKw+cNqUqg==} + '@begit/core@0.3.4': + resolution: {integrity: sha512-vW4xQ51uXYB6apjY3Y1RkfHpTcyYpV2v+eb2ndEvF9HnJlGbkKmXQYCGlQd2SfLKBQJk5GDic0xwxA8japdTuw==} '@changesets/apply-release-plan@7.0.14': resolution: {integrity: sha512-ddBvf9PHdy2YY0OUiEl3TV78mH9sckndJR14QAt87KLEbIov81XO0q0QAmvooBxXlqRRP8I9B7XOzZwQG7JkWA==} @@ -1163,15 +1163,10 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - minizlib@3.0.1: - resolution: {integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==} + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} - mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} - hasBin: true - mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} @@ -1338,11 +1333,6 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} - hasBin: true - rollup@4.34.9: resolution: {integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -1440,8 +1430,8 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - tar@7.4.3: - resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + tar@7.5.9: + resolution: {integrity: sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg==} engines: {node: '>=18'} term-size@2.2.1: @@ -1679,9 +1669,9 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@begit/core@0.3.3': + '@begit/core@0.3.4': dependencies: - tar: 7.4.3 + tar: 7.5.9 '@changesets/apply-release-plan@7.0.14': dependencies: @@ -2583,12 +2573,9 @@ snapshots: minipass@7.1.2: {} - minizlib@3.0.1: + minizlib@3.1.0: dependencies: minipass: 7.1.2 - rimraf: 5.0.5 - - mkdirp@3.0.1: {} mlly@1.7.4: dependencies: @@ -2711,10 +2698,6 @@ snapshots: reusify@1.0.4: {} - rimraf@5.0.5: - dependencies: - glob: 10.3.10 - rollup@4.34.9: dependencies: '@types/estree': 1.0.6 @@ -2852,13 +2835,12 @@ snapshots: tinyglobby: 0.2.15 ts-interface-checker: 0.1.13 - tar@7.4.3: + tar@7.5.9: dependencies: '@isaacs/fs-minipass': 4.0.0 chownr: 3.0.0 minipass: 7.1.2 - minizlib: 3.0.1 - mkdirp: 3.0.1 + minizlib: 3.1.0 yallist: 5.0.0 term-size@2.2.1: {} From 7b06f5df93b166469c92bcdf59b228073300280d Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 19 Feb 2026 14:26:30 +0000 Subject: [PATCH 121/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 8 ++++++++ packages/create/package.json | 2 +- packages/full-solid/CHANGELOG.md | 6 ++++++ packages/full-solid/package.json | 2 +- packages/utils/CHANGELOG.md | 6 ++++++ packages/utils/package.json | 2 +- 8 files changed, 30 insertions(+), 4 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 764c3b3..df1d14b 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.12 + +### Patch Changes + +- Update dependencies, add new template, and remove `cd` command if project is created in working directory + ## 0.6.11 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index 670edaf..fd6b53d 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.11", + "version": "0.6.12", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 0c90750..44daa6f 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,13 @@ # @solid-cli/create +## 0.6.12 + +### Patch Changes + +- Update dependencies, add new template, and remove `cd` command if project is created in working directory +- Updated dependencies + - @solid-cli/utils@0.6.2 + ## 0.6.11 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index 44581d4..e547bfa 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.11", + "version": "0.6.12", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/full-solid/CHANGELOG.md b/packages/full-solid/CHANGELOG.md index 82d25df..8d2d90e 100644 --- a/packages/full-solid/CHANGELOG.md +++ b/packages/full-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/full +## 0.6.3 + +### Patch Changes + +- Update dependencies, add new template, and remove `cd` command if project is created in working directory + ## 0.6.1 ### Patch Changes diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 7707d3d..f79171a 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/full", - "version": "0.6.2", + "version": "0.6.3", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 329d0b3..ba99c2d 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,3 +1,9 @@ # @solid-cli/utils +## 0.6.2 + +### Patch Changes + +- Update dependencies + ## 0.6.0 diff --git a/packages/utils/package.json b/packages/utils/package.json index 719e675..4196273 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/utils", - "version": "0.6.1", + "version": "0.6.2", "description": "A collection of utilities for the Solid CLI", "license": "MIT", "homepage": "https://solid-cli.netlify.app", From 962d9b9fc031d0d74db7484ccd4ff587ed93ed14 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 19 Feb 2026 14:31:01 +0000 Subject: [PATCH 122/160] fix: keep displaying other commands when project is initialised in working directory --- packages/create/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 078c1a7..525d048 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -159,7 +159,7 @@ export const createSolid = (version: string) => // Next steps.. const pM = detectPackageManager(); p.note( - projectName === "." ? "" : `cd ${projectName}\n` + + (projectName === "." ? "" : `cd ${projectName}\n`) + `${pM.name} install ${pM.name} ${pM.runScriptCommand("dev")}`, "To get started, run:", From e2e2f7d3b5421385a0a6eba7e3c7da45f7cd9e92 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Thu, 19 Feb 2026 14:35:11 +0000 Subject: [PATCH 123/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index df1d14b..3ae4603 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.13 + +### Patch Changes + +- Keep showing `pnpm install` & `pnpm dev` commands when initialising a project in the current working directory + ## 0.6.12 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index fd6b53d..e001d51 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.12", + "version": "0.6.13", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 44daa6f..a45bd6d 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.6.13 + +### Patch Changes + +- Keep showing `pnpm install` & `pnpm dev` commands when initialising a project in the current working directory + ## 0.6.12 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index e547bfa..e144241 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.12", + "version": "0.6.13", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From 28cb5dd522850a1f186f0df1ff2b8a0a5be52fc3 Mon Sep 17 00:00:00 2001 From: Atila Fassina Date: Sun, 15 Mar 2026 01:03:49 +0100 Subject: [PATCH 124/160] add support for v2 CLI flag --- packages/create/src/create-start.ts | 19 +++++---- packages/create/src/index.ts | 59 ++++++++++++++++++++------ packages/create/src/utils/constants.ts | 44 +++++++++++++++---- 3 files changed, 91 insertions(+), 31 deletions(-) diff --git a/packages/create/src/create-start.ts b/packages/create/src/create-start.ts index cde6000..90c3fc1 100644 --- a/packages/create/src/create-start.ts +++ b/packages/create/src/create-start.ts @@ -2,35 +2,36 @@ import { downloadRepo, GithubFetcher } from "@begit/core"; import { join } from "path"; import { writeFileSync } from "fs"; import { handleTSConversion } from "./utils/ts-conversion"; -import { GIT_IGNORE, StartTemplate } from "./utils/constants"; +import { GIT_IGNORE, StartTemplate, StartTemplateV2 } from "./utils/constants"; export type CreateStartArgs = { - template: StartTemplate; + template: StartTemplate | StartTemplateV2; destination: string; }; -export const createStartTS = ({ template, destination }: CreateStartArgs) => { +export const createStartTS = ({ template, destination }: CreateStartArgs, v2?: boolean) => { + const subdir = v2 ? `solid-start/v2/${template}` : `solid-start/${template}`; return downloadRepo( { - repo: { owner: "solidjs", name: "templates", subdir: `solid-start/${template}` }, + repo: { owner: "solidjs", name: "templates", subdir }, dest: destination, }, GithubFetcher, ); }; -export const createStartJS = async ({ template, destination }: CreateStartArgs) => { +export const createStartJS = async ({ template, destination }: CreateStartArgs, v2?: boolean) => { // Create typescript project in `/.project` // then transpile this to javascript and clean up const tempDir = join(destination, ".project"); - await createStartTS({ template, destination: tempDir }); + await createStartTS({ template, destination: tempDir }, v2); await handleTSConversion(tempDir, destination); // Add .gitignore writeFileSync(join(destination, ".gitignore"), GIT_IGNORE); }; -export const createStart = (args: CreateStartArgs, transpile?: boolean) => { +export const createStart = (args: CreateStartArgs, transpile?: boolean, v2?: boolean) => { if (transpile) { - return createStartJS(args); + return createStartJS(args, v2); } - return createStartTS(args); + return createStartTS(args, v2); }; diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 525d048..fad16b6 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -3,13 +3,7 @@ import { createVanilla } from "./create-vanilla"; import * as p from "@clack/prompts"; import { cancelable, spinnerify } from "@solid-cli/utils/ui"; import { createStart } from "./create-start"; -import { - getTemplatesList, - GIT_IGNORE, - isValidTemplate, - PROJECT_TYPES, - ProjectType, -} from "./utils/constants"; +import { getTemplatesList, GIT_IGNORE, isValidTemplate, PROJECT_TYPES, ProjectType } from "./utils/constants"; import { detectPackageManager } from "@solid-cli/utils/package-manager"; import { existsSync, writeFileSync } from "node:fs"; import { join } from "node:path"; @@ -53,6 +47,11 @@ export const createSolid = (version: string) => alias: "s", description: "Create a SolidStart project", }, + "v2": { + type: "boolean", + required: false, + description: "Create a SolidStart v2 project", + }, "library": { type: "boolean", required: false, @@ -87,12 +86,19 @@ export const createSolid = (version: string) => vanilla, ts, js, + v2, }, }) { // Show prompts for any unknown arguments let projectName = projectNamePositional ?? projectNameOptional; let template = templatePositional ?? templateOptional; - let projectType: ProjectType | undefined = solidstart ? "start" : (vanilla ? "vanilla" : (library ? "library" : undefined)); + let projectType: ProjectType | undefined = solidstart + ? "start" + : vanilla + ? "vanilla" + : library + ? "library" + : undefined; // False if user has selected ts, true if they have selected js, and undefined if they've done neither let useJS = ts ? !ts : js ? js : undefined; projectName ??= await cancelable( @@ -108,10 +114,30 @@ export const createSolid = (version: string) => })), }), ); + if (!projectType) return; + + let useV2: string | undefined; + if (projectType === "start") { + useV2 = v2 + ? "v2" + : await cancelable( + p.select({ + message: "Which version of SolidStart?", + initialValue: "v2", + options: [ + { value: "v2", label: "v2 (pre-release, recommended)" }, + { value: "v1", label: "v1 (stable)" }, + ], + }), + ); + } + const isV2 = useV2 === "v2"; + // Don't offer javascript if `projectType` is library useJS ??= projectType === "library" ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); - const template_opts = getTemplatesList(projectType); + if (!projectType) return; + const template_opts = getTemplatesList(projectType, isV2); template ??= await cancelable( p.select({ message: "Which template would you like to use?", @@ -122,13 +148,15 @@ export const createSolid = (version: string) => }), ); + if (!template) return; + // Need to transpile if the user wants Jabascript, but their selected template isn't Javascript const transpileToJS = useJS && !template.startsWith("js"); - if (projectType === "start" && isValidTemplate("start", template)) { + if (projectType === "start" && isValidTemplate("start", template, isV2)) { await spinnerify({ startText: "Creating project", finishText: "Project created 🎉", - fn: () => createStart({ template, destination: projectName }, transpileToJS), + fn: () => createStart({ template, destination: projectName }, transpileToJS, isV2), }); } else if (projectType === "library" && isValidTemplate("library", template)) { await spinnerify({ @@ -142,8 +170,7 @@ export const createSolid = (version: string) => finishText: "Project created 🎉", fn: () => createVanilla({ template, destination: projectName }, transpileToJS), }); - } - else { + } else { p.log.error(`Template ${template} is not valid for project type ${projectType}`); process.exit(0); } @@ -154,7 +181,11 @@ export const createSolid = (version: string) => if (existsSync(readmePath)) { const contents = (await readFile(readmePath)).toString(); if (!contents.includes("This project was created with the [Solid CLI]")) - await writeFile(readmePath, contents + "\n## This project was created with the [Solid CLI](https://github.com/solidjs-community/solid-cli)\n") + await writeFile( + readmePath, + contents + + "\n## This project was created with the [Solid CLI](https://github.com/solidjs-community/solid-cli)\n", + ); } // Next steps.. const pM = detectPackageManager(); diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index b886591..4d49568 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -83,6 +83,24 @@ const START_TEMPLATES = [ export type StartTemplate = (typeof START_TEMPLATES)[number]; +const START_TEMPLATES_V2 = [ + "basic", + "bare", + "hackernews", + "notes", + "with-auth", + "with-drizzle", + "with-mdx", + "with-prisma", + "with-solid-styled", + "with-tailwindcss", + "with-trpc", + "with-unocss", + "with-vitest", +] as const satisfies string[]; + +export type StartTemplateV2 = (typeof START_TEMPLATES_V2)[number]; + /**Supported Library Templates */ export const LIBRARY_TEMPLATES = ["solid-lib-starter"] as const satisfies string[]; export type LibraryTemplate = (typeof LIBRARY_TEMPLATES)[number]; @@ -94,12 +112,18 @@ export type ProjectType = (typeof PROJECT_TYPES)[number]; * Fetches the template list for the project type given * @param projectType type of project */ -export function getTemplatesList(projectType: "vanilla"): StartTemplate[]; -export function getTemplatesList(projectType: "start"): VanillaTemplate[]; -export function getTemplatesList(projectType: "library"): VanillaTemplate[]; -export function getTemplatesList(projectType: ProjectType): VanillaTemplate[] | StartTemplate[] | LibraryTemplate[]; -export function getTemplatesList(projectType: ProjectType) { +export function getTemplatesList(projectType: "vanilla", v2?: boolean): VanillaTemplate[]; +export function getTemplatesList(projectType: "start", v2?: boolean): StartTemplate[] | StartTemplateV2[]; +export function getTemplatesList(projectType: "library", v2?: boolean): LibraryTemplate[]; +export function getTemplatesList( + projectType: ProjectType, + v2?: boolean, +): VanillaTemplate[] | StartTemplate[] | StartTemplateV2[] | LibraryTemplate[]; +export function getTemplatesList(projectType: ProjectType, v2?: boolean) { if (projectType === "start") { + if (v2) { + return START_TEMPLATES_V2 as unknown as StartTemplateV2[]; + } return START_TEMPLATES as StartTemplate[]; } else if (projectType === "library") { return LIBRARY_TEMPLATES as LibraryTemplate[]; @@ -114,9 +138,13 @@ export function getTemplatesList(projectType: ProjectType) { * @returns the template string if it is valid, undefined if not */ export function isValidTemplate(type: "vanilla", maybe_template: string): maybe_template is VanillaTemplate; -export function isValidTemplate(type: "start", maybe_template: string): maybe_template is StartTemplate; +export function isValidTemplate( + type: "start", + maybe_template: string, + v2?: boolean, +): maybe_template is StartTemplate | StartTemplateV2; export function isValidTemplate(type: "library", maybe_template: string): maybe_template is LibraryTemplate; -export function isValidTemplate(type: ProjectType, maybe_template: string) { - const templates = getTemplatesList(type); +export function isValidTemplate(type: ProjectType, maybe_template: string, v2?: boolean) { + const templates = getTemplatesList(type, v2); return templates.find((t) => t === maybe_template) !== undefined; } From d4c6015aede8cbf3afcf23802dad5b206392e765 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 17 Mar 2026 13:46:18 +0000 Subject: [PATCH 125/160] fix: update URLs where start projects are fetched from --- packages/create/src/create-start.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/create-start.ts b/packages/create/src/create-start.ts index 90c3fc1..579f4dc 100644 --- a/packages/create/src/create-start.ts +++ b/packages/create/src/create-start.ts @@ -9,7 +9,7 @@ export type CreateStartArgs = { }; export const createStartTS = ({ template, destination }: CreateStartArgs, v2?: boolean) => { - const subdir = v2 ? `solid-start/v2/${template}` : `solid-start/${template}`; + const subdir = v2 ? `solid-start-v2/${template}` : `solid-start-v1/${template}`; return downloadRepo( { repo: { owner: "solidjs", name: "templates", subdir }, From d4e3d1dc68da9c19efbd069b55e35c3d36915598 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 2 Jun 2026 19:33:45 +0100 Subject: [PATCH 126/160] chore: update to pnpm 11 --- package.json | 8 +------- pnpm-workspace.yaml | 5 ++++- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 00545bf..afc3f01 100644 --- a/package.json +++ b/package.json @@ -40,11 +40,5 @@ "vitest": "^4.0.18", "jiti": "^2.6.1" }, - "packageManager": "pnpm@10.30.0", - "pnpm": { - "onlyBuiltDependencies": [ - "@swc/core", - "esbuild" - ] - } + "packageManager": "pnpm@11.5.1+sha512.93f7b57422ea7068257235b4c16eb60762eb68e1dc23723199cc739043ea9be2c4143274a399d8c6defa2b1176226d9ca1c4b63482d6200c1a8fbaa78c1d1485" } diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b2f187c..b8ee828 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,5 @@ packages: - - packages/* \ No newline at end of file + - packages/* +allowBuilds: + '@swc/core': true + esbuild: true From 8a54329dd250dc959dccb77a8e0f5b532972891b Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 2 Jun 2026 19:41:24 +0100 Subject: [PATCH 127/160] chore: upgrade to typescript 6 --- package.json | 14 +- packages/create/tsconfig.json | 3 +- packages/full-solid/tsconfig.json | 4 +- packages/utils/tsconfig.json | 1 + pnpm-lock.yaml | 440 +++++++++++++++--------------- 5 files changed, 226 insertions(+), 236 deletions(-) diff --git a/package.json b/package.json index afc3f01..cb8cdff 100644 --- a/package.json +++ b/package.json @@ -31,14 +31,14 @@ "./packages/*" ], "devDependencies": { - "@types/node": "25.2.3", + "@types/node": "25.9.1", "tsup": "^8.5.1", - "typescript": "^5.9.3", - "@changesets/cli": "2.29.8", - "prettier": "^3.8.1", - "turbo": "^2.8.10", - "vitest": "^4.0.18", - "jiti": "^2.6.1" + "typescript": "^6.0.3", + "@changesets/cli": "2.31.0", + "prettier": "^3.8.3", + "turbo": "^2.9.16", + "vitest": "^4.1.8", + "jiti": "^2.7.0" }, "packageManager": "pnpm@11.5.1+sha512.93f7b57422ea7068257235b4c16eb60762eb68e1dc23723199cc739043ea9be2c4143274a399d8c6defa2b1176226d9ca1c4b63482d6200c1a8fbaa78c1d1485" } diff --git a/packages/create/tsconfig.json b/packages/create/tsconfig.json index 51a5a37..71194f0 100644 --- a/packages/create/tsconfig.json +++ b/packages/create/tsconfig.json @@ -8,9 +8,10 @@ "forceConsistentCasingInFileNames": true, "skipLibCheck": true, "resolveJsonModule": true, - + "types": ["node"], "declaration": true, "emitDeclarationOnly": true, + "rootDir": ".", "outDir": "types" }, "include": ["src/*"] diff --git a/packages/full-solid/tsconfig.json b/packages/full-solid/tsconfig.json index 55a0135..b354b62 100644 --- a/packages/full-solid/tsconfig.json +++ b/packages/full-solid/tsconfig.json @@ -1,6 +1,5 @@ { "compilerOptions": { - "baseUrl": ".", "noEmit": true, "module": "ESNext", "target": "ESNext", @@ -9,7 +8,8 @@ "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "skipLibCheck": true, - "resolveJsonModule": true + "resolveJsonModule": true, + "types": ["node"] }, "include": ["src/*"] } diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 31a361a..3ecd183 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -15,6 +15,7 @@ "noUnusedLocals": true, "noUnusedParameters": true, "noFallthroughCasesInSwitch": true, + "rootDir": ".", "outDir": "types", "declarationMap": true }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a81c3eb..243666d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,29 +9,29 @@ importers: .: devDependencies: '@changesets/cli': - specifier: 2.29.8 - version: 2.29.8(@types/node@25.2.3) + specifier: 2.31.0 + version: 2.31.0(@types/node@25.9.1) '@types/node': - specifier: 25.2.3 - version: 25.2.3 + specifier: 25.9.1 + version: 25.9.1 jiti: - specifier: ^2.6.1 - version: 2.6.1 + specifier: ^2.7.0 + version: 2.7.0 prettier: - specifier: ^3.8.1 - version: 3.8.1 + specifier: ^3.8.3 + version: 3.8.3 tsup: specifier: ^8.5.1 - version: 8.5.1(@swc/core@1.5.5)(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3) + version: 8.5.1(@swc/core@1.5.5)(jiti@2.7.0)(postcss@8.5.6)(typescript@6.0.3) turbo: - specifier: ^2.8.10 - version: 2.8.10 + specifier: ^2.9.16 + version: 2.9.16 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 vitest: - specifier: ^4.0.18 - version: 4.0.18(@types/node@25.2.3)(jiti@2.6.1) + specifier: ^4.1.8 + version: 4.1.8(@types/node@25.9.1)(vite@7.3.1(@types/node@25.9.1)(jiti@2.7.0)) packages/create: dependencies: @@ -132,30 +132,30 @@ packages: '@begit/core@0.3.4': resolution: {integrity: sha512-vW4xQ51uXYB6apjY3Y1RkfHpTcyYpV2v+eb2ndEvF9HnJlGbkKmXQYCGlQd2SfLKBQJk5GDic0xwxA8japdTuw==} - '@changesets/apply-release-plan@7.0.14': - resolution: {integrity: sha512-ddBvf9PHdy2YY0OUiEl3TV78mH9sckndJR14QAt87KLEbIov81XO0q0QAmvooBxXlqRRP8I9B7XOzZwQG7JkWA==} + '@changesets/apply-release-plan@7.1.1': + resolution: {integrity: sha512-9qPCm/rLx/xoOFXIHGB229+4GOL76S4MC+7tyOuTsR6+1jYlfFDQORdvwR5hDA6y4FL2BPt3qpbcQIS+dW85LA==} - '@changesets/assemble-release-plan@6.0.9': - resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} + '@changesets/assemble-release-plan@6.0.10': + resolution: {integrity: sha512-rSDcqdJ9KbVyjpBIuCidhvZNIiVt1XaIYp73ycVQRIA5n/j6wQaEk0ChRLMUQ1vkxZe51PTQ9OIhbg6HQMW45A==} '@changesets/changelog-git@0.2.1': resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@changesets/cli@2.29.8': - resolution: {integrity: sha512-1weuGZpP63YWUYjay/E84qqwcnt5yJMM0tep10Up7Q5cS/DGe2IZ0Uj3HNMxGhCINZuR7aO9WBMdKnPit5ZDPA==} + '@changesets/cli@2.31.0': + resolution: {integrity: sha512-AhI4enNTgHu2IZr6K4WZyf0EPch4XVMn1yOMFmCD9gsfBGqMYaHXls5HyDv6/CL5axVQABz68eG30eCtbr2wFg==} hasBin: true - '@changesets/config@3.1.2': - resolution: {integrity: sha512-CYiRhA4bWKemdYi/uwImjPxqWNpqGPNbEBdX1BdONALFIDK7MCUj6FPkzD+z9gJcvDFUQJn9aDVf4UG7OT6Kog==} + '@changesets/config@3.1.4': + resolution: {integrity: sha512-pf0bvD/v6WI2cRlZ6hzpjtZdSlXDXMAJ+Iz7xfFzV4ZxJ8OGGAON+1qYc99ZPrijnt4xp3VGG7eNvAOGS24V1Q==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.1.3': - resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} + '@changesets/get-dependents-graph@2.1.4': + resolution: {integrity: sha512-ZsS00x6WvmHq3sQv8oCMwL0f/z3wbXCVuSVTJwCnnmbC/iBdNJGFx1EcbMG4PC6sXRyH69liM4A2WKXzn/kRPg==} - '@changesets/get-release-plan@4.0.14': - resolution: {integrity: sha512-yjZMHpUHgl4Xl5gRlolVuxDkm4HgSJqT93Ri1Uz8kGrQb+5iJ8dkXJ20M2j/Y4iV5QzS2c5SeTxVSKX+2eMI0g==} + '@changesets/get-release-plan@4.0.16': + resolution: {integrity: sha512-2K5Om6CrMPm45rtvckfzWo7e9jOVCKLCnXia5eUPaURH7/LWzri7pK1TycdzAuAtehLkW7VPbWLCSExTHmiI6g==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} @@ -166,14 +166,14 @@ packages: '@changesets/logger@0.1.1': resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - '@changesets/parse@0.4.2': - resolution: {integrity: sha512-Uo5MC5mfg4OM0jU3up66fmSn6/NE9INK+8/Vn/7sMVcdWg46zfbvvUSjD9EMonVqPi9fbrJH9SXHn48Tr1f2yA==} + '@changesets/parse@0.4.3': + resolution: {integrity: sha512-ZDmNc53+dXdWEv7fqIUSgRQOLYoUom5Z40gmLgmATmYR9NbL6FJJHwakcCpzaeCy+1D0m0n7mT4jj2B/MQPl7A==} '@changesets/pre@2.0.2': resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - '@changesets/read@0.6.6': - resolution: {integrity: sha512-P5QaN9hJSQQKJShzzpBT13FzOSPyHbqdoIBUd2DJdgvnECCyO6LmAOWSV+O8se2TaZJVwSXjL+v9yhb+a9JeJg==} + '@changesets/read@0.6.7': + resolution: {integrity: sha512-D1G4AUYGrBEk8vj8MGwf75k9GpN6XL3wg8i42P2jZZwFLXnlr2Pn7r9yuQNbaMCarP7ZQWNJbV6XLeysAIMhTA==} '@changesets/should-skip-package@0.1.2': resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} @@ -744,6 +744,36 @@ packages: '@swc/types@0.1.17': resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} + '@turbo/darwin-64@2.9.16': + resolution: {integrity: sha512-jLjApWTSNd7JZ5JaLYfelW1ytnGQOvB7ivl+2RD1xQvJTbi8I9gBjzcga7tDZVPyaxpl10YTfJt3BrYXR18KDw==} + cpu: [x64] + os: [darwin] + + '@turbo/darwin-arm64@2.9.16': + resolution: {integrity: sha512-YPgrn+5HIGzrx0O2a631SV4MBQUe4W/DafMFUuBVgaU32PW9/OTT0ehviF0QSxTXuRJlHvW2eUTemddF5/spmw==} + cpu: [arm64] + os: [darwin] + + '@turbo/linux-64@2.9.16': + resolution: {integrity: sha512-vAEf1H6l26lTpl9FJ/peQo1NUB8RC0sbEJJz5mPcUhHA2bPDup2x3CZPgo/bH8S4cUcBLm4FN3UHd5iUO2RAew==} + cpu: [x64] + os: [linux] + + '@turbo/linux-arm64@2.9.16': + resolution: {integrity: sha512-xDBLR2PZg4BrQOchfG6svgpv5FCNJ2TOtT2psLdEJcdKo1BH+pnPs9Xj6pvUjgfkHbuvBOfeE4R6tvxMoQKDHQ==} + cpu: [arm64] + os: [linux] + + '@turbo/windows-64@2.9.16': + resolution: {integrity: sha512-NBAJnaUiGdgkSzQwUIdOvkCkcpTSu58G/sBGa0mvBtzfvFOOgrQwepKOOQ8cp6sWM6OcKDNFj2p1dsZA1OWjPg==} + cpu: [x64] + os: [win32] + + '@turbo/windows-arm64@2.9.16': + resolution: {integrity: sha512-Y7SJppD0Z8wjO3Ec0ZGd9KQ4Yv0BMnA8CIowj5Vp+OEVsosXDG2weK6/t1RRLfJmc2Ozrnd6y4DOgQys+mn3WQ==} + cpu: [arm64] + os: [win32] + '@types/chai@5.2.2': resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} @@ -759,37 +789,37 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@25.2.3': - resolution: {integrity: sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==} + '@types/node@25.9.1': + resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} - '@vitest/expect@4.0.18': - resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} + '@vitest/expect@4.1.8': + resolution: {integrity: sha512-h3nDO677RDLEGlBxyQ5CW8RlMThSKSRLUePLOx09gNIWRL40edgA1GCZSZgf1W55MFAG6/Sw14KeaAnqv0NKdQ==} - '@vitest/mocker@4.0.18': - resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} + '@vitest/mocker@4.1.8': + resolution: {integrity: sha512-LEiN/xe4OSIbKe9HQIp5OC24agGD9J5CnmMgsLohVVoOPWL9a2sBoR6VBx43jQZb7Kr1l4RCuyCJzcAa0+dojw==} peerDependencies: msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0-0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@4.0.18': - resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} + '@vitest/pretty-format@4.1.8': + resolution: {integrity: sha512-9GasEBxpZ1VYIpqHf/0+YGg121uSNwCKOJqIrTwWP/TB7DmFCiaBpNl3aPZzoLWfWkuqhbH8vJIVobZkvdo2cA==} - '@vitest/runner@4.0.18': - resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} + '@vitest/runner@4.1.8': + resolution: {integrity: sha512-EmVxeBAfMJvycdjd6Hm+RbFBbA9fKvo0Kx37hNpBYoYeavH3RNsBXWDooR1mgD52dCrxIIuP7UotpfiwOikvcg==} - '@vitest/snapshot@4.0.18': - resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} + '@vitest/snapshot@4.1.8': + resolution: {integrity: sha512-acfZboRmAIf05DEKcBQy33VXojFJjtUdLyo7oOmV9kebb2xdU01UknNiPuPZoJZQyO7DF0gZdTGTpeAzET9QPQ==} - '@vitest/spy@4.0.18': - resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} + '@vitest/spy@4.1.8': + resolution: {integrity: sha512-6EevtBp6OZOPF7bmz36HrGMeP3txgVSrgebWxHOafDXGkhIzfXK14f8KF6MuFfgXXUeHxmpD3BQxkV00/3s5mA==} - '@vitest/utils@4.0.18': - resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} + '@vitest/utils@4.1.8': + resolution: {integrity: sha512-uOJamYALNhfJ6iolExyQM40yIQwDqYnkKtQ5VCiSe17E33H0aQ/u+1GlRuz4LZBk6Mm3sg90G9hEbmEt37C1Zg==} acorn@8.14.1: resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} @@ -868,10 +898,6 @@ packages: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - citty@0.2.1: resolution: {integrity: sha512-kEV95lFBhQgtogAPlQfJJ0WGVSokvLr/UEoFPiKKOXF7pl98HfUVUD0ejsuTCld/9xH9vogSywZ5KqHzXrZpqg==} @@ -893,9 +919,8 @@ packages: resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} engines: {node: ^14.18.0 || >=16.10.0} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} @@ -931,8 +956,8 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-module-lexer@2.1.0: + resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} esbuild@0.27.2: resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} @@ -1025,6 +1050,7 @@ packages: glob@10.3.10: resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true globby@11.1.0: @@ -1093,8 +1119,8 @@ packages: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - jiti@2.6.1: - resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true joycon@3.1.1: @@ -1302,8 +1328,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.8.1: - resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} + prettier@3.8.3: + resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} engines: {node: '>=14'} hasBin: true @@ -1393,8 +1419,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + std-env@4.1.0: + resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -1463,8 +1489,8 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tinyrainbow@3.0.3: - resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} + tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} engines: {node: '>=14.0.0'} to-regex-range@5.0.1: @@ -1497,50 +1523,20 @@ packages: typescript: optional: true - turbo-darwin-64@2.8.10: - resolution: {integrity: sha512-A03fXh+B7S8mL3PbdhTd+0UsaGrhfyPkODvzBDpKRY7bbeac4MDFpJ7I+Slf2oSkCEeSvHKR7Z4U71uKRUfX7g==} - cpu: [x64] - os: [darwin] - - turbo-darwin-arm64@2.8.10: - resolution: {integrity: sha512-sidzowgWL3s5xCHLeqwC9M3s9M0i16W1nuQF3Mc7fPHpZ+YPohvcbVFBB2uoRRHYZg6yBnwD4gyUHKTeXfwtXA==} - cpu: [arm64] - os: [darwin] - - turbo-linux-64@2.8.10: - resolution: {integrity: sha512-YK9vcpL3TVtqonB021XwgaQhY9hJJbKKUhLv16osxV0HkcQASQWUqR56yMge7puh6nxU67rQlTq1b7ksR1T3KA==} - cpu: [x64] - os: [linux] - - turbo-linux-arm64@2.8.10: - resolution: {integrity: sha512-3+j2tL0sG95iBJTm+6J8/45JsETQABPqtFyYjVjBbi6eVGdtNTiBmHNKrbvXRlQ3ZbUG75bKLaSSDHSEEN+btQ==} - cpu: [arm64] - os: [linux] - - turbo-windows-64@2.8.10: - resolution: {integrity: sha512-hdeF5qmVY/NFgiucf8FW0CWJWtyT2QPm5mIsX0W1DXAVzqKVXGq+Zf+dg4EUngAFKjDzoBeN6ec2Fhajwfztkw==} - cpu: [x64] - os: [win32] - - turbo-windows-arm64@2.8.10: - resolution: {integrity: sha512-QGdr/Q8LWmj+ITMkSvfiz2glf0d7JG0oXVzGL3jxkGqiBI1zXFj20oqVY0qWi+112LO9SVrYdpHS0E/oGFrMbQ==} - cpu: [arm64] - os: [win32] - - turbo@2.8.10: - resolution: {integrity: sha512-OxbzDES66+x7nnKGg2MwBA1ypVsZoDTLHpeaP4giyiHSixbsiTaMyeJqbEyvBdp5Cm28fc+8GG6RdQtic0ijwQ==} + turbo@2.9.16: + resolution: {integrity: sha512-NqgRQy6j6dPYcdSdv0q1g9QsZg7SWg87RERM8otw/1AtKU2yTFVClOM7cbwKzOonZr/Ek1blTBucw64L9H0Bwg==} hasBin: true - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} hasBin: true ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + undici-types@7.24.6: + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} @@ -1590,20 +1586,23 @@ packages: yaml: optional: true - vitest@4.0.18: - resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} + vitest@4.1.8: + resolution: {integrity: sha512-flY6ScbCIt9HThs+C5HS7jvGOB560DJtk/Z15IQROTA6zEy49Nh8T/dofWTQL+n3vswqn87sbJNiuqw1SDp5Ig==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.0.18 - '@vitest/browser-preview': 4.0.18 - '@vitest/browser-webdriverio': 4.0.18 - '@vitest/ui': 4.0.18 + '@vitest/browser-playwright': 4.1.8 + '@vitest/browser-preview': 4.1.8 + '@vitest/browser-webdriverio': 4.1.8 + '@vitest/coverage-istanbul': 4.1.8 + '@vitest/coverage-v8': 4.1.8 + '@vitest/ui': 4.1.8 happy-dom: '*' jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -1617,6 +1616,10 @@ packages: optional: true '@vitest/browser-webdriverio': optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true '@vitest/ui': optional: true happy-dom: @@ -1673,9 +1676,9 @@ snapshots: dependencies: tar: 7.5.9 - '@changesets/apply-release-plan@7.0.14': + '@changesets/apply-release-plan@7.1.1': dependencies: - '@changesets/config': 3.1.2 + '@changesets/config': 3.1.4 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.4 '@changesets/should-skip-package': 0.1.2 @@ -1689,10 +1692,10 @@ snapshots: resolve-from: 5.0.0 semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.9': + '@changesets/assemble-release-plan@6.0.10': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-dependents-graph': 2.1.4 '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 @@ -1702,30 +1705,28 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.29.8(@types/node@25.2.3)': + '@changesets/cli@2.31.0(@types/node@25.9.1)': dependencies: - '@changesets/apply-release-plan': 7.0.14 - '@changesets/assemble-release-plan': 6.0.9 + '@changesets/apply-release-plan': 7.1.1 + '@changesets/assemble-release-plan': 6.0.10 '@changesets/changelog-git': 0.2.1 - '@changesets/config': 3.1.2 + '@changesets/config': 3.1.4 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 - '@changesets/get-release-plan': 4.0.14 + '@changesets/get-dependents-graph': 2.1.4 + '@changesets/get-release-plan': 4.0.16 '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.6 + '@changesets/read': 0.6.7 '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@25.2.3) + '@inquirer/external-editor': 1.0.3(@types/node@25.9.1) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 - ci-info: 3.9.0 enquirer: 2.4.1 fs-extra: 7.0.1 mri: 1.2.0 - p-limit: 2.3.0 package-manager-detector: 0.2.8 picocolors: 1.1.1 resolve-from: 5.0.0 @@ -1735,11 +1736,12 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@changesets/config@3.1.2': + '@changesets/config@3.1.4': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-dependents-graph': 2.1.4 '@changesets/logger': 0.1.1 + '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 @@ -1749,19 +1751,19 @@ snapshots: dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.1.3': + '@changesets/get-dependents-graph@2.1.4': dependencies: '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 semver: 7.6.3 - '@changesets/get-release-plan@4.0.14': + '@changesets/get-release-plan@4.0.16': dependencies: - '@changesets/assemble-release-plan': 6.0.9 - '@changesets/config': 3.1.2 + '@changesets/assemble-release-plan': 6.0.10 + '@changesets/config': 3.1.4 '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.6 + '@changesets/read': 0.6.7 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 @@ -1779,7 +1781,7 @@ snapshots: dependencies: picocolors: 1.1.1 - '@changesets/parse@0.4.2': + '@changesets/parse@0.4.3': dependencies: '@changesets/types': 6.1.0 js-yaml: 4.1.1 @@ -1791,11 +1793,11 @@ snapshots: '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.6': + '@changesets/read@0.6.7': dependencies: '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 - '@changesets/parse': 0.4.2 + '@changesets/parse': 0.4.3 '@changesets/types': 6.1.0 fs-extra: 7.0.1 p-filter: 2.1.0 @@ -1906,12 +1908,12 @@ snapshots: '@esbuild/win32-x64@0.27.2': optional: true - '@inquirer/external-editor@1.0.3(@types/node@25.2.3)': + '@inquirer/external-editor@1.0.3(@types/node@25.9.1)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 25.2.3 + '@types/node': 25.9.1 '@isaacs/cliui@8.0.2': dependencies: @@ -1945,7 +1947,7 @@ snapshots: '@jridgewell/trace-mapping@0.3.19': dependencies: '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.5 '@manypkg/find-root@1.1.0': dependencies: @@ -2171,6 +2173,24 @@ snapshots: '@swc/counter': 0.1.3 optional: true + '@turbo/darwin-64@2.9.16': + optional: true + + '@turbo/darwin-arm64@2.9.16': + optional: true + + '@turbo/linux-64@2.9.16': + optional: true + + '@turbo/linux-arm64@2.9.16': + optional: true + + '@turbo/windows-64@2.9.16': + optional: true + + '@turbo/windows-arm64@2.9.16': + optional: true + '@types/chai@5.2.2': dependencies: '@types/deep-eql': 4.0.2 @@ -2183,48 +2203,50 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@25.2.3': + '@types/node@25.9.1': dependencies: - undici-types: 7.16.0 + undici-types: 7.24.6 - '@vitest/expect@4.0.18': + '@vitest/expect@4.1.8': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.2 - '@vitest/spy': 4.0.18 - '@vitest/utils': 4.0.18 + '@vitest/spy': 4.1.8 + '@vitest/utils': 4.1.8 chai: 6.2.2 - tinyrainbow: 3.0.3 + tinyrainbow: 3.1.0 - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1))': + '@vitest/mocker@4.1.8(vite@7.3.1(@types/node@25.9.1)(jiti@2.7.0))': dependencies: - '@vitest/spy': 4.0.18 + '@vitest/spy': 4.1.8 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1) + vite: 7.3.1(@types/node@25.9.1)(jiti@2.7.0) - '@vitest/pretty-format@4.0.18': + '@vitest/pretty-format@4.1.8': dependencies: - tinyrainbow: 3.0.3 + tinyrainbow: 3.1.0 - '@vitest/runner@4.0.18': + '@vitest/runner@4.1.8': dependencies: - '@vitest/utils': 4.0.18 + '@vitest/utils': 4.1.8 pathe: 2.0.3 - '@vitest/snapshot@4.0.18': + '@vitest/snapshot@4.1.8': dependencies: - '@vitest/pretty-format': 4.0.18 + '@vitest/pretty-format': 4.1.8 + '@vitest/utils': 4.1.8 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.0.18': {} + '@vitest/spy@4.1.8': {} - '@vitest/utils@4.0.18': + '@vitest/utils@4.1.8': dependencies: - '@vitest/pretty-format': 4.0.18 - tinyrainbow: 3.0.3 + '@vitest/pretty-format': 4.1.8 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 acorn@8.14.1: {} @@ -2281,8 +2303,6 @@ snapshots: chownr@3.0.0: {} - ci-info@3.9.0: {} - citty@0.2.1: {} color-convert@2.0.1: @@ -2297,11 +2317,7 @@ snapshots: consola@3.4.0: {} - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 + convert-source-map@2.0.0: {} cross-spawn@7.0.6: dependencies: @@ -2330,7 +2346,7 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - es-module-lexer@1.7.0: {} + es-module-lexer@2.1.0: {} esbuild@0.27.2: optionalDependencies: @@ -2427,7 +2443,7 @@ snapshots: foreground-child@3.1.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 signal-exit: 4.1.0 fs-extra@7.0.1: @@ -2513,7 +2529,7 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jiti@2.6.1: {} + jiti@2.7.0: {} joycon@3.1.1: {} @@ -2660,11 +2676,11 @@ snapshots: mlly: 1.7.4 pathe: 2.0.3 - postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.6): + postcss-load-config@6.0.1(jiti@2.7.0)(postcss@8.5.6): dependencies: lilconfig: 3.1.2 optionalDependencies: - jiti: 2.6.1 + jiti: 2.7.0 postcss: 8.5.6 postcss@8.5.6: @@ -2675,7 +2691,7 @@ snapshots: prettier@2.8.8: {} - prettier@3.8.1: {} + prettier@3.8.3: {} pretty-ms@9.2.0: dependencies: @@ -2789,7 +2805,7 @@ snapshots: stackback@0.0.2: {} - std-env@3.10.0: {} + std-env@4.1.0: {} string-width@4.2.3: dependencies: @@ -2869,7 +2885,7 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tinyrainbow@3.0.3: {} + tinyrainbow@3.1.0: {} to-regex-range@5.0.1: dependencies: @@ -2879,7 +2895,7 @@ snapshots: ts-interface-checker@0.1.13: {} - tsup@8.5.1(@swc/core@1.5.5)(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3): + tsup@8.5.1(@swc/core@1.5.5)(jiti@2.7.0)(postcss@8.5.6)(typescript@6.0.3): dependencies: bundle-require: 5.1.0(esbuild@0.27.2) cac: 6.7.14 @@ -2890,7 +2906,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.6) + postcss-load-config: 6.0.1(jiti@2.7.0)(postcss@8.5.6) resolve-from: 5.0.0 rollup: 4.34.9 source-map: 0.7.6 @@ -2901,51 +2917,33 @@ snapshots: optionalDependencies: '@swc/core': 1.5.5 postcss: 8.5.6 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - jiti - supports-color - tsx - yaml - turbo-darwin-64@2.8.10: - optional: true - - turbo-darwin-arm64@2.8.10: - optional: true - - turbo-linux-64@2.8.10: - optional: true - - turbo-linux-arm64@2.8.10: - optional: true - - turbo-windows-64@2.8.10: - optional: true - - turbo-windows-arm64@2.8.10: - optional: true - - turbo@2.8.10: + turbo@2.9.16: optionalDependencies: - turbo-darwin-64: 2.8.10 - turbo-darwin-arm64: 2.8.10 - turbo-linux-64: 2.8.10 - turbo-linux-arm64: 2.8.10 - turbo-windows-64: 2.8.10 - turbo-windows-arm64: 2.8.10 + '@turbo/darwin-64': 2.9.16 + '@turbo/darwin-arm64': 2.9.16 + '@turbo/linux-64': 2.9.16 + '@turbo/linux-arm64': 2.9.16 + '@turbo/windows-64': 2.9.16 + '@turbo/windows-arm64': 2.9.16 - typescript@5.9.3: {} + typescript@6.0.3: {} ufo@1.6.1: {} - undici-types@7.16.0: {} + undici-types@7.24.6: {} unicorn-magic@0.3.0: {} universalify@0.1.2: {} - vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1): + vite@7.3.1(@types/node@25.9.1)(jiti@2.7.0): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -2954,46 +2952,36 @@ snapshots: rollup: 4.55.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.2.3 + '@types/node': 25.9.1 fsevents: 2.3.3 - jiti: 2.6.1 - - vitest@4.0.18(@types/node@25.2.3)(jiti@2.6.1): - dependencies: - '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)) - '@vitest/pretty-format': 4.0.18 - '@vitest/runner': 4.0.18 - '@vitest/snapshot': 4.0.18 - '@vitest/spy': 4.0.18 - '@vitest/utils': 4.0.18 - es-module-lexer: 1.7.0 + jiti: 2.7.0 + + vitest@4.1.8(@types/node@25.9.1)(vite@7.3.1(@types/node@25.9.1)(jiti@2.7.0)): + dependencies: + '@vitest/expect': 4.1.8 + '@vitest/mocker': 4.1.8(vite@7.3.1(@types/node@25.9.1)(jiti@2.7.0)) + '@vitest/pretty-format': 4.1.8 + '@vitest/runner': 4.1.8 + '@vitest/snapshot': 4.1.8 + '@vitest/spy': 4.1.8 + '@vitest/utils': 4.1.8 + es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 obug: 2.1.1 pathe: 2.0.3 picomatch: 4.0.3 - std-env: 3.10.0 + std-env: 4.1.0 tinybench: 2.9.0 tinyexec: 1.0.2 tinyglobby: 0.2.15 - tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1) + tinyrainbow: 3.1.0 + vite: 7.3.1(@types/node@25.9.1)(jiti@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 25.2.3 + '@types/node': 25.9.1 transitivePeerDependencies: - - jiti - - less - - lightningcss - msw - - sass - - sass-embedded - - stylus - - sugarss - - terser - - tsx - - yaml which@2.0.2: dependencies: From 2edb871900323cd973350eb5f435e3f60b913433 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 2 Jun 2026 19:42:45 +0100 Subject: [PATCH 128/160] chore: upgrade dependencies --- packages/create-solid/package.json | 4 +- packages/create/package.json | 4 +- packages/full-solid/package.json | 4 +- packages/utils/package.json | 6 +- pnpm-lock.yaml | 119 ++++++++++++++++++++--------- 5 files changed, 90 insertions(+), 47 deletions(-) diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index e001d51..ab8dba7 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -31,9 +31,9 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "1.0.1", + "@clack/prompts": "1.5.0", "picocolors": "^1.1.1", - "citty": "^0.2.1", + "citty": "^0.2.2", "@solid-cli/create": "workspace:*" }, "publishConfig": { diff --git a/packages/create/package.json b/packages/create/package.json index e144241..c32c3cc 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -40,10 +40,10 @@ "access": "public" }, "dependencies": { - "@clack/prompts": "1.0.1", + "@clack/prompts": "1.5.0", "picocolors": "^1.1.1", "@begit/core": "^0.3.4", - "citty": "^0.2.1", + "citty": "^0.2.2", "sucrase": "^3.35.1", "@solid-cli/utils": "workspace:*" } diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index f79171a..1da9967 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -30,9 +30,9 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "1.0.1", + "@clack/prompts": "1.5.0", "picocolors": "^1.1.1", - "citty": "^0.2.1", + "citty": "^0.2.2", "@solid-cli/create": "workspace:*", "@solid-cli/utils": "workspace:*" }, diff --git a/packages/utils/package.json b/packages/utils/package.json index 4196273..13afca1 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -67,14 +67,14 @@ "build": "tsc && tsup" }, "devDependencies": { - "magicast": "^0.5.2" + "magicast": "^0.5.3" }, "publishConfig": { "access": "public" }, "dependencies": { - "@clack/core": "1.0.1", - "@clack/prompts": "1.0.1", + "@clack/core": "1.4.0", + "@clack/prompts": "1.5.0", "execa": "^9.6.1", "picocolors": "^1.1.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 243666d..96388f1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,14 +39,14 @@ importers: specifier: ^0.3.4 version: 0.3.4 '@clack/prompts': - specifier: 1.0.1 - version: 1.0.1 + specifier: 1.5.0 + version: 1.5.0 '@solid-cli/utils': specifier: workspace:* version: link:../utils citty: - specifier: ^0.2.1 - version: 0.2.1 + specifier: ^0.2.2 + version: 0.2.2 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -57,14 +57,14 @@ importers: packages/create-solid: devDependencies: '@clack/prompts': - specifier: 1.0.1 - version: 1.0.1 + specifier: 1.5.0 + version: 1.5.0 '@solid-cli/create': specifier: workspace:* version: link:../create citty: - specifier: ^0.2.1 - version: 0.2.1 + specifier: ^0.2.2 + version: 0.2.2 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -72,8 +72,8 @@ importers: packages/full-solid: devDependencies: '@clack/prompts': - specifier: 1.0.1 - version: 1.0.1 + specifier: 1.5.0 + version: 1.5.0 '@solid-cli/create': specifier: workspace:* version: link:../create @@ -81,8 +81,8 @@ importers: specifier: workspace:* version: link:../utils citty: - specifier: ^0.2.1 - version: 0.2.1 + specifier: ^0.2.2 + version: 0.2.2 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -90,11 +90,11 @@ importers: packages/utils: dependencies: '@clack/core': - specifier: 1.0.1 - version: 1.0.1 + specifier: 1.4.0 + version: 1.4.0 '@clack/prompts': - specifier: 1.0.1 - version: 1.0.1 + specifier: 1.5.0 + version: 1.5.0 execa: specifier: ^9.6.1 version: 9.6.1 @@ -103,8 +103,8 @@ importers: version: 1.1.1 devDependencies: magicast: - specifier: ^0.5.2 - version: 0.5.2 + specifier: ^0.5.3 + version: 0.5.3 packages: @@ -112,12 +112,20 @@ packages: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - '@babel/parser@7.29.0': - resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} engines: {node: '>=6.0.0'} hasBin: true @@ -129,6 +137,10 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + engines: {node: '>=6.9.0'} + '@begit/core@0.3.4': resolution: {integrity: sha512-vW4xQ51uXYB6apjY3Y1RkfHpTcyYpV2v+eb2ndEvF9HnJlGbkKmXQYCGlQd2SfLKBQJk5GDic0xwxA8japdTuw==} @@ -187,11 +199,13 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@clack/core@1.0.1': - resolution: {integrity: sha512-WKeyK3NOBwDOzagPR5H08rFk9D/WuN705yEbuZvKqlkmoLM2woKtXb10OO2k1NoSU4SFG947i2/SCYh+2u5e4g==} + '@clack/core@1.4.0': + resolution: {integrity: sha512-7Wctjq6f7c1CPz8sPpkwUnz8yRgVANkpNupb81q432FjcJg4l+Sw7XANdNSdWfAKq0IHI0JTcUeK5dxs/HrGPw==} + engines: {node: '>= 20.12.0'} - '@clack/prompts@1.0.1': - resolution: {integrity: sha512-/42G73JkuYdyWZ6m8d/CJtBrGl1Hegyc7Fy78m5Ob+jF85TOUmLR5XLce/U3LxYAw0kJ8CT5aI99RIvPHcGp/Q==} + '@clack/prompts@1.5.0': + resolution: {integrity: sha512-wKh+wTjmrUoUdkZg8KpJO5X+p9PWV+KE9mePseq9UYWkukgTKsGS47RRL2HstwVcvDQH+PenrPJWII8+MfiiyA==} + engines: {node: '>= 20.12.0'} '@esbuild/aix-ppc64@0.27.2': resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} @@ -898,8 +912,8 @@ packages: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} - citty@0.2.1: - resolution: {integrity: sha512-kEV95lFBhQgtogAPlQfJJ0WGVSokvLr/UEoFPiKKOXF7pl98HfUVUD0ejsuTCld/9xH9vogSywZ5KqHzXrZpqg==} + citty@0.2.2: + resolution: {integrity: sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -987,6 +1001,15 @@ packages: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} + + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} + + fast-wrap-ansi@0.2.2: + resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} + fastq@1.18.0: resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} @@ -1166,8 +1189,8 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magicast@0.5.2: - resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==} + magicast@0.5.3: + resolution: {integrity: sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==} merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -1657,11 +1680,15 @@ snapshots: '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-string-parser@7.29.7': {} + '@babel/helper-validator-identifier@7.28.5': {} - '@babel/parser@7.29.0': + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/parser@7.29.7': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.7 '@babel/runtime@7.26.0': dependencies: @@ -1672,6 +1699,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@babel/types@7.29.7': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@begit/core@0.3.4': dependencies: tar: 7.5.9 @@ -1819,15 +1851,16 @@ snapshots: human-id: 4.1.1 prettier: 2.8.8 - '@clack/core@1.0.1': + '@clack/core@1.4.0': dependencies: - picocolors: 1.1.1 + fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 - '@clack/prompts@1.0.1': + '@clack/prompts@1.5.0': dependencies: - '@clack/core': 1.0.1 - picocolors: 1.1.1 + '@clack/core': 1.4.0 + fast-string-width: 3.0.2 + fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 '@esbuild/aix-ppc64@0.27.2': @@ -2303,7 +2336,7 @@ snapshots: chownr@3.0.0: {} - citty@0.2.1: {} + citty@0.2.2: {} color-convert@2.0.1: dependencies: @@ -2410,6 +2443,16 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 + fast-string-truncated-width@3.0.3: {} + + fast-string-width@3.0.2: + dependencies: + fast-string-truncated-width: 3.0.3 + + fast-wrap-ansi@0.2.2: + dependencies: + fast-string-width: 3.0.2 + fastq@1.18.0: dependencies: reusify: 1.0.4 @@ -2568,9 +2611,9 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - magicast@0.5.2: + magicast@0.5.3: dependencies: - '@babel/parser': 7.29.0 + '@babel/parser': 7.29.7 '@babel/types': 7.29.0 source-map-js: 1.2.1 From 6a7f95c4e2aab0d024f615fe74ef7a1bc8df1320 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 2 Jun 2026 19:45:30 +0100 Subject: [PATCH 129/160] ci: update CI tasks to use latest LTS release (24) --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index febcfe8..d530241 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 - name: Install dependencies run: pnpm install --ignore-scripts From 46b5c2d2d0126654929a4d69c382f9b8e11b091f Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 2 Jun 2026 19:50:41 +0100 Subject: [PATCH 130/160] fix: adjust typescript `rootDir` so cold builds work correctly --- packages/create/tsconfig.json | 2 +- packages/utils/tsconfig.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create/tsconfig.json b/packages/create/tsconfig.json index 71194f0..e8c3977 100644 --- a/packages/create/tsconfig.json +++ b/packages/create/tsconfig.json @@ -11,7 +11,7 @@ "types": ["node"], "declaration": true, "emitDeclarationOnly": true, - "rootDir": ".", + "rootDir": "./src", "outDir": "types" }, "include": ["src/*"] diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 3ecd183..34933f5 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -15,7 +15,7 @@ "noUnusedLocals": true, "noUnusedParameters": true, "noFallthroughCasesInSwitch": true, - "rootDir": ".", + "rootDir": "./src", "outDir": "types", "declarationMap": true }, From e1f279866ac72f86881a4e5ab8a85e9c0a178d72 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Tue, 2 Jun 2026 19:52:34 +0100 Subject: [PATCH 131/160] chore: remove outdated docs --- docs/.gitignore | 1 - docs/package.json | 15 - docs/pnpm-lock.yaml | 1135 ----------------- docs/pnpm-workspace.yaml | 0 docs/vitepress_docs/.vitepress/config.ts | 34 - docs/vitepress_docs/.vitepress/theme/index.ts | 16 - .../vitepress_docs/.vitepress/theme/style.css | 82 -- docs/vitepress_docs/about.md | 17 - docs/vitepress_docs/basic-commands.md | 84 -- docs/vitepress_docs/index.md | 23 - docs/vitepress_docs/installation.md | 41 - docs/vitepress_docs/start-commands.md | 64 - docs/vitepress_docs/supported-integrations.md | 21 - 13 files changed, 1533 deletions(-) delete mode 100644 docs/.gitignore delete mode 100644 docs/package.json delete mode 100644 docs/pnpm-lock.yaml delete mode 100644 docs/pnpm-workspace.yaml delete mode 100644 docs/vitepress_docs/.vitepress/config.ts delete mode 100644 docs/vitepress_docs/.vitepress/theme/index.ts delete mode 100644 docs/vitepress_docs/.vitepress/theme/style.css delete mode 100644 docs/vitepress_docs/about.md delete mode 100644 docs/vitepress_docs/basic-commands.md delete mode 100644 docs/vitepress_docs/index.md delete mode 100644 docs/vitepress_docs/installation.md delete mode 100644 docs/vitepress_docs/start-commands.md delete mode 100644 docs/vitepress_docs/supported-integrations.md diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index f3c937e..0000000 --- a/docs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vitepress_docs/.vitepress/cache \ No newline at end of file diff --git a/docs/package.json b/docs/package.json deleted file mode 100644 index fc7fb0a..0000000 --- a/docs/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "private": true, - "type": "module", - "scripts": { - "docs:dev": "vitepress dev vitepress_docs", - "docs:build": "vitepress build vitepress_docs", - "docs:preview": "vitepress preview vitepress_docs" - }, - "devDependencies": { - "flexsearch": "^0.7.43", - "vitepress": "1.1.3", - "vitepress-plugin-search": "1.0.4-alpha.22", - "vue": "^3.4.23" - } -} diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml deleted file mode 100644 index 37323a0..0000000 --- a/docs/pnpm-lock.yaml +++ /dev/null @@ -1,1135 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - devDependencies: - flexsearch: - specifier: ^0.7.43 - version: 0.7.43 - vitepress: - specifier: 1.1.3 - version: 1.1.3(@algolia/client-search@4.22.1)(search-insights@2.13.0) - vitepress-plugin-search: - specifier: 1.0.4-alpha.22 - version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.3)(vue@3.4.23) - vue: - specifier: ^3.4.23 - version: 3.4.23 - -packages: - - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0): - resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - dev: true - - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0): - resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} - peerDependencies: - search-insights: '>= 1 < 3' - dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - search-insights: 2.13.0 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - dev: true - - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1): - resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - '@algolia/client-search': 4.22.1 - algoliasearch: 4.22.1 - dev: true - - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1): - resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - dependencies: - '@algolia/client-search': 4.22.1 - algoliasearch: 4.22.1 - dev: true - - /@algolia/cache-browser-local-storage@4.22.1: - resolution: {integrity: sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==} - dependencies: - '@algolia/cache-common': 4.22.1 - dev: true - - /@algolia/cache-common@4.22.1: - resolution: {integrity: sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==} - dev: true - - /@algolia/cache-in-memory@4.22.1: - resolution: {integrity: sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==} - dependencies: - '@algolia/cache-common': 4.22.1 - dev: true - - /@algolia/client-account@4.22.1: - resolution: {integrity: sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==} - dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/client-search': 4.22.1 - '@algolia/transporter': 4.22.1 - dev: true - - /@algolia/client-analytics@4.22.1: - resolution: {integrity: sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==} - dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/client-search': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 - dev: true - - /@algolia/client-common@4.22.1: - resolution: {integrity: sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==} - dependencies: - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 - dev: true - - /@algolia/client-personalization@4.22.1: - resolution: {integrity: sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==} - dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 - dev: true - - /@algolia/client-search@4.22.1: - resolution: {integrity: sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==} - dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 - dev: true - - /@algolia/logger-common@4.22.1: - resolution: {integrity: sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==} - dev: true - - /@algolia/logger-console@4.22.1: - resolution: {integrity: sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==} - dependencies: - '@algolia/logger-common': 4.22.1 - dev: true - - /@algolia/requester-browser-xhr@4.22.1: - resolution: {integrity: sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==} - dependencies: - '@algolia/requester-common': 4.22.1 - dev: true - - /@algolia/requester-common@4.22.1: - resolution: {integrity: sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==} - dev: true - - /@algolia/requester-node-http@4.22.1: - resolution: {integrity: sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==} - dependencies: - '@algolia/requester-common': 4.22.1 - dev: true - - /@algolia/transporter@4.22.1: - resolution: {integrity: sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==} - dependencies: - '@algolia/cache-common': 4.22.1 - '@algolia/logger-common': 4.22.1 - '@algolia/requester-common': 4.22.1 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/parser@7.24.4: - resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@docsearch/css@3.6.0: - resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} - dev: true - - /@docsearch/js@3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0): - resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} - dependencies: - '@docsearch/react': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0) - preact: 10.19.6 - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/react' - - react - - react-dom - - search-insights - dev: true - - /@docsearch/react@3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0): - resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} - peerDependencies: - '@types/react': '>= 16.8.0 < 19.0.0' - react: '>= 16.8.0 < 19.0.0' - react-dom: '>= 16.8.0 < 19.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true - dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - '@docsearch/css': 3.6.0 - algoliasearch: 4.22.1 - search-insights: 2.13.0 - transitivePeerDependencies: - - '@algolia/client-search' - dev: true - - /@esbuild/aix-ppc64@0.20.2: - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.20.2: - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.20.2: - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.20.2: - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.20.2: - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.20.2: - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.20.2: - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.20.2: - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.20.2: - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.20.2: - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.20.2: - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.20.2: - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.20.2: - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.20.2: - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.20.2: - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.20.2: - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.20.2: - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.20.2: - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.20.2: - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.20.2: - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.20.2: - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.20.2: - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.20.2: - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@rollup/rollup-android-arm-eabi@4.13.0: - resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.13.0: - resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.13.0: - resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.13.0: - resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.13.0: - resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.13.0: - resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.13.0: - resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.13.0: - resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.13.0: - resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.13.0: - resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.13.0: - resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.13.0: - resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.13.0: - resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@shikijs/core@1.3.0: - resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} - dev: true - - /@shikijs/transformers@1.3.0: - resolution: {integrity: sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==} - dependencies: - shiki: 1.3.0 - dev: true - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/flexsearch@0.7.6: - resolution: {integrity: sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA==} - dev: true - - /@types/linkify-it@3.0.5: - resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} - dev: true - - /@types/markdown-it@12.2.3: - resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} - dependencies: - '@types/linkify-it': 3.0.5 - '@types/mdurl': 1.0.5 - dev: true - - /@types/markdown-it@14.0.1: - resolution: {integrity: sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==} - dependencies: - '@types/linkify-it': 3.0.5 - '@types/mdurl': 1.0.5 - dev: true - - /@types/mdurl@1.0.5: - resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} - dev: true - - /@types/web-bluetooth@0.0.20: - resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - dev: true - - /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.23): - resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - vite: ^5.0.0 - vue: ^3.2.25 - dependencies: - vite: 5.2.10 - vue: 3.4.23 - dev: true - - /@vue/compiler-core@3.4.23: - resolution: {integrity: sha512-HAFmuVEwNqNdmk+w4VCQ2pkLk1Vw4XYiiyxEp3z/xvl14aLTUBw2OfVH3vBcx+FtGsynQLkkhK410Nah1N2yyQ==} - dependencies: - '@babel/parser': 7.24.4 - '@vue/shared': 3.4.23 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.0 - dev: true - - /@vue/compiler-dom@3.4.23: - resolution: {integrity: sha512-t0b9WSTnCRrzsBGrDd1LNR5HGzYTr7LX3z6nNBG+KGvZLqrT0mY6NsMzOqlVMBKKXKVuusbbB5aOOFgTY+senw==} - dependencies: - '@vue/compiler-core': 3.4.23 - '@vue/shared': 3.4.23 - dev: true - - /@vue/compiler-sfc@3.4.23: - resolution: {integrity: sha512-fSDTKTfzaRX1kNAUiaj8JB4AokikzStWgHooMhaxyjZerw624L+IAP/fvI4ZwMpwIh8f08PVzEnu4rg8/Npssw==} - dependencies: - '@babel/parser': 7.24.4 - '@vue/compiler-core': 3.4.23 - '@vue/compiler-dom': 3.4.23 - '@vue/compiler-ssr': 3.4.23 - '@vue/shared': 3.4.23 - estree-walker: 2.0.2 - magic-string: 0.30.8 - postcss: 8.4.38 - source-map-js: 1.2.0 - dev: true - - /@vue/compiler-ssr@3.4.23: - resolution: {integrity: sha512-hb6Uj2cYs+tfqz71Wj6h3E5t6OKvb4MVcM2Nl5i/z1nv1gjEhw+zYaNOV+Xwn+SSN/VZM0DgANw5TuJfxfezPg==} - dependencies: - '@vue/compiler-dom': 3.4.23 - '@vue/shared': 3.4.23 - dev: true - - /@vue/devtools-api@7.0.27(vue@3.4.23): - resolution: {integrity: sha512-BFCFCusSDcw2UcOFD/QeK7OxD1x2C/m+uAN30Q7jLKECSW53hmz0urzJmX834GuWDZX/hIxkyUKnLLfEIP1c/w==} - dependencies: - '@vue/devtools-kit': 7.0.27(vue@3.4.23) - transitivePeerDependencies: - - vue - dev: true - - /@vue/devtools-kit@7.0.27(vue@3.4.23): - resolution: {integrity: sha512-/A5xM38pPCFX5Yhl/lRFAzjyK6VNsH670nww2WbjFKWqlu3I+lMxWKzQkCW6A1V8bduITgl2kHORfg2gTw6QaA==} - peerDependencies: - vue: ^3.0.0 - dependencies: - '@vue/devtools-shared': 7.0.27 - hookable: 5.5.3 - mitt: 3.0.1 - perfect-debounce: 1.0.0 - speakingurl: 14.0.1 - vue: 3.4.23 - dev: true - - /@vue/devtools-shared@7.0.27: - resolution: {integrity: sha512-4VxtmZ6yjhiSloqZZq2UYU0TBGxOJ8GxWvp5OlAH70zYqi0FIAyWGPkOhvfoZ7DKQyv2UU0mmKzFHjsEkelGyQ==} - dependencies: - rfdc: 1.3.1 - dev: true - - /@vue/reactivity@3.4.23: - resolution: {integrity: sha512-GlXR9PL+23fQ3IqnbSQ8OQKLodjqCyoCrmdLKZk3BP7jN6prWheAfU7a3mrltewTkoBm+N7qMEb372VHIkQRMQ==} - dependencies: - '@vue/shared': 3.4.23 - dev: true - - /@vue/runtime-core@3.4.23: - resolution: {integrity: sha512-FeQ9MZEXoFzFkFiw9MQQ/FWs3srvrP+SjDKSeRIiQHIhtkzoj0X4rWQlRNHbGuSwLra6pMyjAttwixNMjc/xLw==} - dependencies: - '@vue/reactivity': 3.4.23 - '@vue/shared': 3.4.23 - dev: true - - /@vue/runtime-dom@3.4.23: - resolution: {integrity: sha512-RXJFwwykZWBkMiTPSLEWU3kgVLNAfActBfWFlZd0y79FTUxexogd0PLG4HH2LfOktjRxV47Nulygh0JFXe5f9A==} - dependencies: - '@vue/runtime-core': 3.4.23 - '@vue/shared': 3.4.23 - csstype: 3.1.3 - dev: true - - /@vue/server-renderer@3.4.23(vue@3.4.23): - resolution: {integrity: sha512-LDwGHtnIzvKFNS8dPJ1SSU5Gvm36p2ck8wCZc52fc3k/IfjKcwCyrWEf0Yag/2wTFUBXrqizfhK9c/mC367dXQ==} - peerDependencies: - vue: 3.4.23 - dependencies: - '@vue/compiler-ssr': 3.4.23 - '@vue/shared': 3.4.23 - vue: 3.4.23 - dev: true - - /@vue/shared@3.4.23: - resolution: {integrity: sha512-wBQ0gvf+SMwsCQOyusNw/GoXPV47WGd1xB5A1Pgzy0sQ3Bi5r5xm3n+92y3gCnB3MWqnRDdvfkRGxhKtbBRNgg==} - dev: true - - /@vueuse/core@10.9.0(vue@3.4.23): - resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} - dependencies: - '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.23) - vue-demi: 0.14.7(vue@3.4.23) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: true - - /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.23): - resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} - peerDependencies: - async-validator: '*' - axios: '*' - change-case: '*' - drauu: '*' - focus-trap: '*' - fuse.js: '*' - idb-keyval: '*' - jwt-decode: '*' - nprogress: '*' - qrcode: '*' - sortablejs: '*' - universal-cookie: '*' - peerDependenciesMeta: - async-validator: - optional: true - axios: - optional: true - change-case: - optional: true - drauu: - optional: true - focus-trap: - optional: true - fuse.js: - optional: true - idb-keyval: - optional: true - jwt-decode: - optional: true - nprogress: - optional: true - qrcode: - optional: true - sortablejs: - optional: true - universal-cookie: - optional: true - dependencies: - '@vueuse/core': 10.9.0(vue@3.4.23) - '@vueuse/shared': 10.9.0(vue@3.4.23) - focus-trap: 7.5.4 - vue-demi: 0.14.7(vue@3.4.23) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: true - - /@vueuse/metadata@10.9.0: - resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} - dev: true - - /@vueuse/shared@10.9.0(vue@3.4.23): - resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} - dependencies: - vue-demi: 0.14.7(vue@3.4.23) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: true - - /algoliasearch@4.22.1: - resolution: {integrity: sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==} - dependencies: - '@algolia/cache-browser-local-storage': 4.22.1 - '@algolia/cache-common': 4.22.1 - '@algolia/cache-in-memory': 4.22.1 - '@algolia/client-account': 4.22.1 - '@algolia/client-analytics': 4.22.1 - '@algolia/client-common': 4.22.1 - '@algolia/client-personalization': 4.22.1 - '@algolia/client-search': 4.22.1 - '@algolia/logger-common': 4.22.1 - '@algolia/logger-console': 4.22.1 - '@algolia/requester-browser-xhr': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/requester-node-http': 4.22.1 - '@algolia/transporter': 4.22.1 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dev: true - - /entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} - dev: true - - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - dev: true - - /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 - dev: true - - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - - /flexsearch@0.7.43: - resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} - dev: true - - /focus-trap@7.5.4: - resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} - dependencies: - tabbable: 6.2.0 - dev: true - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true - - /hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - dev: true - - /linkify-it@4.0.1: - resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} - dependencies: - uc.micro: 1.0.6 - dev: true - - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /mark.js@8.11.1: - resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - dev: true - - /markdown-it@13.0.2: - resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} - hasBin: true - dependencies: - argparse: 2.0.1 - entities: 3.0.1 - linkify-it: 4.0.1 - mdurl: 1.0.1 - uc.micro: 1.0.6 - dev: true - - /mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: true - - /minisearch@6.3.0: - resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} - dev: true - - /mitt@3.0.1: - resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - dev: true - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - dev: true - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.2.0 - dev: true - - /preact@10.19.6: - resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==} - dev: true - - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: true - - /rollup@4.13.0: - resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.13.0 - '@rollup/rollup-android-arm64': 4.13.0 - '@rollup/rollup-darwin-arm64': 4.13.0 - '@rollup/rollup-darwin-x64': 4.13.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 - '@rollup/rollup-linux-arm64-gnu': 4.13.0 - '@rollup/rollup-linux-arm64-musl': 4.13.0 - '@rollup/rollup-linux-riscv64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-musl': 4.13.0 - '@rollup/rollup-win32-arm64-msvc': 4.13.0 - '@rollup/rollup-win32-ia32-msvc': 4.13.0 - '@rollup/rollup-win32-x64-msvc': 4.13.0 - fsevents: 2.3.3 - dev: true - - /search-insights@2.13.0: - resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} - dev: true - - /shiki@1.3.0: - resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==} - dependencies: - '@shikijs/core': 1.3.0 - dev: true - - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - dev: true - - /speakingurl@14.0.1: - resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} - engines: {node: '>=0.10.0'} - dev: true - - /tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /uc.micro@1.0.6: - resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - dev: true - - /vite@5.2.10: - resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.13.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.3)(vue@3.4.23): - resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==} - engines: {node: ^14.13.1 || ^16.7.0 || >=18} - peerDependencies: - flexsearch: ^0.7.31 - vitepress: ^1.0.0-rc.35 - vue: '3' - dependencies: - '@types/flexsearch': 0.7.6 - '@types/markdown-it': 12.2.3 - flexsearch: 0.7.43 - glob-to-regexp: 0.4.1 - markdown-it: 13.0.2 - vitepress: 1.1.3(@algolia/client-search@4.22.1)(search-insights@2.13.0) - vue: 3.4.23 - dev: true - - /vitepress@1.1.3(@algolia/client-search@4.22.1)(search-insights@2.13.0): - resolution: {integrity: sha512-hGrIYN0w9IHWs0NQSnlMjKV/v/HLfD+Ywv5QdvCSkiT32mpNOOwUrZjnqZv/JL/WBPpUc94eghTUvmipxw0xrA==} - hasBin: true - peerDependencies: - markdown-it-mathjax3: ^4 - postcss: ^8 - peerDependenciesMeta: - markdown-it-mathjax3: - optional: true - postcss: - optional: true - dependencies: - '@docsearch/css': 3.6.0 - '@docsearch/js': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0) - '@shikijs/core': 1.3.0 - '@shikijs/transformers': 1.3.0 - '@types/markdown-it': 14.0.1 - '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.23) - '@vue/devtools-api': 7.0.27(vue@3.4.23) - '@vueuse/core': 10.9.0(vue@3.4.23) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.23) - focus-trap: 7.5.4 - mark.js: 8.11.1 - minisearch: 6.3.0 - shiki: 1.3.0 - vite: 5.2.10 - vue: 3.4.23 - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/node' - - '@types/react' - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - less - - lightningcss - - nprogress - - qrcode - - react - - react-dom - - sass - - search-insights - - sortablejs - - stylus - - sugarss - - terser - - typescript - - universal-cookie - dev: true - - /vue-demi@0.14.7(vue@3.4.23): - resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - dependencies: - vue: 3.4.23 - dev: true - - /vue@3.4.23: - resolution: {integrity: sha512-X1y6yyGJ28LMUBJ0k/qIeKHstGd+BlWQEOT40x3auJFTmpIhpbKLgN7EFsqalnJXq1Km5ybDEsp6BhuWKciUDg==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@vue/compiler-dom': 3.4.23 - '@vue/compiler-sfc': 3.4.23 - '@vue/runtime-dom': 3.4.23 - '@vue/server-renderer': 3.4.23(vue@3.4.23) - '@vue/shared': 3.4.23 - dev: true diff --git a/docs/pnpm-workspace.yaml b/docs/pnpm-workspace.yaml deleted file mode 100644 index e69de29..0000000 diff --git a/docs/vitepress_docs/.vitepress/config.ts b/docs/vitepress_docs/.vitepress/config.ts deleted file mode 100644 index 754f6c0..0000000 --- a/docs/vitepress_docs/.vitepress/config.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { defineConfig } from "vitepress"; -import { SearchPlugin } from "vitepress-plugin-search"; -// https://vitepress.dev/reference/site-config -export default defineConfig({ - title: "Solid-CLI Docs", - description: "Documentation for the Solid CLI", - themeConfig: { - // https://vitepress.dev/reference/default-theme-config - nav: [ - { text: "Home", link: "/" }, - { text: "Guide", link: "/about" }, - ], - - sidebar: [ - { - text: "Getting started", - items: [ - { text: "About", link: "/about" }, - { text: "Installation", link: "/installation" }, - { text: "Basic Commands", link: "/basic-commands" }, - { text: "SolidStart Commands", link: "/start-commands" }, - ], - }, - { text: "Supported Integrations", link: "/supported-integrations" }, - ], - socialLinks: [ - { - icon: "github", - link: "https://github.com/solidjs-community/solid-cli", - }, - ], - }, - vite: { plugins: [SearchPlugin()] }, -}); diff --git a/docs/vitepress_docs/.vitepress/theme/index.ts b/docs/vitepress_docs/.vitepress/theme/index.ts deleted file mode 100644 index 09d0a1a..0000000 --- a/docs/vitepress_docs/.vitepress/theme/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -// https://vitepress.dev/guide/custom-theme -import { h } from "vue"; -import Theme from "vitepress/theme"; -import "./style.css"; - -export default { - extends: Theme, - Layout: () => { - return h(Theme.Layout, null, { - // https://vitepress.dev/guide/extending-default-theme#layout-slots - }); - }, - enhanceApp({ app, router, siteData }) { - // ... - }, -}; diff --git a/docs/vitepress_docs/.vitepress/theme/style.css b/docs/vitepress_docs/.vitepress/theme/style.css deleted file mode 100644 index bab0266..0000000 --- a/docs/vitepress_docs/.vitepress/theme/style.css +++ /dev/null @@ -1,82 +0,0 @@ -/** - * Customize default theme styling by overriding CSS variables: - * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css - */ - -/** - * Colors - * -------------------------------------------------------------------------- */ - -:root { - --vp-c-brand: #646cff; - --vp-c-brand-light: #747bff; - --vp-c-brand-lighter: #9499ff; - --vp-c-brand-lightest: #bcc0ff; - --vp-c-brand-dark: #535bf2; - --vp-c-brand-darker: #454ce1; - --vp-c-brand-dimm: rgba(100, 108, 255, 0.08); -} - -/** - * Component: Button - * -------------------------------------------------------------------------- */ - -:root { - --vp-button-brand-border: var(--vp-c-brand-light); - --vp-button-brand-text: var(--vp-c-white); - --vp-button-brand-bg: var(--vp-c-brand); - --vp-button-brand-hover-border: var(--vp-c-brand-light); - --vp-button-brand-hover-text: var(--vp-c-white); - --vp-button-brand-hover-bg: var(--vp-c-brand-light); - --vp-button-brand-active-border: var(--vp-c-brand-light); - --vp-button-brand-active-text: var(--vp-c-white); - --vp-button-brand-active-bg: var(--vp-button-brand-bg); -} - -/** - * Component: Home - * -------------------------------------------------------------------------- */ - -:root { - --vp-home-hero-name-color: transparent; - --vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe 30%, #41d1ff); - - --vp-home-hero-image-background-image: linear-gradient(-45deg, #bd34fe 50%, #47caff 50%); - --vp-home-hero-image-filter: blur(40px); -} - -@media (min-width: 640px) { - :root { - --vp-home-hero-image-filter: blur(56px); - } -} - -@media (min-width: 960px) { - :root { - --vp-home-hero-image-filter: blur(72px); - } -} - -/** - * Component: Custom Block - * -------------------------------------------------------------------------- */ - -:root { - --vp-custom-block-tip-border: var(--vp-c-brand); - --vp-custom-block-tip-text: var(--vp-c-brand-darker); - --vp-custom-block-tip-bg: var(--vp-c-brand-dimm); -} - -.dark { - --vp-custom-block-tip-border: var(--vp-c-brand); - --vp-custom-block-tip-text: var(--vp-c-brand-lightest); - --vp-custom-block-tip-bg: var(--vp-c-brand-dimm); -} - -/** - * Component: Algolia - * -------------------------------------------------------------------------- */ - -.DocSearch { - --docsearch-primary-color: var(--vp-c-brand) !important; -} diff --git a/docs/vitepress_docs/about.md b/docs/vitepress_docs/about.md deleted file mode 100644 index 504eb5c..0000000 --- a/docs/vitepress_docs/about.md +++ /dev/null @@ -1,17 +0,0 @@ -# About - -The Solid CLI is a tool aiming to make the Solid development experience easier, faster, and less error prone. - -## Features - -### Automatic Config manipulation - -Can automatically update your config to enable solid features, such as toggling SSR, or adding adapters. - -### Adding integrations - -Can automatically install and configure supported packages. - -### Project creation - -Provides an easy way to create new projects, whether that be locally, or on a platform such as stackblitz or codesandbox. diff --git a/docs/vitepress_docs/basic-commands.md b/docs/vitepress_docs/basic-commands.md deleted file mode 100644 index 8fe045c..0000000 --- a/docs/vitepress_docs/basic-commands.md +++ /dev/null @@ -1,84 +0,0 @@ -# Basic Commands - -### `Add` - -```sh -solid add -``` - -Used to add packages and setup integrations. - -::: info -By default, when no arguments or flags are passed, this command will open up a searchable multiselect for you to be able to search through -all supported integrations and packages. You can select the ones you want to use through there. -::: - -**Options** - -| Option | Description | -| --------------- | ------------------------------------------------------------------------------------------------------ | -| `` | List of integrations you want to add to your project (ie. unocss, vitepwa, solid-devtools) | -| `--force` | Force apply any changes to the config to add the integration(s) even if they already exist `(boolean)` | - ---- - -### `New` - -```sh -solid new -``` - -Creates a new solid project with the selected variation and name. - -This can also be used to spin up a new stackblitz or codesandbox instance. - -**Options** - -| Option | Description | -| -------------------------- | ------------------------------------------------------------------------------------------- | -| `` | The variation you want to start the project from. One of the following: "bare", "js", "ts". | -| `` | The name of the project and the folder to create it in. | -| `--stackblitz (short: -s)` | Create the project with the variation in a stackblitz instance. `(boolean)` | - ---- - -### `Docs` - -```sh -solid docs -``` - -Searches for a given keyword within the main solid documentation sites - -**Options** - -| Option | Description | -| ----------- | ---------------------------------------------- | -| `` | The keyword to search within the docs websites | - ---- - -### `Set` - -```sh -solid set -``` - -Sets a specified config parameter to a specified value - -**Options** - -| Option | Description | -| --------- | -------------------------------- | -| `` | The key within the config to set | -| `` | The value to set that key to | - ---- - -### `Playground` - -```sh -solid playground -``` - -Attempts to open the [Solid Playground](https://playground.solidjs.com) in the browser diff --git a/docs/vitepress_docs/index.md b/docs/vitepress_docs/index.md deleted file mode 100644 index 551ee49..0000000 --- a/docs/vitepress_docs/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -# https://vitepress.dev/reference/default-theme-home-page -layout: home - -hero: - name: "Solid-CLI Docs" - text: "Documentation for the Solid CLI" - tagline: A solid cli - actions: - - theme: brand - text: Get started - link: /about -features: - - title: Package manager - icon: 📦 - details: Installs solid related packages, and automatically configures them in your project. - - title: Customisable - details: Plugins can be used to extend or manipulate existing functionality - icon: 🎨 - - title: Automatic configuration - icon: ♻ - details: Can automatically enable or disable features within solid, such as automatically enabling SSR ---- diff --git a/docs/vitepress_docs/installation.md b/docs/vitepress_docs/installation.md deleted file mode 100644 index 4729ad2..0000000 --- a/docs/vitepress_docs/installation.md +++ /dev/null @@ -1,41 +0,0 @@ -# Installation - -The CLI can be installed locally to your project via - -```sh -npm install @solid-cli/core -``` - -Or installed globally: - -### UNIX/MacOS/Linux - -In order to install global packages on Unix based systems you will need to grant npm special system permissions using the `sudo` command, suffixed by the command you would like to run. - -```sh -sudo npm install -g @solid-cli/core -``` - -### Windows - -```sh -npm install -g @solid-cli/core -``` - -It can then be invoked via the keyword `solid`, and the help page can be displayed with `solid --help` - -```txt -┌ Solid-CLI -solid - -where can be one of: - -- add - Can add and install integrations: `solid add unocss`. -- docs -- new - Creates a new solid project -- set -- start - Commands specific to solid start -- playground - -For more help, try running `solid --help` -``` diff --git a/docs/vitepress_docs/start-commands.md b/docs/vitepress_docs/start-commands.md deleted file mode 100644 index 28bfffd..0000000 --- a/docs/vitepress_docs/start-commands.md +++ /dev/null @@ -1,64 +0,0 @@ -# SolidStart Commands - -### `Mode` - -```sh -solid start mode -``` - -Set the rendering mode for solid to build for and use (ie. Client-Side Rendering (CSR), Server-Side Rendering (SSR), Static-Site Generation (SSG)) - -**Options** - -| Option | Description | -| -------- | -------------------------------------------------------------- | -| `` | The rendering mode to use. One of the following: csr, ssr, ssg | - ---- - -### `Route` - -```sh -solid start route -``` - -Creates a new route file in the file routes directory. - -**Options** - -| Option | Description | -| -------- | ------------------------------------------- | -| `` | The path to the new route | -| `` | The name of the `.tsx` file to be generated | - ---- - -### `Adapter` - -```sh -solid start adapter -``` - -Used to setup a SolidStart specific adapter. - -**Options** - -| Option | Description | -| --------- | -------------------------------- | -| `` | The name of the adapter `string` | -| `--force` | Force setup the adapater | - -### `Data` - -```sh -solid start data -``` - -Creates a new data file at the given path - -**Options** - -| Option | Description | -| -------- | ----------------------------------------------- | -| `` | The path to the new data file | -| `` | The name of the `.data.ts` file to be generated | diff --git a/docs/vitepress_docs/supported-integrations.md b/docs/vitepress_docs/supported-integrations.md deleted file mode 100644 index 934ee99..0000000 --- a/docs/vitepress_docs/supported-integrations.md +++ /dev/null @@ -1,21 +0,0 @@ -# Supported Integrations - -## Adapters - -- [AWS](https://github.com/solidjs/solid-start/tree/main/packages/start-aws) -- [Cloudflare-pages](https://github.com/solidjs/solid-start/tree/main/packages/start-cloudflare-pages) -- [Cloudflare-workers](https://github.com/solidjs/solid-start/tree/main/packages/start-cloudflare-workers) -- [Deno](https://github.com/solidjs/solid-start/tree/main/packages/start-deno) -- [Netlify](https://github.com/solidjs/solid-start/tree/main/packages/start-netlify) -- [Node](https://github.com/solidjs/solid-start/tree/main/packages/start-node) -- [Static](https://github.com/solidjs/solid-start/tree/main/packages/start-static) -- [Vercel](https://github.com/solidjs/solid-start/tree/main/packages/start-vercel) - -## Packages - -These packages will be automatically installed and configured with sensible defaults: - -- [UnoCSS](https://unocss.dev/) -- [Tailwind CSS](https://tailwindcss.com/) -- [Solid Devtools](https://github.com/thetarnav/solid-devtools) -- [VitePWA](https://vite-pwa-org.netlify.app) From 4cdb866efd33c7c756646984146488adcb978268 Mon Sep 17 00:00:00 2001 From: Colin McDonnell <3084745+colinhacks@users.noreply.github.com> Date: Tue, 30 Jun 2026 19:01:48 -0700 Subject: [PATCH 132/160] feat: detect nub package manager --- packages/utils/src/package-manager/index.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/utils/src/package-manager/index.ts b/packages/utils/src/package-manager/index.ts index a1720e5..d7c6230 100644 --- a/packages/utils/src/package-manager/index.ts +++ b/packages/utils/src/package-manager/index.ts @@ -40,6 +40,15 @@ export const detectPackageManager = (): PackageManager => { return `task ${s}`; }, }; + case userAgent.startsWith("nub"): + return { + name: "nub", + runner: "nubx", + installCommand: "add", + runScriptCommand(s) { + return `run ${s}`; + }, + }; default: return { name: "npm", From 44a06d52315b02677f20d1782d607a579868d053 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 12 Jul 2026 11:25:10 +0100 Subject: [PATCH 133/160] chore: update start v2 templates list --- packages/create/src/utils/constants.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index 4d49568..d665539 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -86,9 +86,11 @@ export type StartTemplate = (typeof START_TEMPLATES)[number]; const START_TEMPLATES_V2 = [ "basic", "bare", + "with-solidbase", "hackernews", "notes", "with-auth", + "with-authjs", "with-drizzle", "with-mdx", "with-prisma", @@ -97,6 +99,8 @@ const START_TEMPLATES_V2 = [ "with-trpc", "with-unocss", "with-vitest", + "with-strict-csp", + "with-tanstack-router", ] as const satisfies string[]; export type StartTemplateV2 = (typeof START_TEMPLATES_V2)[number]; From cdb7843e5d270c5f03bcaa1a81b095f764fee00d Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 12 Jul 2026 11:38:13 +0100 Subject: [PATCH 134/160] chore: update dependencies --- package.json | 16 +- packages/create-solid/package.json | 2 +- packages/create/package.json | 4 +- packages/full-solid/package.json | 2 +- packages/utils/package.json | 4 +- pnpm-lock.yaml | 501 ++++++++++++++++++++--------- pnpm-workspace.yaml | 2 + turbo.json | 2 +- 8 files changed, 359 insertions(+), 174 deletions(-) diff --git a/package.json b/package.json index cb8cdff..2827480 100644 --- a/package.json +++ b/package.json @@ -31,14 +31,14 @@ "./packages/*" ], "devDependencies": { - "@types/node": "25.9.1", - "tsup": "^8.5.1", - "typescript": "^6.0.3", "@changesets/cli": "2.31.0", - "prettier": "^3.8.3", - "turbo": "^2.9.16", - "vitest": "^4.1.8", - "jiti": "^2.7.0" + "@types/node": "26.1.1", + "jiti": "^2.7.0", + "prettier": "^3.9.5", + "tsup": "^8.5.1", + "turbo": "^2.10.4", + "typescript": "^7.0.2", + "vitest": "^4.1.10" }, - "packageManager": "pnpm@11.5.1+sha512.93f7b57422ea7068257235b4c16eb60762eb68e1dc23723199cc739043ea9be2c4143274a399d8c6defa2b1176226d9ca1c4b63482d6200c1a8fbaa78c1d1485" + "packageManager": "pnpm@11.12.0" } diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index ab8dba7..ffadf41 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -31,7 +31,7 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "1.5.0", + "@clack/prompts": "1.7.0", "picocolors": "^1.1.1", "citty": "^0.2.2", "@solid-cli/create": "workspace:*" diff --git a/packages/create/package.json b/packages/create/package.json index c32c3cc..b392ae3 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -40,9 +40,9 @@ "access": "public" }, "dependencies": { - "@clack/prompts": "1.5.0", + "@clack/prompts": "1.7.0", "picocolors": "^1.1.1", - "@begit/core": "^0.3.4", + "@begit/core": "^0.3.5", "citty": "^0.2.2", "sucrase": "^3.35.1", "@solid-cli/utils": "workspace:*" diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 1da9967..e36e068 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -30,7 +30,7 @@ "test": "vitest run" }, "devDependencies": { - "@clack/prompts": "1.5.0", + "@clack/prompts": "1.7.0", "picocolors": "^1.1.1", "citty": "^0.2.2", "@solid-cli/create": "workspace:*", diff --git a/packages/utils/package.json b/packages/utils/package.json index 13afca1..8799b99 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -73,8 +73,8 @@ "access": "public" }, "dependencies": { - "@clack/core": "1.4.0", - "@clack/prompts": "1.5.0", + "@clack/core": "1.4.3", + "@clack/prompts": "1.7.0", "execa": "^9.6.1", "picocolors": "^1.1.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 96388f1..759677c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,37 +10,37 @@ importers: devDependencies: '@changesets/cli': specifier: 2.31.0 - version: 2.31.0(@types/node@25.9.1) + version: 2.31.0(@types/node@26.1.1) '@types/node': - specifier: 25.9.1 - version: 25.9.1 + specifier: 26.1.1 + version: 26.1.1 jiti: specifier: ^2.7.0 version: 2.7.0 prettier: - specifier: ^3.8.3 - version: 3.8.3 + specifier: ^3.9.5 + version: 3.9.5 tsup: specifier: ^8.5.1 - version: 8.5.1(@swc/core@1.5.5)(jiti@2.7.0)(postcss@8.5.6)(typescript@6.0.3) + version: 8.5.1(@swc/core@1.5.5)(jiti@2.7.0)(postcss@8.5.6)(typescript@7.0.2) turbo: - specifier: ^2.9.16 - version: 2.9.16 + specifier: ^2.10.4 + version: 2.10.4 typescript: - specifier: ^6.0.3 - version: 6.0.3 + specifier: ^7.0.2 + version: 7.0.2 vitest: - specifier: ^4.1.8 - version: 4.1.8(@types/node@25.9.1)(vite@7.3.1(@types/node@25.9.1)(jiti@2.7.0)) + specifier: ^4.1.10 + version: 4.1.10(@types/node@26.1.1)(vite@7.3.1(@types/node@26.1.1)(jiti@2.7.0)) packages/create: dependencies: '@begit/core': - specifier: ^0.3.4 - version: 0.3.4 + specifier: ^0.3.5 + version: 0.3.5 '@clack/prompts': - specifier: 1.5.0 - version: 1.5.0 + specifier: 1.7.0 + version: 1.7.0 '@solid-cli/utils': specifier: workspace:* version: link:../utils @@ -57,8 +57,8 @@ importers: packages/create-solid: devDependencies: '@clack/prompts': - specifier: 1.5.0 - version: 1.5.0 + specifier: 1.7.0 + version: 1.7.0 '@solid-cli/create': specifier: workspace:* version: link:../create @@ -72,8 +72,8 @@ importers: packages/full-solid: devDependencies: '@clack/prompts': - specifier: 1.5.0 - version: 1.5.0 + specifier: 1.7.0 + version: 1.7.0 '@solid-cli/create': specifier: workspace:* version: link:../create @@ -90,11 +90,11 @@ importers: packages/utils: dependencies: '@clack/core': - specifier: 1.4.0 - version: 1.4.0 + specifier: 1.4.3 + version: 1.4.3 '@clack/prompts': - specifier: 1.5.0 - version: 1.5.0 + specifier: 1.7.0 + version: 1.7.0 execa: specifier: ^9.6.1 version: 9.6.1 @@ -141,8 +141,8 @@ packages: resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} engines: {node: '>=6.9.0'} - '@begit/core@0.3.4': - resolution: {integrity: sha512-vW4xQ51uXYB6apjY3Y1RkfHpTcyYpV2v+eb2ndEvF9HnJlGbkKmXQYCGlQd2SfLKBQJk5GDic0xwxA8japdTuw==} + '@begit/core@0.3.5': + resolution: {integrity: sha512-yU9TTCFKhIFV/JCWM/1Fqx0Kb/3kzvXLyuD8aXfCMrReIuI9IM/riPoVSHyT2l/h1XICau/NRV5cZXFF5RhcnQ==} '@changesets/apply-release-plan@7.1.1': resolution: {integrity: sha512-9qPCm/rLx/xoOFXIHGB229+4GOL76S4MC+7tyOuTsR6+1jYlfFDQORdvwR5hDA6y4FL2BPt3qpbcQIS+dW85LA==} @@ -199,12 +199,12 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@clack/core@1.4.0': - resolution: {integrity: sha512-7Wctjq6f7c1CPz8sPpkwUnz8yRgVANkpNupb81q432FjcJg4l+Sw7XANdNSdWfAKq0IHI0JTcUeK5dxs/HrGPw==} + '@clack/core@1.4.3': + resolution: {integrity: sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ==} engines: {node: '>= 20.12.0'} - '@clack/prompts@1.5.0': - resolution: {integrity: sha512-wKh+wTjmrUoUdkZg8KpJO5X+p9PWV+KE9mePseq9UYWkukgTKsGS47RRL2HstwVcvDQH+PenrPJWII8+MfiiyA==} + '@clack/prompts@1.7.0': + resolution: {integrity: sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==} engines: {node: '>= 20.12.0'} '@esbuild/aix-ppc64@0.27.2': @@ -395,9 +395,6 @@ packages: '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} @@ -758,33 +755,33 @@ packages: '@swc/types@0.1.17': resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} - '@turbo/darwin-64@2.9.16': - resolution: {integrity: sha512-jLjApWTSNd7JZ5JaLYfelW1ytnGQOvB7ivl+2RD1xQvJTbi8I9gBjzcga7tDZVPyaxpl10YTfJt3BrYXR18KDw==} + '@turbo/darwin-64@2.10.4': + resolution: {integrity: sha512-m1MUEI4MJ69r5CwfMYxmHi0H0rrgiYCBOp0tgBZ9x/YVvOb5uu/lRIDyDwdtH054R2yWeQaIigUGu6aCX9f8cA==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.9.16': - resolution: {integrity: sha512-YPgrn+5HIGzrx0O2a631SV4MBQUe4W/DafMFUuBVgaU32PW9/OTT0ehviF0QSxTXuRJlHvW2eUTemddF5/spmw==} + '@turbo/darwin-arm64@2.10.4': + resolution: {integrity: sha512-VQ1Yxs5zkPT+2z7t1P4mvn6JmcKLkOCAsPuK9XbOvuVj0DlTlETfIXNisX0771v/vTWHOQqiwoGi+TtAUq8efw==} cpu: [arm64] os: [darwin] - '@turbo/linux-64@2.9.16': - resolution: {integrity: sha512-vAEf1H6l26lTpl9FJ/peQo1NUB8RC0sbEJJz5mPcUhHA2bPDup2x3CZPgo/bH8S4cUcBLm4FN3UHd5iUO2RAew==} + '@turbo/linux-64@2.10.4': + resolution: {integrity: sha512-IzV1QovmwX7mfGnVinmE++2IB8tbeo38weltiuH5zNqwCTBjLs/DytyRKx+bmnhHdXIq9SheR8p0Nip/LBUPHg==} cpu: [x64] os: [linux] - '@turbo/linux-arm64@2.9.16': - resolution: {integrity: sha512-xDBLR2PZg4BrQOchfG6svgpv5FCNJ2TOtT2psLdEJcdKo1BH+pnPs9Xj6pvUjgfkHbuvBOfeE4R6tvxMoQKDHQ==} + '@turbo/linux-arm64@2.10.4': + resolution: {integrity: sha512-rfujSQkP5aYiRn0PgTM7F00WkJCP/bKDVZbOx3WmrZwa/vHA0bplhCl328kpX7VI9HH2vI90ISGwuSVgJgoqTw==} cpu: [arm64] os: [linux] - '@turbo/windows-64@2.9.16': - resolution: {integrity: sha512-NBAJnaUiGdgkSzQwUIdOvkCkcpTSu58G/sBGa0mvBtzfvFOOgrQwepKOOQ8cp6sWM6OcKDNFj2p1dsZA1OWjPg==} + '@turbo/windows-64@2.10.4': + resolution: {integrity: sha512-NnspP7Wd5fa3Wwnqv9bKfhegqZzuHBgbPxdZU/idTLQcazx/vgKu95JlCx2YHY0hdvKCnPcARrDwM+KEUmaO7A==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.9.16': - resolution: {integrity: sha512-Y7SJppD0Z8wjO3Ec0ZGd9KQ4Yv0BMnA8CIowj5Vp+OEVsosXDG2weK6/t1RRLfJmc2Ozrnd6y4DOgQys+mn3WQ==} + '@turbo/windows-arm64@2.10.4': + resolution: {integrity: sha512-Iv02YgOpaEShc2OkG7mgCJ2pEw1RUKiKbs0h8W5wAf4jZ5vpmraTEjuGTgHRuOORQnC1GN3KHo5WB+hu1abRMA==} cpu: [arm64] os: [win32] @@ -803,14 +800,134 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@25.9.1': - resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} + '@types/node@26.1.1': + resolution: {integrity: sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==} + + '@typescript/typescript-aix-ppc64@7.0.2': + resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [aix] + + '@typescript/typescript-darwin-arm64@7.0.2': + resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [darwin] + + '@typescript/typescript-darwin-x64@7.0.2': + resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [darwin] + + '@typescript/typescript-freebsd-arm64@7.0.2': + resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [freebsd] + + '@typescript/typescript-freebsd-x64@7.0.2': + resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [freebsd] + + '@typescript/typescript-linux-arm64@7.0.2': + resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [linux] + + '@typescript/typescript-linux-arm@7.0.2': + resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==} + engines: {node: '>=16.20.0'} + cpu: [arm] + os: [linux] + + '@typescript/typescript-linux-loong64@7.0.2': + resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==} + engines: {node: '>=16.20.0'} + cpu: [loong64] + os: [linux] + + '@typescript/typescript-linux-mips64el@7.0.2': + resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==} + engines: {node: '>=16.20.0'} + cpu: [mips64el] + os: [linux] + + '@typescript/typescript-linux-ppc64@7.0.2': + resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [linux] + + '@typescript/typescript-linux-riscv64@7.0.2': + resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==} + engines: {node: '>=16.20.0'} + cpu: [riscv64] + os: [linux] - '@vitest/expect@4.1.8': - resolution: {integrity: sha512-h3nDO677RDLEGlBxyQ5CW8RlMThSKSRLUePLOx09gNIWRL40edgA1GCZSZgf1W55MFAG6/Sw14KeaAnqv0NKdQ==} + '@typescript/typescript-linux-s390x@7.0.2': + resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==} + engines: {node: '>=16.20.0'} + cpu: [s390x] + os: [linux] - '@vitest/mocker@4.1.8': - resolution: {integrity: sha512-LEiN/xe4OSIbKe9HQIp5OC24agGD9J5CnmMgsLohVVoOPWL9a2sBoR6VBx43jQZb7Kr1l4RCuyCJzcAa0+dojw==} + '@typescript/typescript-linux-x64@7.0.2': + resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [linux] + + '@typescript/typescript-netbsd-arm64@7.0.2': + resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [netbsd] + + '@typescript/typescript-netbsd-x64@7.0.2': + resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [netbsd] + + '@typescript/typescript-openbsd-arm64@7.0.2': + resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [openbsd] + + '@typescript/typescript-openbsd-x64@7.0.2': + resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [openbsd] + + '@typescript/typescript-sunos-x64@7.0.2': + resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [sunos] + + '@typescript/typescript-win32-arm64@7.0.2': + resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [win32] + + '@typescript/typescript-win32-x64@7.0.2': + resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [win32] + + '@vitest/expect@4.1.10': + resolution: {integrity: sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==} + + '@vitest/mocker@4.1.10': + resolution: {integrity: sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -820,20 +937,20 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.8': - resolution: {integrity: sha512-9GasEBxpZ1VYIpqHf/0+YGg121uSNwCKOJqIrTwWP/TB7DmFCiaBpNl3aPZzoLWfWkuqhbH8vJIVobZkvdo2cA==} + '@vitest/pretty-format@4.1.10': + resolution: {integrity: sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==} - '@vitest/runner@4.1.8': - resolution: {integrity: sha512-EmVxeBAfMJvycdjd6Hm+RbFBbA9fKvo0Kx37hNpBYoYeavH3RNsBXWDooR1mgD52dCrxIIuP7UotpfiwOikvcg==} + '@vitest/runner@4.1.10': + resolution: {integrity: sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==} - '@vitest/snapshot@4.1.8': - resolution: {integrity: sha512-acfZboRmAIf05DEKcBQy33VXojFJjtUdLyo7oOmV9kebb2xdU01UknNiPuPZoJZQyO7DF0gZdTGTpeAzET9QPQ==} + '@vitest/snapshot@4.1.10': + resolution: {integrity: sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==} - '@vitest/spy@4.1.8': - resolution: {integrity: sha512-6EevtBp6OZOPF7bmz36HrGMeP3txgVSrgebWxHOafDXGkhIzfXK14f8KF6MuFfgXXUeHxmpD3BQxkV00/3s5mA==} + '@vitest/spy@4.1.10': + resolution: {integrity: sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==} - '@vitest/utils@4.1.8': - resolution: {integrity: sha512-uOJamYALNhfJ6iolExyQM40yIQwDqYnkKtQ5VCiSe17E33H0aQ/u+1GlRuz4LZBk6Mm3sg90G9hEbmEt37C1Zg==} + '@vitest/utils@4.1.10': + resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==} acorn@8.14.1: resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} @@ -1183,9 +1300,6 @@ packages: resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -1305,10 +1419,6 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - picomatch@4.0.3: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} @@ -1351,8 +1461,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.8.3: - resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} + prettier@3.9.5: + resolution: {integrity: sha512-/FVl766LpUfB5vXgCYOYa0MeV/441Ia99AeICQIQFTY/Nw0roZwULcXpku5i1/m5kt/baz+s4Zogspd839HSMg==} engines: {node: '>=14'} hasBin: true @@ -1479,8 +1589,8 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - tar@7.5.9: - resolution: {integrity: sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg==} + tar@7.5.19: + resolution: {integrity: sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw==} engines: {node: '>=18'} term-size@2.2.1: @@ -1546,20 +1656,20 @@ packages: typescript: optional: true - turbo@2.9.16: - resolution: {integrity: sha512-NqgRQy6j6dPYcdSdv0q1g9QsZg7SWg87RERM8otw/1AtKU2yTFVClOM7cbwKzOonZr/Ek1blTBucw64L9H0Bwg==} + turbo@2.10.4: + resolution: {integrity: sha512-GQpduILaKjoaGljw097ScsSyKTtZSY7cZ3bJktzfTkPMyCf3ShKLuXK2IaOEN2Plziml+ArR7WJ1m+V4VbnaKQ==} hasBin: true - typescript@6.0.3: - resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} - engines: {node: '>=14.17'} + typescript@7.0.2: + resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} + engines: {node: '>=16.20.0'} hasBin: true ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - undici-types@7.24.6: - resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} @@ -1609,20 +1719,20 @@ packages: yaml: optional: true - vitest@4.1.8: - resolution: {integrity: sha512-flY6ScbCIt9HThs+C5HS7jvGOB560DJtk/Z15IQROTA6zEy49Nh8T/dofWTQL+n3vswqn87sbJNiuqw1SDp5Ig==} + vitest@4.1.10: + resolution: {integrity: sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.8 - '@vitest/browser-preview': 4.1.8 - '@vitest/browser-webdriverio': 4.1.8 - '@vitest/coverage-istanbul': 4.1.8 - '@vitest/coverage-v8': 4.1.8 - '@vitest/ui': 4.1.8 + '@vitest/browser-playwright': 4.1.10 + '@vitest/browser-preview': 4.1.10 + '@vitest/browser-webdriverio': 4.1.10 + '@vitest/coverage-istanbul': 4.1.10 + '@vitest/coverage-v8': 4.1.10 + '@vitest/ui': 4.1.10 happy-dom: '*' jsdom: '*' vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1704,9 +1814,9 @@ snapshots: '@babel/helper-string-parser': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 - '@begit/core@0.3.4': + '@begit/core@0.3.5': dependencies: - tar: 7.5.9 + tar: 7.5.19 '@changesets/apply-release-plan@7.1.1': dependencies: @@ -1737,7 +1847,7 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.31.0(@types/node@25.9.1)': + '@changesets/cli@2.31.0(@types/node@26.1.1)': dependencies: '@changesets/apply-release-plan': 7.1.1 '@changesets/assemble-release-plan': 6.0.10 @@ -1753,7 +1863,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@25.9.1) + '@inquirer/external-editor': 1.0.3(@types/node@26.1.1) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 enquirer: 2.4.1 @@ -1851,14 +1961,14 @@ snapshots: human-id: 4.1.1 prettier: 2.8.8 - '@clack/core@1.4.0': + '@clack/core@1.4.3': dependencies: fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 - '@clack/prompts@1.5.0': + '@clack/prompts@1.7.0': dependencies: - '@clack/core': 1.4.0 + '@clack/core': 1.4.3 fast-string-width: 3.0.2 fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 @@ -1941,12 +2051,12 @@ snapshots: '@esbuild/win32-x64@0.27.2': optional: true - '@inquirer/external-editor@1.0.3(@types/node@25.9.1)': + '@inquirer/external-editor@1.0.3(@types/node@26.1.1)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 26.1.1 '@isaacs/cliui@8.0.2': dependencies: @@ -1973,8 +2083,6 @@ snapshots: '@jridgewell/sourcemap-codec@1.4.15': {} - '@jridgewell/sourcemap-codec@1.5.0': {} - '@jridgewell/sourcemap-codec@1.5.5': {} '@jridgewell/trace-mapping@0.3.19': @@ -2206,22 +2314,22 @@ snapshots: '@swc/counter': 0.1.3 optional: true - '@turbo/darwin-64@2.9.16': + '@turbo/darwin-64@2.10.4': optional: true - '@turbo/darwin-arm64@2.9.16': + '@turbo/darwin-arm64@2.10.4': optional: true - '@turbo/linux-64@2.9.16': + '@turbo/linux-64@2.10.4': optional: true - '@turbo/linux-arm64@2.9.16': + '@turbo/linux-arm64@2.10.4': optional: true - '@turbo/windows-64@2.9.16': + '@turbo/windows-64@2.10.4': optional: true - '@turbo/windows-arm64@2.9.16': + '@turbo/windows-arm64@2.10.4': optional: true '@types/chai@5.2.2': @@ -2236,48 +2344,108 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@25.9.1': + '@types/node@26.1.1': dependencies: - undici-types: 7.24.6 + undici-types: 8.3.0 + + '@typescript/typescript-aix-ppc64@7.0.2': + optional: true + + '@typescript/typescript-darwin-arm64@7.0.2': + optional: true + + '@typescript/typescript-darwin-x64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-x64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm@7.0.2': + optional: true + + '@typescript/typescript-linux-loong64@7.0.2': + optional: true + + '@typescript/typescript-linux-mips64el@7.0.2': + optional: true + + '@typescript/typescript-linux-ppc64@7.0.2': + optional: true + + '@typescript/typescript-linux-riscv64@7.0.2': + optional: true - '@vitest/expect@4.1.8': + '@typescript/typescript-linux-s390x@7.0.2': + optional: true + + '@typescript/typescript-linux-x64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-sunos-x64@7.0.2': + optional: true + + '@typescript/typescript-win32-arm64@7.0.2': + optional: true + + '@typescript/typescript-win32-x64@7.0.2': + optional: true + + '@vitest/expect@4.1.10': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.2 - '@vitest/spy': 4.1.8 - '@vitest/utils': 4.1.8 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.8(vite@7.3.1(@types/node@25.9.1)(jiti@2.7.0))': + '@vitest/mocker@4.1.10(vite@7.3.1(@types/node@26.1.1)(jiti@2.7.0))': dependencies: - '@vitest/spy': 4.1.8 + '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@25.9.1)(jiti@2.7.0) + vite: 7.3.1(@types/node@26.1.1)(jiti@2.7.0) - '@vitest/pretty-format@4.1.8': + '@vitest/pretty-format@4.1.10': dependencies: tinyrainbow: 3.1.0 - '@vitest/runner@4.1.8': + '@vitest/runner@4.1.10': dependencies: - '@vitest/utils': 4.1.8 + '@vitest/utils': 4.1.10 pathe: 2.0.3 - '@vitest/snapshot@4.1.8': + '@vitest/snapshot@4.1.10': dependencies: - '@vitest/pretty-format': 4.1.8 - '@vitest/utils': 4.1.8 + '@vitest/pretty-format': 4.1.10 + '@vitest/utils': 4.1.10 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.8': {} + '@vitest/spy@4.1.10': {} - '@vitest/utils@4.1.8': + '@vitest/utils@4.1.10': dependencies: - '@vitest/pretty-format': 4.1.8 + '@vitest/pretty-format': 4.1.10 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 @@ -2457,9 +2625,9 @@ snapshots: dependencies: reusify: 1.0.4 - fdir@6.4.4(picomatch@4.0.2): + fdir@6.4.4(picomatch@4.0.3): optionalDependencies: - picomatch: 4.0.2 + picomatch: 4.0.3 fdir@6.5.0(picomatch@4.0.3): optionalDependencies: @@ -2480,7 +2648,7 @@ snapshots: fix-dts-default-cjs-exports@1.0.1: dependencies: - magic-string: 0.30.17 + magic-string: 0.30.21 mlly: 1.7.4 rollup: 4.34.9 @@ -2603,10 +2771,6 @@ snapshots: lru-cache@10.1.0: {} - magic-string@0.30.17: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -2695,7 +2859,7 @@ snapshots: path-scurry@1.10.1: dependencies: lru-cache: 10.1.0 - minipass: 5.0.0 + minipass: 7.1.2 path-type@4.0.0: {} @@ -2705,8 +2869,6 @@ snapshots: picomatch@2.3.1: {} - picomatch@4.0.2: {} - picomatch@4.0.3: {} pify@4.0.1: {} @@ -2734,7 +2896,7 @@ snapshots: prettier@2.8.8: {} - prettier@3.8.3: {} + prettier@3.9.5: {} pretty-ms@9.2.0: dependencies: @@ -2894,7 +3056,7 @@ snapshots: tinyglobby: 0.2.15 ts-interface-checker: 0.1.13 - tar@7.5.9: + tar@7.5.19: dependencies: '@isaacs/fs-minipass': 4.0.0 chownr: 3.0.0 @@ -2920,8 +3082,8 @@ snapshots: tinyglobby@0.2.14: dependencies: - fdir: 6.4.4(picomatch@4.0.2) - picomatch: 4.0.2 + fdir: 6.4.4(picomatch@4.0.3) + picomatch: 4.0.3 tinyglobby@0.2.15: dependencies: @@ -2938,7 +3100,7 @@ snapshots: ts-interface-checker@0.1.13: {} - tsup@8.5.1(@swc/core@1.5.5)(jiti@2.7.0)(postcss@8.5.6)(typescript@6.0.3): + tsup@8.5.1(@swc/core@1.5.5)(jiti@2.7.0)(postcss@8.5.6)(typescript@7.0.2): dependencies: bundle-require: 5.1.0(esbuild@0.27.2) cac: 6.7.14 @@ -2960,33 +3122,54 @@ snapshots: optionalDependencies: '@swc/core': 1.5.5 postcss: 8.5.6 - typescript: 6.0.3 + typescript: 7.0.2 transitivePeerDependencies: - jiti - supports-color - tsx - yaml - turbo@2.9.16: + turbo@2.10.4: optionalDependencies: - '@turbo/darwin-64': 2.9.16 - '@turbo/darwin-arm64': 2.9.16 - '@turbo/linux-64': 2.9.16 - '@turbo/linux-arm64': 2.9.16 - '@turbo/windows-64': 2.9.16 - '@turbo/windows-arm64': 2.9.16 - - typescript@6.0.3: {} + '@turbo/darwin-64': 2.10.4 + '@turbo/darwin-arm64': 2.10.4 + '@turbo/linux-64': 2.10.4 + '@turbo/linux-arm64': 2.10.4 + '@turbo/windows-64': 2.10.4 + '@turbo/windows-arm64': 2.10.4 + + typescript@7.0.2: + optionalDependencies: + '@typescript/typescript-aix-ppc64': 7.0.2 + '@typescript/typescript-darwin-arm64': 7.0.2 + '@typescript/typescript-darwin-x64': 7.0.2 + '@typescript/typescript-freebsd-arm64': 7.0.2 + '@typescript/typescript-freebsd-x64': 7.0.2 + '@typescript/typescript-linux-arm': 7.0.2 + '@typescript/typescript-linux-arm64': 7.0.2 + '@typescript/typescript-linux-loong64': 7.0.2 + '@typescript/typescript-linux-mips64el': 7.0.2 + '@typescript/typescript-linux-ppc64': 7.0.2 + '@typescript/typescript-linux-riscv64': 7.0.2 + '@typescript/typescript-linux-s390x': 7.0.2 + '@typescript/typescript-linux-x64': 7.0.2 + '@typescript/typescript-netbsd-arm64': 7.0.2 + '@typescript/typescript-netbsd-x64': 7.0.2 + '@typescript/typescript-openbsd-arm64': 7.0.2 + '@typescript/typescript-openbsd-x64': 7.0.2 + '@typescript/typescript-sunos-x64': 7.0.2 + '@typescript/typescript-win32-arm64': 7.0.2 + '@typescript/typescript-win32-x64': 7.0.2 ufo@1.6.1: {} - undici-types@7.24.6: {} + undici-types@8.3.0: {} unicorn-magic@0.3.0: {} universalify@0.1.2: {} - vite@7.3.1(@types/node@25.9.1)(jiti@2.7.0): + vite@7.3.1(@types/node@26.1.1)(jiti@2.7.0): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -2995,19 +3178,19 @@ snapshots: rollup: 4.55.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 26.1.1 fsevents: 2.3.3 jiti: 2.7.0 - vitest@4.1.8(@types/node@25.9.1)(vite@7.3.1(@types/node@25.9.1)(jiti@2.7.0)): + vitest@4.1.10(@types/node@26.1.1)(vite@7.3.1(@types/node@26.1.1)(jiti@2.7.0)): dependencies: - '@vitest/expect': 4.1.8 - '@vitest/mocker': 4.1.8(vite@7.3.1(@types/node@25.9.1)(jiti@2.7.0)) - '@vitest/pretty-format': 4.1.8 - '@vitest/runner': 4.1.8 - '@vitest/snapshot': 4.1.8 - '@vitest/spy': 4.1.8 - '@vitest/utils': 4.1.8 + '@vitest/expect': 4.1.10 + '@vitest/mocker': 4.1.10(vite@7.3.1(@types/node@26.1.1)(jiti@2.7.0)) + '@vitest/pretty-format': 4.1.10 + '@vitest/runner': 4.1.10 + '@vitest/snapshot': 4.1.10 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -3019,10 +3202,10 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.1.0 - vite: 7.3.1(@types/node@25.9.1)(jiti@2.7.0) + vite: 7.3.1(@types/node@26.1.1)(jiti@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 26.1.1 transitivePeerDependencies: - msw diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b8ee828..ce79da9 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,3 +3,5 @@ packages: allowBuilds: '@swc/core': true esbuild: true +minimumReleaseAgeExclude: + - '@begit/core@0.3.5' diff --git a/turbo.json b/turbo.json index 2bd8cbe..957f92e 100644 --- a/turbo.json +++ b/turbo.json @@ -1,5 +1,5 @@ { - "$schema": "https://turbo.build/schema.json", + "$schema": "https://v2-10-4.turborepo.dev/schema.json", "tasks": { "build": { "dependsOn": ["^build"], From f25dae290a34224afe03981bf11183b98bda7985 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Sun, 12 Jul 2026 11:41:17 +0100 Subject: [PATCH 135/160] chore: version & release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 8 ++++++++ packages/create/package.json | 2 +- packages/full-solid/CHANGELOG.md | 6 ++++++ packages/full-solid/package.json | 2 +- packages/utils/CHANGELOG.md | 6 ++++++ packages/utils/package.json | 2 +- 8 files changed, 30 insertions(+), 4 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 3ae4603..ffcd8a8 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.6.14 + +### Patch Changes + +- update dependencies and add to solid start v2 templates list + ## 0.6.13 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index ffadf41..d7229fd 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.13", + "version": "0.6.14", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index a45bd6d..fa07394 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,13 @@ # @solid-cli/create +## 0.6.14 + +### Patch Changes + +- update dependencies and add to solid start v2 templates list +- Updated dependencies + - @solid-cli/utils@0.6.3 + ## 0.6.13 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index b392ae3..3e7e90a 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.13", + "version": "0.6.14", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/full-solid/CHANGELOG.md b/packages/full-solid/CHANGELOG.md index 8d2d90e..fcba47f 100644 --- a/packages/full-solid/CHANGELOG.md +++ b/packages/full-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/full +## 0.6.4 + +### Patch Changes + +- update dependencies and add to solid start v2 templates list + ## 0.6.3 ### Patch Changes diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index e36e068..8cf6196 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/full", - "version": "0.6.3", + "version": "0.6.4", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index ba99c2d..75de0f7 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/utils +## 0.6.3 + +### Patch Changes + +- update dependencies and add to solid start v2 templates list + ## 0.6.2 ### Patch Changes diff --git a/packages/utils/package.json b/packages/utils/package.json index 8799b99..83424b7 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/utils", - "version": "0.6.2", + "version": "0.6.3", "description": "A collection of utilities for the Solid CLI", "license": "MIT", "homepage": "https://solid-cli.netlify.app", From d8ef0ecf8c0e719d6c799930480bf28212273258 Mon Sep 17 00:00:00 2001 From: nerdchanii Date: Mon, 13 Jul 2026 20:48:43 +0900 Subject: [PATCH 136/160] fix: clean up v2 templates list --- packages/create/src/utils/constants.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index d665539..bf5f7cc 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -86,21 +86,19 @@ export type StartTemplate = (typeof START_TEMPLATES)[number]; const START_TEMPLATES_V2 = [ "basic", "bare", - "with-solidbase", - "hackernews", - "notes", "with-auth", "with-authjs", "with-drizzle", "with-mdx", "with-prisma", "with-solid-styled", + "with-solidbase", + "with-strict-csp", "with-tailwindcss", + "with-tanstack-router", "with-trpc", "with-unocss", "with-vitest", - "with-strict-csp", - "with-tanstack-router", ] as const satisfies string[]; export type StartTemplateV2 = (typeof START_TEMPLATES_V2)[number]; From 60467c1050e1e7e6808581991b4fb971b3d749bf Mon Sep 17 00:00:00 2001 From: nerdchanii Date: Mon, 20 Jul 2026 22:57:36 +0900 Subject: [PATCH 137/160] fix: remove with-tanstack-router from v2 templates list --- packages/create/src/utils/constants.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index bf5f7cc..6fc3a0e 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -74,7 +74,6 @@ const START_TEMPLATES = [ "with-prisma", "with-solid-styled", "with-tailwindcss", - "with-tanstack-router", "with-trpc", "with-unocss", "with-vitest", From fd84cd521b0f7dfb7eb93963a0d12bf416d49883 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 22 Jul 2026 19:24:16 +0100 Subject: [PATCH 138/160] chore: update dependencies --- package.json | 8 +-- packages/create/package.json | 2 +- packages/utils/package.json | 2 +- pnpm-lock.yaml | 126 +++++++++++++++++++---------------- pnpm-workspace.yaml | 9 ++- turbo.json | 2 +- 6 files changed, 82 insertions(+), 67 deletions(-) diff --git a/package.json b/package.json index 2827480..d897b76 100644 --- a/package.json +++ b/package.json @@ -31,14 +31,14 @@ "./packages/*" ], "devDependencies": { - "@changesets/cli": "2.31.0", + "@changesets/cli": "2.31.1", "@types/node": "26.1.1", "jiti": "^2.7.0", - "prettier": "^3.9.5", + "prettier": "^3.9.6", "tsup": "^8.5.1", - "turbo": "^2.10.4", + "turbo": "^2.10.6", "typescript": "^7.0.2", "vitest": "^4.1.10" }, - "packageManager": "pnpm@11.12.0" + "packageManager": "pnpm@11.15.1" } diff --git a/packages/create/package.json b/packages/create/package.json index 3e7e90a..304b52f 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -42,7 +42,7 @@ "dependencies": { "@clack/prompts": "1.7.0", "picocolors": "^1.1.1", - "@begit/core": "^0.3.5", + "@begit/core": "^0.4.0", "citty": "^0.2.2", "sucrase": "^3.35.1", "@solid-cli/utils": "workspace:*" diff --git a/packages/utils/package.json b/packages/utils/package.json index 83424b7..ab4fbf5 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -75,7 +75,7 @@ "dependencies": { "@clack/core": "1.4.3", "@clack/prompts": "1.7.0", - "execa": "^9.6.1", + "execa": "^10.0.0", "picocolors": "^1.1.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 759677c..443594d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@changesets/cli': - specifier: 2.31.0 - version: 2.31.0(@types/node@26.1.1) + specifier: 2.31.1 + version: 2.31.1(@types/node@26.1.1) '@types/node': specifier: 26.1.1 version: 26.1.1 @@ -18,14 +18,14 @@ importers: specifier: ^2.7.0 version: 2.7.0 prettier: - specifier: ^3.9.5 - version: 3.9.5 + specifier: ^3.9.6 + version: 3.9.6 tsup: specifier: ^8.5.1 version: 8.5.1(@swc/core@1.5.5)(jiti@2.7.0)(postcss@8.5.6)(typescript@7.0.2) turbo: - specifier: ^2.10.4 - version: 2.10.4 + specifier: ^2.10.6 + version: 2.10.6 typescript: specifier: ^7.0.2 version: 7.0.2 @@ -36,8 +36,8 @@ importers: packages/create: dependencies: '@begit/core': - specifier: ^0.3.5 - version: 0.3.5 + specifier: ^0.4.0 + version: 0.4.0 '@clack/prompts': specifier: 1.7.0 version: 1.7.0 @@ -96,8 +96,8 @@ importers: specifier: 1.7.0 version: 1.7.0 execa: - specifier: ^9.6.1 - version: 9.6.1 + specifier: ^10.0.0 + version: 10.0.0 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -141,8 +141,8 @@ packages: resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} engines: {node: '>=6.9.0'} - '@begit/core@0.3.5': - resolution: {integrity: sha512-yU9TTCFKhIFV/JCWM/1Fqx0Kb/3kzvXLyuD8aXfCMrReIuI9IM/riPoVSHyT2l/h1XICau/NRV5cZXFF5RhcnQ==} + '@begit/core@0.4.0': + resolution: {integrity: sha512-Z4HNWYe5NZ5wZfDgDxmP9yJn1sYYtYABnJS+2l2BItqLijlcq1gvnRtw9KMXpTN8XD1xbe1QM1sWzu83VKRQig==} '@changesets/apply-release-plan@7.1.1': resolution: {integrity: sha512-9qPCm/rLx/xoOFXIHGB229+4GOL76S4MC+7tyOuTsR6+1jYlfFDQORdvwR5hDA6y4FL2BPt3qpbcQIS+dW85LA==} @@ -153,8 +153,8 @@ packages: '@changesets/changelog-git@0.2.1': resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@changesets/cli@2.31.0': - resolution: {integrity: sha512-AhI4enNTgHu2IZr6K4WZyf0EPch4XVMn1yOMFmCD9gsfBGqMYaHXls5HyDv6/CL5axVQABz68eG30eCtbr2wFg==} + '@changesets/cli@2.31.1': + resolution: {integrity: sha512-uO05WTcRBwuVOJVSW8Cmpqw6q0WDL53ajGCMyszutvOe5toOnunbpM4jZzf+qxBOz7i0AzopZ8diBuewjmF40w==} hasBin: true '@changesets/config@3.1.4': @@ -755,33 +755,33 @@ packages: '@swc/types@0.1.17': resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} - '@turbo/darwin-64@2.10.4': - resolution: {integrity: sha512-m1MUEI4MJ69r5CwfMYxmHi0H0rrgiYCBOp0tgBZ9x/YVvOb5uu/lRIDyDwdtH054R2yWeQaIigUGu6aCX9f8cA==} + '@turbo/darwin-64@2.10.6': + resolution: {integrity: sha512-S+yIyZkmjYBQbIM7sTqMAwnLeMjSK60Q9grUDPbTWvkRjbsn5k1Rt5sPvTX80M4PnlYQBwLiYsjlu6tHsuIqQQ==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.10.4': - resolution: {integrity: sha512-VQ1Yxs5zkPT+2z7t1P4mvn6JmcKLkOCAsPuK9XbOvuVj0DlTlETfIXNisX0771v/vTWHOQqiwoGi+TtAUq8efw==} + '@turbo/darwin-arm64@2.10.6': + resolution: {integrity: sha512-gnS8G78EjvJzDc1+tFES5BYXdlF+292n+h57G9G+5LJYelRh195f4Ed22RCo4EFIbI4Du9S5xfE9YjrqhoZaxQ==} cpu: [arm64] os: [darwin] - '@turbo/linux-64@2.10.4': - resolution: {integrity: sha512-IzV1QovmwX7mfGnVinmE++2IB8tbeo38weltiuH5zNqwCTBjLs/DytyRKx+bmnhHdXIq9SheR8p0Nip/LBUPHg==} + '@turbo/linux-64@2.10.6': + resolution: {integrity: sha512-lPv5AVkzvhs4z6Isr2ZE2UYt9Ndym5aWSMEIRh9OROnAdyEG1CFugJwAn/aFuDMmiCoHasyvD5tTDmVVTTrYxw==} cpu: [x64] os: [linux] - '@turbo/linux-arm64@2.10.4': - resolution: {integrity: sha512-rfujSQkP5aYiRn0PgTM7F00WkJCP/bKDVZbOx3WmrZwa/vHA0bplhCl328kpX7VI9HH2vI90ISGwuSVgJgoqTw==} + '@turbo/linux-arm64@2.10.6': + resolution: {integrity: sha512-yeQ24es8pz+FhZxt25HIXj4ml7HpWMrmOL1BtCP4XUz7mBJZdAfC7z7HGF+wPSUZoKmoSZbL4r4QWbRddhPZIQ==} cpu: [arm64] os: [linux] - '@turbo/windows-64@2.10.4': - resolution: {integrity: sha512-NnspP7Wd5fa3Wwnqv9bKfhegqZzuHBgbPxdZU/idTLQcazx/vgKu95JlCx2YHY0hdvKCnPcARrDwM+KEUmaO7A==} + '@turbo/windows-64@2.10.6': + resolution: {integrity: sha512-JiFscBN83F43VG3oM+QU2LvgHcf11tgirLJ3c1QDJBtulTCbDwupzIjqB9yBlfiMWAe6g3ssD6gqLP6a4g7FzA==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.10.4': - resolution: {integrity: sha512-Iv02YgOpaEShc2OkG7mgCJ2pEw1RUKiKbs0h8W5wAf4jZ5vpmraTEjuGTgHRuOORQnC1GN3KHo5WB+hu1abRMA==} + '@turbo/windows-arm64@2.10.6': + resolution: {integrity: sha512-emWVdriXsaSVS5VXJxy4DppQ0UnGD+PUKu40DGjC3E5JXeoszL09B/1xU6B+Y8lJQg38cFoaB1NqGC4ayY5SQQ==} cpu: [arm64] os: [win32] @@ -1103,9 +1103,9 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - execa@9.6.1: - resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} - engines: {node: ^18.19.0 || >=20.5.0} + execa@10.0.0: + resolution: {integrity: sha512-Cxl6MKxB1dr1H0FHmiizJ+lavKF7pV+fcDZFyqMB8d5m7qUPm/OtZYcD5vPWePKxSnTQ57KuBd9mtdZ3oNCvyQ==} + engines: {node: '>=22'} expect-type@1.3.0: resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} @@ -1461,13 +1461,13 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.9.5: - resolution: {integrity: sha512-/FVl766LpUfB5vXgCYOYa0MeV/441Ia99AeICQIQFTY/Nw0roZwULcXpku5i1/m5kt/baz+s4Zogspd839HSMg==} + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} engines: {node: '>=14'} hasBin: true - pretty-ms@9.2.0: - resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} queue-microtask@1.2.3: @@ -1656,8 +1656,8 @@ packages: typescript: optional: true - turbo@2.10.4: - resolution: {integrity: sha512-GQpduILaKjoaGljw097ScsSyKTtZSY7cZ3bJktzfTkPMyCf3ShKLuXK2IaOEN2Plziml+ArR7WJ1m+V4VbnaKQ==} + turbo@2.10.6: + resolution: {integrity: sha512-3VfH7fK7WQ/ZHYjvfWyVnPRpcNaX3ZqXfGDMdc82eGdM0ESATyxFK4R4PM3wNsVFsdkUFZ4pZpkNeG37dxOv+g==} hasBin: true typescript@7.0.2: @@ -1760,6 +1760,11 @@ packages: jsdom: optional: true + which-command@0.1.0: + resolution: {integrity: sha512-XZyoF5/5hZtXitIwzrU4NKK+Wtbb9aB9CezUEw2Q0wlYK8NUYQxC1rRXgNueYLtBAJwXIb+/tFVk4dozciNJMA==} + engines: {node: '>=22'} + hasBin: true + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1782,8 +1787,8 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - yoctocolors@2.1.1: - resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} + yoctocolors@2.1.2: + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} snapshots: @@ -1814,7 +1819,7 @@ snapshots: '@babel/helper-string-parser': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 - '@begit/core@0.3.5': + '@begit/core@0.4.0': dependencies: tar: 7.5.19 @@ -1847,7 +1852,7 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.31.0(@types/node@26.1.1)': + '@changesets/cli@2.31.1(@types/node@26.1.1)': dependencies: '@changesets/apply-release-plan': 7.1.1 '@changesets/assemble-release-plan': 6.0.10 @@ -2314,22 +2319,22 @@ snapshots: '@swc/counter': 0.1.3 optional: true - '@turbo/darwin-64@2.10.4': + '@turbo/darwin-64@2.10.6': optional: true - '@turbo/darwin-arm64@2.10.4': + '@turbo/darwin-arm64@2.10.6': optional: true - '@turbo/linux-64@2.10.4': + '@turbo/linux-64@2.10.6': optional: true - '@turbo/linux-arm64@2.10.4': + '@turbo/linux-arm64@2.10.6': optional: true - '@turbo/windows-64@2.10.4': + '@turbo/windows-64@2.10.6': optional: true - '@turbo/windows-arm64@2.10.4': + '@turbo/windows-arm64@2.10.6': optional: true '@types/chai@5.2.2': @@ -2584,20 +2589,21 @@ snapshots: dependencies: '@types/estree': 1.0.8 - execa@9.6.1: + execa@10.0.0: dependencies: '@sindresorhus/merge-streams': 4.0.0 - cross-spawn: 7.0.6 figures: 6.1.0 get-stream: 9.0.1 human-signals: 8.0.1 is-plain-obj: 4.1.0 is-stream: 4.0.1 npm-run-path: 6.0.0 - pretty-ms: 9.2.0 + path-key: 4.0.0 + pretty-ms: 9.3.0 signal-exit: 4.1.0 strip-final-newline: 4.0.0 - yoctocolors: 2.1.1 + which-command: 0.1.0 + yoctocolors: 2.1.2 expect-type@1.3.0: {} @@ -2896,9 +2902,9 @@ snapshots: prettier@2.8.8: {} - prettier@3.9.5: {} + prettier@3.9.6: {} - pretty-ms@9.2.0: + pretty-ms@9.3.0: dependencies: parse-ms: 4.0.0 @@ -3129,14 +3135,14 @@ snapshots: - tsx - yaml - turbo@2.10.4: + turbo@2.10.6: optionalDependencies: - '@turbo/darwin-64': 2.10.4 - '@turbo/darwin-arm64': 2.10.4 - '@turbo/linux-64': 2.10.4 - '@turbo/linux-arm64': 2.10.4 - '@turbo/windows-64': 2.10.4 - '@turbo/windows-arm64': 2.10.4 + '@turbo/darwin-64': 2.10.6 + '@turbo/darwin-arm64': 2.10.6 + '@turbo/linux-64': 2.10.6 + '@turbo/linux-arm64': 2.10.6 + '@turbo/windows-64': 2.10.6 + '@turbo/windows-arm64': 2.10.6 typescript@7.0.2: optionalDependencies: @@ -3209,6 +3215,8 @@ snapshots: transitivePeerDependencies: - msw + which-command@0.1.0: {} + which@2.0.2: dependencies: isexe: 2.0.0 @@ -3232,4 +3240,4 @@ snapshots: yallist@5.0.0: {} - yoctocolors@2.1.1: {} + yoctocolors@2.1.2: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index ce79da9..0f024f2 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -4,4 +4,11 @@ allowBuilds: '@swc/core': true esbuild: true minimumReleaseAgeExclude: - - '@begit/core@0.3.5' + - '@begit/core@0.3.5 || 0.4.0' + - '@turbo/darwin-64@2.10.6' + - '@turbo/darwin-arm64@2.10.6' + - '@turbo/linux-64@2.10.6' + - '@turbo/linux-arm64@2.10.6' + - '@turbo/windows-64@2.10.6' + - '@turbo/windows-arm64@2.10.6' + - turbo@2.10.6 diff --git a/turbo.json b/turbo.json index 957f92e..08facab 100644 --- a/turbo.json +++ b/turbo.json @@ -1,5 +1,5 @@ { - "$schema": "https://v2-10-4.turborepo.dev/schema.json", + "$schema": "https://v2-10-6.turborepo.dev/schema.json", "tasks": { "build": { "dependsOn": ["^build"], From 31c42710d5c2ef8af5e6616c50b333105f5f1353 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 22 Jul 2026 19:27:32 +0100 Subject: [PATCH 139/160] chore: version and release --- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 11 +++++++++++ packages/create/package.json | 2 +- packages/full-solid/CHANGELOG.md | 6 ++++++ packages/full-solid/package.json | 2 +- packages/utils/CHANGELOG.md | 6 ++++++ packages/utils/package.json | 2 +- 8 files changed, 33 insertions(+), 4 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index ffcd8a8..030d8d0 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.8.0 + +### Minor Changes + +- support fetching without the github API (so fetching should no work when hitting the github api limit) + ## 0.6.14 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index d7229fd..b53240a 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.6.14", + "version": "0.8.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index fa07394..63e16e9 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,16 @@ # @solid-cli/create +## 0.8.0 + +### Minor Changes + +- support fetching without the github API (so fetching should no work when hitting the github api limit) + +### Patch Changes + +- Updated dependencies + - @solid-cli/utils@0.7.0 + ## 0.6.14 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index 304b52f..249ba26 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.6.14", + "version": "0.8.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/full-solid/CHANGELOG.md b/packages/full-solid/CHANGELOG.md index fcba47f..95f2d0e 100644 --- a/packages/full-solid/CHANGELOG.md +++ b/packages/full-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/full +## 0.8.0 + +### Minor Changes + +- support fetching without the github API (so fetching should no work when hitting the github api limit) + ## 0.6.4 ### Patch Changes diff --git a/packages/full-solid/package.json b/packages/full-solid/package.json index 8cf6196..bc95197 100644 --- a/packages/full-solid/package.json +++ b/packages/full-solid/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/full", - "version": "0.6.4", + "version": "0.8.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 75de0f7..544c42c 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/utils +## 0.7.0 + +### Minor Changes + +- support fetching without the github API (so fetching should no work when hitting the github api limit) + ## 0.6.3 ### Patch Changes diff --git a/packages/utils/package.json b/packages/utils/package.json index ab4fbf5..f1f0e3d 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/utils", - "version": "0.6.3", + "version": "0.7.0", "description": "A collection of utilities for the Solid CLI", "license": "MIT", "homepage": "https://solid-cli.netlify.app", From dd4a9f3c9ab8f690842c00ca7d3e51d991dd02a4 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 22 Jul 2026 19:35:44 +0100 Subject: [PATCH 140/160] docs: remove warning banner from README as create CLI is stable --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index d4479ba..aa0e49a 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,6 @@ Solid CLI

-> [!WARNING] -> This project is under heavy development and is not yet complete. More features coming soon! - # Solid CLI [![Build and Test](https://github.com/solidjs-community/solid-cli/actions/workflows/tests.yml/badge.svg)](https://github.com/solidjs-community/solid-cli/actions/workflows/tests.yml) From 12145c89a8be2fd0b538be38c40db0f453b69acf Mon Sep 17 00:00:00 2001 From: nerdchanii Date: Thu, 23 Jul 2026 13:43:11 +0900 Subject: [PATCH 141/160] fix: restore with-tanstack-router in v1 --- packages/create/src/utils/constants.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index 6fc3a0e..bf5f7cc 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -74,6 +74,7 @@ const START_TEMPLATES = [ "with-prisma", "with-solid-styled", "with-tailwindcss", + "with-tanstack-router", "with-trpc", "with-unocss", "with-vitest", From 3d9b68a24731c0a74b0d47ed2176ef7dca2b2a23 Mon Sep 17 00:00:00 2001 From: nerdchanii Date: Thu, 23 Jul 2026 13:44:18 +0900 Subject: [PATCH 142/160] fix: remove with-tanstack-router in v2 --- packages/create/src/utils/constants.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index bf5f7cc..d4130ee 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -95,7 +95,6 @@ const START_TEMPLATES_V2 = [ "with-solidbase", "with-strict-csp", "with-tailwindcss", - "with-tanstack-router", "with-trpc", "with-unocss", "with-vitest", From c9b72ef42fb5ff4f4c30a5f9f9a40c21f8cad465 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Tue, 4 Aug 2026 21:57:21 +0200 Subject: [PATCH 143/160] fix: start 2 is stable --- packages/create/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index fad16b6..4a7cf87 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -125,8 +125,8 @@ export const createSolid = (version: string) => message: "Which version of SolidStart?", initialValue: "v2", options: [ - { value: "v2", label: "v2 (pre-release, recommended)" }, - { value: "v1", label: "v1 (stable)" }, + { value: "v2", label: "2 (Stable)" }, + { value: "v1", label: "1 (Legacy)" }, ], }), ); From 5621942b25f8d3401048345e25532b304c6f0592 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Tue, 4 Aug 2026 21:58:56 +0200 Subject: [PATCH 144/160] changeset --- .changeset/nasty-baboons-teach.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/nasty-baboons-teach.md diff --git a/.changeset/nasty-baboons-teach.md b/.changeset/nasty-baboons-teach.md new file mode 100644 index 0000000..a0cfcda --- /dev/null +++ b/.changeset/nasty-baboons-teach.md @@ -0,0 +1,5 @@ +--- +"@solid-cli/create": patch +--- + +SolidStart v2 is now Stable From 56975f67f84c1ae2e66a2710177f5c119b488c24 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Wed, 5 Aug 2026 00:12:30 +0100 Subject: [PATCH 145/160] chore: version and release --- .changeset/nasty-baboons-teach.md | 5 ----- packages/create-solid/CHANGELOG.md | 6 ++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 6 ++++++ packages/create/package.json | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) delete mode 100644 .changeset/nasty-baboons-teach.md diff --git a/.changeset/nasty-baboons-teach.md b/.changeset/nasty-baboons-teach.md deleted file mode 100644 index a0cfcda..0000000 --- a/.changeset/nasty-baboons-teach.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@solid-cli/create": patch ---- - -SolidStart v2 is now Stable diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 030d8d0..3bd388b 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,11 @@ # create-solid +## 0.8.1 + +### Patch Changes + +- make start v2 stable + ## 0.8.0 ### Minor Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index b53240a..f5715fc 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.8.0", + "version": "0.8.1", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 63e16e9..3f5f799 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,11 @@ # @solid-cli/create +## 0.8.1 + +### Patch Changes + +- 5621942: SolidStart v2 is now Stable + ## 0.8.0 ### Minor Changes diff --git a/packages/create/package.json b/packages/create/package.json index 249ba26..506537f 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.8.0", + "version": "0.8.1", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From 68caa9ff8ffacc48376f66d5ba28da2d70255d70 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Tue, 11 Aug 2026 14:25:00 -0700 Subject: [PATCH 146/160] feat: Solid 2.0 template support - New "Solid 2.0" project type (--solid) scaffolding the solid-v2/* templates; listed first but not preselected while core is in beta - Optional streaming-SSR flip (--ssr / prompt, default No) on templates that support it: ssr: true in vite.config.ts, the generic production server.js (verbatim from solid-v2/fullstack), and a matching start script - JS variants via the existing sucrase conversion, adapted for turnkey templates (no index.html rewrite, .ts refs in vite.config retargeted, .d.ts dropped, minimal jsconfig) - templates.json manifest read from the templates repo HEAD (2s timeout, silent fallback to the baked-in lists) now drives template names, subdir paths and per-template flags, so template additions/reorganizations no longer require a CLI release - Template downloads can be pinned to a templates-repo ref per release (TEMPLATES_REF, SOLID_CLI_TEMPLATES_REF override) Co-authored-by: Cursor --- .changeset/solid-v2-templates.md | 12 ++ packages/create/src/create-solid-v2.ts | 49 +++++++ packages/create/src/create-start.ts | 22 ++- packages/create/src/create-vanilla.ts | 17 ++- packages/create/src/index.ts | 84 ++++++++--- packages/create/src/utils/constants.ts | 44 +++++- packages/create/src/utils/download.ts | 19 +++ packages/create/src/utils/manifest.ts | 119 ++++++++++++++++ packages/create/src/utils/ssr-flip.ts | 133 ++++++++++++++++++ packages/create/src/utils/ts-conversion.ts | 8 +- .../fixtures/solid-v2-basic/package.json | 30 ++++ .../fixtures/solid-v2-basic/vite.config.ts | 32 +++++ packages/create/tests/manifest.test.ts | 80 +++++++++++ packages/create/tests/ssr-flip.test.ts | 48 +++++++ packages/create/tests/template.test.ts | 9 +- scripts/gen-ssr-flip-server.mjs | 15 ++ vitest.config.ts | 7 +- 17 files changed, 677 insertions(+), 51 deletions(-) create mode 100644 .changeset/solid-v2-templates.md create mode 100644 packages/create/src/create-solid-v2.ts create mode 100644 packages/create/src/utils/download.ts create mode 100644 packages/create/src/utils/manifest.ts create mode 100644 packages/create/src/utils/ssr-flip.ts create mode 100644 packages/create/tests/fixtures/solid-v2-basic/package.json create mode 100644 packages/create/tests/fixtures/solid-v2-basic/vite.config.ts create mode 100644 packages/create/tests/manifest.test.ts create mode 100644 packages/create/tests/ssr-flip.test.ts create mode 100644 scripts/gen-ssr-flip-server.mjs diff --git a/.changeset/solid-v2-templates.md b/.changeset/solid-v2-templates.md new file mode 100644 index 0000000..c2477d5 --- /dev/null +++ b/.changeset/solid-v2-templates.md @@ -0,0 +1,12 @@ +--- +"create-solid": minor +"@solid-cli/create": minor +--- + +Solid 2.0 template support + +- New "Solid 2.0" top-level project type scaffolding the `solid-v2/*` templates from solidjs/templates (basic, bare, fullstack, fullstack-tanstack, with-\*). Listed first but not preselected while Solid 2.0 core is in beta; existing flags (`-s`, `-v`, `-l`, `--v2`) keep their meaning, plus new `--solid` and `--ssr` flags. +- Optional streaming SSR on templates that support it (currently `basic`): a scaffold-time flip that sets `ssr: true` in `vite.config.ts`, adds the generic production `server.js`, and points the `start` script at it. Defaults to No. +- JavaScript variants of the Solid 2.0 templates via the existing sucrase TS→JS conversion (no `index.html` rewrite; `.ts`/`.tsx` references inside `vite.config` are retargeted, `.d.ts` files dropped, minimal `jsconfig.json`). +- Template lists, subdir paths and per-template flags are now read from a `templates.json` manifest at the templates repo HEAD (2s timeout), with silent fallback to the baked-in lists — so new templates and future repo reorganizations no longer require a CLI release. +- Template tarball downloads can be pinned to a templates-repo ref per CLI release (`TEMPLATES_REF`, overridable via `SOLID_CLI_TEMPLATES_REF`). diff --git a/packages/create/src/create-solid-v2.ts b/packages/create/src/create-solid-v2.ts new file mode 100644 index 0000000..c4366d4 --- /dev/null +++ b/packages/create/src/create-solid-v2.ts @@ -0,0 +1,49 @@ +import { join } from "node:path"; +import { existsSync, writeFileSync } from "node:fs"; +import { readFile, writeFile } from "node:fs/promises"; +import { handleTSConversion } from "./utils/ts-conversion"; +import { GIT_IGNORE, JS_CONFIG_SOLID_V2, SolidV2Template } from "./utils/constants"; +import { downloadTemplate } from "./utils/download"; +import { applySsrFlip } from "./utils/ssr-flip"; + +export type CreateSolidV2Args = { + template: SolidV2Template | (string & {}); + destination: string; + /** Subdir prefix inside the templates repo (from templates.json), defaults to "solid-v2" */ + path?: string; +}; + +export const createSolidV2 = (args: CreateSolidV2Args, transpile?: boolean, ssr?: boolean) => { + if (transpile) { + return createSolidV2JS(args, ssr); + } + return createSolidV2TS(args, ssr); +}; + +export const createSolidV2TS = async ({ template, destination, path = "solid-v2" }: CreateSolidV2Args, ssr?: boolean) => { + await downloadTemplate(`${path}/${template}`, destination); + if (ssr) await applySsrFlip(destination); +}; + +export const createSolidV2JS = async (args: CreateSolidV2Args, ssr?: boolean) => { + // Create typescript project in `/.project` + // then transpile this to javascript and clean up. + // The SSR flip runs inside the temp dir, before conversion, so the config + // edit happens on the `.ts` source (server.js is already plain JS). + const tempDir = join(args.destination, ".project"); + await createSolidV2TS({ ...args, destination: tempDir }, ssr); + await handleTSConversion(tempDir, args.destination, JS_CONFIG_SOLID_V2); + // Solid 2.0 templates have no `index.html` (turnkey entries), but their vite + // config references `.ts`/`.tsx` files by path (setup files, middleware, test + // globs) — retarget those to the transpiled `.js`/`.jsx` output + const viteConfigPath = join(args.destination, "vite.config.js"); + if (existsSync(viteConfigPath)) { + const viteConfig = (await readFile(viteConfigPath)) + .toString() + .replace(/\.tsx(?=['"])/g, ".jsx") + .replace(/\.ts(?=['"])/g, ".js"); + await writeFile(viteConfigPath, viteConfig); + } + // Add .gitignore + writeFileSync(join(args.destination, ".gitignore"), GIT_IGNORE); +}; diff --git a/packages/create/src/create-start.ts b/packages/create/src/create-start.ts index 579f4dc..0b4bc29 100644 --- a/packages/create/src/create-start.ts +++ b/packages/create/src/create-start.ts @@ -1,29 +1,25 @@ -import { downloadRepo, GithubFetcher } from "@begit/core"; import { join } from "path"; import { writeFileSync } from "fs"; import { handleTSConversion } from "./utils/ts-conversion"; import { GIT_IGNORE, StartTemplate, StartTemplateV2 } from "./utils/constants"; +import { downloadTemplate } from "./utils/download"; export type CreateStartArgs = { - template: StartTemplate | StartTemplateV2; + template: StartTemplate | StartTemplateV2 | (string & {}); destination: string; + /** Subdir prefix inside the templates repo (from templates.json), defaults to "solid-start-v2"/"solid-start-v1" */ + path?: string; }; -export const createStartTS = ({ template, destination }: CreateStartArgs, v2?: boolean) => { - const subdir = v2 ? `solid-start-v2/${template}` : `solid-start-v1/${template}`; - return downloadRepo( - { - repo: { owner: "solidjs", name: "templates", subdir }, - dest: destination, - }, - GithubFetcher, - ); +export const createStartTS = ({ template, destination, path }: CreateStartArgs, v2?: boolean) => { + const prefix = path ?? (v2 ? "solid-start-v2" : "solid-start-v1"); + return downloadTemplate(`${prefix}/${template}`, destination); }; -export const createStartJS = async ({ template, destination }: CreateStartArgs, v2?: boolean) => { +export const createStartJS = async ({ template, destination, path }: CreateStartArgs, v2?: boolean) => { // Create typescript project in `/.project` // then transpile this to javascript and clean up const tempDir = join(destination, ".project"); - await createStartTS({ template, destination: tempDir }, v2); + await createStartTS({ template, destination: tempDir, path }, v2); await handleTSConversion(tempDir, destination); // Add .gitignore writeFileSync(join(destination, ".gitignore"), GIT_IGNORE); diff --git a/packages/create/src/create-vanilla.ts b/packages/create/src/create-vanilla.ts index 0cebd73..a27d564 100644 --- a/packages/create/src/create-vanilla.ts +++ b/packages/create/src/create-vanilla.ts @@ -1,13 +1,15 @@ -import { downloadRepo, GithubFetcher } from "@begit/core"; import { join } from "node:path"; import { writeFileSync } from "node:fs"; import { readFile } from "node:fs/promises"; import { handleTSConversion } from "./utils/ts-conversion"; import { GIT_IGNORE, VanillaTemplate } from "./utils/constants"; +import { downloadTemplate } from "./utils/download"; export type CreateVanillaArgs = { - template: VanillaTemplate; + template: VanillaTemplate | (string & {}); destination: string; + /** Subdir prefix inside the templates repo (from templates.json), defaults to "vanilla" */ + path?: string; }; export const createVanilla = (args: CreateVanillaArgs, transpile?: boolean) => { if (transpile) { @@ -16,18 +18,15 @@ export const createVanilla = (args: CreateVanillaArgs, transpile?: boolean) => { return createVanillaTS(args); }; -export const createVanillaTS = async ({ template, destination }: CreateVanillaArgs) => { - return await downloadRepo( - { repo: { owner: "solidjs", name: "templates", subdir: `vanilla/${template}` }, dest: destination }, - GithubFetcher, - ); +export const createVanillaTS = async ({ template, destination, path = "vanilla" }: CreateVanillaArgs) => { + return await downloadTemplate(`${path}/${template}`, destination); }; -export const createVanillaJS = async ({ template, destination }: CreateVanillaArgs) => { +export const createVanillaJS = async ({ template, destination, path }: CreateVanillaArgs) => { // Create typescript project in `/.project` // then transpile this to javascript and clean up const tempDir = join(destination, ".project"); - await createVanillaTS({ template, destination: tempDir }); + await createVanillaTS({ template, destination: tempDir, path }); await handleTSConversion(tempDir, destination); // Replace `index.tsx` with `index.jsx` in `index.html` const indexPath = join(destination, "index.html"); diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 4a7cf87..8c3bffd 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -3,13 +3,22 @@ import { createVanilla } from "./create-vanilla"; import * as p from "@clack/prompts"; import { cancelable, spinnerify } from "@solid-cli/utils/ui"; import { createStart } from "./create-start"; -import { getTemplatesList, GIT_IGNORE, isValidTemplate, PROJECT_TYPES, ProjectType } from "./utils/constants"; +import { createSolidV2 } from "./create-solid-v2"; +import { GIT_IGNORE, isValidTemplate, LIBRARY_TEMPLATES, PROJECT_TYPES, ProjectType } from "./utils/constants"; +import { fetchTemplatesManifest, groupKeyFor, ManifestTemplate, resolveGroup } from "./utils/manifest"; import { detectPackageManager } from "@solid-cli/utils/package-manager"; import { existsSync, writeFileSync } from "node:fs"; import { join } from "node:path"; import { createLibrary } from "./create-library"; import { readFile, writeFile } from "node:fs/promises"; -export { createVanilla, createStart, createLibrary }; +export { createVanilla, createStart, createLibrary, createSolidV2 }; + +const PROJECT_TYPE_LABELS: Record = { + solid: "Solid 2.0 (Beta)", + start: "SolidStart (Solid 1.x)", + vanilla: "SolidJS + Vite (Solid 1.x)", + library: "Library", +}; export const createSolid = (version: string) => defineCommand({ @@ -41,6 +50,11 @@ export const createSolid = (version: string) => alias: "t", description: "Template name", }, + "solid": { + type: "boolean", + required: false, + description: "Create a Solid 2.0 project", + }, "solidstart": { type: "boolean", required: false, @@ -64,6 +78,11 @@ export const createSolid = (version: string) => alias: "v", description: "Create a vanilla (SolidJS + Vite) project", }, + "ssr": { + type: "boolean", + required: false, + description: "Enable server-side rendering (Solid 2.0 templates that support it)", + }, "ts": { type: "boolean", required: false, @@ -81,9 +100,11 @@ export const createSolid = (version: string) => templatePositional, "project-name": projectNameOptional, "template": templateOptional, + solid, solidstart, library, vanilla, + ssr, ts, js, v2, @@ -92,25 +113,30 @@ export const createSolid = (version: string) => // Show prompts for any unknown arguments let projectName = projectNamePositional ?? projectNameOptional; let template = templatePositional ?? templateOptional; - let projectType: ProjectType | undefined = solidstart - ? "start" - : vanilla - ? "vanilla" - : library - ? "library" - : undefined; + let projectType: ProjectType | undefined = solid + ? "solid" + : solidstart + ? "start" + : vanilla + ? "vanilla" + : library + ? "library" + : undefined; // False if user has selected ts, true if they have selected js, and undefined if they've done neither let useJS = ts ? !ts : js ? js : undefined; + // Live template lists/paths from the templates repo; undefined falls back to the baked-in lists + const manifest = await fetchTemplatesManifest(); projectName ??= await cancelable( p.text({ message: "Project Name", placeholder: "solid-project", defaultValue: "solid-project" }), ); projectType ??= await cancelable( p.select({ message: "What type of project would you like to create?", + // Solid 2.0 is listed first but not preselected while core is in beta initialValue: "start", options: PROJECT_TYPES.map((t) => ({ value: t, - label: t === "start" ? "SolidStart" : t === "vanilla" ? "SolidJS + Vite" : "Library", + label: PROJECT_TYPE_LABELS[t], })), }), ); @@ -137,26 +163,48 @@ export const createSolid = (version: string) => useJS ??= projectType === "library" ? false : !(await cancelable(p.confirm({ message: "Use Typescript?" }))); if (!projectType) return; - const template_opts = getTemplatesList(projectType, isV2); + const group = projectType === "library" ? undefined : resolveGroup(manifest, groupKeyFor(projectType, isV2)); + const template_opts: ManifestTemplate[] = group + ? group.templates + : LIBRARY_TEMPLATES.map((name) => ({ name })); template ??= await cancelable( p.select({ message: "Which template would you like to use?", - initialValue: "ts", + initialValue: (template_opts.find((t) => t.default) ?? template_opts[0])?.name, options: template_opts - .filter((s) => (useJS ? s : !s.startsWith("js"))) - .map((s: string) => ({ label: s, value: s })), + .filter((t) => (useJS ? t : !t.name.startsWith("js"))) + .map((t) => ({ label: t.name, value: t.name })), }), ); if (!template) return; + const chosenTemplate = template_opts.find((t) => t.name === template); + + // SSR flip: only offered on Solid 2.0 templates that support it (e.g. "basic") + let enableSSR = false; + if (projectType === "solid" && chosenTemplate?.ssrToggle) { + enableSSR = + ssr ?? + (await cancelable( + p.confirm({ message: "Enable server-side rendering (streaming SSR)?", initialValue: false }), + )); + } else if (ssr) { + p.log.warn(`--ssr is not supported for this template and will be ignored`); + } // Need to transpile if the user wants Jabascript, but their selected template isn't Javascript const transpileToJS = useJS && !template.startsWith("js"); - if (projectType === "start" && isValidTemplate("start", template, isV2)) { + if (projectType === "solid" && chosenTemplate) { + await spinnerify({ + startText: "Creating project", + finishText: "Project created 🎉", + fn: () => createSolidV2({ template, destination: projectName, path: group?.path }, transpileToJS, enableSSR), + }); + } else if (projectType === "start" && chosenTemplate) { await spinnerify({ startText: "Creating project", finishText: "Project created 🎉", - fn: () => createStart({ template, destination: projectName }, transpileToJS, isV2), + fn: () => createStart({ template, destination: projectName, path: group?.path }, transpileToJS, isV2), }); } else if (projectType === "library" && isValidTemplate("library", template)) { await spinnerify({ @@ -164,11 +212,11 @@ export const createSolid = (version: string) => finishText: "Project created 🎉", fn: () => createLibrary({ destination: projectName }), }); - } else if (projectType === "vanilla" && isValidTemplate(projectType, template)) { + } else if (projectType === "vanilla" && chosenTemplate) { await spinnerify({ startText: "Creating project", finishText: "Project created 🎉", - fn: () => createVanilla({ template, destination: projectName }, transpileToJS), + fn: () => createVanilla({ template, destination: projectName, path: group?.path }, transpileToJS), }); } else { p.log.error(`Template ${template} is not valid for project type ${projectType}`); diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index d4130ee..f7bac15 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -38,10 +38,18 @@ export const JS_CONFIG = { }, }; +// The solid-v2 templates don't use the `~/*` path alias +export const JS_CONFIG_SOLID_V2 = { + compilerOptions: { + jsx: "preserve", + jsxImportSource: "solid-js", + }, +}; + // Supported templates /**Supported Vanilla Templates */ -const VANILLA_TEMPLATES = [ +export const VANILLA_TEMPLATES = [ "basic", "bare", "with-vitest", @@ -63,7 +71,7 @@ export type VanillaTemplate = (typeof VANILLA_TEMPLATES)[number]; * @description This list is hardcoded. But templates are fetched from another github repo. * @see https://github.com/solidjs/templates/tree/main/solid-start */ -const START_TEMPLATES = [ +export const START_TEMPLATES = [ "basic", "bare", "with-solidbase", @@ -83,7 +91,7 @@ const START_TEMPLATES = [ export type StartTemplate = (typeof START_TEMPLATES)[number]; -const START_TEMPLATES_V2 = [ +export const START_TEMPLATES_V2 = [ "basic", "bare", "with-auth", @@ -102,11 +110,31 @@ const START_TEMPLATES_V2 = [ export type StartTemplateV2 = (typeof START_TEMPLATES_V2)[number]; +/** + * Solid 2.0 templates (templates repo: `solid-v2/`) + * @see https://github.com/solidjs/templates/tree/main/solid-v2 + */ +export const SOLID_V2_TEMPLATES = [ + "basic", + "bare", + "fullstack", + "fullstack-tanstack", + "with-bootstrap", + "with-sass", + "with-tailwindcss", + "with-tanstack-router", + "with-unocss", + "with-vitest-browser-mode", +] as const satisfies string[]; +export type SolidV2Template = (typeof SOLID_V2_TEMPLATES)[number]; + /**Supported Library Templates */ export const LIBRARY_TEMPLATES = ["solid-lib-starter"] as const satisfies string[]; export type LibraryTemplate = (typeof LIBRARY_TEMPLATES)[number]; -export const PROJECT_TYPES = ["start", "vanilla", "library"] as const satisfies string[]; +// "solid" (Solid 2.0) is listed first, but "start" remains the preselected +// default while Solid 2.0 core is in beta +export const PROJECT_TYPES = ["solid", "start", "vanilla", "library"] as const satisfies string[]; export type ProjectType = (typeof PROJECT_TYPES)[number]; /** @@ -114,14 +142,17 @@ export type ProjectType = (typeof PROJECT_TYPES)[number]; * @param projectType type of project */ export function getTemplatesList(projectType: "vanilla", v2?: boolean): VanillaTemplate[]; +export function getTemplatesList(projectType: "solid", v2?: boolean): SolidV2Template[]; export function getTemplatesList(projectType: "start", v2?: boolean): StartTemplate[] | StartTemplateV2[]; export function getTemplatesList(projectType: "library", v2?: boolean): LibraryTemplate[]; export function getTemplatesList( projectType: ProjectType, v2?: boolean, -): VanillaTemplate[] | StartTemplate[] | StartTemplateV2[] | LibraryTemplate[]; +): VanillaTemplate[] | SolidV2Template[] | StartTemplate[] | StartTemplateV2[] | LibraryTemplate[]; export function getTemplatesList(projectType: ProjectType, v2?: boolean) { - if (projectType === "start") { + if (projectType === "solid") { + return SOLID_V2_TEMPLATES as unknown as SolidV2Template[]; + } else if (projectType === "start") { if (v2) { return START_TEMPLATES_V2 as unknown as StartTemplateV2[]; } @@ -139,6 +170,7 @@ export function getTemplatesList(projectType: ProjectType, v2?: boolean) { * @returns the template string if it is valid, undefined if not */ export function isValidTemplate(type: "vanilla", maybe_template: string): maybe_template is VanillaTemplate; +export function isValidTemplate(type: "solid", maybe_template: string): maybe_template is SolidV2Template; export function isValidTemplate( type: "start", maybe_template: string, diff --git a/packages/create/src/utils/download.ts b/packages/create/src/utils/download.ts new file mode 100644 index 0000000..0788521 --- /dev/null +++ b/packages/create/src/utils/download.ts @@ -0,0 +1,19 @@ +import { downloadRepo, GithubFetcher } from "@begit/core"; + +export const TEMPLATES_REPO = { owner: "solidjs", name: "templates" } as const; + +/** + * Optional ref (tag, sha or branch) of solidjs/templates that scaffold downloads + * are pinned to. Set this at release time (e.g. to a `cli-x.y` tag) so a published + * CLI version keeps scaffolding exactly what it was tested against, immune to + * later reorganizations of the templates repo. `undefined` means live HEAD of the + * default branch, which is the historical behavior. + */ +export const TEMPLATES_REF: string | undefined = undefined; + +/** `SOLID_CLI_TEMPLATES_REF` overrides the baked ref, for testing against branches/forks */ +export const templatesRef = () => process.env.SOLID_CLI_TEMPLATES_REF || TEMPLATES_REF; + +/** Downloads `subdir` of the solidjs/templates repo (at the pinned ref, if any) into `destination` */ +export const downloadTemplate = (subdir: string, destination: string) => + downloadRepo({ repo: { ...TEMPLATES_REPO, subdir, hash: templatesRef() }, dest: destination }, GithubFetcher); diff --git a/packages/create/src/utils/manifest.ts b/packages/create/src/utils/manifest.ts new file mode 100644 index 0000000..6855e68 --- /dev/null +++ b/packages/create/src/utils/manifest.ts @@ -0,0 +1,119 @@ +import { + SOLID_V2_TEMPLATES, + START_TEMPLATES, + START_TEMPLATES_V2, + VANILLA_TEMPLATES, + ProjectType, +} from "./constants"; + +/** + * `templates.json` manifest published at the root of the solidjs/templates repo. + * When reachable, it is the source of truth for template names, subdir paths and + * per-template flags, so the templates repo can add/reorganize templates without + * requiring a CLI release. The baked-in lists in `constants.ts` are the fallback. + */ +export type ManifestTemplate = { + name: string; + /** Preselected in the template prompt */ + default?: boolean; + /** Offer the "Enable server-side rendering?" prompt for this template */ + ssrToggle?: boolean; +}; + +export type ManifestGroup = { + label?: string; + /** Subdir prefix inside the templates repo, e.g. "solid-v2" */ + path: string; + status?: string; + templates: ManifestTemplate[]; +}; + +export type TemplatesManifest = { + version: number; + groups: Record; +}; + +/** Manifest groups the CLI understands (library comes from a different repo and stays baked-in) */ +export type ManifestGroupKey = "solid" | "start-v2" | "start-v1" | "vanilla"; + +export const MANIFEST_URL = "https://raw.githubusercontent.com/solidjs/templates/HEAD/templates.json"; +const MANIFEST_TIMEOUT_MS = 2000; + +const asTemplates = (names: readonly string[], defaultName?: string, ssrToggle?: string): ManifestTemplate[] => + names.map((name) => ({ + name, + ...(name === defaultName ? { default: true } : {}), + ...(name === ssrToggle ? { ssrToggle: true } : {}), + })); + +/** Baked-in fallback, used whenever the manifest can't be fetched or parsed */ +export const BAKED_GROUPS: Record = { + "solid": { + label: "Solid 2.0", + path: "solid-v2", + templates: asTemplates(SOLID_V2_TEMPLATES, "basic", "basic"), + }, + "start-v2": { + label: "SolidStart 2", + path: "solid-start-v2", + templates: asTemplates(START_TEMPLATES_V2, "basic"), + }, + "start-v1": { + label: "SolidStart 1", + path: "solid-start-v1", + templates: asTemplates(START_TEMPLATES, "basic"), + }, + "vanilla": { + label: "SolidJS + Vite", + path: "vanilla", + templates: asTemplates(VANILLA_TEMPLATES, "basic"), + }, +}; + +/** + * Validates an untrusted parsed JSON value into a `TemplatesManifest`. + * Returns `undefined` for anything unusable (unknown major version, wrong shape), + * dropping malformed groups/entries rather than failing outright. + */ +export const parseManifest = (raw: unknown): TemplatesManifest | undefined => { + if (!raw || typeof raw !== "object") return undefined; + const manifest = raw as TemplatesManifest; + if (manifest.version !== 1) return undefined; + if (!manifest.groups || typeof manifest.groups !== "object") return undefined; + const groups: Record = {}; + for (const [key, group] of Object.entries(manifest.groups)) { + if (!group || typeof group !== "object") continue; + if (typeof group.path !== "string" || !Array.isArray(group.templates)) continue; + const templates = group.templates.filter( + (t): t is ManifestTemplate => !!t && typeof t === "object" && typeof t.name === "string", + ); + if (templates.length === 0) continue; + groups[key] = { ...group, templates }; + } + if (Object.keys(groups).length === 0) return undefined; + return { version: 1, groups }; +}; + +/** + * Fetches the live manifest from the templates repo (HEAD, small file, short timeout). + * Any failure — offline, timeout, 404, malformed JSON, unknown version — resolves to + * `undefined` so callers silently fall back to the baked-in lists. + */ +export const fetchTemplatesManifest = async (): Promise => { + try { + const url = process.env.SOLID_CLI_TEMPLATES_MANIFEST_URL || MANIFEST_URL; + const res = await fetch(url, { signal: AbortSignal.timeout(MANIFEST_TIMEOUT_MS) }); + if (!res.ok) return undefined; + return parseManifest(await res.json()); + } catch { + return undefined; + } +}; + +/** Maps the CLI's project type (+ SolidStart version) to a manifest group key */ +export const groupKeyFor = (projectType: Exclude, startV2?: boolean): ManifestGroupKey => + projectType === "start" ? (startV2 ? "start-v2" : "start-v1") : projectType; + +/** Resolves a group from the manifest, falling back to the baked-in lists */ +export const resolveGroup = (manifest: TemplatesManifest | undefined, key: ManifestGroupKey): ManifestGroup => + manifest?.groups[key] ?? BAKED_GROUPS[key]; diff --git a/packages/create/src/utils/ssr-flip.ts b/packages/create/src/utils/ssr-flip.ts new file mode 100644 index 0000000..08b59d6 --- /dev/null +++ b/packages/create/src/utils/ssr-flip.ts @@ -0,0 +1,133 @@ +import { existsSync } from "node:fs"; +import { readFile, writeFile } from "node:fs/promises"; +import { join } from "node:path"; +import { log } from "@clack/prompts"; + +/** + * Flips a client-mode Solid 2.0 template (e.g. `solid-v2/basic`) into streaming SSR. + * The delta to the `solid-v2/fullstack` template's server posture is exactly three files: + * 1. `vite.config.ts` — add `ssr: true` to the `solid({ start: true, ... })` call + * 2. `server.js` — the generic production node server (verbatim from `solid-v2/fullstack`) + * 3. `package.json` — point the `start` script at that server + */ + +export const SSR_ANCHOR = "solid({ start: true"; +/** The template documents the flip with this hint; drop it once the flip is applied */ +export const SSR_HINT_COMMENT = " // add `ssr: true` for streaming SSR"; +export const SSR_START_SCRIPT = "node --env-file-if-exists=.env server.js"; + +/** + * Production node server for turnkey SSR apps. Verbatim copy of + * `solid-v2/fullstack/server.js` from the templates repo — fully generic: it only + * imports node builtins plus the built server bundle's `handleRequest`. + * Regenerate with `node scripts/gen-ssr-flip-server.mjs ` + * when the template changes. + */ +// @generated-server-js-start +export const SERVER_JS = `// The entire production server for a turnkey SSR app: static client assets +// plus one import — the built server bundle's \`handleRequest\`, an +// adapter-agnostic web \`Request -> Response\` handler that streams the SSR +// render, resolves hashed client assets through the build manifest, and +// (with serverFunctions enabled) serves the \`/_server\` endpoint too. The +// node <-> web plumbing below is the only glue; on a web-native platform +// (workers, Deno, Bun.serve) \`handleRequest\` is used directly. +import { createServer } from 'node:http'; +import { readFileSync } from 'node:fs'; +import { Readable } from 'node:stream'; +import { fileURLToPath } from 'node:url'; +import path from 'node:path'; +import { handleRequest } from './dist/server/server.js'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const port = process.env.PORT || 3000; + +const MIME = { + '.js': 'application/javascript', + '.css': 'text/css', + '.html': 'text/html', + '.json': 'application/json', + '.ico': 'image/x-icon', + '.svg': 'image/svg+xml', +}; + +function webRequest(req) { + const url = new URL(req.url || '/', \`http://\${req.headers.host || \`localhost:\${port}\`}\`); + const method = req.method || 'GET'; + const body = method === 'GET' || method === 'HEAD' ? undefined : Readable.toWeb(req); + return new Request(url, { + method, + headers: req.headers, + body, + ...(body ? { duplex: 'half' } : {}), + }); +} + +const server = createServer(async (req, res) => { + const url = req.url || '/'; + + // Static client assets first. + if (url !== '/' && !url.includes('..')) { + try { + const content = readFileSync(path.resolve(__dirname, 'dist/client' + url.split('?')[0])); + res.setHeader('Content-Type', MIME[path.extname(url)] || 'application/octet-stream'); + res.end(content); + return; + } catch { + // Fall through to the handler (SSR routes, /_server, ...). + } + } + + try { + const response = await handleRequest(webRequest(req)); + res.statusCode = response.status; + const cookies = response.headers.getSetCookie?.(); + response.headers.forEach((value, key) => { + if (key !== 'set-cookie') res.setHeader(key, value); + }); + if (cookies?.length) res.setHeader('set-cookie', cookies); + if (response.body) { + for await (const chunk of response.body) res.write(chunk); + } + res.end(); + } catch (e) { + console.error(e); + res.statusCode = 500; + res.end(e.message); + } +}); + +server.listen(port, () => { + console.log(\`Server running at http://localhost:\${port}\`); +}); +`; +// @generated-server-js-end + +/** + * Applies the SSR flip to a scaffolded template directory (before any TS→JS conversion, + * so the config edit happens on the `.ts` source). + * + * If the `vite.config.ts` anchor is missing (template drifted), the flip is aborted + * with a warning instead of writing a broken config, leaving a working client-mode app. + */ +export const applySsrFlip = async (dir: string): Promise => { + const viteConfigPath = join(dir, "vite.config.ts"); + const abort = (reason: string) => { + log.warn(`Skipping SSR setup: ${reason}. The project was created in client mode.`); + return false; + }; + if (!existsSync(viteConfigPath)) return abort("no vite.config.ts found"); + const viteConfig = (await readFile(viteConfigPath)).toString(); + if (!viteConfig.includes(SSR_ANCHOR)) return abort("unrecognized vite.config.ts"); + + await writeFile( + viteConfigPath, + viteConfig.replace(SSR_ANCHOR, `${SSR_ANCHOR}, ssr: true`).replace(SSR_HINT_COMMENT, ""), + ); + await writeFile(join(dir, "server.js"), SERVER_JS); + + const packageJsonPath = join(dir, "package.json"); + const packageJson = JSON.parse((await readFile(packageJsonPath)).toString()); + packageJson.scripts = { ...packageJson.scripts, start: SSR_START_SCRIPT }; + await writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2) + "\n"); + return true; +}; diff --git a/packages/create/src/utils/ts-conversion.ts b/packages/create/src/utils/ts-conversion.ts index 10d9c37..e0bd5a0 100644 --- a/packages/create/src/utils/ts-conversion.ts +++ b/packages/create/src/utils/ts-conversion.ts @@ -12,7 +12,9 @@ const convertToJS = async (file: Dirent, startPath: string) => { mkdirSync(dest, { recursive: true }); recurseFiles(resolve(startPath, file.name), convertToJS); } else if (file.isFile()) { - if (src.endsWith(".ts") || src.endsWith(".tsx")) { + if (src.endsWith(".d.ts")) { + // Type declarations have no JS counterpart + } else if (src.endsWith(".ts") || src.endsWith(".tsx")) { let { code } = transform(await readFileToString(src), { transforms: ["typescript", "jsx"], jsxRuntime: "preserve", @@ -26,9 +28,9 @@ const convertToJS = async (file: Dirent, startPath: string) => { } } }; -export const handleTSConversion = async (tempDir: string, projectName: string) => { +export const handleTSConversion = async (tempDir: string, projectName: string, jsConfig: object = JS_CONFIG) => { await rm(resolve(tempDir, "tsconfig.json")); - writeFileSync(resolve(projectName, "jsconfig.json"), JSON.stringify(JS_CONFIG, null, 2), { flag: "wx" }); + writeFileSync(resolve(projectName, "jsconfig.json"), JSON.stringify(jsConfig, null, 2), { flag: "wx" }); // Convert all ts files in temp directory into js recurseFiles(tempDir, convertToJS); diff --git a/packages/create/tests/fixtures/solid-v2-basic/package.json b/packages/create/tests/fixtures/solid-v2-basic/package.json new file mode 100644 index 0000000..d351538 --- /dev/null +++ b/packages/create/tests/fixtures/solid-v2-basic/package.json @@ -0,0 +1,30 @@ +{ + "name": "example-basic", + "version": "0.0.0", + "description": "", + "type": "module", + "scripts": { + "start": "vite", + "dev": "vite", + "build": "vite build", + "serve": "vite preview", + "test": "vitest" + }, + "license": "MIT", + "devDependencies": { + "@solidjs/testing-library": "1.0.0-beta.2", + "@testing-library/jest-dom": "^6.6.3", + "filesystem-routing": "0.2.1", + "jsdom": "^25.0.1", + "typescript": "^5.9.2", + "vite": "^8.1.5", + "vite-plugin-solid": "3.0.0-next.24", + "vitest": "^4.0.0" + }, + "dependencies": { + "@solidjs/meta": "1.0.0-next.1", + "@solidjs/router": "2.0.0-next.15", + "@solidjs/web": "2.0.0-beta.33", + "solid-js": "2.0.0-beta.33" + } +} diff --git a/packages/create/tests/fixtures/solid-v2-basic/vite.config.ts b/packages/create/tests/fixtures/solid-v2-basic/vite.config.ts new file mode 100644 index 0000000..554fb1d --- /dev/null +++ b/packages/create/tests/fixtures/solid-v2-basic/vite.config.ts @@ -0,0 +1,32 @@ +import { fileRoutes } from 'filesystem-routing/vite'; +import { defineConfig } from 'vitest/config'; +import solid from 'vite-plugin-solid'; + +export default defineConfig({ + // Turnkey client mode: no index.html and no mount file — the plugin + // generates the entries around src/App.tsx, wrapped in src/Document.tsx + // (or a built-in shell). `vite build` prerenders the shell into + // dist/client/index.html and emits a purely static dist/client. + plugins: [ + // `extensions` makes vite-plugin-solid also compile the `?pick=` route + // modules the fileRoutes plugin emits (their ids end in a query string). + solid({ start: true, extensions: ['.jsx', '.tsx'] }), // add `ssr: true` for streaming SSR + fileRoutes(), + ], + server: { + port: 3000, + }, + test: { + environment: 'jsdom', + globals: false, + setupFiles: ['./vitest-setup.ts'], + // if you have few tests, try commenting this + // out to improve performance: + isolate: false, + }, + build: { + target: 'esnext', + // Keep images as asset files instead of inlining them into the JS bundle. + assetsInlineLimit: 0, + }, +}); diff --git a/packages/create/tests/manifest.test.ts b/packages/create/tests/manifest.test.ts new file mode 100644 index 0000000..ae78e1b --- /dev/null +++ b/packages/create/tests/manifest.test.ts @@ -0,0 +1,80 @@ +import { afterEach, expect, it } from "vitest"; +import { fetchTemplatesManifest, parseManifest, resolveGroup } from "../src/utils/manifest"; + +const validManifest = { + version: 1, + groups: { + solid: { + label: "Solid 2.0", + path: "solid-v2", + templates: [{ name: "basic", default: true, ssrToggle: true }, { name: "bare" }], + }, + }, +}; + +it("parses a valid manifest", () => { + const manifest = parseManifest(validManifest); + expect(manifest).toBeDefined(); + expect(manifest!.groups["solid"].path).toBe("solid-v2"); + expect(manifest!.groups["solid"].templates.map((t) => t.name)).toEqual(["basic", "bare"]); +}); + +it("rejects unknown manifest versions and malformed documents", () => { + expect(parseManifest({ ...validManifest, version: 2 })).toBeUndefined(); + expect(parseManifest(null)).toBeUndefined(); + expect(parseManifest("nonsense")).toBeUndefined(); + expect(parseManifest({ version: 1 })).toBeUndefined(); + expect(parseManifest({ version: 1, groups: { solid: { templates: "not-an-array" } } })).toBeUndefined(); +}); + +it("drops malformed groups and template entries but keeps the rest", () => { + const manifest = parseManifest({ + version: 1, + groups: { + solid: { path: "solid-v2", templates: [{ name: "basic" }, { notAName: true }, "bare"] }, + broken: { path: 42, templates: [{ name: "x" }] }, + }, + }); + expect(manifest).toBeDefined(); + expect(Object.keys(manifest!.groups)).toEqual(["solid"]); + expect(manifest!.groups["solid"].templates).toEqual([{ name: "basic" }]); +}); + +it("resolves groups from the manifest, falling back to baked-in lists", () => { + const manifest = parseManifest(validManifest); + expect(resolveGroup(manifest, "solid").templates.map((t) => t.name)).toEqual(["basic", "bare"]); + + // Groups missing from the manifest fall back per-group + expect(resolveGroup(manifest, "vanilla").path).toBe("vanilla"); + + // No manifest at all: everything comes from the baked-in lists + const baked = resolveGroup(undefined, "solid"); + expect(baked.path).toBe("solid-v2"); + expect(baked.templates.map((t) => t.name)).toEqual([ + "basic", + "bare", + "fullstack", + "fullstack-tanstack", + "with-bootstrap", + "with-sass", + "with-tailwindcss", + "with-tanstack-router", + "with-unocss", + "with-vitest-browser-mode", + ]); + const basic = baked.templates.find((t) => t.name === "basic")!; + expect(basic.default).toBe(true); + expect(basic.ssrToggle).toBe(true); + expect(resolveGroup(undefined, "start-v2").path).toBe("solid-start-v2"); + expect(resolveGroup(undefined, "start-v1").path).toBe("solid-start-v1"); +}); + +afterEach(() => { + delete process.env.SOLID_CLI_TEMPLATES_MANIFEST_URL; +}); + +it("silently returns undefined when the manifest fetch fails", async () => { + // Unroutable address: connection is refused immediately + process.env.SOLID_CLI_TEMPLATES_MANIFEST_URL = "http://127.0.0.1:1/templates.json"; + expect(await fetchTemplatesManifest()).toBeUndefined(); +}); diff --git a/packages/create/tests/ssr-flip.test.ts b/packages/create/tests/ssr-flip.test.ts new file mode 100644 index 0000000..bdaa739 --- /dev/null +++ b/packages/create/tests/ssr-flip.test.ts @@ -0,0 +1,48 @@ +import { beforeEach, expect, it } from "vitest"; +import { mkdtempSync, copyFileSync, existsSync, readFileSync, writeFileSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; +import { fileURLToPath } from "node:url"; +import { applySsrFlip, SERVER_JS, SSR_HINT_COMMENT, SSR_START_SCRIPT } from "../src/utils/ssr-flip"; + +const fixtures = fileURLToPath(new URL("./fixtures/solid-v2-basic/", import.meta.url)); + +let dir: string; +beforeEach(() => { + dir = mkdtempSync(join(tmpdir(), "ssr-flip-")); + copyFileSync(join(fixtures, "vite.config.ts"), join(dir, "vite.config.ts")); + copyFileSync(join(fixtures, "package.json"), join(dir, "package.json")); +}); + +it("flips the basic template to streaming SSR", async () => { + expect(await applySsrFlip(dir)).toBe(true); + + const viteConfig = readFileSync(join(dir, "vite.config.ts")).toString(); + expect(viteConfig).toContain("solid({ start: true, ssr: true"); + expect(viteConfig).not.toContain(SSR_HINT_COMMENT); + + // The production server is a verbatim copy of solid-v2/fullstack/server.js + expect(readFileSync(join(dir, "server.js")).toString()).toBe(SERVER_JS); + + const packageJson = JSON.parse(readFileSync(join(dir, "package.json")).toString()); + expect(packageJson.scripts.start).toBe(SSR_START_SCRIPT); + // The other scripts are untouched + expect(packageJson.scripts.dev).toBe("vite"); + expect(packageJson.scripts.build).toBe("vite build"); +}); + +it("aborts without writing anything when the vite config anchor is missing", async () => { + const drifted = `import { defineConfig } from "vite";\nexport default defineConfig({});\n`; + writeFileSync(join(dir, "vite.config.ts"), drifted); + const packageJsonBefore = readFileSync(join(dir, "package.json")).toString(); + + expect(await applySsrFlip(dir)).toBe(false); + + expect(readFileSync(join(dir, "vite.config.ts")).toString()).toBe(drifted); + expect(existsSync(join(dir, "server.js"))).toBe(false); + expect(readFileSync(join(dir, "package.json")).toString()).toBe(packageJsonBefore); +}); + +it("aborts when there is no vite.config.ts", async () => { + expect(await applySsrFlip(mkdtempSync(join(tmpdir(), "ssr-flip-empty-")))).toBe(false); +}); diff --git a/packages/create/tests/template.test.ts b/packages/create/tests/template.test.ts index 6fb0520..bb6fc0c 100644 --- a/packages/create/tests/template.test.ts +++ b/packages/create/tests/template.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { createVanilla } from "../src"; +import { createSolidV2, createVanilla } from "../src"; import { existsSync } from "fs"; it("downloads and extracts the basic template", async () => { await createVanilla({ template: "basic", destination: "./test/ts" }, false); @@ -7,3 +7,10 @@ it("downloads and extracts the basic template", async () => { const appTsx = existsSync("./test/ts/src/App.tsx"); expect(appTsx).toBe(true); }); + +it("downloads and extracts the solid-v2 basic template", async () => { + await createSolidV2({ template: "basic", destination: "./test/solid-v2" }, false); + + const appTsx = existsSync("./test/solid-v2/src/App.tsx"); + expect(appTsx).toBe(true); +}); diff --git a/scripts/gen-ssr-flip-server.mjs b/scripts/gen-ssr-flip-server.mjs new file mode 100644 index 0000000..c1f199e --- /dev/null +++ b/scripts/gen-ssr-flip-server.mjs @@ -0,0 +1,15 @@ +// One-off generator: embeds solid-v2/fullstack/server.js into ssr-flip.ts as an +// escaped template literal, guaranteeing the scaffolded file byte-matches the template. +import { readFileSync, writeFileSync } from "node:fs"; + +const [src, dest] = process.argv.slice(2); +const content = readFileSync(src, "utf8"); +const escaped = content.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"); + +const target = readFileSync(dest, "utf8"); +const updated = target.replace( + /(\/\/ @generated-server-js-start\nexport const SERVER_JS = `)[\s\S]*?(`;\n\/\/ @generated-server-js-end)/, + `$1${escaped}$2`, +); +writeFileSync(dest, updated); +console.log("embedded", content.length, "bytes"); diff --git a/vitest.config.ts b/vitest.config.ts index bef45c6..3bc10e7 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,4 +1,9 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ - test: { globalSetup: ["./setup.ts"] }, + test: { + globalSetup: ["./setup.ts"], + // "test" is where template-download tests scaffold projects; + // the scaffolded templates carry test files of their own + exclude: ["**/node_modules/**", "**/test/**"], + }, }); From 8d682044a2873ef7208a8af5685bbc68a40359ce Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Tue, 11 Aug 2026 16:08:53 -0700 Subject: [PATCH 147/160] chore: pin TEMPLATES_REF to templates main (c3032d9) carrying solid-v2 + templates.json Co-authored-by: Cursor --- packages/create/src/utils/download.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/utils/download.ts b/packages/create/src/utils/download.ts index 0788521..e972998 100644 --- a/packages/create/src/utils/download.ts +++ b/packages/create/src/utils/download.ts @@ -9,7 +9,7 @@ export const TEMPLATES_REPO = { owner: "solidjs", name: "templates" } as const; * later reorganizations of the templates repo. `undefined` means live HEAD of the * default branch, which is the historical behavior. */ -export const TEMPLATES_REF: string | undefined = undefined; +export const TEMPLATES_REF: string | undefined = "c3032d95cd6d6ab4782eb64902a12829a36d0731"; /** `SOLID_CLI_TEMPLATES_REF` overrides the baked ref, for testing against branches/forks */ export const templatesRef = () => process.env.SOLID_CLI_TEMPLATES_REF || TEMPLATES_REF; From 048ca9244d32af00295dfffff1bd1d4a27d1d3f5 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Tue, 11 Aug 2026 21:48:15 -0700 Subject: [PATCH 148/160] chore: bump TEMPLATES_REF to templates main (b3d888d) for browser-mode fixes Picks up two template fixes: solid-v2/with-vitest-browser-mode sets environment: 'node' explicitly so `pnpm test` exits 0, and vanilla/with-vitest-browser-mode's corrupted import specifier is repaired. Co-authored-by: Cursor --- packages/create/src/utils/download.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/utils/download.ts b/packages/create/src/utils/download.ts index e972998..a62a6e5 100644 --- a/packages/create/src/utils/download.ts +++ b/packages/create/src/utils/download.ts @@ -9,7 +9,7 @@ export const TEMPLATES_REPO = { owner: "solidjs", name: "templates" } as const; * later reorganizations of the templates repo. `undefined` means live HEAD of the * default branch, which is the historical behavior. */ -export const TEMPLATES_REF: string | undefined = "c3032d95cd6d6ab4782eb64902a12829a36d0731"; +export const TEMPLATES_REF: string | undefined = "b3d888d309c7173feee2b4cb3ddba8e788af559b"; /** `SOLID_CLI_TEMPLATES_REF` overrides the baked ref, for testing against branches/forks */ export const templatesRef = () => process.env.SOLID_CLI_TEMPLATES_REF || TEMPLATES_REF; From 5833ad173d8a66f087fe9ad399d670c2b0b87894 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Wed, 12 Aug 2026 03:40:53 -0700 Subject: [PATCH 149/160] fix: use @solidjs/web as jsxImportSource in solid-v2 jsconfig The JS variants of the Solid 2.0 templates were getting a jsconfig.json with jsxImportSource "solid-js", but the templates' own tsconfig.json declares "@solidjs/web" (Solid 2.0's JSX runtime lives there, and vite-plugin-solid 3.x compiles against it). Match the templates. Raised by @brenelz in #82 review. Co-authored-by: Cursor --- packages/create/src/utils/constants.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index f7bac15..b973bf3 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -38,11 +38,12 @@ export const JS_CONFIG = { }, }; -// The solid-v2 templates don't use the `~/*` path alias +// The solid-v2 templates don't use the `~/*` path alias, and Solid 2.0's JSX +// runtime lives in `@solidjs/web` (matches the templates' tsconfig.json) export const JS_CONFIG_SOLID_V2 = { compilerOptions: { jsx: "preserve", - jsxImportSource: "solid-js", + jsxImportSource: "@solidjs/web", }, }; From 2e3d9385d47f0d0ddd89baf740ac7c89abdc668d Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Wed, 12 Aug 2026 08:14:54 -0700 Subject: [PATCH 150/160] fix: dedupe extensions array when converting solid-v2 vite config to JS The blanket `.tsx` -> `.jsx` retarget regex in createSolidV2JS rewrote both entries of `extensions: ['.jsx', '.tsx']` to the same value, leaving `['.jsx', '.jsx']` in the converted vite.config.js. Dedupe the array after the rewrite, and also retarget `.ts`/`.tsx` filename mentions in config comments and the README (`.d.ts` mentions are left alone since those files are deleted, not transpiled). Co-authored-by: Cursor --- packages/create/src/create-solid-v2.ts | 32 ++++++++++++++++------- packages/create/tests/ts-retarget.test.ts | 28 ++++++++++++++++++++ 2 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 packages/create/tests/ts-retarget.test.ts diff --git a/packages/create/src/create-solid-v2.ts b/packages/create/src/create-solid-v2.ts index c4366d4..cfac554 100644 --- a/packages/create/src/create-solid-v2.ts +++ b/packages/create/src/create-solid-v2.ts @@ -25,6 +25,22 @@ export const createSolidV2TS = async ({ template, destination, path = "solid-v2" if (ssr) await applySsrFlip(destination); }; +/** + * Retarget `.ts`/`.tsx` filename mentions in converted text (vite config, + * README) to the transpiled `.js`/`.jsx` output. `.d.ts` files are deleted + * (not transpiled) by the conversion, so their mentions are left alone. + */ +export const retargetTSFilenames = (text: string) => + text + .replace(/\.tsx\b/g, ".jsx") + .replace(/(? { + const deduped = [...new Set(entries.split(",").map((entry) => entry.trim()).filter(Boolean))]; + return `extensions: [${deduped.join(", ")}]`; + }); + export const createSolidV2JS = async (args: CreateSolidV2Args, ssr?: boolean) => { // Create typescript project in `/.project` // then transpile this to javascript and clean up. @@ -34,15 +50,13 @@ export const createSolidV2JS = async (args: CreateSolidV2Args, ssr?: boolean) => await createSolidV2TS({ ...args, destination: tempDir }, ssr); await handleTSConversion(tempDir, args.destination, JS_CONFIG_SOLID_V2); // Solid 2.0 templates have no `index.html` (turnkey entries), but their vite - // config references `.ts`/`.tsx` files by path (setup files, middleware, test - // globs) — retarget those to the transpiled `.js`/`.jsx` output - const viteConfigPath = join(args.destination, "vite.config.js"); - if (existsSync(viteConfigPath)) { - const viteConfig = (await readFile(viteConfigPath)) - .toString() - .replace(/\.tsx(?=['"])/g, ".jsx") - .replace(/\.ts(?=['"])/g, ".js"); - await writeFile(viteConfigPath, viteConfig); + // config and README reference `.ts`/`.tsx` files (setup files, comments, + // route examples) — retarget those to the transpiled `.js`/`.jsx` output + for (const file of ["vite.config.js", "README.md"]) { + const filePath = join(args.destination, file); + if (existsSync(filePath)) { + await writeFile(filePath, retargetTSFilenames((await readFile(filePath)).toString())); + } } // Add .gitignore writeFileSync(join(args.destination, ".gitignore"), GIT_IGNORE); diff --git a/packages/create/tests/ts-retarget.test.ts b/packages/create/tests/ts-retarget.test.ts new file mode 100644 index 0000000..cabb70b --- /dev/null +++ b/packages/create/tests/ts-retarget.test.ts @@ -0,0 +1,28 @@ +import { expect, it } from "vitest"; +import { readFileSync } from "node:fs"; +import { fileURLToPath } from "node:url"; +import { retargetTSFilenames } from "../src/create-solid-v2"; + +const fixtureConfig = fileURLToPath(new URL("./fixtures/solid-v2-basic/vite.config.ts", import.meta.url)); + +it("dedupes the extensions array instead of writing ['.jsx', '.jsx']", () => { + const converted = retargetTSFilenames(readFileSync(fixtureConfig).toString()); + + expect(converted).toContain("extensions: ['.jsx']"); + expect(converted).not.toContain("'.tsx'"); + expect(converted).not.toContain("'.jsx', '.jsx'"); + // Setup files are transpiled alongside the rest of the template + expect(converted).toContain("./vitest-setup.js"); +}); + +it("retargets filename mentions in comments and prose", () => { + const converted = retargetTSFilenames( + "// generates the entries around src/App.tsx\nSee `vite.config.ts` and `src/routes/users/[id].tsx`. Type declarations stay in `global.d.ts`.", + ); + + expect(converted).toContain("src/App.jsx"); + expect(converted).toContain("`vite.config.js`"); + expect(converted).toContain("[id].jsx"); + // `.d.ts` files are deleted by the conversion, not renamed + expect(converted).toContain("global.d.ts"); +}); From 170f509d287dcdb1006afafe6d4aaa172caea100 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Wed, 12 Aug 2026 08:16:28 -0700 Subject: [PATCH 151/160] chore: bump TEMPLATES_REF to templates main (4f54cb7) for browser-mode cleanup solid-v2/with-vitest-browser-mode drops its environment: 'node' workaround now that vite-plugin-solid 3.0.0-next.26 gates its jsdom default on browser.enabled; the templates commit was verified on a fresh install (pnpm install && pnpm test exits 0, test passes in real Chromium). Co-authored-by: Cursor --- packages/create/src/utils/download.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create/src/utils/download.ts b/packages/create/src/utils/download.ts index a62a6e5..85ae7bc 100644 --- a/packages/create/src/utils/download.ts +++ b/packages/create/src/utils/download.ts @@ -9,7 +9,7 @@ export const TEMPLATES_REPO = { owner: "solidjs", name: "templates" } as const; * later reorganizations of the templates repo. `undefined` means live HEAD of the * default branch, which is the historical behavior. */ -export const TEMPLATES_REF: string | undefined = "b3d888d309c7173feee2b4cb3ddba8e788af559b"; +export const TEMPLATES_REF: string | undefined = "4f54cb7e3362037c43cece30bb7f228becfddcee"; /** `SOLID_CLI_TEMPLATES_REF` overrides the baked ref, for testing against branches/forks */ export const templatesRef = () => process.env.SOLID_CLI_TEMPLATES_REF || TEMPLATES_REF; From 738119468c5a82bbde10bdc00fc965b08f2af443 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Wed, 12 Aug 2026 13:11:55 -0700 Subject: [PATCH 152/160] chore: bump TEMPLATES_REF to templates main (6f2ef07) for the @solidjs/vite-plugin rename vite-plugin-solid is now published as @solidjs/vite-plugin (3.0.0-next.27, identical code plus the rename); the templates commit repins all ten solid-v2 templates and was verified on fresh installs (basic, fullstack, fullstack- tanstack, with-vitest-browser-mode). The solid-v2-basic test fixture mirrors the rename so it keeps matching what the CLI scaffolds; no CLI source baked the old package name (manifest handling is template-name based). Full suite passes: 18/18. Co-authored-by: Cursor --- packages/create/src/utils/download.ts | 2 +- packages/create/tests/fixtures/solid-v2-basic/package.json | 2 +- packages/create/tests/fixtures/solid-v2-basic/vite.config.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/create/src/utils/download.ts b/packages/create/src/utils/download.ts index 85ae7bc..71055fe 100644 --- a/packages/create/src/utils/download.ts +++ b/packages/create/src/utils/download.ts @@ -9,7 +9,7 @@ export const TEMPLATES_REPO = { owner: "solidjs", name: "templates" } as const; * later reorganizations of the templates repo. `undefined` means live HEAD of the * default branch, which is the historical behavior. */ -export const TEMPLATES_REF: string | undefined = "4f54cb7e3362037c43cece30bb7f228becfddcee"; +export const TEMPLATES_REF: string | undefined = "6f2ef070adf5d3ad981c94cc891256def7090067"; /** `SOLID_CLI_TEMPLATES_REF` overrides the baked ref, for testing against branches/forks */ export const templatesRef = () => process.env.SOLID_CLI_TEMPLATES_REF || TEMPLATES_REF; diff --git a/packages/create/tests/fixtures/solid-v2-basic/package.json b/packages/create/tests/fixtures/solid-v2-basic/package.json index d351538..71e9a8f 100644 --- a/packages/create/tests/fixtures/solid-v2-basic/package.json +++ b/packages/create/tests/fixtures/solid-v2-basic/package.json @@ -13,12 +13,12 @@ "license": "MIT", "devDependencies": { "@solidjs/testing-library": "1.0.0-beta.2", + "@solidjs/vite-plugin": "3.0.0-next.27", "@testing-library/jest-dom": "^6.6.3", "filesystem-routing": "0.2.1", "jsdom": "^25.0.1", "typescript": "^5.9.2", "vite": "^8.1.5", - "vite-plugin-solid": "3.0.0-next.24", "vitest": "^4.0.0" }, "dependencies": { diff --git a/packages/create/tests/fixtures/solid-v2-basic/vite.config.ts b/packages/create/tests/fixtures/solid-v2-basic/vite.config.ts index 554fb1d..683f1c7 100644 --- a/packages/create/tests/fixtures/solid-v2-basic/vite.config.ts +++ b/packages/create/tests/fixtures/solid-v2-basic/vite.config.ts @@ -1,6 +1,6 @@ import { fileRoutes } from 'filesystem-routing/vite'; import { defineConfig } from 'vitest/config'; -import solid from 'vite-plugin-solid'; +import solid from '@solidjs/vite-plugin'; export default defineConfig({ // Turnkey client mode: no index.html and no mount file — the plugin @@ -8,7 +8,7 @@ export default defineConfig({ // (or a built-in shell). `vite build` prerenders the shell into // dist/client/index.html and emits a purely static dist/client. plugins: [ - // `extensions` makes vite-plugin-solid also compile the `?pick=` route + // `extensions` makes @solidjs/vite-plugin also compile the `?pick=` route // modules the fileRoutes plugin emits (their ids end in a query string). solid({ start: true, extensions: ['.jsx', '.tsx'] }), // add `ssr: true` for streaming SSR fileRoutes(), From 623bc44cf5b5c139736afcbccd01f764341d1670 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Wed, 12 Aug 2026 17:21:02 -0700 Subject: [PATCH 153/160] =?UTF-8?q?chore:=20bump=20TEMPLATES=5FREF=20to=20?= =?UTF-8?q?templates=20main=20(b09b545)=20for=20the=20solid=202.0.0-rc.0?= =?UTF-8?q?=20repin=20=E2=80=94=20solid-v2-basic=20fixture=20mirrors=20the?= =?UTF-8?q?=20template's=20new=20pins=20(solid=20^2.0.0-rc.0,=20@solidjs/v?= =?UTF-8?q?ite-plugin=203.0.0-next.28,=20@solidjs/router=202.0.0-next.16)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- packages/create/src/utils/download.ts | 2 +- .../create/tests/fixtures/solid-v2-basic/package.json | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/create/src/utils/download.ts b/packages/create/src/utils/download.ts index 71055fe..e0c4cce 100644 --- a/packages/create/src/utils/download.ts +++ b/packages/create/src/utils/download.ts @@ -9,7 +9,7 @@ export const TEMPLATES_REPO = { owner: "solidjs", name: "templates" } as const; * later reorganizations of the templates repo. `undefined` means live HEAD of the * default branch, which is the historical behavior. */ -export const TEMPLATES_REF: string | undefined = "6f2ef070adf5d3ad981c94cc891256def7090067"; +export const TEMPLATES_REF: string | undefined = "b09b545bd62057ffd620ff6f80052e47d99b4672"; /** `SOLID_CLI_TEMPLATES_REF` overrides the baked ref, for testing against branches/forks */ export const templatesRef = () => process.env.SOLID_CLI_TEMPLATES_REF || TEMPLATES_REF; diff --git a/packages/create/tests/fixtures/solid-v2-basic/package.json b/packages/create/tests/fixtures/solid-v2-basic/package.json index 71e9a8f..63bc532 100644 --- a/packages/create/tests/fixtures/solid-v2-basic/package.json +++ b/packages/create/tests/fixtures/solid-v2-basic/package.json @@ -13,7 +13,7 @@ "license": "MIT", "devDependencies": { "@solidjs/testing-library": "1.0.0-beta.2", - "@solidjs/vite-plugin": "3.0.0-next.27", + "@solidjs/vite-plugin": "3.0.0-next.28", "@testing-library/jest-dom": "^6.6.3", "filesystem-routing": "0.2.1", "jsdom": "^25.0.1", @@ -23,8 +23,8 @@ }, "dependencies": { "@solidjs/meta": "1.0.0-next.1", - "@solidjs/router": "2.0.0-next.15", - "@solidjs/web": "2.0.0-beta.33", - "solid-js": "2.0.0-beta.33" + "@solidjs/router": "2.0.0-next.16", + "@solidjs/web": "^2.0.0-rc.0", + "solid-js": "^2.0.0-rc.0" } } From c9ee5c8a7f8b01be3f4c87549388db0f8577270e Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Wed, 12 Aug 2026 23:35:29 -0700 Subject: [PATCH 154/160] =?UTF-8?q?chore:=20bump=20TEMPLATES=5FREF=20to=20?= =?UTF-8?q?templates=20main=20(f88b107)=20for=20the=20@solidjs/meta=201.0.?= =?UTF-8?q?0-next.2=20repin=20=E2=80=94=20solid-v2-basic=20fixture=20mirro?= =?UTF-8?q?rs=20the=20templates'=20new=20caret=20ranges=20(@solidjs/meta?= =?UTF-8?q?=20^1.0.0-next.2,=20@solidjs/router=20^2.0.0-next.16,=20@solidj?= =?UTF-8?q?s/vite-plugin=20^3.0.0-next.28)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- packages/create/src/utils/download.ts | 2 +- packages/create/tests/fixtures/solid-v2-basic/package.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/create/src/utils/download.ts b/packages/create/src/utils/download.ts index e0c4cce..b560c33 100644 --- a/packages/create/src/utils/download.ts +++ b/packages/create/src/utils/download.ts @@ -9,7 +9,7 @@ export const TEMPLATES_REPO = { owner: "solidjs", name: "templates" } as const; * later reorganizations of the templates repo. `undefined` means live HEAD of the * default branch, which is the historical behavior. */ -export const TEMPLATES_REF: string | undefined = "b09b545bd62057ffd620ff6f80052e47d99b4672"; +export const TEMPLATES_REF: string | undefined = "f88b107279694c1cb9a6de8bb1daad09abb263b0"; /** `SOLID_CLI_TEMPLATES_REF` overrides the baked ref, for testing against branches/forks */ export const templatesRef = () => process.env.SOLID_CLI_TEMPLATES_REF || TEMPLATES_REF; diff --git a/packages/create/tests/fixtures/solid-v2-basic/package.json b/packages/create/tests/fixtures/solid-v2-basic/package.json index 63bc532..8e3b105 100644 --- a/packages/create/tests/fixtures/solid-v2-basic/package.json +++ b/packages/create/tests/fixtures/solid-v2-basic/package.json @@ -13,7 +13,7 @@ "license": "MIT", "devDependencies": { "@solidjs/testing-library": "1.0.0-beta.2", - "@solidjs/vite-plugin": "3.0.0-next.28", + "@solidjs/vite-plugin": "^3.0.0-next.28", "@testing-library/jest-dom": "^6.6.3", "filesystem-routing": "0.2.1", "jsdom": "^25.0.1", @@ -22,8 +22,8 @@ "vitest": "^4.0.0" }, "dependencies": { - "@solidjs/meta": "1.0.0-next.1", - "@solidjs/router": "2.0.0-next.16", + "@solidjs/meta": "^1.0.0-next.2", + "@solidjs/router": "^2.0.0-next.16", "@solidjs/web": "^2.0.0-rc.0", "solid-js": "^2.0.0-rc.0" } From fdeaa4526891e4c38f5ccf6f59a3f28bb9e02c02 Mon Sep 17 00:00:00 2001 From: Brenley Dueck Date: Fri, 14 Aug 2026 05:33:42 -0500 Subject: [PATCH 155/160] fix: label Solid 2.0 as RC (#86) --- .changeset/solid-v2-templates.md | 2 +- packages/create/src/index.ts | 4 ++-- packages/create/src/utils/constants.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.changeset/solid-v2-templates.md b/.changeset/solid-v2-templates.md index c2477d5..81dd317 100644 --- a/.changeset/solid-v2-templates.md +++ b/.changeset/solid-v2-templates.md @@ -5,7 +5,7 @@ Solid 2.0 template support -- New "Solid 2.0" top-level project type scaffolding the `solid-v2/*` templates from solidjs/templates (basic, bare, fullstack, fullstack-tanstack, with-\*). Listed first but not preselected while Solid 2.0 core is in beta; existing flags (`-s`, `-v`, `-l`, `--v2`) keep their meaning, plus new `--solid` and `--ssr` flags. +- New "Solid 2.0" top-level project type scaffolding the `solid-v2/*` templates from solidjs/templates (basic, bare, fullstack, fullstack-tanstack, with-\*). Listed first but not preselected while Solid 2.0 core is a release candidate; existing flags (`-s`, `-v`, `-l`, `--v2`) keep their meaning, plus new `--solid` and `--ssr` flags. - Optional streaming SSR on templates that support it (currently `basic`): a scaffold-time flip that sets `ssr: true` in `vite.config.ts`, adds the generic production `server.js`, and points the `start` script at it. Defaults to No. - JavaScript variants of the Solid 2.0 templates via the existing sucrase TS→JS conversion (no `index.html` rewrite; `.ts`/`.tsx` references inside `vite.config` are retargeted, `.d.ts` files dropped, minimal `jsconfig.json`). - Template lists, subdir paths and per-template flags are now read from a `templates.json` manifest at the templates repo HEAD (2s timeout), with silent fallback to the baked-in lists — so new templates and future repo reorganizations no longer require a CLI release. diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 8c3bffd..624bf2a 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -14,7 +14,7 @@ import { readFile, writeFile } from "node:fs/promises"; export { createVanilla, createStart, createLibrary, createSolidV2 }; const PROJECT_TYPE_LABELS: Record = { - solid: "Solid 2.0 (Beta)", + solid: "Solid 2.0 (RC)", start: "SolidStart (Solid 1.x)", vanilla: "SolidJS + Vite (Solid 1.x)", library: "Library", @@ -132,7 +132,7 @@ export const createSolid = (version: string) => projectType ??= await cancelable( p.select({ message: "What type of project would you like to create?", - // Solid 2.0 is listed first but not preselected while core is in beta + // Solid 2.0 is listed first but not preselected while core is a release candidate initialValue: "start", options: PROJECT_TYPES.map((t) => ({ value: t, diff --git a/packages/create/src/utils/constants.ts b/packages/create/src/utils/constants.ts index b973bf3..6a0ecb6 100644 --- a/packages/create/src/utils/constants.ts +++ b/packages/create/src/utils/constants.ts @@ -134,7 +134,7 @@ export const LIBRARY_TEMPLATES = ["solid-lib-starter"] as const satisfies string export type LibraryTemplate = (typeof LIBRARY_TEMPLATES)[number]; // "solid" (Solid 2.0) is listed first, but "start" remains the preselected -// default while Solid 2.0 core is in beta +// default while Solid 2.0 core is a release candidate export const PROJECT_TYPES = ["solid", "start", "vanilla", "library"] as const satisfies string[]; export type ProjectType = (typeof PROJECT_TYPES)[number]; From 534cea34d25c3a95808bd1dd2331e6239bd5688e Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 14 Aug 2026 11:37:15 +0100 Subject: [PATCH 156/160] fix: always scaffold from live templates HEAD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Template downloads were pinned to a baked-in solidjs/templates SHA (TEMPLATES_REF), so every upstream template or dependency repin needed a CLI release to reach users. Drop the pin and the SOLID_CLI_TEMPLATES_REF override: scaffolds now come from live HEAD of the default branch, matching what the templates.json manifest already did. Rework the download tests to survive upstream churn: they resolve the template name and subdir from the live manifest, then assert the scaffold is a usable project (package.json parses, has scripts and dependencies, src/ is non-empty) instead of pinning specific filenames or dependency versions. Each test now also starts from a clean destination and removes it afterwards — the previous tests asserted against ./test/ts, which a leftover scaffold from an earlier run could satisfy on its own. Co-Authored-By: Claude Opus 5 (1M context) --- .changeset/solid-v2-templates.md | 2 +- packages/create/src/utils/download.ts | 18 +++---- packages/create/tests/template.test.ts | 69 ++++++++++++++++++++++---- 3 files changed, 66 insertions(+), 23 deletions(-) diff --git a/.changeset/solid-v2-templates.md b/.changeset/solid-v2-templates.md index 81dd317..bf08c8f 100644 --- a/.changeset/solid-v2-templates.md +++ b/.changeset/solid-v2-templates.md @@ -9,4 +9,4 @@ Solid 2.0 template support - Optional streaming SSR on templates that support it (currently `basic`): a scaffold-time flip that sets `ssr: true` in `vite.config.ts`, adds the generic production `server.js`, and points the `start` script at it. Defaults to No. - JavaScript variants of the Solid 2.0 templates via the existing sucrase TS→JS conversion (no `index.html` rewrite; `.ts`/`.tsx` references inside `vite.config` are retargeted, `.d.ts` files dropped, minimal `jsconfig.json`). - Template lists, subdir paths and per-template flags are now read from a `templates.json` manifest at the templates repo HEAD (2s timeout), with silent fallback to the baked-in lists — so new templates and future repo reorganizations no longer require a CLI release. -- Template tarball downloads can be pinned to a templates-repo ref per CLI release (`TEMPLATES_REF`, overridable via `SOLID_CLI_TEMPLATES_REF`). +- Template tarball downloads track live HEAD of the templates repo, matching the `templates.json` manifest, so template contents and their dependency updates reach users without a CLI release. diff --git a/packages/create/src/utils/download.ts b/packages/create/src/utils/download.ts index b560c33..e36963b 100644 --- a/packages/create/src/utils/download.ts +++ b/packages/create/src/utils/download.ts @@ -3,17 +3,11 @@ import { downloadRepo, GithubFetcher } from "@begit/core"; export const TEMPLATES_REPO = { owner: "solidjs", name: "templates" } as const; /** - * Optional ref (tag, sha or branch) of solidjs/templates that scaffold downloads - * are pinned to. Set this at release time (e.g. to a `cli-x.y` tag) so a published - * CLI version keeps scaffolding exactly what it was tested against, immune to - * later reorganizations of the templates repo. `undefined` means live HEAD of the - * default branch, which is the historical behavior. + * Downloads `subdir` of the solidjs/templates repo into `destination`. + * + * No ref is pinned: scaffolds always come from live HEAD of the default branch, + * matching the `templates.json` manifest, so template updates reach users + * without a CLI release. */ -export const TEMPLATES_REF: string | undefined = "f88b107279694c1cb9a6de8bb1daad09abb263b0"; - -/** `SOLID_CLI_TEMPLATES_REF` overrides the baked ref, for testing against branches/forks */ -export const templatesRef = () => process.env.SOLID_CLI_TEMPLATES_REF || TEMPLATES_REF; - -/** Downloads `subdir` of the solidjs/templates repo (at the pinned ref, if any) into `destination` */ export const downloadTemplate = (subdir: string, destination: string) => - downloadRepo({ repo: { ...TEMPLATES_REPO, subdir, hash: templatesRef() }, dest: destination }, GithubFetcher); + downloadRepo({ repo: { ...TEMPLATES_REPO, subdir }, dest: destination }, GithubFetcher); diff --git a/packages/create/tests/template.test.ts b/packages/create/tests/template.test.ts index bb6fc0c..d4bdda3 100644 --- a/packages/create/tests/template.test.ts +++ b/packages/create/tests/template.test.ts @@ -1,16 +1,65 @@ -import { expect, it } from "vitest"; +import { afterEach, expect, it } from "vitest"; +import { existsSync, readdirSync, readFileSync, rmSync } from "node:fs"; +import { join } from "node:path"; import { createSolidV2, createVanilla } from "../src"; -import { existsSync } from "fs"; -it("downloads and extracts the basic template", async () => { - await createVanilla({ template: "basic", destination: "./test/ts" }, false); +import { fetchTemplatesManifest, resolveGroup, type ManifestGroupKey } from "../src/utils/manifest"; - const appTsx = existsSync("./test/ts/src/App.tsx"); - expect(appTsx).toBe(true); +/** + * These download from live solidjs/templates HEAD, so they assert the plumbing — + * that the right subdir was fetched and extracted into a usable project — rather + * than specific files or dependency versions. Template contents, pins and file + * layout all change upstream without a CLI release, and must not fail CI here. + */ + +/** Template name + subdir the CLI would actually use, from the live manifest (baked-in fallback) */ +const liveTarget = async (key: ManifestGroupKey) => { + const group = resolveGroup(await fetchTemplatesManifest(), key); + const template = group.templates.find((t) => t.default) ?? group.templates[0]; + return { path: group.path, template: template.name }; +}; + +// begit resolves the destination against `process.cwd()`, so scaffold targets have to be +// repo-relative. `test/` is gitignored; each run starts from a clean directory so a +// leftover scaffold can never satisfy the assertions on its own. +const destinations: string[] = []; +const scratch = (name: string) => { + const destination = join("test", name); + rmSync(destination, { recursive: true, force: true }); + destinations.push(destination); + return destination; +}; + +afterEach(() => { + for (const destination of destinations.splice(0)) rmSync(destination, { recursive: true, force: true }); }); -it("downloads and extracts the solid-v2 basic template", async () => { - await createSolidV2({ template: "basic", destination: "./test/solid-v2" }, false); +const expectScaffold = (destination: string) => { + const packageJsonPath = join(destination, "package.json"); + expect(existsSync(packageJsonPath)).toBe(true); + + const packageJson = JSON.parse(readFileSync(packageJsonPath).toString()); + expect(typeof packageJson.name).toBe("string"); + expect(Object.keys(packageJson.scripts ?? {}).length).toBeGreaterThan(0); + expect(Object.keys(packageJson.dependencies ?? {}).length).toBeGreaterThan(0); + + // Some source to build, whatever the entry files happen to be called + expect(readdirSync(join(destination, "src")).length).toBeGreaterThan(0); +}; + +it("downloads and extracts the vanilla template", async () => { + const destination = scratch("vanilla"); + const { path, template } = await liveTarget("vanilla"); + + await createVanilla({ template, destination, path }, false); + + expectScaffold(destination); +}); + +it("downloads and extracts the solid-v2 template", async () => { + const destination = scratch("solid-v2"); + const { path, template } = await liveTarget("solid"); + + await createSolidV2({ template, destination, path }, false); - const appTsx = existsSync("./test/solid-v2/src/App.tsx"); - expect(appTsx).toBe(true); + expectScaffold(destination); }); From 89e9feb0051e149fd014adb1a3f59a047f84efde Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 14 Aug 2026 11:37:40 +0100 Subject: [PATCH 157/160] chore: version and release Co-Authored-By: Claude Opus 5 (1M context) --- .changeset/solid-v2-templates.md | 12 ------------ packages/create-solid/CHANGELOG.md | 12 ++++++++++++ packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 12 ++++++++++++ packages/create/package.json | 2 +- 5 files changed, 26 insertions(+), 14 deletions(-) delete mode 100644 .changeset/solid-v2-templates.md diff --git a/.changeset/solid-v2-templates.md b/.changeset/solid-v2-templates.md deleted file mode 100644 index bf08c8f..0000000 --- a/.changeset/solid-v2-templates.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"create-solid": minor -"@solid-cli/create": minor ---- - -Solid 2.0 template support - -- New "Solid 2.0" top-level project type scaffolding the `solid-v2/*` templates from solidjs/templates (basic, bare, fullstack, fullstack-tanstack, with-\*). Listed first but not preselected while Solid 2.0 core is a release candidate; existing flags (`-s`, `-v`, `-l`, `--v2`) keep their meaning, plus new `--solid` and `--ssr` flags. -- Optional streaming SSR on templates that support it (currently `basic`): a scaffold-time flip that sets `ssr: true` in `vite.config.ts`, adds the generic production `server.js`, and points the `start` script at it. Defaults to No. -- JavaScript variants of the Solid 2.0 templates via the existing sucrase TS→JS conversion (no `index.html` rewrite; `.ts`/`.tsx` references inside `vite.config` are retargeted, `.d.ts` files dropped, minimal `jsconfig.json`). -- Template lists, subdir paths and per-template flags are now read from a `templates.json` manifest at the templates repo HEAD (2s timeout), with silent fallback to the baked-in lists — so new templates and future repo reorganizations no longer require a CLI release. -- Template tarball downloads track live HEAD of the templates repo, matching the `templates.json` manifest, so template contents and their dependency updates reach users without a CLI release. diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index 3bd388b..af213a7 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,5 +1,17 @@ # create-solid +## 0.9.0 + +### Minor Changes + +- 68caa9f: Solid 2.0 template support + + - New "Solid 2.0" top-level project type scaffolding the `solid-v2/*` templates from solidjs/templates (basic, bare, fullstack, fullstack-tanstack, with-\*). Listed first but not preselected while Solid 2.0 core is a release candidate; existing flags (`-s`, `-v`, `-l`, `--v2`) keep their meaning, plus new `--solid` and `--ssr` flags. + - Optional streaming SSR on templates that support it (currently `basic`): a scaffold-time flip that sets `ssr: true` in `vite.config.ts`, adds the generic production `server.js`, and points the `start` script at it. Defaults to No. + - JavaScript variants of the Solid 2.0 templates via the existing sucrase TS→JS conversion (no `index.html` rewrite; `.ts`/`.tsx` references inside `vite.config` are retargeted, `.d.ts` files dropped, minimal `jsconfig.json`). + - Template lists, subdir paths and per-template flags are now read from a `templates.json` manifest at the templates repo HEAD (2s timeout), with silent fallback to the baked-in lists — so new templates and future repo reorganizations no longer require a CLI release. + - Template tarball downloads track live HEAD of the templates repo, matching the `templates.json` manifest, so template contents and their dependency updates reach users without a CLI release. + ## 0.8.1 ### Patch Changes diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index f5715fc..ce090f2 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.8.1", + "version": "0.9.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 3f5f799..547f092 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,5 +1,17 @@ # @solid-cli/create +## 0.9.0 + +### Minor Changes + +- 68caa9f: Solid 2.0 template support + + - New "Solid 2.0" top-level project type scaffolding the `solid-v2/*` templates from solidjs/templates (basic, bare, fullstack, fullstack-tanstack, with-\*). Listed first but not preselected while Solid 2.0 core is a release candidate; existing flags (`-s`, `-v`, `-l`, `--v2`) keep their meaning, plus new `--solid` and `--ssr` flags. + - Optional streaming SSR on templates that support it (currently `basic`): a scaffold-time flip that sets `ssr: true` in `vite.config.ts`, adds the generic production `server.js`, and points the `start` script at it. Defaults to No. + - JavaScript variants of the Solid 2.0 templates via the existing sucrase TS→JS conversion (no `index.html` rewrite; `.ts`/`.tsx` references inside `vite.config` are retargeted, `.d.ts` files dropped, minimal `jsconfig.json`). + - Template lists, subdir paths and per-template flags are now read from a `templates.json` manifest at the templates repo HEAD (2s timeout), with silent fallback to the baked-in lists — so new templates and future repo reorganizations no longer require a CLI release. + - Template tarball downloads track live HEAD of the templates repo, matching the `templates.json` manifest, so template contents and their dependency updates reach users without a CLI release. + ## 0.8.1 ### Patch Changes diff --git a/packages/create/package.json b/packages/create/package.json index 506537f..5a6d9cb 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.8.1", + "version": "0.9.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ From e067e1bfa2832a493ddd456ce7ffc34c53af0e5c Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 14 Aug 2026 12:00:30 +0100 Subject: [PATCH 158/160] chore: version and release 0.10.0 0.9.0 was published from an earlier state (baked templates ref 4f54cb7, SOLID_CLI_TEMPLATES_REF, "Solid 2.0 (Beta)"), so its changelog entry is corrected to describe what actually shipped and the live-HEAD work moves to 0.10.0. Also skip begit's fetch_latest_commit: resolving HEAD to a sha goes through api.github.com, rate limited to 60 requests/hour unauthenticated, which the pinned version never had to call. The archive endpoint is not rate limited, so scaffolds fetch the tarball directly. Co-Authored-By: Claude Opus 5 (1M context) --- packages/create-solid/CHANGELOG.md | 14 ++++++++++++-- packages/create-solid/package.json | 2 +- packages/create/CHANGELOG.md | 14 ++++++++++++-- packages/create/package.json | 2 +- packages/create/src/utils/download.ts | 15 ++++++++++++++- 5 files changed, 40 insertions(+), 7 deletions(-) diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index af213a7..ee21f64 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -1,16 +1,26 @@ # create-solid +## 0.10.0 + +### Minor Changes + +- Always scaffold from the latest templates + + - Template downloads are no longer pinned to a baked-in solidjs/templates commit. Scaffolds come from live HEAD of the default branch, matching the `templates.json` manifest, so upstream template changes and dependency repins reach users without a CLI release. + - Removed the `SOLID_CLI_TEMPLATES_REF` environment override that shipped in 0.9.0, along with the pin it existed to escape. + - Scaffolding still avoids api.github.com, which is rate limited to 60 requests/hour for unauthenticated users: templates are fetched straight from the archive endpoint rather than resolving HEAD to a commit sha first. + - Solid 2.0 is labelled "Solid 2.0 (RC)" in the project picker now that Solid 2.0 core is a release candidate. It stays listed first but not preselected. + ## 0.9.0 ### Minor Changes - 68caa9f: Solid 2.0 template support - - New "Solid 2.0" top-level project type scaffolding the `solid-v2/*` templates from solidjs/templates (basic, bare, fullstack, fullstack-tanstack, with-\*). Listed first but not preselected while Solid 2.0 core is a release candidate; existing flags (`-s`, `-v`, `-l`, `--v2`) keep their meaning, plus new `--solid` and `--ssr` flags. + - New "Solid 2.0" top-level project type scaffolding the `solid-v2/*` templates from solidjs/templates (basic, bare, fullstack, fullstack-tanstack, with-\*). Listed first but not preselected while Solid 2.0 core is in beta; existing flags (`-s`, `-v`, `-l`, `--v2`) keep their meaning, plus new `--solid` and `--ssr` flags. - Optional streaming SSR on templates that support it (currently `basic`): a scaffold-time flip that sets `ssr: true` in `vite.config.ts`, adds the generic production `server.js`, and points the `start` script at it. Defaults to No. - JavaScript variants of the Solid 2.0 templates via the existing sucrase TS→JS conversion (no `index.html` rewrite; `.ts`/`.tsx` references inside `vite.config` are retargeted, `.d.ts` files dropped, minimal `jsconfig.json`). - Template lists, subdir paths and per-template flags are now read from a `templates.json` manifest at the templates repo HEAD (2s timeout), with silent fallback to the baked-in lists — so new templates and future repo reorganizations no longer require a CLI release. - - Template tarball downloads track live HEAD of the templates repo, matching the `templates.json` manifest, so template contents and their dependency updates reach users without a CLI release. ## 0.8.1 diff --git a/packages/create-solid/package.json b/packages/create-solid/package.json index ce090f2..bb67865 100644 --- a/packages/create-solid/package.json +++ b/packages/create-solid/package.json @@ -1,6 +1,6 @@ { "name": "create-solid", - "version": "0.9.0", + "version": "0.10.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 547f092..8858555 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -1,16 +1,26 @@ # @solid-cli/create +## 0.10.0 + +### Minor Changes + +- Always scaffold from the latest templates + + - Template downloads are no longer pinned to a baked-in solidjs/templates commit. Scaffolds come from live HEAD of the default branch, matching the `templates.json` manifest, so upstream template changes and dependency repins reach users without a CLI release. + - Removed the `SOLID_CLI_TEMPLATES_REF` environment override that shipped in 0.9.0, along with the pin it existed to escape. + - Scaffolding still avoids api.github.com, which is rate limited to 60 requests/hour for unauthenticated users: templates are fetched straight from the archive endpoint rather than resolving HEAD to a commit sha first. + - Solid 2.0 is labelled "Solid 2.0 (RC)" in the project picker now that Solid 2.0 core is a release candidate. It stays listed first but not preselected. + ## 0.9.0 ### Minor Changes - 68caa9f: Solid 2.0 template support - - New "Solid 2.0" top-level project type scaffolding the `solid-v2/*` templates from solidjs/templates (basic, bare, fullstack, fullstack-tanstack, with-\*). Listed first but not preselected while Solid 2.0 core is a release candidate; existing flags (`-s`, `-v`, `-l`, `--v2`) keep their meaning, plus new `--solid` and `--ssr` flags. + - New "Solid 2.0" top-level project type scaffolding the `solid-v2/*` templates from solidjs/templates (basic, bare, fullstack, fullstack-tanstack, with-\*). Listed first but not preselected while Solid 2.0 core is in beta; existing flags (`-s`, `-v`, `-l`, `--v2`) keep their meaning, plus new `--solid` and `--ssr` flags. - Optional streaming SSR on templates that support it (currently `basic`): a scaffold-time flip that sets `ssr: true` in `vite.config.ts`, adds the generic production `server.js`, and points the `start` script at it. Defaults to No. - JavaScript variants of the Solid 2.0 templates via the existing sucrase TS→JS conversion (no `index.html` rewrite; `.ts`/`.tsx` references inside `vite.config` are retargeted, `.d.ts` files dropped, minimal `jsconfig.json`). - Template lists, subdir paths and per-template flags are now read from a `templates.json` manifest at the templates repo HEAD (2s timeout), with silent fallback to the baked-in lists — so new templates and future repo reorganizations no longer require a CLI release. - - Template tarball downloads track live HEAD of the templates repo, matching the `templates.json` manifest, so template contents and their dependency updates reach users without a CLI release. ## 0.8.1 diff --git a/packages/create/package.json b/packages/create/package.json index 5a6d9cb..e745e00 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -1,6 +1,6 @@ { "name": "@solid-cli/create", - "version": "0.9.0", + "version": "0.10.0", "description": "Create Solid apps with low configuration", "author": "Thomas Beer", "contributors": [ diff --git a/packages/create/src/utils/download.ts b/packages/create/src/utils/download.ts index e36963b..3744b58 100644 --- a/packages/create/src/utils/download.ts +++ b/packages/create/src/utils/download.ts @@ -8,6 +8,19 @@ export const TEMPLATES_REPO = { owner: "solidjs", name: "templates" } as const; * No ref is pinned: scaffolds always come from live HEAD of the default branch, * matching the `templates.json` manifest, so template updates reach users * without a CLI release. + * + * `fetch_latest_commit` is off because resolving HEAD to a sha goes through + * api.github.com, which is rate limited to 60 requests/hour for unauthenticated + * users — the archive download itself is not. Without a sha there is nothing to + * key a cache on, so caching is off too and every scaffold fetches a fresh + * tarball, which is what tracking HEAD means. */ export const downloadTemplate = (subdir: string, destination: string) => - downloadRepo({ repo: { ...TEMPLATES_REPO, subdir }, dest: destination }, GithubFetcher); + downloadRepo( + { + repo: { ...TEMPLATES_REPO, subdir }, + dest: destination, + opts: { cache: false, fetch_latest_commit: false }, + }, + GithubFetcher, + ); From b3eda6d3bdf8b7244760ccfe6a418bf1861fc6f5 Mon Sep 17 00:00:00 2001 From: Thomas Beer <71586988+Tommypop2@users.noreply.github.com> Date: Fri, 14 Aug 2026 12:18:39 +0100 Subject: [PATCH 159/160] fix: cache template tarballs by resolved HEAD sha MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolving HEAD to a commit sha lets begit key its cache on it and skip the download entirely on later scaffolds — a warm run is roughly twice as fast. The lookup goes through api.github.com (60 requests/hour unauthenticated), so it degrades instead of failing: a throw, a missing sha, or a lookup slower than 2s all fall back to fetching HEAD from the archive endpoint uncached. The live-download tests get a 60s budget. Their earlier intermittent failures were vitest's 5s default expiring on a cold-cache ~3MB tarball, not a defect in the code under test. Co-Authored-By: Claude Opus 5 (1M context) --- packages/create-solid/CHANGELOG.md | 2 +- packages/create/CHANGELOG.md | 2 +- packages/create/src/utils/download.ts | 50 ++++++++++++++++++++------ packages/create/tests/download.test.ts | 38 ++++++++++++++++++++ packages/create/tests/template.test.ts | 36 ++++++++++++------- 5 files changed, 103 insertions(+), 25 deletions(-) create mode 100644 packages/create/tests/download.test.ts diff --git a/packages/create-solid/CHANGELOG.md b/packages/create-solid/CHANGELOG.md index ee21f64..cc52156 100644 --- a/packages/create-solid/CHANGELOG.md +++ b/packages/create-solid/CHANGELOG.md @@ -8,7 +8,7 @@ - Template downloads are no longer pinned to a baked-in solidjs/templates commit. Scaffolds come from live HEAD of the default branch, matching the `templates.json` manifest, so upstream template changes and dependency repins reach users without a CLI release. - Removed the `SOLID_CLI_TEMPLATES_REF` environment override that shipped in 0.9.0, along with the pin it existed to escape. - - Scaffolding still avoids api.github.com, which is rate limited to 60 requests/hour for unauthenticated users: templates are fetched straight from the archive endpoint rather than resolving HEAD to a commit sha first. + - HEAD is resolved to a commit sha before downloading so the tarball can be cached under it and reused by later scaffolds. That lookup goes through api.github.com, which is rate limited to 60 requests/hour for unauthenticated users, so any failure — rate limited, offline, slow — falls back to fetching HEAD from the archive endpoint directly, uncached. - Solid 2.0 is labelled "Solid 2.0 (RC)" in the project picker now that Solid 2.0 core is a release candidate. It stays listed first but not preselected. ## 0.9.0 diff --git a/packages/create/CHANGELOG.md b/packages/create/CHANGELOG.md index 8858555..80a8250 100644 --- a/packages/create/CHANGELOG.md +++ b/packages/create/CHANGELOG.md @@ -8,7 +8,7 @@ - Template downloads are no longer pinned to a baked-in solidjs/templates commit. Scaffolds come from live HEAD of the default branch, matching the `templates.json` manifest, so upstream template changes and dependency repins reach users without a CLI release. - Removed the `SOLID_CLI_TEMPLATES_REF` environment override that shipped in 0.9.0, along with the pin it existed to escape. - - Scaffolding still avoids api.github.com, which is rate limited to 60 requests/hour for unauthenticated users: templates are fetched straight from the archive endpoint rather than resolving HEAD to a commit sha first. + - HEAD is resolved to a commit sha before downloading so the tarball can be cached under it and reused by later scaffolds. That lookup goes through api.github.com, which is rate limited to 60 requests/hour for unauthenticated users, so any failure — rate limited, offline, slow — falls back to fetching HEAD from the archive endpoint directly, uncached. - Solid 2.0 is labelled "Solid 2.0 (RC)" in the project picker now that Solid 2.0 core is a release candidate. It stays listed first but not preselected. ## 0.9.0 diff --git a/packages/create/src/utils/download.ts b/packages/create/src/utils/download.ts index 3744b58..93fc918 100644 --- a/packages/create/src/utils/download.ts +++ b/packages/create/src/utils/download.ts @@ -2,25 +2,53 @@ import { downloadRepo, GithubFetcher } from "@begit/core"; export const TEMPLATES_REPO = { owner: "solidjs", name: "templates" } as const; +/** A slow commit lookup must not hold up a scaffold — it is only there to enable caching */ +const LATEST_COMMIT_TIMEOUT_MS = 2000; + +/** + * Resolves HEAD of the templates repo to a commit sha, so begit can key its + * tarball cache on it and reuse the download across scaffolds. + * + * This goes through api.github.com, which is rate limited to 60 requests/hour + * for unauthenticated users (the archive endpoint the tarball itself comes from + * is not). Every failure — rate limited, offline, timeout, unexpected payload — + * resolves to `undefined`, and the caller falls back to fetching HEAD directly. + */ +export const latestTemplatesCommit = async (): Promise => { + const lookup = (async () => { + try { + return await GithubFetcher.fetchLatestCommit(TEMPLATES_REPO); + } catch { + return undefined; + } + })(); + let timer: ReturnType; + const timeout = new Promise((resolve) => { + timer = setTimeout(() => resolve(undefined), LATEST_COMMIT_TIMEOUT_MS); + }); + return Promise.race([lookup, timeout]).finally(() => clearTimeout(timer)); +}; + /** * Downloads `subdir` of the solidjs/templates repo into `destination`. * * No ref is pinned: scaffolds always come from live HEAD of the default branch, * matching the `templates.json` manifest, so template updates reach users - * without a CLI release. - * - * `fetch_latest_commit` is off because resolving HEAD to a sha goes through - * api.github.com, which is rate limited to 60 requests/hour for unauthenticated - * users — the archive download itself is not. Without a sha there is nothing to - * key a cache on, so caching is off too and every scaffold fetches a fresh - * tarball, which is what tracking HEAD means. + * without a CLI release. HEAD is resolved to a sha first so begit can cache the + * tarball under it and skip the download next time; when that lookup fails we + * fetch HEAD directly instead, uncached — slower, but never a broken scaffold. */ -export const downloadTemplate = (subdir: string, destination: string) => - downloadRepo( +export const downloadTemplate = async (subdir: string, destination: string) => { + const hash = await latestTemplatesCommit(); + return downloadRepo( { - repo: { ...TEMPLATES_REPO, subdir }, + repo: { ...TEMPLATES_REPO, subdir, hash }, dest: destination, - opts: { cache: false, fetch_latest_commit: false }, + // HEAD is already resolved (or deliberately left unresolved) above, so begit + // must not call the API itself. Without a sha there is nothing to key a cache + // entry on, so the tarball is discarded rather than left behind unkeyed. + opts: { cache: !!hash, fetch_latest_commit: false }, }, GithubFetcher, ); +}; diff --git a/packages/create/tests/download.test.ts b/packages/create/tests/download.test.ts new file mode 100644 index 0000000..703e386 --- /dev/null +++ b/packages/create/tests/download.test.ts @@ -0,0 +1,38 @@ +import { afterEach, expect, it, vi } from "vitest"; +import { GithubFetcher } from "@begit/core"; +import { latestTemplatesCommit } from "../src/utils/download"; + +afterEach(() => { + vi.restoreAllMocks(); + vi.useRealTimers(); +}); + +it("resolves HEAD to a sha so begit can cache the tarball under it", async () => { + vi.spyOn(GithubFetcher, "fetchLatestCommit").mockResolvedValue("c3032d9"); + + expect(await latestTemplatesCommit()).toBe("c3032d9"); +}); + +it("falls back to no sha when the commit lookup throws", async () => { + // Offline, DNS failure, or a non-JSON response from the API + vi.spyOn(GithubFetcher, "fetchLatestCommit").mockRejectedValue(new Error("fetch failed")); + + expect(await latestTemplatesCommit()).toBeUndefined(); +}); + +it("falls back to no sha when the API answers without one", async () => { + // What a rate-limited response looks like by the time begit is done with it + vi.spyOn(GithubFetcher, "fetchLatestCommit").mockResolvedValue(undefined); + + expect(await latestTemplatesCommit()).toBeUndefined(); +}); + +it("falls back to no sha rather than letting a hanging lookup block the scaffold", async () => { + vi.useFakeTimers(); + vi.spyOn(GithubFetcher, "fetchLatestCommit").mockReturnValue(new Promise(() => {})); + + const resolved = latestTemplatesCommit(); + await vi.advanceTimersByTimeAsync(2000); + + expect(await resolved).toBeUndefined(); +}); diff --git a/packages/create/tests/template.test.ts b/packages/create/tests/template.test.ts index d4bdda3..179b2ee 100644 --- a/packages/create/tests/template.test.ts +++ b/packages/create/tests/template.test.ts @@ -46,20 +46,32 @@ const expectScaffold = (destination: string) => { expect(readdirSync(join(destination, "src")).length).toBeGreaterThan(0); }; -it("downloads and extracts the vanilla template", async () => { - const destination = scratch("vanilla"); - const { path, template } = await liveTarget("vanilla"); +// A cold begit cache means pulling the whole templates tarball (~3MB), which does not +// reliably fit in vitest's 5s default on a slow or contended connection +const DOWNLOAD_TIMEOUT_MS = 60_000; - await createVanilla({ template, destination, path }, false); +it( + "downloads and extracts the vanilla template", + async () => { + const destination = scratch("vanilla"); + const { path, template } = await liveTarget("vanilla"); - expectScaffold(destination); -}); + await createVanilla({ template, destination, path }, false); -it("downloads and extracts the solid-v2 template", async () => { - const destination = scratch("solid-v2"); - const { path, template } = await liveTarget("solid"); + expectScaffold(destination); + }, + DOWNLOAD_TIMEOUT_MS, +); - await createSolidV2({ template, destination, path }, false); +it( + "downloads and extracts the solid-v2 template", + async () => { + const destination = scratch("solid-v2"); + const { path, template } = await liveTarget("solid"); - expectScaffold(destination); -}); + await createSolidV2({ template, destination, path }, false); + + expectScaffold(destination); + }, + DOWNLOAD_TIMEOUT_MS, +); From f8909b3b06d1fb350adc4b88d225f214322e20a1 Mon Sep 17 00:00:00 2001 From: nerdchanii Date: Mon, 17 Aug 2026 22:19:03 +0900 Subject: [PATCH 160/160] feat(create): add fuzzy search to template selection prompt (#87) Replace the plain select prompt with autocomplete backed by an in-order fuzzy matcher, so typing "wath" finds "with-auth" instead of requiring exact substrings. Reworked against the manifest-based template list (ManifestTemplate[]) now used on main. --- packages/create/src/index.ts | 22 +++- packages/create/src/utils/fuzzy.ts | 98 ++++++++++++++++ packages/create/tests/cli.test.ts | 56 ++++++++++ packages/create/tests/fuzzy.test.ts | 167 ++++++++++++++++++++++++++++ 4 files changed, 338 insertions(+), 5 deletions(-) create mode 100644 packages/create/src/utils/fuzzy.ts create mode 100644 packages/create/tests/cli.test.ts create mode 100644 packages/create/tests/fuzzy.test.ts diff --git a/packages/create/src/index.ts b/packages/create/src/index.ts index 624bf2a..dadf851 100644 --- a/packages/create/src/index.ts +++ b/packages/create/src/index.ts @@ -6,6 +6,7 @@ import { createStart } from "./create-start"; import { createSolidV2 } from "./create-solid-v2"; import { GIT_IGNORE, isValidTemplate, LIBRARY_TEMPLATES, PROJECT_TYPES, ProjectType } from "./utils/constants"; import { fetchTemplatesManifest, groupKeyFor, ManifestTemplate, resolveGroup } from "./utils/manifest"; +import { fuzzyScore, rankedOptionsFn } from "./utils/fuzzy"; import { detectPackageManager } from "@solid-cli/utils/package-manager"; import { existsSync, writeFileSync } from "node:fs"; import { join } from "node:path"; @@ -167,13 +168,24 @@ export const createSolid = (version: string) => const template_opts: ManifestTemplate[] = group ? group.templates : LIBRARY_TEMPLATES.map((name) => ({ name })); + const availableTemplates = template_opts.filter((t) => (useJS ? t : !t.name.startsWith("js"))); + // clack's autocomplete always focuses options[0] when the search box is empty (it only + // honors `initialValue` for multi-select), so the manifest's `default`-flagged template + // has to be sorted to the front to keep it preselected, same as the old `p.select` did. + const defaultTemplate = availableTemplates.find((t) => t.default); + const orderedTemplates = defaultTemplate + ? [defaultTemplate, ...availableTemplates.filter((t) => t !== defaultTemplate)] + : availableTemplates; template ??= await cancelable( - p.select({ + p.autocomplete({ message: "Which template would you like to use?", - initialValue: (template_opts.find((t) => t.default) ?? template_opts[0])?.name, - options: template_opts - .filter((t) => (useJS ? t : !t.name.startsWith("js"))) - .map((t) => ({ label: t.name, value: t.name })), + placeholder: "Type to search...", + // clack's default substring filter would re-filter our fuzzy-ranked options and break + // non-contiguous matches (e.g. "wath" -> "with-auth") and the placeholder Tab-fill guard, + // so supply an equivalent fuzzy filter (asserted in tests/cli.test.ts). + filter: (search, option) => fuzzyScore(search, option.label ?? String(option.value)) > 0, + validate: (value) => (value === undefined ? "No matching template." : undefined), + options: rankedOptionsFn(orderedTemplates.map((t) => ({ label: t.name, value: t.name }))), }), ); diff --git a/packages/create/src/utils/fuzzy.ts b/packages/create/src/utils/fuzzy.ts new file mode 100644 index 0000000..d55c7c4 --- /dev/null +++ b/packages/create/src/utils/fuzzy.ts @@ -0,0 +1,98 @@ +const CHARACTER_SCORE = 1; +const CONTIGUOUS_BONUS = 1; + +type FuzzyMatch = { + score: number; + startIndex: number; +}; + +const NO_MATCH: FuzzyMatch = { score: 0, startIndex: Number.POSITIVE_INFINITY }; + +function betterMatch(a?: FuzzyMatch, b?: FuzzyMatch): FuzzyMatch | undefined { + if (!a) return b; + if (!b) return a; + if (a.score !== b.score) return a.score > b.score ? a : b; + return a.startIndex <= b.startIndex ? a : b; +} + +/** + * Matches `input` against `target` in order. Each matched character is worth + * one point, with one additional point for every contiguous pair. + */ +function findBestMatch(input: string, target: string): FuzzyMatch { + if (!input) return { score: CHARACTER_SCORE, startIndex: 0 }; + + const query = input.toLowerCase(); + const candidate = target.toLowerCase(); + if (query.length > candidate.length) return NO_MATCH; + + const matches: Array> = Array.from( + { length: query.length }, + () => new Array(candidate.length), + ); + + for (let queryIndex = 0; queryIndex < query.length; queryIndex++) { + let bestWithGap: FuzzyMatch | undefined; + + for (let candidateIndex = queryIndex; candidateIndex < candidate.length; candidateIndex++) { + if (queryIndex > 0 && candidateIndex >= 2) { + bestWithGap = betterMatch(bestWithGap, matches[queryIndex - 1][candidateIndex - 2]); + } + if (candidate[candidateIndex] !== query[queryIndex]) continue; + + if (queryIndex === 0) { + matches[queryIndex][candidateIndex] = { + score: CHARACTER_SCORE, + startIndex: candidateIndex, + }; + continue; + } + + const previous = matches[queryIndex - 1][candidateIndex - 1]; + const contiguous = previous && { + score: previous.score + CHARACTER_SCORE + CONTIGUOUS_BONUS, + startIndex: previous.startIndex, + }; + const withGap = bestWithGap && { + score: bestWithGap.score + CHARACTER_SCORE, + startIndex: bestWithGap.startIndex, + }; + + matches[queryIndex][candidateIndex] = betterMatch(contiguous, withGap); + } + } + + return matches.at(-1)?.reduce((best, match) => betterMatch(best, match), undefined) ?? NO_MATCH; +} + +export function fuzzyScore(input: string, target: string): number { + return findBestMatch(input, target).score; +} + +type OptionLike = { label?: string; value: string }; + +/** + * Ranks matches by score, earliest match position, then label. An empty query + * preserves the original option order. + */ +export function rankedOptionsFn(options: T[]) { + return function (this: { userInput?: string }): T[] { + const input = this?.userInput ?? ""; + if (!input) return options; + + return options + .map((option, index) => { + const label = option.label ?? String(option.value); + return { option, index, label, match: findBestMatch(input, label) }; + }) + .filter(({ match }) => match.score > 0) + .sort( + (a, b) => + b.match.score - a.match.score || + a.match.startIndex - b.match.startIndex || + a.label.localeCompare(b.label) || + a.index - b.index, + ) + .map(({ option }) => option); + }; +} diff --git a/packages/create/tests/cli.test.ts b/packages/create/tests/cli.test.ts new file mode 100644 index 0000000..bb61538 --- /dev/null +++ b/packages/create/tests/cli.test.ts @@ -0,0 +1,56 @@ +import { runCommand } from "citty"; +import { afterEach, beforeEach, expect, it, vi } from "vitest"; + +const { autocomplete } = vi.hoisted(() => ({ autocomplete: vi.fn() })); + +vi.mock("@clack/prompts", async (importOriginal) => ({ + ...(await importOriginal()), + autocomplete, +})); + +import { createSolid } from "../src"; + +// Unroutable address: fetchTemplatesManifest fails fast and falls back to the +// baked-in template lists, same trick used in manifest.test.ts. +beforeEach(() => { + process.env.SOLID_CLI_TEMPLATES_MANIFEST_URL = "http://127.0.0.1:1/templates.json"; +}); +afterEach(() => { + delete process.env.SOLID_CLI_TEMPLATES_MANIFEST_URL; +}); + +it("uses an autocomplete prompt when selecting a template", async () => { + autocomplete.mockResolvedValueOnce(undefined); + + await runCommand(createSolid("test"), { rawArgs: ["test-app", "--vanilla", "--ts"] }); + + const { options, filter, validate, placeholder } = autocomplete.mock.calls[0][0]; + expect(autocomplete).toHaveBeenCalledWith({ + message: "Which template would you like to use?", + placeholder: "Type to search...", + filter: expect.any(Function), + validate: expect.any(Function), + options, + }); + expect(options.call({ userInput: "tail" })[0].value).toBe("with-tailwindcss"); + + // clack's autocomplete always focuses options[0] on an empty search box (it ignores a + // scalar `initialValue`), so the manifest's default-flagged template must be first. + expect(options.call({ userInput: "" })[0].value).toBe("basic"); + + // The filter must use the same fuzzy scoring as the ranking fn: a substring filter + // would reject "wath" against "with-auth" and re-filter out the ranked results. + expect(filter("wath", { label: "with-auth", value: "with-auth" })).toBe(true); + + // clack copies its `placeholder` into the search box on Tab whenever `filter` matches + // it against any option in the current (unfiltered) list; none may match, or Tab + // would fill the search with unmatched text and trigger the "no match" error. + expect(options.call({ userInput: "" }).some((o: { label: string; value: string }) => filter(placeholder, o))).toBe( + false, + ); + + // An empty autocomplete search resolves to `value: undefined`; validate must + // reject that with an error message instead of letting the CLI exit silently. + expect(validate(undefined)).toEqual(expect.any(String)); + expect(validate("with-auth")).toBeUndefined(); +}); diff --git a/packages/create/tests/fuzzy.test.ts b/packages/create/tests/fuzzy.test.ts new file mode 100644 index 0000000..058843a --- /dev/null +++ b/packages/create/tests/fuzzy.test.ts @@ -0,0 +1,167 @@ +import { describe, expect, it } from "vitest"; +import { fuzzyScore, rankedOptionsFn } from "../src/utils/fuzzy"; + +// Representative template names drawn from src/utils/constants.ts +const TEMPLATES = [ + "basic", + "bare", + "with-auth", + "with-authjs", + "with-drizzle", + "with-mdx", + "with-prisma", + "with-solid-styled", + "with-solidbase", + "with-solid-router", + "with-strict-csp", + "with-tailwindcss", + "with-tanstack-router-config-based", + "with-tanstack-router-file-based", + "with-tanstack-start", + "with-trpc", + "with-unocss", + "with-vitest", +] as const; + +const matches = (query: string) => TEMPLATES.filter((template) => fuzzyScore(query, template) > 0); + +describe("fuzzyScore — against real template names", () => { + it("still matches plain substrings: 'auth' -> with-auth, with-authjs", () => { + expect(matches("auth")).toEqual(["with-auth", "with-authjs"]); + }); + + it("matches non-contiguous chars in order: 'wath' -> with-auth(+)", () => { + // w…a…t…h — the headline fuzzy case + expect(matches("wath")).toEqual(expect.arrayContaining(["with-auth", "with-authjs"])); + expect(matches("wath")).not.toContain("bare"); + expect(matches("wath")).not.toContain("with-trpc"); + }); + + it("'drz' -> with-drizzle only (d…r…z)", () => { + expect(matches("drz")).toEqual(["with-drizzle"]); + }); + + it("'tail' matches tailwindcss (and, as a fuzzy side-effect, the file-based router)", () => { + // 'tail' = t…a…i…l: the same sequence also appears in-order inside + // "...tanstack-router-fi[l]e-based" (t/a from tanstack, i/l from file), + // which is the inherent permissiveness of fuzzy matching. + expect(matches("tail")).toEqual(["with-tailwindcss", "with-tanstack-router-file-based"]); + }); + + it("'csp' -> with-strict-csp only", () => { + expect(matches("csp")).toEqual(["with-strict-csp"]); + }); + + it("'router' -> all router templates", () => { + expect(matches("router")).toEqual([ + "with-solid-router", + "with-tanstack-router-config-based", + "with-tanstack-router-file-based", + ]); + }); + + it("'tanstack' -> all tanstack templates", () => { + expect(matches("tanstack")).toEqual([ + "with-tanstack-router-config-based", + "with-tanstack-router-file-based", + "with-tanstack-start", + ]); + }); + + it("returns empty for impossible queries", () => { + expect(matches("xyz")).toEqual([]); + expect(matches("q")).toEqual([]); + expect(matches("zzz")).toEqual([]); + }); + + it("empty query matches all templates", () => { + expect(matches("")).toEqual([...TEMPLATES]); + }); + + it("is case-insensitive: 'WATH' matches the same templates as 'wath'", () => { + expect(matches("WATH")).toEqual(matches("wath")); + }); +}); + +describe("fuzzyScore — match-quality ranking", () => { + it("contiguous match beats scattered match", () => { + // "tail" aligns as a tight run in tailwindcss, but scatters through tanstack + expect(fuzzyScore("tail", "with-tailwindcss")).toBeGreaterThan( + fuzzyScore("tail", "with-tanstack-router-file-based"), + ); + }); + + it("adds one point for each contiguous pair", () => { + expect(fuzzyScore("auth", "with-auth")).toBe(7); + expect(fuzzyScore("wath", "with-auth")).toBe(5); + }); + + it("does not award word-boundary or prefix bonuses", () => { + expect(fuzzyScore("tail", "detail")).toBe(fuzzyScore("tail", "with-tailwindcss")); + }); + + it("returns 0 when input cannot be matched in order", () => { + expect(fuzzyScore("xyz", "with-auth")).toBe(0); + expect(fuzzyScore("with-auth", "auth")).toBe(0); + }); + + it("empty input ties everything at a positive score", () => { + expect(fuzzyScore("", "with-auth")).toBeGreaterThan(0); + expect(fuzzyScore("", "bare")).toBeGreaterThan(0); + }); + + it("scores case-insensitively: uppercase query matches lowercase target the same", () => { + expect(fuzzyScore("AUTH", "with-auth")).toBe(fuzzyScore("auth", "with-auth")); + }); +}); + +describe("rankedOptionsFn — ordering for clack autocomplete", () => { + const opts = TEMPLATES.map((t) => ({ label: t, value: t })); + // Simulate clack calling the options fn with the prompt's `this.userInput`. + const ranked = (query: string) => + (rankedOptionsFn(opts).call({ userInput: query }) as typeof opts).map((o) => o.label); + + it("ranks an exact substring above a fuzzy scatter: 'tail'", () => { + // tailwindcss contains "tail" verbatim; file-based only matches it fuzzily + expect(ranked("tail")).toEqual(["with-tailwindcss", "with-tanstack-router-file-based"]); + }); + + it("keeps prefix/substring winners first: 'auth'", () => { + expect(ranked("auth")).toEqual(["with-auth", "with-authjs"]); + }); + + it("resolves the headline fuzzy case with stable order: 'wath'", () => { + // both match fuzzily with equal scores and starts → alphabetical order + expect(ranked("wath")).toEqual(["with-auth", "with-authjs"]); + }); + + it("lands early-typing queries on the strongest contiguous match", () => { + const r = ranked("ta"); + expect(r[0]).toBe("with-tailwindcss"); + expect(r.indexOf("with-tailwindcss")).toBeLessThan(r.indexOf("with-auth")); + }); + + it("breaks score ties by earliest match start", () => { + const options = ["zz-tail", "tail-zz"].map((label) => ({ label, value: label })); + const result = rankedOptionsFn(options).call({ userInput: "tail" }); + expect(result.map(({ label }) => label)).toEqual(["tail-zz", "zz-tail"]); + }); + + it("breaks score and start ties alphabetically", () => { + const options = ["cat", "car"].map((label) => ({ label, value: label })); + const result = rankedOptionsFn(options).call({ userInput: "ca" }); + expect(result.map(({ label }) => label)).toEqual(["car", "cat"]); + }); + + it("narrows to a single best match: 'drz'", () => { + expect(ranked("drz")).toEqual(["with-drizzle"]); + }); + + it("returns nothing for impossible queries", () => { + expect(ranked("xyz")).toEqual([]); + }); + + it("empty input preserves the original option order", () => { + expect(ranked("")).toEqual([...TEMPLATES]); + }); +});