From 9fac4ac4d991013aef9461f9c81ba31db72012a8 Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Tue, 17 May 2022 14:25:03 -0700 Subject: [PATCH] update types --- README.md | 1 - api.d.ts | 1 + packages/trpc/client.d.ts => client.d.ts | 0 package.json | 53 +- packages/playground/app.vue | 18 - packages/playground/package.json | 18 - packages/playground/server/fn/index.ts | 11 - packages/playground/tsconfig.json | 3 - packages/trpc/README.md | 6 - packages/trpc/handler.d.ts | 1 - packages/trpc/package.json | 45 -- packages/trpc/src/runtime/client.ts | 33 -- packages/trpc/tsconfig.json | 14 - .../playground => playground}/.gitignore | 0 {packages/playground => playground}/README.md | 0 playground/app.vue | 14 + .../playground => playground}/nuxt.config.ts | 6 +- playground/package.json | 4 + playground/server/fn/index.ts | 16 + pnpm-lock.yaml | 488 +++++++++++------- pnpm-workspace.yaml | 2 +- {packages/trpc/src => src}/module.ts | 21 +- {packages/trpc/src => src}/runtime/api.ts | 0 src/runtime/client.ts | 81 +++ tsconfig.json | 6 + 25 files changed, 479 insertions(+), 363 deletions(-) delete mode 120000 README.md create mode 100644 api.d.ts rename packages/trpc/client.d.ts => client.d.ts (100%) delete mode 100644 packages/playground/app.vue delete mode 100644 packages/playground/package.json delete mode 100644 packages/playground/server/fn/index.ts delete mode 100644 packages/playground/tsconfig.json delete mode 100644 packages/trpc/README.md delete mode 100644 packages/trpc/handler.d.ts delete mode 100644 packages/trpc/package.json delete mode 100644 packages/trpc/src/runtime/client.ts delete mode 100644 packages/trpc/tsconfig.json rename {packages/playground => playground}/.gitignore (100%) rename {packages/playground => playground}/README.md (100%) create mode 100644 playground/app.vue rename {packages/playground => playground}/nuxt.config.ts (61%) create mode 100644 playground/package.json create mode 100644 playground/server/fn/index.ts rename {packages/trpc/src => src}/module.ts (76%) rename {packages/trpc/src => src}/runtime/api.ts (100%) create mode 100644 src/runtime/client.ts create mode 100644 tsconfig.json diff --git a/README.md b/README.md deleted file mode 120000 index 32b17c6..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -packages/trpc/README.md \ No newline at end of file diff --git a/api.d.ts b/api.d.ts new file mode 100644 index 0000000..283419d --- /dev/null +++ b/api.d.ts @@ -0,0 +1 @@ +export * from './dist/runtime/api' diff --git a/packages/trpc/client.d.ts b/client.d.ts similarity index 100% rename from packages/trpc/client.d.ts rename to client.d.ts diff --git a/package.json b/package.json index ab511df..1dc0d3a 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,59 @@ { - "name": "monorepo", - "packageManager": "pnpm@7.0.0", + "name": "trpc-nuxt", + "type": "module", + "version": "0.0.3", + "packageManager": "pnpm@7.1.0", + "license": "MIT", + "main": "./dist/module.cjs", + "types": "./dist/types.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": "./dist/module.mjs", + "require": "./dist/module.cjs" + }, + "./api": { + "import": "./dist/runtime/api.mjs", + "types": "./dist/runtime/api.d.ts" + }, + "./client": { + "import": "./dist/runtime/client.mjs", + "types": "./dist/runtime/client.d.ts" + } + }, + "files": [ + "dist", + "*.d.ts" + ], "scripts": { - "dev": "nr --parallel --filter trpc-nuxt --filter playground dev", + "prepublishOnly": "nr build", + "build": "nuxt-module-build", + "play": "nr build && nuxi dev playground", "lint": "eslint .", - "lint:fix": "eslint . --fix", - "prepare": "nr --filter playground prepare" + "release": "bumpp --commit --push --tag && pnpm publish", + "prepare": "nuxi prepare playground" + }, + "dependencies": { + "@nuxt/kit": "^3.0.0-rc.3", + "@trpc/client": "^9.23.3", + "@trpc/server": "^9.23.2", + "fs-extra": "^10.1.0", + "h3": "^0.7.8", + "ohash": "^0.1.0", + "pathe": "^0.3.0", + "ufo": "^0.8.4" }, "devDependencies": { "@antfu/eslint-config": "^0.23.1", "@antfu/ni": "^0.16.2", "@nuxt/module-builder": "latest", + "@types/fs-extra": "^9.0.13", + "bumpp": "^7.1.1", "eslint": "^8.14.0", - "pnpm": "^7.1.0" + "nuxt": "^3.0.0-rc.3", + "pnpm": "^7.1.0", + "trpc-nuxt": "workspace:*", + "zod": "^3.16.0" }, "eslintConfig": { "extends": "@antfu" diff --git a/packages/playground/app.vue b/packages/playground/app.vue deleted file mode 100644 index 8b51c07..0000000 --- a/packages/playground/app.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/packages/playground/package.json b/packages/playground/package.json deleted file mode 100644 index eb0b712..0000000 --- a/packages/playground/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "playground", - "private": true, - "scripts": { - "build": "nuxt build", - "dev": "nuxt dev", - "generate": "nuxt generate", - "preview": "nuxt preview", - "prepare": "nuxt prepare" - }, - "dependencies": { - "trpc-nuxt": "link:../trpc", - "zod": "^3.16.0" - }, - "devDependencies": { - "nuxt": "3.0.0-rc.3" - } -} diff --git a/packages/playground/server/fn/index.ts b/packages/playground/server/fn/index.ts deleted file mode 100644 index 34b262b..0000000 --- a/packages/playground/server/fn/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -// generated by trpc-nuxt - import * as trpc from '@trpc/server' - - export const router = trpc - .router() - .query('hello', { - resolve: () => 'world', - }); - - export type Router = typeof router - \ No newline at end of file diff --git a/packages/playground/tsconfig.json b/packages/playground/tsconfig.json deleted file mode 100644 index 4b34df1..0000000 --- a/packages/playground/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./.nuxt/tsconfig.json" -} diff --git a/packages/trpc/README.md b/packages/trpc/README.md deleted file mode 100644 index a089e70..0000000 --- a/packages/trpc/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Nuxt Module - -## Development - -- Run `npm run dev:prepare` to generate type stubs. -- Use `npm run dev` to start [playground](./playground) in development mode. diff --git a/packages/trpc/handler.d.ts b/packages/trpc/handler.d.ts deleted file mode 100644 index 1939677..0000000 --- a/packages/trpc/handler.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './dist/runtime/handler' diff --git a/packages/trpc/package.json b/packages/trpc/package.json deleted file mode 100644 index da9dea2..0000000 --- a/packages/trpc/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "trpc-nuxt", - "type": "module", - "version": "0.0.3", - "license": "MIT", - "main": "./dist/module.cjs", - "types": "./dist/types.d.ts", - "exports": { - ".": { - "import": "./dist/module.mjs", - "require": "./dist/module.cjs" - }, - "./api": { - "import": "./dist/runtime/api.mjs", - "types": "./dist/runtime/api.d.ts" - }, - "./client": { - "import": "./dist/runtime/client.mjs", - "types": "./dist/runtime/client.d.ts" - } - }, - "files": [ - "dist", - "*.d.ts" - ], - "scripts": { - "build": "nuxt-module-build", - "dev": "nuxt-module-build --stub" - }, - "dependencies": { - "@nuxt/kit": "^3.0.0-rc.3", - "@trpc/client": "^9.23.3", - "@trpc/server": "^9.23.2", - "fs-extra": "^10.1.0", - "h3": "^0.7.8", - "ohash": "^0.1.0", - "pathe": "^0.3.0", - "ufo": "^0.8.4" - }, - "devDependencies": { - "@nuxt/module-builder": "latest", - "@types/fs-extra": "^9.0.13", - "nuxt": "^3.0.0-rc.3" - } -} diff --git a/packages/trpc/src/runtime/client.ts b/packages/trpc/src/runtime/client.ts deleted file mode 100644 index 99d8b09..0000000 --- a/packages/trpc/src/runtime/client.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { objectHash } from 'ohash' -import type { TRPCClient } from '@trpc/client' -import { useAsyncData, useLazyAsyncData } from '#imports' - -// type ReturnType = T extends (...args: any) => infer R ? R : never - -export function createTRPCComposables>(client: T): { - useTrpcQuery: (...args: Parameters) => ReturnType - useTrpcLazyQuery: (...args: Parameters) => ReturnType - useTrpcMutation: (...args: Parameters) => ReturnType -} - -export function createTRPCComposables< - T extends TRPCClient, ->(client: T) { - const useTrpcQuery = (...args: Parameters) => { - return useAsyncData(`trpc-${objectHash(args[0] + (args[1] ? JSON.stringify(args[1]) : ''))}`, () => client.query(...args)) - } - - const useTrpcLazyQuery = (...args: Parameters) => { - return useLazyAsyncData(`trpc-${objectHash(args[0] + (args[1] ? JSON.stringify(args[1]) : ''))}`, () => client.query(...args)) - } - - const useTrpcMutation = (...args: Parameters) => { - return useAsyncData(`trpc-${objectHash(args[0] + (args[1] ? JSON.stringify(args[1]) : ''))}`, () => client.mutation(...args)) - } - - return { - useTrpcQuery, - useTrpcLazyQuery, - useTrpcMutation, - } -} diff --git a/packages/trpc/tsconfig.json b/packages/trpc/tsconfig.json deleted file mode 100644 index 68f2e4a..0000000 --- a/packages/trpc/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "target": "es2018", - "module": "esnext", - "lib": ["esnext"], - "moduleResolution": "node", - "esModuleInterop": true, - "strict": true, - "strictNullChecks": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "skipDefaultLibCheck": true - } -} diff --git a/packages/playground/.gitignore b/playground/.gitignore similarity index 100% rename from packages/playground/.gitignore rename to playground/.gitignore diff --git a/packages/playground/README.md b/playground/README.md similarity index 100% rename from packages/playground/README.md rename to playground/README.md diff --git a/playground/app.vue b/playground/app.vue new file mode 100644 index 0000000..92a6fd4 --- /dev/null +++ b/playground/app.vue @@ -0,0 +1,14 @@ + + + diff --git a/packages/playground/nuxt.config.ts b/playground/nuxt.config.ts similarity index 61% rename from packages/playground/nuxt.config.ts rename to playground/nuxt.config.ts index 6992cb0..33734ba 100644 --- a/packages/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -1,6 +1,10 @@ import { defineNuxtConfig } from 'nuxt' +import Module from '..' // https://v3.nuxtjs.org/api/configuration/nuxt.config export default defineNuxtConfig({ - modules: ['trpc-nuxt'], + modules: [Module], + typescript: { + strict: true, + }, }) diff --git a/playground/package.json b/playground/package.json new file mode 100644 index 0000000..51466b1 --- /dev/null +++ b/playground/package.json @@ -0,0 +1,4 @@ +{ + "name": "playground", + "private": true +} diff --git a/playground/server/fn/index.ts b/playground/server/fn/index.ts new file mode 100644 index 0000000..811abf5 --- /dev/null +++ b/playground/server/fn/index.ts @@ -0,0 +1,16 @@ +import * as trpc from '@trpc/server' +import { z } from 'zod' + +export const router = trpc + .router() + .query('getUser', { + input: z.object({ name: z.string().min(5) }), + async resolve(req) { + return { id: 1, name: req.input.name } + }, + }) + .query('hello', { + resolve: () => 'world', + }) + +export type Router = typeof router diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f0661c7..303844d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,42 +6,26 @@ importers: specifiers: '@antfu/eslint-config': ^0.23.1 '@antfu/ni': ^0.16.2 - '@nuxt/module-builder': latest - eslint: ^8.14.0 - pnpm: ^7.1.0 - devDependencies: - '@antfu/eslint-config': 0.23.1_eslint@8.15.0 - '@antfu/ni': 0.16.2 - '@nuxt/module-builder': 0.1.7 - eslint: 8.15.0 - pnpm: 7.1.0 - - packages/playground: - specifiers: - nuxt: 3.0.0-rc.3 - trpc-nuxt: link:../trpc - zod: ^3.16.0 - dependencies: - trpc-nuxt: link:../trpc - zod: 3.16.0 - devDependencies: - nuxt: 3.0.0-rc.3 - - packages/trpc: - specifiers: '@nuxt/kit': ^3.0.0-rc.3 '@nuxt/module-builder': latest + '@nuxtjs/sanity': ^1.2.0 '@trpc/client': ^9.23.3 '@trpc/server': ^9.23.2 '@types/fs-extra': ^9.0.13 + bumpp: ^7.1.1 + eslint: ^8.14.0 fs-extra: ^10.1.0 h3: ^0.7.8 nuxt: ^3.0.0-rc.3 ohash: ^0.1.0 pathe: ^0.3.0 + pnpm: ^7.1.0 + trpc-nuxt: workspace:* ufo: ^0.8.4 + zod: ^3.16.0 dependencies: '@nuxt/kit': 3.0.0-rc.3 + '@nuxtjs/sanity': 1.2.0 '@trpc/client': 9.23.4_@trpc+server@9.23.4 '@trpc/server': 9.23.4 fs-extra: 10.1.0 @@ -50,9 +34,16 @@ importers: pathe: 0.3.0 ufo: 0.8.4 devDependencies: + '@antfu/eslint-config': 0.23.1_eslint@8.15.0 + '@antfu/ni': 0.16.2 '@nuxt/module-builder': 0.1.7 '@types/fs-extra': 9.0.13 + bumpp: 7.1.1 + eslint: 8.15.0 nuxt: 3.0.0-rc.3 + pnpm: 7.1.0 + trpc-nuxt: 'link:' + zod: 3.16.0 packages: @@ -63,7 +54,7 @@ packages: '@jridgewell/gen-mapping': 0.1.1 '@jridgewell/trace-mapping': 0.3.13 - /@antfu/eslint-config-basic/0.23.1_ae4wjpjlz2l2qm7erdt4inxtpu: + /@antfu/eslint-config-basic/0.23.1_eor5fr4wgkua4fh2zz3r4cqkce: resolution: {integrity: sha512-9h0hqK+E/upIrSVTo2Nt2SQoKRqouDhiJcrdkOx3RgvQkcZItuZnpWI2WGDMWQ3WTjE4fYyd+F4p7Mx/QHvX8w==} peerDependencies: eslint: '>=7.4.0' @@ -72,7 +63,7 @@ packages: eslint-plugin-antfu: 0.23.1_eslint@8.15.0 eslint-plugin-eslint-comments: 3.2.0_eslint@8.15.0 eslint-plugin-html: 6.2.0 - eslint-plugin-import: 2.26.0_ae4wjpjlz2l2qm7erdt4inxtpu + eslint-plugin-import: 2.26.0_eor5fr4wgkua4fh2zz3r4cqkce eslint-plugin-jsonc: 2.2.1_eslint@8.15.0 eslint-plugin-markdown: 2.2.1_eslint@8.15.0 eslint-plugin-n: 15.2.0_eslint@8.15.0 @@ -110,9 +101,9 @@ packages: eslint: '>=7.4.0' typescript: '>=3.9' dependencies: - '@antfu/eslint-config-basic': 0.23.1_ae4wjpjlz2l2qm7erdt4inxtpu - '@typescript-eslint/eslint-plugin': 5.24.0_ae4wjpjlz2l2qm7erdt4inxtpu - '@typescript-eslint/parser': 5.24.0_eslint@8.15.0 + '@antfu/eslint-config-basic': 0.23.1_eor5fr4wgkua4fh2zz3r4cqkce + '@typescript-eslint/eslint-plugin': 5.25.0_eor5fr4wgkua4fh2zz3r4cqkce + '@typescript-eslint/parser': 5.25.0_eslint@8.15.0 eslint: 8.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -142,12 +133,12 @@ packages: dependencies: '@antfu/eslint-config-react': 0.23.1_eslint@8.15.0 '@antfu/eslint-config-vue': 0.23.1_eslint@8.15.0 - '@typescript-eslint/eslint-plugin': 5.24.0_ae4wjpjlz2l2qm7erdt4inxtpu - '@typescript-eslint/parser': 5.24.0_eslint@8.15.0 + '@typescript-eslint/eslint-plugin': 5.25.0_eor5fr4wgkua4fh2zz3r4cqkce + '@typescript-eslint/parser': 5.25.0_eslint@8.15.0 eslint: 8.15.0 eslint-plugin-eslint-comments: 3.2.0_eslint@8.15.0 eslint-plugin-html: 6.2.0 - eslint-plugin-import: 2.26.0_ae4wjpjlz2l2qm7erdt4inxtpu + eslint-plugin-import: 2.26.0_eor5fr4wgkua4fh2zz3r4cqkce eslint-plugin-jsonc: 2.2.1_eslint@8.15.0 eslint-plugin-n: 15.2.0_eslint@8.15.0 eslint-plugin-promise: 6.0.0_eslint@8.15.0 @@ -172,26 +163,26 @@ packages: resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.17.9 + '@babel/highlight': 7.17.12 /@babel/compat-data/7.17.10: resolution: {integrity: sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==} engines: {node: '>=6.9.0'} - /@babel/core/7.17.10: - resolution: {integrity: sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==} + /@babel/core/7.17.12: + resolution: {integrity: sha512-44ODe6O1IVz9s2oJE3rZ4trNNKTX9O7KpQpfAP4t8QII/zwrVRHL7i2pxhqtcY7tqMLrrKfMlBKnm1QlrRFs5w==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.16.7 - '@babel/generator': 7.17.10 - '@babel/helper-compilation-targets': 7.17.10_@babel+core@7.17.10 - '@babel/helper-module-transforms': 7.17.7 + '@babel/generator': 7.17.12 + '@babel/helper-compilation-targets': 7.17.10_@babel+core@7.17.12 + '@babel/helper-module-transforms': 7.17.12 '@babel/helpers': 7.17.9 - '@babel/parser': 7.17.10 + '@babel/parser': 7.17.12 '@babel/template': 7.16.7 - '@babel/traverse': 7.17.10 - '@babel/types': 7.17.10 + '@babel/traverse': 7.17.12 + '@babel/types': 7.17.12 convert-source-map: 1.8.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -200,40 +191,40 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator/7.17.10: - resolution: {integrity: sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==} + /@babel/generator/7.17.12: + resolution: {integrity: sha512-V49KtZiiiLjH/CnIW6OjJdrenrGoyh6AmKQ3k2AZFKozC1h846Q4NYlZ5nqAigPDUXfGzC88+LOUuG8yKd2kCw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.10 - '@jridgewell/gen-mapping': 0.1.1 + '@babel/types': 7.17.12 + '@jridgewell/gen-mapping': 0.3.1 jsesc: 2.5.2 /@babel/helper-annotate-as-pure/7.16.7: resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.10 + '@babel/types': 7.17.12 dev: true - /@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.10: + /@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.12: resolution: {integrity: sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.17.10 - '@babel/core': 7.17.10 + '@babel/core': 7.17.12 '@babel/helper-validator-option': 7.16.7 browserslist: 4.20.3 semver: 6.3.0 - /@babel/helper-create-class-features-plugin/7.17.9_@babel+core@7.17.10: - resolution: {integrity: sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==} + /@babel/helper-create-class-features-plugin/7.17.12_@babel+core@7.17.12: + resolution: {integrity: sha512-sZoOeUTkFJMyhqCei2+Z+wtH/BehW8NVKQt7IRUQlRiOARuXymJYfN/FCcI8CvVbR0XVyDM6eLFOlR7YtiXnew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.17.10 + '@babel/core': 7.17.12 '@babel/helper-annotate-as-pure': 7.16.7 '@babel/helper-environment-visitor': 7.16.7 '@babel/helper-function-name': 7.17.9 @@ -249,36 +240,36 @@ packages: resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.10 + '@babel/types': 7.17.12 /@babel/helper-function-name/7.17.9: resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.16.7 - '@babel/types': 7.17.10 + '@babel/types': 7.17.12 /@babel/helper-hoist-variables/7.16.7: resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.10 + '@babel/types': 7.17.12 /@babel/helper-member-expression-to-functions/7.17.7: resolution: {integrity: sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.10 + '@babel/types': 7.17.12 dev: true /@babel/helper-module-imports/7.16.7: resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.10 + '@babel/types': 7.17.12 - /@babel/helper-module-transforms/7.17.7: - resolution: {integrity: sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==} + /@babel/helper-module-transforms/7.17.12: + resolution: {integrity: sha512-t5s2BeSWIghhFRPh9XMn6EIGmvn8Lmw5RVASJzkIx1mSemubQQBNIZiQD7WzaFmaHIrjAec4x8z9Yx8SjJ1/LA==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.16.7 @@ -287,8 +278,8 @@ packages: '@babel/helper-split-export-declaration': 7.16.7 '@babel/helper-validator-identifier': 7.16.7 '@babel/template': 7.16.7 - '@babel/traverse': 7.17.10 - '@babel/types': 7.17.10 + '@babel/traverse': 7.17.12 + '@babel/types': 7.17.12 transitivePeerDependencies: - supports-color @@ -296,11 +287,11 @@ packages: resolution: {integrity: sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.10 + '@babel/types': 7.17.12 dev: true - /@babel/helper-plugin-utils/7.16.7: - resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} + /@babel/helper-plugin-utils/7.17.12: + resolution: {integrity: sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==} engines: {node: '>=6.9.0'} dev: true @@ -311,8 +302,8 @@ packages: '@babel/helper-environment-visitor': 7.16.7 '@babel/helper-member-expression-to-functions': 7.17.7 '@babel/helper-optimise-call-expression': 7.16.7 - '@babel/traverse': 7.17.10 - '@babel/types': 7.17.10 + '@babel/traverse': 7.17.12 + '@babel/types': 7.17.12 transitivePeerDependencies: - supports-color dev: true @@ -321,13 +312,13 @@ packages: resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.10 + '@babel/types': 7.17.12 /@babel/helper-split-export-declaration/7.16.7: resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.10 + '@babel/types': 7.17.12 /@babel/helper-validator-identifier/7.16.7: resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} @@ -342,65 +333,65 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.16.7 - '@babel/traverse': 7.17.10 - '@babel/types': 7.17.10 + '@babel/traverse': 7.17.12 + '@babel/types': 7.17.12 transitivePeerDependencies: - supports-color - /@babel/highlight/7.17.9: - resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==} + /@babel/highlight/7.17.12: + resolution: {integrity: sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.16.7 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser/7.17.10: - resolution: {integrity: sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==} + /@babel/parser/7.17.12: + resolution: {integrity: sha512-FLzHmN9V3AJIrWfOpvRlZCeVg/WLdicSnTMsLur6uDj9TT8ymUlG9XxURdW/XvuygK+2CW0poOJABdA4m/YKxA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.17.10 + '@babel/types': 7.17.12 - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.10: + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.12: resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.10 - '@babel/helper-plugin-utils': 7.16.7 + '@babel/core': 7.17.12 + '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.17.10: - resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==} + /@babel/plugin-syntax-jsx/7.17.12_@babel+core@7.17.12: + resolution: {integrity: sha512-spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.10 - '@babel/helper-plugin-utils': 7.16.7 + '@babel/core': 7.17.12 + '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-syntax-typescript/7.17.10_@babel+core@7.17.10: - resolution: {integrity: sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==} + /@babel/plugin-syntax-typescript/7.17.12_@babel+core@7.17.12: + resolution: {integrity: sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.10 - '@babel/helper-plugin-utils': 7.16.7 + '@babel/core': 7.17.12 + '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.10: - resolution: {integrity: sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==} + /@babel/plugin-transform-typescript/7.17.12_@babel+core@7.17.12: + resolution: {integrity: sha512-ICbXZqg6hgenjmwciVI/UfqZtExBrZOrS8sLB5mTHGO/j08Io3MmooULBiijWk9JBknjM3CbbtTc/0ZsqLrjXQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.10 - '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.10 - '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-typescript': 7.17.10_@babel+core@7.17.10 + '@babel/core': 7.17.12 + '@babel/helper-create-class-features-plugin': 7.17.12_@babel+core@7.17.12 + '@babel/helper-plugin-utils': 7.17.12 + '@babel/plugin-syntax-typescript': 7.17.12_@babel+core@7.17.12 transitivePeerDependencies: - supports-color dev: true @@ -412,8 +403,8 @@ packages: regenerator-runtime: 0.13.9 dev: false - /@babel/standalone/7.17.11: - resolution: {integrity: sha512-47wVYBeTktYHwtzlFuK7qqV/H5X6mU4MUNqpQ9iiJOqnP8rWL0eX0GWLKRsv8D8suYzhuS1K/dtwgGr+26U7Gg==} + /@babel/standalone/7.17.12: + resolution: {integrity: sha512-U14lJUFnEXZn/t8v516Hok6pZR6mRu7wk+Ivl2uvDJ1elA7kbYVh0djVdQvQDatMerR/P8yPJpNCuCxWHsWpaA==} engines: {node: '>=6.9.0'} /@babel/template/7.16.7: @@ -421,28 +412,28 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.16.7 - '@babel/parser': 7.17.10 - '@babel/types': 7.17.10 + '@babel/parser': 7.17.12 + '@babel/types': 7.17.12 - /@babel/traverse/7.17.10: - resolution: {integrity: sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==} + /@babel/traverse/7.17.12: + resolution: {integrity: sha512-zULPs+TbCvOkIFd4FrG53xrpxvCBwLIgo6tO0tJorY7YV2IWFxUfS/lXDJbGgfyYt9ery/Gxj2niwttNnB0gIw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.16.7 - '@babel/generator': 7.17.10 + '@babel/generator': 7.17.12 '@babel/helper-environment-visitor': 7.16.7 '@babel/helper-function-name': 7.17.9 '@babel/helper-hoist-variables': 7.16.7 '@babel/helper-split-export-declaration': 7.16.7 - '@babel/parser': 7.17.10 - '@babel/types': 7.17.10 + '@babel/parser': 7.17.12 + '@babel/types': 7.17.12 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types/7.17.10: - resolution: {integrity: sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==} + /@babel/types/7.17.12: + resolution: {integrity: sha512-rH8i29wcZ6x9xjzI5ILHL/yZkbQnCERdHlogKuIb4PUr7do4iT8DPekrTbBLWTnRQm6U0GYABbTMSzijmEqlAg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.16.7 @@ -497,6 +488,14 @@ packages: '@jridgewell/set-array': 1.1.1 '@jridgewell/sourcemap-codec': 1.4.13 + /@jridgewell/gen-mapping/0.3.1: + resolution: {integrity: sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.1 + '@jridgewell/sourcemap-codec': 1.4.13 + '@jridgewell/trace-mapping': 0.3.13 + /@jridgewell/resolve-uri/3.0.7: resolution: {integrity: sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==} engines: {node: '>=6.0.0'} @@ -514,6 +513,16 @@ packages: '@jridgewell/resolve-uri': 3.0.7 '@jridgewell/sourcemap-codec': 1.4.13 + /@jsdevtools/ez-spawn/3.0.4: + resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} + engines: {node: '>=10'} + dependencies: + call-me-maybe: 1.0.1 + cross-spawn: 7.0.3 + string-argv: 0.3.1 + type-detect: 4.0.8 + dev: true + /@mapbox/node-pre-gyp/1.0.9: resolution: {integrity: sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==} hasBin: true @@ -751,7 +760,7 @@ packages: '@vitejs/plugin-vue-jsx': 1.3.10 autoprefixer: 10.4.7_postcss@8.4.13 chokidar: 3.5.3 - cssnano: 5.1.7_postcss@8.4.13 + cssnano: 5.1.8_postcss@8.4.13 defu: 6.0.0 esbuild: 0.14.39 escape-string-regexp: 5.0.0 @@ -783,6 +792,30 @@ packages: - webpack dev: true + /@nuxtjs/sanity/1.2.0: + resolution: {integrity: sha512-Wg0+jwdw3CQm793/Rn/kHHtBqFxr5rsSi+HeALGhd1ISMlWZ10wRsDdvwI3CGoh3nSyh2F/DZhY+zFhDKfrqBQ==} + dependencies: + '@nuxt/kit': 3.0.0-rc.3 + '@portabletext/types': 1.0.3 + chalk: 5.0.1 + defu: 6.0.0 + fs-extra: 10.1.0 + knitwork: 0.1.1 + ohash: 0.1.0 + pathe: 0.2.0 + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: false + + /@portabletext/types/1.0.3: + resolution: {integrity: sha512-SDDsdury2SaTI2D5Ea6o+Y39SSZMYHRMWJHxkxYl3yzFP0n/0EknOhoXcoaV+bxGr2dTTqZi2TOEj+uWYuavSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + /@rollup/plugin-alias/3.1.9_rollup@2.73.0: resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} engines: {node: '>=8.0.0'} @@ -937,13 +970,13 @@ packages: /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 17.0.33 + '@types/node': 17.0.34 dev: true /@types/jsdom/16.2.14: resolution: {integrity: sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==} dependencies: - '@types/node': 17.0.33 + '@types/node': 17.0.34 '@types/parse5': 6.0.3 '@types/tough-cookie': 4.0.2 dev: true @@ -962,8 +995,8 @@ packages: '@types/unist': 2.0.6 dev: true - /@types/node/17.0.33: - resolution: {integrity: sha512-miWq2m2FiQZmaHfdZNcbpp9PuXg34W5JZ5CrJ/BaS70VuhoJENBEQybeiYSaPBRNq6KQGnjfEnc/F3PN++D+XQ==} + /@types/node/17.0.34: + resolution: {integrity: sha512-XImEz7XwTvDBtzlTnm8YvMqGW/ErMWBsKZ+hMTvnDIjGCKxwK5Xpc+c/oQjOauwq8M4OS11hEkpjX8rrI/eEgA==} dev: true /@types/normalize-package-data/2.4.1: @@ -977,7 +1010,7 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 17.0.33 + '@types/node': 17.0.34 dev: true /@types/tough-cookie/4.0.2: @@ -988,8 +1021,8 @@ packages: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true - /@typescript-eslint/eslint-plugin/5.24.0_ae4wjpjlz2l2qm7erdt4inxtpu: - resolution: {integrity: sha512-6bqFGk6wa9+6RrU++eLknKyDqXU1Oc8nyoLu5a1fU17PNRJd9UBr56rMF7c4DRaRtnarlkQ4jwxUbvBo8cNlpw==} + /@typescript-eslint/eslint-plugin/5.25.0_eor5fr4wgkua4fh2zz3r4cqkce: + resolution: {integrity: sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -999,10 +1032,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.24.0_eslint@8.15.0 - '@typescript-eslint/scope-manager': 5.24.0 - '@typescript-eslint/type-utils': 5.24.0_eslint@8.15.0 - '@typescript-eslint/utils': 5.24.0_eslint@8.15.0 + '@typescript-eslint/parser': 5.25.0_eslint@8.15.0 + '@typescript-eslint/scope-manager': 5.25.0 + '@typescript-eslint/type-utils': 5.25.0_eslint@8.15.0 + '@typescript-eslint/utils': 5.25.0_eslint@8.15.0 debug: 4.3.4 eslint: 8.15.0 functional-red-black-tree: 1.0.1 @@ -1014,8 +1047,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.24.0_eslint@8.15.0: - resolution: {integrity: sha512-4q29C6xFYZ5B2CXqSBBdcS0lPyfM9M09DoQLtHS5kf+WbpV8pBBhHDLNhXfgyVwFnhrhYzOu7xmg02DzxeF2Uw==} + /@typescript-eslint/parser/5.25.0_eslint@8.15.0: + resolution: {integrity: sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1024,25 +1057,25 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.24.0 - '@typescript-eslint/types': 5.24.0 - '@typescript-eslint/typescript-estree': 5.24.0 + '@typescript-eslint/scope-manager': 5.25.0 + '@typescript-eslint/types': 5.25.0 + '@typescript-eslint/typescript-estree': 5.25.0 debug: 4.3.4 eslint: 8.15.0 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.24.0: - resolution: {integrity: sha512-WpMWipcDzGmMzdT7NtTjRXFabx10WleLUGrJpuJLGaxSqpcyq5ACpKSD5VE40h2nz3melQ91aP4Du7lh9FliCA==} + /@typescript-eslint/scope-manager/5.25.0: + resolution: {integrity: sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.24.0 - '@typescript-eslint/visitor-keys': 5.24.0 + '@typescript-eslint/types': 5.25.0 + '@typescript-eslint/visitor-keys': 5.25.0 dev: true - /@typescript-eslint/type-utils/5.24.0_eslint@8.15.0: - resolution: {integrity: sha512-uGi+sQiM6E5CeCZYBXiaIvIChBXru4LZ1tMoeKbh1Lze+8BO9syUG07594C4lvN2YPT4KVeIupOJkVI+9/DAmQ==} + /@typescript-eslint/type-utils/5.25.0_eslint@8.15.0: + resolution: {integrity: sha512-B6nb3GK3Gv1Rsb2pqalebe/RyQoyG/WDy9yhj8EE0Ikds4Xa8RR28nHz+wlt4tMZk5bnAr0f3oC8TuDAd5CPrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1051,7 +1084,7 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.24.0_eslint@8.15.0 + '@typescript-eslint/utils': 5.25.0_eslint@8.15.0 debug: 4.3.4 eslint: 8.15.0 tsutils: 3.21.0 @@ -1059,13 +1092,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types/5.24.0: - resolution: {integrity: sha512-Tpg1c3shTDgTmZd3qdUyd+16r/pGmVaVEbLs+ufuWP0EruVbUiEOmpBBQxBb9a8iPRxi8Rb2oiwOxuZJzSq11A==} + /@typescript-eslint/types/5.25.0: + resolution: {integrity: sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.24.0: - resolution: {integrity: sha512-zcor6vQkQmZAQfebSPVwUk/FD+CvnsnlfKXYeQDsWXRF+t7SBPmIfNia/wQxCSeu1h1JIjwV2i9f5/DdSp/uDw==} + /@typescript-eslint/typescript-estree/5.25.0: + resolution: {integrity: sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1073,8 +1106,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.24.0 - '@typescript-eslint/visitor-keys': 5.24.0 + '@typescript-eslint/types': 5.25.0 + '@typescript-eslint/visitor-keys': 5.25.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1084,16 +1117,16 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.24.0_eslint@8.15.0: - resolution: {integrity: sha512-K05sbWoeCBJH8KXu6hetBJ+ukG0k2u2KlgD3bN+v+oBKm8adJqVHpSSLHNzqyuv0Lh4GVSAUgZ5lB4icmPmWLw==} + /@typescript-eslint/utils/5.25.0_eslint@8.15.0: + resolution: {integrity: sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.24.0 - '@typescript-eslint/types': 5.24.0 - '@typescript-eslint/typescript-estree': 5.24.0 + '@typescript-eslint/scope-manager': 5.25.0 + '@typescript-eslint/types': 5.25.0 + '@typescript-eslint/typescript-estree': 5.25.0 eslint: 8.15.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@8.15.0 @@ -1102,11 +1135,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.24.0: - resolution: {integrity: sha512-qzGwSXMyMnogcAo+/2fU+jhlPPVMXlIH2PeAonIKjJSoDKl1+lJVvG5Z5Oud36yU0TWK2cs1p/FaSN5J2OUFYA==} + /@typescript-eslint/visitor-keys/5.25.0: + resolution: {integrity: sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.24.0 + '@typescript-eslint/types': 5.25.0 eslint-visitor-keys: 3.3.0 dev: true @@ -1134,11 +1167,11 @@ packages: resolution: {integrity: sha512-Cf5zznh4yNMiEMBfTOztaDVDmK1XXfgxClzOSUVUc8WAmHzogrCUeM8B05ABzuGtg0D1amfng+mUmSIOFGP3Pw==} engines: {node: '>=12.0.0'} dependencies: - '@babel/core': 7.17.10 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.10 - '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.17.10 + '@babel/core': 7.17.12 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.12 + '@babel/plugin-transform-typescript': 7.17.12_@babel+core@7.17.12 '@rollup/pluginutils': 4.2.1 - '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.17.10 + '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.17.12 hash-sum: 2.0.0 transitivePeerDependencies: - supports-color @@ -1159,14 +1192,14 @@ packages: resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} dev: true - /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.17.10: + /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.17.12: resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} dependencies: '@babel/helper-module-imports': 7.16.7 - '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-syntax-jsx': 7.17.12_@babel+core@7.17.12 '@babel/template': 7.16.7 - '@babel/traverse': 7.17.10 - '@babel/types': 7.17.10 + '@babel/traverse': 7.17.12 + '@babel/types': 7.17.12 '@vue/babel-helper-vue-transform-on': 1.0.2 camelcase: 6.3.0 html-tags: 3.2.0 @@ -1179,7 +1212,7 @@ packages: /@vue/compiler-core/3.2.33: resolution: {integrity: sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw==} dependencies: - '@babel/parser': 7.17.10 + '@babel/parser': 7.17.12 '@vue/shared': 3.2.33 estree-walker: 2.0.2 source-map: 0.6.1 @@ -1195,7 +1228,7 @@ packages: /@vue/compiler-sfc/3.2.33: resolution: {integrity: sha512-H8D0WqagCr295pQjUYyO8P3IejM3vEzeCO1apzByAEaAR/WimhMYczHfZVvlCE/9yBaEu/eu9RdiWr0kF8b71Q==} dependencies: - '@babel/parser': 7.17.10 + '@babel/parser': 7.17.12 '@vue/compiler-core': 3.2.33 '@vue/compiler-dom': 3.2.33 '@vue/compiler-ssr': 3.2.33 @@ -1221,7 +1254,7 @@ packages: /@vue/reactivity-transform/3.2.33: resolution: {integrity: sha512-4UL5KOIvSQb254aqenW4q34qMXbfZcmEsV/yVidLUgvwYQQ/D21bGX3DlgPUGI3c4C+iOnNmDCkIxkILoX/Pyw==} dependencies: - '@babel/parser': 7.17.10 + '@babel/parser': 7.17.12 '@vue/compiler-core': 3.2.33 '@vue/shared': 3.2.33 estree-walker: 2.0.2 @@ -1412,13 +1445,18 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true + /array-back/3.1.0: + resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} + engines: {node: '>=6'} + dev: true + /array-includes/3.1.5: resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 get-intrinsic: 1.1.1 is-string: 1.0.7 dev: true @@ -1434,7 +1472,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 es-shim-unscopables: 1.0.0 dev: true @@ -1444,7 +1482,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 es-shim-unscopables: 1.0.0 dev: true @@ -1553,6 +1591,19 @@ packages: semver: 7.3.7 dev: true + /bumpp/7.1.1: + resolution: {integrity: sha512-pAGjraw9T4I4dnkiQHrKUVQb55dOM5Nj72SVtVlkjFjWjFtg0aSgipQuxDWZ0cqm8WoqtaiBPk+7jHfnZxr7lA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jsdevtools/ez-spawn': 3.0.4 + chalk: 4.1.2 + command-line-args: 5.2.1 + globby: 11.1.0 + prompts: 2.4.2 + semver: 7.3.7 + dev: true + /bundle-runner/0.0.1: resolution: {integrity: sha512-xevhXw77nJ7wjCRTyo1JYumUNUiZmD0CJEummyLUJbdhub4bZWuplS+Y7nlMq5V9sKJQW+dV/LZR/SlxS5f4LQ==} dependencies: @@ -1577,6 +1628,10 @@ packages: get-intrinsic: 1.1.1 dev: true + /call-me-maybe/1.0.1: + resolution: {integrity: sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==} + dev: true + /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1618,7 +1673,6 @@ packages: /chalk/5.0.1: resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true /character-entities-legacy/1.1.4: resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} @@ -1750,6 +1804,16 @@ packages: resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==} dev: true + /command-line-args/5.2.1: + resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==} + engines: {node: '>=4.0.0'} + dependencies: + array-back: 3.1.0 + find-replace: 3.0.0 + lodash.camelcase: 4.3.0 + typical: 4.0.0 + dev: true + /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true @@ -1864,8 +1928,8 @@ packages: hasBin: true dev: true - /cssnano-preset-default/5.2.7_postcss@8.4.13: - resolution: {integrity: sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==} + /cssnano-preset-default/5.2.8_postcss@8.4.13: + resolution: {integrity: sha512-6xQXUhTAPupvib3KC0Gl0d1jIwGFcJyuWQiMcA6grprGdmIzt1cxG5z78VuZu6DRRS6qin6ETkQsH6ixxb/SQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 @@ -1875,7 +1939,7 @@ packages: postcss: 8.4.13 postcss-calc: 8.2.4_postcss@8.4.13 postcss-colormin: 5.3.0_postcss@8.4.13 - postcss-convert-values: 5.1.0_postcss@8.4.13 + postcss-convert-values: 5.1.1_postcss@8.4.13 postcss-discard-comments: 5.1.1_postcss@8.4.13 postcss-discard-duplicates: 5.1.0_postcss@8.4.13 postcss-discard-empty: 5.1.1_postcss@8.4.13 @@ -1884,7 +1948,7 @@ packages: postcss-merge-rules: 5.1.1_postcss@8.4.13 postcss-minify-font-values: 5.1.0_postcss@8.4.13 postcss-minify-gradients: 5.1.1_postcss@8.4.13 - postcss-minify-params: 5.1.2_postcss@8.4.13 + postcss-minify-params: 5.1.3_postcss@8.4.13 postcss-minify-selectors: 5.2.0_postcss@8.4.13 postcss-normalize-charset: 5.1.0_postcss@8.4.13 postcss-normalize-display-values: 5.1.0_postcss@8.4.13 @@ -1911,13 +1975,13 @@ packages: postcss: 8.4.13 dev: true - /cssnano/5.1.7_postcss@8.4.13: - resolution: {integrity: sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==} + /cssnano/5.1.8_postcss@8.4.13: + resolution: {integrity: sha512-5lma/yQlK+6eOHSUqNAS11b4/fbiuasoxmCHoVYxSg6lQsyX7bGGIqiLi4o3Pe2CrUTrgcD2udW7JIgzC2806g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 5.2.7_postcss@8.4.13 + cssnano-preset-default: 5.2.8_postcss@8.4.13 lilconfig: 2.0.5 postcss: 8.4.13 yaml: 1.10.2 @@ -2175,8 +2239,8 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract/1.20.0: - resolution: {integrity: sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==} + /es-abstract/1.20.1: + resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -2621,7 +2685,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.7.3_bi6p7cyrvxrvblpcgmvuwzeqom: + /eslint-module-utils/2.7.3_mcjqbk7r2nrqjiufidliyvmmpu: resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} engines: {node: '>=4'} peerDependencies: @@ -2639,7 +2703,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.24.0_eslint@8.15.0 + '@typescript-eslint/parser': 5.25.0_eslint@8.15.0 debug: 3.2.7 eslint-import-resolver-node: 0.3.6 find-up: 2.1.0 @@ -2650,7 +2714,7 @@ packages: /eslint-plugin-antfu/0.23.1_eslint@8.15.0: resolution: {integrity: sha512-GCc4hqHqPPVM4xIFHUKJFpOZbl9C48t9SupePiNjFisUHAxrZj/c1EHCt0LV0TONJHtSZDR53NNWMuB3O2USSg==} dependencies: - '@typescript-eslint/utils': 5.24.0_eslint@8.15.0 + '@typescript-eslint/utils': 5.25.0_eslint@8.15.0 transitivePeerDependencies: - eslint - supports-color @@ -2685,7 +2749,7 @@ packages: htmlparser2: 7.2.0 dev: true - /eslint-plugin-import/2.26.0_ae4wjpjlz2l2qm7erdt4inxtpu: + /eslint-plugin-import/2.26.0_eor5fr4wgkua4fh2zz3r4cqkce: resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} peerDependencies: @@ -2695,14 +2759,14 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.24.0_eslint@8.15.0 + '@typescript-eslint/parser': 5.25.0_eslint@8.15.0 array-includes: 3.1.5 array.prototype.flat: 1.3.0 debug: 2.6.9 doctrine: 2.1.0 eslint: 8.15.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.3_bi6p7cyrvxrvblpcgmvuwzeqom + eslint-module-utils: 2.7.3_mcjqbk7r2nrqjiufidliyvmmpu has: 1.0.3 is-core-module: 2.9.0 is-glob: 4.0.3 @@ -3091,6 +3155,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /find-replace/3.0.0: + resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} + engines: {node: '>=4.0.0'} + dependencies: + array-back: 3.1.0 + dev: true + /find-up/2.1.0: resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} engines: {node: '>=4'} @@ -3197,7 +3268,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 functions-have-names: 1.2.3 dev: true @@ -3565,8 +3636,8 @@ packages: side-channel: 1.0.4 dev: true - /ioredis/5.0.4: - resolution: {integrity: sha512-qFJw3MnPNsJF1lcIOP3vztbsasOXK3nDdNAgjQj7t7/Bn/w10PGchTOpqylQNxjzPbLoYDu34LjeJtSWiKBntQ==} + /ioredis/5.0.5: + resolution: {integrity: sha512-H+u9YB/cBckDO5lt5+S34gGN1EuIBjjaXk31LivQWfX3G1cqZPYCiwF9qCOkqK2NsKVk+saoUN+fLBz5tc2gFw==} engines: {node: '>=12.22.0'} dependencies: '@ioredis/commands': 1.1.1 @@ -3792,7 +3863,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 17.0.33 + '@types/node': 17.0.34 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -3877,6 +3948,11 @@ packages: object.assign: 4.1.2 dev: true + /kleur/3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + /klona/2.0.5: resolution: {integrity: sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==} engines: {node: '>= 8'} @@ -3946,6 +4022,10 @@ packages: /lodash._reinterpolate/3.0.0: resolution: {integrity: sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=} + /lodash.camelcase/4.3.0: + resolution: {integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY=} + dev: true + /lodash.debounce/4.0.8: resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=} dev: true @@ -4583,7 +4663,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 dev: true /object.fromentries/2.0.5: @@ -4592,14 +4672,14 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 dev: true /object.hasown/1.1.1: resolution: {integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==} dependencies: define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 dev: true /object.values/1.1.5: @@ -4608,7 +4688,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 dev: true /ohash/0.1.0: @@ -4884,12 +4964,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-convert-values/5.1.0_postcss@8.4.13: - resolution: {integrity: sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==} + /postcss-convert-values/5.1.1_postcss@8.4.13: + resolution: {integrity: sha512-UjcYfl3wJJdcabGKk8lgetPvhi1Et7VDc3sYr9EyhNBeB00YD4vHgPBp+oMVoG/dDWCc6ASbmzPNV6jADTwh8Q==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: + browserslist: 4.20.3 postcss: 8.4.13 postcss-value-parser: 4.2.0 dev: true @@ -4993,8 +5074,8 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-minify-params/5.1.2_postcss@8.4.13: - resolution: {integrity: sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==} + /postcss-minify-params/5.1.3_postcss@8.4.13: + resolution: {integrity: sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 @@ -5211,6 +5292,14 @@ packages: /process-nextick-args/2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + /prompts/2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + /prop-types/15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: @@ -5655,6 +5744,10 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /sisteransi/1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -5753,6 +5846,11 @@ packages: engines: {node: '>=4'} dev: true + /string-argv/0.3.1: + resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} + engines: {node: '>=0.6.19'} + dev: true + /string-width/1.0.2: resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=} engines: {node: '>=0.10.0'} @@ -5776,7 +5874,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 get-intrinsic: 1.1.1 has-symbols: 1.0.3 internal-slot: 1.0.3 @@ -5789,7 +5887,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 dev: true /string.prototype.trimstart/1.0.5: @@ -5797,7 +5895,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 dev: true /string_decoder/1.1.1: @@ -6042,6 +6140,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.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -6073,6 +6176,11 @@ packages: hasBin: true dev: true + /typical/4.0.0: + resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} + engines: {node: '>=8'} + dev: true + /ufo/0.7.11: resolution: {integrity: sha512-IT3q0lPvtkqQ8toHQN/BkOi4VIqoqheqM1FnkNWT9y0G8B3xJhwnoKBu5OHx8zHDOvveQzfKuFowJ0VSARiIDg==} dev: true @@ -6308,7 +6416,7 @@ packages: chokidar: 3.5.3 destr: 1.1.1 h3: 0.7.8 - ioredis: 5.0.4 + ioredis: 5.0.5 listhen: 0.2.11 mri: 1.2.0 ohmyfetch: 0.4.17 @@ -6327,9 +6435,9 @@ packages: /untyped/0.4.4: resolution: {integrity: sha512-sY6u8RedwfLfBis0copfU/fzROieyAndqPs8Kn2PfyzTjtA88vCk81J1b5z+8/VJc+cwfGy23/AqOCpvAbkNVw==} dependencies: - '@babel/core': 7.17.10 - '@babel/standalone': 7.17.11 - '@babel/types': 7.17.10 + '@babel/core': 7.17.12 + '@babel/standalone': 7.17.12 + '@babel/types': 7.17.12 scule: 0.2.1 transitivePeerDependencies: - supports-color @@ -6564,7 +6672,7 @@ packages: /wide-align/1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: - string-width: 4.2.3 + string-width: 1.0.2 dev: true /word-wrap/1.2.3: @@ -6658,4 +6766,4 @@ packages: /zod/3.16.0: resolution: {integrity: sha512-szrIkryADbTM+xBt2a1KoS2CJQXec4f9xG78bj5MJeEH/XqmmHpnO+fG3IE115AKBJak+2HrbxLZkc9mhdbDKA==} - dev: false + dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 924b55f..4667813 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,2 @@ packages: - - packages/* + - playground/* diff --git a/packages/trpc/src/module.ts b/src/module.ts similarity index 76% rename from packages/trpc/src/module.ts rename to src/module.ts index 5638523..8bbd882 100644 --- a/packages/trpc/src/module.ts +++ b/src/module.ts @@ -14,8 +14,8 @@ export default defineNuxtModule({ const clientPath = join(nuxt.options.buildDir, 'trpc-client.ts') const handlerPath = join(nuxt.options.buildDir, 'trpc-handler.ts') - nuxt.hook('config', () => { - nuxt.options.build.transpile.push('trpc-nuxt/client') + nuxt.hook('config', (options) => { + options?.build?.transpile?.push('trpc-nuxt/client') }) addServerHandler({ @@ -26,7 +26,7 @@ export default defineNuxtModule({ nuxt.hook('autoImports:extend', (imports) => { imports.push( { name: 'useTrpcQuery', from: clientPath }, - { name: 'useTrpcLazyQuery', from: clientPath }, + { name: 'useLazyTrpcQuery', from: clientPath }, { name: 'useTrpcMutation', from: clientPath }, ) }) @@ -36,15 +36,6 @@ export default defineNuxtModule({ await fs.ensureDir(dirname(clientPath)) - nuxt.options.build.transpile.push('trpc-nuxt/client') - nuxt.hook('autoImports:extend', (imports) => { - imports.push( - { name: 'useTrpcQuery', as: 'useTrpcQuery', from: clientPath }, - { name: 'useTrpcLazyQuery', as: 'useTrpcLazyQuery', from: clientPath }, - { name: 'useTrpcMutation', as: 'useTrpcMutation', from: clientPath }, - ) - }) - await fs.writeFile(clientPath, ` import * as trpc from '@trpc/client' import { createTRPCComposables } from 'trpc-nuxt/client' @@ -56,13 +47,13 @@ export default defineNuxtModule({ const { useTrpcQuery, - useTrpcLazyQuery, + useLazyTrpcQuery, useTrpcMutation - } = createTRPCComposables(client) + } = createTRPCComposables(client) export { useTrpcQuery, - useTrpcLazyQuery, + useLazyTrpcQuery, useTrpcMutation } `) diff --git a/packages/trpc/src/runtime/api.ts b/src/runtime/api.ts similarity index 100% rename from packages/trpc/src/runtime/api.ts rename to src/runtime/api.ts diff --git a/src/runtime/client.ts b/src/runtime/client.ts new file mode 100644 index 0000000..292cc28 --- /dev/null +++ b/src/runtime/client.ts @@ -0,0 +1,81 @@ +import { objectHash } from 'ohash' +import type { TRPCClient } from '@trpc/client' +import type { AnyRouter, inferProcedureInput, inferProcedureOutput } from '@trpc/server' +import type { AsyncData, KeyOfRes, PickFrom, _Transform } from 'nuxt/dist/app/composables/asyncData' +// @ts-expect-error: Resolved by Nuxt +import { useAsyncData, useLazyAsyncData } from '#imports' + +export function createTRPCComposables< + Router extends AnyRouter, + Client extends TRPCClient = TRPCClient, + TQuery extends keyof Router['_def']['queries'] = keyof Router['_def']['queries'], + TMutation extends keyof Router['_def']['mutations'] = keyof Router['_def']['mutations'], +>( + client: Client +): { + useTrpcQuery: ( + args_0: TRouteKey, + args_1: inferProcedureInput + ) => AsyncData< + PickFrom< + inferProcedureOutput, + KeyOfRes< + _Transform< + inferProcedureOutput, + inferProcedureOutput + > + > + >, + true | Error + > + useLazyTrpcQuery: ( + args_0: TRouteKey, + args_1: inferProcedureInput + ) => AsyncData< + PickFrom< + inferProcedureOutput, + KeyOfRes< + _Transform< + inferProcedureOutput, + inferProcedureOutput + > + > + >, + true | Error + > + useTrpcMutation: ( + args_0: TRouteKey, + args_1: inferProcedureInput + ) => AsyncData< + PickFrom< + inferProcedureOutput, + KeyOfRes< + _Transform< + inferProcedureOutput, + inferProcedureOutput + > + > + >, + true | Error + > +} + +export function createTRPCComposables(client: any) { + const useTrpcQuery = (...args) => { + return useAsyncData(`trpc-${objectHash(args[0] + (args[1] ? JSON.stringify(args[1]) : ''))}`, () => client.query(...args)) + } + + const useLazyTrpcQuery = (...args) => { + return useLazyAsyncData(`trpc-${objectHash(args[0] + (args[1] ? JSON.stringify(args[1]) : ''))}`, () => client.query(...args)) + } + + const useTrpcMutation = (...args) => { + return useAsyncData(`trpc-${objectHash(args[0] + (args[1] ? JSON.stringify(args[1]) : ''))}`, () => client.mutation(...args)) + } + + return { + useTrpcQuery, + useLazyTrpcQuery, + useTrpcMutation, + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..93265a5 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "./playground/.nuxt/tsconfig.json", + "compilerOptions": { + "types": ["nuxt/dist/app/composables/asyncData"] + } +}