├── .gitignore ├── LICENSE ├── README.md ├── example ├── codegen.ts ├── fragment.test.ts ├── fragment.ts ├── gql │ ├── fragment-masking.ts │ ├── gql.ts │ ├── graphql.ts │ └── index.ts └── schema.graphql ├── package.json ├── pnpm-lock.yaml ├── src ├── index.cjs ├── index.d.test.ts └── index.d.ts ├── tests └── utils.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.tgz 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Tomoya Kashifuku 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # graphql-code-generator-unmask-fragment 2 | 3 | This package provide a helper function and a utility type for [graphql-code-generator](https://github.com/dotansimha/graphql-code-generator) in client-preset use cases. 4 | The function resolves [a problem with nested fragment](https://github.com/dotansimha/graphql-code-generator/issues/9702). 5 | 6 | ### `UnmaskFragment` 7 | 8 | `UnmaskFragment` utility type helps you to obtain a unmasked fragment type from its masked fragment type. 9 | 10 | ```ts 11 | const userFragment = graphql(` 12 | fragment UserFragment on User { 13 | id 14 | username 15 | } 16 | `); 17 | 18 | const postWithUserFragment = graphql(` 19 | fragment PostWithUserFragment on Post { 20 | id 21 | body 22 | author { 23 | ...UserFragment 24 | } 25 | } 26 | `); 27 | 28 | type UserFragment = FragmentType; 29 | type User = UnmaskFragment; 30 | /* 31 | type User = { 32 | __typename?: "User" | undefined; 33 | id: string; 34 | username?: string | null | undefined; 35 | } 36 | */ 37 | 38 | type PostWithUserFragment = FragmentType; 39 | type PostWithUser = UnmaskFragment; 40 | /* 41 | type PostWithUser = { 42 | __typename?: "Post" | undefined; 43 | id: string; 44 | body: string; 45 | author: { 46 | __typename?: "User" | undefined; 47 | id: string; 48 | username?: string | null | undefined; 49 | }; 50 | } 51 | */ 52 | ``` 53 | 54 | ### `makeFragmentData` 55 | 56 | `makeFragmentData` helper function helps you to make a fragment object in your tests. 57 | 58 | ```ts 59 | const userData: FragmentType = 60 | makeFragmentData( 61 | { 62 | id: "user:1", 63 | username: "Tom", 64 | }, 65 | UserFragment 66 | ); 67 | 68 | const postWithUserData: FragmentType = 69 | makeFragmentData( 70 | { 71 | id: "post2", 72 | author: { 73 | id: "user:1", 74 | username: "Tom", 75 | }, 76 | body: "Hello world", 77 | }, 78 | PostWithUserFragment 79 | ); 80 | ``` 81 | 82 | --- 83 | 84 | For more details, [please check an example](https://github.com/tnyo43/graphql-code-generator-unmask-fragment/tree/main/example). 85 | 86 | ## License 87 | 88 | MIT 89 | 90 | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://raw.githubusercontent.com/tnyo43/graphql-code-generator-unmask-fragment/main/LICENSE 91 | ) 92 | 93 | ## Supplementary Information 94 | 95 | I've created [a PR on graphql-code-generator](https://github.com/dotansimha/graphql-code-generator/pull/9708). This package won't be needed after it is merged. 96 | -------------------------------------------------------------------------------- /example/codegen.ts: -------------------------------------------------------------------------------- 1 | import { CodegenConfig } from "@graphql-codegen/cli"; 2 | 3 | const config: CodegenConfig = { 4 | schema: "example/schema.graphql", 5 | documents: ["example/**/*.ts"], 6 | emitLegacyCommonJSImports: false, 7 | generates: { 8 | "example/gql/": { 9 | preset: "client", 10 | }, 11 | }, 12 | }; 13 | 14 | export default config; 15 | -------------------------------------------------------------------------------- /example/fragment.test.ts: -------------------------------------------------------------------------------- 1 | import { type FragmentType } from "./gql"; 2 | import { makeFragmentData } from "../src"; 3 | import { type Equal, type Expect } from "../tests/utils" 4 | import { QueryOfNotificationsFragment, PostWithUserFragment, PostWithUserNameFragment, UserFragment, UserWithNestedFollowersAndPostsFragment } from "./fragment"; 5 | 6 | // the first argument of makeFragmentData should not be masked 7 | // - in case with a simple fragment 8 | type FragmentType1 = FragmentType 9 | const fragmentData1 = makeFragmentData({ 'id': 'user:1', 'username': 'Tom', }, UserFragment); 10 | 11 | // - in case with a fragment which includes another fragment 12 | type FragmentType2 = FragmentType 13 | const fragmentData2 = makeFragmentData({ 14 | 'id': 'post2', 15 | 'author': { 'id': 'user:1', 'username': 'Tom', }, 16 | 'body': 'Hello world' 17 | }, PostWithUserFragment); 18 | 19 | // - in case with a fragment which includes multiple fragment 20 | type FragmentType3 = FragmentType 21 | const fragmentData3 = makeFragmentData({ 22 | id: "post:3", 23 | author: { 24 | id: "user:1", 25 | username: "Tom", 26 | first_name: "Tomoya", 27 | }, 28 | body: "Hello", 29 | }, PostWithUserNameFragment); 30 | 31 | // - in case with a deeply nested fragment 32 | type FragmentType4 = FragmentType 33 | const fragmentData4 = makeFragmentData({ 34 | id: "user:3", 35 | username: "bob", 36 | first_name: "bob", 37 | full_name: "bob bob", 38 | Followers: [ 39 | { 40 | id: "user:4", 41 | username: "alice", 42 | Followers: [{ id: "user:3", username: "bob" }], 43 | Posts: [ 44 | { 45 | id: "post:5", 46 | author: { id: "user:4", username: "alice" }, 47 | body: "Hello", 48 | }, 49 | ], 50 | }, 51 | ], 52 | Posts: [ 53 | { 54 | id: "post:10", 55 | body: "Hi:)", 56 | author: { 57 | id: "user:3", 58 | username: "bob", 59 | Followers: [{ id: "user:4", username: "alice" }], 60 | }, 61 | }, 62 | ], 63 | }, UserWithNestedFollowersAndPostsFragment); 64 | 65 | // - in case with a fragment includes an interface 66 | type FragmentType5 = FragmentType 67 | const fragmentData5 = makeFragmentData({ 68 | notifications: [ 69 | { 70 | id: "information:1", 71 | body: "a new notification!", 72 | priority: 2, 73 | }, 74 | { 75 | id: "message:1", 76 | body: "a new message!", 77 | from: { 78 | id: "user:3", 79 | }, 80 | }, 81 | ], 82 | }, QueryOfNotificationsFragment); 83 | 84 | type _ = [ 85 | Expect>, 86 | Expect>, 87 | Expect>, 88 | Expect>, 89 | Expect>, 90 | ]; 91 | -------------------------------------------------------------------------------- /example/fragment.ts: -------------------------------------------------------------------------------- 1 | import { graphql } from "./gql"; 2 | 3 | export const UserFragment = graphql(` 4 | fragment UserFragment on User { 5 | id 6 | username 7 | } 8 | `); 9 | 10 | export const PostWithUserFragment = graphql(` 11 | fragment PostWithUserFragment on Post { 12 | id 13 | body 14 | author { 15 | ...UserFragment 16 | } 17 | } 18 | `); 19 | 20 | graphql(` 21 | fragment UserWithNameFragment on User { 22 | id 23 | username 24 | first_name 25 | last_name 26 | } 27 | `); 28 | export const PostWithUserNameFragment = graphql(` 29 | fragment PostWithUserNameFragment on Post { 30 | id 31 | body 32 | author { 33 | ...UserFragment 34 | ...UserWithNameFragment 35 | } 36 | } 37 | `); 38 | 39 | export const UserWithNestedFollowersAndPostsFragment = graphql(` 40 | fragment UserWithNestedFollowersAndPostsFragment on User { 41 | id 42 | ...UserFragment 43 | ...UserWithNameFragment 44 | full_name 45 | Followers { 46 | id 47 | ...UserFragment 48 | Followers { 49 | id 50 | ...UserFragment 51 | } 52 | Posts { 53 | ...PostWithUserFragment 54 | } 55 | } 56 | Posts { 57 | id 58 | ...PostWithUserFragment 59 | author { 60 | id 61 | Followers { 62 | id 63 | ...UserFragment 64 | } 65 | } 66 | } 67 | } 68 | `); 69 | 70 | export const QueryOfNotificationsFragment = graphql(` 71 | fragment QueryOfNotificationsFragment on Query { 72 | notifications { 73 | id 74 | ... on Message { 75 | body 76 | from { 77 | id 78 | } 79 | } 80 | ... on Information { 81 | body 82 | priority 83 | } 84 | } 85 | } 86 | `); 87 | -------------------------------------------------------------------------------- /example/gql/fragment-masking.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | import { ResultOf, DocumentTypeDecoration, TypedDocumentNode } from '@graphql-typed-document-node/core'; 3 | import { FragmentDefinitionNode } from 'graphql'; 4 | import { Incremental } from './graphql.js'; 5 | 6 | 7 | export type FragmentType> = TDocumentType extends DocumentTypeDecoration< 8 | infer TType, 9 | any 10 | > 11 | ? [TType] extends [{ ' $fragmentName'?: infer TKey }] 12 | ? TKey extends string 13 | ? { ' $fragmentRefs'?: { [key in TKey]: TType } } 14 | : never 15 | : never 16 | : never; 17 | 18 | // return non-nullable if `fragmentType` is non-nullable 19 | export function useFragment( 20 | _documentNode: DocumentTypeDecoration, 21 | fragmentType: FragmentType> 22 | ): TType; 23 | // return nullable if `fragmentType` is nullable 24 | export function useFragment( 25 | _documentNode: DocumentTypeDecoration, 26 | fragmentType: FragmentType> | null | undefined 27 | ): TType | null | undefined; 28 | // return array of non-nullable if `fragmentType` is array of non-nullable 29 | export function useFragment( 30 | _documentNode: DocumentTypeDecoration, 31 | fragmentType: ReadonlyArray>> 32 | ): ReadonlyArray; 33 | // return array of nullable if `fragmentType` is array of nullable 34 | export function useFragment( 35 | _documentNode: DocumentTypeDecoration, 36 | fragmentType: ReadonlyArray>> | null | undefined 37 | ): ReadonlyArray | null | undefined; 38 | export function useFragment( 39 | _documentNode: DocumentTypeDecoration, 40 | fragmentType: FragmentType> | ReadonlyArray>> | null | undefined 41 | ): TType | ReadonlyArray | null | undefined { 42 | return fragmentType as any; 43 | } 44 | 45 | 46 | export function makeFragmentData< 47 | F extends DocumentTypeDecoration, 48 | FT extends ResultOf 49 | >(data: FT, _fragment: F): FragmentType { 50 | return data as FragmentType; 51 | } 52 | export function isFragmentReady( 53 | queryNode: DocumentTypeDecoration, 54 | fragmentNode: TypedDocumentNode, 55 | data: FragmentType, any>> | null | undefined 56 | ): data is FragmentType { 57 | const deferredFields = (queryNode as { __meta__?: { deferredFields: Record } }).__meta__ 58 | ?.deferredFields; 59 | 60 | if (!deferredFields) return true; 61 | 62 | const fragDef = fragmentNode.definitions[0] as FragmentDefinitionNode | undefined; 63 | const fragName = fragDef?.name?.value; 64 | 65 | const fields = (fragName && deferredFields[fragName]) || []; 66 | return fields.length > 0 && fields.every(field => data && field in data); 67 | } 68 | -------------------------------------------------------------------------------- /example/gql/gql.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | import * as types from './graphql.js'; 3 | import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; 4 | 5 | /** 6 | * Map of all GraphQL operations in the project. 7 | * 8 | * This map has several performance disadvantages: 9 | * 1. It is not tree-shakeable, so it will include all operations in the project. 10 | * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle. 11 | * 3. It does not support dead code elimination, so it will add unused operations. 12 | * 13 | * Therefore it is highly recommended to use the babel or swc plugin for production. 14 | */ 15 | const documents = { 16 | "\n fragment UserFragment on User {\n id\n username\n }\n": types.UserFragmentFragmentDoc, 17 | "\n fragment PostWithUserFragment on Post {\n id\n body\n author {\n ...UserFragment\n }\n }\n": types.PostWithUserFragmentFragmentDoc, 18 | "\n fragment UserWithNameFragment on User {\n id\n username\n first_name\n last_name\n }\n": types.UserWithNameFragmentFragmentDoc, 19 | "\n fragment PostWithUserNameFragment on Post {\n id\n body\n author {\n ...UserFragment\n ...UserWithNameFragment\n }\n }\n": types.PostWithUserNameFragmentFragmentDoc, 20 | "\n fragment UserWithNestedFollowersAndPostsFragment on User {\n id\n ...UserFragment\n ...UserWithNameFragment\n full_name\n Followers {\n id\n ...UserFragment\n Followers {\n id\n ...UserFragment\n }\n Posts {\n ...PostWithUserFragment\n }\n }\n Posts {\n id\n ...PostWithUserFragment\n author {\n id\n Followers {\n id\n ...UserFragment\n }\n }\n }\n }\n": types.UserWithNestedFollowersAndPostsFragmentFragmentDoc, 21 | "\n fragment QueryOfNotificationsFragment on Query {\n notifications {\n id\n ... on Message {\n body\n from {\n id\n }\n }\n ... on Information {\n body\n priority\n }\n }\n }\n": types.QueryOfNotificationsFragmentFragmentDoc, 22 | }; 23 | 24 | /** 25 | * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. 26 | * 27 | * 28 | * @example 29 | * ```ts 30 | * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`); 31 | * ``` 32 | * 33 | * The query argument is unknown! 34 | * Please regenerate the types. 35 | */ 36 | export function graphql(source: string): unknown; 37 | 38 | /** 39 | * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. 40 | */ 41 | export function graphql(source: "\n fragment UserFragment on User {\n id\n username\n }\n"): (typeof documents)["\n fragment UserFragment on User {\n id\n username\n }\n"]; 42 | /** 43 | * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. 44 | */ 45 | export function graphql(source: "\n fragment PostWithUserFragment on Post {\n id\n body\n author {\n ...UserFragment\n }\n }\n"): (typeof documents)["\n fragment PostWithUserFragment on Post {\n id\n body\n author {\n ...UserFragment\n }\n }\n"]; 46 | /** 47 | * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. 48 | */ 49 | export function graphql(source: "\n fragment UserWithNameFragment on User {\n id\n username\n first_name\n last_name\n }\n"): (typeof documents)["\n fragment UserWithNameFragment on User {\n id\n username\n first_name\n last_name\n }\n"]; 50 | /** 51 | * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. 52 | */ 53 | export function graphql(source: "\n fragment PostWithUserNameFragment on Post {\n id\n body\n author {\n ...UserFragment\n ...UserWithNameFragment\n }\n }\n"): (typeof documents)["\n fragment PostWithUserNameFragment on Post {\n id\n body\n author {\n ...UserFragment\n ...UserWithNameFragment\n }\n }\n"]; 54 | /** 55 | * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. 56 | */ 57 | export function graphql(source: "\n fragment UserWithNestedFollowersAndPostsFragment on User {\n id\n ...UserFragment\n ...UserWithNameFragment\n full_name\n Followers {\n id\n ...UserFragment\n Followers {\n id\n ...UserFragment\n }\n Posts {\n ...PostWithUserFragment\n }\n }\n Posts {\n id\n ...PostWithUserFragment\n author {\n id\n Followers {\n id\n ...UserFragment\n }\n }\n }\n }\n"): (typeof documents)["\n fragment UserWithNestedFollowersAndPostsFragment on User {\n id\n ...UserFragment\n ...UserWithNameFragment\n full_name\n Followers {\n id\n ...UserFragment\n Followers {\n id\n ...UserFragment\n }\n Posts {\n ...PostWithUserFragment\n }\n }\n Posts {\n id\n ...PostWithUserFragment\n author {\n id\n Followers {\n id\n ...UserFragment\n }\n }\n }\n }\n"]; 58 | /** 59 | * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. 60 | */ 61 | export function graphql(source: "\n fragment QueryOfNotificationsFragment on Query {\n notifications {\n id\n ... on Message {\n body\n from {\n id\n }\n }\n ... on Information {\n body\n priority\n }\n }\n }\n"): (typeof documents)["\n fragment QueryOfNotificationsFragment on Query {\n notifications {\n id\n ... on Message {\n body\n from {\n id\n }\n }\n ... on Information {\n body\n priority\n }\n }\n }\n"]; 62 | 63 | export function graphql(source: string) { 64 | return (documents as any)[source] ?? {}; 65 | } 66 | 67 | export type DocumentType> = TDocumentNode extends DocumentNode< infer TType, any> ? TType : never; -------------------------------------------------------------------------------- /example/gql/graphql.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; 3 | export type Maybe = T | null; 4 | export type InputMaybe = Maybe; 5 | export type Exact = { [K in keyof T]: T[K] }; 6 | export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; 7 | export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; 8 | export type MakeEmpty = { [_ in K]?: never }; 9 | export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; 10 | /** All built-in and custom scalars, mapped to their actual values */ 11 | export type Scalars = { 12 | ID: { input: string; output: string; } 13 | String: { input: string; output: string; } 14 | Boolean: { input: boolean; output: boolean; } 15 | Int: { input: number; output: number; } 16 | Float: { input: number; output: number; } 17 | Date: { input: any; output: any; } 18 | Url: { input: any; output: any; } 19 | }; 20 | 21 | export type Information = Notification & { 22 | __typename?: 'Information'; 23 | body: Scalars['String']['output']; 24 | date?: Maybe; 25 | id: Scalars['ID']['output']; 26 | priority: Scalars['Int']['output']; 27 | }; 28 | 29 | export type Message = Notification & { 30 | __typename?: 'Message'; 31 | body: Scalars['String']['output']; 32 | date?: Maybe; 33 | from: User; 34 | id: Scalars['ID']['output']; 35 | to: User; 36 | }; 37 | 38 | export type Meta = { 39 | __typename?: 'Meta'; 40 | count?: Maybe; 41 | }; 42 | 43 | export type Mutation = { 44 | __typename?: 'Mutation'; 45 | createPost?: Maybe; 46 | deletePost?: Maybe; 47 | markPostRead?: Maybe; 48 | }; 49 | 50 | 51 | export type MutationCreatePostArgs = { 52 | body?: InputMaybe; 53 | }; 54 | 55 | 56 | export type MutationDeletePostArgs = { 57 | id: Scalars['ID']['input']; 58 | }; 59 | 60 | 61 | export type MutationMarkPostReadArgs = { 62 | id: Scalars['ID']['input']; 63 | }; 64 | 65 | export type Notification = { 66 | date?: Maybe; 67 | id: Scalars['ID']['output']; 68 | }; 69 | 70 | export type Post = { 71 | __typename?: 'Post'; 72 | Stats?: Maybe; 73 | author: User; 74 | body: Scalars['String']['output']; 75 | date?: Maybe; 76 | id: Scalars['ID']['output']; 77 | }; 78 | 79 | export type Query = { 80 | __typename?: 'Query'; 81 | Post?: Maybe; 82 | Posts?: Maybe>; 83 | PostsMeta?: Maybe; 84 | User?: Maybe; 85 | notifications?: Maybe>>; 86 | notificationsMeta?: Maybe; 87 | }; 88 | 89 | 90 | export type QueryPostArgs = { 91 | id: Scalars['ID']['input']; 92 | }; 93 | 94 | 95 | export type QueryPostsArgs = { 96 | limit?: InputMaybe; 97 | skip?: InputMaybe; 98 | sort_field?: InputMaybe; 99 | sort_order?: InputMaybe; 100 | }; 101 | 102 | 103 | export type QueryUserArgs = { 104 | id: Scalars['ID']['input']; 105 | }; 106 | 107 | 108 | export type QueryNotificationsArgs = { 109 | limit?: InputMaybe; 110 | }; 111 | 112 | export type Stat = { 113 | __typename?: 'Stat'; 114 | likes?: Maybe; 115 | responses?: Maybe; 116 | share?: Maybe; 117 | views?: Maybe; 118 | }; 119 | 120 | export type User = { 121 | __typename?: 'User'; 122 | Followers: Array; 123 | Posts: Array; 124 | avatar_url?: Maybe; 125 | first_name?: Maybe; 126 | full_name?: Maybe; 127 | id: Scalars['ID']['output']; 128 | last_name?: Maybe; 129 | /** @deprecated Field no longer supported */ 130 | name?: Maybe; 131 | username?: Maybe; 132 | }; 133 | 134 | export type UserFragmentFragment = { __typename?: 'User', id: string, username?: string | null } & { ' $fragmentName'?: 'UserFragmentFragment' }; 135 | 136 | export type PostWithUserFragmentFragment = { __typename?: 'Post', id: string, body: string, author: ( 137 | { __typename?: 'User' } 138 | & { ' $fragmentRefs'?: { 'UserFragmentFragment': UserFragmentFragment } } 139 | ) } & { ' $fragmentName'?: 'PostWithUserFragmentFragment' }; 140 | 141 | export type UserWithNameFragmentFragment = { __typename?: 'User', id: string, username?: string | null, first_name?: string | null, last_name?: string | null } & { ' $fragmentName'?: 'UserWithNameFragmentFragment' }; 142 | 143 | export type PostWithUserNameFragmentFragment = { __typename?: 'Post', id: string, body: string, author: ( 144 | { __typename?: 'User' } 145 | & { ' $fragmentRefs'?: { 'UserFragmentFragment': UserFragmentFragment;'UserWithNameFragmentFragment': UserWithNameFragmentFragment } } 146 | ) } & { ' $fragmentName'?: 'PostWithUserNameFragmentFragment' }; 147 | 148 | export type UserWithNestedFollowersAndPostsFragmentFragment = ( 149 | { __typename?: 'User', id: string, full_name?: string | null, Followers: Array<( 150 | { __typename?: 'User', id: string, Followers: Array<( 151 | { __typename?: 'User', id: string } 152 | & { ' $fragmentRefs'?: { 'UserFragmentFragment': UserFragmentFragment } } 153 | )>, Posts: Array<( 154 | { __typename?: 'Post' } 155 | & { ' $fragmentRefs'?: { 'PostWithUserFragmentFragment': PostWithUserFragmentFragment } } 156 | )> } 157 | & { ' $fragmentRefs'?: { 'UserFragmentFragment': UserFragmentFragment } } 158 | )>, Posts: Array<( 159 | { __typename?: 'Post', id: string, author: { __typename?: 'User', id: string, Followers: Array<( 160 | { __typename?: 'User', id: string } 161 | & { ' $fragmentRefs'?: { 'UserFragmentFragment': UserFragmentFragment } } 162 | )> } } 163 | & { ' $fragmentRefs'?: { 'PostWithUserFragmentFragment': PostWithUserFragmentFragment } } 164 | )> } 165 | & { ' $fragmentRefs'?: { 'UserFragmentFragment': UserFragmentFragment;'UserWithNameFragmentFragment': UserWithNameFragmentFragment } } 166 | ) & { ' $fragmentName'?: 'UserWithNestedFollowersAndPostsFragmentFragment' }; 167 | 168 | export type QueryOfNotificationsFragmentFragment = { __typename?: 'Query', notifications?: Array<{ __typename?: 'Information', body: string, priority: number, id: string } | { __typename?: 'Message', body: string, id: string, from: { __typename?: 'User', id: string } } | null> | null } & { ' $fragmentName'?: 'QueryOfNotificationsFragmentFragment' }; 169 | 170 | export const UserFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"UserFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}}]}}]} as unknown as DocumentNode; 171 | export const UserWithNameFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"UserWithNameFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}},{"kind":"Field","name":{"kind":"Name","value":"first_name"}},{"kind":"Field","name":{"kind":"Name","value":"last_name"}}]}}]} as unknown as DocumentNode; 172 | export const PostWithUserNameFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PostWithUserNameFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Post"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"body"}},{"kind":"Field","name":{"kind":"Name","value":"author"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"UserFragment"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"UserWithNameFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"UserFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"UserWithNameFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}},{"kind":"Field","name":{"kind":"Name","value":"first_name"}},{"kind":"Field","name":{"kind":"Name","value":"last_name"}}]}}]} as unknown as DocumentNode; 173 | export const PostWithUserFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PostWithUserFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Post"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"body"}},{"kind":"Field","name":{"kind":"Name","value":"author"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"UserFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"UserFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}}]}}]} as unknown as DocumentNode; 174 | export const UserWithNestedFollowersAndPostsFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"UserWithNestedFollowersAndPostsFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"UserFragment"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"UserWithNameFragment"}},{"kind":"Field","name":{"kind":"Name","value":"full_name"}},{"kind":"Field","name":{"kind":"Name","value":"Followers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"UserFragment"}},{"kind":"Field","name":{"kind":"Name","value":"Followers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"UserFragment"}}]}},{"kind":"Field","name":{"kind":"Name","value":"Posts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PostWithUserFragment"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"Posts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"PostWithUserFragment"}},{"kind":"Field","name":{"kind":"Name","value":"author"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"Followers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"UserFragment"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"UserFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"UserWithNameFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}},{"kind":"Field","name":{"kind":"Name","value":"first_name"}},{"kind":"Field","name":{"kind":"Name","value":"last_name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PostWithUserFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Post"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"body"}},{"kind":"Field","name":{"kind":"Name","value":"author"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"UserFragment"}}]}}]}}]} as unknown as DocumentNode; 175 | export const QueryOfNotificationsFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QueryOfNotificationsFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Query"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"notifications"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Message"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"body"}},{"kind":"Field","name":{"kind":"Name","value":"from"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Information"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"body"}},{"kind":"Field","name":{"kind":"Name","value":"priority"}}]}}]}}]}}]} as unknown as DocumentNode; -------------------------------------------------------------------------------- /example/gql/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./fragment-masking.js"; 2 | export * from "./gql.js"; -------------------------------------------------------------------------------- /example/schema.graphql: -------------------------------------------------------------------------------- 1 | scalar Url 2 | scalar Date 3 | 4 | type Post { 5 | id: ID! 6 | body: String! 7 | date: Date 8 | author: User! 9 | Stats: Stat 10 | } 11 | 12 | type User { 13 | id: ID! 14 | username: String 15 | first_name: String 16 | last_name: String 17 | full_name: String 18 | name: String @deprecated 19 | avatar_url: Url 20 | Followers: [User!]! 21 | Posts: [Post!]! 22 | } 23 | 24 | type Stat { 25 | views: Int 26 | likes: Int 27 | share: Int 28 | responses: Int 29 | } 30 | 31 | interface Notification { 32 | id: ID! 33 | date: Date 34 | } 35 | 36 | type Message implements Notification { 37 | id: ID! 38 | date: Date 39 | from: User! 40 | to: User! 41 | body: String! 42 | } 43 | 44 | type Information implements Notification { 45 | id: ID! 46 | date: Date 47 | body: String! 48 | priority: Int! 49 | } 50 | 51 | type Meta { 52 | count: Int 53 | } 54 | 55 | type Query { 56 | Post(id: ID!): Post 57 | Posts( 58 | limit: Int 59 | skip: Int 60 | sort_field: String 61 | sort_order: String 62 | ): [Post!] 63 | PostsMeta: Meta 64 | User(id: ID!): User 65 | notifications(limit: Int): [Notification] 66 | notificationsMeta: Meta 67 | } 68 | 69 | type Mutation { 70 | createPost(body: String): Post 71 | deletePost(id: ID!): Post 72 | markPostRead(id: ID!): Boolean 73 | } 74 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql-code-generator-unmask-fragment", 3 | "version": "1.2.0", 4 | "description": "This package provide a helper function and a utility type for graphql-code-generator in client-preset use cases.", 5 | "keywords": [ 6 | "graphql", 7 | "gql", 8 | "typescript", 9 | "d.ts" 10 | ], 11 | "repository": "github:tnyo43/graphql-code-generator-unmask-fragment", 12 | "homepage": "https://github.com/tnyo43/graphql-code-generator-unmask-fragment#readme", 13 | "bugs": "https://github.com/tnyo43/graphql-code-generator-unmask-fragment/issues", 14 | "type": "commonjs", 15 | "main": "./src/index.cjs", 16 | "types": "./src/index.d.ts", 17 | "scripts": { 18 | "test": "tsc --noEmit", 19 | "example:generate": "graphql-codegen --config example/codegen.ts" 20 | }, 21 | "files": ["src", "!*.test.*"], 22 | "author": "Tomoya Kashifuku", 23 | "license": "MIT", 24 | "devDependencies": { 25 | "@graphql-codegen/cli": "^5.0.2", 26 | "@graphql-codegen/client-preset": "^4.2.4", 27 | "@graphql-typed-document-node/core": "^3.2.0", 28 | "graphql": "^16.8.1", 29 | "typescript": "^5.3.3" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | devDependencies: 4 | '@graphql-codegen/cli': 5 | specifier: ^5.0.2 6 | version: 5.0.2(graphql@16.8.1)(typescript@5.3.3) 7 | '@graphql-codegen/client-preset': 8 | specifier: ^4.2.4 9 | version: 4.2.4(graphql@16.8.1) 10 | '@graphql-typed-document-node/core': 11 | specifier: ^3.2.0 12 | version: 3.2.0(graphql@16.8.1) 13 | graphql: 14 | specifier: ^16.8.1 15 | version: 16.8.1 16 | typescript: 17 | specifier: ^5.3.3 18 | version: 5.3.3 19 | 20 | packages: 21 | 22 | /@ampproject/remapping@2.3.0: 23 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 24 | engines: {node: '>=6.0.0'} 25 | dependencies: 26 | '@jridgewell/gen-mapping': 0.3.5 27 | '@jridgewell/trace-mapping': 0.3.25 28 | dev: true 29 | 30 | /@ardatan/relay-compiler@12.0.0(graphql@16.8.1): 31 | resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} 32 | hasBin: true 33 | peerDependencies: 34 | graphql: '*' 35 | dependencies: 36 | '@babel/core': 7.24.0 37 | '@babel/generator': 7.23.6 38 | '@babel/parser': 7.24.0 39 | '@babel/runtime': 7.24.0 40 | '@babel/traverse': 7.24.0 41 | '@babel/types': 7.24.0 42 | babel-preset-fbjs: 3.4.0(@babel/core@7.24.0) 43 | chalk: 4.1.2 44 | fb-watchman: 2.0.2 45 | fbjs: 3.0.5 46 | glob: 7.2.3 47 | graphql: 16.8.1 48 | immutable: 3.7.6 49 | invariant: 2.2.4 50 | nullthrows: 1.1.1 51 | relay-runtime: 12.0.0 52 | signedsource: 1.0.0 53 | yargs: 15.4.1 54 | transitivePeerDependencies: 55 | - encoding 56 | - supports-color 57 | dev: true 58 | 59 | /@ardatan/sync-fetch@0.0.1: 60 | resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==} 61 | engines: {node: '>=14'} 62 | dependencies: 63 | node-fetch: 2.7.0 64 | transitivePeerDependencies: 65 | - encoding 66 | dev: true 67 | 68 | /@babel/code-frame@7.23.5: 69 | resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} 70 | engines: {node: '>=6.9.0'} 71 | dependencies: 72 | '@babel/highlight': 7.23.4 73 | chalk: 2.4.2 74 | dev: true 75 | 76 | /@babel/compat-data@7.23.5: 77 | resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} 78 | engines: {node: '>=6.9.0'} 79 | dev: true 80 | 81 | /@babel/core@7.24.0: 82 | resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} 83 | engines: {node: '>=6.9.0'} 84 | dependencies: 85 | '@ampproject/remapping': 2.3.0 86 | '@babel/code-frame': 7.23.5 87 | '@babel/generator': 7.23.6 88 | '@babel/helper-compilation-targets': 7.23.6 89 | '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) 90 | '@babel/helpers': 7.24.0 91 | '@babel/parser': 7.24.0 92 | '@babel/template': 7.24.0 93 | '@babel/traverse': 7.24.0 94 | '@babel/types': 7.24.0 95 | convert-source-map: 2.0.0 96 | debug: 4.3.4 97 | gensync: 1.0.0-beta.2 98 | json5: 2.2.3 99 | semver: 6.3.1 100 | transitivePeerDependencies: 101 | - supports-color 102 | dev: true 103 | 104 | /@babel/generator@7.23.6: 105 | resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} 106 | engines: {node: '>=6.9.0'} 107 | dependencies: 108 | '@babel/types': 7.24.0 109 | '@jridgewell/gen-mapping': 0.3.5 110 | '@jridgewell/trace-mapping': 0.3.25 111 | jsesc: 2.5.2 112 | dev: true 113 | 114 | /@babel/helper-annotate-as-pure@7.22.5: 115 | resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} 116 | engines: {node: '>=6.9.0'} 117 | dependencies: 118 | '@babel/types': 7.24.0 119 | dev: true 120 | 121 | /@babel/helper-compilation-targets@7.23.6: 122 | resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} 123 | engines: {node: '>=6.9.0'} 124 | dependencies: 125 | '@babel/compat-data': 7.23.5 126 | '@babel/helper-validator-option': 7.23.5 127 | browserslist: 4.23.0 128 | lru-cache: 5.1.1 129 | semver: 6.3.1 130 | dev: true 131 | 132 | /@babel/helper-create-class-features-plugin@7.24.0(@babel/core@7.24.0): 133 | resolution: {integrity: sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==} 134 | engines: {node: '>=6.9.0'} 135 | peerDependencies: 136 | '@babel/core': ^7.0.0 137 | dependencies: 138 | '@babel/core': 7.24.0 139 | '@babel/helper-annotate-as-pure': 7.22.5 140 | '@babel/helper-environment-visitor': 7.22.20 141 | '@babel/helper-function-name': 7.23.0 142 | '@babel/helper-member-expression-to-functions': 7.23.0 143 | '@babel/helper-optimise-call-expression': 7.22.5 144 | '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) 145 | '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 146 | '@babel/helper-split-export-declaration': 7.22.6 147 | semver: 6.3.1 148 | dev: true 149 | 150 | /@babel/helper-environment-visitor@7.22.20: 151 | resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} 152 | engines: {node: '>=6.9.0'} 153 | dev: true 154 | 155 | /@babel/helper-function-name@7.23.0: 156 | resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} 157 | engines: {node: '>=6.9.0'} 158 | dependencies: 159 | '@babel/template': 7.24.0 160 | '@babel/types': 7.24.0 161 | dev: true 162 | 163 | /@babel/helper-hoist-variables@7.22.5: 164 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} 165 | engines: {node: '>=6.9.0'} 166 | dependencies: 167 | '@babel/types': 7.24.0 168 | dev: true 169 | 170 | /@babel/helper-member-expression-to-functions@7.23.0: 171 | resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} 172 | engines: {node: '>=6.9.0'} 173 | dependencies: 174 | '@babel/types': 7.24.0 175 | dev: true 176 | 177 | /@babel/helper-module-imports@7.22.15: 178 | resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} 179 | engines: {node: '>=6.9.0'} 180 | dependencies: 181 | '@babel/types': 7.24.0 182 | dev: true 183 | 184 | /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0): 185 | resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} 186 | engines: {node: '>=6.9.0'} 187 | peerDependencies: 188 | '@babel/core': ^7.0.0 189 | dependencies: 190 | '@babel/core': 7.24.0 191 | '@babel/helper-environment-visitor': 7.22.20 192 | '@babel/helper-module-imports': 7.22.15 193 | '@babel/helper-simple-access': 7.22.5 194 | '@babel/helper-split-export-declaration': 7.22.6 195 | '@babel/helper-validator-identifier': 7.22.20 196 | dev: true 197 | 198 | /@babel/helper-optimise-call-expression@7.22.5: 199 | resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} 200 | engines: {node: '>=6.9.0'} 201 | dependencies: 202 | '@babel/types': 7.24.0 203 | dev: true 204 | 205 | /@babel/helper-plugin-utils@7.24.0: 206 | resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} 207 | engines: {node: '>=6.9.0'} 208 | dev: true 209 | 210 | /@babel/helper-replace-supers@7.22.20(@babel/core@7.24.0): 211 | resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} 212 | engines: {node: '>=6.9.0'} 213 | peerDependencies: 214 | '@babel/core': ^7.0.0 215 | dependencies: 216 | '@babel/core': 7.24.0 217 | '@babel/helper-environment-visitor': 7.22.20 218 | '@babel/helper-member-expression-to-functions': 7.23.0 219 | '@babel/helper-optimise-call-expression': 7.22.5 220 | dev: true 221 | 222 | /@babel/helper-simple-access@7.22.5: 223 | resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} 224 | engines: {node: '>=6.9.0'} 225 | dependencies: 226 | '@babel/types': 7.24.0 227 | dev: true 228 | 229 | /@babel/helper-skip-transparent-expression-wrappers@7.22.5: 230 | resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} 231 | engines: {node: '>=6.9.0'} 232 | dependencies: 233 | '@babel/types': 7.24.0 234 | dev: true 235 | 236 | /@babel/helper-split-export-declaration@7.22.6: 237 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} 238 | engines: {node: '>=6.9.0'} 239 | dependencies: 240 | '@babel/types': 7.24.0 241 | dev: true 242 | 243 | /@babel/helper-string-parser@7.23.4: 244 | resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} 245 | engines: {node: '>=6.9.0'} 246 | dev: true 247 | 248 | /@babel/helper-validator-identifier@7.22.20: 249 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} 250 | engines: {node: '>=6.9.0'} 251 | dev: true 252 | 253 | /@babel/helper-validator-option@7.23.5: 254 | resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} 255 | engines: {node: '>=6.9.0'} 256 | dev: true 257 | 258 | /@babel/helpers@7.24.0: 259 | resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==} 260 | engines: {node: '>=6.9.0'} 261 | dependencies: 262 | '@babel/template': 7.24.0 263 | '@babel/traverse': 7.24.0 264 | '@babel/types': 7.24.0 265 | transitivePeerDependencies: 266 | - supports-color 267 | dev: true 268 | 269 | /@babel/highlight@7.23.4: 270 | resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} 271 | engines: {node: '>=6.9.0'} 272 | dependencies: 273 | '@babel/helper-validator-identifier': 7.22.20 274 | chalk: 2.4.2 275 | js-tokens: 4.0.0 276 | dev: true 277 | 278 | /@babel/parser@7.24.0: 279 | resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} 280 | engines: {node: '>=6.0.0'} 281 | hasBin: true 282 | dependencies: 283 | '@babel/types': 7.24.0 284 | dev: true 285 | 286 | /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.0): 287 | resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} 288 | engines: {node: '>=6.9.0'} 289 | deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. 290 | peerDependencies: 291 | '@babel/core': ^7.0.0-0 292 | dependencies: 293 | '@babel/core': 7.24.0 294 | '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) 295 | '@babel/helper-plugin-utils': 7.24.0 296 | dev: true 297 | 298 | /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.0): 299 | resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} 300 | engines: {node: '>=6.9.0'} 301 | deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. 302 | peerDependencies: 303 | '@babel/core': ^7.0.0-0 304 | dependencies: 305 | '@babel/compat-data': 7.23.5 306 | '@babel/core': 7.24.0 307 | '@babel/helper-compilation-targets': 7.23.6 308 | '@babel/helper-plugin-utils': 7.24.0 309 | '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) 310 | '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) 311 | dev: true 312 | 313 | /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0): 314 | resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} 315 | peerDependencies: 316 | '@babel/core': ^7.0.0-0 317 | dependencies: 318 | '@babel/core': 7.24.0 319 | '@babel/helper-plugin-utils': 7.24.0 320 | dev: true 321 | 322 | /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0): 323 | resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} 324 | engines: {node: '>=6.9.0'} 325 | peerDependencies: 326 | '@babel/core': ^7.0.0-0 327 | dependencies: 328 | '@babel/core': 7.24.0 329 | '@babel/helper-plugin-utils': 7.24.0 330 | dev: true 331 | 332 | /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0): 333 | resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} 334 | engines: {node: '>=6.9.0'} 335 | peerDependencies: 336 | '@babel/core': ^7.0.0-0 337 | dependencies: 338 | '@babel/core': 7.24.0 339 | '@babel/helper-plugin-utils': 7.24.0 340 | dev: true 341 | 342 | /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0): 343 | resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} 344 | engines: {node: '>=6.9.0'} 345 | peerDependencies: 346 | '@babel/core': ^7.0.0-0 347 | dependencies: 348 | '@babel/core': 7.24.0 349 | '@babel/helper-plugin-utils': 7.24.0 350 | dev: true 351 | 352 | /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0): 353 | resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} 354 | peerDependencies: 355 | '@babel/core': ^7.0.0-0 356 | dependencies: 357 | '@babel/core': 7.24.0 358 | '@babel/helper-plugin-utils': 7.24.0 359 | dev: true 360 | 361 | /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.24.0): 362 | resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} 363 | engines: {node: '>=6.9.0'} 364 | peerDependencies: 365 | '@babel/core': ^7.0.0-0 366 | dependencies: 367 | '@babel/core': 7.24.0 368 | '@babel/helper-plugin-utils': 7.24.0 369 | dev: true 370 | 371 | /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0): 372 | resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} 373 | engines: {node: '>=6.9.0'} 374 | peerDependencies: 375 | '@babel/core': ^7.0.0-0 376 | dependencies: 377 | '@babel/core': 7.24.0 378 | '@babel/helper-plugin-utils': 7.24.0 379 | dev: true 380 | 381 | /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.24.0): 382 | resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} 383 | engines: {node: '>=6.9.0'} 384 | peerDependencies: 385 | '@babel/core': ^7.0.0-0 386 | dependencies: 387 | '@babel/core': 7.24.0 388 | '@babel/helper-plugin-utils': 7.24.0 389 | dev: true 390 | 391 | /@babel/plugin-transform-classes@7.23.8(@babel/core@7.24.0): 392 | resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} 393 | engines: {node: '>=6.9.0'} 394 | peerDependencies: 395 | '@babel/core': ^7.0.0-0 396 | dependencies: 397 | '@babel/core': 7.24.0 398 | '@babel/helper-annotate-as-pure': 7.22.5 399 | '@babel/helper-compilation-targets': 7.23.6 400 | '@babel/helper-environment-visitor': 7.22.20 401 | '@babel/helper-function-name': 7.23.0 402 | '@babel/helper-plugin-utils': 7.24.0 403 | '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) 404 | '@babel/helper-split-export-declaration': 7.22.6 405 | globals: 11.12.0 406 | dev: true 407 | 408 | /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.24.0): 409 | resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} 410 | engines: {node: '>=6.9.0'} 411 | peerDependencies: 412 | '@babel/core': ^7.0.0-0 413 | dependencies: 414 | '@babel/core': 7.24.0 415 | '@babel/helper-plugin-utils': 7.24.0 416 | '@babel/template': 7.24.0 417 | dev: true 418 | 419 | /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.0): 420 | resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} 421 | engines: {node: '>=6.9.0'} 422 | peerDependencies: 423 | '@babel/core': ^7.0.0-0 424 | dependencies: 425 | '@babel/core': 7.24.0 426 | '@babel/helper-plugin-utils': 7.24.0 427 | dev: true 428 | 429 | /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.24.0): 430 | resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==} 431 | engines: {node: '>=6.9.0'} 432 | peerDependencies: 433 | '@babel/core': ^7.0.0-0 434 | dependencies: 435 | '@babel/core': 7.24.0 436 | '@babel/helper-plugin-utils': 7.24.0 437 | '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.0) 438 | dev: true 439 | 440 | /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0): 441 | resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} 442 | engines: {node: '>=6.9.0'} 443 | peerDependencies: 444 | '@babel/core': ^7.0.0-0 445 | dependencies: 446 | '@babel/core': 7.24.0 447 | '@babel/helper-plugin-utils': 7.24.0 448 | '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 449 | dev: true 450 | 451 | /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.24.0): 452 | resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} 453 | engines: {node: '>=6.9.0'} 454 | peerDependencies: 455 | '@babel/core': ^7.0.0-0 456 | dependencies: 457 | '@babel/core': 7.24.0 458 | '@babel/helper-compilation-targets': 7.23.6 459 | '@babel/helper-function-name': 7.23.0 460 | '@babel/helper-plugin-utils': 7.24.0 461 | dev: true 462 | 463 | /@babel/plugin-transform-literals@7.23.3(@babel/core@7.24.0): 464 | resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} 465 | engines: {node: '>=6.9.0'} 466 | peerDependencies: 467 | '@babel/core': ^7.0.0-0 468 | dependencies: 469 | '@babel/core': 7.24.0 470 | '@babel/helper-plugin-utils': 7.24.0 471 | dev: true 472 | 473 | /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0): 474 | resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} 475 | engines: {node: '>=6.9.0'} 476 | peerDependencies: 477 | '@babel/core': ^7.0.0-0 478 | dependencies: 479 | '@babel/core': 7.24.0 480 | '@babel/helper-plugin-utils': 7.24.0 481 | dev: true 482 | 483 | /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.0): 484 | resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} 485 | engines: {node: '>=6.9.0'} 486 | peerDependencies: 487 | '@babel/core': ^7.0.0-0 488 | dependencies: 489 | '@babel/core': 7.24.0 490 | '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) 491 | '@babel/helper-plugin-utils': 7.24.0 492 | '@babel/helper-simple-access': 7.22.5 493 | dev: true 494 | 495 | /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0): 496 | resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} 497 | engines: {node: '>=6.9.0'} 498 | peerDependencies: 499 | '@babel/core': ^7.0.0-0 500 | dependencies: 501 | '@babel/core': 7.24.0 502 | '@babel/helper-plugin-utils': 7.24.0 503 | '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) 504 | dev: true 505 | 506 | /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.24.0): 507 | resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} 508 | engines: {node: '>=6.9.0'} 509 | peerDependencies: 510 | '@babel/core': ^7.0.0-0 511 | dependencies: 512 | '@babel/core': 7.24.0 513 | '@babel/helper-plugin-utils': 7.24.0 514 | dev: true 515 | 516 | /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0): 517 | resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} 518 | engines: {node: '>=6.9.0'} 519 | peerDependencies: 520 | '@babel/core': ^7.0.0-0 521 | dependencies: 522 | '@babel/core': 7.24.0 523 | '@babel/helper-plugin-utils': 7.24.0 524 | dev: true 525 | 526 | /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.24.0): 527 | resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} 528 | engines: {node: '>=6.9.0'} 529 | peerDependencies: 530 | '@babel/core': ^7.0.0-0 531 | dependencies: 532 | '@babel/core': 7.24.0 533 | '@babel/helper-plugin-utils': 7.24.0 534 | dev: true 535 | 536 | /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0): 537 | resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} 538 | engines: {node: '>=6.9.0'} 539 | peerDependencies: 540 | '@babel/core': ^7.0.0-0 541 | dependencies: 542 | '@babel/core': 7.24.0 543 | '@babel/helper-annotate-as-pure': 7.22.5 544 | '@babel/helper-module-imports': 7.22.15 545 | '@babel/helper-plugin-utils': 7.24.0 546 | '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0) 547 | '@babel/types': 7.24.0 548 | dev: true 549 | 550 | /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.24.0): 551 | resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} 552 | engines: {node: '>=6.9.0'} 553 | peerDependencies: 554 | '@babel/core': ^7.0.0-0 555 | dependencies: 556 | '@babel/core': 7.24.0 557 | '@babel/helper-plugin-utils': 7.24.0 558 | dev: true 559 | 560 | /@babel/plugin-transform-spread@7.23.3(@babel/core@7.24.0): 561 | resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} 562 | engines: {node: '>=6.9.0'} 563 | peerDependencies: 564 | '@babel/core': ^7.0.0-0 565 | dependencies: 566 | '@babel/core': 7.24.0 567 | '@babel/helper-plugin-utils': 7.24.0 568 | '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 569 | dev: true 570 | 571 | /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.24.0): 572 | resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} 573 | engines: {node: '>=6.9.0'} 574 | peerDependencies: 575 | '@babel/core': ^7.0.0-0 576 | dependencies: 577 | '@babel/core': 7.24.0 578 | '@babel/helper-plugin-utils': 7.24.0 579 | dev: true 580 | 581 | /@babel/runtime@7.24.0: 582 | resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==} 583 | engines: {node: '>=6.9.0'} 584 | dependencies: 585 | regenerator-runtime: 0.14.1 586 | dev: true 587 | 588 | /@babel/template@7.24.0: 589 | resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} 590 | engines: {node: '>=6.9.0'} 591 | dependencies: 592 | '@babel/code-frame': 7.23.5 593 | '@babel/parser': 7.24.0 594 | '@babel/types': 7.24.0 595 | dev: true 596 | 597 | /@babel/traverse@7.24.0: 598 | resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==} 599 | engines: {node: '>=6.9.0'} 600 | dependencies: 601 | '@babel/code-frame': 7.23.5 602 | '@babel/generator': 7.23.6 603 | '@babel/helper-environment-visitor': 7.22.20 604 | '@babel/helper-function-name': 7.23.0 605 | '@babel/helper-hoist-variables': 7.22.5 606 | '@babel/helper-split-export-declaration': 7.22.6 607 | '@babel/parser': 7.24.0 608 | '@babel/types': 7.24.0 609 | debug: 4.3.4 610 | globals: 11.12.0 611 | transitivePeerDependencies: 612 | - supports-color 613 | dev: true 614 | 615 | /@babel/types@7.24.0: 616 | resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} 617 | engines: {node: '>=6.9.0'} 618 | dependencies: 619 | '@babel/helper-string-parser': 7.23.4 620 | '@babel/helper-validator-identifier': 7.22.20 621 | to-fast-properties: 2.0.0 622 | dev: true 623 | 624 | /@graphql-codegen/add@5.0.2(graphql@16.8.1): 625 | resolution: {integrity: sha512-ouBkSvMFUhda5VoKumo/ZvsZM9P5ZTyDsI8LW18VxSNWOjrTeLXBWHG8Gfaai0HwhflPtCYVABbriEcOmrRShQ==} 626 | peerDependencies: 627 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 628 | dependencies: 629 | '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) 630 | graphql: 16.8.1 631 | tslib: 2.6.2 632 | dev: true 633 | 634 | /@graphql-codegen/cli@5.0.2(graphql@16.8.1)(typescript@5.3.3): 635 | resolution: {integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==} 636 | hasBin: true 637 | peerDependencies: 638 | '@parcel/watcher': ^2.1.0 639 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 640 | peerDependenciesMeta: 641 | '@parcel/watcher': 642 | optional: true 643 | dependencies: 644 | '@babel/generator': 7.23.6 645 | '@babel/template': 7.24.0 646 | '@babel/types': 7.24.0 647 | '@graphql-codegen/client-preset': 4.2.4(graphql@16.8.1) 648 | '@graphql-codegen/core': 4.0.2(graphql@16.8.1) 649 | '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) 650 | '@graphql-tools/apollo-engine-loader': 8.0.1(graphql@16.8.1) 651 | '@graphql-tools/code-file-loader': 8.1.1(graphql@16.8.1) 652 | '@graphql-tools/git-loader': 8.0.5(graphql@16.8.1) 653 | '@graphql-tools/github-loader': 8.0.1(graphql@16.8.1) 654 | '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.8.1) 655 | '@graphql-tools/json-file-loader': 8.0.1(graphql@16.8.1) 656 | '@graphql-tools/load': 8.0.2(graphql@16.8.1) 657 | '@graphql-tools/prisma-loader': 8.0.3(graphql@16.8.1) 658 | '@graphql-tools/url-loader': 8.0.2(graphql@16.8.1) 659 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 660 | '@whatwg-node/fetch': 0.8.8 661 | chalk: 4.1.2 662 | cosmiconfig: 8.3.6(typescript@5.3.3) 663 | debounce: 1.2.1 664 | detect-indent: 6.1.0 665 | graphql: 16.8.1 666 | graphql-config: 5.0.3(graphql@16.8.1)(typescript@5.3.3) 667 | inquirer: 8.2.6 668 | is-glob: 4.0.3 669 | jiti: 1.21.0 670 | json-to-pretty-yaml: 1.2.2 671 | listr2: 4.0.5 672 | log-symbols: 4.1.0 673 | micromatch: 4.0.5 674 | shell-quote: 1.8.1 675 | string-env-interpolation: 1.0.1 676 | ts-log: 2.2.5 677 | tslib: 2.6.2 678 | yaml: 2.4.0 679 | yargs: 17.7.2 680 | transitivePeerDependencies: 681 | - '@types/node' 682 | - bufferutil 683 | - cosmiconfig-toml-loader 684 | - encoding 685 | - enquirer 686 | - supports-color 687 | - typescript 688 | - utf-8-validate 689 | dev: true 690 | 691 | /@graphql-codegen/client-preset@4.2.4(graphql@16.8.1): 692 | resolution: {integrity: sha512-k1c8v2YxJhhITGQGxViG9asLAoop9m7X9duU7Zztqjc98ooxsUzXICfvAWsH3mLAUibXAx4Ax6BPzKsTtQmBPg==} 693 | peerDependencies: 694 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 695 | dependencies: 696 | '@babel/helper-plugin-utils': 7.24.0 697 | '@babel/template': 7.24.0 698 | '@graphql-codegen/add': 5.0.2(graphql@16.8.1) 699 | '@graphql-codegen/gql-tag-operations': 4.0.6(graphql@16.8.1) 700 | '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) 701 | '@graphql-codegen/typed-document-node': 5.0.6(graphql@16.8.1) 702 | '@graphql-codegen/typescript': 4.0.6(graphql@16.8.1) 703 | '@graphql-codegen/typescript-operations': 4.2.0(graphql@16.8.1) 704 | '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) 705 | '@graphql-tools/documents': 1.0.0(graphql@16.8.1) 706 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 707 | '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) 708 | graphql: 16.8.1 709 | tslib: 2.6.2 710 | transitivePeerDependencies: 711 | - encoding 712 | - supports-color 713 | dev: true 714 | 715 | /@graphql-codegen/core@4.0.2(graphql@16.8.1): 716 | resolution: {integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==} 717 | peerDependencies: 718 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 719 | dependencies: 720 | '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) 721 | '@graphql-tools/schema': 10.0.3(graphql@16.8.1) 722 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 723 | graphql: 16.8.1 724 | tslib: 2.6.2 725 | dev: true 726 | 727 | /@graphql-codegen/gql-tag-operations@4.0.6(graphql@16.8.1): 728 | resolution: {integrity: sha512-y6iXEDpDNjwNxJw3WZqX1/Znj0QHW7+y8O+t2V8qvbTT+3kb2lr9ntc8By7vCr6ctw9tXI4XKaJgpTstJDOwFA==} 729 | peerDependencies: 730 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 731 | dependencies: 732 | '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) 733 | '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) 734 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 735 | auto-bind: 4.0.0 736 | graphql: 16.8.1 737 | tslib: 2.6.2 738 | transitivePeerDependencies: 739 | - encoding 740 | - supports-color 741 | dev: true 742 | 743 | /@graphql-codegen/plugin-helpers@5.0.3(graphql@16.8.1): 744 | resolution: {integrity: sha512-yZ1rpULIWKBZqCDlvGIJRSyj1B2utkEdGmXZTBT/GVayP4hyRYlkd36AJV/LfEsVD8dnsKL5rLz2VTYmRNlJ5Q==} 745 | peerDependencies: 746 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 747 | dependencies: 748 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 749 | change-case-all: 1.0.15 750 | common-tags: 1.8.2 751 | graphql: 16.8.1 752 | import-from: 4.0.0 753 | lodash: 4.17.21 754 | tslib: 2.6.2 755 | dev: true 756 | 757 | /@graphql-codegen/schema-ast@4.0.2(graphql@16.8.1): 758 | resolution: {integrity: sha512-5mVAOQQK3Oz7EtMl/l3vOQdc2aYClUzVDHHkMvZlunc+KlGgl81j8TLa+X7ANIllqU4fUEsQU3lJmk4hXP6K7Q==} 759 | peerDependencies: 760 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 761 | dependencies: 762 | '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) 763 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 764 | graphql: 16.8.1 765 | tslib: 2.6.2 766 | dev: true 767 | 768 | /@graphql-codegen/typed-document-node@5.0.6(graphql@16.8.1): 769 | resolution: {integrity: sha512-US0J95hOE2/W/h42w4oiY+DFKG7IetEN1mQMgXXeat1w6FAR5PlIz4JrRrEkiVfVetZ1g7K78SOwBD8/IJnDiA==} 770 | peerDependencies: 771 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 772 | dependencies: 773 | '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) 774 | '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) 775 | auto-bind: 4.0.0 776 | change-case-all: 1.0.15 777 | graphql: 16.8.1 778 | tslib: 2.6.2 779 | transitivePeerDependencies: 780 | - encoding 781 | - supports-color 782 | dev: true 783 | 784 | /@graphql-codegen/typescript-operations@4.2.0(graphql@16.8.1): 785 | resolution: {integrity: sha512-lmuwYb03XC7LNRS8oo9M4/vlOrq/wOKmTLBHlltK2YJ1BO/4K/Q9Jdv/jDmJpNydHVR1fmeF4wAfsIp1f9JibA==} 786 | peerDependencies: 787 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 788 | dependencies: 789 | '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) 790 | '@graphql-codegen/typescript': 4.0.6(graphql@16.8.1) 791 | '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) 792 | auto-bind: 4.0.0 793 | graphql: 16.8.1 794 | tslib: 2.6.2 795 | transitivePeerDependencies: 796 | - encoding 797 | - supports-color 798 | dev: true 799 | 800 | /@graphql-codegen/typescript@4.0.6(graphql@16.8.1): 801 | resolution: {integrity: sha512-IBG4N+Blv7KAL27bseruIoLTjORFCT3r+QYyMC3g11uY3/9TPpaUyjSdF70yBe5GIQ6dAgDU+ENUC1v7EPi0rw==} 802 | peerDependencies: 803 | graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 804 | dependencies: 805 | '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) 806 | '@graphql-codegen/schema-ast': 4.0.2(graphql@16.8.1) 807 | '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) 808 | auto-bind: 4.0.0 809 | graphql: 16.8.1 810 | tslib: 2.6.2 811 | transitivePeerDependencies: 812 | - encoding 813 | - supports-color 814 | dev: true 815 | 816 | /@graphql-codegen/visitor-plugin-common@5.1.0(graphql@16.8.1): 817 | resolution: {integrity: sha512-eamQxtA9bjJqI2lU5eYoA1GbdMIRT2X8m8vhWYsVQVWD3qM7sx/IqJU0kx0J3Vd4/CSd36BzL6RKwksibytDIg==} 818 | peerDependencies: 819 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 820 | dependencies: 821 | '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) 822 | '@graphql-tools/optimize': 2.0.0(graphql@16.8.1) 823 | '@graphql-tools/relay-operation-optimizer': 7.0.1(graphql@16.8.1) 824 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 825 | auto-bind: 4.0.0 826 | change-case-all: 1.0.15 827 | dependency-graph: 0.11.0 828 | graphql: 16.8.1 829 | graphql-tag: 2.12.6(graphql@16.8.1) 830 | parse-filepath: 1.0.2 831 | tslib: 2.6.2 832 | transitivePeerDependencies: 833 | - encoding 834 | - supports-color 835 | dev: true 836 | 837 | /@graphql-tools/apollo-engine-loader@8.0.1(graphql@16.8.1): 838 | resolution: {integrity: sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA==} 839 | engines: {node: '>=16.0.0'} 840 | peerDependencies: 841 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 842 | dependencies: 843 | '@ardatan/sync-fetch': 0.0.1 844 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 845 | '@whatwg-node/fetch': 0.9.17 846 | graphql: 16.8.1 847 | tslib: 2.6.2 848 | transitivePeerDependencies: 849 | - encoding 850 | dev: true 851 | 852 | /@graphql-tools/batch-execute@9.0.4(graphql@16.8.1): 853 | resolution: {integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==} 854 | engines: {node: '>=16.0.0'} 855 | peerDependencies: 856 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 857 | dependencies: 858 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 859 | dataloader: 2.2.2 860 | graphql: 16.8.1 861 | tslib: 2.6.2 862 | value-or-promise: 1.0.12 863 | dev: true 864 | 865 | /@graphql-tools/code-file-loader@8.1.1(graphql@16.8.1): 866 | resolution: {integrity: sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ==} 867 | engines: {node: '>=16.0.0'} 868 | peerDependencies: 869 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 870 | dependencies: 871 | '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) 872 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 873 | globby: 11.1.0 874 | graphql: 16.8.1 875 | tslib: 2.6.2 876 | unixify: 1.0.0 877 | transitivePeerDependencies: 878 | - supports-color 879 | dev: true 880 | 881 | /@graphql-tools/delegate@10.0.4(graphql@16.8.1): 882 | resolution: {integrity: sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q==} 883 | engines: {node: '>=16.0.0'} 884 | peerDependencies: 885 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 886 | dependencies: 887 | '@graphql-tools/batch-execute': 9.0.4(graphql@16.8.1) 888 | '@graphql-tools/executor': 1.2.1(graphql@16.8.1) 889 | '@graphql-tools/schema': 10.0.3(graphql@16.8.1) 890 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 891 | dataloader: 2.2.2 892 | graphql: 16.8.1 893 | tslib: 2.6.2 894 | dev: true 895 | 896 | /@graphql-tools/documents@1.0.0(graphql@16.8.1): 897 | resolution: {integrity: sha512-rHGjX1vg/nZ2DKqRGfDPNC55CWZBMldEVcH+91BThRa6JeT80NqXknffLLEZLRUxyikCfkwMsk6xR3UNMqG0Rg==} 898 | engines: {node: '>=16.0.0'} 899 | peerDependencies: 900 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 901 | dependencies: 902 | graphql: 16.8.1 903 | lodash.sortby: 4.7.0 904 | tslib: 2.6.2 905 | dev: true 906 | 907 | /@graphql-tools/executor-graphql-ws@1.1.2(graphql@16.8.1): 908 | resolution: {integrity: sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg==} 909 | engines: {node: '>=16.0.0'} 910 | peerDependencies: 911 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 912 | dependencies: 913 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 914 | '@types/ws': 8.5.10 915 | graphql: 16.8.1 916 | graphql-ws: 5.15.0(graphql@16.8.1) 917 | isomorphic-ws: 5.0.0(ws@8.16.0) 918 | tslib: 2.6.2 919 | ws: 8.16.0 920 | transitivePeerDependencies: 921 | - bufferutil 922 | - utf-8-validate 923 | dev: true 924 | 925 | /@graphql-tools/executor-http@1.0.9(graphql@16.8.1): 926 | resolution: {integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==} 927 | engines: {node: '>=16.0.0'} 928 | peerDependencies: 929 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 930 | dependencies: 931 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 932 | '@repeaterjs/repeater': 3.0.5 933 | '@whatwg-node/fetch': 0.9.17 934 | extract-files: 11.0.0 935 | graphql: 16.8.1 936 | meros: 1.3.0 937 | tslib: 2.6.2 938 | value-or-promise: 1.0.12 939 | transitivePeerDependencies: 940 | - '@types/node' 941 | dev: true 942 | 943 | /@graphql-tools/executor-legacy-ws@1.0.6(graphql@16.8.1): 944 | resolution: {integrity: sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg==} 945 | engines: {node: '>=16.0.0'} 946 | peerDependencies: 947 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 948 | dependencies: 949 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 950 | '@types/ws': 8.5.10 951 | graphql: 16.8.1 952 | isomorphic-ws: 5.0.0(ws@8.16.0) 953 | tslib: 2.6.2 954 | ws: 8.16.0 955 | transitivePeerDependencies: 956 | - bufferutil 957 | - utf-8-validate 958 | dev: true 959 | 960 | /@graphql-tools/executor@1.2.1(graphql@16.8.1): 961 | resolution: {integrity: sha512-BP5UI1etbNOXmTSt7q4NL1+zsURFgh2pG+Hyt9K/xO0LlsfbSx59L5dHLerqZP7Js0xI6GYqrUQ4m29rUwUHJg==} 962 | engines: {node: '>=16.0.0'} 963 | peerDependencies: 964 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 965 | dependencies: 966 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 967 | '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) 968 | '@repeaterjs/repeater': 3.0.5 969 | graphql: 16.8.1 970 | tslib: 2.6.2 971 | value-or-promise: 1.0.12 972 | dev: true 973 | 974 | /@graphql-tools/git-loader@8.0.5(graphql@16.8.1): 975 | resolution: {integrity: sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA==} 976 | engines: {node: '>=16.0.0'} 977 | peerDependencies: 978 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 979 | dependencies: 980 | '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) 981 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 982 | graphql: 16.8.1 983 | is-glob: 4.0.3 984 | micromatch: 4.0.5 985 | tslib: 2.6.2 986 | unixify: 1.0.0 987 | transitivePeerDependencies: 988 | - supports-color 989 | dev: true 990 | 991 | /@graphql-tools/github-loader@8.0.1(graphql@16.8.1): 992 | resolution: {integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==} 993 | engines: {node: '>=16.0.0'} 994 | peerDependencies: 995 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 996 | dependencies: 997 | '@ardatan/sync-fetch': 0.0.1 998 | '@graphql-tools/executor-http': 1.0.9(graphql@16.8.1) 999 | '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) 1000 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1001 | '@whatwg-node/fetch': 0.9.17 1002 | graphql: 16.8.1 1003 | tslib: 2.6.2 1004 | value-or-promise: 1.0.12 1005 | transitivePeerDependencies: 1006 | - '@types/node' 1007 | - encoding 1008 | - supports-color 1009 | dev: true 1010 | 1011 | /@graphql-tools/graphql-file-loader@8.0.1(graphql@16.8.1): 1012 | resolution: {integrity: sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA==} 1013 | engines: {node: '>=16.0.0'} 1014 | peerDependencies: 1015 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1016 | dependencies: 1017 | '@graphql-tools/import': 7.0.1(graphql@16.8.1) 1018 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1019 | globby: 11.1.0 1020 | graphql: 16.8.1 1021 | tslib: 2.6.2 1022 | unixify: 1.0.0 1023 | dev: true 1024 | 1025 | /@graphql-tools/graphql-tag-pluck@8.3.0(graphql@16.8.1): 1026 | resolution: {integrity: sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw==} 1027 | engines: {node: '>=16.0.0'} 1028 | peerDependencies: 1029 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1030 | dependencies: 1031 | '@babel/core': 7.24.0 1032 | '@babel/parser': 7.24.0 1033 | '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.24.0) 1034 | '@babel/traverse': 7.24.0 1035 | '@babel/types': 7.24.0 1036 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1037 | graphql: 16.8.1 1038 | tslib: 2.6.2 1039 | transitivePeerDependencies: 1040 | - supports-color 1041 | dev: true 1042 | 1043 | /@graphql-tools/import@7.0.1(graphql@16.8.1): 1044 | resolution: {integrity: sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w==} 1045 | engines: {node: '>=16.0.0'} 1046 | peerDependencies: 1047 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1048 | dependencies: 1049 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1050 | graphql: 16.8.1 1051 | resolve-from: 5.0.0 1052 | tslib: 2.6.2 1053 | dev: true 1054 | 1055 | /@graphql-tools/json-file-loader@8.0.1(graphql@16.8.1): 1056 | resolution: {integrity: sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA==} 1057 | engines: {node: '>=16.0.0'} 1058 | peerDependencies: 1059 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1060 | dependencies: 1061 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1062 | globby: 11.1.0 1063 | graphql: 16.8.1 1064 | tslib: 2.6.2 1065 | unixify: 1.0.0 1066 | dev: true 1067 | 1068 | /@graphql-tools/load@8.0.2(graphql@16.8.1): 1069 | resolution: {integrity: sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA==} 1070 | engines: {node: '>=16.0.0'} 1071 | peerDependencies: 1072 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1073 | dependencies: 1074 | '@graphql-tools/schema': 10.0.3(graphql@16.8.1) 1075 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1076 | graphql: 16.8.1 1077 | p-limit: 3.1.0 1078 | tslib: 2.6.2 1079 | dev: true 1080 | 1081 | /@graphql-tools/merge@9.0.3(graphql@16.8.1): 1082 | resolution: {integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==} 1083 | engines: {node: '>=16.0.0'} 1084 | peerDependencies: 1085 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1086 | dependencies: 1087 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1088 | graphql: 16.8.1 1089 | tslib: 2.6.2 1090 | dev: true 1091 | 1092 | /@graphql-tools/optimize@2.0.0(graphql@16.8.1): 1093 | resolution: {integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==} 1094 | engines: {node: '>=16.0.0'} 1095 | peerDependencies: 1096 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1097 | dependencies: 1098 | graphql: 16.8.1 1099 | tslib: 2.6.2 1100 | dev: true 1101 | 1102 | /@graphql-tools/prisma-loader@8.0.3(graphql@16.8.1): 1103 | resolution: {integrity: sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q==} 1104 | engines: {node: '>=16.0.0'} 1105 | peerDependencies: 1106 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1107 | dependencies: 1108 | '@graphql-tools/url-loader': 8.0.2(graphql@16.8.1) 1109 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1110 | '@types/js-yaml': 4.0.9 1111 | '@types/json-stable-stringify': 1.0.36 1112 | '@whatwg-node/fetch': 0.9.17 1113 | chalk: 4.1.2 1114 | debug: 4.3.4 1115 | dotenv: 16.4.5 1116 | graphql: 16.8.1 1117 | graphql-request: 6.1.0(graphql@16.8.1) 1118 | http-proxy-agent: 7.0.2 1119 | https-proxy-agent: 7.0.4 1120 | jose: 5.2.2 1121 | js-yaml: 4.1.0 1122 | json-stable-stringify: 1.1.1 1123 | lodash: 4.17.21 1124 | scuid: 1.1.0 1125 | tslib: 2.6.2 1126 | yaml-ast-parser: 0.0.43 1127 | transitivePeerDependencies: 1128 | - '@types/node' 1129 | - bufferutil 1130 | - encoding 1131 | - supports-color 1132 | - utf-8-validate 1133 | dev: true 1134 | 1135 | /@graphql-tools/relay-operation-optimizer@7.0.1(graphql@16.8.1): 1136 | resolution: {integrity: sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A==} 1137 | engines: {node: '>=16.0.0'} 1138 | peerDependencies: 1139 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1140 | dependencies: 1141 | '@ardatan/relay-compiler': 12.0.0(graphql@16.8.1) 1142 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1143 | graphql: 16.8.1 1144 | tslib: 2.6.2 1145 | transitivePeerDependencies: 1146 | - encoding 1147 | - supports-color 1148 | dev: true 1149 | 1150 | /@graphql-tools/schema@10.0.3(graphql@16.8.1): 1151 | resolution: {integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==} 1152 | engines: {node: '>=16.0.0'} 1153 | peerDependencies: 1154 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1155 | dependencies: 1156 | '@graphql-tools/merge': 9.0.3(graphql@16.8.1) 1157 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1158 | graphql: 16.8.1 1159 | tslib: 2.6.2 1160 | value-or-promise: 1.0.12 1161 | dev: true 1162 | 1163 | /@graphql-tools/url-loader@8.0.2(graphql@16.8.1): 1164 | resolution: {integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==} 1165 | engines: {node: '>=16.0.0'} 1166 | peerDependencies: 1167 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1168 | dependencies: 1169 | '@ardatan/sync-fetch': 0.0.1 1170 | '@graphql-tools/delegate': 10.0.4(graphql@16.8.1) 1171 | '@graphql-tools/executor-graphql-ws': 1.1.2(graphql@16.8.1) 1172 | '@graphql-tools/executor-http': 1.0.9(graphql@16.8.1) 1173 | '@graphql-tools/executor-legacy-ws': 1.0.6(graphql@16.8.1) 1174 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1175 | '@graphql-tools/wrap': 10.0.2(graphql@16.8.1) 1176 | '@types/ws': 8.5.10 1177 | '@whatwg-node/fetch': 0.9.17 1178 | graphql: 16.8.1 1179 | isomorphic-ws: 5.0.0(ws@8.16.0) 1180 | tslib: 2.6.2 1181 | value-or-promise: 1.0.12 1182 | ws: 8.16.0 1183 | transitivePeerDependencies: 1184 | - '@types/node' 1185 | - bufferutil 1186 | - encoding 1187 | - utf-8-validate 1188 | dev: true 1189 | 1190 | /@graphql-tools/utils@10.1.0(graphql@16.8.1): 1191 | resolution: {integrity: sha512-wLPqhgeZ9BZJPRoaQbsDN/CtJDPd/L4qmmtPkjI3NuYJ39x+Eqz1Sh34EAGMuDh+xlOHqBwHczkZUpoK9tvzjw==} 1192 | engines: {node: '>=16.0.0'} 1193 | peerDependencies: 1194 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1195 | dependencies: 1196 | '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) 1197 | cross-inspect: 1.0.0 1198 | dset: 3.1.3 1199 | graphql: 16.8.1 1200 | tslib: 2.6.2 1201 | dev: true 1202 | 1203 | /@graphql-tools/wrap@10.0.2(graphql@16.8.1): 1204 | resolution: {integrity: sha512-nb/YjBcyF02KBCy3hiyw0nBKIC+qkiDY/tGMCcIe4pM6BPEcnreaPhXA28Rdge7lKtySF4Mhbc86XafFH5bIkQ==} 1205 | engines: {node: '>=16.0.0'} 1206 | peerDependencies: 1207 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1208 | dependencies: 1209 | '@graphql-tools/delegate': 10.0.4(graphql@16.8.1) 1210 | '@graphql-tools/schema': 10.0.3(graphql@16.8.1) 1211 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 1212 | graphql: 16.8.1 1213 | tslib: 2.6.2 1214 | value-or-promise: 1.0.12 1215 | dev: true 1216 | 1217 | /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): 1218 | resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} 1219 | peerDependencies: 1220 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1221 | dependencies: 1222 | graphql: 16.8.1 1223 | dev: true 1224 | 1225 | /@jridgewell/gen-mapping@0.3.5: 1226 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 1227 | engines: {node: '>=6.0.0'} 1228 | dependencies: 1229 | '@jridgewell/set-array': 1.2.1 1230 | '@jridgewell/sourcemap-codec': 1.4.15 1231 | '@jridgewell/trace-mapping': 0.3.25 1232 | dev: true 1233 | 1234 | /@jridgewell/resolve-uri@3.1.2: 1235 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 1236 | engines: {node: '>=6.0.0'} 1237 | dev: true 1238 | 1239 | /@jridgewell/set-array@1.2.1: 1240 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 1241 | engines: {node: '>=6.0.0'} 1242 | dev: true 1243 | 1244 | /@jridgewell/sourcemap-codec@1.4.15: 1245 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 1246 | dev: true 1247 | 1248 | /@jridgewell/trace-mapping@0.3.25: 1249 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 1250 | dependencies: 1251 | '@jridgewell/resolve-uri': 3.1.2 1252 | '@jridgewell/sourcemap-codec': 1.4.15 1253 | dev: true 1254 | 1255 | /@kamilkisiela/fast-url-parser@1.1.4: 1256 | resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} 1257 | dev: true 1258 | 1259 | /@nodelib/fs.scandir@2.1.5: 1260 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 1261 | engines: {node: '>= 8'} 1262 | dependencies: 1263 | '@nodelib/fs.stat': 2.0.5 1264 | run-parallel: 1.2.0 1265 | dev: true 1266 | 1267 | /@nodelib/fs.stat@2.0.5: 1268 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 1269 | engines: {node: '>= 8'} 1270 | dev: true 1271 | 1272 | /@nodelib/fs.walk@1.2.8: 1273 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 1274 | engines: {node: '>= 8'} 1275 | dependencies: 1276 | '@nodelib/fs.scandir': 2.1.5 1277 | fastq: 1.17.1 1278 | dev: true 1279 | 1280 | /@peculiar/asn1-schema@2.3.8: 1281 | resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} 1282 | dependencies: 1283 | asn1js: 3.0.5 1284 | pvtsutils: 1.3.5 1285 | tslib: 2.6.2 1286 | dev: true 1287 | 1288 | /@peculiar/json-schema@1.1.12: 1289 | resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} 1290 | engines: {node: '>=8.0.0'} 1291 | dependencies: 1292 | tslib: 2.6.2 1293 | dev: true 1294 | 1295 | /@peculiar/webcrypto@1.4.5: 1296 | resolution: {integrity: sha512-oDk93QCDGdxFRM8382Zdminzs44dg3M2+E5Np+JWkpqLDyJC9DviMh8F8mEJkYuUcUOGA5jHO5AJJ10MFWdbZw==} 1297 | engines: {node: '>=10.12.0'} 1298 | dependencies: 1299 | '@peculiar/asn1-schema': 2.3.8 1300 | '@peculiar/json-schema': 1.1.12 1301 | pvtsutils: 1.3.5 1302 | tslib: 2.6.2 1303 | webcrypto-core: 1.7.8 1304 | dev: true 1305 | 1306 | /@repeaterjs/repeater@3.0.5: 1307 | resolution: {integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==} 1308 | dev: true 1309 | 1310 | /@types/js-yaml@4.0.9: 1311 | resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} 1312 | dev: true 1313 | 1314 | /@types/json-stable-stringify@1.0.36: 1315 | resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} 1316 | dev: true 1317 | 1318 | /@types/node@20.11.24: 1319 | resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} 1320 | dependencies: 1321 | undici-types: 5.26.5 1322 | dev: true 1323 | 1324 | /@types/ws@8.5.10: 1325 | resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} 1326 | dependencies: 1327 | '@types/node': 20.11.24 1328 | dev: true 1329 | 1330 | /@whatwg-node/events@0.0.3: 1331 | resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} 1332 | dev: true 1333 | 1334 | /@whatwg-node/events@0.1.1: 1335 | resolution: {integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==} 1336 | engines: {node: '>=16.0.0'} 1337 | dev: true 1338 | 1339 | /@whatwg-node/fetch@0.8.8: 1340 | resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==} 1341 | dependencies: 1342 | '@peculiar/webcrypto': 1.4.5 1343 | '@whatwg-node/node-fetch': 0.3.6 1344 | busboy: 1.6.0 1345 | urlpattern-polyfill: 8.0.2 1346 | web-streams-polyfill: 3.3.3 1347 | dev: true 1348 | 1349 | /@whatwg-node/fetch@0.9.17: 1350 | resolution: {integrity: sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q==} 1351 | engines: {node: '>=16.0.0'} 1352 | dependencies: 1353 | '@whatwg-node/node-fetch': 0.5.7 1354 | urlpattern-polyfill: 10.0.0 1355 | dev: true 1356 | 1357 | /@whatwg-node/node-fetch@0.3.6: 1358 | resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} 1359 | dependencies: 1360 | '@whatwg-node/events': 0.0.3 1361 | busboy: 1.6.0 1362 | fast-querystring: 1.1.2 1363 | fast-url-parser: 1.1.3 1364 | tslib: 2.6.2 1365 | dev: true 1366 | 1367 | /@whatwg-node/node-fetch@0.5.7: 1368 | resolution: {integrity: sha512-YZA+N3JcW1eh2QRi7o/ij+M07M0dqID73ltgsOEMRyEc2UYVDbyomaih+CWCEZqBIDHw4KMDveXvv4SBZ4TLIw==} 1369 | engines: {node: '>=16.0.0'} 1370 | dependencies: 1371 | '@kamilkisiela/fast-url-parser': 1.1.4 1372 | '@whatwg-node/events': 0.1.1 1373 | busboy: 1.6.0 1374 | fast-querystring: 1.1.2 1375 | tslib: 2.6.2 1376 | dev: true 1377 | 1378 | /agent-base@7.1.0: 1379 | resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} 1380 | engines: {node: '>= 14'} 1381 | dependencies: 1382 | debug: 4.3.4 1383 | transitivePeerDependencies: 1384 | - supports-color 1385 | dev: true 1386 | 1387 | /aggregate-error@3.1.0: 1388 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 1389 | engines: {node: '>=8'} 1390 | dependencies: 1391 | clean-stack: 2.2.0 1392 | indent-string: 4.0.0 1393 | dev: true 1394 | 1395 | /ansi-escapes@4.3.2: 1396 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 1397 | engines: {node: '>=8'} 1398 | dependencies: 1399 | type-fest: 0.21.3 1400 | dev: true 1401 | 1402 | /ansi-regex@5.0.1: 1403 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1404 | engines: {node: '>=8'} 1405 | dev: true 1406 | 1407 | /ansi-styles@3.2.1: 1408 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 1409 | engines: {node: '>=4'} 1410 | dependencies: 1411 | color-convert: 1.9.3 1412 | dev: true 1413 | 1414 | /ansi-styles@4.3.0: 1415 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1416 | engines: {node: '>=8'} 1417 | dependencies: 1418 | color-convert: 2.0.1 1419 | dev: true 1420 | 1421 | /argparse@2.0.1: 1422 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 1423 | dev: true 1424 | 1425 | /array-union@2.1.0: 1426 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 1427 | engines: {node: '>=8'} 1428 | dev: true 1429 | 1430 | /asap@2.0.6: 1431 | resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} 1432 | dev: true 1433 | 1434 | /asn1js@3.0.5: 1435 | resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} 1436 | engines: {node: '>=12.0.0'} 1437 | dependencies: 1438 | pvtsutils: 1.3.5 1439 | pvutils: 1.1.3 1440 | tslib: 2.6.2 1441 | dev: true 1442 | 1443 | /astral-regex@2.0.0: 1444 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 1445 | engines: {node: '>=8'} 1446 | dev: true 1447 | 1448 | /auto-bind@4.0.0: 1449 | resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} 1450 | engines: {node: '>=8'} 1451 | dev: true 1452 | 1453 | /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: 1454 | resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} 1455 | dev: true 1456 | 1457 | /babel-preset-fbjs@3.4.0(@babel/core@7.24.0): 1458 | resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} 1459 | peerDependencies: 1460 | '@babel/core': ^7.0.0 1461 | dependencies: 1462 | '@babel/core': 7.24.0 1463 | '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.0) 1464 | '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.0) 1465 | '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0) 1466 | '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.0) 1467 | '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0) 1468 | '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) 1469 | '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.24.0) 1470 | '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.24.0) 1471 | '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.24.0) 1472 | '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.24.0) 1473 | '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.24.0) 1474 | '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.24.0) 1475 | '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.24.0) 1476 | '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.24.0) 1477 | '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.24.0) 1478 | '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.24.0) 1479 | '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.24.0) 1480 | '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) 1481 | '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.24.0) 1482 | '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) 1483 | '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.24.0) 1484 | '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.24.0) 1485 | '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.0) 1486 | '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.24.0) 1487 | '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.24.0) 1488 | '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.24.0) 1489 | babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 1490 | dev: true 1491 | 1492 | /balanced-match@1.0.2: 1493 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1494 | dev: true 1495 | 1496 | /base64-js@1.5.1: 1497 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 1498 | dev: true 1499 | 1500 | /bl@4.1.0: 1501 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 1502 | dependencies: 1503 | buffer: 5.7.1 1504 | inherits: 2.0.4 1505 | readable-stream: 3.6.2 1506 | dev: true 1507 | 1508 | /brace-expansion@1.1.11: 1509 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1510 | dependencies: 1511 | balanced-match: 1.0.2 1512 | concat-map: 0.0.1 1513 | dev: true 1514 | 1515 | /braces@3.0.2: 1516 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1517 | engines: {node: '>=8'} 1518 | dependencies: 1519 | fill-range: 7.0.1 1520 | dev: true 1521 | 1522 | /browserslist@4.23.0: 1523 | resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} 1524 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1525 | hasBin: true 1526 | dependencies: 1527 | caniuse-lite: 1.0.30001593 1528 | electron-to-chromium: 1.4.690 1529 | node-releases: 2.0.14 1530 | update-browserslist-db: 1.0.13(browserslist@4.23.0) 1531 | dev: true 1532 | 1533 | /bser@2.1.1: 1534 | resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} 1535 | dependencies: 1536 | node-int64: 0.4.0 1537 | dev: true 1538 | 1539 | /buffer@5.7.1: 1540 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 1541 | dependencies: 1542 | base64-js: 1.5.1 1543 | ieee754: 1.2.1 1544 | dev: true 1545 | 1546 | /busboy@1.6.0: 1547 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 1548 | engines: {node: '>=10.16.0'} 1549 | dependencies: 1550 | streamsearch: 1.1.0 1551 | dev: true 1552 | 1553 | /call-bind@1.0.7: 1554 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 1555 | engines: {node: '>= 0.4'} 1556 | dependencies: 1557 | es-define-property: 1.0.0 1558 | es-errors: 1.3.0 1559 | function-bind: 1.1.2 1560 | get-intrinsic: 1.2.4 1561 | set-function-length: 1.2.1 1562 | dev: true 1563 | 1564 | /callsites@3.1.0: 1565 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1566 | engines: {node: '>=6'} 1567 | dev: true 1568 | 1569 | /camel-case@4.1.2: 1570 | resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} 1571 | dependencies: 1572 | pascal-case: 3.1.2 1573 | tslib: 2.6.2 1574 | dev: true 1575 | 1576 | /camelcase@5.3.1: 1577 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 1578 | engines: {node: '>=6'} 1579 | dev: true 1580 | 1581 | /caniuse-lite@1.0.30001593: 1582 | resolution: {integrity: sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==} 1583 | dev: true 1584 | 1585 | /capital-case@1.0.4: 1586 | resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} 1587 | dependencies: 1588 | no-case: 3.0.4 1589 | tslib: 2.6.2 1590 | upper-case-first: 2.0.2 1591 | dev: true 1592 | 1593 | /chalk@2.4.2: 1594 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1595 | engines: {node: '>=4'} 1596 | dependencies: 1597 | ansi-styles: 3.2.1 1598 | escape-string-regexp: 1.0.5 1599 | supports-color: 5.5.0 1600 | dev: true 1601 | 1602 | /chalk@4.1.2: 1603 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1604 | engines: {node: '>=10'} 1605 | dependencies: 1606 | ansi-styles: 4.3.0 1607 | supports-color: 7.2.0 1608 | dev: true 1609 | 1610 | /change-case-all@1.0.15: 1611 | resolution: {integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==} 1612 | dependencies: 1613 | change-case: 4.1.2 1614 | is-lower-case: 2.0.2 1615 | is-upper-case: 2.0.2 1616 | lower-case: 2.0.2 1617 | lower-case-first: 2.0.2 1618 | sponge-case: 1.0.1 1619 | swap-case: 2.0.2 1620 | title-case: 3.0.3 1621 | upper-case: 2.0.2 1622 | upper-case-first: 2.0.2 1623 | dev: true 1624 | 1625 | /change-case@4.1.2: 1626 | resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} 1627 | dependencies: 1628 | camel-case: 4.1.2 1629 | capital-case: 1.0.4 1630 | constant-case: 3.0.4 1631 | dot-case: 3.0.4 1632 | header-case: 2.0.4 1633 | no-case: 3.0.4 1634 | param-case: 3.0.4 1635 | pascal-case: 3.1.2 1636 | path-case: 3.0.4 1637 | sentence-case: 3.0.4 1638 | snake-case: 3.0.4 1639 | tslib: 2.6.2 1640 | dev: true 1641 | 1642 | /chardet@0.7.0: 1643 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 1644 | dev: true 1645 | 1646 | /clean-stack@2.2.0: 1647 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 1648 | engines: {node: '>=6'} 1649 | dev: true 1650 | 1651 | /cli-cursor@3.1.0: 1652 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 1653 | engines: {node: '>=8'} 1654 | dependencies: 1655 | restore-cursor: 3.1.0 1656 | dev: true 1657 | 1658 | /cli-spinners@2.9.2: 1659 | resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 1660 | engines: {node: '>=6'} 1661 | dev: true 1662 | 1663 | /cli-truncate@2.1.0: 1664 | resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} 1665 | engines: {node: '>=8'} 1666 | dependencies: 1667 | slice-ansi: 3.0.0 1668 | string-width: 4.2.3 1669 | dev: true 1670 | 1671 | /cli-width@3.0.0: 1672 | resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} 1673 | engines: {node: '>= 10'} 1674 | dev: true 1675 | 1676 | /cliui@6.0.0: 1677 | resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} 1678 | dependencies: 1679 | string-width: 4.2.3 1680 | strip-ansi: 6.0.1 1681 | wrap-ansi: 6.2.0 1682 | dev: true 1683 | 1684 | /cliui@8.0.1: 1685 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1686 | engines: {node: '>=12'} 1687 | dependencies: 1688 | string-width: 4.2.3 1689 | strip-ansi: 6.0.1 1690 | wrap-ansi: 7.0.0 1691 | dev: true 1692 | 1693 | /clone@1.0.4: 1694 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 1695 | engines: {node: '>=0.8'} 1696 | dev: true 1697 | 1698 | /color-convert@1.9.3: 1699 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1700 | dependencies: 1701 | color-name: 1.1.3 1702 | dev: true 1703 | 1704 | /color-convert@2.0.1: 1705 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1706 | engines: {node: '>=7.0.0'} 1707 | dependencies: 1708 | color-name: 1.1.4 1709 | dev: true 1710 | 1711 | /color-name@1.1.3: 1712 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1713 | dev: true 1714 | 1715 | /color-name@1.1.4: 1716 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1717 | dev: true 1718 | 1719 | /colorette@2.0.20: 1720 | resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} 1721 | dev: true 1722 | 1723 | /common-tags@1.8.2: 1724 | resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} 1725 | engines: {node: '>=4.0.0'} 1726 | dev: true 1727 | 1728 | /concat-map@0.0.1: 1729 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1730 | dev: true 1731 | 1732 | /constant-case@3.0.4: 1733 | resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} 1734 | dependencies: 1735 | no-case: 3.0.4 1736 | tslib: 2.6.2 1737 | upper-case: 2.0.2 1738 | dev: true 1739 | 1740 | /convert-source-map@2.0.0: 1741 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 1742 | dev: true 1743 | 1744 | /cosmiconfig@8.3.6(typescript@5.3.3): 1745 | resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} 1746 | engines: {node: '>=14'} 1747 | peerDependencies: 1748 | typescript: '>=4.9.5' 1749 | peerDependenciesMeta: 1750 | typescript: 1751 | optional: true 1752 | dependencies: 1753 | import-fresh: 3.3.0 1754 | js-yaml: 4.1.0 1755 | parse-json: 5.2.0 1756 | path-type: 4.0.0 1757 | typescript: 5.3.3 1758 | dev: true 1759 | 1760 | /cross-fetch@3.1.8: 1761 | resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} 1762 | dependencies: 1763 | node-fetch: 2.7.0 1764 | transitivePeerDependencies: 1765 | - encoding 1766 | dev: true 1767 | 1768 | /cross-inspect@1.0.0: 1769 | resolution: {integrity: sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==} 1770 | engines: {node: '>=16.0.0'} 1771 | dependencies: 1772 | tslib: 2.6.2 1773 | dev: true 1774 | 1775 | /dataloader@2.2.2: 1776 | resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} 1777 | dev: true 1778 | 1779 | /debounce@1.2.1: 1780 | resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} 1781 | dev: true 1782 | 1783 | /debug@4.3.4: 1784 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1785 | engines: {node: '>=6.0'} 1786 | peerDependencies: 1787 | supports-color: '*' 1788 | peerDependenciesMeta: 1789 | supports-color: 1790 | optional: true 1791 | dependencies: 1792 | ms: 2.1.2 1793 | dev: true 1794 | 1795 | /decamelize@1.2.0: 1796 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 1797 | engines: {node: '>=0.10.0'} 1798 | dev: true 1799 | 1800 | /defaults@1.0.4: 1801 | resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} 1802 | dependencies: 1803 | clone: 1.0.4 1804 | dev: true 1805 | 1806 | /define-data-property@1.1.4: 1807 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 1808 | engines: {node: '>= 0.4'} 1809 | dependencies: 1810 | es-define-property: 1.0.0 1811 | es-errors: 1.3.0 1812 | gopd: 1.0.1 1813 | dev: true 1814 | 1815 | /dependency-graph@0.11.0: 1816 | resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} 1817 | engines: {node: '>= 0.6.0'} 1818 | dev: true 1819 | 1820 | /detect-indent@6.1.0: 1821 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 1822 | engines: {node: '>=8'} 1823 | dev: true 1824 | 1825 | /dir-glob@3.0.1: 1826 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1827 | engines: {node: '>=8'} 1828 | dependencies: 1829 | path-type: 4.0.0 1830 | dev: true 1831 | 1832 | /dot-case@3.0.4: 1833 | resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} 1834 | dependencies: 1835 | no-case: 3.0.4 1836 | tslib: 2.6.2 1837 | dev: true 1838 | 1839 | /dotenv@16.4.5: 1840 | resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} 1841 | engines: {node: '>=12'} 1842 | dev: true 1843 | 1844 | /dset@3.1.3: 1845 | resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} 1846 | engines: {node: '>=4'} 1847 | dev: true 1848 | 1849 | /electron-to-chromium@1.4.690: 1850 | resolution: {integrity: sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==} 1851 | dev: true 1852 | 1853 | /emoji-regex@8.0.0: 1854 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1855 | dev: true 1856 | 1857 | /error-ex@1.3.2: 1858 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1859 | dependencies: 1860 | is-arrayish: 0.2.1 1861 | dev: true 1862 | 1863 | /es-define-property@1.0.0: 1864 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 1865 | engines: {node: '>= 0.4'} 1866 | dependencies: 1867 | get-intrinsic: 1.2.4 1868 | dev: true 1869 | 1870 | /es-errors@1.3.0: 1871 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 1872 | engines: {node: '>= 0.4'} 1873 | dev: true 1874 | 1875 | /escalade@3.1.2: 1876 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 1877 | engines: {node: '>=6'} 1878 | dev: true 1879 | 1880 | /escape-string-regexp@1.0.5: 1881 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1882 | engines: {node: '>=0.8.0'} 1883 | dev: true 1884 | 1885 | /external-editor@3.1.0: 1886 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 1887 | engines: {node: '>=4'} 1888 | dependencies: 1889 | chardet: 0.7.0 1890 | iconv-lite: 0.4.24 1891 | tmp: 0.0.33 1892 | dev: true 1893 | 1894 | /extract-files@11.0.0: 1895 | resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} 1896 | engines: {node: ^12.20 || >= 14.13} 1897 | dev: true 1898 | 1899 | /fast-decode-uri-component@1.0.1: 1900 | resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} 1901 | dev: true 1902 | 1903 | /fast-glob@3.3.2: 1904 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1905 | engines: {node: '>=8.6.0'} 1906 | dependencies: 1907 | '@nodelib/fs.stat': 2.0.5 1908 | '@nodelib/fs.walk': 1.2.8 1909 | glob-parent: 5.1.2 1910 | merge2: 1.4.1 1911 | micromatch: 4.0.5 1912 | dev: true 1913 | 1914 | /fast-querystring@1.1.2: 1915 | resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} 1916 | dependencies: 1917 | fast-decode-uri-component: 1.0.1 1918 | dev: true 1919 | 1920 | /fast-url-parser@1.1.3: 1921 | resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} 1922 | dependencies: 1923 | punycode: 1.4.1 1924 | dev: true 1925 | 1926 | /fastq@1.17.1: 1927 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1928 | dependencies: 1929 | reusify: 1.0.4 1930 | dev: true 1931 | 1932 | /fb-watchman@2.0.2: 1933 | resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} 1934 | dependencies: 1935 | bser: 2.1.1 1936 | dev: true 1937 | 1938 | /fbjs-css-vars@1.0.2: 1939 | resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} 1940 | dev: true 1941 | 1942 | /fbjs@3.0.5: 1943 | resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} 1944 | dependencies: 1945 | cross-fetch: 3.1.8 1946 | fbjs-css-vars: 1.0.2 1947 | loose-envify: 1.4.0 1948 | object-assign: 4.1.1 1949 | promise: 7.3.1 1950 | setimmediate: 1.0.5 1951 | ua-parser-js: 1.0.37 1952 | transitivePeerDependencies: 1953 | - encoding 1954 | dev: true 1955 | 1956 | /figures@3.2.0: 1957 | resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} 1958 | engines: {node: '>=8'} 1959 | dependencies: 1960 | escape-string-regexp: 1.0.5 1961 | dev: true 1962 | 1963 | /fill-range@7.0.1: 1964 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1965 | engines: {node: '>=8'} 1966 | dependencies: 1967 | to-regex-range: 5.0.1 1968 | dev: true 1969 | 1970 | /find-up@4.1.0: 1971 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1972 | engines: {node: '>=8'} 1973 | dependencies: 1974 | locate-path: 5.0.0 1975 | path-exists: 4.0.0 1976 | dev: true 1977 | 1978 | /fs.realpath@1.0.0: 1979 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1980 | dev: true 1981 | 1982 | /function-bind@1.1.2: 1983 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1984 | dev: true 1985 | 1986 | /gensync@1.0.0-beta.2: 1987 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1988 | engines: {node: '>=6.9.0'} 1989 | dev: true 1990 | 1991 | /get-caller-file@2.0.5: 1992 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1993 | engines: {node: 6.* || 8.* || >= 10.*} 1994 | dev: true 1995 | 1996 | /get-intrinsic@1.2.4: 1997 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 1998 | engines: {node: '>= 0.4'} 1999 | dependencies: 2000 | es-errors: 1.3.0 2001 | function-bind: 1.1.2 2002 | has-proto: 1.0.3 2003 | has-symbols: 1.0.3 2004 | hasown: 2.0.1 2005 | dev: true 2006 | 2007 | /glob-parent@5.1.2: 2008 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 2009 | engines: {node: '>= 6'} 2010 | dependencies: 2011 | is-glob: 4.0.3 2012 | dev: true 2013 | 2014 | /glob@7.2.3: 2015 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 2016 | dependencies: 2017 | fs.realpath: 1.0.0 2018 | inflight: 1.0.6 2019 | inherits: 2.0.4 2020 | minimatch: 3.1.2 2021 | once: 1.4.0 2022 | path-is-absolute: 1.0.1 2023 | dev: true 2024 | 2025 | /globals@11.12.0: 2026 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 2027 | engines: {node: '>=4'} 2028 | dev: true 2029 | 2030 | /globby@11.1.0: 2031 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 2032 | engines: {node: '>=10'} 2033 | dependencies: 2034 | array-union: 2.1.0 2035 | dir-glob: 3.0.1 2036 | fast-glob: 3.3.2 2037 | ignore: 5.3.1 2038 | merge2: 1.4.1 2039 | slash: 3.0.0 2040 | dev: true 2041 | 2042 | /gopd@1.0.1: 2043 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 2044 | dependencies: 2045 | get-intrinsic: 1.2.4 2046 | dev: true 2047 | 2048 | /graphql-config@5.0.3(graphql@16.8.1)(typescript@5.3.3): 2049 | resolution: {integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==} 2050 | engines: {node: '>= 16.0.0'} 2051 | peerDependencies: 2052 | cosmiconfig-toml-loader: ^1.0.0 2053 | graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 2054 | peerDependenciesMeta: 2055 | cosmiconfig-toml-loader: 2056 | optional: true 2057 | dependencies: 2058 | '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.8.1) 2059 | '@graphql-tools/json-file-loader': 8.0.1(graphql@16.8.1) 2060 | '@graphql-tools/load': 8.0.2(graphql@16.8.1) 2061 | '@graphql-tools/merge': 9.0.3(graphql@16.8.1) 2062 | '@graphql-tools/url-loader': 8.0.2(graphql@16.8.1) 2063 | '@graphql-tools/utils': 10.1.0(graphql@16.8.1) 2064 | cosmiconfig: 8.3.6(typescript@5.3.3) 2065 | graphql: 16.8.1 2066 | jiti: 1.21.0 2067 | minimatch: 4.2.3 2068 | string-env-interpolation: 1.0.1 2069 | tslib: 2.6.2 2070 | transitivePeerDependencies: 2071 | - '@types/node' 2072 | - bufferutil 2073 | - encoding 2074 | - typescript 2075 | - utf-8-validate 2076 | dev: true 2077 | 2078 | /graphql-request@6.1.0(graphql@16.8.1): 2079 | resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} 2080 | peerDependencies: 2081 | graphql: 14 - 16 2082 | dependencies: 2083 | '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) 2084 | cross-fetch: 3.1.8 2085 | graphql: 16.8.1 2086 | transitivePeerDependencies: 2087 | - encoding 2088 | dev: true 2089 | 2090 | /graphql-tag@2.12.6(graphql@16.8.1): 2091 | resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} 2092 | engines: {node: '>=10'} 2093 | peerDependencies: 2094 | graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 2095 | dependencies: 2096 | graphql: 16.8.1 2097 | tslib: 2.6.2 2098 | dev: true 2099 | 2100 | /graphql-ws@5.15.0(graphql@16.8.1): 2101 | resolution: {integrity: sha512-xWGAtm3fig9TIhSaNsg0FaDZ8Pyn/3re3RFlP4rhQcmjRDIPpk1EhRuNB+YSJtLzttyuToaDiNhwT1OMoGnJnw==} 2102 | engines: {node: '>=10'} 2103 | peerDependencies: 2104 | graphql: '>=0.11 <=16' 2105 | dependencies: 2106 | graphql: 16.8.1 2107 | dev: true 2108 | 2109 | /graphql@16.8.1: 2110 | resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} 2111 | engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} 2112 | dev: true 2113 | 2114 | /has-flag@3.0.0: 2115 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 2116 | engines: {node: '>=4'} 2117 | dev: true 2118 | 2119 | /has-flag@4.0.0: 2120 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2121 | engines: {node: '>=8'} 2122 | dev: true 2123 | 2124 | /has-property-descriptors@1.0.2: 2125 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 2126 | dependencies: 2127 | es-define-property: 1.0.0 2128 | dev: true 2129 | 2130 | /has-proto@1.0.3: 2131 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 2132 | engines: {node: '>= 0.4'} 2133 | dev: true 2134 | 2135 | /has-symbols@1.0.3: 2136 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 2137 | engines: {node: '>= 0.4'} 2138 | dev: true 2139 | 2140 | /hasown@2.0.1: 2141 | resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} 2142 | engines: {node: '>= 0.4'} 2143 | dependencies: 2144 | function-bind: 1.1.2 2145 | dev: true 2146 | 2147 | /header-case@2.0.4: 2148 | resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} 2149 | dependencies: 2150 | capital-case: 1.0.4 2151 | tslib: 2.6.2 2152 | dev: true 2153 | 2154 | /http-proxy-agent@7.0.2: 2155 | resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} 2156 | engines: {node: '>= 14'} 2157 | dependencies: 2158 | agent-base: 7.1.0 2159 | debug: 4.3.4 2160 | transitivePeerDependencies: 2161 | - supports-color 2162 | dev: true 2163 | 2164 | /https-proxy-agent@7.0.4: 2165 | resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} 2166 | engines: {node: '>= 14'} 2167 | dependencies: 2168 | agent-base: 7.1.0 2169 | debug: 4.3.4 2170 | transitivePeerDependencies: 2171 | - supports-color 2172 | dev: true 2173 | 2174 | /iconv-lite@0.4.24: 2175 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 2176 | engines: {node: '>=0.10.0'} 2177 | dependencies: 2178 | safer-buffer: 2.1.2 2179 | dev: true 2180 | 2181 | /ieee754@1.2.1: 2182 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 2183 | dev: true 2184 | 2185 | /ignore@5.3.1: 2186 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 2187 | engines: {node: '>= 4'} 2188 | dev: true 2189 | 2190 | /immutable@3.7.6: 2191 | resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==} 2192 | engines: {node: '>=0.8.0'} 2193 | dev: true 2194 | 2195 | /import-fresh@3.3.0: 2196 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 2197 | engines: {node: '>=6'} 2198 | dependencies: 2199 | parent-module: 1.0.1 2200 | resolve-from: 4.0.0 2201 | dev: true 2202 | 2203 | /import-from@4.0.0: 2204 | resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} 2205 | engines: {node: '>=12.2'} 2206 | dev: true 2207 | 2208 | /indent-string@4.0.0: 2209 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 2210 | engines: {node: '>=8'} 2211 | dev: true 2212 | 2213 | /inflight@1.0.6: 2214 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 2215 | dependencies: 2216 | once: 1.4.0 2217 | wrappy: 1.0.2 2218 | dev: true 2219 | 2220 | /inherits@2.0.4: 2221 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2222 | dev: true 2223 | 2224 | /inquirer@8.2.6: 2225 | resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} 2226 | engines: {node: '>=12.0.0'} 2227 | dependencies: 2228 | ansi-escapes: 4.3.2 2229 | chalk: 4.1.2 2230 | cli-cursor: 3.1.0 2231 | cli-width: 3.0.0 2232 | external-editor: 3.1.0 2233 | figures: 3.2.0 2234 | lodash: 4.17.21 2235 | mute-stream: 0.0.8 2236 | ora: 5.4.1 2237 | run-async: 2.4.1 2238 | rxjs: 7.8.1 2239 | string-width: 4.2.3 2240 | strip-ansi: 6.0.1 2241 | through: 2.3.8 2242 | wrap-ansi: 6.2.0 2243 | dev: true 2244 | 2245 | /invariant@2.2.4: 2246 | resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} 2247 | dependencies: 2248 | loose-envify: 1.4.0 2249 | dev: true 2250 | 2251 | /is-absolute@1.0.0: 2252 | resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} 2253 | engines: {node: '>=0.10.0'} 2254 | dependencies: 2255 | is-relative: 1.0.0 2256 | is-windows: 1.0.2 2257 | dev: true 2258 | 2259 | /is-arrayish@0.2.1: 2260 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 2261 | dev: true 2262 | 2263 | /is-extglob@2.1.1: 2264 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2265 | engines: {node: '>=0.10.0'} 2266 | dev: true 2267 | 2268 | /is-fullwidth-code-point@3.0.0: 2269 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 2270 | engines: {node: '>=8'} 2271 | dev: true 2272 | 2273 | /is-glob@4.0.3: 2274 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2275 | engines: {node: '>=0.10.0'} 2276 | dependencies: 2277 | is-extglob: 2.1.1 2278 | dev: true 2279 | 2280 | /is-interactive@1.0.0: 2281 | resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} 2282 | engines: {node: '>=8'} 2283 | dev: true 2284 | 2285 | /is-lower-case@2.0.2: 2286 | resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} 2287 | dependencies: 2288 | tslib: 2.6.2 2289 | dev: true 2290 | 2291 | /is-number@7.0.0: 2292 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2293 | engines: {node: '>=0.12.0'} 2294 | dev: true 2295 | 2296 | /is-relative@1.0.0: 2297 | resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} 2298 | engines: {node: '>=0.10.0'} 2299 | dependencies: 2300 | is-unc-path: 1.0.0 2301 | dev: true 2302 | 2303 | /is-unc-path@1.0.0: 2304 | resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} 2305 | engines: {node: '>=0.10.0'} 2306 | dependencies: 2307 | unc-path-regex: 0.1.2 2308 | dev: true 2309 | 2310 | /is-unicode-supported@0.1.0: 2311 | resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 2312 | engines: {node: '>=10'} 2313 | dev: true 2314 | 2315 | /is-upper-case@2.0.2: 2316 | resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} 2317 | dependencies: 2318 | tslib: 2.6.2 2319 | dev: true 2320 | 2321 | /is-windows@1.0.2: 2322 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} 2323 | engines: {node: '>=0.10.0'} 2324 | dev: true 2325 | 2326 | /isarray@2.0.5: 2327 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 2328 | dev: true 2329 | 2330 | /isomorphic-ws@5.0.0(ws@8.16.0): 2331 | resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} 2332 | peerDependencies: 2333 | ws: '*' 2334 | dependencies: 2335 | ws: 8.16.0 2336 | dev: true 2337 | 2338 | /jiti@1.21.0: 2339 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} 2340 | hasBin: true 2341 | dev: true 2342 | 2343 | /jose@5.2.2: 2344 | resolution: {integrity: sha512-/WByRr4jDcsKlvMd1dRJnPfS1GVO3WuKyaurJ/vvXcOaUQO8rnNObCQMlv/5uCceVQIq5Q4WLF44ohsdiTohdg==} 2345 | dev: true 2346 | 2347 | /js-tokens@4.0.0: 2348 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2349 | dev: true 2350 | 2351 | /js-yaml@4.1.0: 2352 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2353 | hasBin: true 2354 | dependencies: 2355 | argparse: 2.0.1 2356 | dev: true 2357 | 2358 | /jsesc@2.5.2: 2359 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2360 | engines: {node: '>=4'} 2361 | hasBin: true 2362 | dev: true 2363 | 2364 | /json-parse-even-better-errors@2.3.1: 2365 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2366 | dev: true 2367 | 2368 | /json-stable-stringify@1.1.1: 2369 | resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} 2370 | engines: {node: '>= 0.4'} 2371 | dependencies: 2372 | call-bind: 1.0.7 2373 | isarray: 2.0.5 2374 | jsonify: 0.0.1 2375 | object-keys: 1.1.1 2376 | dev: true 2377 | 2378 | /json-to-pretty-yaml@1.2.2: 2379 | resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} 2380 | engines: {node: '>= 0.2.0'} 2381 | dependencies: 2382 | remedial: 1.0.8 2383 | remove-trailing-spaces: 1.0.8 2384 | dev: true 2385 | 2386 | /json5@2.2.3: 2387 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 2388 | engines: {node: '>=6'} 2389 | hasBin: true 2390 | dev: true 2391 | 2392 | /jsonify@0.0.1: 2393 | resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} 2394 | dev: true 2395 | 2396 | /lines-and-columns@1.2.4: 2397 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 2398 | dev: true 2399 | 2400 | /listr2@4.0.5: 2401 | resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} 2402 | engines: {node: '>=12'} 2403 | peerDependencies: 2404 | enquirer: '>= 2.3.0 < 3' 2405 | peerDependenciesMeta: 2406 | enquirer: 2407 | optional: true 2408 | dependencies: 2409 | cli-truncate: 2.1.0 2410 | colorette: 2.0.20 2411 | log-update: 4.0.0 2412 | p-map: 4.0.0 2413 | rfdc: 1.3.1 2414 | rxjs: 7.8.1 2415 | through: 2.3.8 2416 | wrap-ansi: 7.0.0 2417 | dev: true 2418 | 2419 | /locate-path@5.0.0: 2420 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 2421 | engines: {node: '>=8'} 2422 | dependencies: 2423 | p-locate: 4.1.0 2424 | dev: true 2425 | 2426 | /lodash.sortby@4.7.0: 2427 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 2428 | dev: true 2429 | 2430 | /lodash@4.17.21: 2431 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2432 | dev: true 2433 | 2434 | /log-symbols@4.1.0: 2435 | resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 2436 | engines: {node: '>=10'} 2437 | dependencies: 2438 | chalk: 4.1.2 2439 | is-unicode-supported: 0.1.0 2440 | dev: true 2441 | 2442 | /log-update@4.0.0: 2443 | resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} 2444 | engines: {node: '>=10'} 2445 | dependencies: 2446 | ansi-escapes: 4.3.2 2447 | cli-cursor: 3.1.0 2448 | slice-ansi: 4.0.0 2449 | wrap-ansi: 6.2.0 2450 | dev: true 2451 | 2452 | /loose-envify@1.4.0: 2453 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 2454 | hasBin: true 2455 | dependencies: 2456 | js-tokens: 4.0.0 2457 | dev: true 2458 | 2459 | /lower-case-first@2.0.2: 2460 | resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} 2461 | dependencies: 2462 | tslib: 2.6.2 2463 | dev: true 2464 | 2465 | /lower-case@2.0.2: 2466 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} 2467 | dependencies: 2468 | tslib: 2.6.2 2469 | dev: true 2470 | 2471 | /lru-cache@5.1.1: 2472 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 2473 | dependencies: 2474 | yallist: 3.1.1 2475 | dev: true 2476 | 2477 | /map-cache@0.2.2: 2478 | resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} 2479 | engines: {node: '>=0.10.0'} 2480 | dev: true 2481 | 2482 | /merge2@1.4.1: 2483 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2484 | engines: {node: '>= 8'} 2485 | dev: true 2486 | 2487 | /meros@1.3.0: 2488 | resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} 2489 | engines: {node: '>=13'} 2490 | peerDependencies: 2491 | '@types/node': '>=13' 2492 | peerDependenciesMeta: 2493 | '@types/node': 2494 | optional: true 2495 | dev: true 2496 | 2497 | /micromatch@4.0.5: 2498 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2499 | engines: {node: '>=8.6'} 2500 | dependencies: 2501 | braces: 3.0.2 2502 | picomatch: 2.3.1 2503 | dev: true 2504 | 2505 | /mimic-fn@2.1.0: 2506 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2507 | engines: {node: '>=6'} 2508 | dev: true 2509 | 2510 | /minimatch@3.1.2: 2511 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2512 | dependencies: 2513 | brace-expansion: 1.1.11 2514 | dev: true 2515 | 2516 | /minimatch@4.2.3: 2517 | resolution: {integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==} 2518 | engines: {node: '>=10'} 2519 | dependencies: 2520 | brace-expansion: 1.1.11 2521 | dev: true 2522 | 2523 | /ms@2.1.2: 2524 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2525 | dev: true 2526 | 2527 | /mute-stream@0.0.8: 2528 | resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} 2529 | dev: true 2530 | 2531 | /no-case@3.0.4: 2532 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} 2533 | dependencies: 2534 | lower-case: 2.0.2 2535 | tslib: 2.6.2 2536 | dev: true 2537 | 2538 | /node-fetch@2.7.0: 2539 | resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} 2540 | engines: {node: 4.x || >=6.0.0} 2541 | peerDependencies: 2542 | encoding: ^0.1.0 2543 | peerDependenciesMeta: 2544 | encoding: 2545 | optional: true 2546 | dependencies: 2547 | whatwg-url: 5.0.0 2548 | dev: true 2549 | 2550 | /node-int64@0.4.0: 2551 | resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} 2552 | dev: true 2553 | 2554 | /node-releases@2.0.14: 2555 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 2556 | dev: true 2557 | 2558 | /normalize-path@2.1.1: 2559 | resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} 2560 | engines: {node: '>=0.10.0'} 2561 | dependencies: 2562 | remove-trailing-separator: 1.1.0 2563 | dev: true 2564 | 2565 | /nullthrows@1.1.1: 2566 | resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} 2567 | dev: true 2568 | 2569 | /object-assign@4.1.1: 2570 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2571 | engines: {node: '>=0.10.0'} 2572 | dev: true 2573 | 2574 | /object-keys@1.1.1: 2575 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2576 | engines: {node: '>= 0.4'} 2577 | dev: true 2578 | 2579 | /once@1.4.0: 2580 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2581 | dependencies: 2582 | wrappy: 1.0.2 2583 | dev: true 2584 | 2585 | /onetime@5.1.2: 2586 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2587 | engines: {node: '>=6'} 2588 | dependencies: 2589 | mimic-fn: 2.1.0 2590 | dev: true 2591 | 2592 | /ora@5.4.1: 2593 | resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} 2594 | engines: {node: '>=10'} 2595 | dependencies: 2596 | bl: 4.1.0 2597 | chalk: 4.1.2 2598 | cli-cursor: 3.1.0 2599 | cli-spinners: 2.9.2 2600 | is-interactive: 1.0.0 2601 | is-unicode-supported: 0.1.0 2602 | log-symbols: 4.1.0 2603 | strip-ansi: 6.0.1 2604 | wcwidth: 1.0.1 2605 | dev: true 2606 | 2607 | /os-tmpdir@1.0.2: 2608 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 2609 | engines: {node: '>=0.10.0'} 2610 | dev: true 2611 | 2612 | /p-limit@2.3.0: 2613 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2614 | engines: {node: '>=6'} 2615 | dependencies: 2616 | p-try: 2.2.0 2617 | dev: true 2618 | 2619 | /p-limit@3.1.0: 2620 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2621 | engines: {node: '>=10'} 2622 | dependencies: 2623 | yocto-queue: 0.1.0 2624 | dev: true 2625 | 2626 | /p-locate@4.1.0: 2627 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2628 | engines: {node: '>=8'} 2629 | dependencies: 2630 | p-limit: 2.3.0 2631 | dev: true 2632 | 2633 | /p-map@4.0.0: 2634 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 2635 | engines: {node: '>=10'} 2636 | dependencies: 2637 | aggregate-error: 3.1.0 2638 | dev: true 2639 | 2640 | /p-try@2.2.0: 2641 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2642 | engines: {node: '>=6'} 2643 | dev: true 2644 | 2645 | /param-case@3.0.4: 2646 | resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} 2647 | dependencies: 2648 | dot-case: 3.0.4 2649 | tslib: 2.6.2 2650 | dev: true 2651 | 2652 | /parent-module@1.0.1: 2653 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2654 | engines: {node: '>=6'} 2655 | dependencies: 2656 | callsites: 3.1.0 2657 | dev: true 2658 | 2659 | /parse-filepath@1.0.2: 2660 | resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} 2661 | engines: {node: '>=0.8'} 2662 | dependencies: 2663 | is-absolute: 1.0.0 2664 | map-cache: 0.2.2 2665 | path-root: 0.1.1 2666 | dev: true 2667 | 2668 | /parse-json@5.2.0: 2669 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2670 | engines: {node: '>=8'} 2671 | dependencies: 2672 | '@babel/code-frame': 7.23.5 2673 | error-ex: 1.3.2 2674 | json-parse-even-better-errors: 2.3.1 2675 | lines-and-columns: 1.2.4 2676 | dev: true 2677 | 2678 | /pascal-case@3.1.2: 2679 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} 2680 | dependencies: 2681 | no-case: 3.0.4 2682 | tslib: 2.6.2 2683 | dev: true 2684 | 2685 | /path-case@3.0.4: 2686 | resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} 2687 | dependencies: 2688 | dot-case: 3.0.4 2689 | tslib: 2.6.2 2690 | dev: true 2691 | 2692 | /path-exists@4.0.0: 2693 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2694 | engines: {node: '>=8'} 2695 | dev: true 2696 | 2697 | /path-is-absolute@1.0.1: 2698 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2699 | engines: {node: '>=0.10.0'} 2700 | dev: true 2701 | 2702 | /path-root-regex@0.1.2: 2703 | resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} 2704 | engines: {node: '>=0.10.0'} 2705 | dev: true 2706 | 2707 | /path-root@0.1.1: 2708 | resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} 2709 | engines: {node: '>=0.10.0'} 2710 | dependencies: 2711 | path-root-regex: 0.1.2 2712 | dev: true 2713 | 2714 | /path-type@4.0.0: 2715 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2716 | engines: {node: '>=8'} 2717 | dev: true 2718 | 2719 | /picocolors@1.0.0: 2720 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2721 | dev: true 2722 | 2723 | /picomatch@2.3.1: 2724 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2725 | engines: {node: '>=8.6'} 2726 | dev: true 2727 | 2728 | /promise@7.3.1: 2729 | resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} 2730 | dependencies: 2731 | asap: 2.0.6 2732 | dev: true 2733 | 2734 | /punycode@1.4.1: 2735 | resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} 2736 | dev: true 2737 | 2738 | /pvtsutils@1.3.5: 2739 | resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} 2740 | dependencies: 2741 | tslib: 2.6.2 2742 | dev: true 2743 | 2744 | /pvutils@1.1.3: 2745 | resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} 2746 | engines: {node: '>=6.0.0'} 2747 | dev: true 2748 | 2749 | /queue-microtask@1.2.3: 2750 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2751 | dev: true 2752 | 2753 | /readable-stream@3.6.2: 2754 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 2755 | engines: {node: '>= 6'} 2756 | dependencies: 2757 | inherits: 2.0.4 2758 | string_decoder: 1.3.0 2759 | util-deprecate: 1.0.2 2760 | dev: true 2761 | 2762 | /regenerator-runtime@0.14.1: 2763 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 2764 | dev: true 2765 | 2766 | /relay-runtime@12.0.0: 2767 | resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} 2768 | dependencies: 2769 | '@babel/runtime': 7.24.0 2770 | fbjs: 3.0.5 2771 | invariant: 2.2.4 2772 | transitivePeerDependencies: 2773 | - encoding 2774 | dev: true 2775 | 2776 | /remedial@1.0.8: 2777 | resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} 2778 | dev: true 2779 | 2780 | /remove-trailing-separator@1.1.0: 2781 | resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} 2782 | dev: true 2783 | 2784 | /remove-trailing-spaces@1.0.8: 2785 | resolution: {integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==} 2786 | dev: true 2787 | 2788 | /require-directory@2.1.1: 2789 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2790 | engines: {node: '>=0.10.0'} 2791 | dev: true 2792 | 2793 | /require-main-filename@2.0.0: 2794 | resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} 2795 | dev: true 2796 | 2797 | /resolve-from@4.0.0: 2798 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2799 | engines: {node: '>=4'} 2800 | dev: true 2801 | 2802 | /resolve-from@5.0.0: 2803 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2804 | engines: {node: '>=8'} 2805 | dev: true 2806 | 2807 | /restore-cursor@3.1.0: 2808 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 2809 | engines: {node: '>=8'} 2810 | dependencies: 2811 | onetime: 5.1.2 2812 | signal-exit: 3.0.7 2813 | dev: true 2814 | 2815 | /reusify@1.0.4: 2816 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2817 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2818 | dev: true 2819 | 2820 | /rfdc@1.3.1: 2821 | resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} 2822 | dev: true 2823 | 2824 | /run-async@2.4.1: 2825 | resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} 2826 | engines: {node: '>=0.12.0'} 2827 | dev: true 2828 | 2829 | /run-parallel@1.2.0: 2830 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2831 | dependencies: 2832 | queue-microtask: 1.2.3 2833 | dev: true 2834 | 2835 | /rxjs@7.8.1: 2836 | resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 2837 | dependencies: 2838 | tslib: 2.6.2 2839 | dev: true 2840 | 2841 | /safe-buffer@5.2.1: 2842 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2843 | dev: true 2844 | 2845 | /safer-buffer@2.1.2: 2846 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2847 | dev: true 2848 | 2849 | /scuid@1.1.0: 2850 | resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} 2851 | dev: true 2852 | 2853 | /semver@6.3.1: 2854 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 2855 | hasBin: true 2856 | dev: true 2857 | 2858 | /sentence-case@3.0.4: 2859 | resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} 2860 | dependencies: 2861 | no-case: 3.0.4 2862 | tslib: 2.6.2 2863 | upper-case-first: 2.0.2 2864 | dev: true 2865 | 2866 | /set-blocking@2.0.0: 2867 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} 2868 | dev: true 2869 | 2870 | /set-function-length@1.2.1: 2871 | resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} 2872 | engines: {node: '>= 0.4'} 2873 | dependencies: 2874 | define-data-property: 1.1.4 2875 | es-errors: 1.3.0 2876 | function-bind: 1.1.2 2877 | get-intrinsic: 1.2.4 2878 | gopd: 1.0.1 2879 | has-property-descriptors: 1.0.2 2880 | dev: true 2881 | 2882 | /setimmediate@1.0.5: 2883 | resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} 2884 | dev: true 2885 | 2886 | /shell-quote@1.8.1: 2887 | resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} 2888 | dev: true 2889 | 2890 | /signal-exit@3.0.7: 2891 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2892 | dev: true 2893 | 2894 | /signedsource@1.0.0: 2895 | resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} 2896 | dev: true 2897 | 2898 | /slash@3.0.0: 2899 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2900 | engines: {node: '>=8'} 2901 | dev: true 2902 | 2903 | /slice-ansi@3.0.0: 2904 | resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} 2905 | engines: {node: '>=8'} 2906 | dependencies: 2907 | ansi-styles: 4.3.0 2908 | astral-regex: 2.0.0 2909 | is-fullwidth-code-point: 3.0.0 2910 | dev: true 2911 | 2912 | /slice-ansi@4.0.0: 2913 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 2914 | engines: {node: '>=10'} 2915 | dependencies: 2916 | ansi-styles: 4.3.0 2917 | astral-regex: 2.0.0 2918 | is-fullwidth-code-point: 3.0.0 2919 | dev: true 2920 | 2921 | /snake-case@3.0.4: 2922 | resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} 2923 | dependencies: 2924 | dot-case: 3.0.4 2925 | tslib: 2.6.2 2926 | dev: true 2927 | 2928 | /sponge-case@1.0.1: 2929 | resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} 2930 | dependencies: 2931 | tslib: 2.6.2 2932 | dev: true 2933 | 2934 | /streamsearch@1.1.0: 2935 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 2936 | engines: {node: '>=10.0.0'} 2937 | dev: true 2938 | 2939 | /string-env-interpolation@1.0.1: 2940 | resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} 2941 | dev: true 2942 | 2943 | /string-width@4.2.3: 2944 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2945 | engines: {node: '>=8'} 2946 | dependencies: 2947 | emoji-regex: 8.0.0 2948 | is-fullwidth-code-point: 3.0.0 2949 | strip-ansi: 6.0.1 2950 | dev: true 2951 | 2952 | /string_decoder@1.3.0: 2953 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 2954 | dependencies: 2955 | safe-buffer: 5.2.1 2956 | dev: true 2957 | 2958 | /strip-ansi@6.0.1: 2959 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2960 | engines: {node: '>=8'} 2961 | dependencies: 2962 | ansi-regex: 5.0.1 2963 | dev: true 2964 | 2965 | /supports-color@5.5.0: 2966 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2967 | engines: {node: '>=4'} 2968 | dependencies: 2969 | has-flag: 3.0.0 2970 | dev: true 2971 | 2972 | /supports-color@7.2.0: 2973 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2974 | engines: {node: '>=8'} 2975 | dependencies: 2976 | has-flag: 4.0.0 2977 | dev: true 2978 | 2979 | /swap-case@2.0.2: 2980 | resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} 2981 | dependencies: 2982 | tslib: 2.6.2 2983 | dev: true 2984 | 2985 | /through@2.3.8: 2986 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 2987 | dev: true 2988 | 2989 | /title-case@3.0.3: 2990 | resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} 2991 | dependencies: 2992 | tslib: 2.6.2 2993 | dev: true 2994 | 2995 | /tmp@0.0.33: 2996 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 2997 | engines: {node: '>=0.6.0'} 2998 | dependencies: 2999 | os-tmpdir: 1.0.2 3000 | dev: true 3001 | 3002 | /to-fast-properties@2.0.0: 3003 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 3004 | engines: {node: '>=4'} 3005 | dev: true 3006 | 3007 | /to-regex-range@5.0.1: 3008 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3009 | engines: {node: '>=8.0'} 3010 | dependencies: 3011 | is-number: 7.0.0 3012 | dev: true 3013 | 3014 | /tr46@0.0.3: 3015 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 3016 | dev: true 3017 | 3018 | /ts-log@2.2.5: 3019 | resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} 3020 | dev: true 3021 | 3022 | /tslib@2.6.2: 3023 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 3024 | dev: true 3025 | 3026 | /type-fest@0.21.3: 3027 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 3028 | engines: {node: '>=10'} 3029 | dev: true 3030 | 3031 | /typescript@5.3.3: 3032 | resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} 3033 | engines: {node: '>=14.17'} 3034 | hasBin: true 3035 | dev: true 3036 | 3037 | /ua-parser-js@1.0.37: 3038 | resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} 3039 | dev: true 3040 | 3041 | /unc-path-regex@0.1.2: 3042 | resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} 3043 | engines: {node: '>=0.10.0'} 3044 | dev: true 3045 | 3046 | /undici-types@5.26.5: 3047 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 3048 | dev: true 3049 | 3050 | /unixify@1.0.0: 3051 | resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} 3052 | engines: {node: '>=0.10.0'} 3053 | dependencies: 3054 | normalize-path: 2.1.1 3055 | dev: true 3056 | 3057 | /update-browserslist-db@1.0.13(browserslist@4.23.0): 3058 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} 3059 | hasBin: true 3060 | peerDependencies: 3061 | browserslist: '>= 4.21.0' 3062 | dependencies: 3063 | browserslist: 4.23.0 3064 | escalade: 3.1.2 3065 | picocolors: 1.0.0 3066 | dev: true 3067 | 3068 | /upper-case-first@2.0.2: 3069 | resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} 3070 | dependencies: 3071 | tslib: 2.6.2 3072 | dev: true 3073 | 3074 | /upper-case@2.0.2: 3075 | resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} 3076 | dependencies: 3077 | tslib: 2.6.2 3078 | dev: true 3079 | 3080 | /urlpattern-polyfill@10.0.0: 3081 | resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} 3082 | dev: true 3083 | 3084 | /urlpattern-polyfill@8.0.2: 3085 | resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} 3086 | dev: true 3087 | 3088 | /util-deprecate@1.0.2: 3089 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 3090 | dev: true 3091 | 3092 | /value-or-promise@1.0.12: 3093 | resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} 3094 | engines: {node: '>=12'} 3095 | dev: true 3096 | 3097 | /wcwidth@1.0.1: 3098 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 3099 | dependencies: 3100 | defaults: 1.0.4 3101 | dev: true 3102 | 3103 | /web-streams-polyfill@3.3.3: 3104 | resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} 3105 | engines: {node: '>= 8'} 3106 | dev: true 3107 | 3108 | /webcrypto-core@1.7.8: 3109 | resolution: {integrity: sha512-eBR98r9nQXTqXt/yDRtInszPMjTaSAMJAFDg2AHsgrnczawT1asx9YNBX6k5p+MekbPF4+s/UJJrr88zsTqkSg==} 3110 | dependencies: 3111 | '@peculiar/asn1-schema': 2.3.8 3112 | '@peculiar/json-schema': 1.1.12 3113 | asn1js: 3.0.5 3114 | pvtsutils: 1.3.5 3115 | tslib: 2.6.2 3116 | dev: true 3117 | 3118 | /webidl-conversions@3.0.1: 3119 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 3120 | dev: true 3121 | 3122 | /whatwg-url@5.0.0: 3123 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 3124 | dependencies: 3125 | tr46: 0.0.3 3126 | webidl-conversions: 3.0.1 3127 | dev: true 3128 | 3129 | /which-module@2.0.1: 3130 | resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} 3131 | dev: true 3132 | 3133 | /wrap-ansi@6.2.0: 3134 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 3135 | engines: {node: '>=8'} 3136 | dependencies: 3137 | ansi-styles: 4.3.0 3138 | string-width: 4.2.3 3139 | strip-ansi: 6.0.1 3140 | dev: true 3141 | 3142 | /wrap-ansi@7.0.0: 3143 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3144 | engines: {node: '>=10'} 3145 | dependencies: 3146 | ansi-styles: 4.3.0 3147 | string-width: 4.2.3 3148 | strip-ansi: 6.0.1 3149 | dev: true 3150 | 3151 | /wrappy@1.0.2: 3152 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3153 | dev: true 3154 | 3155 | /ws@8.16.0: 3156 | resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} 3157 | engines: {node: '>=10.0.0'} 3158 | peerDependencies: 3159 | bufferutil: ^4.0.1 3160 | utf-8-validate: '>=5.0.2' 3161 | peerDependenciesMeta: 3162 | bufferutil: 3163 | optional: true 3164 | utf-8-validate: 3165 | optional: true 3166 | dev: true 3167 | 3168 | /y18n@4.0.3: 3169 | resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} 3170 | dev: true 3171 | 3172 | /y18n@5.0.8: 3173 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 3174 | engines: {node: '>=10'} 3175 | dev: true 3176 | 3177 | /yallist@3.1.1: 3178 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 3179 | dev: true 3180 | 3181 | /yaml-ast-parser@0.0.43: 3182 | resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} 3183 | dev: true 3184 | 3185 | /yaml@2.4.0: 3186 | resolution: {integrity: sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==} 3187 | engines: {node: '>= 14'} 3188 | hasBin: true 3189 | dev: true 3190 | 3191 | /yargs-parser@18.1.3: 3192 | resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} 3193 | engines: {node: '>=6'} 3194 | dependencies: 3195 | camelcase: 5.3.1 3196 | decamelize: 1.2.0 3197 | dev: true 3198 | 3199 | /yargs-parser@21.1.1: 3200 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 3201 | engines: {node: '>=12'} 3202 | dev: true 3203 | 3204 | /yargs@15.4.1: 3205 | resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} 3206 | engines: {node: '>=8'} 3207 | dependencies: 3208 | cliui: 6.0.0 3209 | decamelize: 1.2.0 3210 | find-up: 4.1.0 3211 | get-caller-file: 2.0.5 3212 | require-directory: 2.1.1 3213 | require-main-filename: 2.0.0 3214 | set-blocking: 2.0.0 3215 | string-width: 4.2.3 3216 | which-module: 2.0.1 3217 | y18n: 4.0.3 3218 | yargs-parser: 18.1.3 3219 | dev: true 3220 | 3221 | /yargs@17.7.2: 3222 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 3223 | engines: {node: '>=12'} 3224 | dependencies: 3225 | cliui: 8.0.1 3226 | escalade: 3.1.2 3227 | get-caller-file: 2.0.5 3228 | require-directory: 2.1.1 3229 | string-width: 4.2.3 3230 | y18n: 5.0.8 3231 | yargs-parser: 21.1.1 3232 | dev: true 3233 | 3234 | /yocto-queue@0.1.0: 3235 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 3236 | engines: {node: '>=10'} 3237 | dev: true 3238 | -------------------------------------------------------------------------------- /src/index.cjs: -------------------------------------------------------------------------------- 1 | function makeFragmentData(data, _fragment) { 2 | return data; 3 | } 4 | exports.makeFragmentData = makeFragmentData; 5 | -------------------------------------------------------------------------------- /src/index.d.test.ts: -------------------------------------------------------------------------------- 1 | import { Equal, Expect } from "../tests/utils"; 2 | import { UnmaskFragment } from "."; 3 | 4 | type UserAvatarUserFragment = { 5 | " $fragmentName"?: "UserAvatarUserFragment"; 6 | __typename: "User"; 7 | avatarUrl: string; 8 | }; 9 | type UserAvatarUserFragmentResult = { 10 | __typename: "User"; 11 | avatarUrl: string; 12 | }; 13 | 14 | type UserA = { 15 | " $fragmentName"?: "UserAvatarUserFragment"; 16 | __typename: "User"; 17 | b: boolean; 18 | }; 19 | type UserAResult = { 20 | __typename: "User"; 21 | b: boolean; 22 | }; 23 | 24 | type UserCardUserFragment = { 25 | " $fragmentRefs"?: { 26 | UserAvatarUserFragment: UserAvatarUserFragment; 27 | }; 28 | " $fragmentName"?: "UserCardUserFragment"; 29 | __typename: "User"; 30 | id: string; 31 | name: string; 32 | }; 33 | type UserCardUserFragmentResult = { 34 | __typename: "User"; 35 | id: string; 36 | name: string; 37 | avatarUrl: string; 38 | }; 39 | 40 | type ExampleComponentQuery = { 41 | __typename: "Query"; 42 | user?: { 43 | " $fragmentRefs"?: { 44 | UserCardUserFragment: UserCardUserFragment; 45 | UserCardUserFragment2: UserCardUserFragment; 46 | }; 47 | __typename: "User"; 48 | } | null; 49 | }; 50 | type ExampleComponentQueryResult = { 51 | __typename: "Query"; 52 | user?: 53 | | { 54 | __typename: "User"; 55 | id: string; 56 | name: string; 57 | avatarUrl: string; 58 | } 59 | | null 60 | | undefined; 61 | }; 62 | 63 | type A = { 64 | " $fragmentRefs": { 65 | B: B; 66 | C: C; 67 | }; 68 | __typename?: "ABC" | undefined; 69 | id: string; 70 | page: { 71 | " $fragmentRefs": { 72 | B: B; 73 | C: C; 74 | }; 75 | __typename?: "ABC" | undefined; 76 | id: string; 77 | nested: { 78 | " $fragmentRefs": { 79 | B: B; 80 | C: C; 81 | }; 82 | __typename?: "ABC" | undefined; 83 | id: string; 84 | }; 85 | }; 86 | edges: Array<{ 87 | __typename?: "ABCPage" | undefined; 88 | page: { 89 | " $fragmentRefs": { 90 | B: B; 91 | C: C; 92 | }; 93 | __typename?: "ABC" | undefined; 94 | id: string; 95 | }; 96 | }>; 97 | }; 98 | 99 | type B = { 100 | " $fragmentRefs": { 101 | B1: B1; 102 | B2: B2; 103 | }; 104 | __typename?: "ABC" | undefined; 105 | id: string; 106 | bc: number; 107 | b: boolean; 108 | }; 109 | 110 | type B1 = { 111 | __typename?: "ABC" | undefined; 112 | id: string; 113 | b1: string; 114 | b12: string; 115 | }; 116 | 117 | type B2 = { 118 | __typename?: "ABC" | undefined; 119 | id: string; 120 | b2: string; 121 | b12: string; 122 | }; 123 | 124 | type C = { 125 | " $fragmentRefs": { 126 | C1: C1; 127 | C2: C2; 128 | }; 129 | __typename?: "ABC" | undefined; 130 | id: string; 131 | bc: number; 132 | c: bigint; 133 | }; 134 | 135 | type C1 = { 136 | __typename?: "ABC" | undefined; 137 | id: string; 138 | c1: string; 139 | c12: string; 140 | }; 141 | 142 | type C2 = { 143 | __typename?: "ABC" | undefined; 144 | id: string; 145 | c2: string; 146 | c12: string; 147 | }; 148 | 149 | type AResult = { 150 | __typename?: "ABC" | undefined; 151 | id: string; 152 | bc: number; 153 | b: boolean; 154 | b1: string; 155 | b2: string; 156 | b12: string; 157 | c: bigint; 158 | c12: string; 159 | c1: string; 160 | c2: string; 161 | page: { 162 | __typename?: "ABC" | undefined; 163 | id: string; 164 | bc: number; 165 | b: boolean; 166 | b1: string; 167 | b2: string; 168 | b12: string; 169 | c: bigint; 170 | c12: string; 171 | c1: string; 172 | c2: string; 173 | nested: { 174 | __typename?: "ABC" | undefined; 175 | id: string; 176 | bc: number; 177 | b: boolean; 178 | b1: string; 179 | b2: string; 180 | b12: string; 181 | c: bigint; 182 | c12: string; 183 | c1: string; 184 | c2: string; 185 | }; 186 | }; 187 | edges: Array<{ 188 | __typename?: "ABCPage" | undefined; 189 | page: { 190 | __typename?: "ABC" | undefined; 191 | id: string; 192 | bc: number; 193 | b: boolean; 194 | b1: string; 195 | b2: string; 196 | b12: string; 197 | c: bigint; 198 | c12: string; 199 | c1: string; 200 | c2: string; 201 | }; 202 | }>; 203 | }; 204 | 205 | type casesForUnmaskFragment = [ 206 | Expect< 207 | Equal, UserAvatarUserFragmentResult> 208 | >, 209 | Expect< 210 | Equal, UserCardUserFragmentResult> 211 | >, 212 | Expect< 213 | Equal, ExampleComponentQueryResult> 214 | >, 215 | Expect, AResult>>, 216 | Expect, UserAResult>> 217 | ]; 218 | -------------------------------------------------------------------------------- /src/index.d.ts: -------------------------------------------------------------------------------- 1 | import { type DocumentTypeDecoration } from "@graphql-typed-document-node/core"; 2 | 3 | type Primitive = string | number | boolean | bigint | symbol | null | undefined; 4 | type ExcludePrimitive = Exclude; 5 | type ExtractPrimitive = Extract; 6 | type UnionToIntersection = 7 | (U extends any ? (k: U) => void : never) extends (k: infer I) => void 8 | ? I 9 | : never; 10 | 11 | type UnionToIntersectGroupByTypeName = 12 | [V] extends [{ __typename?: infer TypeName; }] 13 | ? TypeName extends any 14 | ? UnionToIntersection 15 | : never 16 | : never; 17 | 18 | type UnionFieldToIntersection = 19 | [T] extends [never] 20 | ? never 21 | : [T] extends [unknown[]] 22 | ? ( 23 | | UnionFieldToIntersection> 24 | | ExtractPrimitive 25 | )[] 26 | : UnionToIntersectGroupByTypeName extends infer V 27 | ? { 28 | [Key in keyof V]: 29 | | UnionFieldToIntersection> 30 | | ExtractPrimitive; 31 | } 32 | : never; 33 | 34 | type Flatten = 35 | [F] extends [never] 36 | ? never 37 | : F extends unknown[] 38 | ? (Flatten> | ExtractPrimitive)[] 39 | : { 40 | [Key in keyof Omit]: 41 | | Flatten> 42 | | ExtractPrimitive; 43 | } 44 | & (F extends { " $fragmentRefs"?: { [K in string]: infer FRefs }; } 45 | ? FRefs extends any 46 | ? Flatten 47 | : never 48 | : object); 49 | 50 | export type UnmaskFragment = UnionFieldToIntersection>; 51 | 52 | // copied from gql/fragment-masking.ts 53 | type FragmentType> = 54 | TDocumentType extends DocumentTypeDecoration 55 | ? [TType] extends [{ " $fragmentName"?: infer TKey }] 56 | ? TKey extends string 57 | ? { " $fragmentRefs"?: { [key in TKey]: TType } } 58 | : never 59 | : never 60 | : never; 61 | 62 | export declare function makeFragmentData< 63 | F extends DocumentTypeDecoration 64 | >(data: UnmaskFragment>, _fragment: F): FragmentType; 65 | -------------------------------------------------------------------------------- /tests/utils.ts: -------------------------------------------------------------------------------- 1 | // ref: https://github.com/type-challenges/type-challenges/blob/9bae5a3e540029ad523e46486829654aeb70ef62/utils/index.d.ts 2 | export type Equal = 3 | (() => T extends X ? 1 : 2) extends 4 | (() => T extends Y ? 1 : 2) ? true : false 5 | export type Expect = X; 6 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": false, 4 | "declaration": true, 5 | "declarationMap": true, 6 | "esModuleInterop": true, 7 | "inlineSources": false, 8 | "isolatedModules": true, 9 | "moduleResolution": "node", 10 | "noUncheckedIndexedAccess": true, 11 | "noUnusedLocals": false, 12 | "noUnusedParameters": false, 13 | "preserveWatchOutput": true, 14 | "skipLibCheck": true, 15 | "strict": true 16 | }, 17 | "exclude": ["node_modules"] 18 | } 19 | --------------------------------------------------------------------------------