-
-
{hello.data}
+
+ {helloMutation.data ?? 'No Data yet...'}
+
+
+
+ {helloMutation.error?.message ?? 'Unknown Error'}
+
+
+
+ setHello(e.currentTarget.value)}
+ />
+
)
diff --git a/examples/prpc/src/routes/query.tsx b/examples/prpc/src/routes/query.tsx
index 103531c..86dcdee 100644
--- a/examples/prpc/src/routes/query.tsx
+++ b/examples/prpc/src/routes/query.tsx
@@ -1,18 +1,5 @@
import { type VoidComponent } from 'solid-js'
-import { query$ } from '~/prpc/query'
-import { z } from 'zod'
-
-const testQuery = query$({
- queryFn: ({ payload, request$ }) => {
- const ua = request$
- console.log({ ua })
- return `hey ${payload.hello}`
- },
- key: 'hello',
- schema: z.object({
- hello: z.string(),
- }),
-})
+import { testQuery } from '~/testing/piped'
const Home: VoidComponent = () => {
const hello = testQuery(() => ({
diff --git a/examples/prpc/src/testing/piped.ts b/examples/prpc/src/testing/piped.ts
new file mode 100644
index 0000000..77ecfcf
--- /dev/null
+++ b/examples/prpc/src/testing/piped.ts
@@ -0,0 +1,50 @@
+import {
+ middleware$,
+ pipe$,
+ query$,
+ error$,
+ hideRequest,
+} from '@solid-mediakit/prpc'
+import { z } from 'zod'
+
+const myMiddleware1 = middleware$(({ event$ }) => {
+ return Math.random() > 0.5 ? { test: true } : { test: null }
+})
+
+const middleWare2 = pipe$(myMiddleware1, (ctx) => {
+ if (ctx.test === null) {
+ return error$('test is null')
+ }
+ return {
+ test: ctx.test,
+ o: 1,
+ }
+})
+
+export const add = query$({
+ queryFn: ({ payload, ctx$ }) => {
+ hideRequest(ctx$, true)
+ console.log({ ctx$ })
+ const result = payload.a + payload.b
+ return { result }
+ },
+ key: 'add',
+ schema: z.object({
+ a: z.number().max(5),
+ b: z.number().max(10),
+ }),
+ middleware: [middleWare2],
+})
+
+export const testQuery = query$({
+ queryFn: async ({ payload, ctx$ }) => {
+ hideRequest(ctx$, true)
+ console.log({ ctx$ })
+ return `hey ${payload.hello}`
+ },
+ key: 'hello',
+ schema: z.object({
+ hello: z.string(),
+ }),
+ middleware: [middleWare2],
+})
diff --git a/examples/prpc/src/prpc/query.ts b/examples/prpc/src/testing/query.ts
similarity index 52%
rename from examples/prpc/src/prpc/query.ts
rename to examples/prpc/src/testing/query.ts
index 83b1b33..c8ed279 100644
--- a/examples/prpc/src/prpc/query.ts
+++ b/examples/prpc/src/testing/query.ts
@@ -1,24 +1,19 @@
-import { createQuery } from '@tanstack/solid-query'
-import { CreateQueryResult } from '@tanstack/solid-query'
-import { Accessor } from 'solid-js'
import {
+ createQuery,
+ CreateQueryResult,
+ FunctionedParams,
+ QueryKey,
+ SolidQueryOptions,
+} from '@tanstack/solid-query'
+import { Accessor } from 'solid-js'
+import type {
EmptySchema,
ExpectedFn,
ExpectedSchema,
- FCreateQueryOptions,
Fn$Output,
Infer$PayLoad,
-} from './lib/types'
-import { makeKey, unwrapValue } from './lib/helpers'
-
-export type Query$Props<
- Fn extends ExpectedFn
,
- ZObj extends ExpectedSchema = EmptySchema
-> = {
- queryFn: Fn
- key: string
- schema?: ZObj
-}
+ OmitQueryData,
+} from '@solid-mediakit/prpc'
export const query$ = <
Fn extends ExpectedFn,
@@ -33,9 +28,32 @@ export const query$ = <
opts?: FCreateQueryOptions>
) => {
return createQuery(() => ({
- queryFn: () => props.queryFn(unwrapValue(input) as any),
- queryKey: makeKey('query', props.key, unwrapValue(input)) as any,
+ queryFn: async () =>
+ await props.queryFn({ payload: input ? input() : undefined } as any),
+ queryKey: ['prpc.query', props.key, input ? input() : undefined],
...((opts?.() ?? {}) as any),
})) as CreateQueryResult>
}
}
+
+export type Query$Props<
+ Fn extends ExpectedFn,
+ ZObj extends ExpectedSchema = EmptySchema
+> = {
+ queryFn: Fn
+ key: string
+ schema?: ZObj
+}
+
+export type FCreateQueryOptions<
+ TQueryFnData = unknown,
+ TError = Error,
+ TData = TQueryFnData,
+ TQueryKey extends QueryKey = QueryKey
+> = FunctionedParams<
+ OmitQueryData<
+ SolidQueryOptions & {
+ initialData?: undefined
+ }
+ >
+>
diff --git a/examples/prpc/src/testing/u.ts b/examples/prpc/src/testing/u.ts
new file mode 100644
index 0000000..e43bc6e
--- /dev/null
+++ b/examples/prpc/src/testing/u.ts
@@ -0,0 +1,59 @@
+import { getRequestEvent, isServer } from 'solid-js/web'
+import type { ExpectedFn } from '@solid-mediakit/prpc'
+
+export async function tryAndWrap>(
+ queryFn: Fn,
+ input: any,
+ handleResponse = genHandleResponse()
+) {
+ const response = await queryFn({
+ payload: input
+ ? typeof input === 'function'
+ ? input()
+ : input
+ : undefined,
+ } as any)
+ if (response instanceof Response) {
+ handleResponse?.(response)
+ const url = response.headers.get('location')
+ if (response.headers.get('X-Prpc-Error') === '1') {
+ const error = await optionalData(response)
+ throw new Error(error.error.message, error.error)
+ } else if (!isRedirectResponse(response) || !url) {
+ return await optionalData(response)
+ }
+ }
+ return response
+}
+
+export const optionalData = async (response: Response) => {
+ try {
+ return await response.clone().json()
+ } catch {
+ return await response.clone().text()
+ }
+}
+
+const redirectStatusCodes = new Set([204, 301, 302, 303, 307, 308])
+
+export function isRedirectResponse(response: Response): response is Response {
+ return (
+ response &&
+ response instanceof Response &&
+ redirectStatusCodes.has(response.status)
+ )
+}
+
+export const genHandleResponse = () => {
+ const event = getRequestEvent()
+ return (response: Response) => {
+ if (isServer && event) {
+ if ((event as any).response) {
+ response.headers.forEach((value, key) => {
+ if (key === 'content-type') return
+ ;(event as any).response.headers.set(key, value)
+ })
+ }
+ }
+ }
+}
diff --git a/examples/trpc/package.json b/examples/trpc/package.json
index 873b7b4..5b0c4ee 100644
--- a/examples/trpc/package.json
+++ b/examples/trpc/package.json
@@ -18,11 +18,11 @@
"postcss": "^8.4.21",
"tailwindcss": "^3.2.7",
"typescript": "^4.9.5",
- "vite": "^4.4.9"
+ "vite": "^5.1.6"
},
"dependencies": {
- "@solidjs/router": "^0.13.0",
- "@solidjs/start": "^0.7.4",
+ "@solidjs/router": "^0.13.1",
+ "@solidjs/start": "^1.0.0-rc.0",
"solid-js": "^1.8.15",
"vinxi": "^0.3.10",
"@solidjs/meta": "^0.29.3",
diff --git a/package.json b/package.json
index 2665e18..b462304 100644
--- a/package.json
+++ b/package.json
@@ -38,6 +38,6 @@
"tslib": "^2.5.0",
"turbo": "1.2.4",
"typescript": "^4.8.2",
- "vite": "^4.4.9"
+ "vite": "^5.1.6"
}
}
diff --git a/packages/auth/package.json b/packages/auth/package.json
index 235aef8..04db3b3 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -44,8 +44,8 @@
"rollup-preset-solid": "^2.0.1",
"@types/node": "^18.7.14",
"@typescript-eslint/parser": "^5.44.0",
- "@solidjs/router": "^0.13.0",
- "@solidjs/start": "^0.7.4",
+ "@solidjs/router": "^0.13.1",
+ "@solidjs/start": "^1.0.0-rc.0",
"solid-js": "^1.8.15",
"vinxi": "^0.3.10",
"@solidjs/meta": "^0.29.3",
@@ -58,8 +58,8 @@
"cookie": "^0.6.0"
},
"peerDependencies": {
- "@solidjs/router": "^0.13.0",
- "@solidjs/start": "^0.7.4",
+ "@solidjs/router": "^0.13.1",
+ "@solidjs/start": "^1.0.0-rc.0",
"solid-js": "^1.8.15",
"vinxi": "^0.3.10",
"@solidjs/meta": "^0.29.3",
diff --git a/packages/prpc-plugin/.gitignore b/packages/prpc-plugin/.gitignore
new file mode 100644
index 0000000..c8beaee
--- /dev/null
+++ b/packages/prpc-plugin/.gitignore
@@ -0,0 +1,108 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-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/
+
+# TypeScript v1 declaration files
+typings/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# 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 variables file
+.env
+.env.production
+.env.development
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+
+# Next.js build output
+.next
+
+# 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
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+.npmrc
+types
\ No newline at end of file
diff --git a/packages/prpc-plugin/README.md b/packages/prpc-plugin/README.md
new file mode 100644
index 0000000..a098a1e
--- /dev/null
+++ b/packages/prpc-plugin/README.md
@@ -0,0 +1,27 @@
+# @solid-mediakit/prpc-plugin
+
+A Vite plugin for pRPC
+
+### Installation
+
+```bash
+pnpm install @solid-mediakit/prpc-plugin
+```
+
+### Adding The Vite Plugin
+
+Go ahead to `app.config.ts` and add the following:
+
+```ts
+import { defineConfig } from '@solidjs/start/config'
+import { prpcVite } from '@solid-mediakit/prpc-plugin' // ->
+
+export default defineConfig({
+ ssr: true,
+ vite: {
+ plugins: [prpcVite({ log: false })], // ->
+ },
+})
+```
+
+Now read the [pRPC documentation](...)
diff --git a/packages/prpc-plugin/package.json b/packages/prpc-plugin/package.json
new file mode 100644
index 0000000..c1733e2
--- /dev/null
+++ b/packages/prpc-plugin/package.json
@@ -0,0 +1,64 @@
+{
+ "name": "@solid-mediakit/prpc-plugin",
+ "version": "1.0.0",
+ "type": "module",
+ "files": [
+ "dist"
+ ],
+ "engines": {
+ "node": ">=10"
+ },
+ "keywords": [
+ "pRPC",
+ "server$"
+ ],
+ "devDependencies": {
+ "@types/babel__core": "^7.20.0",
+ "@types/node": "^18.13.0",
+ "@typescript-eslint/parser": "^5.44.0",
+ "eslint": "^8.33.0",
+ "pridepack": "2.4.0",
+ "tslib": "^2.5.0",
+ "typescript": "^4.9.5",
+ "vite": "^5.1.6",
+ "vitest": "0.29.2"
+ },
+ "dependencies": {
+ "@babel/core": "^7.20.12",
+ "@babel/preset-typescript": "^7.18.6",
+ "@rollup/pluginutils": "^5.0.2"
+ },
+ "scripts": {
+ "prepublishOnly": "pridepack clean && pridepack build",
+ "build": "pridepack build",
+ "type-check": "pridepack check",
+ "lint": "pridepack lint",
+ "clean": "pridepack clean",
+ "watch": "pridepack watch",
+ "start": "pridepack start",
+ "dev": "pridepack dev",
+ "test": "vitest"
+ },
+ "description": "Package for easily creating server rpc functions in solid-start with goodies baked in",
+ "publishConfig": {
+ "access": "public"
+ },
+ "private": false,
+ "types": "./dist/types/index.d.ts",
+ "main": "./dist/cjs/production/index.cjs",
+ "module": "./dist/esm/production/index.mjs",
+ "exports": {
+ ".": {
+ "development": {
+ "require": "./dist/cjs/development/index.cjs",
+ "import": "./dist/esm/development/index.mjs"
+ },
+ "require": "./dist/cjs/production/index.cjs",
+ "import": "./dist/esm/production/index.mjs",
+ "types": "./dist/types/index.d.ts"
+ }
+ },
+ "typesVersions": {
+ "*": {}
+ }
+}
diff --git a/packages/prpc-plugin/pridepack.json b/packages/prpc-plugin/pridepack.json
new file mode 100644
index 0000000..2723856
--- /dev/null
+++ b/packages/prpc-plugin/pridepack.json
@@ -0,0 +1,3 @@
+{
+ "target": "es2017"
+}
diff --git a/examples/prpc/src/prpc/plugin/compiler/babel.ts b/packages/prpc-plugin/src/compiler/babel.ts
similarity index 82%
rename from examples/prpc/src/prpc/plugin/compiler/babel.ts
rename to packages/prpc-plugin/src/compiler/babel.ts
index 3e6f8dd..b5efcbc 100644
--- a/examples/prpc/src/prpc/plugin/compiler/babel.ts
+++ b/packages/prpc-plugin/src/compiler/babel.ts
@@ -9,7 +9,7 @@ import {
shiftMiddleware,
} from './utils'
-const prpcLoc = `~/prpc/utils`
+const prpcLoc = `@solid-mediakit/prpc`
export function createTransformpRPC$() {
return function transformpRPC$({
@@ -40,7 +40,7 @@ export function createTransformpRPC$() {
importIfNotThere('validateZod')
importIfNotThere('cache', '@solidjs/router')
importIfNotThere('getRequestEvent', 'solid-js/web')
- // disable middlewares importIfNotThere('callMiddleware$')
+ importIfNotThere('callMiddleware$')
},
CallExpression(path) {
const nodeInfo = getNodeInfo(path, t)
@@ -51,10 +51,17 @@ export function createTransformpRPC$() {
t.identifier('payload'),
t.identifier('_$$payload')
)
- addRequestIfNeeded(args.serverFunction, t, path)
+ shiftMiddleware(temp, t, args.serverFunction, nodeInfo, args)
+ addRequestIfNeeded(
+ args.serverFunction,
+ nodeInfo.isReuseableQuery,
+ nodeInfo.isReuseableMutation,
+ args.middlewares ?? [],
+ t,
+ path
+ )
cleanOutParams('payload', path, '_$$payload')
args.serverFunction.params[0] = t.objectPattern([payload])
- shiftMiddleware(temp, t, args.serverFunction, nodeInfo, args)
if (
args.zodSchema &&
!t.isIdentifier(args.zodSchema, { name: 'undefined' })
@@ -90,7 +97,7 @@ export function createTransformpRPC$() {
const destructuring = args.serverFunction.params[0]
if (t.isObjectPattern(destructuring)) {
destructuring.properties = destructuring.properties.filter(
- (p: any) => p.key.name !== 'request$' && p.key.name !== 'ctx$'
+ (p: any) => p.key.name !== 'event$' && p.key.name !== 'ctx$'
)
}
const originFn = t.arrowFunctionExpression(
@@ -109,29 +116,10 @@ export function createTransformpRPC$() {
args.key,
])
- const prefix = `__$`
- const n = nodeInfo.isQuery
- ? `${prefix}${args.key.value}Query`
- : `${prefix}${args.key.value}Mutation`
- const uniqueVar = path.scope.generateUidIdentifierBasedOnNode(
- path.node.arguments[0]
- )
- uniqueVar.name = n
-
- const p = (path.findParent((p) => p.isProgram())!.node as any).body
- const lastImport = p.findLast(
- (n: any) => n.type === 'ImportDeclaration'
- )
- if (lastImport) {
- const dec = t.variableDeclaration('const', [
- t.variableDeclarator(uniqueVar, wrappedArg),
- ])
- p.splice(p.indexOf(lastImport) + 1, 0, dec)
- }
path.node.arguments[0] = t.objectExpression([
t.objectProperty(
t.identifier(nodeInfo.isQuery ? 'queryFn' : 'mutationFn'),
- uniqueVar
+ wrappedArg
),
t.objectProperty(t.identifier('key'), args.key),
])
diff --git a/examples/prpc/src/prpc/plugin/compiler/index.ts b/packages/prpc-plugin/src/compiler/index.ts
similarity index 100%
rename from examples/prpc/src/prpc/plugin/compiler/index.ts
rename to packages/prpc-plugin/src/compiler/index.ts
diff --git a/examples/prpc/src/prpc/plugin/compiler/utils.ts b/packages/prpc-plugin/src/compiler/utils.ts
similarity index 88%
rename from examples/prpc/src/prpc/plugin/compiler/utils.ts
rename to packages/prpc-plugin/src/compiler/utils.ts
index 3e1d67b..0950e88 100644
--- a/examples/prpc/src/prpc/plugin/compiler/utils.ts
+++ b/packages/prpc-plugin/src/compiler/utils.ts
@@ -2,17 +2,23 @@ import * as babel from '@babel/core'
export const addRequestIfNeeded = (
serverFunction: any,
+ isReuseableQuery: boolean,
+ isReuseableMutation: boolean,
+ middlewares: any[],
t: typeof babel.types,
path: babel.NodePath
) => {
- const shouldAddRequest = serverFunction.params[0].properties.some(
- (p: any) => p.key.name === 'request$'
- )
+ const useMw =
+ (middlewares?.length ?? 0) >= 1 || isReuseableQuery || isReuseableMutation
+ const shouldAddRequest =
+ serverFunction.params[0].properties.some(
+ (p: any) => p.key.name === 'event$'
+ ) || useMw
if (shouldAddRequest) {
serverFunction.body.body.unshift(
t.variableDeclaration('const', [
t.variableDeclarator(
- t.identifier('_$$request'),
+ t.identifier('_$$event'),
t.callExpression(t.identifier('getRequestEvent'), [])
),
])
@@ -20,10 +26,10 @@ export const addRequestIfNeeded = (
path.traverse({
Identifier(innerPath: any) {
if (
- innerPath.node.name === 'request$' &&
+ innerPath.node.name === 'event$' &&
innerPath.scope?.path?.listKey !== 'params'
) {
- innerPath.node.name = '_$$request'
+ innerPath.node.name = '_$$event'
}
},
})
@@ -79,7 +85,7 @@ export const getFunctionArgs = (
!nodeInfo.isReuseableQuery && !nodeInfo.isReuseableMutation
? (
arg.properties.find(
- (prop: any) => prop.key.name === 'middlewares'
+ (prop: any) => prop.key.name === 'middleware'
) as any
)?.value?.elements.map((e: any) => e.name) ?? []
: []
@@ -132,7 +138,7 @@ export const shiftMiddleware = (
args: FnArgs
) => {
if (args.middlewares?.length || isReuseableQuery || isReuseableMutation) {
- const req = '_$$request'
+ const req = '_$$event'
let callMiddleware
if (isReuseableQuery || isReuseableMutation) {
const name = ((callee as any).object as any).name
diff --git a/examples/prpc/src/prpc/plugin/index.ts b/packages/prpc-plugin/src/index.ts
similarity index 85%
rename from examples/prpc/src/prpc/plugin/index.ts
rename to packages/prpc-plugin/src/index.ts
index fe785e3..4071b72 100644
--- a/examples/prpc/src/prpc/plugin/index.ts
+++ b/packages/prpc-plugin/src/index.ts
@@ -6,7 +6,7 @@ import { compilepRRPC, type PRPCPluginOptions } from './compiler'
const DEFAULT_INCLUDE = 'src/**/*.{jsx,tsx,ts,js,mjs,cjs}'
const DEFAULT_EXCLUDE = 'node_modules/**/*.{jsx,tsx,ts,js,mjs,cjs}'
-export default function prpc(opts?: PRPCPluginOptions): Plugin {
+export function prpcVite(opts?: PRPCPluginOptions): Plugin {
const filter = createFilter(
opts?.filter?.include || DEFAULT_INCLUDE,
opts?.filter?.exclude || DEFAULT_EXCLUDE
@@ -14,7 +14,8 @@ export default function prpc(opts?: PRPCPluginOptions): Plugin {
const plugin: Plugin = {
enforce: 'pre',
name: 'prpc',
- async transform(code: string, id: string) {
+ async transform(code, id) {
+ id = getId(id)
if (!filter(id)) {
return code
}
@@ -62,3 +63,12 @@ function repushPlugin(
plugins.splice(baseIndex, 0, plugin)
}
}
+
+function getId(id: string) {
+ if (id.includes('?')) {
+ // might be useful for the future
+ const [actualId] = id.split('?')
+ return actualId
+ }
+ return id
+}
diff --git a/packages/prpc-plugin/tsconfig.json b/packages/prpc-plugin/tsconfig.json
new file mode 100644
index 0000000..3c6ca02
--- /dev/null
+++ b/packages/prpc-plugin/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "exclude": ["node_modules"],
+ "include": ["src"],
+ "compilerOptions": {
+ "module": "ESNext",
+ "lib": ["ESNext", "DOM"],
+ "importHelpers": true,
+ "declaration": true,
+ "sourceMap": true,
+ "rootDir": "./src",
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "moduleResolution": "node",
+ "jsx": "react",
+ "esModuleInterop": true,
+ "target": "ES2017"
+ }
+}
diff --git a/packages/prpc/.eslintrc.json b/packages/prpc/.eslintrc.json
new file mode 100644
index 0000000..80d4f31
--- /dev/null
+++ b/packages/prpc/.eslintrc.json
@@ -0,0 +1,14 @@
+{
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "project": "./tsconfig.json"
+ },
+ "plugins": ["@typescript-eslint"],
+ "extends": [
+ "plugin:solid/typescript",
+ "plugin:@typescript-eslint/recommended"
+ ],
+ "rules": {
+ "@typescript-eslint/consistent-type-imports": "warn"
+ }
+}
diff --git a/packages/prpc/.gitignore b/packages/prpc/.gitignore
new file mode 100644
index 0000000..e83c2ea
--- /dev/null
+++ b/packages/prpc/.gitignore
@@ -0,0 +1,35 @@
+dist
+.solid
+.output
+.vercel
+.netlify
+netlify
+
+# dependencies
+/node_modules
+
+# IDEs and editors
+/.idea
+.project
+.classpath
+*.launch
+.settings/
+
+# Temp
+gitignore
+
+# System Files
+.DS_Store
+Thumbs.db
+
+.env
+
+**/*.d.ts
+**/*.d.ts.map
+**/*.js
+**/*.module.js.map
+**/*.jsx
+/compiler
+!tsup.config.js
+!scripts/**/*.js
+!solid.d.ts
diff --git a/packages/prpc/README.md b/packages/prpc/README.md
new file mode 100644
index 0000000..7dc21e2
--- /dev/null
+++ b/packages/prpc/README.md
@@ -0,0 +1,201 @@
+# @solid-mediakit/prpc
+
+A typesafed Wrapper for Solid's RPC protocol
+
+## Docs
+
+Please read the docs [here](https://mediakit-taupe.vercel.app/trpc/install), bellow info is less accurate.
+
+### Installation
+
+```bash
+pnpm install @solid-mediakit/prpc @tanstack/solid-query @solid-mediakit/prpc-plugin
+```
+
+### Adding The Vite Plugin
+
+Go ahead to `app.config.ts` and add the following:
+
+```ts
+import { defineConfig } from '@solidjs/start/config'
+import { prpcVite } from '@solid-mediakit/prpc-plugin' // ->
+
+export default defineConfig({
+ ssr: true,
+ vite: {
+ plugins: [prpcVite({ log: false })], // ->
+ },
+})
+```
+
+Basically, what is going to happen is that the Vite plugin will make this piece of code run on the server, causing it so Zod doesn't leak to the client nor any other server-side code. What's so special about it is that it includes many useful features which aren't build in Vinxi, like Zod validation, `event$` property, custom error handling and more. The transformation process is done via Babel at real time so you don't have to worry about having ugly code in your code base, you just write it and we are in charge of the 'behind the scenes' stuff.
+
+## Usage
+
+### Query
+
+```tsx
+// server function declaration
+import { query$ } from '@solid-mediakit/prpc'
+import { z } from 'zod'
+
+const testQuery = query$({
+ queryFn: async ({ payload, event$ }) => {
+ const ua = event$.request.headers.get('user-agent')
+ console.log({ ua })
+ return `hey ${payload.hello}`
+ },
+ key: 'hello',
+ schema: z.object({
+ hello: z.string(),
+ }),
+})
+
+// client code:
+// input should be an accessor
+const hello = testQuery(() => ({
+ hello: 'JDev',
+}))
+```
+
+#### Transforms Into
+
+```ts
+const __$helloQuery = cache(async ({ payload: _$$payload }) => {
+ 'use server'
+ const _$$validatedZod = await validateZod(
+ _$$payload,
+ z.object({
+ hello: z.string(),
+ })
+ )
+ if (_$$validatedZod instanceof Response) return _$$validatedZod
+ const _$$event = getRequestEvent()
+ const ua = _$$event.request.headers.get('user-agent')
+ console.log({
+ ua,
+ })
+ return `hey ${_$$validatedZod.hello}`
+}, 'hello')
+const testQuery = query$({
+ queryFn: __$helloQuery,
+ key: 'hello',
+})
+```
+
+### Mutation
+
+```tsx
+// server function declaration
+import { z } from 'zod'
+import { error$, mutation$ } from '@solid-mediakit/prpc'
+
+const testMutation = mutation$({
+ mutationFn: ({ payload, event$ }) => {
+ const ua = event$.request.headers.get('user-agent')
+ console.log({ ua })
+ if (payload.hello === 'error') {
+ return error$('This is an error')
+ }
+ return `hey ${payload.hello}`
+ },
+ key: 'hello',
+ schema: z.object({
+ hello: z.string(),
+ }),
+})
+
+// client code
+const Home: VoidComponent = () => {
+ const [hello, setHello] = createSignal('')
+ const helloMutation = testMutation(() => ({
+ onError(error) {
+ if (error.isZodError()) {
+ console.log('zod error:', error.cause.fieldErrors)
+ } else {
+ console.log(error.message)
+ }
+ },
+ }))
+ return (
+
+
+ {helloMutation.data ?? 'No Data yet...'}
+
+
+
+ {helloMutation.error?.message ?? 'Unknown Error'}
+
+
+
+ setHello(e.currentTarget.value)}
+ />
+
+
+
+ )
+}
+```
+
+#### Transforms Into
+
+```ts
+const __$helloMutation = cache(async ({ payload: _$$payload }) => {
+ 'use server'
+ const _$$validatedZod = await validateZod(
+ _$$payload,
+ z.object({
+ hello: z.string(),
+ })
+ )
+ if (_$$validatedZod instanceof Response) return _$$validatedZod
+ const _$$event = getRequestEvent()
+ const ua = _$$event.request.headers.get('user-agent')
+ console.log({
+ ua,
+ })
+ if (_$$validatedZod.hello === 'error') {
+ return error$('This is an error')
+ }
+ return `hey ${_$$validatedZod.hello}`
+}, 'hello')
+const testMutation = mutation$({
+ mutationFn: __$helloMutation,
+ key: 'hello',
+})
+```
+
+## Middleware
+
+One of pRPC's features is the ability to add middleware to your queries and mutations. This is useful for adding additional logic to your queries and mutations, such as logging, authentication, and more.
+
+```ts
+const mw1 = middleware$(({ event$ }) => {
+ const ua = event$.request.headers.get('user-agent')!
+ const isBot = ua.includes('bot')
+ return {
+ isBot,
+ }
+})
+const testQuery = query$({
+ queryFn: async ({ payload, ctx$ }) => {
+ return `hey ${payload.hello} ${ctx$.isBot ? 'bot' : 'human'}`
+ },
+ key: 'hello',
+ schema: z.object({
+ hello: z.string(),
+ }),
+ middleware: [mw1],
+})
+```
+
+In this example, the middleware function `mw1` adds a `isBot` property to the context object. This property is then used in the query function to determine if the user is a bot or a human.
diff --git a/packages/prpc/package.json b/packages/prpc/package.json
new file mode 100644
index 0000000..604fd00
--- /dev/null
+++ b/packages/prpc/package.json
@@ -0,0 +1,105 @@
+{
+ "name": "@solid-mediakit/prpc",
+ "description": "A typesafed Wrapper for Solid's RPC protocol",
+ "version": "1.0.0",
+ "scripts": {
+ "build": "rm -rf dist && tsup --config ./tsup.config.js",
+ "clean": "pnpm clean:dist && rm -rf ./node_modules .turbo .solid",
+ "lint": "eslint . --fix --ext .ts,.tsx,.js,.jsx",
+ "clean:dist": "rm -rf dist",
+ "typecheck": "tsc --noEmit"
+ },
+ "type": "module",
+ "files": [
+ "src/**/*",
+ "dist/**/*"
+ ],
+ "exports": {
+ "worker": {
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/server.js"
+ },
+ "require": "./dist/server.cjs"
+ },
+ "browser": {
+ "development": {
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/dev.js"
+ },
+ "require": "./dist/dev.cjs"
+ },
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/index.js"
+ },
+ "require": "./dist/index.cjs"
+ },
+ "deno": {
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/server.js"
+ },
+ "require": "./dist/server.cjs"
+ },
+ "node": {
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/server.js"
+ },
+ "require": "./dist/server.cjs"
+ },
+ "development": {
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/dev.js"
+ },
+ "require": "./dist/dev.cjs"
+ },
+ "import": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/index.js"
+ },
+ "require": "./dist/index.cjs"
+ },
+ "main": "./dist/server.cjs",
+ "types": "./dist/index.d.ts",
+ "module": "./dist/server.js",
+ "devDependencies": {
+ "@solidjs/meta": "^0.29.3",
+ "@solidjs/router": "^0.13.1",
+ "@solidjs/start": "^1.0.0-rc.0",
+ "@tanstack/solid-query": "^5.28.5",
+ "@types/node": "^18.7.14",
+ "@typescript-eslint/parser": "^5.44.0",
+ "solid-js": "^1.8.15",
+ "typescript": "^4.8.2",
+ "vinxi": "^0.3.10",
+ "zod": "^3.22.4",
+ "tsup": "^6.5.0",
+ "tsup-preset-solid": "0.1.8"
+ },
+ "dependencies": {
+ "@rollup/plugin-typescript": "^11.1.6",
+ "@rollup/pluginutils": "^5.0.2"
+ },
+ "peerDependencies": {
+ "@solidjs/meta": "^0.29.3",
+ "@solidjs/router": "^0.13.1",
+ "@solidjs/start": "^1.0.0-rc.0",
+ "@tanstack/solid-query": "^5.28.5",
+ "solid-js": "^1.8.15",
+ "typescript": "^4.8.2",
+ "vinxi": "^0.3.10",
+ "zod": "^3.22.4"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "browser": {
+ "./dist/server.js": "./dist/index.js",
+ "./dist/server.cjs": "./dist/index.cjs"
+ },
+ "typesVersions": {}
+}
diff --git a/packages/prpc/src/error.ts b/packages/prpc/src/error.ts
new file mode 100644
index 0000000..1ef3c4b
--- /dev/null
+++ b/packages/prpc/src/error.ts
@@ -0,0 +1,24 @@
+/* eslint-disable @typescript-eslint/no-explicit-any */
+import type { typeToFlattenedError } from 'zod'
+
+export class PRPCClientError extends Error {
+ public cause?: typeToFlattenedError | Error | Record
+ constructor(
+ message: string,
+ cause?: typeToFlattenedError | Error | Record
+ ) {
+ super(message)
+ this.name = 'PRPCClientError'
+ this.cause = cause
+ }
+ isZodError(): this is PRPCClientError & {
+ cause: typeToFlattenedError
+ } {
+ return this.cause && typeof this.cause === 'object'
+ ? 'fieldErrors' in this.cause
+ : false
+ }
+ isError(): this is PRPCClientError & { cause: Error } {
+ return this.cause ? this.cause instanceof Error : false
+ }
+}
diff --git a/packages/prpc/src/index.ts b/packages/prpc/src/index.ts
new file mode 100644
index 0000000..b83bead
--- /dev/null
+++ b/packages/prpc/src/index.ts
@@ -0,0 +1,5 @@
+export * from './utils.js'
+export * from './types.js'
+export * from './query.js'
+export * from './mutation.js'
+export * from './error.js'
diff --git a/packages/prpc/src/middleware.ts b/packages/prpc/src/middleware.ts
new file mode 100644
index 0000000..15256cb
--- /dev/null
+++ b/packages/prpc/src/middleware.ts
@@ -0,0 +1,72 @@
+import {
+ FilterOutResponse,
+ IMiddleware,
+ InferFinalMiddlware,
+ PRPCEvent,
+} from './types'
+
+export const middleware$ = <
+ Mw extends IMiddleware,
+ CurrentContext = unknown
+>(
+ mw: Mw
+): Mw => {
+ return mw
+}
+
+export const callMiddleware$ = async []>(
+ event: PRPCEvent,
+ middlewares: Mw,
+ ctx?: any
+) => {
+ let currentCtx = ctx ? { ...ctx, event$: event } : { event$: event }
+ if (Array.isArray(middlewares)) {
+ for (const middleware of middlewares) {
+ if (Array.isArray(middleware)) {
+ currentCtx = await callMiddleware$(event, middleware, currentCtx)
+ if (currentCtx instanceof Response) {
+ return currentCtx
+ }
+ } else {
+ currentCtx = await middleware({ event$: event, ...currentCtx })
+ if (currentCtx instanceof Response) {
+ return currentCtx
+ }
+ }
+ }
+ return currentCtx
+ } else {
+ return await (middlewares as any)({
+ event$: event,
+ ...ctx,
+ })
+ }
+}
+
+type Flattened = T extends Array ? Flattened : T
+
+export const pipe$ = <
+ CurrentMw extends IMiddleware | IMiddleware[],
+ Mw extends IMiddleware>>[]
+>(
+ currentMw: CurrentMw,
+ ...middlewares: Mw
+): Flattened => {
+ if (Array.isArray(currentMw)) {
+ return [...currentMw, ...middlewares].flat() as any
+ }
+ return [currentMw, ...middlewares].flat() as any
+}
+
+export const hideEvent = (ctx$: T, fully?: boolean) => {
+ if (typeof ctx$ === 'object' && ctx$ !== null && 'event$' in ctx$) {
+ if (fully) {
+ delete (ctx$ as any).event$
+ } else {
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ const { event$: _$ignore, ...rest } = ctx$ as any
+ return rest
+ }
+ }
+ return ctx$
+}
diff --git a/packages/prpc/src/mutation.ts b/packages/prpc/src/mutation.ts
new file mode 100644
index 0000000..5635837
--- /dev/null
+++ b/packages/prpc/src/mutation.ts
@@ -0,0 +1,53 @@
+import {
+ CreateMutationResult,
+ FunctionedParams,
+ SolidMutationOptions,
+ createMutation,
+} from '@tanstack/solid-query'
+import {
+ EmptySchema,
+ ExpectedFn,
+ ExpectedSchema,
+ Fn$Output,
+ IMiddleware,
+ Infer$PayLoad,
+ OmitQueryData,
+} from './types'
+import type { PRPCClientError } from './error'
+import { tryAndWrap } from './wrap'
+
+export const mutation$ = <
+ Mw extends IMiddleware[],
+ Fn extends ExpectedFn,
+ ZObj extends ExpectedSchema = EmptySchema
+>(
+ props: Mutation$Props
+) => {
+ return (opts?: FCreateMutationOptions>) => {
+ return createMutation(() => ({
+ mutationFn: async (input) => await tryAndWrap(props.mutationFn, input),
+ mutationKey: ['prpc.mutation', props.key],
+ ...(opts?.() ?? {}),
+ })) as CreateMutationResult>
+ }
+}
+
+export type Mutation$Props<
+ Mw extends IMiddleware[],
+ Fn extends ExpectedFn,
+ ZObj extends ExpectedSchema = EmptySchema
+> = {
+ mutationFn: Fn
+ key: string
+ schema?: ZObj
+ middleware?: Mw
+}
+
+export type FCreateMutationOptions<
+ TData = unknown,
+ TError = PRPCClientError,
+ TVariables = void,
+ TContext = unknown
+> = FunctionedParams<
+ OmitQueryData>
+>
diff --git a/packages/prpc/src/query.ts b/packages/prpc/src/query.ts
new file mode 100644
index 0000000..b7c2e43
--- /dev/null
+++ b/packages/prpc/src/query.ts
@@ -0,0 +1,65 @@
+import {
+ createQuery,
+ CreateQueryResult,
+ FunctionedParams,
+ QueryKey,
+ SolidQueryOptions,
+} from '@tanstack/solid-query'
+import { Accessor } from 'solid-js'
+import type {
+ EmptySchema,
+ ExpectedFn,
+ ExpectedSchema,
+ Fn$Output,
+ IMiddleware,
+ Infer$PayLoad,
+ OmitQueryData,
+} from './types'
+import type { PRPCClientError } from './error'
+import { tryAndWrap } from './wrap'
+
+export const query$ = <
+ Mw extends IMiddleware[],
+ Fn extends ExpectedFn,
+ ZObj extends ExpectedSchema = EmptySchema
+>(
+ props: Query$Props
+) => {
+ return (
+ input: ZObj extends EmptySchema
+ ? EmptySchema
+ : Accessor>,
+ opts?: FCreateQueryOptions>
+ ) => {
+ return createQuery(() => ({
+ queryFn: async () =>
+ await tryAndWrap(props.queryFn, input ? input() : undefined),
+ queryKey: ['prpc.query', props.key, input ? input() : undefined],
+ ...((opts?.() ?? {}) as any),
+ })) as CreateQueryResult>
+ }
+}
+
+export type Query$Props<
+ Mw extends IMiddleware[],
+ Fn extends ExpectedFn,
+ ZObj extends ExpectedSchema = EmptySchema
+> = {
+ queryFn: Fn
+ key: string
+ schema?: ZObj
+ middleware?: Mw
+}
+
+export type FCreateQueryOptions<
+ TQueryFnData = unknown,
+ TError = PRPCClientError,
+ TData = TQueryFnData,
+ TQueryKey extends QueryKey = QueryKey
+> = FunctionedParams<
+ OmitQueryData<
+ SolidQueryOptions & {
+ initialData?: undefined
+ }
+ >
+>
diff --git a/packages/prpc/src/types.ts b/packages/prpc/src/types.ts
new file mode 100644
index 0000000..9d730dd
--- /dev/null
+++ b/packages/prpc/src/types.ts
@@ -0,0 +1,71 @@
+import type zod from 'zod'
+import type { getRequestEvent } from 'solid-js/web'
+
+export type EmptySchema = void | undefined
+
+export type ExpectedSchema = zod.ZodSchema | EmptySchema
+
+export type Infer$PayLoad =
+ ZObj extends zod.ZodSchema ? zod.infer : never
+
+export type PRPCEvent = NonNullable>
+
+export type ExpectedFn<
+ ZObject = EmptySchema,
+ Mw extends IMiddleware[] = []
+> = ZObject extends EmptySchema
+ ? (input: Fn$Input) => any
+ : ZObject extends zod.ZodSchema
+ ? (input: Fn$Input) => any
+ : (input: Fn$Input) => any
+
+export type IMiddleware = (ctx$: T & { event$: PRPCEvent }) => any
+
+export type Fn$Input<
+ ZObj extends ExpectedSchema = EmptySchema,
+ Mw extends IMiddleware[] = []
+> = {
+ payload: Infer$PayLoad
+ event$: PRPCEvent
+ ctx$: FilterOutResponse>>
+}
+
+export type Fn$Output<
+ Fn extends ExpectedFn,
+ ZObject = EmptySchema,
+ Mw extends IMiddleware[] = []
+> = FilterOutResponse<
+ ReturnType extends Promise ? T : ReturnType
+>
+
+export type OmitQueryData = Omit<
+ T,
+ 'queryKey' | 'queryFn' | 'mutationFn' | 'mutationKey'
+>
+
+export type InferReturnType = T extends (...args: any[]) => infer R
+ ? R extends Promise
+ ? R2
+ : R
+ : never
+
+export type FilterOutResponse = T extends Response
+ ? never
+ : T extends object
+ ? { [K in keyof T]: FilterOutResponse }
+ : T
+
+export type FlattenArray = T extends (infer U)[] ? U : T
+
+export type InferFinalMiddlware =
+ (Mw extends [
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ ...infer _Start,
+ infer Last
+ ]
+ ? InferReturnType
+ : Mw extends IMiddleware
+ ? InferReturnType
+ : Mw extends any[]
+ ? InferReturnType>
+ : InferReturnType) & {}
diff --git a/packages/prpc/src/utils.ts b/packages/prpc/src/utils.ts
new file mode 100644
index 0000000..96f3710
--- /dev/null
+++ b/packages/prpc/src/utils.ts
@@ -0,0 +1,114 @@
+import { ZodSchema } from 'zod'
+import {
+ FilterOutResponse,
+ IMiddleware,
+ InferFinalMiddlware,
+ PRPCEvent,
+} from './types'
+
+export const validateZod = async (
+ payload: any,
+ schema: Schema
+) => {
+ const res = await schema.safeParseAsync(
+ typeof payload === 'object' ? payload : JSON.parse(payload)
+ )
+ if (!res.success) {
+ return error$(res.error.flatten())
+ }
+ return res.data
+}
+
+export const error$ = (error: any, init?: ResponseInit): Response => {
+ const headers = new Headers(init?.headers)
+ headers.set('Content-Type', 'application/json')
+ headers.set('X-Prpc-Error', '1')
+ return new Response(
+ JSON.stringify({
+ error: typeof error === 'string' ? { message: error } : error,
+ }),
+ {
+ status: init?.status ?? 400,
+ headers,
+ }
+ ) as any
+}
+
+export const middleware$ = <
+ Mw extends IMiddleware,
+ CurrentContext = unknown
+>(
+ mw: Mw
+): Mw => {
+ return mw
+}
+
+export const callMiddleware$ = async []>(
+ event: PRPCEvent,
+ middlewares: Mw,
+ ctx?: any
+) => {
+ let currentCtx = ctx ? { ...ctx, event$: event } : { event$: event }
+ if (Array.isArray(middlewares)) {
+ for (const middleware of middlewares) {
+ if (Array.isArray(middleware)) {
+ currentCtx = await callMiddleware$(event, middleware, currentCtx)
+ if (currentCtx instanceof Response) {
+ return currentCtx
+ }
+ } else {
+ currentCtx = await middleware({ event$: event, ...currentCtx })
+ if (currentCtx instanceof Response) {
+ return currentCtx
+ }
+ }
+ }
+ return currentCtx
+ } else {
+ return await (middlewares as any)({
+ event$: event,
+ ...ctx,
+ })
+ }
+}
+
+type Flattened = T extends Array ? Flattened : T
+
+export const pipe$ = <
+ CurrentMw extends IMiddleware | IMiddleware[],
+ Mw extends IMiddleware>>[]
+>(
+ currentMw: CurrentMw,
+ ...middlewares: Mw
+): Flattened => {
+ if (Array.isArray(currentMw)) {
+ return [...currentMw, ...middlewares].flat() as any
+ }
+ return [currentMw, ...middlewares].flat() as any
+}
+
+export const hideEvent = (ctx$: T, fully?: boolean) => {
+ if (typeof ctx$ === 'object' && ctx$ !== null && 'event$' in ctx$) {
+ if (fully) {
+ delete (ctx$ as any).event$
+ } else {
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ const { event$: _$ignore, ...rest } = ctx$ as any
+ return rest
+ }
+ }
+ return ctx$
+}
+
+export const hideRequest = (ctx$: T, fully?: boolean) => {
+ if (typeof ctx$ === 'object' && ctx$ !== null && 'event$' in ctx$) {
+ if (fully) {
+ delete (ctx$ as any).event$
+ } else {
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ const { event$: _$ignore, ...rest } = ctx$ as any
+ return rest
+ }
+ }
+ return ctx$
+}
diff --git a/packages/prpc/src/wrap.ts b/packages/prpc/src/wrap.ts
new file mode 100644
index 0000000..a242e8b
--- /dev/null
+++ b/packages/prpc/src/wrap.ts
@@ -0,0 +1,64 @@
+import { getRequestEvent, isServer } from 'solid-js/web'
+import type { ExpectedFn } from './types'
+import { PRPCClientError } from './error'
+
+export async function tryAndWrap>(
+ queryFn: Fn,
+ input: any,
+ handleResponse = genHandleResponse()
+) {
+ try {
+ const response = await queryFn({
+ payload: input
+ ? typeof input === 'function'
+ ? input()
+ : input
+ : undefined,
+ } as any)
+ if (response instanceof Response) {
+ handleResponse?.(response)
+ const url = response.headers.get('location')
+ if (response.headers.get('X-Prpc-Error') === '1') {
+ const error = await optionalData(response)
+ throw new PRPCClientError(error.error.message, error.error)
+ } else if (!isRedirectResponse(response) || !url) {
+ return await optionalData(response)
+ }
+ }
+ return response
+ } catch (e: any) {
+ throw new PRPCClientError(e.message, e)
+ }
+}
+
+export const optionalData = async (response: Response) => {
+ try {
+ return await response.clone().json()
+ } catch {
+ return await response.clone().text()
+ }
+}
+
+const redirectStatusCodes = new Set([204, 301, 302, 303, 307, 308])
+
+export function isRedirectResponse(response: Response): response is Response {
+ return (
+ response &&
+ response instanceof Response &&
+ redirectStatusCodes.has(response.status)
+ )
+}
+
+export const genHandleResponse = () => {
+ const event = getRequestEvent()
+ return (response: Response) => {
+ if (isServer && event) {
+ if ((event as any).response) {
+ response.headers.forEach((value, key) => {
+ if (key === 'content-type') return
+ ;(event as any).response.headers.set(key, value)
+ })
+ }
+ }
+ }
+}
diff --git a/packages/prpc/tsconfig.json b/packages/prpc/tsconfig.json
new file mode 100644
index 0000000..ec10ba9
--- /dev/null
+++ b/packages/prpc/tsconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "declaration": true,
+ "allowSyntheticDefaultImports": true,
+ "target": "esnext",
+ "moduleResolution": "Node",
+ "esModuleInterop": true,
+ "strict": true,
+ "jsx": "preserve",
+ "jsxImportSource": "solid-js",
+ "module": "esnext",
+ "outDir": "./dist",
+ "rootDir": "./src",
+ "types": ["vite/client", "vinxi/client", "@solidjs/start/env", "node"],
+ "strictNullChecks": true,
+ "skipDefaultLibCheck": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "skipLibCheck": true
+ },
+ "include": ["./src/**/*"]
+}
diff --git a/packages/prpc/tsup.config.js b/packages/prpc/tsup.config.js
new file mode 100644
index 0000000..eb7f8d7
--- /dev/null
+++ b/packages/prpc/tsup.config.js
@@ -0,0 +1,31 @@
+import { defineConfig } from 'tsup-preset-solid'
+
+export default defineConfig(
+ [
+ {
+ entry: 'src/index.ts',
+ devEntry: true,
+ serverEntry: true,
+ },
+ ],
+ [
+ {
+ entry: 'src/query.tsx',
+ devEntry: true,
+ serverEntry: true,
+ },
+ ],
+ [
+ {
+ entry: 'src/mutation.tsx',
+ devEntry: true,
+ serverEntry: true,
+ },
+ ],
+ {
+ printInstructions: false,
+ writePackageJson: true,
+ dropConsole: false,
+ cjs: true,
+ }
+)
diff --git a/packages/trpc/package.json b/packages/trpc/package.json
index 052e924..d41c8b2 100644
--- a/packages/trpc/package.json
+++ b/packages/trpc/package.json
@@ -30,8 +30,8 @@
},
"devDependencies": {
"@rollup/plugin-typescript": "^11.1.2",
- "@solidjs/router": "^0.13.0",
- "@solidjs/start": "^0.7.4",
+ "@solidjs/router": "^0.13.1",
+ "@solidjs/start": "^1.0.0-rc.0",
"solid-js": "^1.8.15",
"vinxi": "^0.3.10",
"@solidjs/meta": "^0.29.3",
@@ -46,8 +46,8 @@
"typescript": "^4.8.2"
},
"peerDependencies": {
- "@solidjs/router": "^0.13.0",
- "@solidjs/start": "^0.7.4",
+ "@solidjs/router": "^0.13.1",
+ "@solidjs/start": "^1.0.0-rc.0",
"solid-js": "^1.8.15",
"vinxi": "^0.3.10",
"@tanstack/solid-query": "^5.28.5",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e4d3350..994ad2b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -66,8 +66,8 @@ importers:
specifier: ^4.8.2
version: 4.9.5
vite:
- specifier: ^4.4.9
- version: 4.4.9(@types/node@18.17.5)
+ specifier: ^5.1.6
+ version: 5.1.6(@types/node@18.17.5)
docs:
dependencies:
@@ -82,7 +82,7 @@ importers:
version: 2.5.2(astro@2.0.15)
'@astrojs/solid-js':
specifier: ^2.0.2
- version: 2.0.2(@babel/core@7.20.12)(solid-js@1.8.14)(vite@4.4.9)
+ version: 2.0.2(@babel/core@7.20.12)(solid-js@1.8.14)(vite@5.1.6)
'@astrojs/vercel':
specifier: ^3.8.0
version: 3.8.0(astro@2.0.15)(react@18.2.0)
@@ -118,11 +118,11 @@ importers:
specifier: ^0.29.3
version: 0.29.3(solid-js@1.8.15)
'@solidjs/router':
- specifier: ^0.13.0
- version: 0.13.0(solid-js@1.8.15)
+ specifier: ^0.13.1
+ version: 0.13.1(solid-js@1.8.15)
'@solidjs/start':
- specifier: ^0.7.4
- version: 0.7.4(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@4.4.9)
+ specifier: ^1.0.0-rc.0
+ version: 1.0.0-rc.0(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6)
solid-js:
specifier: ^1.8.15
version: 1.8.15
@@ -164,8 +164,8 @@ importers:
specifier: ^4.9.5
version: 4.9.5
vite:
- specifier: ^4.4.9
- version: 4.4.9(@types/node@18.17.5)
+ specifier: ^5.1.6
+ version: 5.1.6(@types/node@18.17.5)
examples/media:
dependencies:
@@ -176,11 +176,11 @@ importers:
specifier: ^0.29.3
version: 0.29.3(solid-js@1.8.15)
'@solidjs/router':
- specifier: ^0.13.0
- version: 0.13.0(solid-js@1.8.15)
+ specifier: ^0.13.1
+ version: 0.13.1(solid-js@1.8.15)
'@solidjs/start':
- specifier: ^0.7.4
- version: 0.7.4(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@4.4.9)
+ specifier: ^1.0.0-rc.0
+ version: 1.0.0-rc.0(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6)
solid-js:
specifier: ^1.8.15
version: 1.8.15
@@ -216,26 +216,26 @@ importers:
specifier: ^4.9.5
version: 4.9.5
vite:
- specifier: ^4.4.9
- version: 4.4.9(@types/node@18.17.5)
+ specifier: ^5.1.6
+ version: 5.1.6(@types/node@18.17.5)
examples/prpc:
dependencies:
- '@babel/core':
- specifier: ^7.20.12
- version: 7.20.12
- '@babel/preset-typescript':
- specifier: ^7.18.6
- version: 7.23.3(@babel/core@7.20.12)
+ '@solid-mediakit/prpc':
+ specifier: workspace:*
+ version: link:../../packages/prpc
+ '@solid-mediakit/prpc-plugin':
+ specifier: workspace:*
+ version: link:../../packages/prpc-plugin
'@solidjs/meta':
specifier: ^0.29.3
version: 0.29.3(solid-js@1.8.15)
'@solidjs/router':
- specifier: ^0.13.0
- version: 0.13.0(solid-js@1.8.15)
+ specifier: ^0.13.1
+ version: 0.13.1(solid-js@1.8.15)
'@solidjs/start':
- specifier: ^0.7.4
- version: 0.7.4(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6)
+ specifier: ^1.0.0-rc.0
+ version: 1.0.0-rc.0(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6)
'@tanstack/solid-query':
specifier: ^5.28.5
version: 5.28.5(solid-js@1.8.15)
@@ -249,12 +249,6 @@ importers:
specifier: ^3.22.4
version: 3.22.4
devDependencies:
- '@rollup/pluginutils':
- specifier: ^5.0.2
- version: 5.0.2(rollup@4.9.6)
- '@types/babel__core':
- specifier: ^7.20.0
- version: 7.20.0
'@types/node':
specifier: ^18.14.0
version: 18.17.5
@@ -295,11 +289,11 @@ importers:
specifier: ^0.29.3
version: 0.29.3(solid-js@1.8.15)
'@solidjs/router':
- specifier: ^0.13.0
- version: 0.13.0(solid-js@1.8.15)
+ specifier: ^0.13.1
+ version: 0.13.1(solid-js@1.8.15)
'@solidjs/start':
- specifier: ^0.7.4
- version: 0.7.4(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@4.4.9)
+ specifier: ^1.0.0-rc.0
+ version: 1.0.0-rc.0(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6)
'@tanstack/solid-query':
specifier: ^5.28.5
version: 5.28.5(solid-js@1.8.15)
@@ -347,8 +341,8 @@ importers:
specifier: ^4.9.5
version: 4.9.5
vite:
- specifier: ^4.4.9
- version: 4.4.9(@types/node@18.17.5)
+ specifier: ^5.1.6
+ version: 5.1.6(@types/node@18.17.5)
packages/auth:
dependencies:
@@ -369,11 +363,11 @@ importers:
specifier: ^0.29.3
version: 0.29.3(solid-js@1.8.15)
'@solidjs/router':
- specifier: ^0.13.0
- version: 0.13.0(solid-js@1.8.15)
+ specifier: ^0.13.1
+ version: 0.13.1(solid-js@1.8.15)
'@solidjs/start':
- specifier: ^0.7.4
- version: 0.7.4(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6)
+ specifier: ^1.0.0-rc.0
+ version: 1.0.0-rc.0(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6)
'@types/node':
specifier: ^18.7.14
version: 18.17.5
@@ -418,6 +412,92 @@ importers:
specifier: ^5.1.6
version: 5.1.6
+ packages/prpc:
+ dependencies:
+ '@rollup/plugin-typescript':
+ specifier: ^11.1.6
+ version: 11.1.6(rollup@4.9.6)(tslib@2.5.0)(typescript@4.9.5)
+ '@rollup/pluginutils':
+ specifier: ^5.0.2
+ version: 5.0.2(rollup@4.9.6)
+ devDependencies:
+ '@solidjs/meta':
+ specifier: ^0.29.3
+ version: 0.29.3(solid-js@1.8.15)
+ '@solidjs/router':
+ specifier: ^0.13.1
+ version: 0.13.1(solid-js@1.8.15)
+ '@solidjs/start':
+ specifier: ^1.0.0-rc.0
+ version: 1.0.0-rc.0(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6)
+ '@tanstack/solid-query':
+ specifier: ^5.28.5
+ version: 5.28.5(solid-js@1.8.15)
+ '@types/node':
+ specifier: ^18.7.14
+ version: 18.17.5
+ '@typescript-eslint/parser':
+ specifier: ^5.44.0
+ version: 5.52.0(eslint@8.34.0)(typescript@4.9.5)
+ solid-js:
+ specifier: ^1.8.15
+ version: 1.8.15
+ tsup:
+ specifier: ^6.5.0
+ version: 6.5.0(typescript@4.9.5)
+ tsup-preset-solid:
+ specifier: 0.1.8
+ version: 0.1.8(esbuild@0.14.54)(solid-js@1.8.15)(tsup@6.5.0)
+ typescript:
+ specifier: ^4.8.2
+ version: 4.9.5
+ vinxi:
+ specifier: ^0.3.10
+ version: 0.3.10(@types/node@18.17.5)
+ zod:
+ specifier: ^3.22.4
+ version: 3.22.4
+
+ packages/prpc-plugin:
+ dependencies:
+ '@babel/core':
+ specifier: ^7.20.12
+ version: 7.20.12
+ '@babel/preset-typescript':
+ specifier: ^7.18.6
+ version: 7.23.3(@babel/core@7.20.12)
+ '@rollup/pluginutils':
+ specifier: ^5.0.2
+ version: 5.0.2(rollup@4.9.6)
+ devDependencies:
+ '@types/babel__core':
+ specifier: ^7.20.0
+ version: 7.20.0
+ '@types/node':
+ specifier: ^18.13.0
+ version: 18.17.5
+ '@typescript-eslint/parser':
+ specifier: ^5.44.0
+ version: 5.52.0(eslint@8.34.0)(typescript@4.9.5)
+ eslint:
+ specifier: ^8.33.0
+ version: 8.34.0
+ pridepack:
+ specifier: 2.4.0
+ version: 2.4.0(eslint@8.34.0)(tslib@2.5.0)(typescript@4.9.5)
+ tslib:
+ specifier: ^2.5.0
+ version: 2.5.0
+ typescript:
+ specifier: ^4.9.5
+ version: 4.9.5
+ vite:
+ specifier: ^5.1.6
+ version: 5.1.6(@types/node@18.17.5)
+ vitest:
+ specifier: 0.29.2
+ version: 0.29.2
+
packages/shared:
dependencies:
'@babel/core':
@@ -443,11 +523,11 @@ importers:
specifier: ^0.29.3
version: 0.29.3(solid-js@1.8.15)
'@solidjs/router':
- specifier: ^0.13.0
- version: 0.13.0(solid-js@1.8.15)
+ specifier: ^0.13.1
+ version: 0.13.1(solid-js@1.8.15)
'@solidjs/start':
- specifier: ^0.7.4
- version: 0.7.4(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6)
+ specifier: ^1.0.0-rc.0
+ version: 1.0.0-rc.0(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6)
'@tanstack/solid-query':
specifier: ^5.28.5
version: 5.28.5(solid-js@1.8.15)
@@ -733,7 +813,7 @@ packages:
prismjs: 1.29.0
dev: false
- /@astrojs/solid-js@2.0.2(@babel/core@7.20.12)(solid-js@1.8.14)(vite@4.4.9):
+ /@astrojs/solid-js@2.0.2(@babel/core@7.20.12)(solid-js@1.8.14)(vite@5.1.6):
resolution: {integrity: sha512-fQMOfBcmvYHXJg8vR0LgoeBgrlLHrxnlzxxmPkDKrGPBRh9y3si2d/ChpMyMRL3ibAOqWTs7Xs5gOYqrFZbw3g==}
engines: {node: '>=16.12.0'}
peerDependencies:
@@ -741,7 +821,7 @@ packages:
dependencies:
babel-preset-solid: 1.8.15(@babel/core@7.20.12)
solid-js: 1.8.14
- vitefu: 0.2.5(vite@4.4.9)
+ vitefu: 0.2.5(vite@5.1.6)
transitivePeerDependencies:
- '@babel/core'
- vite
@@ -973,7 +1053,7 @@ packages:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.0
+ '@babel/types': 7.23.9
/@babel/helper-module-imports@7.22.15:
resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
@@ -2371,7 +2451,6 @@ packages:
cpu: [arm64]
os: [android]
requiresBuild: true
- dev: false
optional: true
/@esbuild/android-arm64@0.18.20:
@@ -2412,7 +2491,6 @@ packages:
cpu: [arm]
os: [android]
requiresBuild: true
- dev: false
optional: true
/@esbuild/android-arm@0.18.20:
@@ -2445,7 +2523,6 @@ packages:
cpu: [x64]
os: [android]
requiresBuild: true
- dev: false
optional: true
/@esbuild/android-x64@0.18.20:
@@ -2478,7 +2555,6 @@ packages:
cpu: [arm64]
os: [darwin]
requiresBuild: true
- dev: false
optional: true
/@esbuild/darwin-arm64@0.18.20:
@@ -2511,7 +2587,6 @@ packages:
cpu: [x64]
os: [darwin]
requiresBuild: true
- dev: false
optional: true
/@esbuild/darwin-x64@0.18.20:
@@ -2544,7 +2619,6 @@ packages:
cpu: [arm64]
os: [freebsd]
requiresBuild: true
- dev: false
optional: true
/@esbuild/freebsd-arm64@0.18.20:
@@ -2577,7 +2651,6 @@ packages:
cpu: [x64]
os: [freebsd]
requiresBuild: true
- dev: false
optional: true
/@esbuild/freebsd-x64@0.18.20:
@@ -2610,7 +2683,6 @@ packages:
cpu: [arm64]
os: [linux]
requiresBuild: true
- dev: false
optional: true
/@esbuild/linux-arm64@0.18.20:
@@ -2643,7 +2715,6 @@ packages:
cpu: [arm]
os: [linux]
requiresBuild: true
- dev: false
optional: true
/@esbuild/linux-arm@0.18.20:
@@ -2676,7 +2747,6 @@ packages:
cpu: [ia32]
os: [linux]
requiresBuild: true
- dev: false
optional: true
/@esbuild/linux-ia32@0.18.20:
@@ -2726,7 +2796,6 @@ packages:
cpu: [loong64]
os: [linux]
requiresBuild: true
- dev: false
optional: true
/@esbuild/linux-loong64@0.18.20:
@@ -2759,7 +2828,6 @@ packages:
cpu: [mips64el]
os: [linux]
requiresBuild: true
- dev: false
optional: true
/@esbuild/linux-mips64el@0.18.20:
@@ -2792,7 +2860,6 @@ packages:
cpu: [ppc64]
os: [linux]
requiresBuild: true
- dev: false
optional: true
/@esbuild/linux-ppc64@0.18.20:
@@ -2825,7 +2892,6 @@ packages:
cpu: [riscv64]
os: [linux]
requiresBuild: true
- dev: false
optional: true
/@esbuild/linux-riscv64@0.18.20:
@@ -2858,7 +2924,6 @@ packages:
cpu: [s390x]
os: [linux]
requiresBuild: true
- dev: false
optional: true
/@esbuild/linux-s390x@0.18.20:
@@ -2891,7 +2956,6 @@ packages:
cpu: [x64]
os: [linux]
requiresBuild: true
- dev: false
optional: true
/@esbuild/linux-x64@0.18.20:
@@ -2924,7 +2988,6 @@ packages:
cpu: [x64]
os: [netbsd]
requiresBuild: true
- dev: false
optional: true
/@esbuild/netbsd-x64@0.18.20:
@@ -2957,7 +3020,6 @@ packages:
cpu: [x64]
os: [openbsd]
requiresBuild: true
- dev: false
optional: true
/@esbuild/openbsd-x64@0.18.20:
@@ -2990,7 +3052,6 @@ packages:
cpu: [x64]
os: [sunos]
requiresBuild: true
- dev: false
optional: true
/@esbuild/sunos-x64@0.18.20:
@@ -3023,7 +3084,6 @@ packages:
cpu: [arm64]
os: [win32]
requiresBuild: true
- dev: false
optional: true
/@esbuild/win32-arm64@0.18.20:
@@ -3056,7 +3116,6 @@ packages:
cpu: [ia32]
os: [win32]
requiresBuild: true
- dev: false
optional: true
/@esbuild/win32-ia32@0.18.20:
@@ -3089,7 +3148,6 @@ packages:
cpu: [x64]
os: [win32]
requiresBuild: true
- dev: false
optional: true
/@esbuild/win32-x64@0.18.20:
@@ -3333,17 +3391,14 @@ packages:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
+ /@ovyerus/licenses@6.4.4:
+ resolution: {integrity: sha512-IHjc31WXciQT3hfvdY+M59jBkQp70Fpr04tNDVO5rez2PNv4u8tE6w//CkU+GeBoO9k2ahneSqzjzvlgjyjkGw==}
+ engines: {node: '>=8'}
+ dev: true
+
/@panva/hkdf@1.1.1:
resolution: {integrity: sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA==}
- /@parcel/watcher-android-arm64@2.4.0:
- resolution: {integrity: sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-android-arm64@2.4.1:
resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==}
engines: {node: '>= 10.0.0'}
@@ -3352,14 +3407,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher-darwin-arm64@2.4.0:
- resolution: {integrity: sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-darwin-arm64@2.4.1:
resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==}
engines: {node: '>= 10.0.0'}
@@ -3368,14 +3415,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher-darwin-x64@2.4.0:
- resolution: {integrity: sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-darwin-x64@2.4.1:
resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==}
engines: {node: '>= 10.0.0'}
@@ -3384,14 +3423,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher-freebsd-x64@2.4.0:
- resolution: {integrity: sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-freebsd-x64@2.4.1:
resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==}
engines: {node: '>= 10.0.0'}
@@ -3400,14 +3431,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher-linux-arm-glibc@2.4.0:
- resolution: {integrity: sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-linux-arm-glibc@2.4.1:
resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==}
engines: {node: '>= 10.0.0'}
@@ -3416,14 +3439,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher-linux-arm64-glibc@2.4.0:
- resolution: {integrity: sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-linux-arm64-glibc@2.4.1:
resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==}
engines: {node: '>= 10.0.0'}
@@ -3432,14 +3447,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher-linux-arm64-musl@2.4.0:
- resolution: {integrity: sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-linux-arm64-musl@2.4.1:
resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==}
engines: {node: '>= 10.0.0'}
@@ -3448,14 +3455,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher-linux-x64-glibc@2.4.0:
- resolution: {integrity: sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-linux-x64-glibc@2.4.1:
resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==}
engines: {node: '>= 10.0.0'}
@@ -3464,14 +3463,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher-linux-x64-musl@2.4.0:
- resolution: {integrity: sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-linux-x64-musl@2.4.1:
resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==}
engines: {node: '>= 10.0.0'}
@@ -3490,16 +3481,6 @@ packages:
bundledDependencies:
- napi-wasm
- /@parcel/watcher-wasm@2.4.0:
- resolution: {integrity: sha512-MNgQ4WCbBybqQ97KwR/hqJGYTg3+s8qHpgIyFWB2qJOBvoJWbXuJGmm4ZkPLq2bMaANqCZqrXwmKYagZTkMKZA==}
- engines: {node: '>= 10.0.0'}
- dependencies:
- is-glob: 4.0.3
- micromatch: 4.0.5
- napi-wasm: 1.1.0
- bundledDependencies:
- - napi-wasm
-
/@parcel/watcher-wasm@2.4.1:
resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==}
engines: {node: '>= 10.0.0'}
@@ -3510,14 +3491,6 @@ packages:
bundledDependencies:
- napi-wasm
- /@parcel/watcher-win32-arm64@2.4.0:
- resolution: {integrity: sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-win32-arm64@2.4.1:
resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==}
engines: {node: '>= 10.0.0'}
@@ -3526,14 +3499,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher-win32-ia32@2.4.0:
- resolution: {integrity: sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==}
- engines: {node: '>= 10.0.0'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-win32-ia32@2.4.1:
resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==}
engines: {node: '>= 10.0.0'}
@@ -3542,14 +3507,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher-win32-x64@2.4.0:
- resolution: {integrity: sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- optional: true
-
/@parcel/watcher-win32-x64@2.4.1:
resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==}
engines: {node: '>= 10.0.0'}
@@ -3558,28 +3515,6 @@ packages:
requiresBuild: true
optional: true
- /@parcel/watcher@2.4.0:
- resolution: {integrity: sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==}
- engines: {node: '>= 10.0.0'}
- dependencies:
- detect-libc: 1.0.3
- is-glob: 4.0.3
- micromatch: 4.0.5
- node-addon-api: 7.1.0
- optionalDependencies:
- '@parcel/watcher-android-arm64': 2.4.0
- '@parcel/watcher-darwin-arm64': 2.4.0
- '@parcel/watcher-darwin-x64': 2.4.0
- '@parcel/watcher-freebsd-x64': 2.4.0
- '@parcel/watcher-linux-arm-glibc': 2.4.0
- '@parcel/watcher-linux-arm64-glibc': 2.4.0
- '@parcel/watcher-linux-arm64-musl': 2.4.0
- '@parcel/watcher-linux-x64-glibc': 2.4.0
- '@parcel/watcher-linux-x64-musl': 2.4.0
- '@parcel/watcher-win32-arm64': 2.4.0
- '@parcel/watcher-win32-ia32': 2.4.0
- '@parcel/watcher-win32-x64': 2.4.0
-
/@parcel/watcher@2.4.1:
resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
engines: {node: '>= 10.0.0'}
@@ -3824,6 +3759,26 @@ packages:
typescript: 5.1.6
dev: true
+ /@rollup/plugin-typescript@11.1.6(rollup@4.9.6)(tslib@2.5.0)(typescript@4.9.5):
+ resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.14.0||^3.0.0||^4.0.0
+ tslib: '*'
+ typescript: '>=3.7.0'
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ tslib:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.1.0(rollup@4.9.6)
+ resolve: 1.22.8
+ rollup: 4.9.6
+ tslib: 2.5.0
+ typescript: 4.9.5
+ dev: false
+
/@rollup/pluginutils@4.2.1:
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
engines: {node: '>= 8.0.0'}
@@ -3844,7 +3799,7 @@ packages:
estree-walker: 2.0.2
picomatch: 2.3.1
rollup: 4.9.6
- dev: true
+ dev: false
/@rollup/pluginutils@5.1.0(rollup@3.29.4):
resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
@@ -4082,43 +4037,15 @@ packages:
dependencies:
solid-js: 1.8.15
- /@solidjs/router@0.13.0(solid-js@1.8.15):
- resolution: {integrity: sha512-YHLbFv9J53+iG4yVrh0vVdYiyXPTk892UyZ1jiMPsUXn2dYkX4552N+8SjvlKWWsmNmYxaoefM6jZn1YtVIUUg==}
+ /@solidjs/router@0.13.1(solid-js@1.8.15):
+ resolution: {integrity: sha512-Rz5Lf0ssWMuN+Wm2GFO0vwZoO/KSwYFSuCUzWrRAvje5M0ZYZrMk5FZxuzdJT+zg8KuqWJQlRALks5E0r+FjAA==}
peerDependencies:
solid-js: ^1.8.6
dependencies:
solid-js: 1.8.15
- /@solidjs/start@0.7.4(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@4.4.9):
- resolution: {integrity: sha512-SBFCpLo0yGUFPKNyneZ7g8cHchQKm0+G/Gr19SEtGzCn0KE4/YmDCtuDUk4ANxm6XTFrdcDPjdLgYXHDrWxVLA==}
- dependencies:
- '@vinxi/plugin-directives': 0.3.1(vinxi@0.3.10)
- '@vinxi/server-components': 0.3.3(vinxi@0.3.10)
- '@vinxi/server-functions': 0.3.2(vinxi@0.3.10)
- defu: 6.1.4
- error-stack-parser: 2.1.4
- glob: 10.3.10
- html-to-image: 1.11.11
- radix3: 1.1.0
- seroval: 1.0.4
- seroval-plugins: 1.0.4(seroval@1.0.4)
- shikiji: 0.9.19
- source-map-js: 1.0.2
- terracotta: 1.0.5(solid-js@1.8.15)
- vite-plugin-inspect: 0.7.42(rollup@4.9.6)(vite@4.4.9)
- vite-plugin-solid: 2.9.1(solid-js@1.8.15)(vite@4.4.9)
- transitivePeerDependencies:
- - '@nuxt/kit'
- - '@testing-library/jest-dom'
- - rollup
- - solid-js
- - supports-color
- - vinxi
- - vite
- dev: false
-
- /@solidjs/start@0.7.4(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6):
- resolution: {integrity: sha512-SBFCpLo0yGUFPKNyneZ7g8cHchQKm0+G/Gr19SEtGzCn0KE4/YmDCtuDUk4ANxm6XTFrdcDPjdLgYXHDrWxVLA==}
+ /@solidjs/start@1.0.0-rc.0(rollup@4.9.6)(solid-js@1.8.15)(vinxi@0.3.10)(vite@5.1.6):
+ resolution: {integrity: sha512-wimF6eqYx8L1XC1MMxwruOgS+BGmv6nEnCa1Fd/VPcYaSF8BKBvgIQYNJALl8QUjfJ7lMK4b41uKAXz451vNNA==}
dependencies:
'@vinxi/plugin-directives': 0.3.1(vinxi@0.3.10)
'@vinxi/server-components': 0.3.3(vinxi@0.3.10)
@@ -4127,7 +4054,7 @@ packages:
error-stack-parser: 2.1.4
glob: 10.3.10
html-to-image: 1.11.11
- radix3: 1.1.0
+ radix3: 1.1.1
seroval: 1.0.4
seroval-plugins: 1.0.4(seroval@1.0.4)
shikiji: 0.9.19
@@ -4193,13 +4120,13 @@ packages:
/@types/babel__generator@7.6.8:
resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
dependencies:
- '@babel/types': 7.20.0
+ '@babel/types': 7.23.9
/@types/babel__template@7.4.4:
resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
dependencies:
'@babel/parser': 7.23.9
- '@babel/types': 7.20.0
+ '@babel/types': 7.23.9
/@types/babel__traverse@7.20.5:
resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
@@ -4209,6 +4136,16 @@ packages:
/@types/braces@3.0.4:
resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==}
+ /@types/chai-subset@1.3.5:
+ resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==}
+ dependencies:
+ '@types/chai': 4.3.14
+ dev: true
+
+ /@types/chai@4.3.14:
+ resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==}
+ dev: true
+
/@types/cookie@0.6.0:
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
@@ -4595,7 +4532,7 @@ packages:
resolution: {integrity: sha512-WSN1z931BtasZJlgPp704zJFnQFRg7yzSjkm3MzAWQYe4uXFXlFr1hc5Ac2zae5/HDOz5x1/zDM5Cb54vTCnWw==}
hasBin: true
dependencies:
- '@parcel/watcher': 2.4.0
+ '@parcel/watcher': 2.4.1
'@parcel/watcher-wasm': 2.3.0
citty: 0.1.6
clipboardy: 4.0.0
@@ -4605,11 +4542,11 @@ packages:
h3: 1.11.1
http-shutdown: 1.2.2
jiti: 1.21.0
- mlly: 1.5.0
+ mlly: 1.6.1
node-forge: 1.3.1
pathe: 1.1.2
std-env: 3.7.0
- ufo: 1.4.0
+ ufo: 1.5.1
untun: 0.1.3
uqr: 0.1.2
transitivePeerDependencies:
@@ -4659,6 +4596,38 @@ packages:
recast: 0.23.4
vinxi: 0.3.10(@types/node@18.17.5)
+ /@vitest/expect@0.29.2:
+ resolution: {integrity: sha512-wjrdHB2ANTch3XKRhjWZN0UueFocH0cQbi2tR5Jtq60Nb3YOSmakjdAvUa2JFBu/o8Vjhj5cYbcMXkZxn1NzmA==}
+ dependencies:
+ '@vitest/spy': 0.29.2
+ '@vitest/utils': 0.29.2
+ chai: 4.4.1
+ dev: true
+
+ /@vitest/runner@0.29.2:
+ resolution: {integrity: sha512-A1P65f5+6ru36AyHWORhuQBJrOOcmDuhzl5RsaMNFe2jEkoj0faEszQS4CtPU/LxUYVIazlUtZTY0OEZmyZBnA==}
+ dependencies:
+ '@vitest/utils': 0.29.2
+ p-limit: 4.0.0
+ pathe: 1.1.2
+ dev: true
+
+ /@vitest/spy@0.29.2:
+ resolution: {integrity: sha512-Hc44ft5kaAytlGL2PyFwdAsufjbdOvHklwjNy/gy/saRbg9Kfkxfh+PklLm1H2Ib/p586RkQeNFKYuJInUssyw==}
+ dependencies:
+ tinyspy: 1.1.1
+ dev: true
+
+ /@vitest/utils@0.29.2:
+ resolution: {integrity: sha512-F14/Uc+vCdclStS2KEoXJlOLAEyqRhnw0gM27iXw9bMTcyKRPJrQ+rlC6XZ125GIPvvKYMPpVxNhiou6PsEeYQ==}
+ dependencies:
+ cli-truncate: 3.1.0
+ diff: 5.2.0
+ loupe: 2.3.7
+ picocolors: 1.0.0
+ pretty-format: 27.5.1
+ dev: true
+
/@vscode/emmet-helper@2.9.2:
resolution: {integrity: sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==}
dependencies:
@@ -4722,6 +4691,11 @@ packages:
engines: {node: '>=0.4.0'}
dev: true
+ /acorn-walk@8.3.2:
+ resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
/acorn@7.4.1:
resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
engines: {node: '>=0.4.0'}
@@ -4802,10 +4776,19 @@ packages:
dependencies:
color-convert: 2.0.1
+ /ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+ dev: true
+
/ansi-styles@6.2.1:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'}
+ /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'}
@@ -4925,6 +4908,10 @@ packages:
object.assign: 4.1.5
util: 0.12.5
+ /assertion-error@1.1.0:
+ resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
+ dev: true
+
/ast-types@0.16.1:
resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
engines: {node: '>=4'}
@@ -5149,7 +5136,6 @@ packages:
buffer: 6.0.3
inherits: 2.0.4
readable-stream: 3.6.2
- dev: false
/boxen@6.2.1:
resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==}
@@ -5246,6 +5232,16 @@ packages:
dependencies:
run-applescript: 5.0.0
+ /bundle-require@3.1.2(esbuild@0.15.18):
+ resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ peerDependencies:
+ esbuild: '>=0.13'
+ dependencies:
+ esbuild: 0.15.18
+ load-tsconfig: 0.2.5
+ dev: true
+
/c12@1.10.0:
resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==}
dependencies:
@@ -5262,6 +5258,11 @@ packages:
pkg-types: 1.0.3
rc9: 2.1.1
+ /cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+ dev: true
+
/call-bind@1.0.7:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
engines: {node: '>= 0.4'}
@@ -5312,6 +5313,19 @@ packages:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
dev: false
+ /chai@4.4.1:
+ resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
+ engines: {node: '>=4'}
+ dependencies:
+ assertion-error: 1.1.0
+ check-error: 1.0.3
+ deep-eql: 4.1.3
+ get-func-name: 2.0.2
+ loupe: 2.3.7
+ pathval: 1.1.1
+ type-detect: 4.0.8
+ dev: true
+
/chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@@ -5351,6 +5365,12 @@ packages:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
dev: true
+ /check-error@1.0.3:
+ resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
+ dependencies:
+ get-func-name: 2.0.2
+ dev: true
+
/chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
@@ -5387,12 +5407,18 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
restore-cursor: 4.0.0
- dev: false
/cli-spinners@2.9.2:
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
engines: {node: '>=6'}
- dev: false
+
+ /cli-truncate@3.1.0:
+ resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ slice-ansi: 5.0.0
+ string-width: 5.1.2
+ dev: true
/clipboardy@4.0.0:
resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==}
@@ -5458,6 +5484,11 @@ packages:
/commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ /commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+ dev: true
+
/common-ancestor-path@1.0.1:
resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
dev: false
@@ -5481,6 +5512,18 @@ packages:
/confbox@0.1.3:
resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==}
+ /configstore@5.0.1:
+ resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==}
+ engines: {node: '>=8'}
+ dependencies:
+ dot-prop: 5.3.0
+ graceful-fs: 4.2.11
+ make-dir: 3.1.0
+ unique-string: 2.0.0
+ write-file-atomic: 3.0.3
+ xdg-basedir: 4.0.0
+ dev: true
+
/consola@3.2.3:
resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -5547,9 +5590,6 @@ packages:
shebang-command: 2.0.0
which: 2.0.2
- /crossws@0.1.1:
- resolution: {integrity: sha512-c9c/o7bS3OjsdpSkvexpka0JNlesBF2JU9B2V1yNsYGwRbAafxhJQ7VI9b48D5bpONz/oxbPGMzBojy9sXoQIQ==}
-
/crossws@0.2.4:
resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==}
peerDependencies:
@@ -5558,6 +5598,11 @@ packages:
uWebSockets.js:
optional: true
+ /crypto-random-string@2.0.0:
+ resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
+ engines: {node: '>=8'}
+ dev: true
+
/cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
@@ -5664,6 +5709,13 @@ packages:
character-entities: 2.0.2
dev: false
+ /deep-eql@4.1.3:
+ resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
+ engines: {node: '>=6'}
+ dependencies:
+ type-detect: 4.0.8
+ dev: true
+
/deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
@@ -5729,6 +5781,12 @@ packages:
/defu@6.1.4:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+ /degit@2.8.4:
+ resolution: {integrity: sha512-vqYuzmSA5I50J882jd+AbAhQtgK6bdKUJIex1JNfEUPENCgYsxugzKVZlFyMwV4i06MmnV47/Iqi5Io86zf3Ng==}
+ engines: {node: '>=8.0.0'}
+ hasBin: true
+ dev: true
+
/delegates@1.0.0:
resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
@@ -5797,7 +5855,6 @@ packages:
/diff@5.2.0:
resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==}
engines: {node: '>=0.3.1'}
- dev: false
/dir-glob@3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
@@ -5823,6 +5880,13 @@ packages:
esutils: 2.0.3
dev: true
+ /dot-prop@5.3.0:
+ resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-obj: 2.0.0
+ dev: true
+
/dot-prop@8.0.2:
resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==}
engines: {node: '>=16'}
@@ -6250,6 +6314,21 @@ packages:
requiresBuild: true
optional: true
+ /esbuild-plugin-solid@0.5.0(esbuild@0.14.54)(solid-js@1.8.15):
+ resolution: {integrity: sha512-ITK6n+0ayGFeDVUZWNMxX+vLsasEN1ILrg4pISsNOQ+mq4ljlJJiuXotInd+HE0MzwTcA9wExT1yzDE2hsqPsg==}
+ peerDependencies:
+ esbuild: '>=0.12'
+ solid-js: '>= 1.0'
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/preset-typescript': 7.23.3(@babel/core@7.20.12)
+ babel-preset-solid: 1.8.15(@babel/core@7.20.12)
+ esbuild: 0.14.54
+ solid-js: 1.8.15
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/esbuild-sunos-64@0.14.54:
resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
engines: {node: '>=12'}
@@ -6404,7 +6483,6 @@ packages:
'@esbuild/win32-arm64': 0.17.19
'@esbuild/win32-ia32': 0.17.19
'@esbuild/win32-x64': 0.17.19
- dev: false
/esbuild@0.18.20:
resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
@@ -7143,6 +7221,10 @@ packages:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
dev: true
+ /fuzzy-search@3.2.1:
+ resolution: {integrity: sha512-vAcPiyomt1ioKAsAL2uxSABHJ4Ju/e4UeDM+g1OlR0vV4YhLGMNsdLNvZTpEDY4JCSt0E4hASCNM5t2ETtsbyg==}
+ dev: true
+
/gauge@3.0.2:
resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
engines: {node: '>=10'}
@@ -7165,6 +7247,10 @@ packages:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
+ /get-func-name@2.0.2:
+ resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
+ dev: true
+
/get-intrinsic@1.2.4:
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
engines: {node: '>= 0.4'}
@@ -7208,6 +7294,11 @@ packages:
pathe: 1.1.2
tar: 6.2.0
+ /git-config-path@2.0.0:
+ resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==}
+ engines: {node: '>=4'}
+ dev: true
+
/git-hooks-list@3.1.0:
resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==}
dev: true
@@ -7353,8 +7444,8 @@ packages:
destr: 2.0.3
iron-webcrypto: 1.0.0
ohash: 1.1.3
- radix3: 1.1.0
- ufo: 1.4.0
+ radix3: 1.1.1
+ ufo: 1.5.1
uncrypto: 0.1.3
unenv: 1.9.0
transitivePeerDependencies:
@@ -7640,6 +7731,10 @@ packages:
/inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ /ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ dev: true
+
/inline-style-parser@0.1.1:
resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
@@ -7782,6 +7877,11 @@ packages:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
+ /is-fullwidth-code-point@4.0.0:
+ resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
+ engines: {node: '>=12'}
+ dev: true
+
/is-generator-function@1.0.10:
resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
engines: {node: '>= 0.4'}
@@ -7815,7 +7915,6 @@ packages:
/is-interactive@2.0.0:
resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
engines: {node: '>=12'}
- dev: false
/is-module@1.0.0:
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
@@ -7843,6 +7942,11 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
+ /is-obj@2.0.0:
+ resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
+ engines: {node: '>=8'}
+ dev: true
+
/is-path-inside@3.0.3:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
@@ -7925,10 +8029,13 @@ packages:
dependencies:
which-typed-array: 1.1.14
+ /is-typedarray@1.0.0:
+ resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+ dev: true
+
/is-unicode-supported@1.3.0:
resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
engines: {node: '>=12'}
- dev: false
/is-weakref@1.0.2:
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
@@ -7992,6 +8099,11 @@ packages:
/jose@5.2.3:
resolution: {integrity: sha512-KUXdbctm1uHVL8BYhnyHkgp3zDX5KW8ZhAKVFEfUbU2P8Alpzjb+48hHvjOdQIyPshoblhzsuqOwEEAbtHVirA==}
+ /joycon@3.1.1:
+ resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
+ engines: {node: '>=10'}
+ dev: true
+
/js-sdsl@4.4.2:
resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==}
dev: true
@@ -8097,7 +8209,6 @@ packages:
/kleur@3.0.3:
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
engines: {node: '>=6'}
- dev: false
/kleur@4.1.5:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
@@ -8128,6 +8239,21 @@ packages:
type-check: 0.4.0
dev: true
+ /license@1.0.3:
+ resolution: {integrity: sha512-M3F6dUcor+vy4znXK5ULfTikeMWxSf/K2w7EUk5vbuZL4UAEN4zOmjh7d2UJ0/v9GYTOz13LNsLqPXJGu+A26w==}
+ hasBin: true
+ dependencies:
+ '@ovyerus/licenses': 6.4.4
+ configstore: 5.0.1
+ detect-indent: 6.1.0
+ fuzzy-search: 3.2.1
+ git-config-path: 2.0.0
+ parse-git-config: 3.0.0
+ prompts: 2.4.2
+ wrap-text: 1.0.9
+ yargs: 15.4.1
+ dev: true
+
/lilconfig@2.1.0:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
@@ -8137,31 +8263,6 @@ packages:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: true
- /listhen@1.6.0:
- resolution: {integrity: sha512-z0RcEXVX5oTpY1bO02SKoTU/kmZSrFSngNNzHRM6KICR17PTq7ANush6AE6ztGJwJD4RLpBrVHd9GnV51J7s3w==}
- hasBin: true
- dependencies:
- '@parcel/watcher': 2.4.0
- '@parcel/watcher-wasm': 2.4.0
- citty: 0.1.6
- clipboardy: 4.0.0
- consola: 3.2.3
- crossws: 0.1.1
- defu: 6.1.4
- get-port-please: 3.1.2
- h3: 1.11.1
- http-shutdown: 1.2.2
- jiti: 1.21.0
- mlly: 1.6.1
- node-forge: 1.3.1
- pathe: 1.1.2
- std-env: 3.7.0
- ufo: 1.5.1
- untun: 0.1.3
- uqr: 0.1.2
- transitivePeerDependencies:
- - uWebSockets.js
-
/listhen@1.7.2:
resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==}
hasBin: true
@@ -8187,6 +8288,11 @@ packages:
transitivePeerDependencies:
- uWebSockets.js
+ /load-tsconfig@0.2.5:
+ resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
/load-yaml-file@0.2.0:
resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==}
engines: {node: '>=6'}
@@ -8196,6 +8302,11 @@ packages:
pify: 4.0.1
strip-bom: 3.0.0
+ /local-pkg@0.4.3:
+ resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+ engines: {node: '>=14'}
+ dev: true
+
/local-pkg@0.5.0:
resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
engines: {node: '>=14'}
@@ -8229,6 +8340,10 @@ packages:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
+ /lodash.sortby@4.7.0:
+ resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+ dev: true
+
/lodash.startcase@4.4.0:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
dev: true
@@ -8242,7 +8357,6 @@ packages:
dependencies:
chalk: 5.3.0
is-unicode-supported: 1.3.0
- dev: false
/longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
@@ -8255,6 +8369,12 @@ packages:
js-tokens: 4.0.0
dev: false
+ /loupe@2.3.7:
+ resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
+ dependencies:
+ get-func-name: 2.0.2
+ dev: true
+
/lru-cache@10.2.0:
resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
engines: {node: 14 || >=16.14}
@@ -8987,14 +9107,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
- /mlly@1.5.0:
- resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==}
- dependencies:
- acorn: 8.11.3
- pathe: 1.1.2
- pkg-types: 1.0.3
- ufo: 1.5.1
-
/mlly@1.6.1:
resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
dependencies:
@@ -9020,6 +9132,14 @@ packages:
/ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ /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
+
/nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -9354,7 +9474,6 @@ packages:
stdin-discarder: 0.1.0
strip-ansi: 7.1.0
wcwidth: 1.0.1
- dev: false
/os-tmpdir@1.0.2:
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
@@ -9384,6 +9503,13 @@ packages:
dependencies:
yocto-queue: 0.1.0
+ /p-limit@4.0.0:
+ resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ yocto-queue: 1.0.0
+ dev: true
+
/p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
@@ -9405,6 +9531,10 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
+ /package-json-type@1.0.3:
+ resolution: {integrity: sha512-Bey4gdRuOwDbS8Fj1qA3/pTq5r8pqiI5E3tjSqCdhaLSsyGG364VFzXLTIexN5AaNGe/vgdBzLfoKdr7EVg2KQ==}
+ dev: true
+
/parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -9425,6 +9555,14 @@ packages:
is-hexadecimal: 2.0.1
dev: false
+ /parse-git-config@3.0.0:
+ resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==}
+ engines: {node: '>=8'}
+ dependencies:
+ git-config-path: 2.0.0
+ ini: 1.3.8
+ dev: true
+
/parse-json@5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
@@ -9492,6 +9630,10 @@ packages:
/pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ /pathval@1.1.1:
+ resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
+ dev: true
+
/perfect-debounce@1.0.0:
resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
@@ -9519,6 +9661,11 @@ packages:
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
engines: {node: '>=6'}
+ /pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+ dev: true
+
/pkg-dir@4.2.0:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
engines: {node: '>=8'}
@@ -9600,6 +9747,7 @@ packages:
nanoid: 3.3.7
picocolors: 1.0.0
source-map-js: 1.0.2
+ dev: true
/postcss@8.4.35:
resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==}
@@ -9657,9 +9805,43 @@ packages:
resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
engines: {node: ^14.13.1 || >=16.0.0}
+ /pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 17.0.2
+ dev: true
+
/pretty-format@3.8.0:
resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==}
+ /pridepack@2.4.0(eslint@8.34.0)(tslib@2.5.0)(typescript@4.9.5):
+ resolution: {integrity: sha512-KL+X7UP1UNO/+ylH4xr8FPnThvbWPbNQonHI1RPk36bptA0/vjkZPU6PTKH3oTJVvd4Gvs2FfsSOFtT4hEoB0A==}
+ engines: {node: '>=12.12.0'}
+ hasBin: true
+ peerDependencies:
+ eslint: ^8.0
+ tslib: ^2.0
+ typescript: ^4.0
+ dependencies:
+ '@ovyerus/licenses': 6.4.4
+ degit: 2.8.4
+ dotenv: 16.4.5
+ esbuild: 0.17.19
+ eslint: 8.34.0
+ execa: 5.1.1
+ license: 1.0.3
+ ora: 6.3.1
+ package-json-type: 1.0.3
+ pretty-bytes: 6.1.1
+ prompts: 2.4.2
+ tslib: 2.5.0
+ typescript: 4.9.5
+ yargs: 17.7.2
+ dev: true
+
/prismjs@1.29.0:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
engines: {node: '>=6'}
@@ -9678,7 +9860,6 @@ packages:
dependencies:
kleur: 3.0.3
sisteransi: 1.0.5
- dev: false
/property-information@6.4.1:
resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==}
@@ -9709,9 +9890,6 @@ packages:
engines: {node: '>=10'}
dev: true
- /radix3@1.1.0:
- resolution: {integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==}
-
/radix3@1.1.1:
resolution: {integrity: sha512-yUUd5VTiFtcMEx0qFUxGAv5gbMc1un4RvEO1JZdP7ZUl/RHygZK6PknIKntmQRZxnMY3ZXD2ISaw1ij8GYW1yg==}
@@ -9741,6 +9919,10 @@ packages:
scheduler: 0.23.0
dev: false
+ /react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+ dev: true
+
/react@18.2.0:
resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
engines: {node: '>=0.10.0'}
@@ -10031,7 +10213,6 @@ packages:
dependencies:
onetime: 5.1.2
signal-exit: 3.0.7
- dev: false
/retext-latin@3.1.0:
resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==}
@@ -10399,6 +10580,10 @@ packages:
object-inspect: 1.13.1
dev: true
+ /siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+ dev: true
+
/signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
@@ -10416,7 +10601,6 @@ packages:
/sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
- dev: false
/slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
@@ -10431,6 +10615,14 @@ packages:
resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
engines: {node: '>=14.16'}
+ /slice-ansi@5.0.0:
+ resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ ansi-styles: 6.2.1
+ is-fullwidth-code-point: 4.0.0
+ dev: true
+
/smartwrap@2.0.2:
resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==}
engines: {node: '>=6'}
@@ -10513,6 +10705,13 @@ packages:
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
engines: {node: '>= 8'}
+ /source-map@0.8.0-beta.0:
+ resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
+ engines: {node: '>= 8'}
+ dependencies:
+ whatwg-url: 7.1.0
+ dev: true
+
/space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
dev: false
@@ -10549,6 +10748,10 @@ packages:
/sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+ /stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ dev: true
+
/stackframe@1.3.4:
resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
@@ -10567,7 +10770,6 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
bl: 5.1.0
- dev: false
/stream-transform@2.1.3:
resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==}
@@ -10704,6 +10906,20 @@ packages:
inline-style-parser: 0.1.1
dev: false
+ /sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ commander: 4.1.1
+ glob: 10.3.10
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+ dev: true
+
/suf-log@2.5.3:
resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==}
dependencies:
@@ -10828,6 +11044,33 @@ packages:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
+ /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
+
+ /tinybench@2.6.0:
+ resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==}
+ dev: true
+
+ /tinypool@0.3.1:
+ resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
+ /tinyspy@1.1.1:
+ resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
/titleize@3.0.0:
resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==}
engines: {node: '>=12'}
@@ -10860,6 +11103,17 @@ packages:
/tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+ /tr46@1.0.1:
+ resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+ dependencies:
+ punycode: 2.3.1
+ dev: true
+
+ /tree-kill@1.2.2:
+ resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+ hasBin: true
+ dev: true
+
/trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
dev: false
@@ -10873,6 +11127,10 @@ packages:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
dev: false
+ /ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ dev: true
+
/tsconfig-paths@3.15.0:
resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
dependencies:
@@ -10899,11 +11157,60 @@ packages:
/tslib@2.5.0:
resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
- dev: true
/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+ /tsup-preset-solid@0.1.8(esbuild@0.14.54)(solid-js@1.8.15)(tsup@6.5.0):
+ resolution: {integrity: sha512-V5TZFEZY9emACO3AZvKyCRzdoyjUcuMEEbTGcJnCma7OVvGnSNVoewFff9g0CaveJ8cZcC3u2tW9gMaxmPZ71A==}
+ peerDependencies:
+ tsup: ^6.5.0
+ dependencies:
+ esbuild-plugin-solid: 0.5.0(esbuild@0.14.54)(solid-js@1.8.15)
+ tsup: 6.5.0(typescript@4.9.5)
+ type-fest: 3.13.1
+ transitivePeerDependencies:
+ - esbuild
+ - solid-js
+ - supports-color
+ dev: true
+
+ /tsup@6.5.0(typescript@4.9.5):
+ resolution: {integrity: sha512-36u82r7rYqRHFkD15R20Cd4ercPkbYmuvRkz3Q1LCm5BsiFNUgpo36zbjVhCOgvjyxNBWNKHsaD5Rl8SykfzNA==}
+ engines: {node: '>=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: 3.1.2(esbuild@0.15.18)
+ cac: 6.7.14
+ chokidar: 3.6.0
+ debug: 4.3.4
+ esbuild: 0.15.18
+ execa: 5.1.1
+ globby: 11.1.0
+ joycon: 3.1.1
+ postcss-load-config: 3.1.4(postcss@8.4.28)
+ resolve-from: 5.0.0
+ rollup: 3.29.4
+ source-map: 0.8.0-beta.0
+ sucrase: 3.35.0
+ tree-kill: 1.2.2
+ typescript: 4.9.5
+ transitivePeerDependencies:
+ - supports-color
+ - ts-node
+ dev: true
+
/tsutils@3.21.0(typescript@4.9.5):
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'}
@@ -11050,6 +11357,11 @@ packages:
prelude-ls: 1.2.1
dev: true
+ /type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+ dev: true
+
/type-fest@0.13.1:
resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==}
engines: {node: '>=10'}
@@ -11115,6 +11427,12 @@ packages:
is-typed-array: 1.1.13
dev: true
+ /typedarray-to-buffer@3.1.5:
+ resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+ dependencies:
+ is-typedarray: 1.0.0
+ dev: true
+
/typescript@4.9.5:
resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
engines: {node: '>=4.2.0'}
@@ -11126,9 +11444,6 @@ packages:
hasBin: true
dev: true
- /ufo@1.4.0:
- resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==}
-
/ufo@1.5.1:
resolution: {integrity: sha512-HGyF79+/qZ4soRvM+nHERR2pJ3VXDZ/8sL1uLahdgEDf580NkgiWOxLk33FetExqOWp352JZRsgXbG/4MaGOSg==}
@@ -11228,10 +11543,17 @@ packages:
pkg-types: 1.0.3
scule: 1.3.0
strip-literal: 1.3.0
- unplugin: 1.7.1
+ unplugin: 1.10.0
transitivePeerDependencies:
- rollup
+ /unique-string@2.0.0:
+ resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
+ engines: {node: '>=8'}
+ dependencies:
+ crypto-random-string: 2.0.0
+ dev: true
+
/unist-util-generated@2.0.1:
resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==}
dev: false
@@ -11342,62 +11664,6 @@ packages:
webpack-sources: 3.2.3
webpack-virtual-modules: 0.6.1
- /unstorage@1.10.1:
- resolution: {integrity: sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==}
- peerDependencies:
- '@azure/app-configuration': ^1.4.1
- '@azure/cosmos': ^4.0.0
- '@azure/data-tables': ^13.2.2
- '@azure/identity': ^3.3.2
- '@azure/keyvault-secrets': ^4.7.0
- '@azure/storage-blob': ^12.16.0
- '@capacitor/preferences': ^5.0.6
- '@netlify/blobs': ^6.2.0
- '@planetscale/database': ^1.11.0
- '@upstash/redis': ^1.23.4
- '@vercel/kv': ^0.2.3
- idb-keyval: ^6.2.1
- peerDependenciesMeta:
- '@azure/app-configuration':
- optional: true
- '@azure/cosmos':
- optional: true
- '@azure/data-tables':
- optional: true
- '@azure/identity':
- optional: true
- '@azure/keyvault-secrets':
- optional: true
- '@azure/storage-blob':
- optional: true
- '@capacitor/preferences':
- optional: true
- '@netlify/blobs':
- optional: true
- '@planetscale/database':
- optional: true
- '@upstash/redis':
- optional: true
- '@vercel/kv':
- optional: true
- idb-keyval:
- optional: true
- dependencies:
- anymatch: 3.1.3
- chokidar: 3.6.0
- destr: 2.0.3
- h3: 1.11.1
- ioredis: 5.3.2
- listhen: 1.6.0
- lru-cache: 10.2.0
- mri: 1.2.0
- node-fetch-native: 1.6.2
- ofetch: 1.3.3
- ufo: 1.4.0
- transitivePeerDependencies:
- - supports-color
- - uWebSockets.js
-
/unstorage@1.10.2(ioredis@5.3.2):
resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==}
peerDependencies:
@@ -11584,14 +11850,14 @@ packages:
node-fetch-native: 1.6.2
path-to-regexp: 6.2.1
pathe: 1.1.2
- radix3: 1.1.0
+ radix3: 1.1.1
resolve: 1.22.8
serve-placeholder: 2.0.1
serve-static: 1.15.0
- ufo: 1.4.0
+ ufo: 1.5.1
unctx: 2.3.1
unenv: 1.9.0
- unstorage: 1.10.1
+ unstorage: 1.10.2(ioredis@5.3.2)
vite: 5.1.6(@types/node@18.17.5)
zod: 3.22.4
transitivePeerDependencies:
@@ -11613,6 +11879,7 @@ packages:
- drizzle-orm
- encoding
- idb-keyval
+ - ioredis
- less
- lightningcss
- sass
@@ -11623,29 +11890,27 @@ packages:
- uWebSockets.js
- xml2js
- /vite-plugin-inspect@0.7.42(rollup@4.9.6)(vite@4.4.9):
- resolution: {integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==}
- engines: {node: '>=14'}
- peerDependencies:
- '@nuxt/kit': '*'
- vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0
- peerDependenciesMeta:
- '@nuxt/kit':
- optional: true
+ /vite-node@0.29.2(@types/node@18.17.5):
+ resolution: {integrity: sha512-5oe1z6wzI3gkvc4yOBbDBbgpiWiApvuN4P55E8OI131JGrSuo4X3SOZrNmZYo4R8Zkze/dhi572blX0zc+6SdA==}
+ engines: {node: '>=v14.16.0'}
+ hasBin: true
dependencies:
- '@antfu/utils': 0.7.7
- '@rollup/pluginutils': 5.1.0(rollup@4.9.6)
+ cac: 6.7.14
debug: 4.3.4
- error-stack-parser-es: 0.1.1
- fs-extra: 11.2.0
- open: 9.1.0
+ mlly: 1.6.1
+ pathe: 1.1.2
picocolors: 1.0.0
- sirv: 2.0.4
vite: 4.4.9(@types/node@18.17.5)
transitivePeerDependencies:
- - rollup
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
- supports-color
- dev: false
+ - terser
+ dev: true
/vite-plugin-inspect@0.7.42(rollup@4.9.6)(vite@5.1.6):
resolution: {integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==}
@@ -11670,28 +11935,6 @@ packages:
- rollup
- supports-color
- /vite-plugin-solid@2.9.1(solid-js@1.8.15)(vite@4.4.9):
- resolution: {integrity: sha512-RC4hj+lbvljw57BbMGDApvEOPEh14lwrr/GeXRLNQLcR1qnOdzOwwTSFy13Gj/6FNIZpBEl0bWPU+VYFawrqUw==}
- peerDependencies:
- '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.*
- solid-js: ^1.7.2
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0
- peerDependenciesMeta:
- '@testing-library/jest-dom':
- optional: true
- dependencies:
- '@babel/core': 7.23.9
- '@types/babel__core': 7.20.5
- babel-preset-solid: 1.8.15(@babel/core@7.23.9)
- merge-anything: 5.1.7
- solid-js: 1.8.15
- solid-refresh: 0.6.3(solid-js@1.8.15)
- vite: 4.4.9(@types/node@18.17.5)
- vitefu: 0.2.5(vite@4.4.9)
- transitivePeerDependencies:
- - supports-color
- dev: false
-
/vite-plugin-solid@2.9.1(solid-js@1.8.15)(vite@5.1.6):
resolution: {integrity: sha512-RC4hj+lbvljw57BbMGDApvEOPEh14lwrr/GeXRLNQLcR1qnOdzOwwTSFy13Gj/6FNIZpBEl0bWPU+VYFawrqUw==}
peerDependencies:
@@ -11743,7 +11986,7 @@ packages:
dependencies:
'@types/node': 18.17.5
esbuild: 0.18.20
- postcss: 8.4.28
+ postcss: 8.4.35
rollup: 3.29.4
optionalDependencies:
fsevents: 2.3.3
@@ -11804,6 +12047,62 @@ packages:
dependencies:
vite: 5.1.6(@types/node@18.17.5)
+ /vitest@0.29.2:
+ resolution: {integrity: sha512-ydK9IGbAvoY8wkg29DQ4ivcVviCaUi3ivuPKfZEVddMTenFHUfB8EEDXQV8+RasEk1ACFLgMUqAaDuQ/Nk+mQA==}
+ engines: {node: '>=v14.16.0'}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@vitest/browser': '*'
+ '@vitest/ui': '*'
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+ dependencies:
+ '@types/chai': 4.3.14
+ '@types/chai-subset': 1.3.5
+ '@types/node': 18.17.5
+ '@vitest/expect': 0.29.2
+ '@vitest/runner': 0.29.2
+ '@vitest/spy': 0.29.2
+ '@vitest/utils': 0.29.2
+ acorn: 8.11.3
+ acorn-walk: 8.3.2
+ cac: 6.7.14
+ chai: 4.4.1
+ debug: 4.3.4
+ local-pkg: 0.4.3
+ pathe: 1.1.2
+ picocolors: 1.0.0
+ source-map: 0.6.1
+ std-env: 3.7.0
+ strip-literal: 1.3.0
+ tinybench: 2.6.0
+ tinypool: 0.3.1
+ tinyspy: 1.1.1
+ vite: 4.4.9(@types/node@18.17.5)
+ vite-node: 0.29.2(@types/node@18.17.5)
+ why-is-node-running: 2.2.2
+ transitivePeerDependencies:
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
/vscode-css-languageservice@6.2.12:
resolution: {integrity: sha512-PS9r7HgNjqzRl3v91sXpCyZPc8UDotNo6gntFNtGCKPhGA9Frk7g/VjX1Mbv3F00pn56D+rxrFzR9ep4cawOgA==}
dependencies:
@@ -11901,6 +12200,10 @@ packages:
/webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+ /webidl-conversions@4.0.2:
+ resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
+ dev: true
+
/webpack-sources@3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
engines: {node: '>=10.13.0'}
@@ -11914,6 +12217,14 @@ packages:
tr46: 0.0.3
webidl-conversions: 3.0.1
+ /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-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
dependencies:
@@ -11971,6 +12282,15 @@ packages:
dependencies:
isexe: 3.1.1
+ /why-is-node-running@2.2.2:
+ resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+ dev: true
+
/wide-align@1.1.5:
resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
dependencies:
@@ -12007,9 +12327,27 @@ packages:
string-width: 5.1.2
strip-ansi: 7.1.0
+ /wrap-text@1.0.9:
+ resolution: {integrity: sha512-NWfjspSgMDXQIMpKM56AwCQPI01OMFRYYJBh6dGNCfH7AOl+j/VqqbiopgJ4VuQfSluqLc+2ekqaPNpYAGZ/Vg==}
+ dev: true
+
/wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ /write-file-atomic@3.0.3:
+ resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+ dependencies:
+ imurmurhash: 0.1.4
+ is-typedarray: 1.0.0
+ signal-exit: 3.0.7
+ typedarray-to-buffer: 3.1.5
+ dev: true
+
+ /xdg-basedir@4.0.0:
+ resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==}
+ engines: {node: '>=8'}
+ dev: true
+
/xtend@4.0.2:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
@@ -12083,6 +12421,11 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
+ /yocto-queue@1.0.0:
+ resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
+ engines: {node: '>=12.20'}
+ dev: true
+
/zip-stream@6.0.1:
resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
engines: {node: '>= 14'}