diff --git a/.eslintrc.js b/.eslintrc.js index 076a462c..849ba63e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -99,7 +99,7 @@ const config = { }, }, { - files: ["**/eliza/*", "**/gen/**", "**/snapshots/**"], // generated code + files: ["**/eliza/*", "gen/**", "**/gen/**", "**/snapshots/**"], // generated code rules: { "eslint-comments/no-unused-enable": "off", "eslint-comments/no-unused-disable": "off", diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..23f5c586 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "git.enableCommitSigning": true, + "git.alwaysSignOff": true, + "typescript.tsdk": "node_modules/typescript/lib" +} diff --git a/README.md b/README.md index be913771..300a5468 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ + +> [!IMPORTANT] +> You are looking at the release candidate for version 2. For the current stable version, see the branch [v1](https://github.com/connectrpc/connect-query-es/tree/v1). + diff --git a/examples/react/basic/package.json b/examples/react/basic/package.json index f8a5427c..bdfced6a 100644 --- a/examples/react/basic/package.json +++ b/examples/react/basic/package.json @@ -12,23 +12,23 @@ "format": "prettier --write . '!src/gen' && eslint . --fix && license-header" }, "dependencies": { - "@bufbuild/buf": "1.43.0", - "@bufbuild/protobuf": "^2.2.0", - "@bufbuild/protoc-gen-es": "^2.2.0", - "@connectrpc/connect": "^2.0.0-rc.1", + "@bufbuild/buf": "1.46.0", + "@bufbuild/protobuf": "^2.2.1", + "@bufbuild/protoc-gen-es": "^2.2.1", + "@connectrpc/connect": "^2.0.0-rc.2", "@connectrpc/connect-query": "workspace:*", - "@connectrpc/connect-web": "^2.0.0-rc.1", + "@connectrpc/connect-web": "^2.0.0-rc.2", "@connectrpc/protoc-gen-connect-query": "workspace:*", - "@tanstack/react-query": "^5.56.2", - "@tanstack/react-query-devtools": "^5.58.0", - "@testing-library/jest-dom": "^6.5.0", + "@tanstack/react-query": "^5.59.16", + "@tanstack/react-query-devtools": "^5.59.16", + "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.0.1", - "@types/react": "^18.3.5", - "@types/react-dom": "^18.3.0", - "@vitejs/plugin-react": "^4.3.2", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "@vitejs/plugin-react": "^4.3.3", "react": "^18.3.1", "react-dom": "^18.3.1", - "typescript": "^5.5.4", - "vite": "^5.4.8" + "typescript": "^5.6.3", + "vite": "^5.4.10" } } diff --git a/examples/react/basic/src/gen/eliza_pb.ts b/examples/react/basic/src/gen/eliza_pb.ts index 3e1919c3..8ea27d7c 100644 --- a/examples/react/basic/src/gen/eliza_pb.ts +++ b/examples/react/basic/src/gen/eliza_pb.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// @generated by protoc-gen-es v2.2.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.2.1 with parameter "target=ts" // @generated from file eliza.proto (package connectrpc.eliza.v1, syntax proto3) /* eslint-disable */ diff --git a/package.json b/package.json index f3074a12..cbd7b82f 100644 --- a/package.json +++ b/package.json @@ -22,12 +22,12 @@ }, "devDependencies": { "@bufbuild/license-header": "^0.0.4", - "@types/node": "^22.5.1", + "@types/node": "^22.8.6", "@typescript-eslint/eslint-plugin": "7.15.0", "@typescript-eslint/parser": "7.15.0", "@typescript-eslint/utils": "7.15.0", - "@vitest/ui": "^2.1.2", - "cspell": "8.14.2", + "@vitest/ui": "^2.1.4", + "cspell": "8.15.5", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-import-resolver-typescript": "^3.6.3", @@ -37,9 +37,9 @@ "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-vitest": "0.5.4", "prettier": "3.3.3", - "turbo": "^2.1.1", - "typescript": "5.5.4", - "vitest": "^2.1.2" + "turbo": "^2.2.3", + "typescript": "5.6.3", + "vitest": "^2.1.4" }, "engineStrict": true, "engines": { diff --git a/packages/connect-query-core/.eslintignore b/packages/connect-query-core/.eslintignore index 5a32c3e6..009af543 100644 --- a/packages/connect-query-core/.eslintignore +++ b/packages/connect-query-core/.eslintignore @@ -1,3 +1,2 @@ dist coverage -src/gen \ No newline at end of file diff --git a/packages/connect-query-core/README.md b/packages/connect-query-core/README.md index 81abe86f..41793781 100644 --- a/packages/connect-query-core/README.md +++ b/packages/connect-query-core/README.md @@ -1,3 +1,3 @@ # @connectrpc/connect-query-core -This package provides the core functionality for the Connect Query API. It exposes all the necessary functions to use with the different variants of the tanstack/query packages. Documentation for these APIs can be found in the main repo readme at https://github.com/connectrpc/connect-query-es and covers any non-hook functions (anything that doesn't start with `use`). +This package provides the core functionality for the Connect-Query API. It exposes all the necessary functions to use with the different variants of the tanstack/query packages. Documentation for these APIs can be found in the main repo readme at https://github.com/connectrpc/connect-query-es and covers any non-hook functions (anything that doesn't start with `use`). diff --git a/packages/connect-query-core/package.json b/packages/connect-query-core/package.json index ff2bd53f..42667b5f 100644 --- a/packages/connect-query-core/package.json +++ b/packages/connect-query-core/package.json @@ -1,7 +1,7 @@ { "name": "@connectrpc/connect-query-core", "version": "2.0.0-rc.2", - "description": "Core of connect-query, framework agnostic helpers for typescript safe queries.", + "description": "Core of Connect-Query, framework agnostic helpers for type-safe queries.", "license": "Apache-2.0", "repository": { "type": "git", @@ -13,7 +13,6 @@ "build": "npm run build:cjs && npm run build:esm", "build:cjs": "tsc --project tsconfig.build.json --module commonjs --moduleResolution node10 --verbatimModuleSyntax false --outDir ./dist/cjs --declarationDir ./dist/cjs && echo >./dist/cjs/package.json '{\"type\":\"commonjs\"}'", "build:esm": "tsc --project tsconfig.build.json", - "generate": "buf generate", "test": "vitest --run", "test:watch": "vitest --watch", "format": "prettier . --write --ignore-path ./.eslintignore && eslint . --fix && license-header", @@ -29,18 +28,23 @@ } }, "devDependencies": { - "@arethetypeswrong/cli": "^0.15.2", - "@bufbuild/buf": "1.43.0", + "@arethetypeswrong/cli": "^0.16.4", + "@bufbuild/buf": "1.46.0", "@bufbuild/jest-environment-jsdom": "^0.1.1", - "@bufbuild/protobuf": "^2.2.0", - "@bufbuild/protoc-gen-es": "^2.2.0", - "@connectrpc/connect": "^2.0.0-rc.1", - "@connectrpc/connect-web": "^2.0.0-rc.1", - "typescript": "^5.5.4" + "@bufbuild/protobuf": "^2.2.1", + "@bufbuild/protoc-gen-es": "^2.2.1", + "@connectrpc/connect": "^2.0.0-rc.2", + "@connectrpc/connect-web": "^2.0.0-rc.2", + "test-utils": "workspace:*", + "typescript": "^5.6.3", + "@tanstack/query-core": "^5.59.16" }, "peerDependencies": { "@bufbuild/protobuf": "2.x", - "@connectrpc/connect": "^2.0.0-rc.1", + "@connectrpc/connect": "^2.0.0-rc.2", "@tanstack/query-core": "5.x" - } + }, + "files": [ + "dist/**" + ] } diff --git a/packages/connect-query-core/src/connect-query-key.test.ts b/packages/connect-query-core/src/connect-query-key.test.ts index 254a031e..adb071e7 100644 --- a/packages/connect-query-core/src/connect-query-key.test.ts +++ b/packages/connect-query-core/src/connect-query-key.test.ts @@ -14,11 +14,11 @@ import { create } from "@bufbuild/protobuf"; import type { Transport } from "@connectrpc/connect"; +import { ElizaService, SayRequestSchema } from "test-utils/gen/eliza_pb.js"; +import { ListRequestSchema, ListService } from "test-utils/gen/list_pb.js"; import { describe, expect, it } from "vitest"; import { createConnectQueryKey } from "./connect-query-key.js"; -import { ElizaService, SayRequestSchema } from "./gen/eliza_pb.js"; -import { ListRequestSchema, ListService } from "./gen/list_pb.js"; import { skipToken } from "./index.js"; import { createMessageKey } from "./message-key.js"; import { createTransportKey } from "./transport-key.js"; diff --git a/packages/connect-query-core/src/create-infinite-query-options.test.ts b/packages/connect-query-core/src/create-infinite-query-options.test.ts new file mode 100644 index 00000000..07077183 --- /dev/null +++ b/packages/connect-query-core/src/create-infinite-query-options.test.ts @@ -0,0 +1,35 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { mockEliza } from "test-utils"; +import { ListService } from "test-utils/gen/list_pb.js"; +import { describe, expect, expectTypeOf, it } from "vitest"; + +import { createInfiniteQueryOptions, skipToken } from "./index.js"; + +const listMethod = ListService.method.list; + +const mockedElizaTransport = mockEliza(); + +describe("createInfiniteQueryOptions", () => { + it("honors skipToken", () => { + const opt = createInfiniteQueryOptions(listMethod, skipToken, { + transport: mockedElizaTransport, + getNextPageParam: (lastPage) => lastPage.page + 1n, + pageParamKey: "page", + }); + expect(opt.queryFn).toBe(skipToken); + expectTypeOf(opt.queryFn).toEqualTypeOf(skipToken); + }); +}); diff --git a/packages/connect-query-core/src/create-infinite-query-options.ts b/packages/connect-query-core/src/create-infinite-query-options.ts index 1ee4206c..f4aa2d5f 100644 --- a/packages/connect-query-core/src/create-infinite-query-options.ts +++ b/packages/connect-query-core/src/create-infinite-query-options.ts @@ -86,6 +86,87 @@ function createUnaryInfiniteQueryFn< /** * Query the method provided. Maps to useInfiniteQuery on tanstack/react-query */ +export function createInfiniteQueryOptions< + I extends DescMessage, + O extends DescMessage, + ParamKey extends keyof MessageInitShape, +>( + schema: DescMethodUnary, + input: MessageInitShape & Required, ParamKey>>, + { + transport, + getNextPageParam, + pageParamKey, + }: ConnectInfiniteQueryOptions & { transport: Transport }, +): { + getNextPageParam: ConnectInfiniteQueryOptions< + I, + O, + ParamKey + >["getNextPageParam"]; + queryKey: ConnectQueryKey; + queryFn: QueryFunction< + MessageShape, + ConnectQueryKey, + MessageInitShape[ParamKey] + >; + structuralSharing: (oldData: unknown, newData: unknown) => unknown; + initialPageParam: MessageInitShape[ParamKey]; +}; +export function createInfiniteQueryOptions< + I extends DescMessage, + O extends DescMessage, + ParamKey extends keyof MessageInitShape, +>( + schema: DescMethodUnary, + input: SkipToken, + { + transport, + getNextPageParam, + pageParamKey, + }: ConnectInfiniteQueryOptions & { transport: Transport }, +): { + getNextPageParam: ConnectInfiniteQueryOptions< + I, + O, + ParamKey + >["getNextPageParam"]; + queryKey: ConnectQueryKey; + queryFn: SkipToken; + structuralSharing: (oldData: unknown, newData: unknown) => unknown; + initialPageParam: MessageInitShape[ParamKey]; +}; +export function createInfiniteQueryOptions< + I extends DescMessage, + O extends DescMessage, + ParamKey extends keyof MessageInitShape, +>( + schema: DescMethodUnary, + input: + | SkipToken + | (MessageInitShape & Required, ParamKey>>), + { + transport, + getNextPageParam, + pageParamKey, + }: ConnectInfiniteQueryOptions & { transport: Transport }, +): { + getNextPageParam: ConnectInfiniteQueryOptions< + I, + O, + ParamKey + >["getNextPageParam"]; + queryKey: ConnectQueryKey; + queryFn: + | QueryFunction< + MessageShape, + ConnectQueryKey, + MessageInitShape[ParamKey] + > + | SkipToken; + structuralSharing: (oldData: unknown, newData: unknown) => unknown; + initialPageParam: MessageInitShape[ParamKey]; +}; export function createInfiniteQueryOptions< I extends DescMessage, O extends DescMessage, diff --git a/packages/connect-query-core/src/create-query-options.test.ts b/packages/connect-query-core/src/create-query-options.test.ts index 34cfd9a6..79286e07 100644 --- a/packages/connect-query-core/src/create-query-options.test.ts +++ b/packages/connect-query-core/src/create-query-options.test.ts @@ -13,13 +13,13 @@ // limitations under the License. import { skipToken as tanstackSkipToken } from "@tanstack/query-core"; +import { mockEliza } from "test-utils"; +import { ElizaService } from "test-utils/gen/eliza_pb.js"; import { describe, expect, expectTypeOf, it } from "vitest"; import { createConnectQueryKey } from "./connect-query-key.js"; import { createQueryOptions } from "./create-query-options.js"; -import { ElizaService } from "./gen/eliza_pb.js"; import { skipToken } from "./index.js"; -import { mockEliza } from "./test/test-utils.js"; // TODO: maybe create a helper to take a service and method and generate this. const sayMethodDescriptor = ElizaService.method.say; diff --git a/packages/connect-query-core/src/gen/bigint_pb.ts b/packages/connect-query-core/src/gen/bigint_pb.ts index f340acb4..f6ab2344 100644 --- a/packages/connect-query-core/src/gen/bigint_pb.ts +++ b/packages/connect-query-core/src/gen/bigint_pb.ts @@ -16,8 +16,16 @@ // @generated from file bigint.proto (syntax proto3) /* eslint-disable */ -import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; -import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; +import type { + GenFile, + GenMessage, + GenService, +} from "@bufbuild/protobuf/codegenv1"; +import { + fileDesc, + messageDesc, + serviceDesc, +} from "@bufbuild/protobuf/codegenv1"; import type { EmptySchema } from "@bufbuild/protobuf/wkt"; import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt"; import type { Message } from "@bufbuild/protobuf"; @@ -25,8 +33,12 @@ import type { Message } from "@bufbuild/protobuf"; /** * Describes the file bigint.proto. */ -export const file_bigint: GenFile = /*@__PURE__*/ - fileDesc("CgxiaWdpbnQucHJvdG8iGwoMQ291bnRSZXF1ZXN0EgsKA2FkZBgBIAEoAyIeCg1Db3VudFJlc3BvbnNlEg0KBWNvdW50GAEgASgDMmsKDUJpZ0ludFNlcnZpY2USJgoFQ291bnQSDS5Db3VudFJlcXVlc3QaDi5Db3VudFJlc3BvbnNlEjIKCEdldENvdW50EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg4uQ291bnRSZXNwb25zZWIGcHJvdG8z", [file_google_protobuf_empty]); +export const file_bigint: GenFile = + /*@__PURE__*/ + fileDesc( + "CgxiaWdpbnQucHJvdG8iGwoMQ291bnRSZXF1ZXN0EgsKA2FkZBgBIAEoAyIeCg1Db3VudFJlc3BvbnNlEg0KBWNvdW50GAEgASgDMmsKDUJpZ0ludFNlcnZpY2USJgoFQ291bnQSDS5Db3VudFJlcXVlc3QaDi5Db3VudFJlc3BvbnNlEjIKCEdldENvdW50EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg4uQ291bnRSZXNwb25zZWIGcHJvdG8z", + [file_google_protobuf_empty], + ); /** * @generated from message CountRequest @@ -42,7 +54,8 @@ export type CountRequest = Message<"CountRequest"> & { * Describes the message CountRequest. * Use `create(CountRequestSchema)` to create a new message. */ -export const CountRequestSchema: GenMessage = /*@__PURE__*/ +export const CountRequestSchema: GenMessage = + /*@__PURE__*/ messageDesc(file_bigint, 0); /** @@ -59,7 +72,8 @@ export type CountResponse = Message<"CountResponse"> & { * Describes the message CountResponse. * Use `create(CountResponseSchema)` to create a new message. */ -export const CountResponseSchema: GenMessage = /*@__PURE__*/ +export const CountResponseSchema: GenMessage = + /*@__PURE__*/ messageDesc(file_bigint, 1); /** @@ -73,7 +87,7 @@ export const BigIntService: GenService<{ methodKind: "unary"; input: typeof CountRequestSchema; output: typeof CountResponseSchema; - }, + }; /** * @generated from rpc BigIntService.GetCount */ @@ -81,7 +95,5 @@ export const BigIntService: GenService<{ methodKind: "unary"; input: typeof EmptySchema; output: typeof CountResponseSchema; - }, -}> = /*@__PURE__*/ - serviceDesc(file_bigint, 0); - + }; +}> = /*@__PURE__*/ serviceDesc(file_bigint, 0); diff --git a/packages/connect-query-core/src/gen/eliza_pb.ts b/packages/connect-query-core/src/gen/eliza_pb.ts index 3e1919c3..0d48699c 100644 --- a/packages/connect-query-core/src/gen/eliza_pb.ts +++ b/packages/connect-query-core/src/gen/eliza_pb.ts @@ -16,15 +16,26 @@ // @generated from file eliza.proto (package connectrpc.eliza.v1, syntax proto3) /* eslint-disable */ -import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; -import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; +import type { + GenFile, + GenMessage, + GenService, +} from "@bufbuild/protobuf/codegenv1"; +import { + fileDesc, + messageDesc, + serviceDesc, +} from "@bufbuild/protobuf/codegenv1"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file eliza.proto. */ -export const file_eliza: GenFile = /*@__PURE__*/ - fileDesc("CgtlbGl6YS5wcm90bxITY29ubmVjdHJwYy5lbGl6YS52MSIeCgpTYXlSZXF1ZXN0EhAKCHNlbnRlbmNlGAEgASgJIh8KC1NheVJlc3BvbnNlEhAKCHNlbnRlbmNlGAEgASgJMloKDEVsaXphU2VydmljZRJKCgNTYXkSHy5jb25uZWN0cnBjLmVsaXphLnYxLlNheVJlcXVlc3QaIC5jb25uZWN0cnBjLmVsaXphLnYxLlNheVJlc3BvbnNlIgBiBnByb3RvMw"); +export const file_eliza: GenFile = + /*@__PURE__*/ + fileDesc( + "CgtlbGl6YS5wcm90bxITY29ubmVjdHJwYy5lbGl6YS52MSIeCgpTYXlSZXF1ZXN0EhAKCHNlbnRlbmNlGAEgASgJIh8KC1NheVJlc3BvbnNlEhAKCHNlbnRlbmNlGAEgASgJMloKDEVsaXphU2VydmljZRJKCgNTYXkSHy5jb25uZWN0cnBjLmVsaXphLnYxLlNheVJlcXVlc3QaIC5jb25uZWN0cnBjLmVsaXphLnYxLlNheVJlc3BvbnNlIgBiBnByb3RvMw", + ); /** * SayRequest is a single-sentence request. @@ -42,7 +53,8 @@ export type SayRequest = Message<"connectrpc.eliza.v1.SayRequest"> & { * Describes the message connectrpc.eliza.v1.SayRequest. * Use `create(SayRequestSchema)` to create a new message. */ -export const SayRequestSchema: GenMessage = /*@__PURE__*/ +export const SayRequestSchema: GenMessage = + /*@__PURE__*/ messageDesc(file_eliza, 0); /** @@ -61,7 +73,8 @@ export type SayResponse = Message<"connectrpc.eliza.v1.SayResponse"> & { * Describes the message connectrpc.eliza.v1.SayResponse. * Use `create(SayResponseSchema)` to create a new message. */ -export const SayResponseSchema: GenMessage = /*@__PURE__*/ +export const SayResponseSchema: GenMessage = + /*@__PURE__*/ messageDesc(file_eliza, 1); /** @@ -84,7 +97,5 @@ export const ElizaService: GenService<{ methodKind: "unary"; input: typeof SayRequestSchema; output: typeof SayResponseSchema; - }, -}> = /*@__PURE__*/ - serviceDesc(file_eliza, 0); - + }; +}> = /*@__PURE__*/ serviceDesc(file_eliza, 0); diff --git a/packages/connect-query-core/src/gen/list_pb.ts b/packages/connect-query-core/src/gen/list_pb.ts index 89f49628..c7ab1e44 100644 --- a/packages/connect-query-core/src/gen/list_pb.ts +++ b/packages/connect-query-core/src/gen/list_pb.ts @@ -16,15 +16,26 @@ // @generated from file list.proto (syntax proto3) /* eslint-disable */ -import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; -import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; +import type { + GenFile, + GenMessage, + GenService, +} from "@bufbuild/protobuf/codegenv1"; +import { + fileDesc, + messageDesc, + serviceDesc, +} from "@bufbuild/protobuf/codegenv1"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file list.proto. */ -export const file_list: GenFile = /*@__PURE__*/ - fileDesc("CgpsaXN0LnByb3RvIiwKC0xpc3RSZXF1ZXN0EgwKBHBhZ2UYASABKAMSDwoHcHJldmlldxgCIAEoCCIrCgxMaXN0UmVzcG9uc2USDAoEcGFnZRgBIAEoAxINCgVpdGVtcxgCIAMoCTIyCgtMaXN0U2VydmljZRIjCgRMaXN0EgwuTGlzdFJlcXVlc3QaDS5MaXN0UmVzcG9uc2ViBnByb3RvMw"); +export const file_list: GenFile = + /*@__PURE__*/ + fileDesc( + "CgpsaXN0LnByb3RvIiwKC0xpc3RSZXF1ZXN0EgwKBHBhZ2UYASABKAMSDwoHcHJldmlldxgCIAEoCCIrCgxMaXN0UmVzcG9uc2USDAoEcGFnZRgBIAEoAxINCgVpdGVtcxgCIAMoCTIyCgtMaXN0U2VydmljZRIjCgRMaXN0EgwuTGlzdFJlcXVlc3QaDS5MaXN0UmVzcG9uc2ViBnByb3RvMw", + ); /** * @generated from message ListRequest @@ -45,7 +56,8 @@ export type ListRequest = Message<"ListRequest"> & { * Describes the message ListRequest. * Use `create(ListRequestSchema)` to create a new message. */ -export const ListRequestSchema: GenMessage = /*@__PURE__*/ +export const ListRequestSchema: GenMessage = + /*@__PURE__*/ messageDesc(file_list, 0); /** @@ -67,7 +79,8 @@ export type ListResponse = Message<"ListResponse"> & { * Describes the message ListResponse. * Use `create(ListResponseSchema)` to create a new message. */ -export const ListResponseSchema: GenMessage = /*@__PURE__*/ +export const ListResponseSchema: GenMessage = + /*@__PURE__*/ messageDesc(file_list, 1); /** @@ -81,7 +94,5 @@ export const ListService: GenService<{ methodKind: "unary"; input: typeof ListRequestSchema; output: typeof ListResponseSchema; - }, -}> = /*@__PURE__*/ - serviceDesc(file_list, 0); - + }; +}> = /*@__PURE__*/ serviceDesc(file_list, 0); diff --git a/packages/connect-query-core/src/gen/proto2_pb.ts b/packages/connect-query-core/src/gen/proto2_pb.ts index c5b8c577..da425894 100644 --- a/packages/connect-query-core/src/gen/proto2_pb.ts +++ b/packages/connect-query-core/src/gen/proto2_pb.ts @@ -23,8 +23,11 @@ import type { Message } from "@bufbuild/protobuf"; /** * Describes the file proto2.proto. */ -export const file_proto2: GenFile = /*@__PURE__*/ - fileDesc("Cgxwcm90bzIucHJvdG8SBHRlc3QiOgoNUHJvdG8yTWVzc2FnZRIUCgxzdHJpbmdfZmllbGQYASABKAkSEwoLaW50MzJfZmllbGQYAyABKAU"); +export const file_proto2: GenFile = + /*@__PURE__*/ + fileDesc( + "Cgxwcm90bzIucHJvdG8SBHRlc3QiOgoNUHJvdG8yTWVzc2FnZRIUCgxzdHJpbmdfZmllbGQYASABKAkSEwoLaW50MzJfZmllbGQYAyABKAU", + ); /** * @generated from message test.Proto2Message @@ -45,6 +48,6 @@ export type Proto2Message = Message<"test.Proto2Message"> & { * Describes the message test.Proto2Message. * Use `create(Proto2MessageSchema)` to create a new message. */ -export const Proto2MessageSchema: GenMessage = /*@__PURE__*/ +export const Proto2MessageSchema: GenMessage = + /*@__PURE__*/ messageDesc(file_proto2, 0); - diff --git a/packages/connect-query-core/src/gen/proto3_pb.ts b/packages/connect-query-core/src/gen/proto3_pb.ts index 09b1003d..a696f06d 100644 --- a/packages/connect-query-core/src/gen/proto3_pb.ts +++ b/packages/connect-query-core/src/gen/proto3_pb.ts @@ -16,15 +16,22 @@ // @generated from file proto3.proto (package test, syntax proto3) /* eslint-disable */ -import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; +import type { + GenEnum, + GenFile, + GenMessage, +} from "@bufbuild/protobuf/codegenv1"; import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file proto3.proto. */ -export const file_proto3: GenFile = /*@__PURE__*/ - fileDesc("Cgxwcm90bzMucHJvdG8SBHRlc3QirgcKDVByb3RvM01lc3NhZ2USFAoMc3RyaW5nX2ZpZWxkGAEgASgJEhMKC2J5dGVzX2ZpZWxkGAIgASgMEhMKC2ludDMyX2ZpZWxkGAMgASgFEhMKC2ludDY0X2ZpZWxkGAQgASgDEhQKDGRvdWJsZV9maWVsZBgFIAEoARISCgpib29sX2ZpZWxkGAYgASgIEiQKCmVudW1fZmllbGQYByABKA4yEC50ZXN0LlByb3RvM0VudW0SKgoNbWVzc2FnZV9maWVsZBgIIAEoCzITLnRlc3QuUHJvdG8zTWVzc2FnZRIiChVvcHRpb25hbF9zdHJpbmdfZmllbGQYCSABKAlIAYgBARIdChVyZXBlYXRlZF9zdHJpbmdfZmllbGQYESADKAkSMwoWcmVwZWF0ZWRfbWVzc2FnZV9maWVsZBgSIAMoCzITLnRlc3QuUHJvdG8zTWVzc2FnZRItChNyZXBlYXRlZF9lbnVtX2ZpZWxkGBMgAygOMhAudGVzdC5Qcm90bzNFbnVtEhwKEm9uZW9mX3N0cmluZ19maWVsZBgfIAEoCUgAEhsKEW9uZW9mX2ludDMyX2ZpZWxkGCEgASgFSAASTAoWbWFwX3N0cmluZ19pbnQ2NF9maWVsZBgnIAMoCzIsLnRlc3QuUHJvdG8zTWVzc2FnZS5NYXBTdHJpbmdJbnQ2NEZpZWxkRW50cnkSUAoYbWFwX3N0cmluZ19tZXNzYWdlX2ZpZWxkGCggAygLMi4udGVzdC5Qcm90bzNNZXNzYWdlLk1hcFN0cmluZ01lc3NhZ2VGaWVsZEVudHJ5EkoKFW1hcF9zdHJpbmdfZW51bV9maWVsZBgpIAMoCzIrLnRlc3QuUHJvdG8zTWVzc2FnZS5NYXBTdHJpbmdFbnVtRmllbGRFbnRyeRo6ChhNYXBTdHJpbmdJbnQ2NEZpZWxkRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ARpRChpNYXBTdHJpbmdNZXNzYWdlRmllbGRFbnRyeRILCgNrZXkYASABKAkSIgoFdmFsdWUYAiABKAsyEy50ZXN0LlByb3RvM01lc3NhZ2U6AjgBGksKF01hcFN0cmluZ0VudW1GaWVsZEVudHJ5EgsKA2tleRgBIAEoCRIfCgV2YWx1ZRgCIAEoDjIQLnRlc3QuUHJvdG8zRW51bToCOAFCCAoGZWl0aGVyQhgKFl9vcHRpb25hbF9zdHJpbmdfZmllbGQqUgoKUHJvdG8zRW51bRIbChdQUk9UTzNfRU5VTV9VTlNQRUNJRklFRBAAEhMKD1BST1RPM19FTlVNX1lFUxABEhIKDlBST1RPM19FTlVNX05PEAJiBnByb3RvMw"); +export const file_proto3: GenFile = + /*@__PURE__*/ + fileDesc( + "Cgxwcm90bzMucHJvdG8SBHRlc3QirgcKDVByb3RvM01lc3NhZ2USFAoMc3RyaW5nX2ZpZWxkGAEgASgJEhMKC2J5dGVzX2ZpZWxkGAIgASgMEhMKC2ludDMyX2ZpZWxkGAMgASgFEhMKC2ludDY0X2ZpZWxkGAQgASgDEhQKDGRvdWJsZV9maWVsZBgFIAEoARISCgpib29sX2ZpZWxkGAYgASgIEiQKCmVudW1fZmllbGQYByABKA4yEC50ZXN0LlByb3RvM0VudW0SKgoNbWVzc2FnZV9maWVsZBgIIAEoCzITLnRlc3QuUHJvdG8zTWVzc2FnZRIiChVvcHRpb25hbF9zdHJpbmdfZmllbGQYCSABKAlIAYgBARIdChVyZXBlYXRlZF9zdHJpbmdfZmllbGQYESADKAkSMwoWcmVwZWF0ZWRfbWVzc2FnZV9maWVsZBgSIAMoCzITLnRlc3QuUHJvdG8zTWVzc2FnZRItChNyZXBlYXRlZF9lbnVtX2ZpZWxkGBMgAygOMhAudGVzdC5Qcm90bzNFbnVtEhwKEm9uZW9mX3N0cmluZ19maWVsZBgfIAEoCUgAEhsKEW9uZW9mX2ludDMyX2ZpZWxkGCEgASgFSAASTAoWbWFwX3N0cmluZ19pbnQ2NF9maWVsZBgnIAMoCzIsLnRlc3QuUHJvdG8zTWVzc2FnZS5NYXBTdHJpbmdJbnQ2NEZpZWxkRW50cnkSUAoYbWFwX3N0cmluZ19tZXNzYWdlX2ZpZWxkGCggAygLMi4udGVzdC5Qcm90bzNNZXNzYWdlLk1hcFN0cmluZ01lc3NhZ2VGaWVsZEVudHJ5EkoKFW1hcF9zdHJpbmdfZW51bV9maWVsZBgpIAMoCzIrLnRlc3QuUHJvdG8zTWVzc2FnZS5NYXBTdHJpbmdFbnVtRmllbGRFbnRyeRo6ChhNYXBTdHJpbmdJbnQ2NEZpZWxkRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ARpRChpNYXBTdHJpbmdNZXNzYWdlRmllbGRFbnRyeRILCgNrZXkYASABKAkSIgoFdmFsdWUYAiABKAsyEy50ZXN0LlByb3RvM01lc3NhZ2U6AjgBGksKF01hcFN0cmluZ0VudW1GaWVsZEVudHJ5EgsKA2tleRgBIAEoCRIfCgV2YWx1ZRgCIAEoDjIQLnRlc3QuUHJvdG8zRW51bToCOAFCCAoGZWl0aGVyQhgKFl9vcHRpb25hbF9zdHJpbmdfZmllbGQqUgoKUHJvdG8zRW51bRIbChdQUk9UTzNfRU5VTV9VTlNQRUNJRklFRBAAEhMKD1BST1RPM19FTlVNX1lFUxABEhIKDlBST1RPM19FTlVNX05PEAJiBnByb3RvMw", + ); /** * Note: We do not exhaust all field types @@ -95,19 +102,22 @@ export type Proto3Message = Message<"test.Proto3Message"> & { /** * @generated from oneof test.Proto3Message.either */ - either: { - /** - * @generated from field: string oneof_string_field = 31; - */ - value: string; - case: "oneofStringField"; - } | { - /** - * @generated from field: int32 oneof_int32_field = 33; - */ - value: number; - case: "oneofInt32Field"; - } | { case: undefined; value?: undefined }; + either: + | { + /** + * @generated from field: string oneof_string_field = 31; + */ + value: string; + case: "oneofStringField"; + } + | { + /** + * @generated from field: int32 oneof_int32_field = 33; + */ + value: number; + case: "oneofInt32Field"; + } + | { case: undefined; value?: undefined }; /** * @generated from field: map map_string_int64_field = 39; @@ -129,7 +139,8 @@ export type Proto3Message = Message<"test.Proto3Message"> & { * Describes the message test.Proto3Message. * Use `create(Proto3MessageSchema)` to create a new message. */ -export const Proto3MessageSchema: GenMessage = /*@__PURE__*/ +export const Proto3MessageSchema: GenMessage = + /*@__PURE__*/ messageDesc(file_proto3, 0); /** @@ -155,6 +166,6 @@ export enum Proto3Enum { /** * Describes the enum test.Proto3Enum. */ -export const Proto3EnumSchema: GenEnum = /*@__PURE__*/ +export const Proto3EnumSchema: GenEnum = + /*@__PURE__*/ enumDesc(file_proto3, 0); - diff --git a/packages/connect-query-core/src/message-key.test.ts b/packages/connect-query-core/src/message-key.test.ts index e7609ee0..1d84a3a0 100644 --- a/packages/connect-query-core/src/message-key.test.ts +++ b/packages/connect-query-core/src/message-key.test.ts @@ -13,10 +13,10 @@ // limitations under the License. import { create } from "@bufbuild/protobuf"; +import { Proto2MessageSchema } from "test-utils/gen/proto2_pb.js"; +import { Proto3Enum, Proto3MessageSchema } from "test-utils/gen/proto3_pb.js"; import { describe, expect, it } from "vitest"; -import { Proto2MessageSchema } from "./gen/proto2_pb.js"; -import { Proto3Enum, Proto3MessageSchema } from "./gen/proto3_pb.js"; import { createMessageKey } from "./message-key.js"; describe("message key", () => { diff --git a/packages/connect-query-core/src/structural-sharing.test.ts b/packages/connect-query-core/src/structural-sharing.test.ts index 78e5696e..16e56dd7 100644 --- a/packages/connect-query-core/src/structural-sharing.test.ts +++ b/packages/connect-query-core/src/structural-sharing.test.ts @@ -13,9 +13,12 @@ // limitations under the License. import { create } from "@bufbuild/protobuf"; +import { + SayRequestSchema, + SayResponseSchema, +} from "test-utils/gen/eliza_pb.js"; import { describe, expect, it } from "vitest"; -import { SayRequestSchema, SayResponseSchema } from "./gen/eliza_pb.js"; import { createStructuralSharing } from "./structural-sharing.js"; describe("structural sharing", () => { diff --git a/packages/connect-query-core/src/utils.test.ts b/packages/connect-query-core/src/utils.test.ts index f4dfd7fe..db621562 100644 --- a/packages/connect-query-core/src/utils.test.ts +++ b/packages/connect-query-core/src/utils.test.ts @@ -13,9 +13,9 @@ // limitations under the License. import { create, isFieldSet, isMessage } from "@bufbuild/protobuf"; +import { Proto2MessageSchema } from "test-utils/gen/proto2_pb.js"; import { describe, expect, it } from "vitest"; -import { Proto2MessageSchema } from "./gen/proto2_pb.js"; import { assert, createProtobufSafeUpdater, diff --git a/packages/connect-query/package.json b/packages/connect-query/package.json index 88aa0445..8e3e734a 100644 --- a/packages/connect-query/package.json +++ b/packages/connect-query/package.json @@ -13,7 +13,6 @@ "build": "npm run build:cjs && npm run build:esm", "build:cjs": "tsc --project tsconfig.build.json --module commonjs --moduleResolution node10 --verbatimModuleSyntax false --outDir ./dist/cjs --declarationDir ./dist/cjs && echo >./dist/cjs/package.json '{\"type\":\"commonjs\"}'", "build:esm": "tsc --project tsconfig.build.json", - "generate": "buf generate", "test": "vitest --run", "test:watch": "vitest --watch", "format": "prettier . --write --ignore-path ./.eslintignore && eslint . --fix && license-header", @@ -32,20 +31,21 @@ "@connectrpc/connect-query-core": "workspace:*" }, "devDependencies": { - "@arethetypeswrong/cli": "^0.15.4", - "@bufbuild/buf": "1.43.0", + "@arethetypeswrong/cli": "^0.16.4", + "@bufbuild/buf": "1.46.0", "@bufbuild/jest-environment-jsdom": "^0.1.1", - "@bufbuild/protobuf": "^2.2.0", - "@bufbuild/protoc-gen-es": "^2.2.0", - "@connectrpc/connect": "^2.0.0-rc.1", - "@connectrpc/connect-web": "^2.0.0-rc.1", - "@tanstack/react-query": "^5.53.3", + "@bufbuild/protobuf": "^2.2.1", + "@bufbuild/protoc-gen-es": "^2.2.1", + "@connectrpc/connect": "^2.0.0-rc.2", + "@connectrpc/connect-web": "^2.0.0-rc.2", + "@tanstack/react-query": "^5.59.16", "@testing-library/react": "^16.0.1", - "@types/react": "^18.3.5", - "@types/react-dom": "^18.3.0", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", "react": "^18.3.1", "react-dom": "^18.3.1", - "typescript": "^5.5.4" + "test-utils": "workspace:*", + "typescript": "^5.6.3" }, "peerDependencies": { "@bufbuild/protobuf": "2.x", diff --git a/packages/connect-query/src/call-unary-method.test.ts b/packages/connect-query/src/call-unary-method.test.ts index 88b05812..5328eebb 100644 --- a/packages/connect-query/src/call-unary-method.test.ts +++ b/packages/connect-query/src/call-unary-method.test.ts @@ -21,11 +21,12 @@ import { import type { QueryFunctionContext } from "@tanstack/react-query"; import { useQueries } from "@tanstack/react-query"; import { renderHook, waitFor } from "@testing-library/react"; +import { mockEliza } from "test-utils"; +import type { SayRequest } from "test-utils/gen/eliza_pb.js"; +import { ElizaService, SayRequestSchema } from "test-utils/gen/eliza_pb.js"; import { describe, expect, it } from "vitest"; -import type { SayRequest } from "./gen/eliza_pb.js"; -import { ElizaService, SayRequestSchema } from "./gen/eliza_pb.js"; -import { mockEliza, wrapper } from "./test/test-utils.js"; +import { wrapper } from "./test/test-wrapper.js"; describe("callUnaryMethod", () => { it("can be used with useQueries", async () => { diff --git a/packages/connect-query/src/test/test-wrapper.tsx b/packages/connect-query/src/test/test-wrapper.tsx new file mode 100644 index 00000000..b10b0a33 --- /dev/null +++ b/packages/connect-query/src/test/test-wrapper.tsx @@ -0,0 +1,52 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import type { Transport } from "@connectrpc/connect"; +import { createConnectTransport } from "@connectrpc/connect-web"; +import type { QueryClientConfig } from "@tanstack/react-query"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import type { JSXElementConstructor, PropsWithChildren } from "react"; + +import { TransportProvider } from "../use-transport.js"; + +/** + * A utils wrapper that supplies Tanstack Query's `QueryClientProvider` as well as Connect-Query's `TransportProvider`. + */ +export const wrapper = ( + config?: QueryClientConfig, + transport = createConnectTransport({ + baseUrl: "https://demo.connectrpc.com", + }), +): { + wrapper: JSXElementConstructor; + queryClient: QueryClient; + transport: Transport; + queryClientWrapper: JSXElementConstructor; +} => { + const queryClient = new QueryClient(config); + return { + wrapper: ({ children }) => ( + + + {children} + + + ), + queryClient, + transport, + queryClientWrapper: ({ children }) => ( + {children} + ), + }; +}; diff --git a/packages/connect-query/src/use-infinite-query.test.ts b/packages/connect-query/src/use-infinite-query.test.ts index 2e6c594d..a4793006 100644 --- a/packages/connect-query/src/use-infinite-query.test.ts +++ b/packages/connect-query/src/use-infinite-query.test.ts @@ -16,10 +16,11 @@ import { create } from "@bufbuild/protobuf"; import { createConnectQueryKey } from "@connectrpc/connect-query-core"; import { QueryCache, skipToken } from "@tanstack/react-query"; import { renderHook, waitFor } from "@testing-library/react"; +import { mockPaginatedTransport } from "test-utils"; +import { ListResponseSchema, ListService } from "test-utils/gen/list_pb.js"; import { describe, expect, it, vi } from "vitest"; -import { ListResponseSchema, ListService } from "./gen/list_pb.js"; -import { mockPaginatedTransport, wrapper } from "./test/test-utils.js"; +import { wrapper } from "./test/test-wrapper.js"; import { useInfiniteQuery, useSuspenseInfiniteQuery, @@ -361,27 +362,22 @@ describe("useSuspenseInfiniteQuery", () => { }); }); - it("can be disabled without explicit skipToken", () => { - const { result } = renderHook( + // eslint-disable-next-line vitest/expect-expect -- We are asserting via @ts-expect-error + it("can not be disabled with skipToken", () => { + renderHook( () => { - return useInfiniteQuery( + return useSuspenseInfiniteQuery( methodDescriptor, - { - page: 0n, - }, + // @ts-expect-error(2345) skipToken is not allowed + skipToken, { getNextPageParam: (lastPage) => lastPage.page + 1n, pageParamKey: "page", - enabled: false, }, ); }, wrapper({}, mockedPaginatedTransport), ); - - expect(result.current.data).toBeUndefined(); - expect(result.current.isPending).toBeTruthy(); - expect(result.current.isFetching).toBeFalsy(); }); // eslint-disable-next-line vitest/expect-expect -- We are asserting via @ts-expect-error diff --git a/packages/connect-query/src/use-mutation.test.ts b/packages/connect-query/src/use-mutation.test.ts index b9fbefaa..8253d3f4 100644 --- a/packages/connect-query/src/use-mutation.test.ts +++ b/packages/connect-query/src/use-mutation.test.ts @@ -14,10 +14,11 @@ import { create } from "@bufbuild/protobuf"; import { renderHook, waitFor } from "@testing-library/react"; +import { mockPaginatedTransport } from "test-utils"; +import { ListResponseSchema, ListService } from "test-utils/gen/list_pb.js"; import { describe, expect, it, vi } from "vitest"; -import { ListResponseSchema, ListService } from "./gen/list_pb.js"; -import { mockPaginatedTransport, wrapper } from "./test/test-utils.js"; +import { wrapper } from "./test/test-wrapper.js"; import { useMutation } from "./use-mutation.js"; // TODO: maybe create a helper to take a service and method and generate this. diff --git a/packages/connect-query/src/use-query.test.ts b/packages/connect-query/src/use-query.test.ts index 1d8a4dd2..3216cf81 100644 --- a/packages/connect-query/src/use-query.test.ts +++ b/packages/connect-query/src/use-query.test.ts @@ -18,11 +18,12 @@ import { skipToken, } from "@connectrpc/connect-query-core"; import { renderHook, waitFor } from "@testing-library/react"; +import { mockBigInt, mockEliza } from "test-utils"; +import { BigIntService } from "test-utils/gen/bigint_pb.js"; +import { ElizaService } from "test-utils/gen/eliza_pb.js"; import { describe, expect, it } from "vitest"; -import { BigIntService } from "./gen/bigint_pb.js"; -import { ElizaService } from "./gen/eliza_pb.js"; -import { mockBigInt, mockEliza, wrapper } from "./test/test-utils.js"; +import { wrapper } from "./test/test-wrapper.js"; import { useQuery, useSuspenseQuery } from "./use-query.js"; // TODO: maybe create a helper to take a service and method and generate this. diff --git a/packages/connect-query/src/use-transport.test.tsx b/packages/connect-query/src/use-transport.test.tsx index 0456f853..f84172a8 100644 --- a/packages/connect-query/src/use-transport.test.tsx +++ b/packages/connect-query/src/use-transport.test.tsx @@ -14,10 +14,11 @@ import { ConnectError } from "@connectrpc/connect"; import { renderHook, waitFor } from "@testing-library/react"; +import { mockBigInt } from "test-utils"; +import { ElizaService } from "test-utils/gen/eliza_pb.js"; import { describe, expect, it } from "vitest"; -import { ElizaService } from "./gen/eliza_pb.js"; -import { mockBigInt, wrapper } from "./test/test-utils.js"; +import { wrapper } from "./test/test-wrapper.js"; import { useQuery } from "./use-query.js"; import { TransportProvider, useTransport } from "./use-transport.js"; diff --git a/packages/protoc-gen-connect-query/package.json b/packages/protoc-gen-connect-query/package.json index df71c529..958de0a3 100644 --- a/packages/protoc-gen-connect-query/package.json +++ b/packages/protoc-gen-connect-query/package.json @@ -27,16 +27,16 @@ }, "preferUnplugged": true, "devDependencies": { - "@bufbuild/buf": "1.43.0", - "@bufbuild/protoc-gen-es": "^2.2.0", - "@connectrpc/connect": "^2.0.0-rc.1", + "@bufbuild/buf": "1.46.0", + "@bufbuild/protoc-gen-es": "^2.2.1", + "@connectrpc/connect": "^2.0.0-rc.2", "@connectrpc/connect-query": "workspace:*", - "@tanstack/react-query": "^5.56.2", - "typescript": "^5.5.4" + "@tanstack/react-query": "^5.59.16", + "typescript": "^5.6.3" }, "dependencies": { - "@bufbuild/protobuf": "^2.2.0", - "@bufbuild/protoplugin": "^2.2.0" + "@bufbuild/protobuf": "^2.2.1", + "@bufbuild/protoplugin": "^2.2.1" }, "peerDependencies": { "@bufbuild/protoc-gen-es": "2.x" diff --git a/packages/protoc-gen-connect-query/snapshots/gen_cjs/test_pb.d.ts b/packages/protoc-gen-connect-query/snapshots/gen_cjs/test_pb.d.ts index 1da0bf21..97d5b302 100644 --- a/packages/protoc-gen-connect-query/snapshots/gen_cjs/test_pb.d.ts +++ b/packages/protoc-gen-connect-query/snapshots/gen_cjs/test_pb.d.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// @generated by protoc-gen-es v2.2.0 with parameter "js_import_style=legacy_commonjs,import_extension=js" +// @generated by protoc-gen-es v2.2.1 with parameter "js_import_style=legacy_commonjs,import_extension=js" // @generated from file test.proto (package test, syntax proto3) /* eslint-disable */ diff --git a/packages/protoc-gen-connect-query/snapshots/gen_cjs/test_pb.js b/packages/protoc-gen-connect-query/snapshots/gen_cjs/test_pb.js index f695eaae..f58cd876 100644 --- a/packages/protoc-gen-connect-query/snapshots/gen_cjs/test_pb.js +++ b/packages/protoc-gen-connect-query/snapshots/gen_cjs/test_pb.js @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// @generated by protoc-gen-es v2.2.0 with parameter "js_import_style=legacy_commonjs,import_extension=js" +// @generated by protoc-gen-es v2.2.1 with parameter "js_import_style=legacy_commonjs,import_extension=js" // @generated from file test.proto (package test, syntax proto3) /* eslint-disable */ diff --git a/packages/protoc-gen-connect-query/snapshots/gen_js/test_pb.d.ts b/packages/protoc-gen-connect-query/snapshots/gen_js/test_pb.d.ts index 38cd6718..687cb2b2 100644 --- a/packages/protoc-gen-connect-query/snapshots/gen_js/test_pb.d.ts +++ b/packages/protoc-gen-connect-query/snapshots/gen_js/test_pb.d.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// @generated by protoc-gen-es v2.2.0 +// @generated by protoc-gen-es v2.2.1 // @generated from file test.proto (package test, syntax proto3) /* eslint-disable */ diff --git a/packages/protoc-gen-connect-query/snapshots/gen_js/test_pb.js b/packages/protoc-gen-connect-query/snapshots/gen_js/test_pb.js index c5faaa8b..6fd9e9d7 100644 --- a/packages/protoc-gen-connect-query/snapshots/gen_js/test_pb.js +++ b/packages/protoc-gen-connect-query/snapshots/gen_js/test_pb.js @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// @generated by protoc-gen-es v2.2.0 +// @generated by protoc-gen-es v2.2.1 // @generated from file test.proto (package test, syntax proto3) /* eslint-disable */ diff --git a/packages/protoc-gen-connect-query/snapshots/gen_ts/test_pb.ts b/packages/protoc-gen-connect-query/snapshots/gen_ts/test_pb.ts index feef9c35..ae3ca57a 100644 --- a/packages/protoc-gen-connect-query/snapshots/gen_ts/test_pb.ts +++ b/packages/protoc-gen-connect-query/snapshots/gen_ts/test_pb.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// @generated by protoc-gen-es v2.2.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.2.1 with parameter "target=ts" // @generated from file test.proto (package test, syntax proto3) /* eslint-disable */ diff --git a/packages/connect-query/buf.gen.yaml b/packages/test-utils/buf.gen.yaml similarity index 90% rename from packages/connect-query/buf.gen.yaml rename to packages/test-utils/buf.gen.yaml index 5c601a4f..ee896147 100644 --- a/packages/connect-query/buf.gen.yaml +++ b/packages/test-utils/buf.gen.yaml @@ -7,6 +7,6 @@ inputs: clean: true plugins: - local: protoc-gen-es - out: src/gen + out: gen opt: - - target=ts + - target=dts+js diff --git a/packages/test-utils/gen/bigint_pb.d.ts b/packages/test-utils/gen/bigint_pb.d.ts new file mode 100644 index 00000000..aca40851 --- /dev/null +++ b/packages/test-utils/gen/bigint_pb.d.ts @@ -0,0 +1,81 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.1 with parameter "target=dts+js" +// @generated from file bigint.proto (syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; +import type { Message } from "@bufbuild/protobuf"; +import type { EmptySchema } from "@bufbuild/protobuf/wkt"; + +/** + * Describes the file bigint.proto. + */ +export declare const file_bigint: GenFile; + +/** + * @generated from message CountRequest + */ +export declare type CountRequest = Message<"CountRequest"> & { + /** + * @generated from field: int64 add = 1; + */ + add: bigint; +}; + +/** + * Describes the message CountRequest. + * Use `create(CountRequestSchema)` to create a new message. + */ +export declare const CountRequestSchema: GenMessage; + +/** + * @generated from message CountResponse + */ +export declare type CountResponse = Message<"CountResponse"> & { + /** + * @generated from field: int64 count = 1; + */ + count: bigint; +}; + +/** + * Describes the message CountResponse. + * Use `create(CountResponseSchema)` to create a new message. + */ +export declare const CountResponseSchema: GenMessage; + +/** + * @generated from service BigIntService + */ +export declare const BigIntService: GenService<{ + /** + * @generated from rpc BigIntService.Count + */ + count: { + methodKind: "unary"; + input: typeof CountRequestSchema; + output: typeof CountResponseSchema; + }, + /** + * @generated from rpc BigIntService.GetCount + */ + getCount: { + methodKind: "unary"; + input: typeof EmptySchema; + output: typeof CountResponseSchema; + }, +}>; + diff --git a/packages/test-utils/gen/bigint_pb.js b/packages/test-utils/gen/bigint_pb.js new file mode 100644 index 00000000..1d56f1d8 --- /dev/null +++ b/packages/test-utils/gen/bigint_pb.js @@ -0,0 +1,47 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.1 with parameter "target=dts+js" +// @generated from file bigint.proto (syntax proto3) +/* eslint-disable */ + +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; +import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt"; + +/** + * Describes the file bigint.proto. + */ +export const file_bigint = /*@__PURE__*/ + fileDesc("CgxiaWdpbnQucHJvdG8iGwoMQ291bnRSZXF1ZXN0EgsKA2FkZBgBIAEoAyIeCg1Db3VudFJlc3BvbnNlEg0KBWNvdW50GAEgASgDMmsKDUJpZ0ludFNlcnZpY2USJgoFQ291bnQSDS5Db3VudFJlcXVlc3QaDi5Db3VudFJlc3BvbnNlEjIKCEdldENvdW50EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg4uQ291bnRSZXNwb25zZWIGcHJvdG8z", [file_google_protobuf_empty]); + +/** + * Describes the message CountRequest. + * Use `create(CountRequestSchema)` to create a new message. + */ +export const CountRequestSchema = /*@__PURE__*/ + messageDesc(file_bigint, 0); + +/** + * Describes the message CountResponse. + * Use `create(CountResponseSchema)` to create a new message. + */ +export const CountResponseSchema = /*@__PURE__*/ + messageDesc(file_bigint, 1); + +/** + * @generated from service BigIntService + */ +export const BigIntService = /*@__PURE__*/ + serviceDesc(file_bigint, 0); + diff --git a/packages/test-utils/gen/eliza_pb.d.ts b/packages/test-utils/gen/eliza_pb.d.ts new file mode 100644 index 00000000..84aa029a --- /dev/null +++ b/packages/test-utils/gen/eliza_pb.d.ts @@ -0,0 +1,85 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.1 with parameter "target=dts+js" +// @generated from file eliza.proto (package connectrpc.eliza.v1, syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file eliza.proto. + */ +export declare const file_eliza: GenFile; + +/** + * SayRequest is a single-sentence request. + * + * @generated from message connectrpc.eliza.v1.SayRequest + */ +export declare type SayRequest = Message<"connectrpc.eliza.v1.SayRequest"> & { + /** + * @generated from field: string sentence = 1; + */ + sentence: string; +}; + +/** + * Describes the message connectrpc.eliza.v1.SayRequest. + * Use `create(SayRequestSchema)` to create a new message. + */ +export declare const SayRequestSchema: GenMessage; + +/** + * SayResponse is a single-sentence response. + * + * @generated from message connectrpc.eliza.v1.SayResponse + */ +export declare type SayResponse = Message<"connectrpc.eliza.v1.SayResponse"> & { + /** + * @generated from field: string sentence = 1; + */ + sentence: string; +}; + +/** + * Describes the message connectrpc.eliza.v1.SayResponse. + * Use `create(SayResponseSchema)` to create a new message. + */ +export declare const SayResponseSchema: GenMessage; + +/** + * ElizaService provides a way to talk to Eliza, a port of the DOCTOR script + * for Joseph Weizenbaum's original ELIZA program. Created in the mid-1960s at + * the MIT Artificial Intelligence Laboratory, ELIZA demonstrates the + * superficiality of human-computer communication. DOCTOR simulates a + * psychotherapist, and is commonly found as an Easter egg in emacs + * distributions. + * + * @generated from service connectrpc.eliza.v1.ElizaService + */ +export declare const ElizaService: GenService<{ + /** + * Say is a unary RPC. Eliza responds to the prompt with a single sentence. + * + * @generated from rpc connectrpc.eliza.v1.ElizaService.Say + */ + say: { + methodKind: "unary"; + input: typeof SayRequestSchema; + output: typeof SayResponseSchema; + }, +}>; + diff --git a/packages/test-utils/gen/eliza_pb.js b/packages/test-utils/gen/eliza_pb.js new file mode 100644 index 00000000..80a8c243 --- /dev/null +++ b/packages/test-utils/gen/eliza_pb.js @@ -0,0 +1,53 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.1 with parameter "target=dts+js" +// @generated from file eliza.proto (package connectrpc.eliza.v1, syntax proto3) +/* eslint-disable */ + +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; + +/** + * Describes the file eliza.proto. + */ +export const file_eliza = /*@__PURE__*/ + fileDesc("CgtlbGl6YS5wcm90bxITY29ubmVjdHJwYy5lbGl6YS52MSIeCgpTYXlSZXF1ZXN0EhAKCHNlbnRlbmNlGAEgASgJIh8KC1NheVJlc3BvbnNlEhAKCHNlbnRlbmNlGAEgASgJMloKDEVsaXphU2VydmljZRJKCgNTYXkSHy5jb25uZWN0cnBjLmVsaXphLnYxLlNheVJlcXVlc3QaIC5jb25uZWN0cnBjLmVsaXphLnYxLlNheVJlc3BvbnNlIgBiBnByb3RvMw"); + +/** + * Describes the message connectrpc.eliza.v1.SayRequest. + * Use `create(SayRequestSchema)` to create a new message. + */ +export const SayRequestSchema = /*@__PURE__*/ + messageDesc(file_eliza, 0); + +/** + * Describes the message connectrpc.eliza.v1.SayResponse. + * Use `create(SayResponseSchema)` to create a new message. + */ +export const SayResponseSchema = /*@__PURE__*/ + messageDesc(file_eliza, 1); + +/** + * ElizaService provides a way to talk to Eliza, a port of the DOCTOR script + * for Joseph Weizenbaum's original ELIZA program. Created in the mid-1960s at + * the MIT Artificial Intelligence Laboratory, ELIZA demonstrates the + * superficiality of human-computer communication. DOCTOR simulates a + * psychotherapist, and is commonly found as an Easter egg in emacs + * distributions. + * + * @generated from service connectrpc.eliza.v1.ElizaService + */ +export const ElizaService = /*@__PURE__*/ + serviceDesc(file_eliza, 0); + diff --git a/packages/test-utils/gen/list_pb.d.ts b/packages/test-utils/gen/list_pb.d.ts new file mode 100644 index 00000000..44206a92 --- /dev/null +++ b/packages/test-utils/gen/list_pb.d.ts @@ -0,0 +1,82 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.1 with parameter "target=dts+js" +// @generated from file list.proto (syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file list.proto. + */ +export declare const file_list: GenFile; + +/** + * @generated from message ListRequest + */ +export declare type ListRequest = Message<"ListRequest"> & { + /** + * @generated from field: int64 page = 1; + */ + page: bigint; + + /** + * @generated from field: bool preview = 2; + */ + preview: boolean; +}; + +/** + * Describes the message ListRequest. + * Use `create(ListRequestSchema)` to create a new message. + */ +export declare const ListRequestSchema: GenMessage; + +/** + * @generated from message ListResponse + */ +export declare type ListResponse = Message<"ListResponse"> & { + /** + * @generated from field: int64 page = 1; + */ + page: bigint; + + /** + * @generated from field: repeated string items = 2; + */ + items: string[]; +}; + +/** + * Describes the message ListResponse. + * Use `create(ListResponseSchema)` to create a new message. + */ +export declare const ListResponseSchema: GenMessage; + +/** + * @generated from service ListService + */ +export declare const ListService: GenService<{ + /** + * @generated from rpc ListService.List + */ + list: { + methodKind: "unary"; + input: typeof ListRequestSchema; + output: typeof ListResponseSchema; + }, +}>; + diff --git a/packages/test-utils/gen/list_pb.js b/packages/test-utils/gen/list_pb.js new file mode 100644 index 00000000..aacff993 --- /dev/null +++ b/packages/test-utils/gen/list_pb.js @@ -0,0 +1,46 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.1 with parameter "target=dts+js" +// @generated from file list.proto (syntax proto3) +/* eslint-disable */ + +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; + +/** + * Describes the file list.proto. + */ +export const file_list = /*@__PURE__*/ + fileDesc("CgpsaXN0LnByb3RvIiwKC0xpc3RSZXF1ZXN0EgwKBHBhZ2UYASABKAMSDwoHcHJldmlldxgCIAEoCCIrCgxMaXN0UmVzcG9uc2USDAoEcGFnZRgBIAEoAxINCgVpdGVtcxgCIAMoCTIyCgtMaXN0U2VydmljZRIjCgRMaXN0EgwuTGlzdFJlcXVlc3QaDS5MaXN0UmVzcG9uc2ViBnByb3RvMw"); + +/** + * Describes the message ListRequest. + * Use `create(ListRequestSchema)` to create a new message. + */ +export const ListRequestSchema = /*@__PURE__*/ + messageDesc(file_list, 0); + +/** + * Describes the message ListResponse. + * Use `create(ListResponseSchema)` to create a new message. + */ +export const ListResponseSchema = /*@__PURE__*/ + messageDesc(file_list, 1); + +/** + * @generated from service ListService + */ +export const ListService = /*@__PURE__*/ + serviceDesc(file_list, 0); + diff --git a/packages/test-utils/gen/proto2_pb.d.ts b/packages/test-utils/gen/proto2_pb.d.ts new file mode 100644 index 00000000..ea05b657 --- /dev/null +++ b/packages/test-utils/gen/proto2_pb.d.ts @@ -0,0 +1,47 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.1 with parameter "target=dts+js" +// @generated from file proto2.proto (package test, syntax proto2) +/* eslint-disable */ + +import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file proto2.proto. + */ +export declare const file_proto2: GenFile; + +/** + * @generated from message test.Proto2Message + */ +export declare type Proto2Message = Message<"test.Proto2Message"> & { + /** + * @generated from field: optional string string_field = 1; + */ + stringField: string; + + /** + * @generated from field: optional int32 int32_field = 3; + */ + int32Field: number; +}; + +/** + * Describes the message test.Proto2Message. + * Use `create(Proto2MessageSchema)` to create a new message. + */ +export declare const Proto2MessageSchema: GenMessage; + diff --git a/packages/test-utils/gen/proto2_pb.js b/packages/test-utils/gen/proto2_pb.js new file mode 100644 index 00000000..7375ffef --- /dev/null +++ b/packages/test-utils/gen/proto2_pb.js @@ -0,0 +1,33 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.1 with parameter "target=dts+js" +// @generated from file proto2.proto (package test, syntax proto2) +/* eslint-disable */ + +import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1"; + +/** + * Describes the file proto2.proto. + */ +export const file_proto2 = /*@__PURE__*/ + fileDesc("Cgxwcm90bzIucHJvdG8SBHRlc3QiOgoNUHJvdG8yTWVzc2FnZRIUCgxzdHJpbmdfZmllbGQYASABKAkSEwoLaW50MzJfZmllbGQYAyABKAU"); + +/** + * Describes the message test.Proto2Message. + * Use `create(Proto2MessageSchema)` to create a new message. + */ +export const Proto2MessageSchema = /*@__PURE__*/ + messageDesc(file_proto2, 0); + diff --git a/packages/test-utils/gen/proto3_pb.d.ts b/packages/test-utils/gen/proto3_pb.d.ts new file mode 100644 index 00000000..c6dd6fc4 --- /dev/null +++ b/packages/test-utils/gen/proto3_pb.d.ts @@ -0,0 +1,156 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.1 with parameter "target=dts+js" +// @generated from file proto3.proto (package test, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file proto3.proto. + */ +export declare const file_proto3: GenFile; + +/** + * Note: We do not exhaust all field types + * + * @generated from message test.Proto3Message + */ +export declare type Proto3Message = Message<"test.Proto3Message"> & { + /** + * @generated from field: string string_field = 1; + */ + stringField: string; + + /** + * @generated from field: bytes bytes_field = 2; + */ + bytesField: Uint8Array; + + /** + * @generated from field: int32 int32_field = 3; + */ + int32Field: number; + + /** + * @generated from field: int64 int64_field = 4; + */ + int64Field: bigint; + + /** + * @generated from field: double double_field = 5; + */ + doubleField: number; + + /** + * @generated from field: bool bool_field = 6; + */ + boolField: boolean; + + /** + * @generated from field: test.Proto3Enum enum_field = 7; + */ + enumField: Proto3Enum; + + /** + * @generated from field: test.Proto3Message message_field = 8; + */ + messageField?: Proto3Message; + + /** + * @generated from field: optional string optional_string_field = 9; + */ + optionalStringField?: string; + + /** + * @generated from field: repeated string repeated_string_field = 17; + */ + repeatedStringField: string[]; + + /** + * @generated from field: repeated test.Proto3Message repeated_message_field = 18; + */ + repeatedMessageField: Proto3Message[]; + + /** + * @generated from field: repeated test.Proto3Enum repeated_enum_field = 19; + */ + repeatedEnumField: Proto3Enum[]; + + /** + * @generated from oneof test.Proto3Message.either + */ + either: { + /** + * @generated from field: string oneof_string_field = 31; + */ + value: string; + case: "oneofStringField"; + } | { + /** + * @generated from field: int32 oneof_int32_field = 33; + */ + value: number; + case: "oneofInt32Field"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: map map_string_int64_field = 39; + */ + mapStringInt64Field: { [key: string]: bigint }; + + /** + * @generated from field: map map_string_message_field = 40; + */ + mapStringMessageField: { [key: string]: Proto3Message }; + + /** + * @generated from field: map map_string_enum_field = 41; + */ + mapStringEnumField: { [key: string]: Proto3Enum }; +}; + +/** + * Describes the message test.Proto3Message. + * Use `create(Proto3MessageSchema)` to create a new message. + */ +export declare const Proto3MessageSchema: GenMessage; + +/** + * @generated from enum test.Proto3Enum + */ +export enum Proto3Enum { + /** + * @generated from enum value: PROTO3_ENUM_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: PROTO3_ENUM_YES = 1; + */ + YES = 1, + + /** + * @generated from enum value: PROTO3_ENUM_NO = 2; + */ + NO = 2, +} + +/** + * Describes the enum test.Proto3Enum. + */ +export declare const Proto3EnumSchema: GenEnum; + diff --git a/packages/test-utils/gen/proto3_pb.js b/packages/test-utils/gen/proto3_pb.js new file mode 100644 index 00000000..7aa312f2 --- /dev/null +++ b/packages/test-utils/gen/proto3_pb.js @@ -0,0 +1,45 @@ +// Copyright 2021-2023 The Connect Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.1 with parameter "target=dts+js" +// @generated from file proto3.proto (package test, syntax proto3) +/* eslint-disable */ + +import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv1"; + +/** + * Describes the file proto3.proto. + */ +export const file_proto3 = /*@__PURE__*/ + fileDesc("Cgxwcm90bzMucHJvdG8SBHRlc3QirgcKDVByb3RvM01lc3NhZ2USFAoMc3RyaW5nX2ZpZWxkGAEgASgJEhMKC2J5dGVzX2ZpZWxkGAIgASgMEhMKC2ludDMyX2ZpZWxkGAMgASgFEhMKC2ludDY0X2ZpZWxkGAQgASgDEhQKDGRvdWJsZV9maWVsZBgFIAEoARISCgpib29sX2ZpZWxkGAYgASgIEiQKCmVudW1fZmllbGQYByABKA4yEC50ZXN0LlByb3RvM0VudW0SKgoNbWVzc2FnZV9maWVsZBgIIAEoCzITLnRlc3QuUHJvdG8zTWVzc2FnZRIiChVvcHRpb25hbF9zdHJpbmdfZmllbGQYCSABKAlIAYgBARIdChVyZXBlYXRlZF9zdHJpbmdfZmllbGQYESADKAkSMwoWcmVwZWF0ZWRfbWVzc2FnZV9maWVsZBgSIAMoCzITLnRlc3QuUHJvdG8zTWVzc2FnZRItChNyZXBlYXRlZF9lbnVtX2ZpZWxkGBMgAygOMhAudGVzdC5Qcm90bzNFbnVtEhwKEm9uZW9mX3N0cmluZ19maWVsZBgfIAEoCUgAEhsKEW9uZW9mX2ludDMyX2ZpZWxkGCEgASgFSAASTAoWbWFwX3N0cmluZ19pbnQ2NF9maWVsZBgnIAMoCzIsLnRlc3QuUHJvdG8zTWVzc2FnZS5NYXBTdHJpbmdJbnQ2NEZpZWxkRW50cnkSUAoYbWFwX3N0cmluZ19tZXNzYWdlX2ZpZWxkGCggAygLMi4udGVzdC5Qcm90bzNNZXNzYWdlLk1hcFN0cmluZ01lc3NhZ2VGaWVsZEVudHJ5EkoKFW1hcF9zdHJpbmdfZW51bV9maWVsZBgpIAMoCzIrLnRlc3QuUHJvdG8zTWVzc2FnZS5NYXBTdHJpbmdFbnVtRmllbGRFbnRyeRo6ChhNYXBTdHJpbmdJbnQ2NEZpZWxkRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ARpRChpNYXBTdHJpbmdNZXNzYWdlRmllbGRFbnRyeRILCgNrZXkYASABKAkSIgoFdmFsdWUYAiABKAsyEy50ZXN0LlByb3RvM01lc3NhZ2U6AjgBGksKF01hcFN0cmluZ0VudW1GaWVsZEVudHJ5EgsKA2tleRgBIAEoCRIfCgV2YWx1ZRgCIAEoDjIQLnRlc3QuUHJvdG8zRW51bToCOAFCCAoGZWl0aGVyQhgKFl9vcHRpb25hbF9zdHJpbmdfZmllbGQqUgoKUHJvdG8zRW51bRIbChdQUk9UTzNfRU5VTV9VTlNQRUNJRklFRBAAEhMKD1BST1RPM19FTlVNX1lFUxABEhIKDlBST1RPM19FTlVNX05PEAJiBnByb3RvMw"); + +/** + * Describes the message test.Proto3Message. + * Use `create(Proto3MessageSchema)` to create a new message. + */ +export const Proto3MessageSchema = /*@__PURE__*/ + messageDesc(file_proto3, 0); + +/** + * Describes the enum test.Proto3Enum. + */ +export const Proto3EnumSchema = /*@__PURE__*/ + enumDesc(file_proto3, 0); + +/** + * @generated from enum test.Proto3Enum + */ +export const Proto3Enum = /*@__PURE__*/ + tsEnum(Proto3EnumSchema); + diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json new file mode 100644 index 00000000..e10b13a0 --- /dev/null +++ b/packages/test-utils/package.json @@ -0,0 +1,27 @@ +{ + "name": "test-utils", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "clean": "rm -rf ./dist/*", + "generate": "buf generate", + "build": "tsc --project tsconfig.build.json" + }, + "exports": { + ".": "./dist/esm/index.js", + "./gen/*": "./dist/esm/gen/*" + }, + "devDependencies": { + "@bufbuild/buf": "^1.46.0", + "@bufbuild/protobuf": "^2.2.1", + "@bufbuild/protoc-gen-es": "^2.2.1", + "@connectrpc/connect": "^2.0.0-rc.2", + "@connectrpc/connect-web": "^2.0.0-rc.2", + "@types/react": "18.3.12", + "react": "^18.3.1" + }, + "files": [ + "dist/**" + ] +} diff --git a/packages/connect-query/proto/bigint.proto b/packages/test-utils/proto/bigint.proto similarity index 100% rename from packages/connect-query/proto/bigint.proto rename to packages/test-utils/proto/bigint.proto diff --git a/packages/connect-query/proto/eliza.proto b/packages/test-utils/proto/eliza.proto similarity index 100% rename from packages/connect-query/proto/eliza.proto rename to packages/test-utils/proto/eliza.proto diff --git a/packages/connect-query/proto/list.proto b/packages/test-utils/proto/list.proto similarity index 100% rename from packages/connect-query/proto/list.proto rename to packages/test-utils/proto/list.proto diff --git a/packages/connect-query/proto/proto2.proto b/packages/test-utils/proto/proto2.proto similarity index 100% rename from packages/connect-query/proto/proto2.proto rename to packages/test-utils/proto/proto2.proto diff --git a/packages/connect-query/proto/proto3.proto b/packages/test-utils/proto/proto3.proto similarity index 100% rename from packages/connect-query/proto/proto3.proto rename to packages/test-utils/proto/proto3.proto diff --git a/packages/connect-query/src/gen/bigint_pb.ts b/packages/test-utils/src/gen/bigint_pb.ts similarity index 100% rename from packages/connect-query/src/gen/bigint_pb.ts rename to packages/test-utils/src/gen/bigint_pb.ts diff --git a/packages/connect-query/src/gen/eliza_pb.ts b/packages/test-utils/src/gen/eliza_pb.ts similarity index 100% rename from packages/connect-query/src/gen/eliza_pb.ts rename to packages/test-utils/src/gen/eliza_pb.ts diff --git a/packages/connect-query/src/gen/list_pb.ts b/packages/test-utils/src/gen/list_pb.ts similarity index 100% rename from packages/connect-query/src/gen/list_pb.ts rename to packages/test-utils/src/gen/list_pb.ts diff --git a/packages/connect-query/src/gen/proto2_pb.ts b/packages/test-utils/src/gen/proto2_pb.ts similarity index 100% rename from packages/connect-query/src/gen/proto2_pb.ts rename to packages/test-utils/src/gen/proto2_pb.ts diff --git a/packages/connect-query/src/gen/proto3_pb.ts b/packages/test-utils/src/gen/proto3_pb.ts similarity index 100% rename from packages/connect-query/src/gen/proto3_pb.ts rename to packages/test-utils/src/gen/proto3_pb.ts diff --git a/packages/connect-query/src/test/test-utils.tsx b/packages/test-utils/src/index.tsx similarity index 63% rename from packages/connect-query/src/test/test-utils.tsx rename to packages/test-utils/src/index.tsx index 5de66e0b..10fca078 100644 --- a/packages/connect-query/src/test/test-utils.tsx +++ b/packages/test-utils/src/index.tsx @@ -14,56 +14,19 @@ import type { MessageInitShape } from "@bufbuild/protobuf"; import { create } from "@bufbuild/protobuf"; -import type { CallOptions, Transport } from "@connectrpc/connect"; import { createRouterTransport } from "@connectrpc/connect"; -import { createConnectTransport } from "@connectrpc/connect-web"; -import type { QueryClientConfig } from "@tanstack/react-query"; -import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; -import type { JSXElementConstructor, PropsWithChildren } from "react"; import { BigIntService, type CountRequest, CountResponseSchema, -} from "../gen/bigint_pb.js"; +} from "./gen/bigint_pb.js"; import { ElizaService, type SayRequest, SayResponseSchema, -} from "../gen/eliza_pb.js"; -import { type ListResponseSchema, ListService } from "../gen/list_pb.js"; -import { TransportProvider } from "../use-transport.js"; - -/** - * A utils wrapper that supplies Tanstack Query's `QueryClientProvider` as well as Connect-Query's `TransportProvider`. - */ -export const wrapper = ( - config?: QueryClientConfig, - transport = createConnectTransport({ - baseUrl: "https://demo.connectrpc.com", - }), -): { - wrapper: JSXElementConstructor; - queryClient: QueryClient; - transport: Transport; - queryClientWrapper: JSXElementConstructor; -} => { - const queryClient = new QueryClient(config); - return { - wrapper: ({ children }) => ( - - - {children} - - - ), - queryClient, - transport, - queryClientWrapper: ({ children }) => ( - {children} - ), - }; -}; +} from "./gen/eliza_pb.js"; +import { type ListResponseSchema, ListService } from "./gen/list_pb.js"; /** * A test-only helper to increase time (necessary for testing react-query) @@ -78,7 +41,7 @@ export const sleep = async (timeout: number) => */ export const mockEliza = ( override?: MessageInitShape, - addDelay = false, + addDelay = false ) => createRouterTransport(({ service }) => { service(ElizaService, { @@ -88,7 +51,7 @@ export const mockEliza = ( } return create( SayResponseSchema, - override ?? { sentence: `Hello ${input.sentence}` }, + override ?? { sentence: `Hello ${input.sentence}` } ); }, }); @@ -129,7 +92,7 @@ export const mockStatefulBigIntTransport = (addDelay = false) => */ export const mockPaginatedTransport = ( override?: MessageInitShape, - addDelay = false, + addDelay = false ) => createRouterTransport(({ service }) => { service(ListService, { @@ -153,11 +116,3 @@ export const mockPaginatedTransport = ( }, }); }); - -export const mockCallOptions = { - signal: new AbortController().signal, - timeoutMs: 9000, - headers: new Headers({ - "Content-Type": 'application/x-shockwave-flash; version="1"', - }), -} satisfies CallOptions; diff --git a/packages/test-utils/tsconfig.build.json b/packages/test-utils/tsconfig.build.json new file mode 100644 index 00000000..171a4e93 --- /dev/null +++ b/packages/test-utils/tsconfig.build.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "skipLibCheck": true, + "declaration": true, + "declarationDir": "./dist/esm", + "outDir": "./dist/esm" + }, + "include": ["src/**/*.ts", "src/**/*.tsx"], + "exclude": ["**/*.test.ts", "**/*.test.tsx", "src/test/**"] +} diff --git a/packages/test-utils/tsconfig.json b/packages/test-utils/tsconfig.json new file mode 100644 index 00000000..994fc249 --- /dev/null +++ b/packages/test-utils/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.build.json", + "compilerOptions": { + "rootDir": ".", + "noUnusedLocals": false, // necessary for TypeScript type tests, but since this is not enabled for build, unused variables have no risk of leaking into the build output + "lib": ["DOM", "ESNext"], + "noEmit": true, + "verbatimModuleSyntax": false + }, + "exclude": ["coverage", "dist"], + "include": ["src", "./*.config.ts"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f2d3d5ee..713e37d4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,23 +12,23 @@ importers: specifier: ^0.0.4 version: 0.0.4 '@types/node': - specifier: ^22.5.1 - version: 22.5.1 + specifier: ^22.8.6 + version: 22.8.6 '@typescript-eslint/eslint-plugin': specifier: 7.15.0 - version: 7.15.0(@typescript-eslint/parser@7.15.0)(eslint@8.57.0)(typescript@5.5.4) + version: 7.15.0(@typescript-eslint/parser@7.15.0)(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/parser': specifier: 7.15.0 - version: 7.15.0(eslint@8.57.0)(typescript@5.5.4) + version: 7.15.0(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/utils': specifier: 7.15.0 - version: 7.15.0(eslint@8.57.0)(typescript@5.5.4) + version: 7.15.0(eslint@8.57.0)(typescript@5.6.3) '@vitest/ui': - specifier: ^2.1.2 - version: 2.1.2(vitest@2.1.2) + specifier: ^2.1.4 + version: 2.1.4(vitest@2.1.4) cspell: - specifier: 8.14.2 - version: 8.14.2 + specifier: 8.15.5 + version: 8.15.5 eslint: specifier: 8.57.0 version: 8.57.0 @@ -52,64 +52,64 @@ importers: version: 12.1.1(eslint@8.57.0) eslint-plugin-vitest: specifier: 0.5.4 - version: 0.5.4(@typescript-eslint/eslint-plugin@7.15.0)(eslint@8.57.0)(typescript@5.5.4)(vitest@2.1.2) + version: 0.5.4(@typescript-eslint/eslint-plugin@7.15.0)(eslint@8.57.0)(typescript@5.6.3)(vitest@2.1.4) prettier: specifier: 3.3.3 version: 3.3.3 turbo: - specifier: ^2.1.1 - version: 2.1.1 + specifier: ^2.2.3 + version: 2.2.3 typescript: - specifier: 5.5.4 - version: 5.5.4 + specifier: 5.6.3 + version: 5.6.3 vitest: - specifier: ^2.1.2 - version: 2.1.2(@types/node@22.5.1)(@vitest/ui@2.1.2) + specifier: ^2.1.4 + version: 2.1.4(@types/node@22.8.6)(@vitest/ui@2.1.4) examples/react/basic: dependencies: '@bufbuild/buf': - specifier: 1.43.0 - version: 1.43.0 + specifier: 1.46.0 + version: 1.46.0 '@bufbuild/protobuf': - specifier: ^2.2.0 - version: 2.2.0 + specifier: ^2.2.1 + version: 2.2.1 '@bufbuild/protoc-gen-es': - specifier: ^2.2.0 - version: 2.2.0(@bufbuild/protobuf@2.2.0) + specifier: ^2.2.1 + version: 2.2.1(@bufbuild/protobuf@2.2.1) '@connectrpc/connect': - specifier: ^2.0.0-rc.1 - version: 2.0.0-rc.1(@bufbuild/protobuf@2.2.0) + specifier: ^2.0.0-rc.2 + version: 2.0.0-rc.3(@bufbuild/protobuf@2.2.1) '@connectrpc/connect-query': specifier: workspace:* version: link:../../../packages/connect-query '@connectrpc/connect-web': - specifier: ^2.0.0-rc.1 - version: 2.0.0-rc.1(@bufbuild/protobuf@2.2.0)(@connectrpc/connect@2.0.0-rc.1) + specifier: ^2.0.0-rc.2 + version: 2.0.0-rc.3(@bufbuild/protobuf@2.2.1)(@connectrpc/connect@2.0.0-rc.3) '@connectrpc/protoc-gen-connect-query': specifier: workspace:* version: link:../../../packages/protoc-gen-connect-query '@tanstack/react-query': - specifier: ^5.56.2 - version: 5.56.2(react@18.3.1) + specifier: ^5.59.16 + version: 5.59.16(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.58.0 - version: 5.58.0(@tanstack/react-query@5.56.2)(react@18.3.1) + specifier: ^5.59.16 + version: 5.59.16(@tanstack/react-query@5.59.16)(react@18.3.1) '@testing-library/jest-dom': - specifier: ^6.5.0 - version: 6.5.0 + specifier: ^6.6.3 + version: 6.6.3 '@testing-library/react': specifier: ^16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1)(react@18.3.1) '@types/react': - specifier: ^18.3.5 - version: 18.3.5 + specifier: ^18.3.12 + version: 18.3.12 '@types/react-dom': - specifier: ^18.3.0 - version: 18.3.0 + specifier: ^18.3.1 + version: 18.3.1 '@vitejs/plugin-react': - specifier: ^4.3.2 - version: 4.3.2(vite@5.4.8) + specifier: ^4.3.3 + version: 4.3.3(vite@5.4.11) react: specifier: ^18.3.1 version: 18.3.1 @@ -117,11 +117,11 @@ importers: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.3 + version: 5.6.3 vite: - specifier: ^5.4.8 - version: 5.4.8(@types/node@22.5.1) + specifier: ^5.4.10 + version: 5.4.11(@types/node@22.8.6) packages/connect-query: dependencies: @@ -130,106 +130,135 @@ importers: version: link:../connect-query-core devDependencies: '@arethetypeswrong/cli': - specifier: ^0.15.4 - version: 0.15.4 + specifier: ^0.16.4 + version: 0.16.4 '@bufbuild/buf': - specifier: 1.43.0 - version: 1.43.0 + specifier: 1.46.0 + version: 1.46.0 '@bufbuild/jest-environment-jsdom': specifier: ^0.1.1 version: 0.1.1(jest-environment-jsdom@29.7.0) '@bufbuild/protobuf': - specifier: ^2.2.0 - version: 2.2.0 + specifier: ^2.2.1 + version: 2.2.1 '@bufbuild/protoc-gen-es': - specifier: ^2.2.0 - version: 2.2.0(@bufbuild/protobuf@2.2.0) + specifier: ^2.2.1 + version: 2.2.1(@bufbuild/protobuf@2.2.1) '@connectrpc/connect': - specifier: ^2.0.0-rc.1 - version: 2.0.0-rc.1(@bufbuild/protobuf@2.2.0) + specifier: ^2.0.0-rc.2 + version: 2.0.0-rc.3(@bufbuild/protobuf@2.2.1) '@connectrpc/connect-web': - specifier: ^2.0.0-rc.1 - version: 2.0.0-rc.1(@bufbuild/protobuf@2.2.0)(@connectrpc/connect@2.0.0-rc.1) + specifier: ^2.0.0-rc.2 + version: 2.0.0-rc.3(@bufbuild/protobuf@2.2.1)(@connectrpc/connect@2.0.0-rc.3) '@tanstack/react-query': - specifier: ^5.53.3 - version: 5.56.2(react@18.3.1) + specifier: ^5.59.16 + version: 5.59.16(react@18.3.1) '@testing-library/react': specifier: ^16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1)(react@18.3.1) '@types/react': - specifier: ^18.3.5 - version: 18.3.5 + specifier: ^18.3.12 + version: 18.3.12 '@types/react-dom': - specifier: ^18.3.0 - version: 18.3.0 + specifier: ^18.3.1 + version: 18.3.1 react: specifier: ^18.3.1 version: 18.3.1 react-dom: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) + test-utils: + specifier: workspace:* + version: link:../test-utils typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.3 + version: 5.6.3 packages/connect-query-core: - dependencies: - '@tanstack/query-core': - specifier: 5.x - version: 5.56.2 devDependencies: '@arethetypeswrong/cli': - specifier: ^0.15.2 - version: 0.15.2 + specifier: ^0.16.4 + version: 0.16.4 '@bufbuild/buf': - specifier: 1.43.0 - version: 1.43.0 + specifier: 1.46.0 + version: 1.46.0 '@bufbuild/jest-environment-jsdom': specifier: ^0.1.1 version: 0.1.1(jest-environment-jsdom@29.7.0) '@bufbuild/protobuf': - specifier: ^2.2.0 - version: 2.2.0 + specifier: ^2.2.1 + version: 2.2.1 '@bufbuild/protoc-gen-es': - specifier: ^2.2.0 - version: 2.2.0(@bufbuild/protobuf@2.2.0) + specifier: ^2.2.1 + version: 2.2.1(@bufbuild/protobuf@2.2.1) '@connectrpc/connect': - specifier: ^2.0.0-rc.1 - version: 2.0.0-rc.1(@bufbuild/protobuf@2.2.0) + specifier: ^2.0.0-rc.2 + version: 2.0.0-rc.3(@bufbuild/protobuf@2.2.1) '@connectrpc/connect-web': - specifier: ^2.0.0-rc.1 - version: 2.0.0-rc.1(@bufbuild/protobuf@2.2.0)(@connectrpc/connect@2.0.0-rc.1) + specifier: ^2.0.0-rc.2 + version: 2.0.0-rc.3(@bufbuild/protobuf@2.2.1)(@connectrpc/connect@2.0.0-rc.3) + '@tanstack/query-core': + specifier: ^5.59.16 + version: 5.59.16 + test-utils: + specifier: workspace:* + version: link:../test-utils typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.3 + version: 5.6.3 packages/protoc-gen-connect-query: dependencies: '@bufbuild/protobuf': - specifier: ^2.2.0 - version: 2.2.0 + specifier: ^2.2.1 + version: 2.2.1 '@bufbuild/protoplugin': - specifier: ^2.2.0 - version: 2.2.0 + specifier: ^2.2.1 + version: 2.2.1 devDependencies: '@bufbuild/buf': - specifier: 1.43.0 - version: 1.43.0 + specifier: 1.46.0 + version: 1.46.0 '@bufbuild/protoc-gen-es': - specifier: ^2.2.0 - version: 2.2.0(@bufbuild/protobuf@2.2.0) + specifier: ^2.2.1 + version: 2.2.1(@bufbuild/protobuf@2.2.1) '@connectrpc/connect': - specifier: ^2.0.0-rc.1 - version: 2.0.0-rc.1(@bufbuild/protobuf@2.2.0) + specifier: ^2.0.0-rc.2 + version: 2.0.0-rc.3(@bufbuild/protobuf@2.2.1) '@connectrpc/connect-query': specifier: workspace:* version: link:../connect-query '@tanstack/react-query': - specifier: ^5.56.2 - version: 5.56.2(react@18.3.1) + specifier: ^5.59.16 + version: 5.59.16(react@18.3.1) typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.3 + version: 5.6.3 + + packages/test-utils: + devDependencies: + '@bufbuild/buf': + specifier: ^1.46.0 + version: 1.46.0 + '@bufbuild/protobuf': + specifier: ^2.2.1 + version: 2.2.1 + '@bufbuild/protoc-gen-es': + specifier: ^2.2.1 + version: 2.2.1(@bufbuild/protobuf@2.2.1) + '@connectrpc/connect': + specifier: ^2.0.0-rc.2 + version: 2.0.0-rc.3(@bufbuild/protobuf@2.2.1) + '@connectrpc/connect-web': + specifier: ^2.0.0-rc.2 + version: 2.0.0-rc.3(@bufbuild/protobuf@2.2.1)(@connectrpc/connect@2.0.0-rc.3) + '@types/react': + specifier: 18.3.12 + version: 18.3.12 + react: + specifier: ^18.3.1 + version: 18.3.1 packages: @@ -249,26 +278,12 @@ packages: resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} dev: true - /@arethetypeswrong/cli@0.15.2: - resolution: {integrity: sha512-YXKq7PyB+nv3KNCpmo384C+1f6DjCwJqSwxPpnFK/2shKy1Ug9RM8ma2eKlgfklyflNqtg1KJvTF2CxZmT0/ig==} - engines: {node: '>=18'} - hasBin: true - dependencies: - '@arethetypeswrong/core': 0.15.1 - chalk: 4.1.2 - cli-table3: 0.6.5 - commander: 10.0.1 - marked: 9.1.6 - marked-terminal: 6.2.0(marked@9.1.6) - semver: 7.6.3 - dev: true - - /@arethetypeswrong/cli@0.15.4: - resolution: {integrity: sha512-YDbImAi1MGkouT7f2yAECpUMFhhA1J0EaXzIqoC5GGtK0xDgauLtcsZezm8tNq7d3wOFXH7OnY+IORYcG212rw==} + /@arethetypeswrong/cli@0.16.4: + resolution: {integrity: sha512-qMmdVlJon5FtA+ahn0c1oAVNxiq4xW5lqFiTZ21XHIeVwAVIQ+uRz4UEivqRMsjVV1grzRgJSKqaOrq1MvlVyQ==} engines: {node: '>=18'} hasBin: true dependencies: - '@arethetypeswrong/core': 0.15.1 + '@arethetypeswrong/core': 0.16.4 chalk: 4.1.2 cli-table3: 0.6.5 commander: 10.0.1 @@ -277,15 +292,16 @@ packages: semver: 7.6.3 dev: true - /@arethetypeswrong/core@0.15.1: - resolution: {integrity: sha512-FYp6GBAgsNz81BkfItRz8RLZO03w5+BaeiPma1uCfmxTnxbtuMrI/dbzGiOk8VghO108uFI0oJo0OkewdSHw7g==} + /@arethetypeswrong/core@0.16.4: + resolution: {integrity: sha512-RI3HXgSuKTfcBf1hSEg1P9/cOvmI0flsMm6/QL3L3wju4AlHDqd55JFPfXs4pzgEAgy5L9pul4/HPPz99x2GvA==} engines: {node: '>=18'} dependencies: '@andrewbranch/untar.js': 1.0.3 + cjs-module-lexer: 1.4.1 fflate: 0.8.2 + lru-cache: 10.4.3 semver: 7.6.3 - ts-expose-internals-conditionally: 1.0.0-empty.0 - typescript: 5.3.3 + typescript: 5.6.1-rc validate-npm-package-name: 5.0.1 dev: true @@ -483,66 +499,66 @@ packages: to-fast-properties: 2.0.0 dev: false - /@bufbuild/buf-darwin-arm64@1.43.0: - resolution: {integrity: sha512-IBVd4qpN8udUOwmqDB8KdGz8JUqVYq8yXN2MOj6JN7XFhaq0xAVfWsuQNOW4Uzukh+Ypg8EOb1nsJubOUbVe6g==} + /@bufbuild/buf-darwin-arm64@1.46.0: + resolution: {integrity: sha512-lSmTKyRhg+71acXp9QeX/wm+vjkf0J3n38wph7KOwMfCEeK4A2AkqsGOkoXSiaIvidA2pRU9RJRQYfryzCA9Pg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@bufbuild/buf-darwin-x64@1.43.0: - resolution: {integrity: sha512-XeuLdJIdOXzLpLA95k5NWhO6cJw5YW89IJW6OHENkxXkdf9aWzg9ozrhTpPzUoZmGZbNyXfpa7kbhJaJ5+F42w==} + /@bufbuild/buf-darwin-x64@1.46.0: + resolution: {integrity: sha512-Oa9XTLJshsEjzowyt2mH9XrXW38DRFdz7ml+IYKXVQPotNLr04ix7QES7A1eOBJtxLwuTiri4ScXuBLQGNX8+A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@bufbuild/buf-linux-aarch64@1.43.0: - resolution: {integrity: sha512-7hyXvwM5NFY08+aqbxVx4GZ/3AsqZKas3bR5TFLuD8/4u4JfA59b9+YMzLL1bxHFLqMMeXJBLgIVkyTtQIXGVg==} + /@bufbuild/buf-linux-aarch64@1.46.0: + resolution: {integrity: sha512-CbxbLH5sQCRjEKVEcWJySvCKyAPAUhX0vCTifT/eQyZ70FUsqCJKJ6+dKl6Ajk0CgUHqf8jkU/wX/+aQFYXyaA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@bufbuild/buf-linux-x64@1.43.0: - resolution: {integrity: sha512-4mg6ZUNpW2C61vmPyQDolLRIsfAomd2Yv1PICC9XG1iQtf3xQ+6q5B/kihOadhG2AN31WeKdorvuyPL7vmbsDA==} + /@bufbuild/buf-linux-x64@1.46.0: + resolution: {integrity: sha512-bMqp+Q+16KPbuwX34/OLDeiimnwt5sfvHqyeMeRz4LLwLshbmM3m+8dGCSHZRo3Lr+4gW1PfunrfaEmcGqPHLQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@bufbuild/buf-win32-arm64@1.43.0: - resolution: {integrity: sha512-YKoiA5Ui8VBW0GaWthDLBYr1C3I4Fx/j9txrUpg3Fvf+iwWutWQuTdA6W95HnLzUyhT6KnBMbXmB+SzosW9iFg==} + /@bufbuild/buf-win32-arm64@1.46.0: + resolution: {integrity: sha512-geVYXp1PWJiAAFpwhgP8Cnct0+Rdr89BF/WZoIh5WwFGYITGiu5Hb1Ui9DTrEYwDzahPCyPxgIVwzzW6kPWSag==} engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@bufbuild/buf-win32-x64@1.43.0: - resolution: {integrity: sha512-//t0ndbP7zkQDydwAXShCqsqgOGX/ktsS2g0+D9A5Aw/nyLTxBmfsN+7hPxL4o0qq2N4MKs6DJeP4TvjYKBaMA==} + /@bufbuild/buf-win32-x64@1.46.0: + resolution: {integrity: sha512-6nsxkzj5a1L41NOJFKjli8j6GB/NkPHLIr0T/b27Y3GfprVYQawOComYD5HfojvBLuAiE2cD/kEQIWKK1YRcng==} engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@bufbuild/buf@1.43.0: - resolution: {integrity: sha512-lWiH+QJ8l0TGWP1KELvIA5BvAsZc0IiXppJlwI8EdQ2vQp39Ue2Xub8b13uy6IH0VDm9azQEjXuY1FxdB4mqsA==} + /@bufbuild/buf@1.46.0: + resolution: {integrity: sha512-uN3NKuAKvcQcZc1hn9+njSCusL7NAILqQI7mlkDDa4kRy7cTsiw53ggddfAs0YXbQ8zZnmudwwWjKRDIUaRqXQ==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@bufbuild/buf-darwin-arm64': 1.43.0 - '@bufbuild/buf-darwin-x64': 1.43.0 - '@bufbuild/buf-linux-aarch64': 1.43.0 - '@bufbuild/buf-linux-x64': 1.43.0 - '@bufbuild/buf-win32-arm64': 1.43.0 - '@bufbuild/buf-win32-x64': 1.43.0 + '@bufbuild/buf-darwin-arm64': 1.46.0 + '@bufbuild/buf-darwin-x64': 1.46.0 + '@bufbuild/buf-linux-aarch64': 1.46.0 + '@bufbuild/buf-linux-x64': 1.46.0 + '@bufbuild/buf-win32-arm64': 1.46.0 + '@bufbuild/buf-win32-x64': 1.46.0 /@bufbuild/jest-environment-jsdom@0.1.1(jest-environment-jsdom@29.7.0): resolution: {integrity: sha512-lO4dke+l/LQAUT8CLmh0SKtY37gmax63eD7YSBQu48sqwAx4hgu1hRmoheRysaqR4bO6Vudhf6+nkBm0TbctvA==} @@ -559,28 +575,28 @@ packages: picomatch: 2.3.1 dev: true - /@bufbuild/protobuf@2.2.0: - resolution: {integrity: sha512-+imAQkHf7U/Rwvu0wk1XWgsP3WnpCWmK7B48f0XqSNzgk64+grljTKC7pnO/xBiEMUziF7vKRfbBnOQhg126qQ==} + /@bufbuild/protobuf@2.2.1: + resolution: {integrity: sha512-gdWzq7eX017a1kZCU/bP/sbk4e0GZ6idjsXOcMrQwODCb/rx985fHJJ8+hCu79KpuG7PfZh7bo3BBjPH37JuZw==} - /@bufbuild/protoc-gen-es@2.2.0(@bufbuild/protobuf@2.2.0): - resolution: {integrity: sha512-PmUTtbJJfgcabTsoF59W0bsAr7xO5aGcMe69G8vOq0ogYV1aWmvFKhHKHDtn295pOLhTXmfrDSUNi/OTHuDdpw==} + /@bufbuild/protoc-gen-es@2.2.1(@bufbuild/protobuf@2.2.1): + resolution: {integrity: sha512-ysaQTf52lYQTdK0zWpfgxKHVQqCoSe6TV3rD+JZUbiyqT4zloII7VZqmAWXoHk0SZiWdCIvkzMIHQpBxN7v6nA==} engines: {node: '>=14'} hasBin: true peerDependencies: - '@bufbuild/protobuf': 2.2.0 + '@bufbuild/protobuf': 2.2.1 peerDependenciesMeta: '@bufbuild/protobuf': optional: true dependencies: - '@bufbuild/protobuf': 2.2.0 - '@bufbuild/protoplugin': 2.2.0 + '@bufbuild/protobuf': 2.2.1 + '@bufbuild/protoplugin': 2.2.1 transitivePeerDependencies: - supports-color - /@bufbuild/protoplugin@2.2.0: - resolution: {integrity: sha512-ijsCHuhtXbfTiffoBRve2uCPR7gy6cwJsMe8z5bYQtczGiZVVfiyAze55gk1J/1ruqkr40oZ9BwKAGOzz69f0g==} + /@bufbuild/protoplugin@2.2.1: + resolution: {integrity: sha512-dyHRQeUSwMIKSoZZ4l6CuXnggdwf3qlAMppHeKObK1OD++4qdhTveDGmTC+ASFF3IZkoxSYPUq+3e3OdRIKCYg==} dependencies: - '@bufbuild/protobuf': 2.2.0 + '@bufbuild/protobuf': 2.2.1 '@typescript/vfs': 1.6.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -593,342 +609,367 @@ packages: dev: true optional: true - /@connectrpc/connect-web@2.0.0-rc.1(@bufbuild/protobuf@2.2.0)(@connectrpc/connect@2.0.0-rc.1): - resolution: {integrity: sha512-rDcw+9d9ZgOdwJWK0d3eJqjkUYx4t5G7P/yVyiLMgfE8fakWmCt+Eo0iZR6xfF5GIebo+0I6B1lYmnJw10EaQQ==} + /@connectrpc/connect-web@2.0.0-rc.3(@bufbuild/protobuf@2.2.1)(@connectrpc/connect@2.0.0-rc.3): + resolution: {integrity: sha512-w88P8Lsn5CCsA7MFRl2e6oLY4J/5toiNtJns/YJrlyQaWOy3RO8pDgkz+iIkG98RPMhj2thuBvsd3Cn4DKKCkw==} peerDependencies: '@bufbuild/protobuf': ^2.2.0 - '@connectrpc/connect': 2.0.0-rc.1 + '@connectrpc/connect': 2.0.0-rc.3 dependencies: - '@bufbuild/protobuf': 2.2.0 - '@connectrpc/connect': 2.0.0-rc.1(@bufbuild/protobuf@2.2.0) + '@bufbuild/protobuf': 2.2.1 + '@connectrpc/connect': 2.0.0-rc.3(@bufbuild/protobuf@2.2.1) - /@connectrpc/connect@2.0.0-rc.1(@bufbuild/protobuf@2.2.0): - resolution: {integrity: sha512-AupiGDh2Ht0wgslatfdU/Jp8zDPHwvsCrLcChi7Ea3zZT/biSpPMqj8LiaR5ri/EHexZ58jYvtBbTNqCP7H3fg==} + /@connectrpc/connect@2.0.0-rc.3(@bufbuild/protobuf@2.2.1): + resolution: {integrity: sha512-ARBt64yEyKbanyRETTjcjJuHr2YXorzQo0etyS5+P6oSeW8xEuzajA9g+zDnMcj1hlX2dQE93foIWQGfpru7gQ==} peerDependencies: '@bufbuild/protobuf': ^2.2.0 dependencies: - '@bufbuild/protobuf': 2.2.0 + '@bufbuild/protobuf': 2.2.1 - /@cspell/cspell-bundled-dicts@8.14.2: - resolution: {integrity: sha512-Kv2Utj/RTSxfufGXkkoTZ/3ErCsYWpCijtDFr/FwSsM7mC0PzLpdlcD9xjtgrJO5Kwp7T47iTG21U4Mwddyi8Q==} + /@cspell/cspell-bundled-dicts@8.15.5: + resolution: {integrity: sha512-Su1gnTBbE7ouMQvM4DISUmP6sZiFyQRE+ODvjBzW+c/x9ZLbVp+2hBEEmxFSn5fdZCJzPOMwzwsjlLYykb9iUg==} engines: {node: '>=18'} dependencies: - '@cspell/dict-ada': 4.0.2 - '@cspell/dict-aws': 4.0.4 - '@cspell/dict-bash': 4.1.5 - '@cspell/dict-companies': 3.1.4 - '@cspell/dict-cpp': 5.1.19 - '@cspell/dict-cryptocurrencies': 5.0.0 - '@cspell/dict-csharp': 4.0.2 - '@cspell/dict-css': 4.0.13 - '@cspell/dict-dart': 2.2.1 - '@cspell/dict-django': 4.1.0 - '@cspell/dict-docker': 1.1.7 - '@cspell/dict-dotnet': 5.0.5 - '@cspell/dict-elixir': 4.0.3 - '@cspell/dict-en-common-misspellings': 2.0.4 + '@cspell/dict-ada': 4.0.5 + '@cspell/dict-al': 1.0.3 + '@cspell/dict-aws': 4.0.7 + '@cspell/dict-bash': 4.1.8 + '@cspell/dict-companies': 3.1.7 + '@cspell/dict-cpp': 5.1.23 + '@cspell/dict-cryptocurrencies': 5.0.3 + '@cspell/dict-csharp': 4.0.5 + '@cspell/dict-css': 4.0.16 + '@cspell/dict-dart': 2.2.4 + '@cspell/dict-django': 4.1.3 + '@cspell/dict-docker': 1.1.11 + '@cspell/dict-dotnet': 5.0.8 + '@cspell/dict-elixir': 4.0.6 + '@cspell/dict-en-common-misspellings': 2.0.7 '@cspell/dict-en-gb': 1.1.33 - '@cspell/dict-en_us': 4.3.23 - '@cspell/dict-filetypes': 3.0.4 - '@cspell/dict-fonts': 4.0.0 - '@cspell/dict-fsharp': 1.0.1 - '@cspell/dict-fullstack': 3.2.0 - '@cspell/dict-gaming-terms': 1.0.5 - '@cspell/dict-git': 3.0.0 - '@cspell/dict-golang': 6.0.13 - '@cspell/dict-google': 1.0.1 - '@cspell/dict-haskell': 4.0.1 - '@cspell/dict-html': 4.0.6 - '@cspell/dict-html-symbol-entities': 4.0.0 - '@cspell/dict-java': 5.0.7 - '@cspell/dict-julia': 1.0.1 - '@cspell/dict-k8s': 1.0.6 - '@cspell/dict-latex': 4.0.0 - '@cspell/dict-lorem-ipsum': 4.0.0 - '@cspell/dict-lua': 4.0.3 - '@cspell/dict-makefile': 1.0.0 - '@cspell/dict-monkeyc': 1.0.6 - '@cspell/dict-node': 5.0.1 - '@cspell/dict-npm': 5.1.5 - '@cspell/dict-php': 4.0.10 - '@cspell/dict-powershell': 5.0.10 - '@cspell/dict-public-licenses': 2.0.8 - '@cspell/dict-python': 4.2.8 - '@cspell/dict-r': 2.0.1 - '@cspell/dict-ruby': 5.0.4 - '@cspell/dict-rust': 4.0.6 - '@cspell/dict-scala': 5.0.3 - '@cspell/dict-software-terms': 4.1.7 - '@cspell/dict-sql': 2.1.5 - '@cspell/dict-svelte': 1.0.2 - '@cspell/dict-swift': 2.0.1 - '@cspell/dict-terraform': 1.0.2 - '@cspell/dict-typescript': 3.1.6 - '@cspell/dict-vue': 3.0.0 - dev: true - - /@cspell/cspell-json-reporter@8.14.2: - resolution: {integrity: sha512-TZavcnNIZKX1xC/GNj80RgFVKHCT4pHT0qm9jCsQFH2QJfyCrUlkEvotKGSQ04lAyCwWg6Enq95qhouF8YbKUQ==} + '@cspell/dict-en_us': 4.3.27 + '@cspell/dict-filetypes': 3.0.8 + '@cspell/dict-flutter': 1.0.3 + '@cspell/dict-fonts': 4.0.3 + '@cspell/dict-fsharp': 1.0.4 + '@cspell/dict-fullstack': 3.2.3 + '@cspell/dict-gaming-terms': 1.0.8 + '@cspell/dict-git': 3.0.3 + '@cspell/dict-golang': 6.0.16 + '@cspell/dict-google': 1.0.4 + '@cspell/dict-haskell': 4.0.4 + '@cspell/dict-html': 4.0.10 + '@cspell/dict-html-symbol-entities': 4.0.3 + '@cspell/dict-java': 5.0.10 + '@cspell/dict-julia': 1.0.4 + '@cspell/dict-k8s': 1.0.9 + '@cspell/dict-latex': 4.0.3 + '@cspell/dict-lorem-ipsum': 4.0.3 + '@cspell/dict-lua': 4.0.6 + '@cspell/dict-makefile': 1.0.3 + '@cspell/dict-markdown': 2.0.7(@cspell/dict-css@4.0.16)(@cspell/dict-html-symbol-entities@4.0.3)(@cspell/dict-html@4.0.10)(@cspell/dict-typescript@3.1.11) + '@cspell/dict-monkeyc': 1.0.9 + '@cspell/dict-node': 5.0.5 + '@cspell/dict-npm': 5.1.12 + '@cspell/dict-php': 4.0.13 + '@cspell/dict-powershell': 5.0.13 + '@cspell/dict-public-licenses': 2.0.11 + '@cspell/dict-python': 4.2.12 + '@cspell/dict-r': 2.0.4 + '@cspell/dict-ruby': 5.0.7 + '@cspell/dict-rust': 4.0.10 + '@cspell/dict-scala': 5.0.6 + '@cspell/dict-software-terms': 4.1.15 + '@cspell/dict-sql': 2.1.8 + '@cspell/dict-svelte': 1.0.5 + '@cspell/dict-swift': 2.0.4 + '@cspell/dict-terraform': 1.0.6 + '@cspell/dict-typescript': 3.1.11 + '@cspell/dict-vue': 3.0.3 + dev: true + + /@cspell/cspell-json-reporter@8.15.5: + resolution: {integrity: sha512-yXd7KDBfUkA6y+MrOqK3q/UWorZgLIgyCZoFb0Pj67OU2ZMtgJ1VGFXAdzpKAEgEmdcblyoFzHkleYbg08qS6g==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-types': 8.14.2 + '@cspell/cspell-types': 8.15.5 dev: true - /@cspell/cspell-pipe@8.14.2: - resolution: {integrity: sha512-aWMoXZAXEre0/M9AYWOW33YyOJZ06i4vvsEpWBDWpHpWQEmsR/7cMMgld8Pp3wlEjIUclUAKTYmrZ61PFWU/og==} + /@cspell/cspell-pipe@8.15.5: + resolution: {integrity: sha512-X8QY73060hkR8040jabNJsvydeTG0owpqr9S0QJDdhG1z8uzenNcwR3hfwaIwQq5d6sIKcDFZY5qrO4x6eEAMw==} engines: {node: '>=18'} dev: true - /@cspell/cspell-resolver@8.14.2: - resolution: {integrity: sha512-pSyBsAvslaN0dx0pHdvECJEuFDDBJGAD6G8U4BVbIyj2OPk0Ox0HrZIj6csYxxoJERAgNO/q7yCPwa4j9NNFXg==} + /@cspell/cspell-resolver@8.15.5: + resolution: {integrity: sha512-ejzUGLEwI8TQWXovQzzvAgSNToRrQe3h97YrH2XaB9rZDKkeA7dIBZDQ/OgOfidO+ZAsPIOxdHai3CBzEHYX3A==} engines: {node: '>=18'} dependencies: global-directory: 4.0.1 dev: true - /@cspell/cspell-service-bus@8.14.2: - resolution: {integrity: sha512-WUF7xf3YgXYIqjmBwLcVugYIrYL4WfXchgSo9rmbbnOcAArzsK+HKfzb4AniZAJ1unxcIQ0JnVlRmnCAKPjjLg==} + /@cspell/cspell-service-bus@8.15.5: + resolution: {integrity: sha512-zZJRRvNhvUJntnw8sX4J5gE4uIHpX2oe+Tqs3lu2vRwogadNEXE4QNJbEQyQqgMePgmqULtRdxSBzG4wy4HoQg==} engines: {node: '>=18'} dev: true - /@cspell/cspell-types@8.14.2: - resolution: {integrity: sha512-MRY8MjBNOKGMDSkxAKueYAgVL43miO+lDcLCBBP+7cNXqHiUFMIZteONcGp3kJT0dWS04dN6lKAXvaNF0aWcng==} + /@cspell/cspell-types@8.15.5: + resolution: {integrity: sha512-bMRq9slD/D0vXckxe9vubG02HXrV4cASo6Ytkaw8rTfxMKpkBgxJWjFWphCFLOCICD71q45fUSg+W5vCp83f/Q==} engines: {node: '>=18'} dev: true - /@cspell/dict-ada@4.0.2: - resolution: {integrity: sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==} + /@cspell/dict-ada@4.0.5: + resolution: {integrity: sha512-6/RtZ/a+lhFVmrx/B7bfP7rzC4yjEYe8o74EybXcvu4Oue6J4Ey2WSYj96iuodloj1LWrkNCQyX5h4Pmcj0Iag==} dev: true - /@cspell/dict-aws@4.0.4: - resolution: {integrity: sha512-6AWI/Kkf+RcX/J81VX8+GKLeTgHWEr/OMhGk3dHQzWK66RaqDJCGDqi7494ghZKcBB7dGa3U5jcKw2FZHL/u3w==} + /@cspell/dict-al@1.0.3: + resolution: {integrity: sha512-V1HClwlfU/qwSq2Kt+MkqRAsonNu3mxjSCDyGRecdLGIHmh7yeEeaxqRiO/VZ4KP+eVSiSIlbwrb5YNFfxYZbw==} dev: true - /@cspell/dict-bash@4.1.5: - resolution: {integrity: sha512-YGim/h7E2U5HCCb2ckNufT6/yyWygt9nSZ5C7qw6oOD3bygbObqD1+rlPor1JW+YyO+3GwTIHE70uKEEU6VZYw==} + /@cspell/dict-aws@4.0.7: + resolution: {integrity: sha512-PoaPpa2NXtSkhGIMIKhsJUXB6UbtTt6Ao3x9JdU9kn7fRZkwD4RjHDGqulucIOz7KeEX/dNRafap6oK9xHe4RA==} dev: true - /@cspell/dict-companies@3.1.4: - resolution: {integrity: sha512-y9e0amzEK36EiiKx3VAA+SHQJPpf2Qv5cCt5eTUSggpTkiFkCh6gRKQ97rVlrKh5GJrqinDwYIJtTsxuh2vy2Q==} + /@cspell/dict-bash@4.1.8: + resolution: {integrity: sha512-I2CM2pTNthQwW069lKcrVxchJGMVQBzru2ygsHCwgidXRnJL/NTjAPOFTxN58Jc1bf7THWghfEDyKX/oyfc0yg==} dev: true - /@cspell/dict-cpp@5.1.19: - resolution: {integrity: sha512-i/odUPNFLdqWisOktu6c4qjUR4k+P9Al2RCri3Wso9EFblp53xt/5jIUdGMdDDVQGqX7s/KLtdqNxNKqP3/d+w==} + /@cspell/dict-companies@3.1.7: + resolution: {integrity: sha512-ncVs/efuAkP1/tLDhWbXukBjgZ5xOUfe03neHMWsE8zvXXc5+Lw6TX5jaJXZLOoES/f4j4AhRE20jsPCF5pm+A==} dev: true - /@cspell/dict-cryptocurrencies@5.0.0: - resolution: {integrity: sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==} + /@cspell/dict-cpp@5.1.23: + resolution: {integrity: sha512-59VUam6bYWzn50j8FASWWLww0rBPA0PZfjMZBvvt0aqMpkvXzoJPnAAI4eDDSibPWVHKutjpqLmast+uMLHVsQ==} dev: true - /@cspell/dict-csharp@4.0.2: - resolution: {integrity: sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==} + /@cspell/dict-cryptocurrencies@5.0.3: + resolution: {integrity: sha512-bl5q+Mk+T3xOZ12+FG37dB30GDxStza49Rmoax95n37MTLksk9wBo1ICOlPJ6PnDUSyeuv4SIVKgRKMKkJJglA==} dev: true - /@cspell/dict-css@4.0.13: - resolution: {integrity: sha512-WfOQkqlAJTo8eIQeztaH0N0P+iF5hsJVKFuhy4jmARPISy8Efcv8QXk2/IVbmjJH0/ZV7dKRdnY5JFVXuVz37g==} + /@cspell/dict-csharp@4.0.5: + resolution: {integrity: sha512-c/sFnNgtRwRJxtC3JHKkyOm+U3/sUrltFeNwml9VsxKBHVmvlg4tk4ar58PdpW9/zTlGUkWi2i85//DN1EsUCA==} dev: true - /@cspell/dict-dart@2.2.1: - resolution: {integrity: sha512-yriKm7QkoPx3JPSSOcw6iX9gOb2N50bOo/wqWviqPYbhpMRh9Xiv6dkUy3+ot+21GuShZazO8X6U5+Vw67XEwg==} + /@cspell/dict-css@4.0.16: + resolution: {integrity: sha512-70qu7L9z/JR6QLyJPk38fNTKitlIHnfunx0wjpWQUQ8/jGADIhMCrz6hInBjqPNdtGpYm8d1dNFyF8taEkOgrQ==} dev: true - /@cspell/dict-data-science@2.0.2: - resolution: {integrity: sha512-VwAck6OZQVqrscKyOrvllixIugIPF+Q6YoFNvXZCPhHGtNyOAVraD3S7kOgPYBdUjgno4QbdMWm92BUPqL1QjQ==} + /@cspell/dict-dart@2.2.4: + resolution: {integrity: sha512-of/cVuUIZZK/+iqefGln8G3bVpfyN6ZtH+LyLkHMoR5tEj+2vtilGNk9ngwyR8L4lEqbKuzSkOxgfVjsXf5PsQ==} dev: true - /@cspell/dict-django@4.1.0: - resolution: {integrity: sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==} + /@cspell/dict-data-science@2.0.5: + resolution: {integrity: sha512-nNSILXmhSJox9/QoXICPQgm8q5PbiSQP4afpbkBqPi/u/b3K9MbNH5HvOOa6230gxcGdbZ9Argl2hY/U8siBlg==} dev: true - /@cspell/dict-docker@1.1.7: - resolution: {integrity: sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==} + /@cspell/dict-django@4.1.3: + resolution: {integrity: sha512-yBspeL3roJlO0a1vKKNaWABURuHdHZ9b1L8d3AukX0AsBy9snSggc8xCavPmSzNfeMDXbH+1lgQiYBd3IW03fg==} dev: true - /@cspell/dict-dotnet@5.0.5: - resolution: {integrity: sha512-gjg0L97ee146wX47dnA698cHm85e7EOpf9mVrJD8DmEaqoo/k1oPy2g7c7LgKxK9XnqwoXxhLNnngPrwXOoEtQ==} + /@cspell/dict-docker@1.1.11: + resolution: {integrity: sha512-s0Yhb16/R+UT1y727ekbR/itWQF3Qz275DR1ahOa66wYtPjHUXmhM3B/LT3aPaX+hD6AWmK23v57SuyfYHUjsw==} dev: true - /@cspell/dict-elixir@4.0.3: - resolution: {integrity: sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==} + /@cspell/dict-dotnet@5.0.8: + resolution: {integrity: sha512-MD8CmMgMEdJAIPl2Py3iqrx3B708MbCIXAuOeZ0Mzzb8YmLmiisY7QEYSZPg08D7xuwARycP0Ki+bb0GAkFSqg==} dev: true - /@cspell/dict-en-common-misspellings@2.0.4: - resolution: {integrity: sha512-lvOiRjV/FG4pAGZL3PN2GCVHSTCE92cwhfLGGkOsQtxSmef6WCHfHwp9auafkBlX0yFQSKDfq6/TlpQbjbJBtQ==} + /@cspell/dict-elixir@4.0.6: + resolution: {integrity: sha512-TfqSTxMHZ2jhiqnXlVKM0bUADtCvwKQv2XZL/DI0rx3doG8mEMS8SGPOmiyyGkHpR/pGOq18AFH3BEm4lViHIw==} + dev: true + + /@cspell/dict-en-common-misspellings@2.0.7: + resolution: {integrity: sha512-qNFo3G4wyabcwnM+hDrMYKN9vNVg/k9QkhqSlSst6pULjdvPyPs1mqz1689xO/v9t8e6sR4IKc3CgUXDMTYOpA==} dev: true /@cspell/dict-en-gb@1.1.33: resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==} dev: true - /@cspell/dict-en_us@4.3.23: - resolution: {integrity: sha512-l0SoEQBsi3zDSl3OuL4/apBkxjuj4hLIg/oy6+gZ7LWh03rKdF6VNtSZNXWAmMY+pmb1cGA3ouleTiJIglbsIg==} + /@cspell/dict-en_us@4.3.27: + resolution: {integrity: sha512-7JYHahRWpi0VykWFTSM03KL/0fs6YtYfpOaTAg4N/d0wB2GfwVG/FJ/SBCjD4LBc6Rx9dzdo95Hs4BB8GPQbOA==} dev: true - /@cspell/dict-filetypes@3.0.4: - resolution: {integrity: sha512-IBi8eIVdykoGgIv5wQhOURi5lmCNJq0we6DvqKoPQJHthXbgsuO1qrHSiUVydMiQl/XvcnUWTMeAlVUlUClnVg==} + /@cspell/dict-filetypes@3.0.8: + resolution: {integrity: sha512-D3N8sm/iptzfVwsib/jvpX+K/++rM8SRpLDFUaM4jxm8EyGmSIYRbKZvdIv5BkAWmMlTWoRqlLn7Yb1b11jKJg==} dev: true - /@cspell/dict-fonts@4.0.0: - resolution: {integrity: sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q==} + /@cspell/dict-flutter@1.0.3: + resolution: {integrity: sha512-52C9aUEU22ptpgYh6gQyIdA4MP6NPwzbEqndfgPh3Sra191/kgs7CVqXiO1qbtZa9gnYHUoVApkoxRE7mrXHfg==} dev: true - /@cspell/dict-fsharp@1.0.1: - resolution: {integrity: sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ==} + /@cspell/dict-fonts@4.0.3: + resolution: {integrity: sha512-sPd17kV5qgYXLteuHFPn5mbp/oCHKgitNfsZLFC3W2fWEgZlhg4hK+UGig3KzrYhhvQ8wBnmZrAQm0TFKCKzsA==} dev: true - /@cspell/dict-fullstack@3.2.0: - resolution: {integrity: sha512-sIGQwU6G3rLTo+nx0GKyirR5dQSFeTIzFTOrURw51ISf+jKG9a3OmvsVtc2OANfvEAOLOC9Wfd8WYhmsO8KRDQ==} + /@cspell/dict-fsharp@1.0.4: + resolution: {integrity: sha512-G5wk0o1qyHUNi9nVgdE1h5wl5ylq7pcBjX8vhjHcO4XBq20D5eMoXjwqMo/+szKAqzJ+WV3BgAL50akLKrT9Rw==} dev: true - /@cspell/dict-gaming-terms@1.0.5: - resolution: {integrity: sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==} + /@cspell/dict-fullstack@3.2.3: + resolution: {integrity: sha512-62PbndIyQPH11mAv0PyiyT0vbwD0AXEocPpHlCHzfb5v9SspzCCbzQ/LIBiFmyRa+q5LMW35CnSVu6OXdT+LKg==} dev: true - /@cspell/dict-git@3.0.0: - resolution: {integrity: sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==} + /@cspell/dict-gaming-terms@1.0.8: + resolution: {integrity: sha512-7OL0zTl93WFWhhtpXFrtm9uZXItC3ncAs8d0iQDMMFVNU1rBr6raBNxJskxE5wx2Ant12fgI66ZGVagXfN+yfA==} dev: true - /@cspell/dict-golang@6.0.13: - resolution: {integrity: sha512-uBUWi+AjFpluB6qF0rsC1gGyooqXeKPUdWHSmSXW/DCnS5PBSjRW6VWWp8efc1Fanob0QJxiZiYlc4U7oxuG6Q==} + /@cspell/dict-git@3.0.3: + resolution: {integrity: sha512-LSxB+psZ0qoj83GkyjeEH/ZViyVsGEF/A6BAo8Nqc0w0HjD2qX/QR4sfA6JHUgQ3Yi/ccxdK7xNIo67L2ScW5A==} dev: true - /@cspell/dict-google@1.0.1: - resolution: {integrity: sha512-dQr4M3n95uOhtloNSgB9tYYGXGGEGEykkFyRtfcp5pFuEecYUa0BSgtlGKx9RXVtJtKgR+yFT/a5uQSlt8WjqQ==} + /@cspell/dict-golang@6.0.16: + resolution: {integrity: sha512-hZOBlgcguv2Hdc93n2zjdAQm1j3grsN9T9WhPnQ1wh2vUDoCLEujg+6gWhjcLb8ECOcwZTWgNyQLWeOxEsAj/w==} dev: true - /@cspell/dict-haskell@4.0.1: - resolution: {integrity: sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==} + /@cspell/dict-google@1.0.4: + resolution: {integrity: sha512-JThUT9eiguCja1mHHLwYESgxkhk17Gv7P3b1S7ZJzXw86QyVHPrbpVoMpozHk0C9o+Ym764B7gZGKmw9uMGduQ==} dev: true - /@cspell/dict-html-symbol-entities@4.0.0: - resolution: {integrity: sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==} + /@cspell/dict-haskell@4.0.4: + resolution: {integrity: sha512-EwQsedEEnND/vY6tqRfg9y7tsnZdxNqOxLXSXTsFA6JRhUlr8Qs88iUUAfsUzWc4nNmmzQH2UbtT25ooG9x4nA==} dev: true - /@cspell/dict-html@4.0.6: - resolution: {integrity: sha512-cLWHfuOhE4wqwC12up6Doxo2u1xxVhX1A8zriR4CUD+osFQzUIcBK1ykNXppga+rt1WyypaJdTU2eV6OpzYrgQ==} + /@cspell/dict-html-symbol-entities@4.0.3: + resolution: {integrity: sha512-aABXX7dMLNFdSE8aY844X4+hvfK7977sOWgZXo4MTGAmOzR8524fjbJPswIBK7GaD3+SgFZ2yP2o0CFvXDGF+A==} dev: true - /@cspell/dict-java@5.0.7: - resolution: {integrity: sha512-ejQ9iJXYIq7R09BScU2y5OUGrSqwcD+J5mHFOKbduuQ5s/Eh/duz45KOzykeMLI6KHPVxhBKpUPBWIsfewECpQ==} + /@cspell/dict-html@4.0.10: + resolution: {integrity: sha512-I9uRAcdtHbh0wEtYZlgF0TTcgH0xaw1B54G2CW+tx4vHUwlde/+JBOfIzird4+WcMv4smZOfw+qHf7puFUbI5g==} dev: true - /@cspell/dict-julia@1.0.1: - resolution: {integrity: sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==} + /@cspell/dict-java@5.0.10: + resolution: {integrity: sha512-pVNcOnmoGiNL8GSVq4WbX/Vs2FGS0Nej+1aEeGuUY9CU14X8yAVCG+oih5ZoLt1jaR8YfR8byUF8wdp4qG4XIw==} dev: true - /@cspell/dict-k8s@1.0.6: - resolution: {integrity: sha512-srhVDtwrd799uxMpsPOQqeDJY+gEocgZpoK06EFrb4GRYGhv7lXo9Fb+xQMyQytzOW9dw4DNOEck++nacDuymg==} + /@cspell/dict-julia@1.0.4: + resolution: {integrity: sha512-bFVgNX35MD3kZRbXbJVzdnN7OuEqmQXGpdOi9jzB40TSgBTlJWA4nxeAKV4CPCZxNRUGnLH0p05T/AD7Aom9/w==} dev: true - /@cspell/dict-latex@4.0.0: - resolution: {integrity: sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==} + /@cspell/dict-k8s@1.0.9: + resolution: {integrity: sha512-Q7GELSQIzo+BERl2ya/nBEnZeQC+zJP19SN1pI6gqDYraM51uYJacbbcWLYYO2Y+5joDjNt/sd/lJtLaQwoSlA==} dev: true - /@cspell/dict-lorem-ipsum@4.0.0: - resolution: {integrity: sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw==} + /@cspell/dict-latex@4.0.3: + resolution: {integrity: sha512-2KXBt9fSpymYHxHfvhUpjUFyzrmN4c4P8mwIzweLyvqntBT3k0YGZJSriOdjfUjwSygrfEwiuPI1EMrvgrOMJw==} dev: true - /@cspell/dict-lua@4.0.3: - resolution: {integrity: sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg==} + /@cspell/dict-lorem-ipsum@4.0.3: + resolution: {integrity: sha512-WFpDi/PDYHXft6p0eCXuYnn7mzMEQLVeqpO+wHSUd+kz5ADusZ4cpslAA4wUZJstF1/1kMCQCZM6HLZic9bT8A==} dev: true - /@cspell/dict-makefile@1.0.0: - resolution: {integrity: sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==} + /@cspell/dict-lua@4.0.6: + resolution: {integrity: sha512-Jwvh1jmAd9b+SP9e1GkS2ACbqKKRo9E1f9GdjF/ijmooZuHU0hPyqvnhZzUAxO1egbnNjxS/J2T6iUtjAUK2KQ==} dev: true - /@cspell/dict-monkeyc@1.0.6: - resolution: {integrity: sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==} + /@cspell/dict-makefile@1.0.3: + resolution: {integrity: sha512-R3U0DSpvTs6qdqfyBATnePj9Q/pypkje0Nj26mQJ8TOBQutCRAJbr2ZFAeDjgRx5EAJU/+8txiyVF97fbVRViw==} dev: true - /@cspell/dict-node@5.0.1: - resolution: {integrity: sha512-lax/jGz9h3Dv83v8LHa5G0bf6wm8YVRMzbjJPG/9rp7cAGPtdrga+XANFq+B7bY5+jiSA3zvj10LUFCFjnnCCg==} + /@cspell/dict-markdown@2.0.7(@cspell/dict-css@4.0.16)(@cspell/dict-html-symbol-entities@4.0.3)(@cspell/dict-html@4.0.10)(@cspell/dict-typescript@3.1.11): + resolution: {integrity: sha512-F9SGsSOokFn976DV4u/1eL4FtKQDSgJHSZ3+haPRU5ki6OEqojxKa8hhj4AUrtNFpmBaJx/WJ4YaEzWqG7hgqg==} + peerDependencies: + '@cspell/dict-css': ^4.0.16 + '@cspell/dict-html': ^4.0.10 + '@cspell/dict-html-symbol-entities': ^4.0.3 + '@cspell/dict-typescript': ^3.1.11 + dependencies: + '@cspell/dict-css': 4.0.16 + '@cspell/dict-html': 4.0.10 + '@cspell/dict-html-symbol-entities': 4.0.3 + '@cspell/dict-typescript': 3.1.11 + dev: true + + /@cspell/dict-monkeyc@1.0.9: + resolution: {integrity: sha512-Jvf6g5xlB4+za3ThvenYKREXTEgzx5gMUSzrAxIiPleVG4hmRb/GBSoSjtkGaibN3XxGx5x809gSTYCA/IHCpA==} dev: true - /@cspell/dict-npm@5.1.5: - resolution: {integrity: sha512-oAOGWuJYU3DlO+cAsStKMWN8YEkBue25cRC9EwdiL5Z84nchU20UIoYrLfIQejMlZca+1GyrNeyxRAgn4KiivA==} + /@cspell/dict-node@5.0.5: + resolution: {integrity: sha512-7NbCS2E8ZZRZwlLrh2sA0vAk9n1kcTUiRp/Nia8YvKaItGXLfxYqD2rMQ3HpB1kEutal6hQLVic3N2Yi1X7AaA==} dev: true - /@cspell/dict-php@4.0.10: - resolution: {integrity: sha512-NfTZdp6kcZDF1PvgQ6cY0zE4FUO5rSwNmBH/iwCBuaLfJAFQ97rgjxo+D2bic4CFwNjyHutnHPtjJBRANO5XQw==} + /@cspell/dict-npm@5.1.12: + resolution: {integrity: sha512-ZPyOXa7CdluSEZT1poDikD5pYbeUrRXzHmfpH0jVKVV8wdoQgxOy7I/btRprPeuF9ig5cYrLUo77r1iit1boLw==} dev: true - /@cspell/dict-powershell@5.0.10: - resolution: {integrity: sha512-U4H0zm94sNK+YP7jSFb7xb160XLf2dKIPVt5sOYctKlEyR9M16sP8FHbyWV2Yp1YtxXugoNdeCm2vwGEDAd8sg==} + /@cspell/dict-php@4.0.13: + resolution: {integrity: sha512-P6sREMZkhElzz/HhXAjahnICYIqB/HSGp1EhZh+Y6IhvC15AzgtDP8B8VYCIsQof6rPF1SQrFwunxOv8H1e2eg==} dev: true - /@cspell/dict-public-licenses@2.0.8: - resolution: {integrity: sha512-Sup+tFS7cDV0fgpoKtUqEZ6+fA/H+XUgBiqQ/Fbs6vUE3WCjJHOIVsP+udHuyMH7iBfJ4UFYOYeORcY4EaKdMg==} + /@cspell/dict-powershell@5.0.13: + resolution: {integrity: sha512-0qdj0XZIPmb77nRTynKidRJKTU0Fl+10jyLbAhFTuBWKMypVY06EaYFnwhsgsws/7nNX8MTEQuewbl9bWFAbsg==} dev: true - /@cspell/dict-python@4.2.8: - resolution: {integrity: sha512-4y5dynLiajvowhB3PqlcwJ2C4okK1y2Hombec1+TGcV9sUBfo8FYNw6VRFUUrpsxO+Ut/3ncIifdZS5/zAWi5w==} + /@cspell/dict-public-licenses@2.0.11: + resolution: {integrity: sha512-rR5KjRUSnVKdfs5G+gJ4oIvQvm8+NJ6cHWY2N+GE69/FSGWDOPHxulCzeGnQU/c6WWZMSimG9o49i9r//lUQyA==} + dev: true + + /@cspell/dict-python@4.2.12: + resolution: {integrity: sha512-U25eOFu+RE0aEcF2AsxZmq3Lic7y9zspJ9SzjrC0mfJz+yr3YmSCw4E0blMD3mZoNcf7H/vMshuKIY5AY36U+Q==} dependencies: - '@cspell/dict-data-science': 2.0.2 + '@cspell/dict-data-science': 2.0.5 dev: true - /@cspell/dict-r@2.0.1: - resolution: {integrity: sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==} + /@cspell/dict-r@2.0.4: + resolution: {integrity: sha512-cBpRsE/U0d9BRhiNRMLMH1PpWgw+N+1A2jumgt1if9nBGmQw4MUpg2u9I0xlFVhstTIdzXiLXMxP45cABuiUeQ==} dev: true - /@cspell/dict-ruby@5.0.4: - resolution: {integrity: sha512-URw0jScj5pv8sKCVLNnde11qVCQR442rUpSd12u46Swl+5qBaSdnOUoCWQk419kd9/dpC6bB/3l4kOSY2fdYHw==} + /@cspell/dict-ruby@5.0.7: + resolution: {integrity: sha512-4/d0hcoPzi5Alk0FmcyqlzFW9lQnZh9j07MJzPcyVO62nYJJAGKaPZL2o4qHeCS/od/ctJC5AHRdoUm0ktsw6Q==} dev: true - /@cspell/dict-rust@4.0.6: - resolution: {integrity: sha512-Buzy9PfLbdRPibSth8CV1D8ZsYqybo26yNIlAN+8ehU0pSBss0Jv4aleL4vKQ3FjouXeAC27rtEsLd7yaMZTog==} + /@cspell/dict-rust@4.0.10: + resolution: {integrity: sha512-6o5C8566VGTTctgcwfF3Iy7314W0oMlFFSQOadQ0OEdJ9Z9ERX/PDimrzP3LGuOrvhtEFoK8pj+BLnunNwRNrw==} dev: true - /@cspell/dict-scala@5.0.3: - resolution: {integrity: sha512-4yGb4AInT99rqprxVNT9TYb1YSpq58Owzq7zi3ZS5T0u899Y4VsxsBiOgHnQ/4W+ygi+sp+oqef8w8nABR2lkg==} + /@cspell/dict-scala@5.0.6: + resolution: {integrity: sha512-tl0YWAfjUVb4LyyE4JIMVE8DlLzb1ecHRmIWc4eT6nkyDqQgHKzdHsnusxFEFMVLIQomgSg0Zz6hJ5S1E4W4ww==} dev: true - /@cspell/dict-software-terms@4.1.7: - resolution: {integrity: sha512-+fFTALseXszDN8/khonF1DpTcYzwyNqYxhATLakr7CUPtUCO1fCH4lidMtBN4UtPVpE6tbjc5D8tj51PJxEOcw==} + /@cspell/dict-software-terms@4.1.15: + resolution: {integrity: sha512-mxX6jIDA6u7BkR2NkxycA+hf41LsaaQTN/9a6hY2UK9vwNS1cAgAIxUr7YDGU3kZ3sqg58XOYX/KFw/PJtMRmQ==} dev: true - /@cspell/dict-sql@2.1.5: - resolution: {integrity: sha512-FmxanytHXss7GAWAXmgaxl3icTCW7YxlimyOSPNfm+njqeUDjw3kEv4mFNDDObBJv8Ec5AWCbUDkWIpkE3IpKg==} + /@cspell/dict-sql@2.1.8: + resolution: {integrity: sha512-dJRE4JV1qmXTbbGm6WIcg1knmR6K5RXnQxF4XHs5HA3LAjc/zf77F95i5LC+guOGppVF6Hdl66S2UyxT+SAF3A==} dev: true - /@cspell/dict-svelte@1.0.2: - resolution: {integrity: sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==} + /@cspell/dict-svelte@1.0.5: + resolution: {integrity: sha512-sseHlcXOqWE4Ner9sg8KsjxwSJ2yssoJNqFHR9liWVbDV+m7kBiUtn2EB690TihzVsEmDr/0Yxrbb5Bniz70mA==} dev: true - /@cspell/dict-swift@2.0.1: - resolution: {integrity: sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==} + /@cspell/dict-swift@2.0.4: + resolution: {integrity: sha512-CsFF0IFAbRtYNg0yZcdaYbADF5F3DsM8C4wHnZefQy8YcHP/qjAF/GdGfBFBLx+XSthYuBlo2b2XQVdz3cJZBw==} dev: true - /@cspell/dict-terraform@1.0.2: - resolution: {integrity: sha512-UZdJwWIpib2Rx02w6vtXTU3z+M/VMZU0F1dhSL3Ab9otQsFntT8U1CX7wBSqQCLg8bJiCfnUyVvMK3UBm3SR8A==} + /@cspell/dict-terraform@1.0.6: + resolution: {integrity: sha512-Sqm5vGbXuI9hCFcr4w6xWf4Y25J9SdleE/IqfM6RySPnk8lISEmVdax4k6+Kinv9qaxyvnIbUUN4WFLWcBPQAg==} dev: true - /@cspell/dict-typescript@3.1.6: - resolution: {integrity: sha512-1beC6O4P/j23VuxX+i0+F7XqPVc3hhiAzGJHEKqnWf5cWAXQtg0xz3xQJ5MvYx2a7iLaSa+lu7+05vG9UHyu9Q==} + /@cspell/dict-typescript@3.1.11: + resolution: {integrity: sha512-FwvK5sKbwrVpdw0e9+1lVTl8FPoHYvfHRuQRQz2Ql5XkC0gwPPkpoyD1zYImjIyZRoYXk3yp9j8ss4iz7A7zoQ==} dev: true - /@cspell/dict-vue@3.0.0: - resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==} + /@cspell/dict-vue@3.0.3: + resolution: {integrity: sha512-akmYbrgAGumqk1xXALtDJcEcOMYBYMnkjpmGzH13Ozhq1mkPF4VgllFQlm1xYde+BUKNnzMgPEzxrL2qZllgYA==} dev: true - /@cspell/dynamic-import@8.14.2: - resolution: {integrity: sha512-5MbqtIligU7yPwHWU/5yFCgMvur4i1bRAF1Cy8y2dDtHsa204S/w/SaXs+51EFLp2eNbCiBisCBrwJFT7R1RxA==} + /@cspell/dynamic-import@8.15.5: + resolution: {integrity: sha512-xfLRVi8zHKCGK1fg1ixXQ0bAlIU9sGm7xfbTmGG8TQt+iaKHVMIlt+XeCAo0eE7aKjIaIfqcC/PCIdUJiODuGA==} engines: {node: '>=18.0'} dependencies: import-meta-resolve: 4.1.0 dev: true - /@cspell/filetypes@8.14.2: - resolution: {integrity: sha512-ZevArA0mWeVTTqHicxCPZIAeCibpY3NwWK/x6d1Lgu7RPk/daoGAM546Q2SLChFu+r10tIH7pRG212A6Q9ihPA==} + /@cspell/filetypes@8.15.5: + resolution: {integrity: sha512-ljEFUp61mw5RWZ3S6ke6rvGKy8m4lZZjRd5KO07RYyGwSeLa4PX9AyTgSzuqXiN9y1BwogD3xolCMfPsMrtZIQ==} engines: {node: '>=18'} dev: true - /@cspell/strong-weak-map@8.14.2: - resolution: {integrity: sha512-7sRzJc392CQYNNrtdPEfOHJdRqsqf6nASCtbS5A9hL2UrdWQ4uN7r/D+Y1HpuizwY9eOkZvarcFfsYt5wE0Pug==} + /@cspell/strong-weak-map@8.15.5: + resolution: {integrity: sha512-7VzDAXsJPDXllTIi9mvQwd7PR43TPk1Ix3ocLTZDVNssf1cQbmLiQX6YWk0k8FWGfIPoIMlByw4tTSizRJcTcw==} engines: {node: '>=18'} dev: true - /@cspell/url@8.14.2: - resolution: {integrity: sha512-YmWW+B/2XQcCynLpiAQF77Bitm5Cynw3/BICZkbdveKjJkUzEmXB+U2qWuwXOyU8xUYuwkP63YM8McnI567rUA==} + /@cspell/url@8.15.5: + resolution: {integrity: sha512-z8q7LUppFiNvytX2qrKDkXcsmOrwjqFf/5RkcpNppDezLrFejaMZu4BEVNcPrFCeS2J04K+uksNL1LYSob8jCg==} engines: {node: '>=18.0'} dev: true @@ -1181,7 +1222,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.5 + '@types/node': 22.9.0 jest-mock: 29.7.0 dev: true @@ -1191,7 +1232,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.7.5 + '@types/node': 22.9.0 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -1211,7 +1252,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.7.5 + '@types/node': 22.9.0 '@types/yargs': 17.0.33 chalk: 4.1.2 dev: true @@ -1408,30 +1449,30 @@ packages: '@sinonjs/commons': 3.0.1 dev: true - /@tanstack/query-core@5.56.2: - resolution: {integrity: sha512-gor0RI3/R5rVV3gXfddh1MM+hgl0Z4G7tj6Xxpq6p2I03NGPaJ8dITY9Gz05zYYb/EJq9vPas/T4wn9EaDPd4Q==} + /@tanstack/query-core@5.59.16: + resolution: {integrity: sha512-crHn+G3ltqb5JG0oUv6q+PMz1m1YkjpASrXTU+sYWW9pLk0t2GybUHNRqYPZWhxgjPaVGC4yp92gSFEJgYEsPw==} /@tanstack/query-devtools@5.58.0: resolution: {integrity: sha512-iFdQEFXaYYxqgrv63ots+65FGI+tNp5ZS5PdMU1DWisxk3fez5HG3FyVlbUva+RdYS5hSLbxZ9aw3yEs97GNTw==} dev: false - /@tanstack/react-query-devtools@5.58.0(@tanstack/react-query@5.56.2)(react@18.3.1): - resolution: {integrity: sha512-qF0xCyBeVuNLygTO1sAl1X4Gv52w52SeaDdbjYQmtTOooUJ3aAVlBEtiRJFfJblWQ9p/UQG8NIcC/65RjX8Jkw==} + /@tanstack/react-query-devtools@5.59.16(@tanstack/react-query@5.59.16)(react@18.3.1): + resolution: {integrity: sha512-Dejo39QBXmDqXZ3vdrk7vHDvs7TvL573/AX2NveMBmRAufAPYuE3oWSKP/gGqkDfEqyr4CmldOj+v9cKskUchQ==} peerDependencies: - '@tanstack/react-query': ^5.56.2 + '@tanstack/react-query': ^5.59.16 react: ^18 || ^19 dependencies: '@tanstack/query-devtools': 5.58.0 - '@tanstack/react-query': 5.56.2(react@18.3.1) + '@tanstack/react-query': 5.59.16(react@18.3.1) react: 18.3.1 dev: false - /@tanstack/react-query@5.56.2(react@18.3.1): - resolution: {integrity: sha512-SR0GzHVo6yzhN72pnRhkEFRAHMsUo5ZPzAxfTMvUxFIDVS6W9LYUp6nXW3fcHVdg0ZJl8opSH85jqahvm6DSVg==} + /@tanstack/react-query@5.59.16(react@18.3.1): + resolution: {integrity: sha512-MuyWheG47h6ERd4PKQ6V8gDyBu3ThNG22e1fRVwvq6ap3EqsFhyuxCAwhNP/03m/mLg+DAb0upgbPaX6VB+CkQ==} peerDependencies: react: ^18 || ^19 dependencies: - '@tanstack/query-core': 5.56.2 + '@tanstack/query-core': 5.59.16 react: 18.3.1 /@testing-library/dom@10.4.0: @@ -1447,8 +1488,8 @@ packages: lz-string: 1.5.0 pretty-format: 27.5.1 - /@testing-library/jest-dom@6.5.0: - resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} + /@testing-library/jest-dom@6.6.3: + resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} dependencies: '@adobe/css-tools': 4.4.0 @@ -1460,7 +1501,7 @@ packages: redent: 3.0.0 dev: false - /@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1): + /@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==} engines: {node: '>=18'} peerDependencies: @@ -1477,8 +1518,8 @@ packages: dependencies: '@babel/runtime': 7.25.7 '@testing-library/dom': 10.4.0 - '@types/react': 18.3.5 - '@types/react-dom': 18.3.0 + '@types/react': 18.3.12 + '@types/react-dom': 18.3.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -1541,7 +1582,7 @@ packages: /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 22.7.5 + '@types/node': 22.9.0 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 dev: true @@ -1550,13 +1591,13 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/node@22.5.1: - resolution: {integrity: sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==} + /@types/node@22.8.6: + resolution: {integrity: sha512-tosuJYKrIqjQIlVCM4PEGxOmyg3FCPa/fViuJChnGeEIhjA46oy8FMVoF9su1/v8PNs2a8Q0iFNyOx0uOF91nw==} dependencies: undici-types: 6.19.8 - /@types/node@22.7.5: - resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} + /@types/node@22.9.0: + resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} dependencies: undici-types: 6.19.8 dev: true @@ -1564,13 +1605,13 @@ packages: /@types/prop-types@15.7.13: resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - /@types/react-dom@18.3.0: - resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + /@types/react-dom@18.3.1: + resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} dependencies: - '@types/react': 18.3.5 + '@types/react': 18.3.12 - /@types/react@18.3.5: - resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} + /@types/react@18.3.12: + resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} dependencies: '@types/prop-types': 15.7.13 csstype: 3.1.3 @@ -1593,7 +1634,7 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0)(eslint@8.57.0)(typescript@5.5.4): + /@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0)(eslint@8.57.0)(typescript@5.6.3): resolution: {integrity: sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1605,22 +1646,22 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/scope-manager': 7.15.0 - '@typescript-eslint/type-utils': 7.15.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/type-utils': 7.15.0(eslint@8.57.0)(typescript@5.6.3) + '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.6.3) '@typescript-eslint/visitor-keys': 7.15.0 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.4) - typescript: 5.5.4 + ts-api-utils: 1.3.0(typescript@5.6.3) + typescript: 5.6.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.4): + /@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.6.3): resolution: {integrity: sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1632,11 +1673,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 7.15.0 '@typescript-eslint/types': 7.15.0 - '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.6.3) '@typescript-eslint/visitor-keys': 7.15.0 debug: 4.3.7 eslint: 8.57.0 - typescript: 5.5.4 + typescript: 5.6.3 transitivePeerDependencies: - supports-color dev: true @@ -1649,7 +1690,7 @@ packages: '@typescript-eslint/visitor-keys': 7.15.0 dev: true - /@typescript-eslint/type-utils@7.15.0(eslint@8.57.0)(typescript@5.5.4): + /@typescript-eslint/type-utils@7.15.0(eslint@8.57.0)(typescript@5.6.3): resolution: {integrity: sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1659,12 +1700,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.4) - '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.6.3) + '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.6.3) debug: 4.3.7 eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.5.4) - typescript: 5.5.4 + ts-api-utils: 1.3.0(typescript@5.6.3) + typescript: 5.6.3 transitivePeerDependencies: - supports-color dev: true @@ -1674,7 +1715,7 @@ packages: engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@7.15.0(typescript@5.5.4): + /@typescript-eslint/typescript-estree@7.15.0(typescript@5.6.3): resolution: {integrity: sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1690,13 +1731,13 @@ packages: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) - typescript: 5.5.4 + ts-api-utils: 1.3.0(typescript@5.6.3) + typescript: 5.6.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@7.15.0(eslint@8.57.0)(typescript@5.5.4): + /@typescript-eslint/utils@7.15.0(eslint@8.57.0)(typescript@5.6.3): resolution: {integrity: sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1705,7 +1746,7 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@typescript-eslint/scope-manager': 7.15.0 '@typescript-eslint/types': 7.15.0 - '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.6.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color @@ -1734,8 +1775,8 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-react@4.3.2(vite@5.4.8): - resolution: {integrity: sha512-hieu+o05v4glEBucTcKMK3dlES0OeJlD9YVOAPraVMOInBCwzumaIFiUjr4bHK7NPgnAHgiskUoceKercrN8vg==} + /@vitejs/plugin-react@4.3.3(vite@5.4.11): + resolution: {integrity: sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 @@ -1745,25 +1786,24 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.25.7(@babel/core@7.25.7) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.8(@types/node@22.5.1) + vite: 5.4.11(@types/node@22.8.6) transitivePeerDependencies: - supports-color dev: false - /@vitest/expect@2.1.2: - resolution: {integrity: sha512-FEgtlN8mIUSEAAnlvn7mP8vzaWhEaAEvhSXCqrsijM7K6QqjB11qoRZYEd4AKSCDz8p0/+yH5LzhZ47qt+EyPg==} + /@vitest/expect@2.1.4: + resolution: {integrity: sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==} dependencies: - '@vitest/spy': 2.1.2 - '@vitest/utils': 2.1.2 - chai: 5.1.1 + '@vitest/spy': 2.1.4 + '@vitest/utils': 2.1.4 + chai: 5.1.2 tinyrainbow: 1.2.0 dev: true - /@vitest/mocker@2.1.2(@vitest/spy@2.1.2)(vite@5.4.8): - resolution: {integrity: sha512-ExElkCGMS13JAJy+812fw1aCv2QO/LBK6CyO4WOPAzLTmve50gydOlWhgdBJPx2ztbADUq3JVI0C5U+bShaeEA==} + /@vitest/mocker@2.1.4(vite@5.4.11): + resolution: {integrity: sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==} peerDependencies: - '@vitest/spy': 2.1.2 - msw: ^2.3.5 + msw: ^2.4.9 vite: ^5.0.0 peerDependenciesMeta: msw: @@ -1771,58 +1811,64 @@ packages: vite: optional: true dependencies: - '@vitest/spy': 2.1.2 + '@vitest/spy': 2.1.4 estree-walker: 3.0.3 - magic-string: 0.30.11 - vite: 5.4.8(@types/node@22.5.1) + magic-string: 0.30.12 + vite: 5.4.11(@types/node@22.8.6) + dev: true + + /@vitest/pretty-format@2.1.4: + resolution: {integrity: sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==} + dependencies: + tinyrainbow: 1.2.0 dev: true - /@vitest/pretty-format@2.1.2: - resolution: {integrity: sha512-FIoglbHrSUlOJPDGIrh2bjX1sNars5HbxlcsFKCtKzu4+5lpsRhOCVcuzp0fEhAGHkPZRIXVNzPcpSlkoZ3LuA==} + /@vitest/pretty-format@2.1.5: + resolution: {integrity: sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==} dependencies: tinyrainbow: 1.2.0 dev: true - /@vitest/runner@2.1.2: - resolution: {integrity: sha512-UCsPtvluHO3u7jdoONGjOSil+uON5SSvU9buQh3lP7GgUXHp78guN1wRmZDX4wGK6J10f9NUtP6pO+SFquoMlw==} + /@vitest/runner@2.1.4: + resolution: {integrity: sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==} dependencies: - '@vitest/utils': 2.1.2 + '@vitest/utils': 2.1.4 pathe: 1.1.2 dev: true - /@vitest/snapshot@2.1.2: - resolution: {integrity: sha512-xtAeNsZ++aRIYIUsek7VHzry/9AcxeULlegBvsdLncLmNCR6tR8SRjn8BbDP4naxtccvzTqZ+L1ltZlRCfBZFA==} + /@vitest/snapshot@2.1.4: + resolution: {integrity: sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==} dependencies: - '@vitest/pretty-format': 2.1.2 - magic-string: 0.30.11 + '@vitest/pretty-format': 2.1.4 + magic-string: 0.30.12 pathe: 1.1.2 dev: true - /@vitest/spy@2.1.2: - resolution: {integrity: sha512-GSUi5zoy+abNRJwmFhBDC0yRuVUn8WMlQscvnbbXdKLXX9dE59YbfwXxuJ/mth6eeqIzofU8BB5XDo/Ns/qK2A==} + /@vitest/spy@2.1.4: + resolution: {integrity: sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==} dependencies: tinyspy: 3.0.2 dev: true - /@vitest/ui@2.1.2(vitest@2.1.2): - resolution: {integrity: sha512-92gcNzkDnmxOxyHzQrQYRsoV9Q0Aay0r4QMLnV+B+lbqlUWa8nDg9ivyLV5mMVTtGirHsYUGGh/zbIA55gBZqA==} + /@vitest/ui@2.1.4(vitest@2.1.4): + resolution: {integrity: sha512-Zd9e5oU063c+j9N9XzGJagCLNvG71x/2tOme3Js4JEZKX55zsgxhJwUgLI8hkN6NjMLpdJO8d7nVUUuPGAA58Q==} peerDependencies: - vitest: 2.1.2 + vitest: 2.1.4 dependencies: - '@vitest/utils': 2.1.2 + '@vitest/utils': 2.1.4 fflate: 0.8.2 flatted: 3.3.1 pathe: 1.1.2 - sirv: 2.0.4 + sirv: 3.0.0 tinyglobby: 0.2.9 tinyrainbow: 1.2.0 - vitest: 2.1.2(@types/node@22.5.1)(@vitest/ui@2.1.2) + vitest: 2.1.4(@types/node@22.8.6)(@vitest/ui@2.1.4) dev: true - /@vitest/utils@2.1.2: - resolution: {integrity: sha512-zMO2KdYy6mx56btx9JvAqAZ6EyS3g49krMPPrgOp1yxGZiA93HumGk+bZ5jIZtOg5/VBYl5eBmGRQHqq4FG6uQ==} + /@vitest/utils@2.1.4: + resolution: {integrity: sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==} dependencies: - '@vitest/pretty-format': 2.1.2 + '@vitest/pretty-format': 2.1.4 loupe: 3.1.2 tinyrainbow: 1.2.0 dev: true @@ -1878,11 +1924,6 @@ packages: uri-js: 4.4.1 dev: true - /ansi-escapes@6.2.1: - resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} - engines: {node: '>=14.16'} - dev: true - /ansi-escapes@7.0.0: resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} engines: {node: '>=18'} @@ -1894,11 +1935,6 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - /ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - dev: true - /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -1915,10 +1951,6 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - /ansicolors@0.3.2: - resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} - dev: true - /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true @@ -2088,16 +2120,8 @@ packages: resolution: {integrity: sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==} dev: false - /cardinal@2.1.1: - resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} - hasBin: true - dependencies: - ansicolors: 0.3.2 - redeyed: 2.1.1 - dev: true - - /chai@5.1.1: - resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + /chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} dependencies: assertion-error: 2.0.1 @@ -2157,6 +2181,10 @@ packages: engines: {node: '>=8'} dev: true + /cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + dev: true + /clear-module@4.1.2: resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} engines: {node: '>=8'} @@ -2261,81 +2289,81 @@ packages: which: 2.0.2 dev: true - /cspell-config-lib@8.14.2: - resolution: {integrity: sha512-yHP1BdcH5dbjb8qiZr6+bxEnJ+rxTULQ00wBz3eBPWCghJywEAYYvMWoYuxVtPpndlkKYC1wJAHsyNkweQyepA==} + /cspell-config-lib@8.15.5: + resolution: {integrity: sha512-16XBjAlUWO46uEuUKHQvSeiU7hQzG9Pqg6lwKQOyZ/rVLZyihk7JGtnWuG83BbW0RFokB/BcgT1q6OegWJiEZw==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-types': 8.14.2 + '@cspell/cspell-types': 8.15.5 comment-json: 4.2.5 - yaml: 2.5.1 + yaml: 2.6.0 dev: true - /cspell-dictionary@8.14.2: - resolution: {integrity: sha512-gWuAvf6queGGUvGbfAxxUq55cZ0OevWPbjnCrSB0PpJ4tqdFd8dLcvVrIKzoE2sBXKPw2NDkmoEngs6iGavC0w==} + /cspell-dictionary@8.15.5: + resolution: {integrity: sha512-L+4MD3KItFGsxR8eY2ed6InsD7hZU1TIAeV2V4sG0wIbUXJXbPFxBTNZJrPLxTzAeCutHmkZwAl4ZCGu18bgtw==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-pipe': 8.14.2 - '@cspell/cspell-types': 8.14.2 - cspell-trie-lib: 8.14.2 + '@cspell/cspell-pipe': 8.15.5 + '@cspell/cspell-types': 8.15.5 + cspell-trie-lib: 8.15.5 fast-equals: 5.0.1 dev: true - /cspell-gitignore@8.14.2: - resolution: {integrity: sha512-lrO/49NaKBpkR7vFxv4OOY+oHmsG5+gNQejrBBWD9Nv9vvjJtz/G36X/rcN6M6tFcQQMWwa01kf04nxz8Ejuhg==} + /cspell-gitignore@8.15.5: + resolution: {integrity: sha512-z5T0Xswfiu2NbkoVdf6uwEWzOgxCBb3L8kwB6lxzK5iyQDW2Bqlk+5b6KQaY38OtjTjJ9zzIJfFN3MfFlMFd3A==} engines: {node: '>=18'} hasBin: true dependencies: - '@cspell/url': 8.14.2 - cspell-glob: 8.14.2 - cspell-io: 8.14.2 + '@cspell/url': 8.15.5 + cspell-glob: 8.15.5 + cspell-io: 8.15.5 find-up-simple: 1.0.0 dev: true - /cspell-glob@8.14.2: - resolution: {integrity: sha512-9Q1Kgoo1ev3fKTpp9y5n8M4RLxd8B0f5o4y5FQe4dBU0j/bt+/YDrLZNWDm77JViV606XQ6fimG1FTTq6pT9/g==} + /cspell-glob@8.15.5: + resolution: {integrity: sha512-VpfP16bRbkHEyGGjf6/EifFxETfS7lpcHbYt1tRi6VhCv1FTMqbB7H7Aw+DQkDezOUN8xdw0gYe/fk5AJGOBDg==} engines: {node: '>=18'} dependencies: - '@cspell/url': 8.14.2 + '@cspell/url': 8.15.5 micromatch: 4.0.8 dev: true - /cspell-grammar@8.14.2: - resolution: {integrity: sha512-eYwceVP80FGYVJenE42ALnvEKOXaXjq4yVbb1Ni1umO/9qamLWNCQ1RP6rRACy5e/cXviAbhrQ5Mtw6n+pyPEQ==} + /cspell-grammar@8.15.5: + resolution: {integrity: sha512-2YnlSATtWHNL6cgx1qmTsY5ZO0zu8VdEmfcLQKgHr67T7atLRUnWAlmh06WMLd5qqp8PpWNPaOJF2prEYAXsUA==} engines: {node: '>=18'} hasBin: true dependencies: - '@cspell/cspell-pipe': 8.14.2 - '@cspell/cspell-types': 8.14.2 + '@cspell/cspell-pipe': 8.15.5 + '@cspell/cspell-types': 8.15.5 dev: true - /cspell-io@8.14.2: - resolution: {integrity: sha512-uaKpHiY3DAgfdzgKMQml6U8F8o9udMuYxGqYa5FVfN7D5Ap7B2edQzSLTUYwxrFEn4skSfp6XY73+nzJvxzH4Q==} + /cspell-io@8.15.5: + resolution: {integrity: sha512-6kBK+EGTG9hiUDfB55r3xbhc7YUA5vJTXoc65pe9PXd4vgXXfrPRuy+5VRtvgSMoQj59oWOQw3ZqTAR95gbGnw==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-service-bus': 8.14.2 - '@cspell/url': 8.14.2 + '@cspell/cspell-service-bus': 8.15.5 + '@cspell/url': 8.15.5 dev: true - /cspell-lib@8.14.2: - resolution: {integrity: sha512-d2oiIXHXnADmnhIuFLOdNE63L7OUfzgpLbYaqAWbkImCUDkevfGrOgnX8TJ03fUgZID4nvQ+3kgu/n2j4eLZjQ==} + /cspell-lib@8.15.5: + resolution: {integrity: sha512-DGieMWc82ouHb6Rq2LRKAlG4ExeQL1D5uvemgaouVHMZq4GvPtVaTwA6qHhw772/5z665oOVsRCicYbDtP4V3w==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-bundled-dicts': 8.14.2 - '@cspell/cspell-pipe': 8.14.2 - '@cspell/cspell-resolver': 8.14.2 - '@cspell/cspell-types': 8.14.2 - '@cspell/dynamic-import': 8.14.2 - '@cspell/filetypes': 8.14.2 - '@cspell/strong-weak-map': 8.14.2 - '@cspell/url': 8.14.2 + '@cspell/cspell-bundled-dicts': 8.15.5 + '@cspell/cspell-pipe': 8.15.5 + '@cspell/cspell-resolver': 8.15.5 + '@cspell/cspell-types': 8.15.5 + '@cspell/dynamic-import': 8.15.5 + '@cspell/filetypes': 8.15.5 + '@cspell/strong-weak-map': 8.15.5 + '@cspell/url': 8.15.5 clear-module: 4.1.2 comment-json: 4.2.5 - cspell-config-lib: 8.14.2 - cspell-dictionary: 8.14.2 - cspell-glob: 8.14.2 - cspell-grammar: 8.14.2 - cspell-io: 8.14.2 - cspell-trie-lib: 8.14.2 + cspell-config-lib: 8.15.5 + cspell-dictionary: 8.15.5 + cspell-glob: 8.15.5 + cspell-grammar: 8.15.5 + cspell-io: 8.15.5 + cspell-trie-lib: 8.15.5 env-paths: 3.0.0 fast-equals: 5.0.1 gensequence: 7.0.0 @@ -2346,39 +2374,38 @@ packages: xdg-basedir: 5.1.0 dev: true - /cspell-trie-lib@8.14.2: - resolution: {integrity: sha512-rZMbaEBGoyy4/zxKECaMyVyGLbuUxYmZ5jlEgiA3xPtEdWwJ4iWRTo5G6dWbQsXoxPYdAXXZ0/q0GQ2y6Jt0kw==} + /cspell-trie-lib@8.15.5: + resolution: {integrity: sha512-DAEkp51aFgpp9DFuJkNki0kVm2SVR1Hp0hD3Pnta7S4X2h5424TpTVVPltAIWtcdxRLGbX6N2x26lTI4K/YfpQ==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-pipe': 8.14.2 - '@cspell/cspell-types': 8.14.2 + '@cspell/cspell-pipe': 8.15.5 + '@cspell/cspell-types': 8.15.5 gensequence: 7.0.0 dev: true - /cspell@8.14.2: - resolution: {integrity: sha512-ii/W7fwO4chNQVYl1C/8k7RW8EXzLb69rvg08p8mSJx8B2UasVJ9tuJpTH2Spo1jX6N3H0dKPWUbd1fAmdAhPg==} + /cspell@8.15.5: + resolution: {integrity: sha512-Vp1WI6axghVvenZS7GUlsZf6JFF7jDXdV5f4nXWjrZLbTrH+wbnFEO2mg+QJWa4IN35igjNYeu9TbA9/EGJzog==} engines: {node: '>=18'} hasBin: true dependencies: - '@cspell/cspell-json-reporter': 8.14.2 - '@cspell/cspell-pipe': 8.14.2 - '@cspell/cspell-types': 8.14.2 - '@cspell/dynamic-import': 8.14.2 - '@cspell/url': 8.14.2 + '@cspell/cspell-json-reporter': 8.15.5 + '@cspell/cspell-pipe': 8.15.5 + '@cspell/cspell-types': 8.15.5 + '@cspell/dynamic-import': 8.15.5 + '@cspell/url': 8.15.5 chalk: 5.3.0 chalk-template: 1.1.0 commander: 12.1.0 - cspell-dictionary: 8.14.2 - cspell-gitignore: 8.14.2 - cspell-glob: 8.14.2 - cspell-io: 8.14.2 - cspell-lib: 8.14.2 - fast-glob: 3.3.2 + cspell-dictionary: 8.15.5 + cspell-gitignore: 8.15.5 + cspell-glob: 8.15.5 + cspell-io: 8.15.5 + cspell-lib: 8.15.5 fast-json-stable-stringify: 2.1.0 file-entry-cache: 9.1.0 get-stdin: 9.0.0 semver: 7.6.3 - strip-ansi: 7.1.0 + tinyglobby: 0.2.10 dev: true /css.escape@1.5.1: @@ -2797,7 +2824,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.6.3) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -2827,7 +2854,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.6.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -2869,7 +2896,7 @@ packages: eslint: 8.57.0 dev: true - /eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.15.0)(eslint@8.57.0)(typescript@5.5.4)(vitest@2.1.2): + /eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.15.0)(eslint@8.57.0)(typescript@5.6.3)(vitest@2.1.4): resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==} engines: {node: ^18.0.0 || >= 20.0.0} peerDependencies: @@ -2882,10 +2909,10 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0)(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0)(eslint@8.57.0)(typescript@5.6.3) + '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.6.3) eslint: 8.57.0 - vitest: 2.1.2(@types/node@22.5.1)(@vitest/ui@2.1.2) + vitest: 2.1.4(@types/node@22.8.6)(@vitest/ui@2.1.4) transitivePeerDependencies: - supports-color - typescript @@ -2996,6 +3023,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /expect-type@1.1.0: + resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + engines: {node: '>=12.0.0'} + dev: true + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -3041,6 +3073,17 @@ packages: picomatch: 4.0.2 dev: true + /fdir@6.4.2(picomatch@4.0.2): + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + dependencies: + picomatch: 4.0.2 + dev: true + /fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} dev: true @@ -3568,7 +3611,7 @@ packages: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 22.7.5 + '@types/node': 22.9.0 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -3598,7 +3641,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 22.7.5 + '@types/node': 22.9.0 jest-util: 29.7.0 dev: true @@ -3607,7 +3650,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 22.7.5 + '@types/node': 22.9.0 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -3735,6 +3778,10 @@ packages: resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} dev: true + /lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + dev: true + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -3745,27 +3792,12 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - /magic-string@0.30.11: - resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + /magic-string@0.30.12: + resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} dependencies: '@jridgewell/sourcemap-codec': 1.5.0 dev: true - /marked-terminal@6.2.0(marked@9.1.6): - resolution: {integrity: sha512-ubWhwcBFHnXsjYNsu+Wndpg0zhY4CahSpPlA70PlO0rR9r2sZpkyU+rkCsOWH+KMEkx847UpALON+HWgxowFtw==} - engines: {node: '>=16.0.0'} - peerDependencies: - marked: '>=1 <12' - dependencies: - ansi-escapes: 6.2.1 - cardinal: 2.1.1 - chalk: 5.3.0 - cli-table3: 0.6.5 - marked: 9.1.6 - node-emoji: 2.1.3 - supports-hyperlinks: 3.1.0 - dev: true - /marked-terminal@7.1.0(marked@9.1.6): resolution: {integrity: sha512-+pvwa14KZL74MVXjYdPR3nSInhGhNvPce/3mqLVZT2oUvt654sL1XImFuLZ1pkA866IYZ3ikDTOFUIC7XzpZZg==} engines: {node: '>=16.0.0'} @@ -4135,12 +4167,6 @@ packages: strip-indent: 3.0.0 dev: false - /redeyed@2.1.1: - resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} - dependencies: - esprima: 4.0.1 - dev: true - /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -4328,9 +4354,9 @@ packages: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true - /sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} + /sirv@3.0.0: + resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==} + engines: {node: '>=18'} dependencies: '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 @@ -4418,13 +4444,6 @@ packages: ansi-regex: 5.0.1 dev: true - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.1.0 - dev: true - /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -4497,8 +4516,16 @@ packages: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} dev: true - /tinyexec@0.3.0: - resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + /tinyexec@0.3.1: + resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + dev: true + + /tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} + dependencies: + fdir: 6.4.2(picomatch@4.0.2) + picomatch: 4.0.2 dev: true /tinyglobby@0.2.9: @@ -4558,17 +4585,13 @@ packages: punycode: 2.3.1 dev: true - /ts-api-utils@1.3.0(typescript@5.5.4): + /ts-api-utils@1.3.0(typescript@5.6.3): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.5.4 - dev: true - - /ts-expose-internals-conditionally@1.0.0-empty.0: - resolution: {integrity: sha512-F8m9NOF6ZhdOClDVdlM8gj3fDCav4ZIFSs/EI3ksQbAAXVSCN/Jh5OCJDDZWBuBy9psFc6jULGDlPwjMYMhJDw==} + typescript: 5.6.3 dev: true /tsconfig-paths@3.15.0: @@ -4580,64 +4603,64 @@ packages: strip-bom: 3.0.0 dev: true - /turbo-darwin-64@2.1.1: - resolution: {integrity: sha512-aYNuJpZlCoi0Htd79fl/2DywpewGKijdXeOfg9KzNuPVKzSMYlAXuAlNGh0MKjiOcyqxQGL7Mq9LFhwA0VpDpQ==} + /turbo-darwin-64@2.2.3: + resolution: {integrity: sha512-Rcm10CuMKQGcdIBS3R/9PMeuYnv6beYIHqfZFeKWVYEWH69sauj4INs83zKMTUiZJ3/hWGZ4jet9AOwhsssLyg==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@2.1.1: - resolution: {integrity: sha512-tifJKD8yHY48rHXPMcM8o1jI/Jk2KCaXiNjTKvvy9Zsim61BZksNVLelIbrRoCGwAN6PUBZO2lGU5iL/TQJ5Pw==} + /turbo-darwin-arm64@2.2.3: + resolution: {integrity: sha512-+EIMHkuLFqUdJYsA3roj66t9+9IciCajgj+DVek+QezEdOJKcRxlvDOS2BUaeN8kEzVSsNiAGnoysFWYw4K0HA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@2.1.1: - resolution: {integrity: sha512-Js6d/bSQe9DuV9c7ITXYpsU/ADzFHABdz1UIHa7Oqjj9VOEbFeA9WpAn0c+mdJrVD+IXJFbbDZUjN7VYssmtcg==} + /turbo-linux-64@2.2.3: + resolution: {integrity: sha512-UBhJCYnqtaeOBQLmLo8BAisWbc9v9daL9G8upLR+XGj6vuN/Nz6qUAhverN4Pyej1g4Nt1BhROnj6GLOPYyqxQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@2.1.1: - resolution: {integrity: sha512-LidzTCq0yvQ+N8w8Qub9FmhQ/mmEIeoqFi7DSupekEV2EjvE9jw/zYc9Pk67X+g7dHVfgOnvVzmrjChdxpFePw==} + /turbo-linux-arm64@2.2.3: + resolution: {integrity: sha512-hJYT9dN06XCQ3jBka/EWvvAETnHRs3xuO/rb5bESmDfG+d9yQjeTMlhRXKrr4eyIMt6cLDt1LBfyi+6CQ+VAwQ==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@2.1.1: - resolution: {integrity: sha512-GKc9ZywKwy4xLDhwXd6H07yzl0TB52HjXMrFLyHGhCVnf/w0oq4sLJv2sjbvuarPjsyx4xnCBJ3m3oyL2XmFtA==} + /turbo-windows-64@2.2.3: + resolution: {integrity: sha512-NPrjacrZypMBF31b4HE4ROg4P3nhMBPHKS5WTpMwf7wydZ8uvdEHpESVNMOtqhlp857zbnKYgP+yJF30H3N2dQ==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@2.1.1: - resolution: {integrity: sha512-oFKkMj11KKUv3xSK9/fhAEQTxLUp1Ol1EOktwc32+SFtEU0uls7kosAz0b+qe8k3pJGEMFdDPdqoEjyJidbxtQ==} + /turbo-windows-arm64@2.2.3: + resolution: {integrity: sha512-fnNrYBCqn6zgKPKLHu4sOkihBI/+0oYFr075duRxqUZ+1aLWTAGfHZLgjVeLh3zR37CVzuerGIPWAEkNhkWEIw==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@2.1.1: - resolution: {integrity: sha512-u9gUDkmR9dFS8b5kAYqIETK4OnzsS4l2ragJ0+soSMHh6VEeNHjTfSjk1tKxCqLyziCrPogadxP680J+v6yGHw==} + /turbo@2.2.3: + resolution: {integrity: sha512-5lDvSqIxCYJ/BAd6rQGK/AzFRhBkbu4JHVMLmGh/hCb7U3CqSnr5Tjwfy9vc+/5wG2DJ6wttgAaA7MoCgvBKZQ==} hasBin: true optionalDependencies: - turbo-darwin-64: 2.1.1 - turbo-darwin-arm64: 2.1.1 - turbo-linux-64: 2.1.1 - turbo-linux-arm64: 2.1.1 - turbo-windows-64: 2.1.1 - turbo-windows-arm64: 2.1.1 + turbo-darwin-64: 2.2.3 + turbo-darwin-arm64: 2.2.3 + turbo-linux-64: 2.2.3 + turbo-linux-arm64: 2.2.3 + turbo-windows-64: 2.2.3 + turbo-windows-arm64: 2.2.3 dev: true /type-check@0.4.0: @@ -4701,19 +4724,19 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true - dev: true - /typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + /typescript@5.6.1-rc: + resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} engines: {node: '>=14.17'} hasBin: true + dev: true - /typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + /typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true @@ -4768,15 +4791,15 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /vite-node@2.1.2(@types/node@22.5.1): - resolution: {integrity: sha512-HPcGNN5g/7I2OtPjLqgOtCRu/qhVvBxTUD3qzitmL0SrG1cWFzxzhMDWussxSbrRYWqnKf8P2jiNhPMSN+ymsQ==} + /vite-node@2.1.4(@types/node@22.8.6): + resolution: {integrity: sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - vite: 5.4.8(@types/node@22.5.1) + vite: 5.4.11(@types/node@22.8.6) transitivePeerDependencies: - '@types/node' - less @@ -4789,8 +4812,8 @@ packages: - terser dev: true - /vite@5.4.8(@types/node@22.5.1): - resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==} + /vite@5.4.11(@types/node@22.8.6): + resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -4820,22 +4843,22 @@ packages: terser: optional: true dependencies: - '@types/node': 22.5.1 + '@types/node': 22.8.6 esbuild: 0.21.5 postcss: 8.4.47 rollup: 4.24.0 optionalDependencies: fsevents: 2.3.3 - /vitest@2.1.2(@types/node@22.5.1)(@vitest/ui@2.1.2): - resolution: {integrity: sha512-veNjLizOMkRrJ6xxb+pvxN6/QAWg95mzcRjtmkepXdN87FNfxAss9RKe2far/G9cQpipfgP2taqg0KiWsquj8A==} + /vitest@2.1.4(@types/node@22.8.6)(@vitest/ui@2.1.4): + resolution: {integrity: sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.1.2 - '@vitest/ui': 2.1.2 + '@vitest/browser': 2.1.4 + '@vitest/ui': 2.1.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -4852,26 +4875,27 @@ packages: jsdom: optional: true dependencies: - '@types/node': 22.5.1 - '@vitest/expect': 2.1.2 - '@vitest/mocker': 2.1.2(@vitest/spy@2.1.2)(vite@5.4.8) - '@vitest/pretty-format': 2.1.2 - '@vitest/runner': 2.1.2 - '@vitest/snapshot': 2.1.2 - '@vitest/spy': 2.1.2 - '@vitest/ui': 2.1.2(vitest@2.1.2) - '@vitest/utils': 2.1.2 - chai: 5.1.1 + '@types/node': 22.8.6 + '@vitest/expect': 2.1.4 + '@vitest/mocker': 2.1.4(vite@5.4.11) + '@vitest/pretty-format': 2.1.5 + '@vitest/runner': 2.1.4 + '@vitest/snapshot': 2.1.4 + '@vitest/spy': 2.1.4 + '@vitest/ui': 2.1.4(vitest@2.1.4) + '@vitest/utils': 2.1.4 + chai: 5.1.2 debug: 4.3.7 - magic-string: 0.30.11 + expect-type: 1.1.0 + magic-string: 0.30.12 pathe: 1.1.2 std-env: 3.7.0 tinybench: 2.9.0 - tinyexec: 0.3.0 + tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.8(@types/node@22.5.1) - vite-node: 2.1.2(@types/node@22.5.1) + vite: 5.4.11(@types/node@22.8.6) + vite-node: 2.1.4(@types/node@22.8.6) why-is-node-running: 2.3.0 transitivePeerDependencies: - less @@ -5017,8 +5041,8 @@ packages: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: false - /yaml@2.5.1: - resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} + /yaml@2.6.0: + resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} engines: {node: '>= 14'} hasBin: true dev: true diff --git a/turbo.json b/turbo.json index 6ee8b240..976ebecd 100644 --- a/turbo.json +++ b/turbo.json @@ -18,7 +18,7 @@ "dependsOn": ["^build", "build"] }, "test": { - "dependsOn": ["generate"], + "dependsOn": ["generate", "^generate"], "cache": false }, "attw": {