diff --git a/README.md b/README.md index 9714d13ec255..5e703269c8b7 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,9 @@ -[![CodeGen](https://user-images.githubusercontent.com/25294569/63773131-35f6aa00-c8e3-11e9-8191-fc0ac6f959e4.gif)](https://graphql-code-generator.com) +[![CodeGen](./logo.svg)](https://graphql-code-generator.com) [![npm version](https://badge.fury.io/js/%40graphql-codegen%2Fcli.svg)](https://badge.fury.io/js/%40graphql-codegen%2Fcli) -[![CircleCI](https://circleci.com/gh/dotansimha/graphql-code-generator/tree/master.svg?style=svg)](https://circleci.com/gh/dotansimha/graphql-code-generator/tree/master) -[![Discord Chat](https://img.shields.io/discord/625400653321076807)](https://discord.gg/xud7bH9) -[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) -[![renovate-app badge][renovate-badge]][renovate-app] - -[renovate-badge]: https://img.shields.io/badge/renovate-app-blue.svg -[renovate-app]: https://renovateapp.com/ [graphql-code-generator.com](https://graphql-code-generator.com) -[GraphQL Codegen 1.0 is here!](https://graphql-code-generator.com/docs/migration/from-0-18) - GraphQL Code Generator is a tool that generates code out of your GraphQL schema. Whether you are developing a frontend or backend, you can utilize GraphQL Code Generator to generate output from your GraphQL Schema and GraphQL Documents (query/mutation/subscription/fragment). By analyzing the schema and documents and parsing it, GraphQL Code Generator can output code at a wide variety of formats, based on pre-defined templates or based on custom user-defined ones. Regardless of the language that you're using, GraphQL Code Generator got you covered. @@ -21,10 +12,12 @@ GraphQL Code Generator lets you choose the output that you need, based on _plugi You can try this tool live on your browser and see some useful examples. Check out [GraphQL Code Generator Live Examples](https://graphql-code-generator.com/#live-demo). -We currently support and maintain [these plugins](https://graphql-code-generator.com/docs/plugins/index) (TypeScript, Flow, React, Angular, MongoDB, Stencil, Reason, and some more), and there is an active community that writes and maintains custom plugins. +We currently support and maintain [these plugins](https://graphql-code-generator.com/plugins) (TypeScript, Flow, React, Angular, MongoDB, Stencil, Reason, and some more), and there is an active community that writes and maintains custom plugins. ### Quick Start +> You can find the complete instructions in [GraphQL-Code-Generator website](https://graphql-code-generator.com/docs/getting-started/installation). + Start by installing the basic deps of GraphQL Codegen; yarn add graphql @@ -36,101 +29,13 @@ GraphQL Code Generator lets you setup everything by simply running the following Question by question, it will guide you through the whole process of setting up a schema, selecting plugins, picking a destination of a generated file, and a lot more. -If you don't want to use the wizard, install it by yourself and create a basic `codegen.yml` configuration file, point to your schema, and pick the plugins you wish to use. - -Install CLI using `yarn`: - - yarn add -D @graphql-codegen/cli - -And create a config like below: - -```yml -schema: http://localhost:3000/graphql -generates: - ./src/types.d.ts: - plugins: - - typescript -``` - -Then, run the code-generator using `graphql-codegen` command: - - yarn graphql-codegen - -The command above may fetch (for example) the following GraphQL schema: - -```graphql -type Author { - id: Int! - firstName: String! - lastName: String! - posts(findTitle: String): [Post] -} - -type Post { - id: Int! - title: String! - author: Author! -} - -type Query { - posts: [Post] -} - -schema { - query: Query -} -``` - -And generate the following TypeScript typings: - -```ts -export type Maybe = T | null; - -/** All built-in and custom scalars, mapped to their actual values */ -export type Scalars = { - ID: string, - String: string, - Boolean: boolean, - Int: number, - Float: number, -}; - -export type Author = { - __typename?: 'Author', - id: Scalars['Int'], - firstName: Scalars['String'], - lastName: Scalars['String'], - posts?: Maybe>>, -}; - -export type AuthorPostsArgs = { - findTitle?: Maybe -}; - -export type Post = { - __typename?: 'Post', - id: Scalars['Int'], - title: Scalars['String'], - author: Author, -}; - -export type Query = { - __typename?: 'Query', - posts?: Maybe>>, -}; -``` +If you wish to [manually setup codegen, follow these instructions]((https://graphql-code-generator.com/docs/getting-started/installation)). ### Links -Besides our [docs page](https://graphql-code-generator.com/docs/getting-started/index), feel free to go through our published Medium articles to get a better grasp of what GraphQL Code Generator is all about: - -- [All available plugins](https://graphql-code-generator.com/docs/plugins/index) - -- [**GraphQL Code-Generator** - The True GraphQL-First platform](https://the-guild.dev/blog/graphql-code-generator) - -- [**GraphQL Code-Generator v0.9** - What's new?](https://the-guild.dev/blog/graphql-code-generator-090) +Besides our [docs page](https://graphql-code-generator.com/docs/getting-started), feel free to go through our published Medium articles to get a better grasp of what GraphQL Code Generator is all about: -- [**GraphQL Code Generator v0.11** - Generate React and Angular Apollo Components, Resolver signatures and much more!](https://the-guild.dev/blog/graphql-code-generator-011) +- [All available plugins & presets](https://graphql-code-generator.com/plugins) ### Contributing diff --git a/bob.config.js b/bob.config.js index df24e07a72c7..3fa8061fef30 100644 --- a/bob.config.js +++ b/bob.config.js @@ -2,7 +2,6 @@ module.exports = { ignore: [ '@graphql-codegen/website', '@graphql-codegen/live-demo', - '@graphql-codegen/config-schema', 'example-programmatic-typescript', ], }; diff --git a/dev-test/alt-codegen.yml b/dev-test/alt-codegen.yml new file mode 100644 index 000000000000..da087b1ffd33 --- /dev/null +++ b/dev-test/alt-codegen.yml @@ -0,0 +1,12 @@ +overwrite: true +schema: 'test-schema/schema.graphql' +documents: + - 'src/**/*.graphql' + +generates: + test-schema/schema.ts: + - typescript: + declarationKind: interface + - typescript-operations: + declarationKind: interface + defaultScalarType: unknown diff --git a/logo.png b/logo.png deleted file mode 100644 index 64e9670b51a5..000000000000 Binary files a/logo.png and /dev/null differ diff --git a/logo.svg b/logo.svg new file mode 100644 index 000000000000..57768eb660bd --- /dev/null +++ b/logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/package.json b/package.json index fb94c738b437..7ba1d27c9e39 100644 --- a/package.json +++ b/package.json @@ -29,11 +29,9 @@ "packages/plugins/other/*", "packages/presets/*", "website", - "website/live-demo", "examples/*" ], "nohoist": [ - "@graphql-codegen/website/@docusaurus/*", "**/@babel-*", "**/@babel-*/**" ] diff --git a/packages/plugins/flow/flow/src/config.ts b/packages/plugins/flow/flow/src/config.ts index 33d346ea2b72..110563413161 100644 --- a/packages/plugins/flow/flow/src/config.ts +++ b/packages/plugins/flow/flow/src/config.ts @@ -29,10 +29,10 @@ export interface FlowPluginConfig extends RawTypesConfig { * ```yml * generates: * path/to/file.ts: - * plugins: - * - flow - * config: - * useFlowReadOnlyTypes: true + * plugins: + * - flow + * config: + * useFlowReadOnlyTypes: true * ``` */ useFlowReadOnlyTypes?: boolean; diff --git a/packages/plugins/flow/operations/src/config.ts b/packages/plugins/flow/operations/src/config.ts index 138c8c36a5e4..5b257480bc08 100644 --- a/packages/plugins/flow/operations/src/config.ts +++ b/packages/plugins/flow/operations/src/config.ts @@ -5,7 +5,7 @@ import { RawDocumentsConfig } from '@graphql-codegen/visitor-plugin-common'; * * It generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment. * - * This plugin requires you to use `@graphql-codegen/flow` as well, because it depends on it's types. + * This plugin requires you to use `@graphql-codegen/flow` as well, because it depends on its types. */ export interface FlowDocumentsPluginConfig extends RawDocumentsConfig { /** @@ -15,11 +15,11 @@ export interface FlowDocumentsPluginConfig extends RawDocumentsConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - flow - * config: - * useFlowExactObjects: false + * path/to/file.ts: + * plugins: + * - flow + * config: + * useFlowExactObjects: false * ``` */ useFlowExactObjects?: boolean; @@ -30,11 +30,11 @@ export interface FlowDocumentsPluginConfig extends RawDocumentsConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - flow - * config: - * useFlowReadOnlyTypes: true + * path/to/file.ts: + * plugins: + * - flow + * config: + * useFlowReadOnlyTypes: true * ``` */ useFlowReadOnlyTypes?: boolean; @@ -45,12 +45,12 @@ export interface FlowDocumentsPluginConfig extends RawDocumentsConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * config: - * flattenGeneratedTypes: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * config: + * flattenGeneratedTypes: true * ``` */ flattenGeneratedTypes?: boolean; diff --git a/packages/plugins/flow/resolvers/src/index.ts b/packages/plugins/flow/resolvers/src/index.ts index 02f387fb02b3..053f9a9ea894 100644 --- a/packages/plugins/flow/resolvers/src/index.ts +++ b/packages/plugins/flow/resolvers/src/index.ts @@ -14,7 +14,7 @@ import { FlowResolversVisitor } from './visitor'; * * It generates types for your entire schema: types, input types, enum, interface, scalar and union. * - * This plugin requires you to use `@graphql-codegen/flow` as well, because it depends on it's types. + * This plugin requires you to use `@graphql-codegen/flow` as well, because it depends on its types. */ export interface RawFlowResolversConfig extends RawResolversConfig {} diff --git a/packages/plugins/java/apollo-android/src/plugin.ts b/packages/plugins/java/apollo-android/src/plugin.ts index c0246d6e0c12..85f3951a4836 100644 --- a/packages/plugins/java/apollo-android/src/plugin.ts +++ b/packages/plugins/java/apollo-android/src/plugin.ts @@ -17,12 +17,12 @@ export interface JavaApolloAndroidPluginConfig extends RawConfig { * @exampleMarkdown * ```yml * generates: - * ./app/src/main/java/: - * preset: java-apollo-android - * config: - * package: "com.my.package.generated.graphql" - * plugins: - * - java-apollo-android + * ./app/src/main/java/: + * preset: java-apollo-android + * config: + * package: 'com.my.package.generated.graphql' + * plugins: + * - java-apollo-android * ``` */ package?: string; @@ -32,12 +32,12 @@ export interface JavaApolloAndroidPluginConfig extends RawConfig { * @exampleMarkdown * ```yml * generates: - * ./app/src/main/java/: - * preset: java-apollo-android - * config: - * typePackage: "com.my.package.generated.graphql" - * plugins: - * - java-apollo-android + * ./app/src/main/java/: + * preset: java-apollo-android + * config: + * typePackage: 'com.my.package.generated.graphql' + * plugins: + * - java-apollo-android * ``` */ typePackage?: string; @@ -47,12 +47,12 @@ export interface JavaApolloAndroidPluginConfig extends RawConfig { * @exampleMarkdown * ```yml * generates: - * ./app/src/main/java/: - * preset: java-apollo-android - * config: - * fragmentPackage: "com.my.package.generated.graphql" - * plugins: - * - java-apollo-android + * ./app/src/main/java/: + * preset: java-apollo-android + * config: + * fragmentPackage: 'com.my.package.generated.graphql' + * plugins: + * - java-apollo-android * ``` */ fragmentPackage?: string; diff --git a/packages/plugins/other/fragment-matcher/src/index.ts b/packages/plugins/other/fragment-matcher/src/index.ts index f07669cb2cd1..dd5622fa1235 100644 --- a/packages/plugins/other/fragment-matcher/src/index.ts +++ b/packages/plugins/other/fragment-matcher/src/index.ts @@ -38,17 +38,17 @@ interface PossibleTypesResultData { */ export interface FragmentMatcherConfig { /** - * @description Compatible only with JSON extension, allow you to choose the export type, either `module.exports` or `export default`. Allowed values are: `commonjs`, `es2015`. + * @description Compatible only with JSON extension, allow you to choose the export type, either `module.exports` or `export default`. Allowed values are: `commonjs`, `es2015`. * @default es2015 * * @exampleMarkdown * ```yml * generates: - * path/to/file.json: - * plugins: - * - fragment-matcher - * config: - * module: commonjs + * path/to/file.json: + * plugins: + * - fragment-matcher + * config: + * module: commonjs * ``` */ module?: 'commonjs' | 'es2015'; @@ -59,11 +59,11 @@ export interface FragmentMatcherConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - fragment-matcher - * config: - * apolloClientVersion: 3 + * path/to/file.ts: + * plugins: + * - fragment-matcher + * config: + * apolloClientVersion: 3 * ``` */ apolloClientVersion?: 2 | 3; @@ -74,11 +74,11 @@ export interface FragmentMatcherConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - fragment-matcher - * config: - * useExplicitTyping: true + * path/to/file.ts: + * plugins: + * - fragment-matcher + * config: + * useExplicitTyping: true * ``` */ useExplicitTyping?: boolean; diff --git a/packages/plugins/other/introspection/src/index.ts b/packages/plugins/other/introspection/src/index.ts index af9d9b29fb90..fa8fa975950e 100644 --- a/packages/plugins/other/introspection/src/index.ts +++ b/packages/plugins/other/introspection/src/index.ts @@ -14,11 +14,11 @@ export interface IntrospectionPluginConfig { * @exampleMarkdown * ```yml * generates: - * introspection.json: - * plugins: - * - introspection - * config: - * minify: true + * introspection.json: + * plugins: + * - introspection + * config: + * minify: true * ``` */ minify?: boolean; diff --git a/packages/plugins/other/schema-ast/src/index.ts b/packages/plugins/other/schema-ast/src/index.ts index 55e6a5b0177f..2681fa2b70d3 100644 --- a/packages/plugins/other/schema-ast/src/index.ts +++ b/packages/plugins/other/schema-ast/src/index.ts @@ -56,7 +56,7 @@ export interface SchemaASTConfig { */ includeIntrospectionTypes?: boolean; /** - * @description Set to true in order to print description as comments (using # instead of """) + * @description Set to true in order to print description as comments (using `#` instead of `"""`) * @default false * * @exampleMarkdown diff --git a/packages/plugins/other/time/src/config.ts b/packages/plugins/other/time/src/config.ts index 2e12d339dd74..8b0cce84931a 100644 --- a/packages/plugins/other/time/src/config.ts +++ b/packages/plugins/other/time/src/config.ts @@ -6,10 +6,10 @@ export interface TimePluginConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - time: - * format: DD.MM.YY + * path/to/file.ts: + * plugins: + * - time: + * format: DD.MM.YY * ``` */ format?: string; @@ -20,10 +20,10 @@ export interface TimePluginConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - time: - * message: "The file generated on: " + * path/to/file.ts: + * plugins: + * - time: + * message: 'The file generated on: ' * ``` */ message?: string; diff --git a/packages/plugins/other/urql-introspection/src/index.ts b/packages/plugins/other/urql-introspection/src/index.ts index b073058fd3ce..9b66f8222ae5 100644 --- a/packages/plugins/other/urql-introspection/src/index.ts +++ b/packages/plugins/other/urql-introspection/src/index.ts @@ -7,7 +7,7 @@ import { getIntrospectedSchema, minifyIntrospectionQuery } from '@urql/introspec /** * @description This plugin generates an introspection file for Schema Awareness feature of Urql Cache Exchange * - * You can read more about it in `urql` documentation: https://formidable.com/open-source/urql/docs/graphcache/schema-awareness/. + * You can read more about it in `urql` documentation: https://formidable.com/open-source/urql/docs/graphcache/schema-awareness. * * Urql Introspection plugin accepts a TypeScript / JavaScript or a JSON file as an output _(`.ts, .tsx, .js, .jsx, .json`)_. * @@ -17,17 +17,17 @@ import { getIntrospectedSchema, minifyIntrospectionQuery } from '@urql/introspec */ export interface UrqlIntrospectionConfig { /** - * @description Compatible only with JSON extension, allow you to choose the export type, either `module.exports` or `export default`. Allowed values are: `commonjs`, `es2015`. + * @description Compatible only with JSON extension, allow you to choose the export type, either `module.exports` or `export default`. Allowed values are: `commonjs`, `es2015`. * @default es2015 * * @exampleMarkdown * ```yml * generates: - * path/to/file.json: - * plugins: - * - urql-introspection - * config: - * module: commonjs + * path/to/file.json: + * plugins: + * - urql-introspection + * config: + * module: commonjs * ``` */ module?: 'commonjs' | 'es2015'; diff --git a/packages/plugins/other/visitor-plugin-common/src/base-documents-visitor.ts b/packages/plugins/other/visitor-plugin-common/src/base-documents-visitor.ts index 94f43c846026..7b3d9c325f9b 100644 --- a/packages/plugins/other/visitor-plugin-common/src/base-documents-visitor.ts +++ b/packages/plugins/other/visitor-plugin-common/src/base-documents-visitor.ts @@ -56,7 +56,7 @@ export interface RawDocumentsConfig extends RawTypesConfig { preResolveTypes?: boolean; /** * @default false - * @description Avoid adding `__typename` for root types. This is ignored when a selection explictly specifies `__typename`. + * @description Avoid adding `__typename` for root types. This is ignored when a selection explicitly specifies `__typename`. * * @exampleMarkdown * ```yml diff --git a/packages/plugins/other/visitor-plugin-common/src/base-resolvers-visitor.ts b/packages/plugins/other/visitor-plugin-common/src/base-resolvers-visitor.ts index fdd1ac81f5f6..003b17353dc7 100644 --- a/packages/plugins/other/visitor-plugin-common/src/base-resolvers-visitor.ts +++ b/packages/plugins/other/visitor-plugin-common/src/base-resolvers-visitor.ts @@ -89,12 +89,13 @@ export interface RawResolversConfig extends RawConfig { addUnderscoreToArgsType?: boolean; /** * @description Use this configuration to set a custom type for your `context`, and it will - * effect all the resolvers, without the need to override it using generics each time. + * affect all the resolvers, without the need to override it using generics each time. * If you wish to use an external type and import it from another file, you can use `add` plugin * and add the required `import` statement, or you can use a `module#type` syntax. * * @exampleMarkdown * ## Custom Context Type + * * ```yml * plugins * config: @@ -102,6 +103,7 @@ export interface RawResolversConfig extends RawConfig { * ``` * * ## Custom Context Type + * * ```yml * plugins * config: @@ -116,7 +118,8 @@ export interface RawResolversConfig extends RawConfig { * * @exampleMarkdown * ## Custom Field Context Types - * ``` + * + * ```yml * plugins * config: * fieldContextTypes: @@ -128,18 +131,21 @@ export interface RawResolversConfig extends RawConfig { fieldContextTypes?: Array; /** * @description Use this configuration to set a custom type for the `rootValue`, and it will - * effect resolvers of all root types (Query, Mutation and Subscription), without the need to override it using generics each time. + * affect resolvers of all root types (Query, Mutation and Subscription), without the need to override it using generics each time. * If you wish to use an external type and import it from another file, you can use `add` plugin * and add the required `import` statement, or you can use both `module#type` or `module#namespace#type` syntax. * * @exampleMarkdown * ## Custom RootValue Type + * * ```yml * plugins * config: * rootValueType: MyRootValue * ``` + * * ## Custom RootValue Type + * * ```yml * plugins * config: @@ -165,6 +171,7 @@ export interface RawResolversConfig extends RawConfig { * * @exampleMarkdown * ## Custom Context Type + * * ```yml * plugins * config: @@ -177,10 +184,11 @@ export interface RawResolversConfig extends RawConfig { /** * @description Allow you to set the default mapper when it's not being override by `mappers` or generics. * You can specify a type name, or specify a string in `module#type` or `module#namespace#type` format. - * The default value of mappers it the TypeScript type generated by `typescript` package. + * The default value of mappers is the TypeScript type generated by `typescript` package. * * @exampleMarkdown * ## Replace with any + * * ```yml * plugins * config: @@ -188,6 +196,7 @@ export interface RawResolversConfig extends RawConfig { * ``` * * ## Custom Base Object + * * ```yml * plugins * config: @@ -195,7 +204,9 @@ export interface RawResolversConfig extends RawConfig { * ``` * * ## Wrap default types with Partial + * * You can also specify a custom wrapper for the original type, without overriding the original generated types, use "{T}" to specify the identifier. (for flow, use `$Shape<{T}>`) + * * ```yml * plugins * config: @@ -203,15 +214,16 @@ export interface RawResolversConfig extends RawConfig { * ``` * * ## Allow deep partial with `utility-types` + * * ```yml * plugins - * plugins: - * - "typescript" - * - "typescript-resolvers" - * - add: - * content: "import { DeepPartial } from 'utility-types';" - * config: - * defaultMapper: DeepPartial<{T}> + * plugins: + * - 'typescript' + * - 'typescript-resolvers' + * - add: + * content: "import { DeepPartial } from 'utility-types';" + * config: + * defaultMapper: DeepPartial<{T}> * ``` */ defaultMapper?: string; @@ -222,28 +234,30 @@ export interface RawResolversConfig extends RawConfig { * * @exampleMarkdown * ## Override all definition types + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-resolvers - * config: - * avoidOptionals: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-resolvers + * config: + * avoidOptionals: true * ``` * * ## Override only specific definition types + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * avoidOptionals: - * field: true - * inputValue: true - * object: true - * defaultValue: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * avoidOptionals: + * field: true + * inputValue: true + * object: true + * defaultValue: true * ``` */ avoidOptionals?: boolean | AvoidOptionalsConfig; @@ -254,12 +268,12 @@ export interface RawResolversConfig extends RawConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-resolvers - * config: - * showUnusedMappers: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-resolvers + * config: + * showUnusedMappers: true * ``` */ showUnusedMappers?: boolean; @@ -285,6 +299,7 @@ export interface RawResolversConfig extends RawConfig { * * @exampleMarkdown * ## Disable enum prefixes + * * ```yml * config: * typesPrefix: I @@ -305,7 +320,7 @@ export interface RawResolversConfig extends RawConfig { /** * @default '' * @description Prefixes all GraphQL related generated types with that value, as namespaces import. - * You can use this featuere to allow seperation of plugins to different files. + * You can use this feature to allow separation of plugins to different files. */ namespacedImportName?: string; /** @@ -321,14 +336,14 @@ export interface RawResolversConfig extends RawConfig { /** * @type string * @default '__' - * @description Defines the prefix value used for `__resolveType` and and `__isTypeOf` resolvers. - * If you are using `mercurius-js`, please set this field to empty string for better compatiblity. + * @description Defines the prefix value used for `__resolveType` and `__isTypeOf` resolvers. + * If you are using `mercurius-js`, please set this field to empty string for better compatibility. */ internalResolversPrefix?: string; /** * @type boolean * @default false - * @description Turning this flag to `true` will generate resolver siganture that has only `resolveType` for interfaces, forcing developers to write inherited type resolvers in the type itself. + * @description Turning this flag to `true` will generate resolver signature that has only `resolveType` for interfaces, forcing developers to write inherited type resolvers in the type itself. */ onlyResolveTypeForInterfaces?: boolean; /** diff --git a/packages/plugins/other/visitor-plugin-common/src/base-types-visitor.ts b/packages/plugins/other/visitor-plugin-common/src/base-types-visitor.ts index 992570e770ba..44693c5192ab 100644 --- a/packages/plugins/other/visitor-plugin-common/src/base-types-visitor.ts +++ b/packages/plugins/other/visitor-plugin-common/src/base-types-visitor.ts @@ -65,6 +65,7 @@ export interface RawTypesConfig extends RawConfig { * * @exampleMarkdown * ## With Custom Values + * * ```yml * config: * addUnderscoreToArgsType: true @@ -103,12 +104,14 @@ export interface RawTypesConfig extends RawConfig { * * @exampleMarkdown * ## Override all declarations + * * ```yml * config: * declarationKind: 'interface' * ``` * * ## Override only specific declarations + * * ```yml * config: * declarationKind: @@ -123,6 +126,7 @@ export interface RawTypesConfig extends RawConfig { * * @exampleMarkdown * ## Disable enum prefixes + * * ```yml * config: * typesPrefix: I @@ -136,31 +140,33 @@ export interface RawTypesConfig extends RawConfig { * * @exampleMarkdown * ## Allow Promise + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * wrapFieldDefinitions: true - * fieldWrapperValue: T | Promise + * path/to/file.ts: + * plugins: + * - typescript + * config: + * wrapFieldDefinitions: true + * fieldWrapperValue: T | Promise * ``` */ fieldWrapperValue?: string; /** - * @description Set the to `true` in order to wrap field definitions with `FieldWrapper`. + * @description Set to `true` in order to wrap field definitions with `FieldWrapper`. * This is useful to allow return types such as Promises and functions. * @default false * * @exampleMarkdown * ## Enable wrapping fields + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * wrapFieldDefinitions: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * wrapFieldDefinitions: true * ``` */ wrapFieldDefinitions?: boolean; @@ -170,13 +176,14 @@ export interface RawTypesConfig extends RawConfig { * * @exampleMarkdown * ## Override all definition types + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * onlyOperationTypes: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * onlyOperationTypes: true * ``` */ onlyOperationTypes?: boolean; @@ -186,22 +193,23 @@ export interface RawTypesConfig extends RawConfig { * * @exampleMarkdown * ## Ignore enum values from schema + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * ignoreEnumValuesFromSchema: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * ignoreEnumValuesFromSchema: true * ``` */ ignoreEnumValuesFromSchema?: boolean; /** * @name wrapEntireFieldDefinitions * @type boolean - * @description Set the to `true` in order to wrap field definitions with `EntireFieldWrapper`. + * @description Set to `true` in order to wrap field definitions with `EntireFieldWrapper`. * This is useful to allow return types such as Promises and functions for fields. - * Differs from `wrapFieldDefinitions` in that this wraps the entire field definition if ie. the field is an Array, while + * Differs from `wrapFieldDefinitions` in that this wraps the entire field definition if i.e. the field is an Array, while * `wrapFieldDefinitions` will wrap every single value inside the array. * @default true * @@ -243,7 +251,7 @@ export interface RawTypesConfig extends RawConfig { * * **WARNING:** Using this option does only change the type definitions. * - * For actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://www.graphql-tools.com/docs/schema-directives)) that apply those rules! + * For actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://graphql-tools.com/docs/schema-directives)) that apply those rules! * Otherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors. * * Please use this configuration option with care! diff --git a/packages/plugins/other/visitor-plugin-common/src/base-visitor.ts b/packages/plugins/other/visitor-plugin-common/src/base-visitor.ts index 6a31645298c0..9ea334081890 100644 --- a/packages/plugins/other/visitor-plugin-common/src/base-visitor.ts +++ b/packages/plugins/other/visitor-plugin-common/src/base-visitor.ts @@ -82,8 +82,8 @@ export interface RawConfig { * The format of the converter must be a valid `module#method`. * Allowed values for specific output are: `typeNames`, `enumValues`. * You can also use "keep" to keep all GraphQL names as-is. - * Additionally you can set `transformUnderscore` to `true` if you want to override the default behavior, - * which is to preserves underscores. + * Additionally, you can set `transformUnderscore` to `true` if you want to override the default behavior, + * which is to preserve underscores. * * Available case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst` * [See more](https://github.com/btxtiger/change-case-all) @@ -142,7 +142,7 @@ export interface RawConfig { typesSuffix?: string; /** * @default false - * @description Does not add __typename to the generated types, unless it was specified in the selection set. + * @description Does not add `__typename` to the generated types, unless it was specified in the selection set. * * @exampleMarkdown * ```yml @@ -206,7 +206,7 @@ export interface RawConfig { /** * @description Whether fragment types should be inlined into other operations. * "inline" is the default behavior and will perform deep inlining fragment types within operation type definitions. - * "combine" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types). + * "combine" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types). * * @type string * @default inline diff --git a/packages/plugins/other/visitor-plugin-common/src/client-side-base-visitor.ts b/packages/plugins/other/visitor-plugin-common/src/client-side-base-visitor.ts index 2047d77b1351..b438458db184 100644 --- a/packages/plugins/other/visitor-plugin-common/src/client-side-base-visitor.ts +++ b/packages/plugins/other/visitor-plugin-common/src/client-side-base-visitor.ts @@ -43,12 +43,14 @@ export interface RawClientSideBasePluginConfig extends RawConfig { * * @exampleMarkdown * ## graphql.macro + * * ```yml * config: * gqlImport: graphql.macro#gql * ``` * * ## Gatsby + * * ```yml * config: * gqlImport: gatsby#graphql @@ -104,6 +106,7 @@ export interface RawClientSideBasePluginConfig extends RawConfig { /** * @default graphQLTag * @description Declares how DocumentNode are created: + * * - `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client * - `documentNode`: document nodes will be generated as objects when we generate the templates. * - `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them. @@ -128,6 +131,7 @@ export interface RawClientSideBasePluginConfig extends RawConfig { /** * @default "" * @description This config should be used if `documentMode` is `external`. This has 2 usage: + * * - any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document * - 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader. * diff --git a/packages/plugins/typescript/apollo-angular/src/config.ts b/packages/plugins/typescript/apollo-angular/src/config.ts index aa7ea45c06ed..a0ee479bb497 100644 --- a/packages/plugins/typescript/apollo-angular/src/config.ts +++ b/packages/plugins/typescript/apollo-angular/src/config.ts @@ -7,7 +7,7 @@ import { RawClientSideBasePluginConfig } from '@graphql-codegen/visitor-plugin-c * * It extends the basic TypeScript plugins: `@graphql-codegen/typescript`, `@graphql-codegen/typescript-operations` - and thus shares a similar configuration. * - * To shed some more light regards this template, it's recommended to go through the this article: https://apollo-angular.com/docs/get-started , and to read the Code Generation with Apollo Angular: https://the-guild.dev/blog/apollo-angular-12 + * To shed some more light regards this template, it's recommended to go through this article: https://apollo-angular.com/docs/get-started, and to read the Code Generation with Apollo Angular: https://the-guild.dev/blog/apollo-angular-12 */ export interface ApolloAngularRawPluginConfig extends RawClientSideBasePluginConfig { /** diff --git a/packages/plugins/typescript/document-nodes/src/index.ts b/packages/plugins/typescript/document-nodes/src/index.ts index 7d936d9536e8..4e2aa657fdbc 100644 --- a/packages/plugins/typescript/document-nodes/src/index.ts +++ b/packages/plugins/typescript/document-nodes/src/index.ts @@ -8,7 +8,7 @@ import { GraphQLSchema, concatAST, FragmentDefinitionNode, Kind } from 'graphql' import { TypeScriptDocumentNodesVisitor } from './visitor'; /** - * @description This plugin generates TypeScript source (`.ts`) file from GraphQL files (`.graphql`). + * @description This plugin generates TypeScript source `.ts` file from GraphQL files `.graphql`. */ export interface TypeScriptDocumentNodesRawPluginConfig extends RawClientSideBasePluginConfig { /** @@ -18,8 +18,8 @@ export interface TypeScriptDocumentNodesRawPluginConfig extends RawClientSideBas * The format of the converter must be a valid `module#method`. * Allowed values for specific output are: `typeNames`, `enumValues`. * You can also use "keep" to keep all GraphQL names as-is. - * Additionally you can set `transformUnderscore` to `true` if you want to override the default behavior, - * which is to preserves underscores. + * Additionally, you can set `transformUnderscore` to `true` if you want to override the default behavior, + * which is to preserve underscores. * * Available case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst` * [See more](https://github.com/btxtiger/change-case-all) @@ -60,13 +60,13 @@ export interface TypeScriptDocumentNodesRawPluginConfig extends RawClientSideBas * * @exampleMarkdown * ```yml - * documents: src/api/user-service/queries.graphql - * generates: - * src/api/user-service/queries.ts: - * plugins: - * - typescript-document-nodes - * config: - * namePrefix: 'gql' + * documents: src/api/user-service/queries.graphql + * generates: + * src/api/user-service/queries.ts: + * plugins: + * - typescript-document-nodes + * config: + * namePrefix: 'gql' * ``` */ namePrefix?: string; @@ -76,13 +76,13 @@ export interface TypeScriptDocumentNodesRawPluginConfig extends RawClientSideBas * * @exampleMarkdown * ```yml - * documents: src/api/user-service/queries.graphql - * generates: - * src/api/user-service/queries.ts: - * plugins: - * - typescript-document-nodes - * config: - * nameSuffix: 'Query' + * documents: src/api/user-service/queries.graphql + * generates: + * src/api/user-service/queries.ts: + * plugins: + * - typescript-document-nodes + * config: + * nameSuffix: 'Query' * ``` */ nameSuffix?: string; diff --git a/packages/plugins/typescript/graphql-apollo/src/config.ts b/packages/plugins/typescript/graphql-apollo/src/config.ts index 266dc6d64a9d..ff284fdeaa6a 100644 --- a/packages/plugins/typescript/graphql-apollo/src/config.ts +++ b/packages/plugins/typescript/graphql-apollo/src/config.ts @@ -1,7 +1,7 @@ import { RawClientSideBasePluginConfig } from '@graphql-codegen/visitor-plugin-common'; /** - * @description This plugin generates [`graphql-request`](https://www.npmjs.com/package/graphql-request) ready-to-use SDK, which is fully-typed. + * @description This plugin generates [`graphql-request`](https://npmjs.com/package/graphql-request) ready-to-use SDK, which is fully-typed. */ export interface RawGraphQLApolloPluginConfig extends RawClientSideBasePluginConfig {} diff --git a/packages/plugins/typescript/graphql-request/src/config.ts b/packages/plugins/typescript/graphql-request/src/config.ts index c9e0a7db2301..fd49900675cb 100644 --- a/packages/plugins/typescript/graphql-request/src/config.ts +++ b/packages/plugins/typescript/graphql-request/src/config.ts @@ -1,24 +1,24 @@ import { RawClientSideBasePluginConfig } from '@graphql-codegen/visitor-plugin-common'; /** - * @description This plugin generates [`graphql-request`](https://www.npmjs.com/package/graphql-request) ready-to-use SDK, which is fully-typed. + * @description This plugin generates [`graphql-request`](https://npmjs.com/package/graphql-request) ready-to-use SDK, which is fully-typed. */ export interface RawGraphQLRequestPluginConfig extends RawClientSideBasePluginConfig { /** - * @description By default the `request` method return the `data` or `errors` key from the response. If you need to access the `extensions` key you can use the `rawRequest` method. + * @description By default, the `request` method return the `data` or `errors` key from the response. If you need to access the `extensions` key you can use the `rawRequest` method. * @default false * * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-graphql-request - * config: - * rawRequest: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-graphql-request + * config: + * rawRequest: true * ``` */ rawRequest?: boolean; diff --git a/packages/plugins/typescript/mongodb/src/config.ts b/packages/plugins/typescript/mongodb/src/config.ts index edd0ee465f09..de9096c853a8 100644 --- a/packages/plugins/typescript/mongodb/src/config.ts +++ b/packages/plugins/typescript/mongodb/src/config.ts @@ -65,12 +65,12 @@ export interface TypeScriptMongoPluginConfig extends RawConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-mongodb - * config: - * avoidOptionals: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-mongodb + * config: + * avoidOptionals: true * ``` */ avoidOptionals?: boolean; diff --git a/packages/plugins/typescript/named-operations-object/src/index.ts b/packages/plugins/typescript/named-operations-object/src/index.ts index 2d57dd33a992..936e010921a5 100644 --- a/packages/plugins/typescript/named-operations-object/src/index.ts +++ b/packages/plugins/typescript/named-operations-object/src/index.ts @@ -10,12 +10,12 @@ export interface NamedOperationsObjectPluginConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - named-operations-object - * config: - * identifierName: ListAllOperations + * path/to/file.ts: + * plugins: + * - typescript + * - named-operations-object + * config: + * identifierName: ListAllOperations * ``` */ identifierName?: string; diff --git a/packages/plugins/typescript/operations/src/config.ts b/packages/plugins/typescript/operations/src/config.ts index 2b8754ce1d19..e5ada9677344 100644 --- a/packages/plugins/typescript/operations/src/config.ts +++ b/packages/plugins/typescript/operations/src/config.ts @@ -1,7 +1,7 @@ import { RawDocumentsConfig, AvoidOptionalsConfig } from '@graphql-codegen/visitor-plugin-common'; /** - * @description This plugin generates TypeScript types based on your GraphQLSchema *and* your GraphQL operations and fragments. + * @description This plugin generates TypeScript types based on your GraphQLSchema _and_ your GraphQL operations and fragments. * It generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment. * * Note: In most configurations, this plugin requires you to use `typescript as well, because it depends on its base types. @@ -18,11 +18,11 @@ export interface TypeScriptDocumentsPluginConfig extends RawDocumentsConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * arrayInputCoercion: false + * path/to/file.ts: + * plugins: + * - typescript + * config: + * arrayInputCoercion: false * ``` */ arrayInputCoercion?: boolean; @@ -34,28 +34,30 @@ export interface TypeScriptDocumentsPluginConfig extends RawDocumentsConfig { * * @exampleMarkdown * ## Override all definition types + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * config: - * avoidOptionals: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * config: + * avoidOptionals: true * ``` * * ## Override only specific definition types + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * avoidOptionals: - * field: true - * inputValue: true - * object: true - * defaultValue: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * avoidOptionals: + * field: true + * inputValue: true + * object: true + * defaultValue: true * ``` */ avoidOptionals?: boolean | AvoidOptionalsConfig; @@ -66,12 +68,12 @@ export interface TypeScriptDocumentsPluginConfig extends RawDocumentsConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * config: - * immutableTypes: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * config: + * immutableTypes: true * ``` */ immutableTypes?: boolean; @@ -82,12 +84,12 @@ export interface TypeScriptDocumentsPluginConfig extends RawDocumentsConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * config: - * flattenGeneratedTypes: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * config: + * flattenGeneratedTypes: true * ``` */ flattenGeneratedTypes?: boolean; @@ -99,11 +101,11 @@ export interface TypeScriptDocumentsPluginConfig extends RawDocumentsConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * noExport: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * noExport: true * ``` */ noExport?: boolean; @@ -113,7 +115,11 @@ export interface TypeScriptDocumentsPluginConfig extends RawDocumentsConfig { * @type boolean * @description Add const export of the operation name to output file. Pay attention that the file should be `d.ts`. * You can combine it with `near-operation-file preset` and therefore the types will be generated along with graphql file. Then you need to set extension in `presetConfig` to be `.gql.d.ts` and by that you can import `gql` file in `ts` files. - * It will allow you to get everything with one import: ```import { GetClient, GetClientQuery, GetClientQueryVariables, } from "./GetClient.gql";```. + * It will allow you to get everything with one import: + * + * ```ts + * import { GetClient, GetClientQuery, GetClientQueryVariables } from './GetClient.gql' + * ``` * @default false * @see https://github.com/dotansimha/graphql-code-generator/issues/3949 * diff --git a/packages/plugins/typescript/react-apollo/src/config.ts b/packages/plugins/typescript/react-apollo/src/config.ts index 79237c17e85e..60ad2a899db3 100644 --- a/packages/plugins/typescript/react-apollo/src/config.ts +++ b/packages/plugins/typescript/react-apollo/src/config.ts @@ -7,53 +7,53 @@ import { RawClientSideBasePluginConfig } from '@graphql-codegen/visitor-plugin-c */ export interface ReactApolloRawPluginConfig extends RawClientSideBasePluginConfig { /** - * @description Customize the output by enabling/disabling the generated Component (deprecated since Apollo-Client v3). For more details: https://www.apollographql.com/docs/react/api/react/components/ + * @description Customize the output by enabling/disabling the generated Component (deprecated since Apollo-Client v3). For more details: https://apollographql.com/docs/react/api/react/components * @default false * * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-react-apollo - * config: - * withComponent: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-react-apollo + * config: + * withComponent: true * ``` */ withComponent?: boolean; /** - * @description Customize the output by enabling/disabling the HOC (deprecated since Apollo-Client v3). For more details: https://www.apollographql.com/docs/react/api/react/hoc/ + * @description Customize the output by enabling/disabling the HOC (deprecated since Apollo-Client v3). For more details: https://apollographql.com/docs/react/api/react/hoc * @default false * * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-react-apollo - * config: - * withHOC: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-react-apollo + * config: + * withHOC: true * ``` */ withHOC?: boolean; /** - * @description Customized the output by enabling/disabling the generated React Hooks. For more details: https://www.apollographql.com/docs/react/api/react/hooks/ + * @description Customized the output by enabling/disabling the generated React Hooks. For more details: https://apollographql.com/docs/react/api/react/hooks * @default true * * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-react-apollo - * config: - * withHooks: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-react-apollo + * config: + * withHooks: true * ``` */ withHooks?: boolean; @@ -64,13 +64,13 @@ export interface ReactApolloRawPluginConfig extends RawClientSideBasePluginConfi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-react-apollo - * config: - * withMutationFn: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-react-apollo + * config: + * withMutationFn: true * ``` */ withMutationFn?: boolean; @@ -81,13 +81,13 @@ export interface ReactApolloRawPluginConfig extends RawClientSideBasePluginConfi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-react-apollo - * config: - * withRefetchFn: false + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-react-apollo + * config: + * withRefetchFn: false * ``` */ withRefetchFn?: boolean; @@ -125,13 +125,13 @@ export interface ReactApolloRawPluginConfig extends RawClientSideBasePluginConfi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-react-apollo - * config: - * reactApolloVersion: 2 + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-react-apollo + * config: + * reactApolloVersion: 2 * ``` */ reactApolloVersion?: 2 | 3; @@ -142,13 +142,13 @@ export interface ReactApolloRawPluginConfig extends RawClientSideBasePluginConfi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-react-apollo - * config: - * withResultType: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-react-apollo + * config: + * withResultType: true * ``` */ withResultType?: boolean; @@ -159,13 +159,13 @@ export interface ReactApolloRawPluginConfig extends RawClientSideBasePluginConfi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-react-apollo - * config: - * withMutationOptionsType: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-react-apollo + * config: + * withMutationOptionsType: true * ``` */ withMutationOptionsType?: boolean; @@ -177,13 +177,13 @@ export interface ReactApolloRawPluginConfig extends RawClientSideBasePluginConfi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-react-apollo - * config: - * addDocBlocks: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-react-apollo + * config: + * addDocBlocks: true * ``` */ addDocBlocks?: boolean; diff --git a/packages/plugins/typescript/react-query/src/config.ts b/packages/plugins/typescript/react-query/src/config.ts index af118efa683c..e68a8fe23d06 100644 --- a/packages/plugins/typescript/react-query/src/config.ts +++ b/packages/plugins/typescript/react-query/src/config.ts @@ -21,9 +21,10 @@ export interface ReactQueryRawPluginConfig | 'useTypeImports' > { /** - * @description Customize the fetcher you wish to use in the generated file. React-Query is agnostic to the data-fetcing layer, so you should provide it, or use a custom one. + * @description Customize the fetcher you wish to use in the generated file. React-Query is agnostic to the data-fetching layer, so you should provide it, or use a custom one. * * The following options are available to use: + * * - 'fetch' - requires you to specify endpoint and headers on each call, and uses `fetch` to do the actual http call. * - `{ endpoint: string, fetchParams: RequestInit }`: hardcode your endpoint and fetch options into the generated output, using the environment `fetch` method. You can also use `process.env.MY_VAR` as endpoint or header value. * - `file#identifier` - You can use custom fetcher method that should implement the exported `ReactQueryFetcher` interface. Example: `./my-fetcher#myCustomFetcher`. @@ -36,11 +37,12 @@ export interface ReactQueryRawPluginConfig * @description For each generate query hook adds `document` field with a * corresponding GraphQL query. Useful for `queryClient.fetchQuery`. * @exampleMarkdown + * * ```ts - * queryClient.fetchQuery( - * useUserDetailsQuery.getKey(variables), - * () => gqlRequest(useUserDetailsQuery.document, variables), - * ) + * queryClient.fetchQuery( + * useUserDetailsQuery.getKey(variables), + * () => gqlRequest(useUserDetailsQuery.document, variables) + * ) * ``` */ exposeDocument?: boolean; @@ -50,9 +52,9 @@ export interface ReactQueryRawPluginConfig * @description For each generate query hook adds getKey(variables: QueryVariables) function. Useful for cache updates. * @exampleMarkdown * ```ts - * const query = useUserDetailsQuery(...); - * const key = useUserDetailsQuery.getKey({id: theUsersId}); - * // use key in a cache update after a mutation + * const query = useUserDetailsQuery(...) + * const key = useUserDetailsQuery.getKey({ id: theUsersId }) + * // use key in a cache update after a mutation * ``` */ exposeQueryKeys?: boolean; @@ -62,8 +64,8 @@ export interface ReactQueryRawPluginConfig * @description For each generate mutation hook adds getKey() function. Useful for call outside of functional component. * @exampleMarkdown * ```ts - * const mutation = useUserDetailsMutation(...); - * const key = useUserDetailsMutation.getKey(); + * const mutation = useUserDetailsMutation(...) + * const key = useUserDetailsMutation.getKey() * ``` */ exposeMutationKeys?: boolean; @@ -74,7 +76,7 @@ export interface ReactQueryRawPluginConfig * It is useful for `queryClient.fetchQuery` and `queryClient.prefetchQuery`. * @exampleMarkdown * ```ts - * await queryClient.prefetchQuery(userQuery.getKey(), () => userQuery.fetcher()) + * await queryClient.prefetchQuery(userQuery.getKey(), () => userQuery.fetcher()) * ``` */ exposeFetcher?: boolean; diff --git a/packages/plugins/typescript/resolvers/src/config.ts b/packages/plugins/typescript/resolvers/src/config.ts index 39f38e03898c..cc914266456c 100644 --- a/packages/plugins/typescript/resolvers/src/config.ts +++ b/packages/plugins/typescript/resolvers/src/config.ts @@ -2,7 +2,7 @@ import { RawResolversConfig } from '@graphql-codegen/visitor-plugin-common'; /** * @description This plugin generates TypeScript signature for `resolve` functions of your GraphQL API. - * You can use this plugin a to generate simple resolvers signature based on your GraphQL types, or you can change it's behavior be providing custom model types (mappers). + * You can use this plugin to generate simple resolvers signature based on your GraphQL types, or you can change its behavior be providing custom model types (mappers). * * You can find a blog post explaining the usage of this plugin here: https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen * @@ -15,30 +15,30 @@ export interface TypeScriptResolversPluginConfig extends RawResolversConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-resolvers - * config: - * useIndexSignature: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-resolvers + * config: + * useIndexSignature: true * ``` */ useIndexSignature?: boolean; /** * @description Disables/Enables Schema Stitching support. - * By defualt, the resolver signature does not include the support for schema-stitching. + * By default, the resolver signature does not include the support for schema-stitching. * Set to `false` to enable that. * * @default true * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-resolvers - * config: - * noSchemaStitching: false + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-resolvers + * config: + * noSchemaStitching: false * ``` */ noSchemaStitching?: boolean; @@ -56,12 +56,12 @@ export interface TypeScriptResolversPluginConfig extends RawResolversConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-resolvers - * config: - * customResolveInfo: ./my-types#MyResolveInfo + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-resolvers + * config: + * customResolveInfo: ./my-types#MyResolveInfo * ``` */ customResolveInfo?: string; @@ -71,33 +71,35 @@ export interface TypeScriptResolversPluginConfig extends RawResolversConfig { * * @exampleMarkdown * ## Custom Signature + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-resolvers - * config: - * customResolverFn: ./my-types#MyResolveFn + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-resolvers + * config: + * customResolverFn: ./my-types#MyResolveFn * ``` * * ## With Graphile + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - add: - * content: "import { GraphileHelpers } from 'graphile-utils/node8plus/fieldHelpers';" - * - typescript - * - typescript-resolvers - * config: - * customResolverFn: | - * ( - * parent: TParent, - * args: TArgs, - * context: TContext, - * info: GraphQLResolveInfo & { graphile: GraphileHelpers } - * ) => Promise | TResult; + * path/to/file.ts: + * plugins: + * - add: + * content: "import { GraphileHelpers } from 'graphile-utils/node8plus/fieldHelpers';" + * - typescript + * - typescript-resolvers + * config: + * customResolverFn: | + * ( + * parent: TParent, + * args: TArgs, + * context: TContext, + * info: GraphQLResolveInfo & { graphile: GraphileHelpers } + * ) => Promise | TResult; * ``` */ customResolverFn?: string; diff --git a/packages/plugins/typescript/type-graphql/src/config.ts b/packages/plugins/typescript/type-graphql/src/config.ts index b91165212d7e..daedfdaa235e 100644 --- a/packages/plugins/typescript/type-graphql/src/config.ts +++ b/packages/plugins/typescript/type-graphql/src/config.ts @@ -5,23 +5,23 @@ export interface TypeGraphQLPluginConfig extends TypeScriptPluginConfig { /** * @name decoratorName * @description allow overriding of TypeGraphQL decorator types - * @default `{ type: 'ObjectType', interface: 'InterfaceType', arguments: 'ArgsType', field: 'Field', input: 'InputType' }` + * @default { type: 'ObjectType', interface: 'InterfaceType', arguments: 'ArgsType', field: 'Field', input: 'InputType' } */ decoratorName?: Partial; /** * @name decorateTypes - * @description Speciies the objects that will have TypeGraphQL decorators prepended to them, by name. Non-matching types will still be output, but without decorators. If not set, all types will be decorated. + * @description Specifies the objects that will have TypeGraphQL decorators prepended to them, by name. Non-matching types will still be output, but without decorators. If not set, all types will be decorated. * @type string[] * @example Decorate only type User * ```yml * generates: - * types.ts: - * plugins: - * - typescript-type-graphql - * config: - * decorateTypes: - * - User + * types.ts: + * plugins: + * - typescript-type-graphql + * config: + * decorateTypes: + * - User * ``` */ decorateTypes?: string[]; diff --git a/packages/plugins/typescript/typescript/src/config.ts b/packages/plugins/typescript/typescript/src/config.ts index 778419e636d1..660a9f61b675 100644 --- a/packages/plugins/typescript/typescript/src/config.ts +++ b/packages/plugins/typescript/typescript/src/config.ts @@ -14,27 +14,29 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * * @exampleMarkdown * ## Override all definition types + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * avoidOptionals: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * avoidOptionals: true * ``` * * ## Override only specific definition types + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * avoidOptionals: - * field: true - * inputValue: true - * object: true - * defaultValue: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * avoidOptionals: + * field: true + * inputValue: true + * object: true + * defaultValue: true * ``` */ avoidOptionals?: boolean | AvoidOptionalsConfig; @@ -45,26 +47,26 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * constEnums: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * constEnums: true * ``` */ constEnums?: boolean; /** - * @description Generates enum as TypeScript `type` instead of `enum`. Useful it you wish to generate `.d.ts` declaration file instead of `.ts` + * @description Generates enum as TypeScript `type` instead of `enum`. Useful if you wish to generate `.d.ts` declaration file instead of `.ts` * @default false * * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * enumsAsTypes: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * enumsAsTypes: true * ``` */ enumsAsTypes?: boolean; @@ -75,11 +77,11 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * numericEnums: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * numericEnums: true * ``` */ numericEnums?: boolean; @@ -91,12 +93,12 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * enumsAsTypes: true - * futureProofEnums: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * enumsAsTypes: true + * futureProofEnums: true * ``` */ futureProofEnums?: boolean; @@ -108,11 +110,11 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * futureProofUnions: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * futureProofUnions: true * ``` */ futureProofUnions?: boolean; @@ -123,11 +125,11 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * enumsAsConst: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * enumsAsConst: true * ``` */ enumsAsConst?: boolean; @@ -137,13 +139,14 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * @default false * * @exampleMarkdown Override all definition types + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * onlyOperationTypes: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * onlyOperationTypes: true * ``` */ onlyOperationTypes?: boolean; @@ -154,11 +157,11 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * immutableTypes: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * immutableTypes: true * ``` */ immutableTypes?: boolean; @@ -168,24 +171,26 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * * @exampleMarkdown * ## Allow undefined + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * maybeValue: T | null | undefined + * path/to/file.ts: + * plugins: + * - typescript + * config: + * maybeValue: T | null | undefined * ``` * * ## Allow `null` in resolvers: + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-resolvers - * config: - * maybeValue: 'T extends PromiseLike ? Promise : T | null' + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-resolvers + * config: + * maybeValue: 'T extends PromiseLike ? Promise : T | null' * ``` */ maybeValue?: string; @@ -226,13 +231,14 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * * @exampleMarkdown * ## Disable all export from a file + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * noExport: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * noExport: true * ``` */ noExport?: boolean; @@ -242,13 +248,14 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * * @exampleMarkdown * ## Disable description generation + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * disableDescriptions: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * disableDescriptions: true * ``` */ disableDescriptions?: boolean; @@ -258,33 +265,34 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * * @exampleMarkdown * ## Override all definition types + * * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * useImplementingTypes: true + * path/to/file.ts: + * plugins: + * - typescript + * config: + * useImplementingTypes: true * ``` */ useImplementingTypes?: boolean; /** * @name wrapEntireFieldDefinitions * @type boolean - * @description Set the to `true` in order to wrap field definitions with `EntireFieldWrapper`. + * @description Set to `true` in order to wrap field definitions with `EntireFieldWrapper`. * This is useful to allow return types such as Promises and functions for fields. - * Differs from `wrapFieldDefinitions` in that this wraps the entire field definition if ie. the field is an Array, while + * Differs from `wrapFieldDefinitions` in that this wraps the entire field definition if i.e. the field is an Array, while * `wrapFieldDefinitions` will wrap every single value inside the array. * @default false * * @example Enable wrapping entire fields * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * wrapEntireFieldDefinitions: false + * path/to/file.ts: + * plugins: + * - typescript + * config: + * wrapEntireFieldDefinitions: false * ``` */ wrapEntireFieldDefinitions?: boolean; @@ -298,11 +306,11 @@ export interface TypeScriptPluginConfig extends RawTypesConfig { * @example Only allow values * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * config: - * entireFieldWrapperValue: T + * path/to/file.ts: + * plugins: + * - typescript + * config: + * entireFieldWrapperValue: T * ``` */ entireFieldWrapperValue?: string; diff --git a/packages/plugins/typescript/urql/src/config.ts b/packages/plugins/typescript/urql/src/config.ts index a90f539d02d7..ccd5c1ad6e02 100644 --- a/packages/plugins/typescript/urql/src/config.ts +++ b/packages/plugins/typescript/urql/src/config.ts @@ -17,7 +17,7 @@ export interface UrqlRawPluginConfig extends RawClientSideBasePluginConfig { withHooks?: boolean; /** * @description You can specify module that exports components `Query`, `Mutation`, `Subscription` and HOCs - * This is useful for further abstraction of some common tasks (eg. error handling). + * This is useful for further abstraction of some common tasks (e.g. error handling). * Filepath relative to generated file can be also specified. * @default urql */ diff --git a/packages/plugins/typescript/vue-apollo-smart-ops/src/config.ts b/packages/plugins/typescript/vue-apollo-smart-ops/src/config.ts index e58e2a06743c..605b408aff2c 100644 --- a/packages/plugins/typescript/vue-apollo-smart-ops/src/config.ts +++ b/packages/plugins/typescript/vue-apollo-smart-ops/src/config.ts @@ -21,13 +21,13 @@ export interface VueApolloSmartOpsRawPluginConfig extends RawClientSideBasePlugi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo-smart-ops - * config: - * withSmartOperationFunctions: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo-smart-ops + * config: + * withSmartOperationFunctions: true * ``` */ withSmartOperationFunctions?: boolean; @@ -35,23 +35,25 @@ export interface VueApolloSmartOpsRawPluginConfig extends RawClientSideBasePlugi * @name vueApolloOperationFunctionsImportFrom * @description The `typescript-vue-apollo-smart-ops` plugin requires three functions that are used to define your * query, subscription and mutation operation functions: - * - `createMutationFunction` - * - `createSmartQueryOptionsFunction` - * - `createSmartSubscriptionOptionsFunction` - * By default these functions are provided by the `vue-apollo-smart-ops` package, but you can substitute + * + * - `createMutationFunction` + * - `createSmartQueryOptionsFunction` + * - `createSmartSubscriptionOptionsFunction` + * + * By default, these functions are provided by the `vue-apollo-smart-ops` package, but you can substitute * your own import path if you want to replace them with other implementations. * @default vue-apollo-smart-ops * * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo-smart-ops - * config: - * vueApolloOperationFunctionsImportFrom: vue-apollo-smart-ops + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo-smart-ops + * config: + * vueApolloOperationFunctionsImportFrom: vue-apollo-smart-ops * ``` */ vueApolloOperationFunctionsImportFrom?: 'vue-apollo-smart-ops' | string; @@ -65,14 +67,14 @@ export interface VueApolloSmartOpsRawPluginConfig extends RawClientSideBasePlugi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo-smart-ops - * config: - * vueApolloErrorType: ApolloError - * vueApolloErrorTypeImportFrom: apollo-client + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo-smart-ops + * config: + * vueApolloErrorType: ApolloError + * vueApolloErrorTypeImportFrom: apollo-client * ``` */ vueApolloErrorType?: 'ApolloError' | string; @@ -86,14 +88,14 @@ export interface VueApolloSmartOpsRawPluginConfig extends RawClientSideBasePlugi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo-smart-ops - * config: - * vueApolloErrorType: ApolloError - * vueApolloErrorTypeImportFrom: apollo-client + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo-smart-ops + * config: + * vueApolloErrorType: ApolloError + * vueApolloErrorTypeImportFrom: apollo-client * ``` */ vueApolloErrorTypeImportFrom?: 'apollo-client' | string; @@ -110,14 +112,14 @@ export interface VueApolloSmartOpsRawPluginConfig extends RawClientSideBasePlugi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo-smart-ops - * config: - * vueApolloErrorHandlerFunction: handleApolloError - * vueApolloErrorHandlerFunctionImportFrom: ./src/handleApolloError.ts + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo-smart-ops + * config: + * vueApolloErrorHandlerFunction: handleApolloError + * vueApolloErrorHandlerFunctionImportFrom: ./src/handleApolloError.ts * ``` */ vueApolloErrorHandlerFunction?: string; @@ -130,14 +132,14 @@ export interface VueApolloSmartOpsRawPluginConfig extends RawClientSideBasePlugi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo-smart-ops - * config: - * vueApolloErrorHandlerFunction: handleApolloError - * vueApolloErrorHandlerFunctionImportFrom: ./src/handleApolloError.ts + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo-smart-ops + * config: + * vueApolloErrorHandlerFunction: handleApolloError + * vueApolloErrorHandlerFunctionImportFrom: ./src/handleApolloError.ts * ``` */ vueApolloErrorHandlerFunctionImportFrom?: string; @@ -152,14 +154,14 @@ export interface VueApolloSmartOpsRawPluginConfig extends RawClientSideBasePlugi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo-smart-ops - * config: - * vueAppType: Vue - * vueAppTypeImportFrom: vue/types/vue + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo-smart-ops + * config: + * vueAppType: Vue + * vueAppTypeImportFrom: vue/types/vue * ``` */ vueAppType?: string; @@ -172,14 +174,14 @@ export interface VueApolloSmartOpsRawPluginConfig extends RawClientSideBasePlugi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo-smart-ops - * config: - * vueAppType: Vue - * vueAppTypeImportFrom: vue/types/vue + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo-smart-ops + * config: + * vueAppType: Vue + * vueAppTypeImportFrom: vue/types/vue * ``` */ vueAppTypeImportFrom?: string; @@ -193,13 +195,13 @@ export interface VueApolloSmartOpsRawPluginConfig extends RawClientSideBasePlugi * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo-smart-ops - * config: - * addDocBlocks: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo-smart-ops + * config: + * addDocBlocks: true * ``` */ addDocBlocks?: boolean; diff --git a/packages/plugins/typescript/vue-apollo/src/config.ts b/packages/plugins/typescript/vue-apollo/src/config.ts index d05231e473f6..6a135e5863e8 100644 --- a/packages/plugins/typescript/vue-apollo/src/config.ts +++ b/packages/plugins/typescript/vue-apollo/src/config.ts @@ -14,13 +14,13 @@ export interface VueApolloRawPluginConfig extends RawClientSideBasePluginConfig * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo - * config: - * withCompositionFunctions: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo + * config: + * withCompositionFunctions: true * ``` */ withCompositionFunctions?: boolean; @@ -31,13 +31,13 @@ export interface VueApolloRawPluginConfig extends RawClientSideBasePluginConfig * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo - * config: - * vueApolloComposableImportFrom: vue + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo + * config: + * vueApolloComposableImportFrom: vue * ``` */ vueApolloComposableImportFrom?: 'vue' | '@vue/apollo-composable' | string; @@ -48,13 +48,13 @@ export interface VueApolloRawPluginConfig extends RawClientSideBasePluginConfig * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo - * config: - * vueCompositionApiImportFrom: vue + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo + * config: + * vueCompositionApiImportFrom: vue * ``` */ vueCompositionApiImportFrom?: 'vue' | '@vue/composition-api' | string; @@ -66,13 +66,13 @@ export interface VueApolloRawPluginConfig extends RawClientSideBasePluginConfig * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * plugins: - * - typescript - * - typescript-operations - * - typescript-vue-apollo - * config: - * addDocBlocks: true + * path/to/file.ts: + * plugins: + * - typescript + * - typescript-operations + * - typescript-vue-apollo + * config: + * addDocBlocks: true * ``` */ addDocBlocks?: boolean; diff --git a/packages/plugins/typescript/vue-urql/src/config.ts b/packages/plugins/typescript/vue-urql/src/config.ts index f8f86b9471d2..3355f39a83ae 100644 --- a/packages/plugins/typescript/vue-urql/src/config.ts +++ b/packages/plugins/typescript/vue-urql/src/config.ts @@ -12,7 +12,7 @@ export interface VueUrqlRawPluginConfig extends RawClientSideBasePluginConfig { withComposition?: boolean; /** * @description You can specify module that exports components `Query`, `Mutation`, `Subscription` - * This is useful for further abstraction of some common tasks (eg. error handling). + * This is useful for further abstraction of some common tasks (e.g. error handling). * Filepath relative to generated file can be also specified. * @default urql */ diff --git a/packages/presets/gql-tag-operations/src/index.ts b/packages/presets/gql-tag-operations/src/index.ts index d54457a05ec5..5dabbc6b099f 100644 --- a/packages/presets/gql-tag-operations/src/index.ts +++ b/packages/presets/gql-tag-operations/src/index.ts @@ -11,18 +11,17 @@ import babelPlugin from './babel'; export type GqlTagConfig = { /** - * @description Instead of generating a `gql` function, this preset can also generate a d.ts that will enhance the `gql` function of your framework. + * @description Instead of generating a `gql` function, this preset can also generate a `d.ts` that will enhance the `gql` function of your framework. * * E.g. `graphql-tag` or `@urql/core`. * * @exampleMarkdown * ```yml * generates: - * gql/: - * preset: gql-tag-operations-preset - * presetConfig: - * augmentedModuleName: '@urql/core' - * + * gql/: + * preset: gql-tag-operations-preset + * presetConfig: + * augmentedModuleName: '@urql/core' * ``` */ augmentedModuleName?: string; diff --git a/packages/presets/graphql-modules/src/config.ts b/packages/presets/graphql-modules/src/config.ts index 05a4a6599e31..aa9f64dbcd03 100644 --- a/packages/presets/graphql-modules/src/config.ts +++ b/packages/presets/graphql-modules/src/config.ts @@ -3,7 +3,7 @@ export type ModulesConfig = { * @name baseTypesPath * @type string * @description Required, should point to the base schema types file. - * The key of the output is used a the base path for this file. + * The key of the output is used a base path for this file. * * @example * ```yml @@ -20,7 +20,7 @@ export type ModulesConfig = { /** * @name importBaseTypesFrom * @type string - * @description Overrides the package import for the base types. Use this if you are within a monorepo and you wish + * @description Overrides the package import for the base types. Use this if you are within a monorepo, and you wish * to import the base types directly from a different package, and not from a relative path. * */ @@ -86,7 +86,7 @@ export type ModulesConfig = { * @name useGraphQLModules * @type boolean * @default true - * @description By default, the generated types will be generate some code specific to `graphql-modules` library. + * @description By default, the generated types will generate some code specific to `graphql-modules` library. * * If you are not using GraphQL-Modules, you can disable this feature by setting this to `false`. */ diff --git a/packages/presets/import-types/src/index.ts b/packages/presets/import-types/src/index.ts index bf7d70c6f194..fdbdddd1dcc0 100644 --- a/packages/presets/import-types/src/index.ts +++ b/packages/presets/import-types/src/index.ts @@ -10,12 +10,12 @@ export type ImportTypesConfig = { * @exampleMarkdown * ```yml * generates: - * path/to/file.ts: - * preset: import-types - * presetConfig: - * typesPath: types.ts - * plugins: - * - typescript-operations + * path/to/file.ts: + * preset: import-types + * presetConfig: + * typesPath: types.ts + * plugins: + * - typescript-operations * ``` */ typesPath: string; @@ -26,13 +26,13 @@ export type ImportTypesConfig = { * @exampleMarkdown * ```yml * generates: - * src/: - * preset: import-types - * presetConfig: - * typesPath: types.ts - * importTypesNamespace: SchemaTypes - * plugins: - * - typescript-operations + * src/: + * preset: import-types + * presetConfig: + * typesPath: types.ts + * importTypesNamespace: SchemaTypes + * plugins: + * - typescript-operations * ``` */ importTypesNamespace?: string; diff --git a/packages/presets/near-operation-file/src/index.ts b/packages/presets/near-operation-file/src/index.ts index 9f3181a34055..b61742a34211 100644 --- a/packages/presets/near-operation-file/src/index.ts +++ b/packages/presets/near-operation-file/src/index.ts @@ -30,12 +30,12 @@ export type NearOperationFileConfig = { * @exampleMarkdown * ```yml * generates: - * src/: - * preset: near-operation-file - * presetConfig: - * baseTypesPath: types.ts - * plugins: - * - typescript-operations + * src/: + * preset: near-operation-file + * presetConfig: + * baseTypesPath: types.ts + * plugins: + * - typescript-operations * ``` */ baseTypesPath: string; @@ -47,13 +47,13 @@ export type NearOperationFileConfig = { * @exampleMarkdown * ```yml * generates: - * src/: - * preset: near-operation-file - * presetConfig: - * baseTypesPath: types.ts - * importAllFragmentsFrom: '~types' - * plugins: - * - typescript-operations + * src/: + * preset: near-operation-file + * presetConfig: + * baseTypesPath: types.ts + * importAllFragmentsFrom: '~types' + * plugins: + * - typescript-operations * ``` */ importAllFragmentsFrom?: string | FragmentImportFromFn; @@ -64,14 +64,14 @@ export type NearOperationFileConfig = { * @exampleMarkdown * ```yml * generates: - * src/: - * preset: near-operation-file - * presetConfig: - * baseTypesPath: types.ts - * extension: .generated.tsx - * plugins: - * - typescript-operations - * - typescript-react-apollo + * src/: + * preset: near-operation-file + * presetConfig: + * baseTypesPath: types.ts + * extension: .generated.tsx + * plugins: + * - typescript-operations + * - typescript-react-apollo * ``` */ extension?: string; @@ -82,13 +82,13 @@ export type NearOperationFileConfig = { * @exampleMarkdown * ```yml * generates: - * src/: - * preset: near-operation-file - * presetConfig: - * baseTypesPath: types.ts - * cwd: /some/path - * plugins: - * - typescript-operations + * src/: + * preset: near-operation-file + * presetConfig: + * baseTypesPath: types.ts + * cwd: /some/path + * plugins: + * - typescript-operations * ``` */ cwd?: string; @@ -99,13 +99,13 @@ export type NearOperationFileConfig = { * @exampleMarkdown * ```yml * generates: - * src/: - * preset: near-operation-file - * presetConfig: - * baseTypesPath: types.ts - * folder: __generated__ - * plugins: - * - typescript-operations + * src/: + * preset: near-operation-file + * presetConfig: + * baseTypesPath: types.ts + * folder: __generated__ + * plugins: + * - typescript-operations * ``` */ folder?: string; @@ -116,13 +116,13 @@ export type NearOperationFileConfig = { * @exampleMarkdown * ```yml * generates: - * src/: - * preset: near-operation-file - * presetConfig: - * baseTypesPath: types.ts - * importTypesNamespace: SchemaTypes - * plugins: - * - typescript-operations + * src/: + * preset: near-operation-file + * presetConfig: + * baseTypesPath: types.ts + * importTypesNamespace: SchemaTypes + * plugins: + * - typescript-operations * ``` */ importTypesNamespace?: string; diff --git a/packages/utils/config-schema/.gitignore b/packages/utils/config-schema/.gitignore deleted file mode 100644 index 4ba5e8b68af4..000000000000 --- a/packages/utils/config-schema/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -static -docs diff --git a/packages/utils/config-schema/CHANGELOG.md b/packages/utils/config-schema/CHANGELOG.md deleted file mode 100644 index 55e06f196ee7..000000000000 --- a/packages/utils/config-schema/CHANGELOG.md +++ /dev/null @@ -1,20 +0,0 @@ -# @graphql-codegen/config-schema - -## 1.17.10 - -### Patch Changes - -- d9212aa0: fix(visitor-plugin-common): guard for a runtime type error - -## 1.17.9 - -### Patch Changes - -- 1183d173: Bump all packages to resolve issues with shared dependencies - -## 1.17.8 - -### Patch Changes - -- 1d7c6432: Bump all packages to allow "^" in deps and fix compatibility issues -- 1d7c6432: Bump versions of @graphql-tools/ packages to fix issues with loading schemas and SDL comments diff --git a/packages/utils/config-schema/package.json b/packages/utils/config-schema/package.json deleted file mode 100644 index 84ed1df0abbf..000000000000 --- a/packages/utils/config-schema/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "@graphql-codegen/config-schema", - "private": true, - "description": "This internal package is in charge of creating a dynamic JSON Schema validation for the codegen.yml file", - "version": "1.17.10", - "license": "MIT", - "scripts": { - "build": "ts-node src/index.ts" - }, - "dependencies": { - "@types/fs-extra": "9.0.13", - "@types/jsonpath": "0.2.0", - "@types/mkdirp": "1.0.2", - "fs-extra": "10.0.0", - "jsonpath": "1.1.1", - "mkdirp": "1.0.4", - "ts-node": "10.4.0", - "typescript": "4.5.2", - "typescript-json-schema": "0.52.0" - } -} diff --git a/packages/utils/config-schema/tsconfig.json b/packages/utils/config-schema/tsconfig.json deleted file mode 100644 index e43b1867b607..000000000000 --- a/packages/utils/config-schema/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist", - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "importHelpers": true, - "experimentalDecorators": true, - "module": "commonjs", - "target": "es2018", - "lib": ["DOM", "ES2015"], - "suppressImplicitAnyIndexErrors": true, - "moduleResolution": "node", - "emitDecoratorMetadata": true, - "sourceMap": true, - "declaration": true, - "noImplicitThis": true, - "alwaysStrict": true, - "noImplicitReturns": true, - "noUnusedLocals": true, - "resolveJsonModule": true, - "skipLibCheck": true - }, - "include": ["src"], - "exclude": [ - "**/dist" - ] -} diff --git a/packages/utils/plugins-helpers/src/helpers.ts b/packages/utils/plugins-helpers/src/helpers.ts index a743ce65c6ff..82eebf4429b6 100644 --- a/packages/utils/plugins-helpers/src/helpers.ts +++ b/packages/utils/plugins-helpers/src/helpers.ts @@ -28,7 +28,9 @@ export function isConfiguredOutput(type: any): type is Types.ConfiguredOutput { return (typeof type === 'object' && type.plugins) || type.preset; } -export function normalizeOutputParam(config: Types.OutputConfig | Types.ConfiguredOutput): Types.ConfiguredOutput { +export function normalizeOutputParam( + config: Types.OutputConfig | Types.ConfiguredPlugin[] | Types.ConfiguredOutput +): Types.ConfiguredOutput { // In case of direct array with a list of plugins if (isOutputConfigArray(config)) { return { diff --git a/packages/utils/plugins-helpers/src/types.ts b/packages/utils/plugins-helpers/src/types.ts index 62869fe6fccc..ee6a993a3466 100644 --- a/packages/utils/plugins-helpers/src/types.ts +++ b/packages/utils/plugins-helpers/src/types.ts @@ -399,7 +399,7 @@ export namespace Types { * For more details: https://graphql-code-generator.com/docs/getting-started/codegen-config */ generates: { - [outputPath: string]: ConfiguredOutput; + [outputPath: string]: ConfiguredOutput | ConfiguredPlugin[]; }; /** * @description A flag to overwrite files if they already exist when generating code (`true` by default). diff --git a/patches/babel-jest+27.3.1.patch b/patches/babel-jest+27.3.1.patch index d9f9074213ed..d45d4906934a 100644 --- a/patches/babel-jest+27.3.1.patch +++ b/patches/babel-jest+27.3.1.patch @@ -9,7 +9,7 @@ index f74b673..283655b 100644 - return addIstanbulInstrumentation(options, jestTransformOptions); + return addIstanbulInstrumentation(options, transformOptions); } - + async function loadBabelOptionsAsync( @@ -218,7 +218,7 @@ async function loadBabelOptionsAsync( jestTransformOptions @@ -18,12 +18,12 @@ index f74b673..283655b 100644 - return addIstanbulInstrumentation(options, jestTransformOptions); + return addIstanbulInstrumentation(options, transformOptions); } - + const createTransformer = userOptions => { @@ -320,11 +320,14 @@ const createTransformer = userOptions => { ); }, - + - process(sourceText, sourcePath, transformOptions) { + process(sourceText, sourcePath, config, transformOptions) { const babelOptions = loadBabelOptions( diff --git a/website/.babelrc.js b/website/.babelrc.js new file mode 100644 index 000000000000..b88126e44700 --- /dev/null +++ b/website/.babelrc.js @@ -0,0 +1,14 @@ +module.exports = { + presets: [ + [ + 'next/babel', + { + 'preset-react': { + runtime: 'automatic', + importSource: '@emotion/react', + }, + }, + ], + ], + plugins: ['@emotion/babel-plugin', 'babel-plugin-macros'], +}; diff --git a/website/.eslintrc.js b/website/.eslintrc.js new file mode 100644 index 000000000000..08471cc08f7b --- /dev/null +++ b/website/.eslintrc.js @@ -0,0 +1,27 @@ +module.exports = { + root: true, + ignorePatterns: ['!.*', '.next'], + reportUnusedDisableDirectives: true, + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'next', 'prettier'], + settings: { + next: { + rootDir: './src', + }, + }, + rules: { + 'no-else-return': ['error', { allowElseIf: false }], + 'react/jsx-curly-brace-presence': ['error', 'never'], + 'react/jsx-filename-extension': ['error', { extensions: ['.tsx'] }], + }, + overrides: [ + { + files: ['.babelrc.js', '.eslintrc.js', 'next-i18next.config.js', 'next.config.js'], + env: { + node: true, + }, + rules: { + '@typescript-eslint/no-var-requires': 'off', + }, + }, + ], +}; diff --git a/website/.gitignore b/website/.gitignore index 381c07490931..e1463d224321 100644 --- a/website/.gitignore +++ b/website/.gitignore @@ -5,7 +5,6 @@ /build # generated files -.docusaurus .cache-loader # misc @@ -18,4 +17,7 @@ npm-debug.log* yarn-debug.log* yarn-error.log* -docs/generated-config +docs/generated_config + +/.next/ +/package-lock.json diff --git a/website/.prettierrc.js b/website/.prettierrc.js new file mode 100644 index 000000000000..f48d4fef9155 --- /dev/null +++ b/website/.prettierrc.js @@ -0,0 +1,14 @@ +module.exports = { + singleQuote: true, + arrowParens: 'avoid', + printWidth: 120, + overrides: [ + { + files: '*.{md,mdx}', + options: { + semi: false, + trailingComma: 'none', + }, + }, + ], +}; diff --git a/website/README.md b/website/README.md index f043f141f645..f5758dccf1c3 100644 --- a/website/README.md +++ b/website/README.md @@ -1,23 +1,19 @@ # Website -This website is built using [Docusaurus 2](https://v2.docusaurus.io/), a modern static website generator. +This website is built using NextJS ## Installation Run `yarn` from the root directory -## Building the plugins - -You will need to build the plugins before firing up the development server. +## Building the app Run `yarn build` from the root directory ## Local Development -`$ yarn start` +```sh +yarn dev +``` This command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server. - -## Generate a static version of the website - -Run `yarn build:website` from the website directory to build the static website \ No newline at end of file diff --git a/website/custom-plugin.js b/website/custom-plugin.js deleted file mode 100644 index 556f0a8bb33e..000000000000 --- a/website/custom-plugin.js +++ /dev/null @@ -1,23 +0,0 @@ -const NodePolyfillPlugin = require('node-polyfill-webpack-plugin'); - -module.exports = function() { - return { - name: 'custom-plugin', - configureWebpack(config, isServer) { - const { plugins = [] } = config; - - if (!isServer) { - plugins.push(new NodePolyfillPlugin()); - } - - return { - plugins, - resolve: { - fallback: { - module: false - } - } - }; - }, - }; -}; diff --git a/website/docs/plugins/add.md b/website/docs-templates/add.md similarity index 91% rename from website/docs/plugins/add.md rename to website/docs-templates/add.md index a28c8eaf7ea6..2e0cbadc7a15 100644 --- a/website/docs/plugins/add.md +++ b/website/docs-templates/add.md @@ -1,16 +1,15 @@ --- id: add -title: Add --- `add` plugin adds custom text to your output file. You can use this plugin to add custom code, imports, comments and more to your output file. -{@import ../generated-config/add.md} +{@apiDocs} ## Examples - + ```yaml # ... generates: diff --git a/website/docs/plugins/c-sharp-operations.md b/website/docs-templates/c-sharp-operations.md similarity index 59% rename from website/docs/plugins/c-sharp-operations.md rename to website/docs-templates/c-sharp-operations.md index 09cf523895c9..d3a3c6edda4e 100644 --- a/website/docs/plugins/c-sharp-operations.md +++ b/website/docs-templates/c-sharp-operations.md @@ -1,14 +1,14 @@ --- id: c-sharp-operations -title: C# Operations --- + The `c-sharp-operations` plugin generates C# methods for the resolvers signature. -It works with [GraphQL.Client](https://www.nuget.org/packages/GraphQL.Client/) library and methods can be invoked through the `GraphQLHttpClient`. +It works with [GraphQL.Client](https://nuget.org/packages/GraphQL.Client) library and methods can be invoked through the `GraphQLHttpClient`. Example code: -```C# +```c# using GraphQL.Client.Http; using GraphQL.Client.Serializer.Newtonsoft; @@ -17,6 +17,6 @@ using GraphQL.Client.Serializer.Newtonsoft; var response = await client.SendQueryAsync(UsersGQL.Request()); ``` -{@import ../plugins/client-note.md} +{@operationsNote} -{@import ../generated-config/c-sharp-operations.md} +{@apiDocs} diff --git a/website/docs/plugins/client-note.md b/website/docs-templates/client-note.md similarity index 61% rename from website/docs/plugins/client-note.md rename to website/docs-templates/client-note.md index afa4ecc6f0bf..3489db438060 100644 --- a/website/docs/plugins/client-note.md +++ b/website/docs-templates/client-note.md @@ -1,7 +1,5 @@ :::caution Usage Requirements - In order to use this GraphQL Codegen plugin, please make sure that you have GraphQL operations (`query` / `mutation` / `subscription` and `fragment`) set as `documents: ...` in your `codegen.yml`. -Without loading your GraphQL operations (query, mutation, subscription and fragment), you won't see any change in the generated output. - +Without loading your GraphQL operations (`query`, `mutation`, `subscription` and `fragment`), you won't see any change in the generated output. ::: diff --git a/website/docs-templates/flow-operations.md b/website/docs-templates/flow-operations.md new file mode 100644 index 000000000000..7f53056e1dd9 --- /dev/null +++ b/website/docs-templates/flow-operations.md @@ -0,0 +1,7 @@ +--- +id: flow-operations +--- + +{@operationsNote} + +{@apiDocs} diff --git a/website/docs/plugins/flow-resolvers.md b/website/docs-templates/flow-resolvers.md similarity index 64% rename from website/docs/plugins/flow-resolvers.md rename to website/docs-templates/flow-resolvers.md index 52ab26e92e4e..02bd95a4024d 100644 --- a/website/docs/plugins/flow-resolvers.md +++ b/website/docs-templates/flow-resolvers.md @@ -1,22 +1,20 @@ --- id: flow-resolvers -title: Flow Resolvers --- -{@import ../generated-config/flow-resolvers.md} - +{@apiDocs} ## Usage Example :::info Quick Start with `flow-resolvers` -You can find [a blog post we wrote about using and customizing this plugin here](https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen) , it refers to `typescript-resolvers` but everything there is relevant to `flow-resolvers` as well. +You can find [a blog post we wrote about using and customizing this plugin here](https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen), it refers to `typescript-resolvers` but everything there is relevant to `flow-resolvers` as well. ::: ## Enum Resolvers -[Apollo-Server](https://www.apollographql.com/docs/apollo-server/) and schemas built with [`graphql-tools`](https://www.graphql-tools.com/) supports creating resolvers for GraphQL `enum`s. +[Apollo-Server](https://apollographql.com/docs/apollo-server) and schemas built with [`graphql-tools`](https://graphql-tools.com) supports creating resolvers for GraphQL `enum`s. -This is helpful because you can have internal values that are different from the public enum values, and you can use the internal values in your resolvers. +This is helpful because you can have internal values that are different from the public enum values, and you can use the internal values in your resolvers. Codegen allows you to specify either `mappers` or `enumValues` to map enums in your resolvers, and if you are using it for enums, you'll get a resolver signature for the enum resolvers as well. @@ -29,8 +27,8 @@ type Query { favoriteColor: Color! } -type Color { - RED, +enum Color { + RED BLUE } ``` @@ -41,7 +39,7 @@ generates: ./resolvers-types.js: config: enumValues: - Colors: ./enums#ColorsCode + Color: ./enums#ColorsCode plugins: - flow - flow-resolvers @@ -51,20 +49,20 @@ generates: // in your enums.js export enum ColorsCode { MY_RED = '#FF0000', - MY_BLUE = '#0000FF', + MY_BLUE = '#0000FF' } // in your resolvers.js -import type { Resolvers } from './resolvers-types'; -import { ColorsCode } from './enums'; +import type { Resolvers } from './resolvers-types' +import { ColorsCode } from './enums' const resolvers: Resolvers = { - Colors: { + Color: { RED: ColorsCode.MY_RED, - BLUE: ColorsCode.MY_BLUE, + BLUE: ColorsCode.MY_BLUE }, Query: { - favoriteColor: () => ColorsCode.MY_RED, // Now you cn return this, and it will be mapped to your actual GraphQL enum + favoriteColor: () => ColorsCode.MY_RED // Now you cn return this, and it will be mapped to your actual GraphQL enum } } ``` @@ -77,7 +75,7 @@ generates: ./resolvers-types.js: config: enumValues: - Colors: + Color: RED: '#FF0000' BLUE: '#0000FF' plugins: @@ -93,7 +91,7 @@ generates: ./resolvers-types.js: config: mappers: - Colors: ./enums#ColorsCode + Color: ./enums#ColorsCode plugins: - flow - flow-resolvers diff --git a/website/docs/plugins/fragment-matcher.md b/website/docs-templates/fragment-matcher.md similarity index 57% rename from website/docs/plugins/fragment-matcher.md rename to website/docs-templates/fragment-matcher.md index ab103c7535d5..b3c57d72e8ed 100644 --- a/website/docs/plugins/fragment-matcher.md +++ b/website/docs-templates/fragment-matcher.md @@ -1,9 +1,8 @@ --- id: fragment-matcher -title: Fragment Matcher --- -{@import ../generated-config/fragment-matcher.md} +{@apiDocs} ## How to use? @@ -11,32 +10,30 @@ title: Fragment Matcher If you are using Apollo Client 3, update your codegen config accordingly, and then use it in your Apollo cache instance: -```typescript -import { InMemoryCache } from '@apollo/client'; +```ts +import { InMemoryCache } from '@apollo/client' // generated by Fragment Matcher plugin -import generatedIntrospection from '../introspection-result'; +import generatedIntrospection from '../introspection-result' -const cache = new InMemoryCache({ possibleTypes: generatedIntrospection.possibleTypes }); +const cache = new InMemoryCache({ possibleTypes: generatedIntrospection.possibleTypes }) ``` -> [Read more about fragment matcher and its usage on Apollo Client](https://www.apollographql.com/docs/react/data/fragments/#defining-possibletypes-manually) +> [Read more about fragment matcher and its usage on Apollo Client](https://apollographql.com/docs/react/data/fragments/#defining-possibletypes-manually) ## Usage with Apollo Client 2 If you are using version 2 of Apollo-Client, you need to specify the `apolloClientVersion: 2` configuration, and then use it like that: -```typescript -import { InMemoryCache, IntrospectionFragmentMatcher } from 'apollo-cache-inmemory'; +```ts +import { InMemoryCache, IntrospectionFragmentMatcher } from 'apollo-cache-inmemory' // generated by Fragment Matcher plugin -import introspectionResult from '../introspection-result'; +import introspectionQueryResultData from '../introspection-result' const fragmentMatcher = new IntrospectionFragmentMatcher({ - introspectionQueryResultData: introspectionResult, -}); + introspectionQueryResultData +}) -const cache = new InMemoryCache({ - fragmentMatcher, -}); +const cache = new InMemoryCache({ fragmentMatcher }) ``` diff --git a/website/docs/presets/gql-tag-operations.md b/website/docs-templates/gql-tag-operations-preset.md similarity index 84% rename from website/docs/presets/gql-tag-operations.md rename to website/docs-templates/gql-tag-operations-preset.md index 4b1d98769314..19589a11e0fe 100644 --- a/website/docs/presets/gql-tag-operations.md +++ b/website/docs-templates/gql-tag-operations-preset.md @@ -1,6 +1,5 @@ --- id: gql-tag-operations -title: gql-tag-operations --- This preset generates typings for your inline `gql` function usages, without having to manually specify import statements for the documents. All you need to do is import your `gql` function and run codegen in watch mode. @@ -8,7 +7,7 @@ This preset generates typings for your inline `gql` function usages, without hav Huge thanks to [Maël Nison](https://github.com/arcanis), who conceptualized the foundation for this preset [over here](https://github.com/arcanis/graphql-typescript-integration). ```ts -import { gql } from '@app/gql'; +import { gql } from '@app/gql' // TweetFragment is a fully typed document node const TweetFragment = gql(/* GraphQL */ ` @@ -16,7 +15,7 @@ const TweetFragment = gql(/* GraphQL */ ` id body } -`); +`) const TweetsQueryWithFragment = gql(/* GraphQL */ ` query TweetsWithFragmentQuery { @@ -25,7 +24,7 @@ const TweetsQueryWithFragment = gql(/* GraphQL */ ` ...TweetFragment } } -`); +`) ``` ## Getting Started @@ -53,7 +52,7 @@ Now start your codegen in watch mode via `yarn graphql-codegen --watch`. Create a new file within your `src` directory, e.g. `./src/index.ts` and add a query for your schema: ```ts -import { gql } from '@app/gql'; +import { gql } from '@app/gql' // TweetsQuery is a fully typed document node! const TweetsQuery = gql(/* GraphQL */ ` @@ -62,14 +61,14 @@ const TweetsQuery = gql(/* GraphQL */ ` id } } -`); +`) ``` Next we can simply add our GraphQL client of choice and use the typed document! Let's try urql! ```tsx -import { gql } from '@app/gql'; -import { useQuery } from 'urql'; +import { gql } from '@app/gql' +import { useQuery } from 'urql' // TweetsQuery is a fully typed document node/ const TweetsQuery = gql(/* GraphQL */ ` @@ -79,14 +78,14 @@ const TweetsQuery = gql(/* GraphQL */ ` body } } -`); +`) const Tweets = () => { - const [result] = useQuery({ query: TweetsQuery }); - const { data, fetching, error } = result; + const [result] = useQuery({ query: TweetsQuery }) + const { data, fetching, error } = result - if (fetching) return

Loading...

; - if (error) return

Oh no... {error.message}

; + if (fetching) return

Loading...

+ if (error) return

Oh no... {error.message}

return (
    @@ -95,28 +94,28 @@ const Tweets = () => {
  • {tweet.body}
  • ))}
- ); -}; + ) +} ``` If we want to use fragments, we can use some utilities for accessing the fragment types: ```tsx -import { gql, DocumentType } from '../gql'; +import { gql, DocumentType } from '../gql' const TweetFragment = gql(/* GraphQL */ ` fragment TweetFragment on Tweet { id body } -`); +`) const Tweet = (props: { /** tweet property has the correct type 🎉 */ - tweet: DocumentType; + tweet: DocumentType }) => { - return
  • {props.body}
  • ; -}; + return
  • {props.body}
  • +} const TweetsQuery = gql(/* GraphQL */ ` query TweetsQuery { @@ -125,14 +124,14 @@ const TweetsQuery = gql(/* GraphQL */ ` ...TweetFragment } } -`); +`) const Tweets = () => { - const [result] = useQuery({ query: TweetsQuery }); - const { data, fetching, error } = result; + const [result] = useQuery({ query: TweetsQuery }) + const { data, fetching, error } = result - if (fetching) return

    Loading...

    ; - if (error) return

    Oh no... {error.message}

    ; + if (fetching) return

    Loading...

    + if (error) return

    Oh no... {error.message}

    return (
      @@ -140,8 +139,8 @@ const Tweets = () => { ))}
    - ); -}; + ) +} ``` You can find a [full `gql-tag-operations` example of this in the GraphQL Code Generator GitHub repository](https://github.com/dotansimha/graphql-code-generator/tree/master/dev-test/gql-tag-operations). @@ -151,28 +150,28 @@ You can find a [full `gql-tag-operations` example of this in the GraphQL Code Ge Because the generated code output is a single `gql` function that looks similar to the following code, code-splitting and tree-shaking is not easily possible. ```ts -import * as graphql from './graphql'; +import * as graphql from './graphql' const documents = { '\n query Foo {\n Tweets {\n id\n }\n }\n': graphql.FooDocument, '\n fragment Lel on Tweet {\n id\n body\n }\n': graphql.LelFragmentDoc, - '\n query Bar {\n Tweets {\n ...Lel\n }\n }\n': graphql.BarDocument, -}; + '\n query Bar {\n Tweets {\n ...Lel\n }\n }\n': graphql.BarDocument +} export function gql( source: '\n query Foo {\n Tweets {\n id\n }\n }\n' -): typeof documents['\n query Foo {\n Tweets {\n id\n }\n }\n']; +): typeof documents['\n query Foo {\n Tweets {\n id\n }\n }\n'] export function gql( source: '\n fragment Lel on Tweet {\n id\n body\n }\n' -): typeof documents['\n fragment Lel on Tweet {\n id\n body\n }\n']; +): typeof documents['\n fragment Lel on Tweet {\n id\n body\n }\n'] export function gql( source: '\n query Bar {\n Tweets {\n ...Lel\n }\n }\n' -): typeof documents['\n query Bar {\n Tweets {\n ...Lel\n }\n }\n']; +): typeof documents['\n query Bar {\n Tweets {\n ...Lel\n }\n }\n'] -export function gql(source: string): unknown; +export function gql(source: string): unknown export function gql(source: string) { // OH NO gql accesses the documents object, the bundler cannot make assumption over what is actually used at runtime :( - return (documents as any)[source] ?? {}; + return (documents as any)[source] ?? {} } ``` @@ -181,14 +180,14 @@ However, the `@graphql-codegen/gql-tag-operations-preset` package ships with a b This is the code that you write: ```tsx -import { gql, DocumentType } from '../gql'; +import { gql, DocumentType } from '../gql' const TweetFragment = gql(/* GraphQL */ ` fragment TweetFragment on Tweet { id body } -`); +`) ``` This is the code after the babel transformation: @@ -206,15 +205,15 @@ Applying the babel plugin is straight-forward: **.babelrc.mjs** ```ts -import { babelPlugin } from '@graphql-codegen/gql-tag-operations-preset'; +import { babelPlugin } from '@graphql-codegen/gql-tag-operations-preset' export default { plugins: [ // your other plugins such as typescript syntax stripping etc. // make sure the artifactDirectory is the same as your generates path within the codegen.yml - [babelPlugin, { artifactDirectory: './src/gql' }], - ], -}; + [babelPlugin, { artifactDirectory: './src/gql' }] + ] +} ``` Afterwards, you won't have to worry about bundle size anymore! @@ -244,20 +243,20 @@ When the `augmentedModuleName` option is configured instead of the `./src/gql/in ```ts /* eslint-disable */ -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; +import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core' declare module '@urql/core' { export function gql( source: '\n query Bar {\n Tweets {\n ...Lel\n }\n }\n' - ): typeof import('./graphql').BarDocument; - export function gql(source: string): unknown; + ): typeof import('./graphql').BarDocument + export function gql(source: string): unknown } ``` Now you can simply use your `gql` function imported from `@url/core` in your application code for having fully typed document nodes. ```ts -import { gql } from 'urql'; +import { gql } from 'urql' const FooQuery = gql(/* GraphQL */ ` query Foo { @@ -265,13 +264,13 @@ const FooQuery = gql(/* GraphQL */ ` id } } -`); +`) ``` **NOTE**: In case you are using fragments you **MUST** use the gql-tag-operations babel plugin as otherwise the `gql` calls that reference global fragments will cause runtime errors, as the `gql` operation cannot find the global fragment. Unfortunately, it is also **NOT** possible to embed fragments with template string interpolation, as it breaks TypeScript type-inference. ```ts -import { gql } from 'urql'; +import { gql } from 'urql' // This causes an error without the babel plugin const FooQuery = gql(/* GraphQL */ ` @@ -280,9 +279,9 @@ const FooQuery = gql(/* GraphQL */ ` ...SomeTweetFragment } } -`); +`) ``` You can find a [full `gql-tag-operations-urql` example of this in the GraphQL Code Generator GitHub repository](https://github.com/dotansimha/graphql-code-generator/tree/master/dev-test/gql-tag-operations-urql). -{@import ../generated-config/gql-tag-operations-preset.md} +{@apiDocs} diff --git a/website/docs/presets/graphql-modules.md b/website/docs-templates/graphql-modules-preset.md similarity index 91% rename from website/docs/presets/graphql-modules.md rename to website/docs-templates/graphql-modules-preset.md index 04755a056bb3..32f463529a0d 100644 --- a/website/docs/presets/graphql-modules.md +++ b/website/docs-templates/graphql-modules-preset.md @@ -1,6 +1,5 @@ --- id: graphql-modules -title: graphql-modules --- The `@graphql-codegen/graphql-modules-preset` generates `.ts` file with TypeScript types, per each directory that contains GraphQL SDL definitions. @@ -9,7 +8,7 @@ The generates files will be generated based on each module definition, and based :::caution Usage Requirements -This preset generates code for `graphql-modules` @ `v1` (previous versions are not supported) by default. +This preset generates code for `graphql-modules` @ `v1` / `v2` (previous versions are not supported) by default. If you are not using `graphql-modules`, you can set `useGraphQLModules: false` to disable this behaviour. @@ -59,11 +58,11 @@ To use the generates resolvers, you can use `Resolvers` signature and apply it t ```ts // src/modules/user/resolvers.ts -import { MyModule } from './generated-types/module-types'; +import { MyModule } from './generated-types/module-types' export const resolvers: MyModule.Resolvers = { // Here you can implement only the types and fields defined in your module! -}; +} ``` > You can find [an example project here](https://github.com/dotansimha/graphql-code-generator/tree/master/dev-test/modules). diff --git a/website/docs/presets/import-types.md b/website/docs-templates/import-types-preset.md similarity index 63% rename from website/docs/presets/import-types.md rename to website/docs-templates/import-types-preset.md index d19dbe698849..bef2a14dcd12 100644 --- a/website/docs/presets/import-types.md +++ b/website/docs-templates/import-types-preset.md @@ -1,8 +1,7 @@ --- id: import-types -title: import-types --- This preset generates a file per each operation file, and allow to import types from another file. -{@import ../generated-config/import-types-preset.md} +{@apiDocs} diff --git a/website/docs-templates/introspection.md b/website/docs-templates/introspection.md new file mode 100644 index 000000000000..3ea7da20b816 --- /dev/null +++ b/website/docs-templates/introspection.md @@ -0,0 +1,5 @@ +--- +id: introspection +--- + +{@apiDocs} diff --git a/website/docs/plugins/java-apollo-android.md b/website/docs-templates/java-apollo-android.md similarity index 70% rename from website/docs/plugins/java-apollo-android.md rename to website/docs-templates/java-apollo-android.md index 359c66e866d3..771b02345d76 100644 --- a/website/docs/plugins/java-apollo-android.md +++ b/website/docs-templates/java-apollo-android.md @@ -1,36 +1,35 @@ --- id: java-apollo-android -title: Java Apollo Android --- -{@import ../generated-config/java-apollo-android.md} +{@apiDocs} ## Prepare your env -To get started with this plugins and preset, make sure you have the following installed: +To get started with these plugins and preset, make sure you have the following installed: - NodeJS (10 or later) - NPM or Yarn Run the following in your Android project: -``` - yarn init --yes - yarn add @graphql-codegen/cli graphql @graphql-codegen/java-apollo-android +```sh +yarn init --yes +yarn add @graphql-codegen/cli graphql @graphql-codegen/java-apollo-android ``` Then, create `codegen.yml` with the following configuration: -``` +```yml schema: POINT_TO_YOUR_SCHEMA documents: POINT_TO_YOUR_GRAPHQL_OPERATIONS generates: ./app/src/main/java/: preset: java-apollo-android config: - package: "com.my.app.generated.graphql" - fragmentPackage: "com.my.app.generated.graphql" - typePackage: "type" + package: 'com.my.app.generated.graphql' + fragmentPackage: 'com.my.app.generated.graphql' + typePackage: 'type' plugins: - java-apollo-android ``` @@ -53,4 +52,3 @@ This will make sure to run and generate output before each time you build your p ## Usage You can find a [repository with a working example using AppSync](https://github.com/dotansimha/graphql-codegen-appsync-android-example) - diff --git a/website/docs/plugins/java-installation.md b/website/docs-templates/java-installation.md similarity index 98% rename from website/docs/plugins/java-installation.md rename to website/docs-templates/java-installation.md index 6ded53214eda..2d40eb5f6595 100644 --- a/website/docs/plugins/java-installation.md +++ b/website/docs-templates/java-installation.md @@ -32,7 +32,7 @@ Then, create a `package.json` file in your project root, with the following cont Then, create `codegen.yml` file in your root directory, pointing to your schema, and add the plugins you need. For example: -``` +```yaml schema: src/main/resources/schema.graphqls generates: src/main/java/com/my-name/my-app/generated/File.java: @@ -43,7 +43,7 @@ generates: Also, make sure you add the following to your `.gitignore` file: -``` +```gitignore yarn.lock node_modules ``` diff --git a/website/docs/plugins/java-resolvers.md b/website/docs-templates/java-resolvers.md similarity index 75% rename from website/docs/plugins/java-resolvers.md rename to website/docs-templates/java-resolvers.md index 8658b0305d29..109a9dad3c46 100644 --- a/website/docs/plugins/java-resolvers.md +++ b/website/docs-templates/java-resolvers.md @@ -1,11 +1,10 @@ --- id: java-resolvers -title: Java Resolvers --- The `java-resolvers` plugin creates Java `interface`s for the resolvers signature. -It works with `graphql-java` library and it uses it's `DataFetcher` API. +It works with `graphql-java` library, and it uses it's `DataFetcher` API. You can use this plugin to generate interfaces and later implement them, this way you can always tell if one of the fields is missing a resolvers: @@ -23,7 +22,6 @@ export class QueryResolvers implements Resolvers.Query { ## Prepare your environment -{@import ../plugins/java-installation.md} - -{@import ../generated-config/java-resolvers.md} +{@javaInstallation} +{@apiDocs} diff --git a/website/docs/plugins/java.md b/website/docs-templates/java.md similarity index 90% rename from website/docs/plugins/java.md rename to website/docs-templates/java.md index 00ee8a68c1de..c8f00887a77f 100644 --- a/website/docs/plugins/java.md +++ b/website/docs-templates/java.md @@ -1,9 +1,13 @@ --- id: java -title: Java --- -{@import ../generated-config/java.md} +## Prepare your environment + +{@javaInstallation} + +{@apiDocs} + ## How to use diff --git a/website/docs/plugins/jsdoc.md b/website/docs-templates/jsdoc.md similarity index 62% rename from website/docs/plugins/jsdoc.md rename to website/docs-templates/jsdoc.md index 295aabfa29d2..96ac121a3a9a 100644 --- a/website/docs/plugins/jsdoc.md +++ b/website/docs-templates/jsdoc.md @@ -1,17 +1,7 @@ --- id: jsdoc -title: JSDoc --- -> developed by [`CarloPalinckx`](https://github.com/CarloPalinckx) +> developed by [`CarloPalinckx`](https://github.com/CarloPalinckx) This plugin generates types in the form of JSDoc comments based on your GraphQLSchema. - -## Installation - -:::shell Using `yarn` - - yarn add -D @graphql-codegen/jsdoc - -::: - diff --git a/website/docs/plugins/kotlin.md b/website/docs-templates/kotlin.md similarity index 73% rename from website/docs/plugins/kotlin.md rename to website/docs-templates/kotlin.md index ed6c4c87aaae..3b4781a27888 100644 --- a/website/docs/plugins/kotlin.md +++ b/website/docs-templates/kotlin.md @@ -1,6 +1,5 @@ --- id: kotlin -title: Kotlin --- The `kotlin` plugin generates Kotlin `classes` for Enums and Input types. @@ -9,21 +8,21 @@ You can use this plugin to generate Java enums based on your GraphQL schema, and ## Prepare your environment -To get started with this plugins and preset, make sure you have the following installed: +To get started with these plugins and preset, make sure you have the following installed: - NodeJS (10 or later) - NPM or Yarn Run the following in your Android project: -``` - yarn init --yes - yarn add @graphql-codegen/cli graphql @graphql-codegen/kotlin +```sh +yarn init --yes +yarn add @graphql-codegen/cli graphql @graphql-codegen/kotlin ``` Then, create `codegen.yml` with the following configuration: -``` +```yml schema: POINT_TO_YOUR_SCHEMA documents: POINT_TO_YOUR_GRAPHQL_OPERATIONS generates: @@ -34,4 +33,4 @@ generates: > Also, make sure to add `node_modules` to your `.gitignore` file. -{@import ../generated-config/kotlin.md} +{@apiDocs} diff --git a/website/docs/plugins/named-operations-object.md b/website/docs-templates/named-operations-object.md similarity index 85% rename from website/docs/plugins/named-operations-object.md rename to website/docs-templates/named-operations-object.md index c847fa2fdda4..fb540303ba71 100644 --- a/website/docs/plugins/named-operations-object.md +++ b/website/docs-templates/named-operations-object.md @@ -1,6 +1,5 @@ --- id: named-operations-object -title: Named Operations Object --- This plugin generates an object containing a list of all your GraphQL operations and fragments. This is useful if you are using Apollo-Client and wish to have type validation when you are using `refetchQueries`. @@ -9,14 +8,14 @@ All operations and fragments are being exported by their name (so unnamed operat ```ts export const namedOperations = { - Query: [...], - Mutation: [...], - Subscription: [...], - Fragment: [...], + Query: [...], + Mutation: [...], + Subscription: [...], + Fragment: [...] } ``` -{@import ../generated-config/named-operations-object.md} +{@apiDocs} ## How to use? @@ -41,5 +40,5 @@ client { ... }, // No more typos, and you get auto-completion and build time validation { refetchQueries: [namedOperations.Query.myQuery] } - ); + ) ``` diff --git a/website/docs/presets/near-operation-file.md b/website/docs-templates/near-operation-file-preset.md similarity index 94% rename from website/docs/presets/near-operation-file.md rename to website/docs-templates/near-operation-file-preset.md index 47ce8bb6e886..fa29ffa07215 100644 --- a/website/docs/presets/near-operation-file.md +++ b/website/docs-templates/near-operation-file-preset.md @@ -1,11 +1,10 @@ --- id: near-operation-file -title: near-operation-file --- This preset generates a file per each operation file. -{@import ../generated-config/near-operation-file-preset.md} +{@apiDocs} ## Example diff --git a/website/docs/plugins/reason-client.md b/website/docs-templates/reason-client.md similarity index 86% rename from website/docs/plugins/reason-client.md rename to website/docs-templates/reason-client.md index 6f5780fa4fb4..5990f4907d48 100644 --- a/website/docs/plugins/reason-client.md +++ b/website/docs-templates/reason-client.md @@ -1,18 +1,11 @@ --- id: reason-client -title: Reason Client --- _Built and maintained by [kgoggin](https://github.com/kgoggin)_ A plugin for GraphQL Codegen to generate ReasonML types based on your GraphQL schema for use in a client application. -## Installation - -```shell -yarn add -D graphql-codegen-reason-client -``` - ## Examples Set up your project per the GraphQL Codegen Docs, and specify this plugin in your codegen.yml: diff --git a/website/docs/plugins/relay-operation-optimizer.md b/website/docs-templates/relay-operation-optimizer.md similarity index 90% rename from website/docs/plugins/relay-operation-optimizer.md rename to website/docs-templates/relay-operation-optimizer.md index 33a5c994da1a..1b3abd8be025 100644 --- a/website/docs/plugins/relay-operation-optimizer.md +++ b/website/docs-templates/relay-operation-optimizer.md @@ -1,13 +1,12 @@ --- id: relay-operation-optimizer -title: Relay Operation Optimizer --- _Built and maintained by [n1ru4l](https://github.com/n1ru4l)_ -A GraphQL Codegen feature for bringing the benefits of Relay Compiler to any GraphQL Client using [Relay Operation Optimizer](https://www.graphql-tools.com/docs/relay-operation-optimizer) +A GraphQL Codegen feature for bringing the benefits of Relay Compiler to any GraphQL Client using [Relay Operation Optimizer](https://graphql-tools.com/docs/relay-operation-optimizer) -You can test how relay-compiler affects your queries over on the [Relay Compiler REPL](https://relay-compiler-repl.netlify.com/). +You can test how relay-compiler affects your queries over on the [Relay Compiler REPL](https://relay-compiler-repl.netlify.com). ## List of Features diff --git a/website/docs/plugins/schema-ast.md b/website/docs-templates/schema-ast.md similarity index 77% rename from website/docs/plugins/schema-ast.md rename to website/docs-templates/schema-ast.md index ea218bfe0b3f..0b78517e690c 100644 --- a/website/docs/plugins/schema-ast.md +++ b/website/docs-templates/schema-ast.md @@ -1,9 +1,8 @@ --- id: schema-ast -title: Schema AST --- -{@import ../generated-config/schema-ast.md} +{@apiDocs} ## Examples @@ -18,4 +17,3 @@ generates: plugins: - schema-ast ``` - diff --git a/website/docs-templates/time.md b/website/docs-templates/time.md new file mode 100644 index 000000000000..0e5947ceed68 --- /dev/null +++ b/website/docs-templates/time.md @@ -0,0 +1,5 @@ +--- +id: time +--- + +{@apiDocs} diff --git a/website/docs/plugins/typed-document-node.md b/website/docs-templates/typed-document-node.md similarity index 76% rename from website/docs/plugins/typed-document-node.md rename to website/docs-templates/typed-document-node.md index 2496b1dc7916..3dbad35942f2 100644 --- a/website/docs/plugins/typed-document-node.md +++ b/website/docs-templates/typed-document-node.md @@ -1,21 +1,20 @@ --- id: typed-document-node -title: TypedDocumentNode --- -{@import ../plugins/client-note.md} +{@operationsNote} -This plugins generates a ready-to-use `TypedDocumentNode` (a combination of pre-compiled `DocumentNode` and the TypeScript signature it represents). +These plugins generate a ready-to-use `TypedDocumentNode` (a combination of pre-compiled `DocumentNode` and the TypeScript signature it represents). For information about the setup and usage of `TypedDocumentNode`, [please refer to the library's documentation](https://github.com/dotansimha/graphql-typed-document-node). -> This plugins requires `typescript` and `typescript-operations` as siblings. +> These plugins require `typescript` and `typescript-operations` as siblings. ### Usage example ```yaml schema: SCHEMA_FILE_OR_ENDPOINT_HERE -documents: "./src/**/*.graphql" +documents: './src/**/*.graphql' generates: ./src/graphql-operations.ts: plugins: @@ -35,13 +34,23 @@ export type RatesQueryVariables = Exact<{ // Represents the result type of the operation - generated by `typescript` + `typescript-operations` plugins export type RatesQuery = ( { __typename?: 'Query' } - & { rates?: Maybe - )>>> } -); + )>>> +} + ) // Generated by this plugin - creates a pre-compiled `DocumentNode` and passes result type and variables type as generics -export const ratesQuery: TypedDocumentNode = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{ ... ]}; +export const ratesQuery: TypedDocumentNode = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { ... } + } + ] +} ``` - diff --git a/website/docs/plugins/typescript-apollo-angular.md b/website/docs-templates/typescript-apollo-angular.md similarity index 76% rename from website/docs/plugins/typescript-apollo-angular.md rename to website/docs-templates/typescript-apollo-angular.md index 9a57c861022b..9b9840355c9a 100644 --- a/website/docs/plugins/typescript-apollo-angular.md +++ b/website/docs-templates/typescript-apollo-angular.md @@ -1,11 +1,10 @@ --- id: typescript-apollo-angular -title: TypeScript Apollo Angular --- -{@import ../plugins/client-note.md} +{@operationsNote} -{@import ../generated-config/typescript-apollo-angular.md} +{@apiDocs} ## How to use? @@ -35,10 +34,10 @@ generates: Then, use it: ```ts -import { MyFeedGQL, MyFeedQuery } from './graphql'; +import { MyFeedGQL, MyFeedQuery } from './graphql' //BE SURE TO USE Observable from rxjs and not from @apollo/client/core when using map -import { Observable } from 'rxjs'; -import { map } from 'rxjs/operators'; +import { Observable } from 'rxjs' +import { map } from 'rxjs/operators' @Component({ selector: 'feed', @@ -47,13 +46,13 @@ import { map } from 'rxjs/operators';
    • {{ item.id }}
    - `, + ` }) export class FeedComponent { - feed: Observable; + feed: Observable constructor(feedGQL: MyFeedGQL) { - this.feed = feedGQL.watch().valueChanges.pipe(map(result => result.data.feed)); + this.feed = feedGQL.watch().valueChanges.pipe(map(result => result.data.feed)) } } ``` @@ -75,7 +74,7 @@ query feed { #### `@namedClient` directive -Sometimes you end up with multiple Apollo clients, which means part of operations can't use the defauls. In order to customize that behavior you simply attach the `@namedClient` directive and the `typescript-apollo-angular` plugin takes care of the rest. +Sometimes you end up with multiple Apollo clients, which means part of operations can't use the defaults. In order to customize that behavior you simply attach the `@namedClient` directive and the `typescript-apollo-angular` plugin takes care of the rest. > You can't use multiple `@namedClient` directives in the same operation @@ -87,4 +86,3 @@ query feed { } } ``` - diff --git a/website/docs/plugins/typescript-apollo-client-helpers.md b/website/docs-templates/typescript-apollo-client-helpers.md similarity index 66% rename from website/docs/plugins/typescript-apollo-client-helpers.md rename to website/docs-templates/typescript-apollo-client-helpers.md index f95808ce0615..eb656bac110c 100644 --- a/website/docs/plugins/typescript-apollo-client-helpers.md +++ b/website/docs-templates/typescript-apollo-client-helpers.md @@ -1,6 +1,5 @@ --- id: typescript-apollo-client-helpers -title: Apollo-Client Helpers --- This plugin generates helpers for improving the integration of TypeScript and Apollo-Client, based on your schema. @@ -9,7 +8,7 @@ This plugin generates helpers for improving the integration of TypeScript and Ap This plugin generates fully-typed `keyFields` and Type-Policies for Apollo-Client. -> [You can read more about type-policies in Apollo Cache here](https://www.apollographql.com/docs/react/caching/cache-configuration/#typepolicy-fields) +> [You can read more about type-policies in Apollo Cache here](https://apollographql.com/docs/react/caching/cache-configuration/#typepolicy-fields) ### How to use? @@ -26,29 +25,27 @@ generates: Then, use the generated TypeScript `type` as your signature for `typePolicies`: ```ts -import { StrictTypedTypePolicies } from './apollo-helpers'; +import { StrictTypedTypePolicies } from './apollo-helpers' const typePolicies: StrictTypedTypePolicies = { // Keys in this object will be validated against the types on your schema Product: { - keyFields: ['id'], // Values in this field will be validated against the available fields from the Product type + keyFields: ['id'] // Values in this field will be validated against the available fields from the Product type }, Person: { - keyFields: ['name', 'email'], + keyFields: ['name', 'email'] }, Book: { // This entire definition is typed, based on available types and fields fields: { tags: { - merge: false, - }, - }, - }, -}; + merge: false + } + } + } +} -const cache = new InMemoryCache({ - typePolicies, -}); +const cache = new InMemoryCache({ typePolicies }) ``` -{@import ../generated-config/typescript-apollo-client-helpers.md} +{@apiDocs} diff --git a/website/docs/plugins/typescript-apollo-next.md b/website/docs-templates/typescript-apollo-next.md similarity index 89% rename from website/docs/plugins/typescript-apollo-next.md rename to website/docs-templates/typescript-apollo-next.md index 7cc872eb3e4a..bac739221355 100644 --- a/website/docs/plugins/typescript-apollo-next.md +++ b/website/docs-templates/typescript-apollo-next.md @@ -1,37 +1,24 @@ --- id: typescript-apollo-next -title: Typescript Apollo Nextjs --- -{@import ../plugins/client-note.md} - +{@operationsNote} This plugin generates: + - a function running an ApolloClient query and cache extraction, to be used inside `getServerSideProps` or `getStaticProps` - a React Apollo HOC running an ApolloClient query consuming the InMemory cache - an interface for the React component wrapped by the HOC It extends the basic TypeScript plugins: `@graphql-codegen/typescript`, `@graphql-codegen/typescript-operations` - and thus shares a similar configuration. - - ## Motivations -Nextjs recently introduced `getServerSideProps` and `getStaticProps` which doesn't allow to use the HOC pattern adopted by the official apollo graphql plugin (based on `getInitialProps`). At the same time the SSR method offered by apollo client (`getDataFromTree` ) enforces the react app to render multiple times in order to collect and fetch all the relevant queries. +Nextjs recently introduced `getServerSideProps` and `getStaticProps` which doesn't allow to use the HOC pattern adopted by the official apollo graphql plugin (based on `getInitialProps`). At the same time the SSR method offered by apollo client (`getDataFromTree`) enforces the React app to render multiple times in order to collect and fetch all the relevant queries. By declaring a top level query we can save rendering time and provide a simpler pattern which works with `getServerSideProps`. Note that this pattern requires each SSR query to run at top level. [Example](https://github.com/correttojs/graphql-codegen-apollo-next-ssr/tree/master/example) - -## Installation - -:::shell Using `yarn` - - yarn add -D graphql-codegen-apollo-next-ssr - -::: - ## API Reference - ### `apolloReactCommonImportFrom` type: `string` @@ -39,7 +26,6 @@ default: `"` Customize the package where apollo-react common lib is loaded from. - ### `apolloImportFrom` type: `string` @@ -47,8 +33,6 @@ default: `"` Customize the package where apollo-client lib is loaded from. - - ### `apolloCacheImportFrom` type: `string` @@ -56,7 +40,6 @@ default: `"` Customize the package where apollo-cache-inmemory lib is loaded from. - ### `apolloReactHooksImportFrom` type: `string` @@ -64,7 +47,6 @@ default: `"` Customize the package where apollo-react hooks lib is loaded from. - ### `reactApolloVersion` type: `number (values: 2, 3)` @@ -77,15 +59,14 @@ Sets the version of react-apollo. ```yml generates: path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-react-apollo - config: - reactApolloVersion: 3 + plugins: + - typescript + - typescript-operations + - typescript-react-apollo + config: + reactApolloVersion: 3 ``` - ### `withHOC` type: `boolean` @@ -98,12 +79,12 @@ Customized the output by enabling/disabling the HOC. ```yml generates: path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-react-apollo - config: - withHOC: false + plugins: + - typescript + - typescript-operations + - typescript-react-apollo + config: + withHOC: false ``` ### `withHooks` @@ -118,12 +99,12 @@ Customized the output by enabling/disabling the generated React Hooks. ```yml generates: path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-react-apollo - config: - withHooks: false + plugins: + - typescript + - typescript-operations + - typescript-react-apollo + config: + withHooks: false ``` ### `excludePatterns` @@ -133,7 +114,6 @@ default: `''` Regexp to exclude a certain operation name. - ### `excludePatternsOptions` type: `string` @@ -141,7 +121,6 @@ default: `''` Regexp options to exclude a certain operation name. - ### `pre` type: `string` @@ -149,7 +128,6 @@ default: `''` Add custom code before each operation. - ### `post` type: `string` @@ -157,7 +135,6 @@ default: `''` Add custom code after each operation. - ### `customImports` type: `string` @@ -165,7 +142,6 @@ default: `''` Add custom imports needed by pre/post. - ### `gqlImport` type: `string` @@ -177,12 +153,14 @@ This is useful if you want to use modules other than `graphql-tag`, e.g. `graphq #### Usage Examples ##### graphql.macro + ```yml config: gqlImport: graphql.macro#gql ``` ##### Gatsby + ```yml config: gqlImport: gatsby#graphql @@ -195,7 +173,6 @@ default: `false` Set this configuration to `true` if you wish to tell codegen to generate code with no `export` identifier. - ### `dedupeOperationSuffix` type: `boolean` @@ -203,7 +180,6 @@ default: `false` Set this configuration to `true` if you wish to make sure to remove duplicate operation name suffix. - ### `omitOperationSuffix` type: `boolean` @@ -211,7 +187,6 @@ default: `false` Set this configuration to `true` if you wish to disable auto add suffix of operation name, like `Query`, `Mutation`, `Subscription`, `Fragment`. - ### `operationResultSuffix` type: `string` @@ -219,7 +194,6 @@ default: `` Adds a suffix to generated operation result type names - ### `documentVariablePrefix` type: `string` @@ -227,7 +201,6 @@ default: `` Changes the GraphQL operations variables prefix. - ### `documentVariableSuffix` type: `string` @@ -235,7 +208,6 @@ default: `Document` Changes the GraphQL operations variables suffix. - ### `fragmentVariablePrefix` type: `string` @@ -243,7 +215,6 @@ default: `` Changes the GraphQL fragments variables prefix. - ### `fragmentVariableSuffix` type: `string` @@ -251,19 +222,18 @@ default: `FragmentDoc` Changes the GraphQL fragments variables suffix. - ### `documentMode` type: `DocumentMode` default: `graphQLTag` Declares how DocumentNode are created: + - `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client - `documentNode`: document nodes will be generated as objects when we generate the templates. - `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them. - `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom` - ### `importOperationTypesFrom` type: `string` @@ -272,13 +242,13 @@ default: `` This config is used internally by presets, but you can use it manually to tell codegen to prefix all base types that it's using. This is useful if you wish to generate base types from `typescript-operations` plugin into a different file, and import it from there. - ### `importDocumentNodeExternallyFrom` type: `string` default: `` This config should be used if `documentMode` is `external`. This has 2 usage: + - any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document - 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader. @@ -308,7 +278,7 @@ Extends or overrides the built-in scalars and custom GraphQL scalars to a custom config: scalars: DateTime: Date - JSON: "{ [key: string]: any }" + JSON: '{ [key: string]: any }' ``` ### `namingConvention` @@ -321,18 +291,20 @@ You can either override all namings, or specify an object with specific custom n The format of the converter must be a valid `module#method`. Allowed values for specific output are: `typeNames`, `enumValues`. You can also use "keep" to keep all GraphQL names as-is. -Additionally you can set `transformUnderscore` to `true` if you want to override the default behavior, -which is to preserves underscores. +Additionally, you can set `transformUnderscore` to `true` if you want to override the default behavior, +which is to preserve underscores. #### Usage Examples ##### Override All Names + ```yml config: namingConvention: change-case-all#lowerCase ``` ##### Upper-case enum values + ```yml config: namingConvention: @@ -341,12 +313,14 @@ config: ``` ##### Keep names as is + ```yml config: namingConvention: keep ``` ##### Remove Underscores + ```yml config: namingConvention: @@ -373,7 +347,7 @@ config: type: `boolean` default: `false` -Does not add __typename to the generated types, unless it was specified in the selection set. +Does not add `__typename` to the generated types, unless it was specified in the selection set. #### Usage Examples @@ -395,4 +369,4 @@ in the selection set, and makes it non-optional ```yml config: nonOptionalTypename: true -``` \ No newline at end of file +``` diff --git a/website/docs/plugins/typescript-document-nodes.md b/website/docs-templates/typescript-document-nodes.md similarity index 51% rename from website/docs/plugins/typescript-document-nodes.md rename to website/docs-templates/typescript-document-nodes.md index 387a878373d6..3369f030d606 100644 --- a/website/docs/plugins/typescript-document-nodes.md +++ b/website/docs-templates/typescript-document-nodes.md @@ -1,14 +1,12 @@ --- id: typescript-document-nodes -title: TypeScript document nodes --- -{@import ../generated-config/typescript-document-nodes.md} +{@apiDocs} ## Usage -With [GitHub GraphQL API v4](https://developer.github.com/v4/) schema and -following GraphQL operation: +With [GitHub GraphQL API v4](https://developer.github.com/v4) schema and following GraphQL operation: ```graphql query Viewer { @@ -22,8 +20,8 @@ query Viewer { It will generate following TypeScript code: ```ts -import { DocumentNode } from 'graphql'; -import gql from 'graphql-tag'; +import { DocumentNode } from 'graphql' +import gql from 'graphql-tag' export const viewerQuery: DocumentNode = gql` query Viewer { @@ -32,6 +30,5 @@ export const viewerQuery: DocumentNode = gql` name } } -`; +` ``` - diff --git a/website/docs/plugins/typescript-generic-sdk.md b/website/docs-templates/typescript-generic-sdk.md similarity index 69% rename from website/docs/plugins/typescript-generic-sdk.md rename to website/docs-templates/typescript-generic-sdk.md index 2264a197d226..b07b7f891ab0 100644 --- a/website/docs/plugins/typescript-generic-sdk.md +++ b/website/docs-templates/typescript-generic-sdk.md @@ -1,15 +1,13 @@ --- id: typescript-generic-sdk -title: TypeScript Generic SDK --- -{@import ../plugins/client-note.md} +{@operationsNote} > Make sure you have `typescript` plugin and `typescript-operations` as well in your configuration: -{@import ../generated-config/typescript-generic-sdk.md} +{@apiDocs} ## Usage You can find a usage [example for Apollo-Client here](https://gist.github.com/akozhemiakin/731b0c1e99eb89b01f80f08f9146b6b6). - diff --git a/website/docs/plugins/typescript-graphql-files-modules.md b/website/docs-templates/typescript-graphql-files-modules.md similarity index 68% rename from website/docs/plugins/typescript-graphql-files-modules.md rename to website/docs-templates/typescript-graphql-files-modules.md index 1fa297c92a2c..88dae102dce6 100644 --- a/website/docs/plugins/typescript-graphql-files-modules.md +++ b/website/docs-templates/typescript-graphql-files-modules.md @@ -1,41 +1,38 @@ --- id: typescript-graphql-files-modules -title: TypeScript GraphQL Files Modules --- :::note Webpack Integration - If you wish to have a simpler integration in a Webpack project, use [`graphql-let`](https://github.com/piglovesyou/graphql-let), it uses this plugin behind the scenes, and provides simpler developer experience. - ::: ## Pre-Requirements To use this template, make sure you are using [`graphql-tag/loader`](https://github.com/apollographql/graphql-tag#webpack-preprocessing-with-graphql-tagloader) with Webpack. -{@import ../generated-config/typescript-graphql-files-modules.md} +{@apiDocs} ## Example Given that you have a query named `MyQuery` in `my-query.graphql` file, this template will generate the following code: -```typescript +```ts declare module '*/my-query.graphql' { - import { DocumentNode } from 'graphql'; - const MyQuery: DocumentNode; + import { DocumentNode } from 'graphql' + const MyQuery: DocumentNode - export { MyQuery }; + export { MyQuery } - export default defaultDocument; + export default defaultDocument } ``` Accordingly, you can import the generated types and use it in your code: ```ts -import myQuery from './my-query.graphql'; +import myQuery from './my-query.graphql' // OR -import { myQuery } from './my-query.graphql'; -``` \ No newline at end of file +import { myQuery } from './my-query.graphql' +``` diff --git a/website/docs/plugins/typescript-graphql-request.md b/website/docs-templates/typescript-graphql-request.md similarity index 67% rename from website/docs/plugins/typescript-graphql-request.md rename to website/docs-templates/typescript-graphql-request.md index 836434471c21..6743bd5cdaeb 100644 --- a/website/docs/plugins/typescript-graphql-request.md +++ b/website/docs-templates/typescript-graphql-request.md @@ -1,13 +1,12 @@ --- id: typescript-graphql-request -title: TypeScript GraphQL-Request --- -{@import ../plugins/client-note.md} +{@operationsNote} > Make sure you have `typescript` plugin and `typescript-operations` as well in your configuration: -{@import ../generated-config/typescript-graphql-request.md} +{@apiDocs} ## Usage Example @@ -22,6 +21,7 @@ query continents { } } } + fragment CountryFields on Country { name currency @@ -31,15 +31,15 @@ fragment CountryFields on Country { It generates SDK you can import and wrap your `GraphQLClient` instance, and get fully-typed SDK based on your operations: ```ts -import { GraphQLClient } from 'graphql-request'; -import { getSdk } from './sdk'; // THIS FILE IS THE GENERATED FILE +import { GraphQLClient } from 'graphql-request' +import { getSdk } from './sdk' // THIS FILE IS THE GENERATED FILE async function main() { - const client = new GraphQLClient('https://countries.trevorblades.com/'); - const sdk = getSdk(client); - const { continents } = await sdk.continents(); // This is fully typed, based on the query + const client = new GraphQLClient('https://countries.trevorblades.com') + const sdk = getSdk(client) + const { continents } = await sdk.continents() // This is fully typed, based on the query - console.log(`GraphQL data:`, continents); + console.log(`GraphQL data:`, continents) } ``` @@ -49,10 +49,9 @@ The generated sdk accepts an optional middleware function to wrap the requests t This can enable scenarios like request failure retries and logging at the sdk level. -To use middleware, just pass an `SdkFunctionWrapper` as the second argument to -`getSdk`. +To use middleware, just pass an `SdkFunctionWrapper` as the second argument to `getSdk`. -``` +```ts // `SdkFunctionWrapper` is a type we provide. `action` is the `client` request execution generated by this template. The wrapper MUST invoke `action()` and should return the promise returned by `action`, or its resolution. type SdkFunctionWrapper = (action: () => Promise) => Promise; @@ -63,42 +62,42 @@ type SdkFunctionWrapper = (action: () => Promise) => Promise; - This example shows a naive request timing logger. ```ts -const client = new GraphQLClient(''); +const client = new GraphQLClient('') const clientTimingWrapper: SdkFunctionWrapper = async (action: () => Promise): Promise => { - const startTime = new Date(); - const result = await action(); + const startTime = new Date() + const result = await action() console.log('request duration (ms)', new Date() - startTime) - return result; + return result } -const sdk = getSdk(client, clientTimingWrapper); +const sdk = getSdk(client, clientTimingWrapper) ``` -- This example uses [polly-js](https://github.com/mauricedb/polly-js) to define a failure retry wrapper. (this is the use case for which i originally intended to add this capability) +- This example uses [polly-js](https://github.com/mauricedb/polly-js) to define a failure retry wrapper. (this is the use case for which I originally intended to add this capability) ```ts const withRetries: RetryWrapper = (action: () => Promise) => polly() .handle((err: Error) => { - warn('GraphqlClient:NetworkError', err); - return err.message.includes('connect ETIMEDOUT'); + warn('GraphqlClient:NetworkError', err) + return err.message.includes('connect ETIMEDOUT') }) .waitAndRetry(3) .executeForPromise(info => { if (info.count === 3) { error('GraphqlClient:MaxRetries', null, { ...info, - action: action.toString(), - }); + action: action.toString() + }) } else if (info.count > 0) { warn('GraphqlClient:RetryingCall', null, { ...info, - action: action.toString(), - }); + action: action.toString() + }) } - return action(); - }); + return action() + }) -const sdk = getSdk(client, withRetries); +const sdk = getSdk(client, withRetries) ``` diff --git a/website/docs/plugins/typescript-mongodb.md b/website/docs-templates/typescript-mongodb.md similarity index 89% rename from website/docs/plugins/typescript-mongodb.md rename to website/docs-templates/typescript-mongodb.md index ace6e3e48b22..00bb85e284ef 100644 --- a/website/docs/plugins/typescript-mongodb.md +++ b/website/docs-templates/typescript-mongodb.md @@ -1,6 +1,5 @@ --- id: typescript-mongodb -title: TypeScript MongoDB --- This plugin generates TypeScript types for MongoDB models, which makes it relevant for server-side development only. It uses GraphQL directives to declare the types you want to generate and use in your MongoDB backend. @@ -19,13 +18,13 @@ type User @entity { We can have the following TypeScript output: -```typescript -import { ObjectID } from 'mongodb'; +```ts +import { ObjectID } from 'mongodb' export interface UserDbObject { - _id: ObjectID; - username: string; - email?: string | null; + _id: ObjectID + username: string + email?: string | null } ``` @@ -33,23 +32,23 @@ This interface can be used for db read/write purposes, thus making communication > Don't install this plugin as devDependency, because you need to import the directives from it. -{@import ../generated-config/typescript-mongodb.md} +{@apiDocs} ## Usage Example Once installed, add the directives declaration to your GraphQL Schema definition: ```typescript -import { makeExecutableSchema } from '@graphql-tools/schema'; -import { DIRECTIVES } from '@graphql-codegen/typescript-mongodb'; +import { makeExecutableSchema } from '@graphql-tools/schema' +import { DIRECTIVES } from '@graphql-codegen/typescript-mongodb' const schema = makeExecutableSchema({ typeDefs: [ - DIRECTIVES, + DIRECTIVES // the rest of your GraphQL types ], - resolvers, -}); + resolvers +}) ``` And generate code using `gql-gen`: @@ -125,11 +124,11 @@ type User @entity { The output should be: -```typescript +```ts export interface UserDbObject { credentials: { - username: string; - }; + username: string + } } ``` @@ -157,13 +156,13 @@ This way, you will get: ```typescript export interface BaseNotificationDbInterface { - notificationType: string; - _id: ObjectID; - createdAt: Date; + notificationType: string + _id: ObjectID + createdAt: Date } export interface TextNotificationDbObject extends BaseNotificationDbInterface { - content: string; + content: string } ``` @@ -188,16 +187,16 @@ union PossibleType @union(discriminatorField: "entityType") = A | B The output should be: -```typescript +```ts export interface ADbObject { - fieldA: string; + fieldA: string } export interface BDbObject { - fieldB: string; + fieldB: string } -export type PossibleType = { entityType: string } & (ADbObject | BDbObject); +export type PossibleType = { entityType: string } & (ADbObject | BDbObject) ``` ## Example @@ -222,19 +221,19 @@ type Profile @entity(embedded: true) { The generated MongoDB models should look like so: -```typescript -import { ObjectID } from 'mongodb'; +```ts +import { ObjectID } from 'mongodb' export interface UserDbObject { - _id: ObjectID; - username: string; - email: string; - profile: ProfileDbObject; - friends: ObjectID[]; + _id: ObjectID + username: string + email: string + profile: ProfileDbObject + friends: ObjectID[] } export interface ProfileDbObject { - name: string; - age: string; + name: string + age: string } ``` diff --git a/website/docs/plugins/typescript-msw.md b/website/docs-templates/typescript-msw.md similarity index 86% rename from website/docs/plugins/typescript-msw.md rename to website/docs-templates/typescript-msw.md index ad399fde3ba9..e36f8a41ec46 100644 --- a/website/docs/plugins/typescript-msw.md +++ b/website/docs-templates/typescript-msw.md @@ -1,13 +1,12 @@ --- id: typescript-msw -title: TypeScript MSW --- -{@import ../plugins/client-note.md} +{@operationsNote} > Make sure you have `typescript` plugin and `typescript-operations` as well in your configuration: -{@import ../generated-config/typescript-msw.md} +{@apiDocs} ### Usage diff --git a/website/docs/plugins/typescript-oclif.md b/website/docs-templates/typescript-oclif.md similarity index 85% rename from website/docs/plugins/typescript-oclif.md rename to website/docs-templates/typescript-oclif.md index 1c10180d0657..c938a9670c9f 100644 --- a/website/docs/plugins/typescript-oclif.md +++ b/website/docs-templates/typescript-oclif.md @@ -1,17 +1,10 @@ --- id: typescript-oclif -title: TypeScript oclif --- -This plugin generates [`oclif`](https://www.npmjs.com/package/oclif) CLI commands. +This plugin generates [`oclif`](https://npmjs.com/package/oclif) CLI commands. -{@import ../plugins/client-note.md} - -## Installation - -[You can find a working example of this plugin here](https://github.com/kalzoo/graphql-codegen-oclif-example/) - - yarn add @graphql-codegen/typescript @graphql-codegen/typescript-oclif +{@operationsNote} The, make sure you have `typescript` plugin as well in your configuration: @@ -38,7 +31,7 @@ you can have a user-friendly command-line interface: 1. Generate a boilerplate CLI using `oclif` 2. Add GraphQL Documents (Queries & Mutations) -3. Add and export a graphql client of your choice (`graphql-request`, `apollo-client`, etc) +3. Add and export a graphql client of your choice (`graphql-request`, `apollo-client`, etc.) 4. Add, configure, and run the code generator ### Step 1: Generate the CLI scaffold @@ -63,22 +56,21 @@ Which client you use, and how you configure it, is entirely up to you! It just h this `QueryHandler` signature: ```ts -import { Command } from '@oclif/command'; +import { Command } from '@oclif/command' interface QueryHandlerProps { - command: Command; - query: string; - variables?: Record; + command: Command + query: string + variables?: Record } -type QueryHandler = (props: QueryHandlerProps) => any; +type QueryHandler = (props: QueryHandlerProps) => any ``` This allows you to pre-process, send, and post-process requests however you'd like, as well as format the results returned. The arguments are: -- `command`: the command object being executed, described [here](https://oclif.io/docs/commands) - in the `oclif` documentation. +- `command`: the command object being executed, described [here](https://oclif.io/docs/commands) in the `oclif` documentation. - `query`: the string version of the GraphQL query being executed. - `variables`: the variables as configured in your GraphQL operation and parsed by `oclif`. @@ -92,26 +84,23 @@ To get started quickly and easily, consider using the simple `graphql-request` a ```ts // handler.ts -import { GraphQLClient } from 'graphql-request'; -import { Command } from '@oclif/command'; +import { GraphQLClient } from 'graphql-request' +import { Command } from '@oclif/command' interface QueryHandlerProps { - command: Command; - query: string; - variables?: Record; + command: Command + query: string + variables?: Record } // Change the URL to the endpoint your CLI will use -const client = new GraphQLClient('http://localhost:4000'); +const client = new GraphQLClient('http://localhost:4000') const handler = ({ command, query, variables }: QueryHandlerProps) => { - return client - .request(query, variables) - .then(command.log) - .catch(command.error); -}; + return client.request(query, variables).then(command.log).catch(command.error) +} -export default handler; +export default handler ``` ### Step 4: Add & Configure GraphQL Codegen @@ -119,7 +108,7 @@ export default handler; First, follow the GraphQL-Code-Generator guide to install it, and make sure to also install `@graphql-codegen/typescript-oclif`. Then, change your `codegen.yml` file to look like this: -``` +```yml schema: documents: "src/commands/**/*.graphql" generates: @@ -160,7 +149,7 @@ necessary `oclif` command files. With that complete, follow the directions in th You can add descriptions and examples for your commands via `typescript-oclif` with the `@oclif` client-side directive, like so: -``` +```gql mutation CreateAuthor($name: String!) @oclif(description: "Create a new author", example: "cli author:create --name Alice", example: "cli author:create --name Bob") { createAuthor(input: { name: $name }) { @@ -179,5 +168,5 @@ If you want a command that doesn't just execute a GraphQL Query or Mutation, the create one manually in the same way as any other `oclif` application. If you wanted to add a `fix` command, for example, you can just create a file at `src/commands/fix.ts`, follow the `oclif` API (ie, export a class with a `run()` method), and `graphql-codegen` won't disturb that file - so long -as you **don't** _also_ create a `fix.graphql` file next to it (in which case, it _would_ overrride +as you **don't** _also_ create a `fix.graphql` file next to it (in which case, it _would_ override `fix.ts` on the next run of `graphql-codegen`). diff --git a/website/docs-templates/typescript-operations.md b/website/docs-templates/typescript-operations.md new file mode 100644 index 000000000000..6b1f0c754c1e --- /dev/null +++ b/website/docs-templates/typescript-operations.md @@ -0,0 +1,7 @@ +--- +id: typescript-operations +--- + +{@operationsNote} + +{@apiDocs} diff --git a/website/docs/plugins/typescript-react-apollo.md b/website/docs-templates/typescript-react-apollo.md similarity index 72% rename from website/docs/plugins/typescript-react-apollo.md rename to website/docs-templates/typescript-react-apollo.md index eddc41e418fc..5c789f9b9b6b 100644 --- a/website/docs/plugins/typescript-react-apollo.md +++ b/website/docs-templates/typescript-react-apollo.md @@ -1,11 +1,10 @@ --- id: typescript-react-apollo -title: TypeScript React Apollo --- -{@import ../plugins/client-note.md} +{@operationsNote} -{@import ../generated-config/typescript-react-apollo.md} +{@apiDocs} ## Usage Example @@ -33,7 +32,7 @@ And the following configuration: ```yaml schema: YOUR_SCHEMA_HERE -documents: "./src/**/*.graphql" +documents: './src/**/*.graphql' generates: ./generated-types.ts: plugins: @@ -44,17 +43,16 @@ generates: Codegen will pre-compile the GraphQL operation into a `DocumentNode` object, and generate a ready-to-use React Hook for each operation you have. -In you application code, you can import it from the generated file, and use the React Hook in your component code: - +In your application code, you can import it from the generated file, and use the React Hook in your component code: ```tsx -import { useTest } from './generated-types'; +import { useTest } from './generated-types' export const MyComponent: React.FC = () => { - const { data, error, loading } = useTest(); + const { data, error, loading } = useTest() - return (
    ...
    ) -}; + return
    ...
    +} ``` ### Generate Data Component @@ -73,4 +71,4 @@ Codegen also supports generating High-Order-Components (deprecated in `@apollo/c ```yaml config: withHOC: true -``` \ No newline at end of file +``` diff --git a/website/docs/plugins/typescript-react-query.md b/website/docs-templates/typescript-react-query.md similarity index 84% rename from website/docs/plugins/typescript-react-query.md rename to website/docs-templates/typescript-react-query.md index 1699992bbb29..2d0625dba5e6 100644 --- a/website/docs/plugins/typescript-react-query.md +++ b/website/docs-templates/typescript-react-query.md @@ -1,11 +1,10 @@ --- id: typescript-react-query -title: TypeScript React-Query --- -{@import ../plugins/client-note.md} +{@operationsNote} -{@import ../generated-config/typescript-react-query.md} +{@apiDocs} ## Usage Examples @@ -28,21 +27,21 @@ generates: fetcher: fetch ``` -To use the generate hooks, import it, and then specify the endpoint and optionally `fetchParams`: +To use the generated hooks, import it, and then specify the endpoint and optionally `fetchParams`: ```ts -import { useMyQuery } from './generated'; +import { useMyQuery } from './generated' export const MyComponent = () => { const { status, data, error, isFetching } = useMyQuery({ endpoint: 'http://localhost:3000/graphql', fetchParams: { headers: { - 'My-Header': 'XYZ', - }, - }, - }); -}; + 'My-Header': 'XYZ' + } + } + }) +} ``` ### Using `fetch` with Codegen configuration @@ -104,11 +103,11 @@ generates: The generated hooks doesn't require you to specify anything, you can just use it as-is: ```ts -import { useMyQuery } from './generated'; +import { useMyQuery } from './generated' export const MyComponent = () => { - const { status, data, error, isFetching } = useMyQuery({}); -}; + const { status, data, error, isFetching } = useMyQuery({}) +} ``` ### Using `graphql-request` @@ -131,12 +130,12 @@ generates: And the, while using, provide your `client` instance: ```ts -import { useMyQuery } from './generated'; -import { client } from './my-graphql-request-client'; +import { useMyQuery } from './generated' +import { client } from './my-graphql-request-client' export const MyComponent = () => { - const { status, data, error, isFetching } = useMyQuery(client, {}); -}; + const { status, data, error, isFetching } = useMyQuery(client, {}) +} ``` ### Using Custom Fetcher @@ -160,6 +159,7 @@ generates: As a shortcut, the `fetcher` property may also directly contain the function as a mapper string: + ```yml #... config: @@ -169,11 +169,11 @@ config: Codegen will use `myFetcher`, and you can just use the hook directly: ```ts -import { useMyQuery } from './generated'; +import { useMyQuery } from './generated' export const MyComponent = () => { - const { status, data, error, isFetching } = useMyQuery({}); -}; + const { status, data, error, isFetching } = useMyQuery({}) +} ``` Depending on the `isReactHook` property, your `myFetcher` should be in the following signature: @@ -195,24 +195,24 @@ export const fetchData = (query: string, variables?: TVariabl const res = await fetch('https://api.url', { method: 'POST', headers: { - 'Content-Type': 'application/json', + 'Content-Type': 'application/json' }, body: JSON.stringify({ query, - variables, - }), - }); + variables + }) + }) - const json = await res.json(); + const json = await res.json() if (json.errors) { - const { message } = json.errors[0] || 'Error..'; - throw new Error(message); + const { message } = json.errors[0] || 'Error..' + throw new Error(message) } - return json.data; - }; -}; + return json.data + } +} ``` #### Usage example (`isReactHook: true`) @@ -220,30 +220,30 @@ export const fetchData = (query: string, variables?: TVariabl ```tsx export const useFetchData = (query: string): (() => Promise) => { // it is safe to call React Hooks here. - const { url, headers } = React.useContext(FetchParamsContext); + const { url, headers } = React.useContext(FetchParamsContext) return async (variables?: TVariables) => { const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json', - ...headers, + ...headers }, body: JSON.stringify({ query, - variables, - }), - }); + variables + }) + }) - const json = await res.json(); + const json = await res.json() if (json.errors) { - const { message } = json.errors[0] || 'Error..'; - throw new Error(message); + const { message } = json.errors[0] || 'Error..' + throw new Error(message) } - return json.data; - }; -}; + return json.data + } +} ``` > Note: The return value is an async function, with no params, that returns a `Promise` with the actual data. diff --git a/website/docs/plugins/typescript-resolvers.md b/website/docs-templates/typescript-resolvers.md similarity index 79% rename from website/docs/plugins/typescript-resolvers.md rename to website/docs-templates/typescript-resolvers.md index 326c5ba271a8..e43bc3413426 100644 --- a/website/docs/plugins/typescript-resolvers.md +++ b/website/docs-templates/typescript-resolvers.md @@ -1,9 +1,8 @@ --- id: typescript-resolvers -title: TypeScript Resolvers --- -{@import ../generated-config/typescript-resolvers.md} +{@apiDocs} ## Usage Example @@ -24,19 +23,19 @@ generates: Import the types from the generated file and use in the resolver: -```typescript -import { Resolvers } from './resolvers-types'; +```ts +import { Resolvers } from './resolvers-types' export const resolvers: Resolvers = { Query: { - myQuery: (root, args, context) => {}, + myQuery: (root, args, context) => {} } -}; +} ``` This will make the resolver fully typed and compatible with typescript compiler, including the handler's arguments and return value. -Generated resolvers can be passed directly into [graphql-tools](https://www.npmjs.com/package/graphql-tools) `makeExecutableSchema` function. +Generated resolvers can be passed directly into [graphql-tools](https://npmjs.com/package/graphql-tools) `makeExecutableSchema` function. ## Integration with Apollo-Server @@ -78,9 +77,9 @@ generates: ## Enum Resolvers -[Apollo-Server](https://www.apollographql.com/docs/apollo-server/) and schemas built with [`graphql-tools`](https://www.graphql-tools.com/) supports creating resolvers for GraphQL `enum`s. +[Apollo-Server](https://apollographql.com/docs/apollo-server) and schemas built with [`graphql-tools`](https://graphql-tools.com) supports creating resolvers for GraphQL `enum`s. -This is helpful because you can have internal values that are different from the public enum values, and you can use the internal values in your resolvers. +This is helpful because you can have internal values that are different from the public enum values, and you can use the internal values in your resolvers. Codegen allows you to specify either `mappers` or `enumValues` to map enums in your resolvers, and if you are using it for enums, you'll get a resolver signature for the enum resolvers as well. @@ -93,8 +92,8 @@ type Query { favoriteColor: Color! } -type Color { - RED, +enum Color { + RED BLUE } ``` @@ -105,7 +104,7 @@ generates: ./resolvers-types.ts: config: enumValues: - Colors: ./enums#ColorsCode + Color: ./enums#ColorsCode plugins: - typescript - typescript-resolvers @@ -115,20 +114,20 @@ generates: // in your enums.ts export enum ColorsCode { MY_RED = '#FF0000', - MY_BLUE = '#0000FF', + MY_BLUE = '#0000FF' } // in your resolvers.ts -import { Resolvers } from './resolvers-types'; -import { ColorsCode } from './enums'; +import { Resolvers } from './resolvers-types' +import { ColorsCode } from './enums' const resolvers: Resolvers = { - Colors: { + Color: { RED: ColorsCode.MY_RED, - BLUE: ColorsCode.MY_BLUE, + BLUE: ColorsCode.MY_BLUE }, Query: { - favoriteColor: () => ColorsCode.MY_RED, // Now you cn return this, and it will be mapped to your actual GraphQL enum + favoriteColor: () => ColorsCode.MY_RED // Now you cn return this, and it will be mapped to your actual GraphQL enum } } ``` @@ -141,7 +140,7 @@ generates: ./resolvers-types.ts: config: enumValues: - Colors: + Color: RED: '#FF0000' BLUE: '#0000FF' plugins: @@ -157,7 +156,7 @@ generates: ./resolvers-types.ts: config: mappers: - Colors: ./enums#ColorsCode + Color: ./enums#ColorsCode plugins: - typescript - typescript-resolvers diff --git a/website/docs/plugins/typescript-rtk-query.md b/website/docs-templates/typescript-rtk-query.md similarity index 72% rename from website/docs/plugins/typescript-rtk-query.md rename to website/docs-templates/typescript-rtk-query.md index 657cf85f647e..ce09bf8d316c 100644 --- a/website/docs/plugins/typescript-rtk-query.md +++ b/website/docs-templates/typescript-rtk-query.md @@ -1,11 +1,10 @@ --- id: typescript-rtk-query -title: TypeScript RTK-Query --- -{@import ../plugins/client-note.md} +{@operationsNote} -{@import ../generated-config/typescript-rtk-query.md} +{@apiDocs} ## Usage Examples @@ -30,29 +29,29 @@ generates: The generated `src/app/api/generated.ts` would try to `import { api } from 'src/app/api/baseApi'`, so you have to create that file: ```ts title="src/app/api/baseApi.ts" -import { createApi } from '@reduxjs/toolkit/query/react'; -import { graphqlRequestBaseQuery } from '@rtk-query/graphql-request-base-query'; -import { GraphQLClient } from 'graphql-request'; +import { createApi } from '@reduxjs/toolkit/query/react' +import { graphqlRequestBaseQuery } from '@rtk-query/graphql-request-base-query' +import { GraphQLClient } from 'graphql-request' -export const client = new GraphQLClient('/graphql'); +export const client = new GraphQLClient('/graphql') // highlight-start export const api = createApi({ baseQuery: graphqlRequestBaseQuery({ client }), - endpoints: () => ({}), -}); + endpoints: () => ({}) +}) // highlight-end ``` From that point on, you can import the generated hooks from `src/app/api/generated.ts`: ```ts title="src/components/MyComponent.ts" -import { useMyQuery } from 'src/app/api/generated'; +import { useMyQuery } from 'src/app/api/generated' export const MyComponent = () => { // highlight-start - const { data, isLoading } = useMyQuery({ page: 5 }); + const { data, isLoading } = useMyQuery({ page: 5 }) // highlight-end -}; +} ``` ### Extending generated code @@ -60,18 +59,18 @@ export const MyComponent = () => { You can import the generated code into a new file and use `api.enhanceEndpoints` to add lifecycle hooks or `providesTags`/`invalidatedTags` information to your api: ```ts title="src/app/api/enhanced.ts" -import { api as generatedApi } from 'src/app/api/generated'; +import { api as generatedApi } from 'src/app/api/generated' export const api = generatedApi.enhanceEndpoints({ addTagTypes: ['User'], endpoints: { GetUserById: { - providesTags: (result, error, arg) => [{ type: 'User', id: arg.userId }], - }, - }, -}); + providesTags: (result, error, arg) => [{ type: 'User', id: arg.userId }] + } + } +}) -export const { useGetUserByIdQuery } = api; +export const { useGetUserByIdQuery } = api ``` Make sure that this file is referenced from your code so that the enhanced endpoints are usable. The easiest way to do this is to re-export the hooks in this file and import them exclusively from it. @@ -81,21 +80,21 @@ Make sure that this file is referenced from your code so that the enhanced endpo You can also use this to set an "authentication" header after a login mutation: ```ts -import { api as generatedApi } from 'src/app/api/generated'; -import { client } from 'src/app/api/baseApi'; +import { api as generatedApi } from 'src/app/api/generated' +import { client } from 'src/app/api/baseApi' export const api = generatedApi.enhanceEndpoints({ endpoints: { Login: { // highlight-start async onQueryStarted(arg, { queryFulfilled }) { - const { data } = await queryFulfilled; - client.setHeader('authentication', `Bearer ${data.token}`); - }, + const { data } = await queryFulfilled + client.setHeader('authentication', `Bearer ${data.token}`) + } // highlight-end - }, - }, -}); + } + } +}) -export const { useLoginMutation } = api; +export const { useLoginMutation } = api ``` diff --git a/website/docs/plugins/typescript-stencil-apollo.md b/website/docs-templates/typescript-stencil-apollo.md similarity index 61% rename from website/docs/plugins/typescript-stencil-apollo.md rename to website/docs-templates/typescript-stencil-apollo.md index f511c4142b2e..48ac25b31b0c 100644 --- a/website/docs/plugins/typescript-stencil-apollo.md +++ b/website/docs-templates/typescript-stencil-apollo.md @@ -1,11 +1,10 @@ --- id: typescript-stencil-apollo -title: TypeScript Stencil Apollo --- -{@import ../plugins/client-note.md} +{@operationsNote} -{@import ../generated-config/typescript-stencil-apollo.md} +{@apiDocs} ## Usage Example @@ -30,7 +29,7 @@ query Test { We can use the generated code like this: ```tsx - - ... - + + ... + ``` diff --git a/website/docs/plugins/typescript-svelte-apollo.md b/website/docs-templates/typescript-svelte-apollo.md similarity index 55% rename from website/docs/plugins/typescript-svelte-apollo.md rename to website/docs-templates/typescript-svelte-apollo.md index 677a420063f9..f2d620b977b1 100644 --- a/website/docs/plugins/typescript-svelte-apollo.md +++ b/website/docs-templates/typescript-svelte-apollo.md @@ -1,6 +1,5 @@ --- id: typescript-svelte-apollo -title: Typescript Svelte Apollo --- This plugin generates observable Apollo queries with Typescript typings. @@ -9,17 +8,6 @@ This is a community plugin, to report eventual issues or find more examples, ref It extends the basic TypeScript plugins: `@graphql-codegen/typescript`, `@graphql-codegen/typescript-operations` - and thus shares a similar configuration. -## Installation - - - -graphql-codegen-svelte-apollo plugin version - - - -:::shell Using `yarn` - yarn add -D graphql-codegen-svelte-apollo -::: ## API Reference @@ -36,15 +24,16 @@ Path to the apollo client for this project (should point to a file with an apoll ```yml generates: path/to/file.ts: - plugins: - - typescript - - typescript-operations - - graphql-codegen-svelte-apollo - config: - clientPath: PATH_TO_APOLLO_CLIENT + plugins: + - typescript + - typescript-operations + - graphql-codegen-svelte-apollo + config: + clientPath: PATH_TO_APOLLO_CLIENT ``` ### `asyncQuery` + type: `boolean` default: `false` @@ -55,13 +44,13 @@ By default, the plugin only generate observable queries, sometimes it may be use ```yml generates: path/to/file.ts: - plugins: - - typescript - - typescript-operations - - graphql-codegen-svelte-apollo - config: - clientPath: PATH_TO_APOLLO_CLIENT - asyncQuery: true + plugins: + - typescript + - typescript-operations + - graphql-codegen-svelte-apollo + config: + clientPath: PATH_TO_APOLLO_CLIENT + asyncQuery: true ``` ## Usage Example @@ -72,20 +61,20 @@ For the given input: ```graphql fragment TransactionFragment on TransactionDescription { - contractAddress - from - gasUsed - gasPrice - input - isError - to - value + contractAddress + from + gasUsed + gasPrice + input + isError + to + value } query Transactions($address: String) { - transactions(address: $address) { - ...TransactionFragment - } + transactions(address: $address) { + ...TransactionFragment + } } ``` @@ -93,33 +82,34 @@ And the following configuration: ```yaml schema: YOUR_SCHEMA_HERE -documents: "./src/**/*.graphql" +documents: './src/**/*.graphql' generates: path/to/file.ts: - plugins: - - typescript - - typescript-operations - - graphql-codegen-svelte-apollo - config: - clientPath: PATH_TO_APOLLO_CLIENT + plugins: + - typescript + - typescript-operations + - graphql-codegen-svelte-apollo + config: + clientPath: PATH_TO_APOLLO_CLIENT ``` Codegen will pre-compile the GraphQL operation into a `DocumentNode` object, and generate a ready-to-use Apollo query for each operation you have. -In you application code, you can import it from the generated file, and use the query in your component code: +In your application code, you can import it from the generated file, and use the query in your component code: + ```html
      - {#each $t?.data?.transactions || [] as transaction} -
    • Sent transaction from {transaction.from} to {transaction.to}
    • - {/each} + {#each $t?.data?.transactions || [] as transaction} +
    • Sent transaction from {transaction.from} to {transaction.to}
    • + {/each}
    ``` @@ -133,20 +123,20 @@ For the given input: ```graphql fragment TransactionFragment on TransactionDescription { - contractAddress - from - gasUsed - gasPrice - input - isError - to - value + contractAddress + from + gasUsed + gasPrice + input + isError + to + value } query Transactions($address: String) { - transactions(address: $address) { - ...TransactionFragment - } + transactions(address: $address) { + ...TransactionFragment + } } ``` @@ -154,27 +144,28 @@ And the following configuration: ```yaml schema: YOUR_SCHEMA_HERE -documents: "./src/**/*.graphql" +documents: './src/**/*.graphql' generates: path/to/file.ts: - plugins: - - typescript - - typescript-operations - - graphql-codegen-svelte-apollo - config: - clientPath: PATH_TO_APOLLO_CLIENT - asyncQuery: true + plugins: + - typescript + - typescript-operations + - graphql-codegen-svelte-apollo + config: + clientPath: PATH_TO_APOLLO_CLIENT + asyncQuery: true ``` Codegen will pre-compile the GraphQL operation into a `DocumentNode` object, and generate a ready-to-use Apollo query for each operation you have. -In you application code, you can import it from the generated file, and use the query in your component code: +In your application code, you can import it from the generated file, and use the query in your component code: + ```html
      @@ -186,4 +177,4 @@ In you application code, you can import it from the generated file, and use the {/each} {/await}
    -``` \ No newline at end of file +``` diff --git a/website/docs/plugins/typescript-type-graphql.md b/website/docs-templates/typescript-type-graphql.md similarity index 73% rename from website/docs/plugins/typescript-type-graphql.md rename to website/docs-templates/typescript-type-graphql.md index 0ca758f185c2..64e874c62a2f 100644 --- a/website/docs/plugins/typescript-type-graphql.md +++ b/website/docs-templates/typescript-type-graphql.md @@ -1,13 +1,12 @@ --- id: typescript-type-graphql -title: TypeScript TypeGraphQL --- This plugin is similar to the basic TypeScript plugin. However, this package generates types that can be used by TypeGraphQL to generate a GraphQL schema. This is especially useful if you are building a service that is a gateway to multiple downstream GraphQL services, or otherwise combining GraphQL schemas. In this case, this plugin can be used to re-expose types defined in downstream GraphQL services without redefining them as TypeGraphQL objects. This plugin should be compatible with other client-side plugins, such as typescript-operations. -Some differences with the the types generated by the basic TypeScript plugin: +Some differences with the types generated by the basic TypeScript plugin: - classes are generated instead of interfaces -- TypeGraphQL decorators like @ObjectType and @Field will be added +- TypeGraphQL decorators like `@ObjectType` and `@Field` will be added -{@import ../generated-config/typescript-type-graphql.md} +{@apiDocs} diff --git a/website/docs/plugins/typescript-urql.md b/website/docs-templates/typescript-urql.md similarity index 61% rename from website/docs/plugins/typescript-urql.md rename to website/docs-templates/typescript-urql.md index 08cf55339259..8424503f7c18 100644 --- a/website/docs/plugins/typescript-urql.md +++ b/website/docs-templates/typescript-urql.md @@ -1,11 +1,10 @@ --- id: typescript-urql -title: TypeScript Urql --- -{@import ../plugins/client-note.md} +{@operationsNote} -{@import ../generated-config/typescript-urql.md} +{@apiDocs} ## Usage Example @@ -30,16 +29,15 @@ query Test { We can use the generated code like this: ```tsx - - ... - + + ... + ``` Or if you prefer: ```tsx - const [ result ] = useTestQuery(...); +const [result] = useTestQuery(...) ``` ## Configuration - diff --git a/website/docs/plugins/typescript-vue-apollo-smart-ops.md b/website/docs-templates/typescript-vue-apollo-smart-ops.md similarity index 67% rename from website/docs/plugins/typescript-vue-apollo-smart-ops.md rename to website/docs-templates/typescript-vue-apollo-smart-ops.md index d8ba028477e6..5a38ad76a958 100644 --- a/website/docs/plugins/typescript-vue-apollo-smart-ops.md +++ b/website/docs-templates/typescript-vue-apollo-smart-ops.md @@ -1,17 +1,10 @@ --- id: typescript-vue-apollo-smart-ops -title: TypeScript Vue Apollo Smart Operations --- -{@import ../plugins/client-note.md} +{@operationsNote} -## Installation - -```bash - yarn add @graphql-codegen/typescript-vue-apollo-smart-ops vue-apollo-smart-ops -``` - -{@import ../generated-config/typescript-vue-apollo-smart-ops.md} +{@apiDocs} ## Examples @@ -44,23 +37,23 @@ We can use the generated code like this: diff --git a/website/docs/plugins/typescript-vue-apollo.md b/website/docs-templates/typescript-vue-apollo.md similarity index 74% rename from website/docs/plugins/typescript-vue-apollo.md rename to website/docs-templates/typescript-vue-apollo.md index b01fd64dbd4d..8df25d19f4ee 100644 --- a/website/docs/plugins/typescript-vue-apollo.md +++ b/website/docs-templates/typescript-vue-apollo.md @@ -1,20 +1,12 @@ --- id: typescript-vue-apollo -title: TypeScript Vue Apollo Composition API --- -{@import ../plugins/client-note.md} +{@operationsNote} -Instead of using this plugin, it is recommended that you use the [TypedDocumentNode plugin](../plugins/typed-document-node.md) together with the [Vue Apollo library](https://apollo.vuejs.org/). +Instead of using this plugin, it is recommended that you use the [TypedDocumentNode plugin](typed-document-node.md) together with the [Vue Apollo library](https://apollo.vuejs.org). -{@import ../generated-config/typescript-vue-apollo.md} - - -## Installation - -```bash - yarn add @graphql-codegen/typescript-vue-apollo @vue/apollo-composable @vue/composition-api -``` +{@apiDocs} ## Examples @@ -47,8 +39,8 @@ We can use the generated code like this: ``` - diff --git a/website/docs/plugins/typescript-vue-urql.md b/website/docs-templates/typescript-vue-urql.md similarity index 66% rename from website/docs/plugins/typescript-vue-urql.md rename to website/docs-templates/typescript-vue-urql.md index 30a93617bc82..faf71f47b61d 100644 --- a/website/docs/plugins/typescript-vue-urql.md +++ b/website/docs-templates/typescript-vue-urql.md @@ -1,11 +1,10 @@ --- id: typescript-vue-urql -title: TypeScript Vue Urql --- -{@import ../plugins/client-note.md} +{@operationsNote} -{@import ../generated-config/typescript-vue-urql.md} +{@apiDocs} ## Usage Example @@ -30,7 +29,7 @@ query Test { We can use the generated code like this: ```ts - const { data } = useTestQuery(...); +const { data } = useTestQuery(...) ``` ## Configuration diff --git a/website/docs-templates/typescript.md b/website/docs-templates/typescript.md new file mode 100644 index 000000000000..1a7a54f59185 --- /dev/null +++ b/website/docs-templates/typescript.md @@ -0,0 +1,5 @@ +--- +id: typescript +--- + +{@apiDocs} diff --git a/website/docs-templates/urql-introspection.md b/website/docs-templates/urql-introspection.md new file mode 100644 index 000000000000..db365bac9949 --- /dev/null +++ b/website/docs-templates/urql-introspection.md @@ -0,0 +1,15 @@ +--- +id: urql-introspection +--- + +{@apiDocs} + +## How to use? + +```ts +// generated by the plugin +import schema from './generated-introspection.json' +const cache = cacheExchange({ schema }) +``` + +> [Read more about Schema Awareness](https://formidable.com/open-source/urql/docs/graphcache/schema-awareness) diff --git a/website/docs/custom-codegen/contributing.md b/website/docs/custom-codegen/contributing.md index dcb742277d11..38ed6932068e 100644 --- a/website/docs/custom-codegen/contributing.md +++ b/website/docs/custom-codegen/contributing.md @@ -13,15 +13,15 @@ To be able to clone, build and develop codegen, you'll need to have the followin - [GitHub Account](https://github.com) - [Git](https://git-scm.com/downloads) -- [NodeJS](https://nodejs.org/en/) (v10/v12/v13) -- [Yarn](https://yarnpkg.com/) (v1) -- Any code editor (we recommend [VSCode](https://code.visualstudio.com/)) +- [NodeJS](https://nodejs.org/en) (v10/v12/v13) +- [Yarn](https://yarnpkg.com) (v1) +- Any code editor (we recommend [VSCode](https://code.visualstudio.com)) GraphQL Code Generator is using the following stack to manage the source code: -1. [TypeScript](https://www.typescriptlang.org/) - for writing the code +1. [TypeScript](https://typescriptlang.org) - for writing the code 2. [Bob](https://github.com/kamilkisiela/bob) - for building, bundling and development workflow -3. [Jest](https://jestjs.io/) - for running tests. +3. [Jest](https://jestjs.io) - for running tests. ## 2. Fork and Clone @@ -37,7 +37,9 @@ GraphQL Code Generator is built as a monorepo, using [Yarn Workspaces](https://c So now that you have a local copy of the project, start by installing the dependencies for all packages in the repo, by running the following in the root directory of the project: - yarn +```sh +yarn +``` > If you make changes, add libraries or new packages, make sure to install the dependencies again, but always from the root directory, otherwise you'll break the monorepo structure. @@ -45,8 +47,10 @@ So now that you have a local copy of the project, start by installing the depend To test the initial scripts and verify that you have a valid development environment, start by running the following scripts from the root directory: - yarn build - yarn test +```sh +yarn build +yarn test +``` The command above will make sure to build all common/core packages, and will make sure that all tests are passing. @@ -104,63 +108,67 @@ Make sure to follow the following instructions: Now that your plugin is configured, you need to make sure Yarn knows about it and links it to the monorepo, so run the following command again, in the root direcory: - yarn +```sh +yarn +``` ## 6. Create your plugin To create your new plugin, simply create `src/index.ts` in your plugin directory, and start with the following: ```ts -import { PluginFunction, Types } from '@graphql-codegen/plugin-helpers'; +import { PluginFunction, Types } from '@graphql-codegen/plugin-helpers' export type MyPluginConfig = { - name: string; -}; + name: string +} export const plugin: PluginFunction, MyPluginConfig> = ( schema: GraphQLSchema, documents: Types.DocumentFile[], config: TypeScriptDocumentsPluginConfig ) => { - return `Hello ${config.name || 'anonymous'}!`; -}; + return `Hello ${config.name || 'anonymous'}!` +} ``` > `schema` is the merged `GraphQLSchema` object, from all sources. this will always be available for plugin. -> `documents` is an array of GraphQL operations (query/mutatation/subscription/fragment). This is optional, and you can use it only if your plugin needs it. +> `documents` is an array of GraphQL operations (query/mutation/subscription/fragment). This is optional, and you can use it only if your plugin needs it. > `config` is the merged configuration passed in the `.yaml` configuration file of the codegen. -You can follow the plugin tips in [Write Your Plugin](write-your-plugin.md), [Validate Configuration](validate-configuration.md) and [Using Visitor](using-visitor.md) sections. +You can follow the plugin tips in [Write Your Plugin](./write-your-plugin), [Validate Configuration](./validate-configuration) and [Using Visitor](./using-visitor) sections. ## 7. Test your plugin To test your plugin, create a test file - `tests/plugin.spec.ts` with the following content; ```ts -import { plugin } from '../src'; +import { plugin } from '../src' describe('My Plugin', () => { const schema = buildSchema(/* GraphQL */ ` type Query { foo: String! } - `); + `) it('Should greet', async () => { const result = await plugin(schema, [], { - name: 'Dotan', - }); + name: 'Dotan' + }) - expect(result).toBe('Hello Dotan!'); - }); -}); + expect(result).toBe('Hello Dotan!') + }) +}) ``` Now, to make sure it works, run the following in your plugin directory: - yarn test +```sh +yarn test +``` ## 8. Integration @@ -177,13 +185,19 @@ In order to add it to the website, do the following: 1. Add JSDoc annotations to your config object, it can also include default value, examples and type: ````ts +// packages/plugins/my-plugin/config.ts + +/** + * My plugin is super cool!!! + */ export type MyPluginConfig = { /** * @name name * @description This allow you to generate a greeting with custom name * @default anonymous * - * @example Change the name + * @exampleMarkdown + * ## Change the name * ```yml * generates: * path/to/file.ts: @@ -193,40 +207,43 @@ export type MyPluginConfig = { * name: Uri * ``` */ - name: string; -}; + name: string +} ```` -Now, open `./website/generate-config.js` and add a record to the mapping in that file, point the file with the configuration annotation, and the output file: +Now, open `website/src/lib/plugins-docs.ts` and add a record to the `pluginsConfigurations` variable in that file, and point the file with the configuration annotation: -```js -const mapping = { - '../packages/plugins/my-plugin/src/index.ts': BASE_DIR + '/my-plugin.md', -}; +```ts +export const pluginsConfigurations: PluginConfig[] = [ + { + file: '../packages/plugins/my-plugin/config.ts', // file where the Config interface/type is located + identifier: 'MyPluginConfig', // name of the Config interface/type + name: 'my-plugin', // name if you plugin package + }, + // ... +]; ``` -Now, navigate to the `website` directory and run `yarn generate:config-docs` -this will take a minute, and it will generate the `.md` for all plugins. You should find your `my-plugin.md` file under `website/docs/generated-config` directory. +> Adding your plugin here will automatically include your plugin in the generated `config.schema.json` that provides VSCode auto-complete (try running `yarn generate-json-config` to see it in action), and will generate a markdown documentation automatically based on your TypeScript types. -Now, run `yarn start` to run the website. You markdown file is loaded, but it's not displayed yet, so let's create a new page for it first. +## 10. Website & Plugins Hub -Create `my-plugin.md` under `website/docs/plugins/` and add the following content to it, and include the generated configuration API reference: +To add your plugin to the website and [Plugin Hub](/plugins), add your plugin package information in `website/src/lib/plugins.ts`: -```md ---- -id: my-plugin -title: My Plugin ---- - -This is my new plugin. - -Add here some custom instructions, explainations, installation guide and more. - -{@import ../generated-config/my-plugin.md} +```ts +const PACKAGES: Package[] = [ + { + identifier: 'my-plugin', // package id, will be used for the url slug + title: 'my-plugin', // page title + npmPackage: '@graphql-codegen/my-plugin', // name of the npm package + iconUrl: '/assets/img/icons/codegen.svg', // you can specify a custom icon, or use codegen's + tags: ['plugin', 'utilities'], // add tags for the search engine + }, ``` -Your plugin page should be available in: `http://localhost:3000/docs/plugins/my-plugin` +Go ahead to `website` directory and run the website using `yarn dev`. -Now, just add it it to the website sidebar by updating `website/sidebar.js` file. +Your plugin page should be available in: `http://localhost:3000/plugins/my-plugin` ## 10. Add it to the live demo (optional) @@ -235,6 +252,4 @@ Our website has a live demo in the main page for most plugins, and you can add i To add a new example to the live demo, start by making sure that your plugin package is available for the website: 1. Edit `website/package.json` and add your plugin package under `dependencies`. -2. Edit `website/src/components/live-demo/plugins.js` and add a mapping for the name of your plugin and it's package. This is required in order to have lazy loading and dynamic imports in our website. - -Now, add your example under `website/src/components/live-demo/examples.js` - you can add a custom schema, documents and configuration. +1. Add your example under `website/src/components/live-demo/examples.ts` - you can add a custom schema, documents and configuration. diff --git a/website/docs/custom-codegen/extend-schema.md b/website/docs/custom-codegen/extend-schema.md index 03631b545872..20278fb6f5a6 100644 --- a/website/docs/custom-codegen/extend-schema.md +++ b/website/docs/custom-codegen/extend-schema.md @@ -8,16 +8,16 @@ Each plugin can also specify `addToSchema` field, and to extend the `GraphQLSche ```js module.exports = { plugin: (schema, documents, config) => { - const typesMap = schema.getTypeMap(); + const typesMap = schema.getTypeMap() - return Object.keys(typesMap).join('\n'); + return Object.keys(typesMap).join('\n') }, addToSchema: ` type MyType { field: String } directive @myDirective on OBJECT ` -}; +} ``` It's useful when you wish to add things like declarative `@directive` to your `GraphQLSchema`, that effects only the output of the codegen. @@ -27,23 +27,23 @@ For example, let's add a custom `@directive` that tells the codegen to ignore a ```js module.exports = { plugin: (schema, documents, config, info) => { - const typesMap = schema.getTypeMap(); + const typesMap = schema.getTypeMap() return Object.keys(typesMap) .filter(typeName => { - const type = typesMap[typeName]; - const astNode = type.astNode; + const type = typesMap[typeName] + const astNode = type.astNode if (astNode && astNode.directives && astNode.directives.find(d => d.name.value === 'ignore')) { - return false; + return false } - return true; + return true }) - .join('\n'); + .join('\n') }, addToSchema: ` directive @ignore on OBJECT ` -}; +} ``` diff --git a/website/docs/custom-codegen/using-visitor.md b/website/docs/custom-codegen/using-visitor.md index ea9a3cb3d193..a013c5fffda4 100644 --- a/website/docs/custom-codegen/using-visitor.md +++ b/website/docs/custom-codegen/using-visitor.md @@ -1,119 +1,119 @@ ---- -id: using-visitor -title: Visitor Pattern ---- - -Most of the codegen's plugins are written with a design-pattern called [Visitor](https://en.wikipedia.org/wiki/Visitor_pattern). GraphQL has an internal mechanism for "visiting" a GraphQLSchema and GraphQL operations, and you can use it to transform your GraphQL definitions into a custom output. - -With visitor pattern you can call a custom function on each AST node, and transform it into something else. - -You can use [ASTExplorer](https://astexplorer.net/) and see how does GraphQL represents it's definitions in a JSON structure, and you can also use this to understand which function will be called each time. - -In [graphql.org](https://graphql.org/graphql-js/language/#visit) you can find the exact API documentation we are going to use in this section. - -## Basic Visitor - -In this example, we will transform a basic type definition into a list of types and fields: - -From: - -```graphql -type MyType { - myField: String! -} - -type MyOtherType { - myOtherField: Int! -} -``` - -To - -``` -MyType.myField -MyOtherType.myOtherField -``` - -To get started with a basic visitor, start by extracting the `astNode` of your `GraphQLSchema`: - -```javascript -const { getCachedDocumentNodeFromSchema } = require('@graphql-codegen/plugin-helpers'); - -module.exports = { - plugin: (schema, documents, config) => { - const astNode = getCachedDocumentNodeFromSchema(schema); // Transforms the GraphQLSchema into ASTNode - }, -}; -``` - -Then, create your initial visitor, in our case, we would like to transform a `FieldDefinition` and `ObjectTypeDefinition`, so let's create an object with a stub definitions, an use `visit` to run it: - -```javascript -const { getCachedDocumentNodeFromSchema } = require('@graphql-codegen/plugin-helpers'); -const { visit } = require('graphql'); - -module.exports = { - plugin: (schema, documents, config) => { - const astNode = getCachedDocumentNodeFromSchema(schema); // Transforms the GraphQLSchema into ASTNode - const visitor = { - FieldDefinition: node => { - // This function triggered per each field - }, - ObjectTypeDefinition: node => { - // This function triggered per each type - }, - }; - - const result = visit(astNode, { leave: visitor }); - - return result.definitions.join('\n'); - }, -}; -``` - -Now, let's implement `ObjectTypeDefinition` and `FieldDefinition`: - -```javascript -const { getCachedDocumentNodeFromSchema } = require('@graphql-codegen/plugin-helpers'); -const { visit } = require('graphql'); - -module.exports = { - plugin: (schema, documents, config) => { - const astNode = getCachedDocumentNodeFromSchema(schema); // Transforms the GraphQLSchema into ASTNode - const visitor = { - FieldDefinition: node => { - // Transform the field AST node into a string, containing only the name of the field - return node.name.value; - }, - ObjectTypeDefinition: node => { - // "node.fields" is an array of strings, because we transformed it using "FieldDefinition". - return node.fields.map(field => `${node.name.value}.${field}`).join('\n'); - }, - }; - - const result = visit(astNode, { leave: visitor }); - - return result.definitions.join('\n'); - }, -}; -``` - -## Codegen and Visitors - -This repository also contains a set of utils that might help you to write plugins faster using visitor pattern. - -All those utils are part of `@graphql-codegen/visitor-plugin-common` package. - -It includes set of Visitor classes that you can use and extend, to implement your plugin easily: - -- `BaseVisitor` is a class that contains a very basic implementation and utils for plugin configuration, and let you easily implement plugins that compatiable with `namingConvention` and `scalars` configuration. [Here you can find an example for using it](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/mongodb/src/visitor.ts#L38). - -- `BaseTypesVisitor` is a class that contains implementation for converting types, interfaces, unions, enums and fields. It's the base implementation for [`flow`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/flow/flow/src/visitor.ts#L12) and [`typescript`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/typescript/src/visitor.ts#L18) plugins. - -- `BaseResolversVisitor` is a class that contains implementation for generating a resolvers signature, it's the base implementation for [`flow-resolvers`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/flow/resolvers/src/visitor.ts#L10) and [`typescript-resolvers`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/resolvers/src/visitor.ts#L13) - -- `BaseDocumentsVisitor` is class that contains implementation for transforming GraphQL operations (query/mutation/subscription/fragment) with a resursive handler for selection-sets. It's the base implementation for [`flow-operations`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/flow/operations/src/visitor.ts#L14) and [`typescript-operations`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/operations/src/visitor.ts#L15) - -- `ClientSideBaseVisitor` is a class that contains implementation for creating client-side code for consuming GraphQL operations, it's in use by `typescript-apollo-angular`, `typescript-react-apollo`, `typescript-vue-apollo` and `typescript-apollo-stencil` plugins. - -You can use the above classes as base, and extend it as you wish, to create a custom plugin. +--- +id: using-visitor +title: Visitor Pattern +--- + +Most of the codegen's plugins are written with a design-pattern called [Visitor](https://en.wikipedia.org/wiki/Visitor_pattern). GraphQL has an internal mechanism for "visiting" a GraphQLSchema and GraphQL operations, and you can use it to transform your GraphQL definitions into a custom output. + +With visitor pattern you can call a custom function on each AST node, and transform it into something else. + +You can use [ASTExplorer](https://astexplorer.net/) and see how does GraphQL represents it's definitions in a JSON structure, and you can also use this to understand which function will be called each time. + +In [graphql.org](https://graphql.org/graphql-js/language/#visit) you can find the exact API documentation we are going to use in this section. + +## Basic Visitor + +In this example, we will transform a basic type definition into a list of types and fields: + +From: + +```graphql +type MyType { + myField: String! +} + +type MyOtherType { + myOtherField: Int! +} +``` + +To + +``` +MyType.myField +MyOtherType.myOtherField +``` + +To get started with a basic visitor, start by extracting the `astNode` of your `GraphQLSchema`: + +```js +const { getCachedDocumentNodeFromSchema } = require('@graphql-codegen/plugin-helpers') + +module.exports = { + plugin(schema, documents, config) { + const astNode = getCachedDocumentNodeFromSchema(schema) // Transforms the GraphQLSchema into ASTNode + } +} +``` + +Then, create your initial visitor, in our case, we would like to transform a `FieldDefinition` and `ObjectTypeDefinition`, so let's create an object with a stub definitions, an use `visit` to run it: + +```js +const { getCachedDocumentNodeFromSchema } = require('@graphql-codegen/plugin-helpers') +const { visit } = require('graphql') + +module.exports = { + plugin: (schema, documents, config) => { + const astNode = getCachedDocumentNodeFromSchema(schema) // Transforms the GraphQLSchema into ASTNode + const visitor = { + FieldDefinition(node) { + // This function triggered per each field + }, + ObjectTypeDefinition(node) { + // This function triggered per each type + } + } + + const result = visit(astNode, { leave: visitor }) + + return result.definitions.join('\n') + } +} +``` + +Now, let's implement `ObjectTypeDefinition` and `FieldDefinition`: + +```js +const { getCachedDocumentNodeFromSchema } = require('@graphql-codegen/plugin-helpers') +const { visit } = require('graphql') + +module.exports = { + plugin: (schema, documents, config) => { + const astNode = getCachedDocumentNodeFromSchema(schema) // Transforms the GraphQLSchema into ASTNode + const visitor = { + FieldDefinition(node) { + // Transform the field AST node into a string, containing only the name of the field + return node.name.value + }, + ObjectTypeDefinition(node) { + // "node.fields" is an array of strings, because we transformed it using "FieldDefinition". + return node.fields.map(field => `${node.name.value}.${field}`).join('\n') + } + } + + const result = visit(astNode, { leave: visitor }) + + return result.definitions.join('\n') + } +} +``` + +## Codegen and Visitors + +This repository also contains a set of utils that might help you to write plugins faster using visitor pattern. + +All those utils are part of `@graphql-codegen/visitor-plugin-common` package. + +It includes set of Visitor classes that you can use and extend, to implement your plugin easily: + +- `BaseVisitor` is a class that contains a very basic implementation and utils for plugin configuration, and let you easily implement plugins that compatiable with `namingConvention` and `scalars` configuration. [Here you can find an example for using it](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/mongodb/src/visitor.ts#L38). + +- `BaseTypesVisitor` is a class that contains implementation for converting types, interfaces, unions, enums and fields. It's the base implementation for [`flow`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/flow/flow/src/visitor.ts#L12) and [`typescript`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/typescript/src/visitor.ts#L18) plugins. + +- `BaseResolversVisitor` is a class that contains implementation for generating a resolvers signature, it's the base implementation for [`flow-resolvers`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/flow/resolvers/src/visitor.ts#L10) and [`typescript-resolvers`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/resolvers/src/visitor.ts#L13) + +- `BaseDocumentsVisitor` is class that contains implementation for transforming GraphQL operations (query/mutation/subscription/fragment) with a resursive handler for selection-sets. It's the base implementation for [`flow-operations`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/flow/operations/src/visitor.ts#L14) and [`typescript-operations`](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/operations/src/visitor.ts#L15) + +- `ClientSideBaseVisitor` is a class that contains implementation for creating client-side code for consuming GraphQL operations, it's in use by `typescript-apollo-angular`, `typescript-react-apollo`, `typescript-vue-apollo` and `typescript-apollo-stencil` plugins. + +You can use the above classes as base, and extend it as you wish, to create a custom plugin. diff --git a/website/docs/custom-codegen/validate-configuration.md b/website/docs/custom-codegen/validate-configuration.md index bee355f3b4a7..43f16acd8b16 100644 --- a/website/docs/custom-codegen/validate-configuration.md +++ b/website/docs/custom-codegen/validate-configuration.md @@ -11,13 +11,13 @@ To add your plugin validation method, export a function called `validate` from y ```js module.exports = { - plugin: (schema, documents, config, info) => { - const typesMap = schema.getTypeMap(); + plugin(schema, documents, config, info) { + const typesMap = schema.getTypeMap() - return Object.keys(typesMap).join('\n'); + return Object.keys(typesMap).join('\n') }, validate: (schema, documents, config, outputFile, allPlugins) => {} -}; +} ``` > `outputFile` is the name of the output file, and you can use it to enforce specific filename of specific file extension. @@ -28,15 +28,15 @@ You can now check the schema, documents, configuration, output file and sibling ```js module.exports = { - plugin: (schema, documents, config, info) => { - const typesMap = schema.getTypeMap(); + plugin(schema, documents, config, info) { + const typesMap = schema.getTypeMap() - return Object.keys(typesMap).join('\n'); + return Object.keys(typesMap).join('\n') }, - validate: (schema, documents, config, outputFile, allPlugins) => { + validate(schema, documents, config, outputFile, allPlugins) { if (!config.mustHave) { - throw new Error(`You must specify "mustHave" in my plugin configuration!`); + throw new Error(`You must specify "mustHave" in my plugin configuration!`) } } -}; +} ``` diff --git a/website/docs/custom-codegen/write-your-plugin.md b/website/docs/custom-codegen/write-your-plugin.md index 7829dc01faed..c9d14dd02f7e 100644 --- a/website/docs/custom-codegen/write-your-plugin.md +++ b/website/docs/custom-codegen/write-your-plugin.md @@ -9,10 +9,10 @@ To get started with writing your GraphQL Code-Generator plugin, start by creatin ```js module.exports = { - plugin: (schema, documents, config) => { - return 'Hi!'; - }, -}; + plugin(schema, documents, config) { + return 'Hi!' + } +} ``` The exported object should match the [`CodegenPlugin`](https://github.com/dotansimha/graphql-code-generator/blob/e3af1dbc80a998444a1d1b353f127f297c6a09d0/packages/utils/plugins-helpers/src/types.ts#L552) interface. @@ -39,12 +39,12 @@ So let's use a very basic method from `GraphQLSchema`, and return a list of all ```js module.exports = { - plugin: (schema, documents, config, info) => { - const typesMap = schema.getTypeMap(); + plugin(schema, documents, config, info) { + const typesMap = schema.getTypeMap() - return Object.keys(typesMap).join('\n'); - }, -}; + return Object.keys(typesMap).join('\n') + } +} ``` ## Using the documents @@ -59,16 +59,16 @@ Let's print a list of all documents files, and the name of operations in this fi ```js module.exports = { - plugin: (schema, documents, config, info) => { + plugin(schema, documents, config, info) { return documents .map(doc => { - const docsNames = doc.document.definitions.map(def => def.name.value); + const docsNames = doc.document.definitions.map(def => def.name.value) - return `File ${doc.location} contains: ${docsNames.join(', ')}`; + return `File ${doc.location} contains: ${docsNames.join(', ')}` }) - .join('\n'); - }, -}; + .join('\n') + } +} ``` ## Add plugin configuration @@ -92,18 +92,18 @@ And then, you can use in your plugin: ```js module.exports = { - plugin: (schema, documents, config, info) => { + plugin(schema, documents, config, info) { if (extname(info.outputFile) === '.graphql') { - return 'baz'; + return 'baz' } if (config.myConfig === 'some-value') { - return 'foo'; + return 'foo' } else { - return 'bar'; + return 'bar' } - }, -}; + } +} ``` ## Packing your Plugin diff --git a/website/docs/generated-config/typescript-vue-apollo-smart-ops.md b/website/docs/generated-config/typescript-vue-apollo-smart-ops.md deleted file mode 100644 index 000fd6193fcc..000000000000 --- a/website/docs/generated-config/typescript-vue-apollo-smart-ops.md +++ /dev/null @@ -1,545 +0,0 @@ -This plugin generates Vue Apollo Smart Query, Smart Subscription and mutation operation functions with -TypeScript typings. - -This plugin relies on some helper functions and types from the `vue-apollo-smart-ops` package. That package also adds -some optional functionality for improved error handling in Vue Apollo operations which can be configured in the -generated code from this plugin. - -It extends the basic TypeScript plugins: `@graphql-codegen/typescript`, `@graphql-codegen/typescript-operations` - -and thus shares a similar configuration. - -## Installation - - - -typescript-vue-apollo-smart-ops plugin version - - - -:::shell Using `yarn` - yarn add -D @graphql-codegen/typescript-vue-apollo-smart-ops -::: - -## API Reference - -### `withSmartOperationFunctions` - -type: `boolean` -default: `true` - -Customize the output by enabling/disabling the generated Vue Apollo Smart Operations functions. - -#### Usage Examples - -```yml -generates: -path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-vue-apollo-smart-ops - config: - withSmartOperationFunctions: true -``` - -### `vueApolloOperationFunctionsImportFrom` - -type: `string` -default: `vue-apollo-smart-ops` - -The `typescript-vue-apollo-smart-ops` plugin requires three functions that are used to define your -query, subscription and mutation operation functions: - - `createMutationFunction` - - `createSmartQueryOptionsFunction` - - `createSmartSubscriptionOptionsFunction` -By default these functions are provided by the `vue-apollo-smart-ops` package, but you can substitute -your own import path if you want to replace them with other implementations. - -#### Usage Examples - -```yml -generates: -path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-vue-apollo-smart-ops - config: - vueApolloOperationFunctionsImportFrom: vue-apollo-smart-ops -``` - -### `vueApolloErrorType` - -type: `string` -default: `ApolloError` - -The operation functions generated by `typescript-vue-apollo-smart-ops` include some functionality for -error handling. This configuration parameter allows you to customise the name of the error type that -will be used. The default is to use `ApolloError` from the `apollo-client` package. - -#### Usage Examples - -```yml -generates: -path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-vue-apollo-smart-ops - config: - vueApolloErrorType: ApolloError - vueApolloErrorTypeImportFrom: apollo-client -``` - -### `vueApolloErrorTypeImportFrom` - -type: `string` -default: `vue-apollo-smart-ops` - -The operation functions generated by `typescript-vue-apollo-smart-ops` include some functionality for -error handling. This configuration parameter allows you to customise the package where the error type -will be imported from. The default is to use `ApolloError` from the `apollo-client` package. - -#### Usage Examples - -```yml -generates: -path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-vue-apollo-smart-ops - config: - vueApolloErrorType: ApolloError - vueApolloErrorTypeImportFrom: apollo-client -``` - -### `vueApolloErrorHandlerFunction` - -type: `string` -default: `undefined` - -The operation functions generated by `typescript-vue-apollo-smart-ops` include some functionality for -error handling. You may supply an error handler function that will be called when an error occurs in -a query, subscription or mutation operation. This function should implement the -`ApolloOperationErrorHandlerFunction` interface from `vue-apollo-smart-ops` package. You can -have a custom handler in your app that shows a notification to the user, for example. If unspecified, -this functionality will be disabled and errors handled (or not) by Vue Apollo in the normal way. - -#### Usage Examples - -```yml -generates: -path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-vue-apollo-smart-ops - config: - vueApolloErrorHandlerFunction: handleApolloError - vueApolloErrorHandlerFunctionImportFrom: ./src/handleApolloError.ts -``` - -### `vueApolloErrorHandlerFunctionImportFrom` - -type: `string` -default: `undefined` - -The import path where `vueApolloErrorHandlerFunction` should be imported from. Can be a package name -or a local file path (anything that works in an import statement). - -#### Usage Examples - -```yml -generates: -path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-vue-apollo-smart-ops - config: - vueApolloErrorHandlerFunction: handleApolloError - vueApolloErrorHandlerFunctionImportFrom: ./src/handleApolloError.ts -``` - -### `vueAppType` - -type: `string` -default: `undefined` - -The operation functions generated by `typescript-vue-apollo-smart-ops` include some functionality for -error handling. When an error occurs, the Vue app instance is passed to the error handler. You can -customise the expected type of the app object. For example, a Nuxt.js app might use `NuxtApp` from -`@nuxt/types/app` instead. When unspecified, the default type is `Vue` from `vue/types/vue`. - -#### Usage Examples - -```yml -generates: -path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-vue-apollo-smart-ops - config: - vueAppType: Vue - vueAppTypeImportFrom: vue/types/vue -``` - -### `vueAppTypeImportFrom` - -type: `string` -default: `undefined` - -The import path where `vueAppType` should be imported from. Can be a package name or a local file path -(anything that works in an import statement). - -#### Usage Examples - -```yml -generates: -path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-vue-apollo-smart-ops - config: - vueAppType: Vue - vueAppTypeImportFrom: vue/types/vue -``` - -### `addDocBlocks` - -type: `boolean` -default: `true` - -Allows you to enable/disable the generation of docblocks in generated code. -Some IDE's (like VSCode) add extra inline information with docblocks, you can disable this feature if -your preferred IDE does not. - -#### Usage Examples - -```yml -generates: -path/to/file.ts: - plugins: - - typescript - - typescript-operations - - typescript-vue-apollo-smart-ops - config: - addDocBlocks: true -``` - -### `noGraphQLTag` - -type: `boolean` -default: `false` - -Deprecated. Changes the documentMode to `documentNode`. - - -### `gqlImport` - -type: `string` -default: `graphql-tag#gql` - -Customize from which module will `gql` be imported from. -This is useful if you want to use modules other than `graphql-tag`, e.g. `graphql.macro`. - -#### Usage Examples - -##### graphql.macro -```yml -config: - gqlImport: graphql.macro#gql -``` - -##### Gatsby -```yml -config: - gqlImport: gatsby#graphql -``` - -### `documentNodeImport` - -type: `string` -default: `graphql#DocumentNode` - -Customize from which module will `DocumentNode` be imported from. -This is useful if you want to use modules other than `graphql`, e.g. `@graphql-typed-document-node`. - - -### `noExport` - -type: `boolean` -default: `false` - -Set this configuration to `true` if you wish to tell codegen to generate code with no `export` identifier. - - -### `dedupeOperationSuffix` - -type: `boolean` -default: `false` - -Set this configuration to `true` if you wish to make sure to remove duplicate operation name suffix. - - -### `omitOperationSuffix` - -type: `boolean` -default: `false` - -Set this configuration to `true` if you wish to disable auto add suffix of operation name, like `Query`, `Mutation`, `Subscription`, `Fragment`. - - -### `operationResultSuffix` - -type: `string` -default: `` - -Adds a suffix to generated operation result type names - - -### `documentVariablePrefix` - -type: `string` -default: `` - -Changes the GraphQL operations variables prefix. - - -### `documentVariableSuffix` - -type: `string` -default: `Document` - -Changes the GraphQL operations variables suffix. - - -### `fragmentVariablePrefix` - -type: `string` -default: `` - -Changes the GraphQL fragments variables prefix. - - -### `fragmentVariableSuffix` - -type: `string` -default: `FragmentDoc` - -Changes the GraphQL fragments variables suffix. - - -### `documentMode` - -type: `DocumentMode` -default: `graphQLTag` - -Declares how DocumentNode are created: -- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client -- `documentNode`: document nodes will be generated as objects when we generate the templates. -- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them. -- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom` - -Note that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter. - - -### `optimizeDocumentNode` - -type: `boolean` -default: `true` - -If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document. -This will remove all "loc" and "description" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`). - - -### `importOperationTypesFrom` - -type: `string` -default: `` - -This config is used internally by presets, but you can use it manually to tell codegen to prefix all base types that it's using. -This is useful if you wish to generate base types from `typescript-operations` plugin into a different file, and import it from there. - - -### `importDocumentNodeExternallyFrom` - -type: `string` -default: `` - -This config should be used if `documentMode` is `external`. This has 2 usage: -- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document -- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader. - -#### Usage Examples - -```yml -config: - documentMode: external - importDocumentNodeExternallyFrom: path/to/document-node-file -``` - -```yml -config: - documentMode: external - importDocumentNodeExternallyFrom: near-operation-file -``` - -### `pureMagicComment` - -type: `boolean` -default: `false` - -This config adds PURE magic comment to the static variables to enforce treeshaking for your bundler. - - -### `experimentalFragmentVariables` - -type: `boolean` -default: `false` - -If set to true, it will enable support for parsing variables on fragments. - - -### `strictScalars` - -type: `boolean` -default: `false` - -Makes scalars strict. - -If scalars are found in the schema that are not defined in `scalars` -an error will be thrown during codegen. - -#### Usage Examples - -```yml -config: - strictScalars: true -``` - -### `defaultScalarType` - -type: `string` -default: `any` - -Allows you to override the type that unknown scalars will have. - -#### Usage Examples - -```yml -config: - defaultScalarType: unknown -``` - -### `scalars` - -type: `ScalarsMap` - -Extends or overrides the built-in scalars and custom GraphQL scalars to a custom type. - - -### `namingConvention` - -type: `NamingConvention` -default: `change-case-all#pascalCase` - -Allow you to override the naming convention of the output. -You can either override all namings, or specify an object with specific custom naming convention per output. -The format of the converter must be a valid `module#method`. -Allowed values for specific output are: `typeNames`, `enumValues`. -You can also use "keep" to keep all GraphQL names as-is. -Additionally you can set `transformUnderscore` to `true` if you want to override the default behavior, -which is to preserves underscores. - -Available case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst` -[See more](https://github.com/btxtiger/change-case-all) - - -### `typesPrefix` - -type: `string` -default: `` - -Prefixes all the generated types. - -#### Usage Examples - -```yml -config: - typesPrefix: I -``` - -### `typesSuffix` - -type: `string` -default: `` - -Suffixes all the generated types. - -#### Usage Examples - -```yml -config: - typesSuffix: I -``` - -### `skipTypename` - -type: `boolean` -default: `false` - -Does not add __typename to the generated types, unless it was specified in the selection set. - -#### Usage Examples - -```yml -config: - skipTypename: true -``` - -### `nonOptionalTypename` - -type: `boolean` -default: `false` - -Automatically adds `__typename` field to the generated types, even when they are not specified -in the selection set, and makes it non-optional - -#### Usage Examples - -```yml -config: - nonOptionalTypename: true -``` - -### `useTypeImports` - -type: `boolean` -default: `false` - -Will use `import type {}` rather than `import {}` when importing only types. This gives -compatibility with TypeScript's "importsNotUsedAsValues": "error" option - - -### `dedupeFragments` - -type: `boolean` -default: `false` - -Removes fragment duplicates for reducing data transfer. -It is done by removing sub-fragments imports from fragment definition -Instead - all of them are imported to the Operation node. - - -### `inlineFragmentTypes` - -type: `InlineFragmentTypeOptions` -default: `inline` - -Whether fragment types should be inlined into other operations. -"inline" is the default behavior and will perform deep inlining fragment types within operation type definitions. -"combine" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types). diff --git a/website/docs/getting-started/codegen-config.md b/website/docs/getting-started/config-reference/codegen-config.md similarity index 63% rename from website/docs/getting-started/codegen-config.md rename to website/docs/getting-started/config-reference/codegen-config.md index b7f49f37c525..a5852d154f4d 100644 --- a/website/docs/getting-started/codegen-config.md +++ b/website/docs/getting-started/config-reference/codegen-config.md @@ -9,12 +9,14 @@ To pass configuration to GraphQL Codegen, you need to simply create a `codegen.y The CLI will automatically detect the defined config file and will generate code accordingly. In addition, you can also define a path to your config file with the `--config` options, like so: + :::shell With `yarn` -yarn graphql-codegen --config ./path/to/config.yml + yarn graphql-codegen --config ./path/to/config.yml ::: + :::shell With `npm` -npx graphql-codegen --config ./path/to/config.yml + npx graphql-codegen --config ./path/to/config.yml ::: Here's an example for a possible config file: @@ -29,39 +31,37 @@ generates: - typescript-operations ``` -An example for a very large config file can be seen [here](https://github.com/dotansimha/graphql-code-generator/blob/master/dev-test/codegen.yml). +If you are looking for a reference file, an example for a [large configuration file can be seen here](https://github.com/dotansimha/graphql-code-generator/blob/master/dev-test/codegen.yml). :::tip YAML Config Validation & auto-complete - If you are using VSCode as your IDE, make sure to [install the YAML plugin](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml), this will add validation and auto-complete for available plugins, plugins config and general structure of the `codegen.yml` file! - ::: ## Available Options Here are the supported options that you can define in the config file (see [source code](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/utils/plugins-helpers/src/types.ts#L92)): -- [**`schema` (required)**](schema-field.md#root-level) - A URL to your GraphQL endpoint, a local path to `.graphql` file, a glob pattern to your GraphQL schema files, or a JavaScript file that exports the schema to generate code from. This can also be an array which specifies multiple schemas to generate code from. You can read more about the supported formats [here](schema-field.md#available-formats). +- [**`schema` (required)**](./schema-field#root-level) - A URL to your GraphQL endpoint, a local path to `.graphql` file, a glob pattern to your GraphQL schema files, or a JavaScript file that exports the schema to generate code from. This can also be an array which specifies multiple schemas to generate code from. You can read more about the supported formats [here](./schema-field#available-formats). -- [**`documents`**](documents-field.md#root-level) - Array of paths or glob patterns for files which export GraphQL documents using a `gql` tag or a plain string; for example: `./src/**/*.graphql`. You can also provide this options with a string instead of an array, in case you're dealing with a single document. You can read more about the supported formats [here](documents-field.md#available-formats). +- [**`documents`**](./documents-field#root-level) - Array of paths or glob patterns for files which export GraphQL documents using a `gql` tag or a plain string; for example: `./src/**/*.graphql`. You can also provide this options with a string instead of an array, in case you're dealing with a single document. You can read more about the supported formats [here](./documents-field#available-formats). - **`generates` (required)** - A map where the key represents an output path for the generated code and the value represents a set of options which are relevant for that specific file. Below are the possible options that can be specified: - - **`generates.plugins` (required)** - A list of plugins to use when generating the file. Templates are also considered as plugins and they can be specified in this section. A full list of supported plugins can be found [here](../plugins/index.md). You can also point to a custom plugin in a local file (see [Custom Plugins](../custom-codegen/index.md)). + - **`generates.plugins` (required)** - A list of plugins to use when generating the file. Templates are also considered as plugins, and they can be specified in this section. A full list of supported plugins can be found [here](/plugins). You can also point to a custom plugin in a local file (see [Custom Plugins](docs/custom-codegen)). - - [**`generates.preset`**](../presets/index.md) - A list of available presets for generated files. Such as [`near-operation-file`](../presets/near-operation-file.md#example), which generates files alongside your documents. + - **`generates.preset`** - A list of presets to use for the output. Presets are a way to dynamically create the list of output files, based on the input schema. [`near-operation-file-preset`](/plugins/near-operation-file-preset) is a good example. - - [**`generates.schema`**](schema-field.md#output-file-level) - Same as root `schema`, but applies only for the specific output file. + - [**`generates.schema`**](./schema-field#output-file-level) - Same as root `schema`, but applies only for the specific output file. - - [**`generates.documents`**](documents-field.md#output-file-level) - Same as root `documents`, but applies only for the specific output file. + - [**`generates.documents`**](./documents-field#output-file-level) - Same as root `documents`, but applies only for the specific output file. - - [**`generates.config`**](config-field.md#output-level) - Same as root `config`, but applies only for the specific output file. + - [**`generates.config`**](./config-field#output-level) - Same as root `config`, but applies only for the specific output file. - **`generates.overwrite`** - Same as root `overwrite`, but applies only for the specific output file. -- [**`require`**](require-field.md) - A path to a file which defines custom Node.JS `require()` handlers for custom file extensions. This is essential if the code generator has to go through files which require other files in an unsupported format (by default). See [more information](https://gist.github.com/jamestalmage/df922691475cff66c7e6). Note that values that specified in your `.yml` file will get loaded after loading the `.yml` file. +- [**`require`**](./require-field) - A path to a file which defines custom Node.JS `require()` handlers for custom file extensions. This is essential if the code generator has to go through files which require other files in an unsupported format (by default). See [more information](https://gist.github.com/jamestalmage/df922691475cff66c7e6). Note that values that specified in your `.yml` file will get loaded after loading the `.yml` file. -- [**`config`**](config-field.md#root-level) - Options that we would like to provide to the specified plugins. The options may vary depends on what plugins you specified. Read the documentation of that specific plugin for more information. You can read more about how to pass configuration to plugins [here](config-field.md). +- [**`config`**](./config-field#root-level) - Options that we would like to provide to the specified plugins. The options may vary depends on what plugins you specified. Read the documentation of that specific plugin for more information. You can read more about how to pass configuration to plugins [here](./config-field). - **`overwrite`** - A flag to overwrite files if they already exist when generating code (`true` by default). @@ -71,13 +71,13 @@ Here are the supported options that you can define in the config file (see [sour - **`errorsOnly`** - A flag to suppress printing anything except errors. -- **`hooks`** - Specifies scripts to run when events are happening in the codegen's core. You can read more about lifecycle hooks [here](lifecycle-hooks.md). You can specify this on your root configuration or on each output. +- **`hooks`** - Specifies scripts to run when events are happening in the codegen's core. You can read more about lifecycle hooks [here](./lifecycle-hooks). You can specify this on your root configuration or on each output. - **`pluginLoader`** - If you are using the programmatic API in a browser environment, you can override this configuration to load your plugins in a way different than `require`. - **`pluckConfig`** - Allows you to override the configuration for `graphql-tag-pluck`, the tool that extracts your GraphQL operations from your code files. - - **`pluckConfig.modules`** - An array of `{ name: string, identifier: string }` that will be used to track down your `gql` usages and imports. Use this if your code files imports `gql` from another library or you have a custom `gql` tag. `identifier` is the named export, so don't provide it if the tag function is imported as default. + - **`pluckConfig.modules`** - An array of `{ name: string, identifier: string }` that will be used to track down your `gql` usages and imports. Use this if your code files imports `gql` from another library, or you have a custom `gql` tag. `identifier` is the named export, so don't provide it if the tag function is imported as default. - **`pluckConfig.gqlMagicComment`** - Configures the magic GraphQL comments to look for. The default is `/* GraphQL */`). @@ -87,13 +87,13 @@ Here are the supported options that you can define in the config file (see [sour - **`skipDocumentsValidation.skipValidationAgainstSchema`** - A flag to disable the validation against the schema - - **`skipDocumentsValidation.ignoreRules`** - An array of rule names to ignore during the validation. You can find a list of the available rules [here](https://github.com/graphql/graphql-js/tree/main/src/validation/rules. + - **`skipDocumentsValidation.ignoreRules`** - An array of rule names to ignore during the validation. You can find a list of the available rules [here](https://github.com/graphql/graphql-js/tree/main/src/validation/rules). - **`skipDocumentsValidation.skipDuplicateValidation`** - A flag to disable the validation for duplicate documents ## Environment Variables -You can use environment variables in your `codegen.yml` file:: +You can use environment variables in your `codegen.yml` file: ```yml schema: ${SCHEMA_PATH} @@ -143,4 +143,4 @@ That means, you can use `codegen.yml`, but also `codegen.json` or `codegen.js` w For more information, [please refer to `cosmiconfig` documentation](https://github.com/davidtheclark/cosmiconfig#cosmiconfig). -GraphQL-Codgen is also integratable with [GraphQL-Config](https://graphql-config.com/), so you can specify `.graphqlrc` as your configuration file. +GraphQL-Codegen is also integrable with [GraphQL-Config](https://graphql-config.com), so you can specify `.graphqlrc` as your configuration file. diff --git a/website/docs/getting-started/config-field.md b/website/docs/getting-started/config-reference/config-field.md similarity index 97% rename from website/docs/getting-started/config-field.md rename to website/docs/getting-started/config-reference/config-field.md index 5f35e3e05c2f..1099ebd9e2e0 100644 --- a/website/docs/getting-started/config-field.md +++ b/website/docs/getting-started/config-reference/config-field.md @@ -1,6 +1,6 @@ --- id: config-field -title: "`config` field" +title: '`config` field' --- The `config` field is used to pass configuration to Plugins. You can specify it in multiple levels of your `.yml` file. diff --git a/website/docs/getting-started/documents-field.md b/website/docs/getting-started/config-reference/documents-field.md similarity index 90% rename from website/docs/getting-started/documents-field.md rename to website/docs/getting-started/config-reference/documents-field.md index d5a793cfcefd..d0b6cf485de0 100644 --- a/website/docs/getting-started/documents-field.md +++ b/website/docs/getting-started/config-reference/documents-field.md @@ -1,6 +1,6 @@ --- id: documents-field -title: "`documents` field" +title: '`documents` field' --- The `documents` field should point to your GraphQL documents: `query`, `mutation`, `subscription` and `fragment`. @@ -47,7 +47,7 @@ You can tell it to find documents in TypeScript files: ```yml schema: http://server1.com/graphql -documents: "src/**/!(*.d).{ts,tsx}" +documents: 'src/**/!(*.d).{ts,tsx}' ``` ## Available Formats @@ -131,10 +131,9 @@ GraphQL Code Generator uses `graphql-tag-pluck` internally to extract GraphQL do If you are pointing to a code file (such as `.js` or `.jsx`), GraphQL will try to look for usages of `gql` tag, or string literals that are using magic GraphQL comment (`/* GraphQL */`), for example: - ```jsx -import React from 'react'; -import { gql } from 'graphql-tag'; +import React from 'react' +import { gql } from 'graphql-tag' // This will work const MY_QUERY = gql` @@ -143,16 +142,16 @@ const MY_QUERY = gql` id } } -`; +` // This will also work -const MY_QUERY = /* GraphQL */` +const MY_QUERY = /* GraphQL */ ` query myQuery { getSomething { id } } -`; +` // ... some components code ... ``` @@ -178,7 +177,7 @@ pluckConfig: - myCustomGlobalGqlTag ``` -And you can customize the magic GraphQL commend by doing: +And you can customize the magic GraphQL comment by doing: ```yaml pluckConfig: @@ -191,19 +190,19 @@ If your schema has a different or complicated way of loading, you can specify a ```yml documents: - - "**/*.graphql": - loader: my-documents-loader.js + - '**/*.graphql': + loader: my-documents-loader.js ``` Your custom loader should export a default function that returns a `DocumentNode`. For example: ```js -const { parse } = require('graphql'); -const { readFileSync } = require('fs'); +const { parse } = require('graphql') +const { readFileSync } = require('fs') -module.exports = function(docString, config) { - return parse(readFileSync(docString, { encoding: 'utf-8' })); -}; +module.exports = (docString, config) => { + return parse(readFileSync(docString, { encoding: 'utf-8' })) +} ``` > The second parameter passed to the loader function is a config object that includes a `pluginContext` property. This value is passed to any executed plugins, so it can be modified by the loader to pass any additional information to those plugins. diff --git a/website/docs/getting-started/lifecycle-hooks.md b/website/docs/getting-started/config-reference/lifecycle-hooks.md similarity index 93% rename from website/docs/getting-started/lifecycle-hooks.md rename to website/docs/getting-started/config-reference/lifecycle-hooks.md index 83823d51b3aa..cd5622d0cb12 100644 --- a/website/docs/getting-started/lifecycle-hooks.md +++ b/website/docs/getting-started/config-reference/lifecycle-hooks.md @@ -3,11 +3,11 @@ id: lifecycle-hooks title: Lifecycle Hooks --- -The codegen allow you to specify scripts it can run for you in certain events. +The codegen allow you to specify scripts it can run for you in certain events. You can specify hooks on the root level, or specify hooks on the output level (only some of them). -Each hook has it's own arguments, and it passes it to your scripts using `argv`. +Each hook has its own arguments, and it passes it to your scripts using `argv`. ## How to use? @@ -19,7 +19,7 @@ hooks: - prettier --write ``` -Or, for specifc output: +Or, for specific output: ```yml generates: @@ -37,7 +37,7 @@ The following lifecycle hooks are supported on root level: ### `afterStart` -Triggered with no arguments, when the codegen starts (after the `codegen.yml` has beed parsed). +Triggered with no arguments, when the codegen starts (after the `codegen.yml` has been parsed). ### `onWatchTriggered` diff --git a/website/docs/getting-started/naming-convention.md b/website/docs/getting-started/config-reference/naming-convention.md similarity index 85% rename from website/docs/getting-started/naming-convention.md rename to website/docs/getting-started/config-reference/naming-convention.md index c1f2d6201ab2..d5df3c288957 100644 --- a/website/docs/getting-started/naming-convention.md +++ b/website/docs/getting-started/config-reference/naming-convention.md @@ -15,18 +15,20 @@ You can either override all namings, or specify an object with specific custom n The format of the converter must be a valid `module#method`. Allowed values for specific output are: `typeNames`, `enumValues`. You can also use "keep" to keep all GraphQL names as-is. -Additionally you can set `transformUnderscore` to `true` if you want to override the default behavior, -which is to preserves underscores. +Additionally, you can set `transformUnderscore` to `true` if you want to override the default behavior, +which is to preserve underscores. #### Usage Examples ##### Override All Names + ```yml config: namingConvention: change-case-all#lowerCase ``` ##### Upper-case enum values + ```yml config: namingConvention: @@ -35,12 +37,14 @@ config: ``` ##### Keep names as is + ```yml config: namingConvention: keep ``` ##### Remove Underscores + ```yml config: namingConvention: @@ -50,13 +54,13 @@ config: #### Using external modules -All the examples you saw so far were using `change-case-all` package. That package is a dependency of graphql-codegen so you can use it directly. -However you can use any other package as long as you have it installed as dependency. -You need to use the same syntax as you saw previously but with the package of your choice. The syntax is as: +All the examples you saw so far were using `change-case-all` package. That package is a dependency of graphql-codegen, so you can use it directly. +However, you can use any other package as long as you have it installed as dependency. +You need to use the same syntax as you saw previously but with the package of your choice. The syntax is as: ``` package-name#export-you-want-to-use -``` +``` For example, if you want to use `camelCase` from lodash, given that you have it already installed you will do it like this: diff --git a/website/docs/getting-started/require-field.md b/website/docs/getting-started/config-reference/require-field.md similarity index 71% rename from website/docs/getting-started/require-field.md rename to website/docs/getting-started/config-reference/require-field.md index d1ede76cb9f4..4266406df214 100644 --- a/website/docs/getting-started/require-field.md +++ b/website/docs/getting-started/config-reference/require-field.md @@ -15,7 +15,7 @@ require: - extension2 ``` -Adding `require` extension is useful if you are loading your `GraphQLSchema` or GraphQL documents from a [code file](schema-field.md#javascript-export), if you wish to use [custom plugins](../custom-codegen/write-your-plugin.md), or use a [custom schema loader](schema-field.md#custom-schema-loader) or a [custom document loader](documents-field.md#custom-document-loader). +Adding `require` extension is useful if you are loading your `GraphQLSchema` or GraphQL documents from a [code file](./schema-field#javascript-export), if you wish to use [custom plugins](/docs/custom-codegen/write-your-plugin), or use a [custom schema loader](./schema-field#custom-schema-loader) or a [custom document loader](./documents-field#custom-document-loader). ## TypeScript Support @@ -40,7 +40,9 @@ It will make sure to load your `.env` file before executing the codegen and load To get started with this integration, make sure you have `.env` file with variables, `dotenv` installed, and codegen is being executed like that: - graphql-codegen --require dotenv/config --config codegen.yml +```sh +graphql-codegen --require dotenv/config --config codegen.yml +``` #### Customize loaded env file @@ -50,25 +52,34 @@ It allows you to specify a custom file path using 2 methods. You can either set an environment variable called `DOTENV_CONFIG_PATH` with the path: - DOTENV_CONFIG_PATH="./my.env" graphql-codegen --require dotenv/config --config codegen.yml +```sh +DOTENV_CONFIG_PATH="./my.env" graphql-codegen --require dotenv/config --config codegen.yml +``` > Note: You can use `cross-env` library if you are using Windows. Or, you can specify it using codegen cli, like that: - graphql-codegen --require dotenv/config --config codegen.yml dotenv_config_path=my.env - +```sh +graphql-codegen --require dotenv/config --config codegen.yml dotenv_config_path=my.env +``` + #### `dotenv` Example + .env: - SCHEMAURL=https://example.com/graphql - APIKEY=ABC123 +```dotenv +SCHEMAURL=https://example.com/graphql +APIKEY=ABC123 +``` codegen.yml: - schema: - - ${SCHEMAURL}: - headers: - apikey: ${APIKEY} - - > Note: The env values might be saved in the generated code output. Be careful not to commit code with sensitive keys. +```yml +schema: + - ${SCHEMAURL}: + headers: + apikey: ${APIKEY} +``` + +> Note: The env values might be saved in the generated code output. Be careful not to commit code with sensitive keys. diff --git a/website/docs/getting-started/schema-field.md b/website/docs/getting-started/config-reference/schema-field.md similarity index 92% rename from website/docs/getting-started/schema-field.md rename to website/docs/getting-started/config-reference/schema-field.md index 7f2d88a6b5a2..acc435101c0e 100644 --- a/website/docs/getting-started/schema-field.md +++ b/website/docs/getting-started/config-reference/schema-field.md @@ -1,6 +1,6 @@ --- id: schema-field -title: "`schema` field" +title: '`schema` field' --- The `schema` field should point to your `GraphQLSchema` - there are multiple ways you can specify it and load your `GraphQLSchema`. @@ -92,7 +92,7 @@ schema: ##### `method` -You can specify a HTTP method to use for the introspection query. default is `POST`. +You can specify an HTTP method to use for the introspection query. default is `POST`. ```yml schema: @@ -102,7 +102,7 @@ schema: ### JSON -You can point to a local `.json` file that contains [GraphQL Introspection](https://graphql.org/learn/introspection/) JSON. +You can point to a local `.json` file that contains [GraphQL Introspection](https://graphql.org/learn/introspection) JSON. ```yml schema: schema.json @@ -130,7 +130,7 @@ schema: - 'src/dir2/**/*.graphql' ``` -And, you can specify files to exclude/ignore, using the `!` sign: +And, you can specify files to exclude/ignore, using the `!` sign: ```yml schema: @@ -205,6 +205,7 @@ schema: - './src/**/*.ts': noPluck: true ``` + ##### `assumeValid` Set this to `true` in order to tell codegen to skip AST validation. @@ -223,8 +224,8 @@ You can also specify a code file that exports your `GraphQLSchema` object as nam schema: schema.js ``` -```javascript -const { buildSchema } = require('graphql'); +```js +const { buildSchema } = require('graphql') module.exports = buildSchema(/* GraphQL */ ` type MyType { @@ -234,17 +235,17 @@ module.exports = buildSchema(/* GraphQL */ ` type Query { myType: MyType! } -`); +`) ``` -> You can also import from TypeScript files, but don't forget to specify [require field](require-field.md). +> You can also import from TypeScript files, but don't forget to specify [require field](./require-field). ### String You can specify your schema directly as an AST string in your config file. It's very useful for testing. ```yml -schema: 'type MyType { foo: String } type Query { myType: MyType }' +schema: 'type MyType { foo: String } type Query { myType: MyType }' ``` ### GitHub @@ -267,14 +268,13 @@ schema: git:branch:path/to/file.graphql > You can load from a JSON file, `.graphql` file or from a code file containing `gql` tag syntax. - ### Apollo Engine You can load your schema from Apollo Engine, with the following syntax: ```yml schema: - - apollo-engine: + - apollo-engine: engine: apiKey: APOLLO_ENGINE_KEY_ID graph: GRAPH_ID @@ -296,13 +296,13 @@ schema: Your custom loader should export a default function that returns `GraphQLSchema` object, or an identifier called `schema`. For example: ```js -const { buildSchema } = require('graphql'); -const { readFileSync } = require('fs'); +const { buildSchema } = require('graphql') +const { readFileSync } = require('fs') -module.exports = function(schemaString, config) { +module.exports = (schemaString, config) => { // Your logic for loading your GraphQLSchema - return buildSchema(readFileSync(schemaString, { encoding: 'utf-8' })); -}; + return buildSchema(readFileSync(schemaString, { encoding: 'utf-8' })) +} ``` > The second parameter passed to the loader function is a config object that includes a `pluginContext` property. This value is passed to any executed plugins, so it can be modified by the loader to pass any additional information to those plugins. diff --git a/website/docs/getting-started/development-workflow.md b/website/docs/getting-started/development-workflow.md index 960ececfcae3..e90a6865c708 100644 --- a/website/docs/getting-started/development-workflow.md +++ b/website/docs/getting-started/development-workflow.md @@ -29,7 +29,7 @@ It's also useful to run the codegen during your continuous integration flow and If you wish to run the codegen in watch mode, you can specify `--watch` (or `-w`) when running it. -You can either run it in a separate terminal session, or use tools like [`concurrently`](https://www.npmjs.com/package/concurrently) to run two scripts at the same time: +You can either run it in a separate terminal session, or use tools like [`concurrently`](https://npmjs.com/package/concurrently) to run two scripts at the same time: ```json { @@ -44,26 +44,26 @@ You can either run it in a separate terminal session, or use tools like [`concur If you wish, you can specify a custom list of files to watch, by adding a glob expression to the command, using `--watch` flag: -:::shell "" + +:::shell `--watch` flag yarn graphql-codegen --watch "src/**/*.js" - -Use this when you are loading your schema or documents from a single code file, that depends on other files internally, because codegen can't tell that you using those files automatically. ::: +Use this when you are loading your schema or documents from a single code file, that depends on other files internally, because codegen can't tell that you're using those files automatically. + By default, watch mode uses the system's native support to listen for file change events. This can be configured in the settings file to use a stat polling method instead in unusual cases where system support is unavailable. ```yml watch: true # Passed directly through to chokidar's file watch configuration -watchConfig: +watchConfig: usePolling: true interval: 1000 ``` - ### Monorepo and Yarn Workspaces -If you are using a monorepo structure, with tools such as [Yarn Workspaces](https://yarnpkg.com/lang/en/docs/workspaces/) or [Lerna](https://github.com/lerna/lerna), we recommend to install the codegen in the root of your monorepo. +If you are using a monorepo structure, with tools such as [Yarn Workspaces](https://yarnpkg.com/lang/en/docs/workspaces) or [Lerna](https://github.com/lerna/lerna), we recommend to install the codegen in the root of your monorepo. If you need to execute the codegen multiple times, note that you can specify multiple fields for `generates` field, for example: diff --git a/website/docs/getting-started/further-reading.md b/website/docs/getting-started/further-reading.md index bd3e28c0f23c..7483a7ebd4f4 100644 --- a/website/docs/getting-started/further-reading.md +++ b/website/docs/getting-started/further-reading.md @@ -5,4 +5,22 @@ title: Further Reading If you'd like to learn more, you may find the following resources helpful. -- [Game Of Types: A Song Of GraphQL And TypeScript](https://formidable.com/blog/2019/strong-typing/) - blog post which uses an example application to walk through the problems with duplicate type definitions and how graphql-code-generator solves them. +### TypeScript + +- [GraphQL Codegen For Effortless GraphQL and Typescript](https://www.youtube.com/watch?v=CtcjrPCwojQ) by [LevelUpTuts](https://leveluptutorials.com/) +- [GraphQL with TypeScript done right](https://the-guild.dev/blog/graphql-with-typescript-done-right) by [Charly Poly](https://charlypoly.com/) +- [Best Practices for integrating GraphQL Code Generator in your frontend applications](https://the-guild.dev/blog/graphql-codegen-best-practices) +- [Better Type Safety for your GraphQL resolvers with GraphQL Codegen](https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen) +- [Game Of Types: A Song Of GraphQL And TypeScript](https://formidable.com/blog/2019/strong-typing) - by Formidable. + +### Integrations + +- [Setup Hasura with GraphQL Code Generator](https://codedaily.io/tutorials/Setup-Hasura-with-GraphQL-Code-Generator) by [Jason Brown](https://twitter.com/browniefed) +- [Working with GraphQL Code Generator and GraphCMS](https://graphcms.com/blog/working-with-graphql-code-generator-and-graphcms) by +Jamie Barton +- [GraphQL-Modules integration with GraphQL Code Generator](https://www.graphql-modules.com/docs/legacy/recipes/graphql-code-generator/) +- [GraphQL Code Generator for WPGraphQL](https://developers.wpengine.com/blog/graphql-code-generator-for-wpgraphql) by Kellen Mace +- [GraphQL Queries in Apollo React](https://dgraph.io/learn/courses/messageboardapp/react/develop/react/graphql-queries/) by DGraph +- [Using Apollo GraphQL with Angular in an Nx Workspace](https://blog.nrwl.io/using-apollo-graphql-with-angular-in-an-nx-workspace-9ad0155c1914?gi=603641d4b51a) by [Philip Fulcher](https://medium.com/@philipjfulcher?source=post_page-----9ad0155c1914-----------------------------------) +- [Simplify GraphQL requests with React Query, GraphQL Code Generator, and TypeScript](https://blog.logrocket.com/making-graphql-requests-easy-with-react-typescript-and-react-query/) by [Iva Kop](https://blog.logrocket.com/author/ivakop/) +- [Gatsby and GraphQL Code Generator - A Perfect Match](https://talohana.com/blog/gatsby-graphql-code-generator) by [Tal Ohana](https://talohana.com) diff --git a/website/docs/getting-started/index.md b/website/docs/getting-started/index.md index 7128cc3d24c3..af3420765f02 100644 --- a/website/docs/getting-started/index.md +++ b/website/docs/getting-started/index.md @@ -1,15 +1,27 @@ --- id: index -title: What is GraphQL Code Generator? +title: Introduction to GraphQL Code Generator --- -GraphQL Code Generator is a CLI tool that can generate TypeScript typings out of a GraphQL schema. When we develop a GraphQL backend, there would be many instances where we would find ourselves writing the same things which are already described by the GraphQL schema, only in a different format; for example: resolver signatures, MongoDB models, Angular services etc. +GraphQL Code Generator is a tool for generating code out of a GraphQL schema and GraphQL operations (`query` / `mutation` / `subscription`). -GraphQL Code Generator was built to address exactly that. By analyzing the schema and parsing it, GraphQL Code Generator can output code at a wide variety of formats, based on pre-defined plugins or based on custom user-defined ones. Regardless of the language that you're using, GraphQL Code Generator got you covered. +You can use GraphQL Code Generator in many development environments - it can integrate with your project, or just act as a utility tool. -For example, given the following schema: +When developers use GraphQL, they often need a way to integrate the GraphQL language (called GraphQL SDL) with their development platform (for example: if you are working in a TypeScript project, you can generate typings based on your GraphQL schema or operations, to leverage type-safety). + +GraphQL Code Generator was built to address exactly that. By analyzing and parsing the GraphQL schema and operations, GraphQL Code Generator can output code at a wide variety of formats, based on pre-defined plugins or based on custom user-defined ones. + +Regardless of the language/environment that you're using, GraphQL Code Generator got you covered. + +### Integration example with TypeScript + +![Codegen flow exmaple](/assets/illustrations/codegen_flow1.png) + +For example, given the following GraphQL schema: ```graphql +# schema.graphql + type Author { id: Int! firstName: String! @@ -26,60 +38,70 @@ type Post { type Query { posts: [Post] } +``` -schema { - query: Query -} +And with the following `codegen.yml` configuration file: + +```yml +# codegen.yml +schema: schema.graphql +generates: + types.ts: + plugins: + - @graphql-codegen/typescript ``` -GraphQL Code Generator can generate the following TypeScript typings (this example is using `typescript` plugin): +So now, GraphQL Code Generator, with the `@graphql-codegen/typescript` plugin can generate the following TypeScript typings file: ```ts export type Maybe = T | null; +export type InputMaybe = Maybe; + +// ... /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { - ID: string, - String: string, - Boolean: boolean, - Int: number, - Float: number, + ID: string; + String: string; + Boolean: boolean; + Int: number; + Float: number; }; export type Author = { - __typename?: 'Author', - id: Scalars['Int'], - firstName: Scalars['String'], - lastName: Scalars['String'], - posts?: Maybe>>, + __typename?: 'Author'; + id: Scalars['Int']; + firstName: Scalars['String']; + lastName: Scalars['String']; + posts?: Maybe>>; }; export type AuthorPostsArgs = { - findTitle?: Maybe + findTitle?: InputMaybe; }; export type Post = { - __typename?: 'Post', - id: Scalars['Int'], - title: Scalars['String'], - author: Author, + __typename?: 'Post'; + id: Scalars['Int']; + title: Scalars['String']; + author: Author; }; export type Query = { - __typename?: 'Query', - posts?: Maybe>>, + __typename?: 'Query'; + posts?: Maybe>>; }; ``` ## What's next? -Start by [installing GraphQL Code Generator](installation.md) in your project, and use the basic plugins to generate some code. +Start by [installing GraphQL Code Generator](/docs/getting-started/installation) in your project, and use the basic plugins to generate some code. -You can go over [the list of available plugins](../plugins/index.md) and find more plugins that matches your needs. +You can go over [the list of available plugins](/plugins) and find more plugins that matches your needs. If you are having issues, you can reach us this the following: - Found a bug? [report it in our GitHub repo](https://github.com/dotansimha/graphql-code-generator) - Need help or have a question? You can use the live chat box in the corner of the screen, [ask it in our GitHub Discussions page](https://github.com/dotansimha/graphql-code-generator/discussions) or [reach us directly in our Discord](http://bit.ly/guild-chat). - We have more awesome [open source tools](https://github.com/the-guild-org/Stack)! -- You can [visit our website](http://the-guild.dev/) for more information about us and what we do +- You can [visit our website](http://the-guild.dev) for more information about us and what we do diff --git a/website/docs/getting-started/installation.md b/website/docs/getting-started/installation.md index 169d87fb456e..24806f340f59 100644 --- a/website/docs/getting-started/installation.md +++ b/website/docs/getting-started/installation.md @@ -5,65 +5,55 @@ title: Installation ## Installing Codegen -First we need to make sure that the basic GraphQL package is within our dependencies, since GraphQL Code Generator depends on it: +First, make sure that you the `graphql` package in your project's dependencies, since GraphQL Code Generator depends on it: -:::shell With `yarn` -yarn add graphql -::: - -:::shell With `npm` -npm install --save graphql -::: + npm install --save graphql + # or, with yarn: + yarn add graphql -Then we can install GraphQL Code Generator using `yarn` (or `npm`): +Then, install the GraphQL Code Generator CLI package: -:::shell With `yarn` -yarn add -D @graphql-codegen/cli -::: + npm install --save @graphql-codegen/cli + # or, with yarn: + yarn add -D @graphql-codegen/cli -:::shell With `npm` -npm install --save-dev @graphql-codegen/cli -::: :::caution Global Installation Please avoid installing `graphql`, `@graphql-codegen/cli` and its plugins as global dependencies. This will cause issues because of duplications of the `graphql` package. Install it only locally in your project. ::: -:::caution Monorepo +:::caution Monorepo Project If you are using Monorepo setup (Lerna/Yarn Workspaces/anything else), please note that GraphQL Codegen is using `require` to load plugins and file. This might break and fail in case of hoisting. If you are having issues with loading GraphQL-Codegen plugins, make sure it's installed correctly, at the same level of `node_modules`, and make sure it's accessible and available for the Codegen CLI. - ::: ## Initialization Wizard -After installing those dependencies, GraphQL Code Generator lets you set up everything by simply running the following command: +After installing those dependencies, GraphQL Code Generator can help you configure your project based on some popular flows: -:::shell With `yarn` -yarn graphql-codegen init -::: - -:::shell With `npm` -npx graphql-codegen init -::: + yarn graphql-codegen init + # or, with npx: + npx graphql-codegen init Question by question, it will guide you through the whole process of setting up a schema, selecting and installing plugins, picking a destination to where your files are generated, and a lot more. If you don't want to use the wizard, we've got you covered, just continue reading the next sections. -## Setup +## Manual Setup -GraphQL Code Generator's behavior is bound into plugins, thus we will need to install one of them, for example: +If you wish to configure codegen manually, please start by creating a `codegen.yml` file in your project's root directory: -:::shell With `yarn` -yarn add -D @graphql-codegen/typescript -::: +```yaml +schema: schema.graphql # you can also point to a GraphQL endpoint! +generates: + types.ts: + plugins: + - @graphql-codegen/typescript +``` -:::shell With `npm` -npm install --save-dev @graphql-codegen/typescript -::: +GraphQL Code Generator's behavior is bound into plugins, thus we will need to install one of them, for example, if you are using `@graphql-codegen/typescript` plugin, please make sure install it locally in your project Although this can be used directly, it's recommended to add the code generation script to your `package.json`: @@ -75,34 +65,6 @@ Although this can be used directly, it's recommended to add the code generation } ``` -This will simplify its usage, and you'll be able to run the codegen with the following command: +This will simplify its usage, and you'll be able to run the codegen with the following command: `npm run generate`. -:::shell With `yarn` -yarn generate -::: - -:::shell With `npm` -npm run generate -::: - -GraphQL Code Generator looks for `codegen.yml` and `codegen.json` files by default. An example can be seen below: - -```yaml -schema: http://localhost:3000/graphql -generates: - ./src/types.d.ts: - plugins: - - typescript -``` - -## Running the codegen - -By running the following command, the GraphQL schema will be fetched from the route endpoint and the typescript definitions will be generated in the specified destination: - -:::shell With `yarn` -yarn generate -::: - -:::shell With `npm` -npm run generate -::: +You can learn more about [`codegen.yml` and the available configurations here](/docs/getting-started/config-reference/codegen-config), and [you can find a list of all available plugins here](/plugins) diff --git a/website/docs/getting-started/programmatic-usage.md b/website/docs/getting-started/programmatic-usage.md index aa0cdcdda7a4..a1b5ac1255ac 100644 --- a/website/docs/getting-started/programmatic-usage.md +++ b/website/docs/getting-started/programmatic-usage.md @@ -10,38 +10,39 @@ The codegen has also a complete programmatic API. You can use it if you need to In order to use the programmatic API, start by importing `codegen` from `@graphql-codegen/core`: ```ts -import { codegen } from '@graphql-codegen/core'; +import { codegen } from '@graphql-codegen/core' ``` Then, create a configuration object ([complete signature](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/graphql-codegen-core/src/codegen.ts#L7-L16)): ```ts -import { buildSchema, printSchema, parse, GraphQLSchema } from 'graphql'; -import * as fs from 'fs'; -import * as path from 'path'; -import * as typescriptPlugin from '@graphql-codegen/typescript'; +import { buildSchema, printSchema, parse, GraphQLSchema } from 'graphql' +import * as fs from 'fs' +import * as path from 'path' +import * as typescriptPlugin from '@graphql-codegen/typescript' -const schema: GraphQLSchema = buildSchema(`type A { name: String }`); -const outputFile = 'relative/pathTo/filename.ts'; +const schema: GraphQLSchema = buildSchema(`type A { name: String }`) +const outputFile = 'relative/pathTo/filename.ts' const config = { documents: [], config: {}, // used by a plugin internally, although the 'typescript' plugin currently // returns the string output, rather than writing to a file filename: outputFile, - schema: parse(printSchema(schema)), - plugins: [ // Each plugin should be an object + schema: parse(printSchema(schema)), + plugins: [ + // Each plugin should be an object { - typescript: {}, // Here you can pass configuration to the plugin - }, + typescript: {} // Here you can pass configuration to the plugin + } ], pluginMap: { - typescript: typescriptPlugin, - }, -}; + typescript: typescriptPlugin + } +} ``` -> The `schema` field be a valid `GraphQLSchema` object. If you need to load your GraphQL schema from a external source (file, url), you can use `loadSchema` from `@graphql-tools/load`. +> The `schema` field be a valid `GraphQLSchema` object. If you need to load your GraphQL schema from an external source (file, url), you can use `loadSchema` from `@graphql-tools/load`. Notice that a plugin name key in `pluginMap` and `plugins` must match to identify a plugin and its configuration. @@ -50,10 +51,10 @@ Notice that a plugin name key in `pluginMap` and `plugins` must match to identif Then, provide the config object to `codegen`: ```ts -const output = await codegen(config); +const output = await codegen(config) fs.writeFile(path.join(__dirname, outputFile), output, () => { - console.log('Outputs generated!'); -}); + console.log('Outputs generated!') +}) ``` :::info @@ -61,7 +62,7 @@ We are using this API in the live demo in GraphQL Code Generator website. [The c ::: :::tip Loading schema and documents -You can use one of the tools from [`@graphql-tools`](https://github.com/ardatan/graphql-tools) for file loading, schema merging, transformations and more. +You can use one of the tools from [`@graphql-tools`](https://github.com/ardatan/graphql-tools) for file loading, schema merging, transformations and more. ::: ## Using the CLI instead of `core` @@ -69,7 +70,7 @@ You can use one of the tools from [`@graphql-tools`](https://github.com/ardatan/ If you wish to have the benefits that `cli` package has (like loading schema and document files, parsing endpoints and more), you can use `require()` (or `import`) for `@graphql-codegen/cli` directly with Node.JS: ```js -import { generate } from '@graphql-codegen/cli'; +import { generate } from '@graphql-codegen/cli' async function doSomething() { const generatedFiles = await generate( @@ -78,12 +79,12 @@ async function doSomething() { documents: './src/**/*.graphql', generates: { [process.cwd() + '/models/types.d.ts']: { - plugins: ['typescript'], - }, - }, + plugins: ['typescript'] + } + } }, true - ); + ) } ``` @@ -91,4 +92,4 @@ The return value should be of type `Promise`. :::caution This usage will not work in a browser environment, because the `cli` package depends on NodeJS internals and the file system. -::: +::: diff --git a/website/docs/integrations/apollo-local-state.md b/website/docs/integrations/apollo-local-state.md index 78c4a0a7d82f..729208b5e592 100644 --- a/website/docs/integrations/apollo-local-state.md +++ b/website/docs/integrations/apollo-local-state.md @@ -3,7 +3,7 @@ id: apollo-local-state title: Apollo Local State --- -If you are using [apollo-client](https://www.apollographql.com/docs/react/v2/data/local-state/) >2.5 (or older, with [apollo-link-state](https://www.apollographql.com/docs/link/links/state.html)) to manage your app state with GraphQL, you're probably using a client-side only GraphQL schema and client-side directives such as `@client`. +If you are using [apollo-client](https://apollographql.com/docs/react/v2/data/local-state) >2.5 (or older, with [apollo-link-state](https://apollographql.com/docs/link/links/state.html)) to manage your app state with GraphQL, you're probably using a client-side only GraphQL schema and client-side directives such as `@client`. These types and directives are not part of your remote GraphQL schema. @@ -22,7 +22,7 @@ query myQuery { If you wish to get better integration and fully type-safe types for your client-side schema as well, you can create a `.graphql` file for your local schema, for example: -``` +```gql type Todo { selected: Boolean! } @@ -40,7 +40,7 @@ This way, the GraphQL Code Generator will generate complete typings that matches If you only plan to perform a query with Apollo's local state, extend the `Query` class with the field you're trying to call in your local `schema`: -```.graphql +```graphql extend type Query { todos: Todo } diff --git a/website/docs/integrations/federation.md b/website/docs/integrations/federation.md index 6ed29961a474..0ebb00aa2e47 100644 --- a/website/docs/integrations/federation.md +++ b/website/docs/integrations/federation.md @@ -3,7 +3,7 @@ id: federation title: Apollo Federation --- -The `typescript-resolvers` plugin also supports [Apollo Federation](https://www.apollographql.com/docs/apollo-server/federation/introduction/). +The `typescript-resolvers` plugin also supports [Apollo Federation](https://apollographql.com/docs/apollo-server/federation/introduction). In order to use it, add `federation: true` to your configuration: diff --git a/website/docs/integrations/gatsby.md b/website/docs/integrations/gatsby.md index 53989b02c0a9..33dbe0e0f64c 100644 --- a/website/docs/integrations/gatsby.md +++ b/website/docs/integrations/gatsby.md @@ -3,11 +3,11 @@ id: gatsby title: GatsbyJS --- -If you are building apps using [GatsbyJS](https://www.gatsbyjs.org/), you can use GraphQL Code Generator to generate TypeScript types. +If you are building apps using [GatsbyJS](https://gatsbyjs.org), you can use GraphQL Code Generator to generate TypeScript types. The codegen knows automatically to look for the import of the `graphql` tag for `gatsby` package. -Using the following config file, it should cover everything specific to Gastby: +Using the following config file, it should cover everything specific to Gatsby: ```yml schema: http://localhost:8000/___graphql @@ -24,12 +24,10 @@ generates: Now, the codegen should be able to load your GraphQL operations from your source code, and also load all the internal fragments from `node_modules`. :::caution Note on `documents` section - -The glob expression above should get you started quickly, but note that it's very broad and might load many files that matches the `./node_modules/gatsby*/!(node_modules)/**/*.js` pattern. +The glob expression above should get you started quickly, but note that it's very broad and might load many files that matches the `./node_modules/gatsby*/!(node_modules)/**/*.js` pattern. If you are having issues with this glob expression, or if you are seeing performance issues, please note that you need to narrow this expression to the bare minimum that is being loaded by your Gatsby instance. [This issue might help](https://github.com/dotansimha/graphql-code-generator/issues/5024) - ::: ## Community Plugins diff --git a/website/docs/integrations/prettier.md b/website/docs/integrations/prettier.md index 6e0e237567e5..d75438374ff6 100644 --- a/website/docs/integrations/prettier.md +++ b/website/docs/integrations/prettier.md @@ -5,7 +5,7 @@ title: Prettier & Linters The codegen supports lifecycle hooks, and you can use those for integration with Prettier or other linters, to apply your custom code-style and formatting rules. Before adding hooks consider the alternative of having codegen ignored in your linting. Codegen files are not edited manually and formatting them slows down your codegen considerably. On a big project difference can be measured in several seconds for every run. -[You can read the complete documentation of lifecycle hooks here](../getting-started/lifecycle-hooks.md) +[You can read the complete documentation of lifecycle hooks here](/docs/getting-started/lifecycle-hooks) ## Prettier diff --git a/website/docs/integrations/vscode.md b/website/docs/integrations/vscode.md index 312d85795c69..495357003957 100644 --- a/website/docs/integrations/vscode.md +++ b/website/docs/integrations/vscode.md @@ -3,7 +3,7 @@ id: vscode title: VSCode --- -In VSCode you can install a lightweight extension to get your codegen on every save effortlesly. It uses your node_modules, so you should not have any issues with mismatching versions. Works especially well with the `near-operation-file` preset, because with it, you only generate one document every time you save a single file. +In VSCode you can install a lightweight extension to get your codegen on every save effortlessly. It uses your node_modules, so you should not have any issues with mismatching versions. Works especially well with the `near-operation-file` preset, because with it, you only generate one document every time you save a single file. - [Extension github](https://github.com/capaj/graphql-codegen-vscode) -- [Extension marketplace page](https://marketplace.visualstudio.com/items?itemName=capaj.graphql-codegen-vscode) \ No newline at end of file +- [Extension marketplace page](https://marketplace.visualstudio.com/items?itemName=capaj.graphql-codegen-vscode) diff --git a/website/docs/migration/from-0-13.md b/website/docs/migration/from-0-13.md index f886f0cf777c..2e2dea9b07f8 100644 --- a/website/docs/migration/from-0-13.md +++ b/website/docs/migration/from-0-13.md @@ -3,7 +3,7 @@ id: from-0-13 title: Migration from 0.13 to 0.18 --- -*March 1st, 2019* +_March 1st, 2019_ ## What has changed? diff --git a/website/docs/migration/from-0-18.md b/website/docs/migration/from-0-18.md index 24bfddd723d6..592ea512cacc 100644 --- a/website/docs/migration/from-0-18.md +++ b/website/docs/migration/from-0-18.md @@ -3,7 +3,7 @@ id: from-0-18 title: Migration to 1.0.0 --- -*March 20th, 2019* +_March 20th, 2019_ ## What has changed? @@ -120,7 +120,9 @@ It will generates for you types that are pointing to the new form of types. It s To use it, start by installing from NPM: - yarn add -D @graphql-codegen/typescript-compatibility +```sh +yarn add -D @graphql-codegen/typescript-compatibility +``` Then, add it to your codegen configuration: diff --git a/website/docs/plugins/c-sharp.md b/website/docs/plugins/c-sharp.md deleted file mode 100644 index dc42ba327681..000000000000 --- a/website/docs/plugins/c-sharp.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -id: c-sharp -title: C# ---- - -{@import ../generated-config/c-sharp.md} - \ No newline at end of file diff --git a/website/docs/plugins/flow-operations.md b/website/docs/plugins/flow-operations.md deleted file mode 100644 index 6ad3d98bcfdc..000000000000 --- a/website/docs/plugins/flow-operations.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -id: flow-operations -title: Flow Operations ---- - -{@import ../plugins/client-note.md} - -{@import ../generated-config/flow-operations.md} - \ No newline at end of file diff --git a/website/docs/plugins/flow.md b/website/docs/plugins/flow.md deleted file mode 100644 index 33f21fc2f019..000000000000 --- a/website/docs/plugins/flow.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -id: flow -title: Flow Types ---- - -{@import ../generated-config/flow.md} diff --git a/website/docs/plugins/index.md b/website/docs/plugins/index.md deleted file mode 100644 index 451533260838..000000000000 --- a/website/docs/plugins/index.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -id: index -title: All Plugins ---- - -The general purpose of GraphQL Code Generator is to parse GraphQL syntax, transform it into an AST and then output it into desired formats which can vary. Since there can potentially be an infinite number of formats, we can't predict them all. However, some formats are more likely to be used, thus, we've prepared pre-defined code generation plugins which are built for these formats. - -## Available Plugins - -Below is a table that lists all available plugins which can be installed via NPM, along with a short description. If you're looking for anything specific, we might already have the solution: - -| Format | Purpose | Package Name & Docs | -| ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `typescript` | Generate types for TypeScript - those are usually relevant for both client side and server side code | [`@graphql-codegen/typescript`](./typescript.md) | -| `typescript-operations` | Generate client specific TypeScript types (query, mutation, subscription, fragment) | [`@graphql-codegen/typescript-operations`](./typescript-operations.md) | -| `typescript-resolvers` | Generate TypeScript signature for server-side resolvers | [`@graphql-codegen/typescript-resolvers`](./typescript-resolvers.md) | -| `typed-document-node` | Generate typed `DocumentNode` to by used with supporting libraries | [`@graphql-codegen/typed-document-node`](./typed-document-node.md) | -| `typescript-apollo-client-helpers` | Generates helpers for better integration of Apollo-Client v3 and TypeScript | [`@graphql-codegen/typescript-apollo-client-helpers`](./typescript-apollo-client-helpers.md) | -| `typescript-react-query` | Generates ready-to-use React Hooks for `react-query` library | [`@graphql-codegen/typescript-react-query`](./typescript-react-query) | -| `typescript-apollo-angular` | Generate TypeScript types, and Apollo-Angular Services | [`@graphql-codegen/typescript-apollo-angular`](./typescript-apollo-angular.md) | -| `typescript-react-apollo` | Generate TypeScript types, and React-Apollo Components | [`@graphql-codegen/typescript-react-apollo`](./typescript-react-apollo.md) | -| `typescript-vue-apollo` | Generate TypeScript types, and Vue Apollo composition functions | [`@graphql-codegen/typescript-vue-apollo`](./typescript-vue-apollo.md) | -| `typescript-svelte-apollo` | Generate TypeScript types, and Apollo reactive queries | [`graphql-codegen-svelte-apollo`](./typescript-svelte-apollo.md) | -| `typescript-vue-apollo-smart-ops` | Generate TypeScript types, and Vue Apollo Smart Query options and mutation functions | [`@graphql-codegen/typescript-vue-apollo-smart-ops`](./typescript-vue-apollo-smart-ops.md) | -| `typescript-urql` | Generate TypeScript types, and Urql React Components | [`@graphql-codegen/typescript-urql`](./typescript-urql.md) | -| `typescript-vue-urql` | Generate TypeScript types, and Urql Vue composition functions | [`@graphql-codegen/typescript-vue-urql`](./typescript-vue-urql.md) | -| `typescript-graphql-request` | Generates fully-typed ready-to-use SDK for graphql-request | [`@graphql-codegen/typescript-graphql-request`](./typescript-graphql-request.md) | -| `typescript-generic-sdk` | Generates fully-typed generic SDK you can hook into any client. | [`@graphql-codegen/typescript-generic-sdk`](./typescript-generic-sdk.md) | -| `typescript-stencil-apollo` | Generate TypeScript types, and Stencil Apollo Components | [`@graphql-codegen/typescript-stencil-apollo`](./typescript-stencil-apollo.md) | -| `typescript-mongodb` | Generate server-side TypeScript types, with MongoDB models | [`@graphql-codegen/typescript-mongodb`](./typescript-mongodb.md) | -| `typescript-graphql-files-modules` | Generate `declare module` for `.graphql` files | [`@graphql-codegen/typescript-graphql-files-modules`](./typescript-graphql-files-modules.md) | -| `typescript-document-nodes` | Generate TypeScript source files files that use `graphql-tag` | [`@graphql-codegen/typescript-document-nodes`](./typescript-document-nodes.md) | -| `typescript-type-graphql` | Generate TypeScript types compatible with TypeGraphQL | [`@graphql-codegen/typescript-type-graphql`](./typescript-type-graphql.md) | -| `typescript-oclif` | Generate commands for oclif command line interfaces | [`@graphql-codegen/typescript-oclif`](./typescript-oclif.md) | -| `add` | Add any string that you wish to the output file | [`@graphql-codegen/add`](./add.md) | -| `schema-ast` | Prints the merged schemas as AST | [`@graphql-codegen/schema-ast`](./schema-ast.md) | -| `fragment-matcher` | Generates an introspection result with only Unions and Interfaces | [`@graphql-codegen/fragment-matcher`](./fragment-matcher.md) | -| `named-operations-object` | Generates a type-safe list of all your available GraphQL operations and fragments | [`@graphql-codegen/named-operations-object`](./named-operations-object.md) | -| `introspection` | Generates an introspection result | [`@graphql-codegen/introspection`](./introspection.md) | -| `time` | Add the generation time to the output file | [`@graphql-codegen/time`](./time.md) | -| `flow` | Generate types for Flow type based on your GraphQL schema | [`@graphql-codegen/flow`](./flow.md) | -| `flow-resolvers` | Generate resolvers signature for Flow | [`@graphql-codegen/flow-resolvers`](./flow-resolvers.md) | -| `flow-operations` | Generate types for Flow type based on your GraphQL operations | [`@graphql-codegen/flow-operations`](./flow-operations.md) | -| `reason-client` | Generate ReasonML types based on your GraphQL schema for use in a client application | [`@graphql-codegen/reason-client`](./reason-client.md) | -| `kotlin` | generates Kotlin backend `classes` for Enums and Input types | [`@graphql-codegen/kotlin`](./kotlin.md) | -| `java` | generates Java backend `classes` for Enums and Input types | [`@graphql-codegen/java`](./java.md) | -| `java-resolvers` | generates Java backend resolvers signature | [`@graphql-codegen/java-resolvers`](./java-resolvers.md) | -| `java-apollo-android` | generates Apollo Android parsers and mappers | [`@graphql-codegen/java-apollo-android`](./java-apollo-android.md) | -| Scala Plugins | generates types for schema and operations, maintained by [`aappddeevv`](https://github.com/aappddeevv) | [`@aappddeevvv/graphql-code-scala-operations`,`@aappddeevvv/graphql-code-scala-schema`](https://github.com/aappddeevv/graphql-codegen-scala) | -| `apollo-typed-documents` | Generates `declare module` for `.graphql` files with generic `TypedDocumentNode`. Also generates helper function to create mocks for Apollo Client `MockedProvider`. Maintained by [`rubengrill`](https://github.com/rubengrill/apollo-typed-documents) | [`apollo-typed-documents/lib/codegenTypedDocuments`,`apollo-typed-documents/lib/codegenApolloMock`](https://github.com/rubengrill/apollo-typed-documents) | -| `@homebound/graphql-typescript-factories` | Generates factory methods for use in client-side GraphQL tests that are stubbing/mocking out GraphQL responses. | [`homebound-team/graphql-typescript-factories`](https://github.com/homebound-team/graphql-typescript-factories) | -| `@homebound/graphql-typescript-simple-resolvers` | generates types for implementing an Apollo-/graphql-style implementation in TypeScript. | [`homebound-team/graphql-typescript-simple-resolvers`](https://github.com/homebound-team/graphql-typescript-simple-resolvers) | -| `@homebound/graphql-typescript-resolver-scaffolding` | The generated scaffolds are extremely simple, and really just placeholders for your business logic and tests. | [`homebound-team/graphql-typescript-resolver-scaffolding`](https://github.com/homebound-team/graphql-typescript-resolver-scaffolding) | - -In addition, you can build your own code generating plugins based on your specific needs. For more information, check [this doc page](../custom-codegen/index.md). - -## How to use Plugins - -To use a plugin, install its package from `npm`, then add it to your YML config file: - -```yml -schema: my-schema.graphql -generates: - output.ts: - - plugin-name-here -``` - -## Configure Plugins - -To pass configuration to a plugin, do the following: - -```yml -schema: my-schema.graphql -generates: - output.ts: - - plugin-name-here: - configKey: configValue -``` - -You can also pass the same configuration value to multiple plugins: - -```yml -schema: my-schema.graphql -generates: - output.ts: - config: - configKey: configValue - plugins: - - plugin1-name-here - - plugin2-name-here -``` - -You can find the supported configuration for each plugin in its page / `README` file. diff --git a/website/docs/plugins/introspection.md b/website/docs/plugins/introspection.md deleted file mode 100644 index b1e710f285ea..000000000000 --- a/website/docs/plugins/introspection.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -id: introspection -title: Introspection ---- - -{@import ../generated-config/introspection.md} diff --git a/website/docs/plugins/time.md b/website/docs/plugins/time.md deleted file mode 100644 index ac87518d4358..000000000000 --- a/website/docs/plugins/time.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -id: time -title: Time ---- - -{@import ../generated-config/time.md} diff --git a/website/docs/plugins/typescript-operations.md b/website/docs/plugins/typescript-operations.md deleted file mode 100644 index 24d8dd370560..000000000000 --- a/website/docs/plugins/typescript-operations.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -id: typescript-operations -title: TypeScript Operations ---- - -{@import ../plugins/client-note.md} - -{@import ../generated-config/typescript-operations.md} - \ No newline at end of file diff --git a/website/docs/plugins/typescript.md b/website/docs/plugins/typescript.md deleted file mode 100644 index b9dd7e4d9fc4..000000000000 --- a/website/docs/plugins/typescript.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -id: typescript -title: TypeScript ---- - -{@import ../generated-config/typescript.md} diff --git a/website/docs/plugins/urql-inspection.md b/website/docs/plugins/urql-inspection.md deleted file mode 100644 index 20e22f321d0b..000000000000 --- a/website/docs/plugins/urql-inspection.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: urql-introspection -title: Urql Introspection for Schema Awareness ---- - -{@import ../generated-config/urql-introspection.md} - -## How to use? - -```typescript -// generated by the plugin -import schema from './generated-introspection.json'; -const cache = cacheExchange({ schema }); -``` - -> [Read more about Schema Awareness](https://formidable.com/open-source/urql/docs/graphcache/schema-awareness/) diff --git a/website/docs/presets/index.md b/website/docs/presets/index.md deleted file mode 100644 index 3cedfab5fc72..000000000000 --- a/website/docs/presets/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -id: presets-index -title: All Presets ---- - -GraphQL Code Generator also support presets - which is a way to manipulate and affect the execution of plugins. - -Presets are CLI extensions, that allow manipulation of a `generates` section of codegen, based on custom logic. - -You can use and writes presets to tell codegen which output files to creates, and what each one should include. - -## Available Presets - -| Name | Purpose | Package Name & Docs | -| --------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -| `near-operation-file` | Generates operation code near the source file | [`@graphql-codegen/near-operation-file-preset`](./near-operation-file.md) | -| `gql-tag-operations` | Generate types for inline gql tag usages. Reduces import statement amount and the file count significantly. | [`@graphql-codegen/gql-tag-operations-preset`](./gql-tag-operations.md) | -| `import-types-` | Allow you to separate base types declarations and the operations that uses it | [`@graphql-codegen/import-types-preset`](./import-types.md) | -| `graphql-modules` | Generates types and resolvers signature for GraphQL-Modules | [`@graphql-codegen/graphql-modules-preset`](./graphql-modules.md) | diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js deleted file mode 100644 index f0c236392c6e..000000000000 --- a/website/docusaurus.config.js +++ /dev/null @@ -1,73 +0,0 @@ -const { resolve } = require('path'); - -module.exports = { - title: 'GraphQL Code Generator', - tagline: 'Generate code from your GraphQL schema with a single function call', - url: 'https://graphql-code-generator.com', - projectName: 'graphql-code-generator', - organizationName: 'dotansimha', - baseUrl: '/', - favicon: 'img/favicon.png', - themeConfig: { - colorMode: { - disableSwitch: true, - }, - googleAnalytics: { - trackingID: 'UA-128969121-3', - }, - gtag: { - trackingID: 'UA-128969121-3', - }, - navbar: { - title: 'GraphQL Code Generator', - logo: { - alt: 'GraphQL Code Generator', - src: 'img/gql-codegen-icon.svg', - }, - items: [ - { - to: 'docs/getting-started/index', - activeBasePath: 'docs', - label: 'API & Documentation', - position: 'right', - }, - { - href: 'https://github.com/dotansimha/graphql-code-generator', - label: 'GitHub', - position: 'right', - }, - { - href: 'https://the-guild.dev/contact', - label: 'Contact Us', - position: 'right', - }, - ], - }, - }, - scripts: ['/js/fix-location.js', 'https://the-guild.dev/static/crisp.js'], - plugins: [resolve(__dirname, './custom-plugin.js')], - presets: [ - [ - '@docusaurus/preset-classic', - { - docs: { - admonitions: { - customTypes: { - shell: { - keyword: 'shell', - svg: - '', - }, - }, - }, - remarkPlugins: [require('remark-code-import'), require('remark-import-partial')], - sidebarPath: require.resolve('./sidebars.js'), - editUrl: 'https://github.com/dotansimha/graphql-code-generator/edit/master/website/', - }, - theme: { - customCss: require.resolve('./src/css/custom.css'), - }, - }, - ], - ], -}; diff --git a/website/generate-config-json-schema.ts b/website/generate-config-json-schema.ts new file mode 100644 index 000000000000..7cfe9fc1ffd4 --- /dev/null +++ b/website/generate-config-json-schema.ts @@ -0,0 +1,38 @@ +import { join } from 'path'; +import { writeFile } from 'fs/promises'; +import { format } from 'prettier'; +import jsonPath from 'jsonpath'; +import { transformDocs } from './src/lib/transform'; + +const MARKDOWN_JSDOC_KEY = 'exampleMarkdown'; +const DEFAULT_JSDOC_KEY = 'default'; +const OUT_DIR = './public/static/'; + +async function generate(): Promise { + const { schema } = transformDocs(); + // Remove non-standard keys + jsonPath.apply(schema, `$..${MARKDOWN_JSDOC_KEY}`, () => undefined); + + // Remove default to avoid annoying auto-complete + jsonPath.apply(schema, `$..*`, v => { + if (v && typeof v === 'object' && v[DEFAULT_JSDOC_KEY] !== undefined) { + if (!v.description) { + v.description = ''; + } + + v.description += `\nDefault value: "${v.default}"`; + delete v.default; + } + return v; + }); + const prettifiedSchema = format(JSON.stringify(schema), { parser: 'json' }); + await writeFile(join(OUT_DIR, './config.schema.json'), prettifiedSchema); +} + +generate() + .then(() => { + console.log('✅ Done!'); + }) + .catch(e => { + console.error(e); + }); diff --git a/website/next-env.d.ts b/website/next-env.d.ts new file mode 100644 index 000000000000..9bc3dd46b9d9 --- /dev/null +++ b/website/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/website/next-i18next.config.js b/website/next-i18next.config.js new file mode 100644 index 000000000000..7c7e427740c8 --- /dev/null +++ b/website/next-i18next.config.js @@ -0,0 +1,6 @@ +module.exports = { + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, +}; diff --git a/website/next.config.js b/website/next.config.js new file mode 100644 index 000000000000..57689d97b42a --- /dev/null +++ b/website/next.config.js @@ -0,0 +1,28 @@ +const { register } = require('esbuild-register/dist/node'); +const { withGuildDocs } = require('@guild-docs/server'); +const { i18n } = require('./next-i18next.config'); +register({ extensions: ['.ts', '.tsx'] }); +const { getRoutes } = require('./routes.ts'); + +module.exports = withGuildDocs({ + i18n, + getRoutes, + eslint: { + ignoreDuringBuilds: true, + }, + typescript: { + // Todo: remove it before merge to master + ignoreBuildErrors: true, + }, + webpack(config) { + config.resolve.fallback = { + ...config.resolve.fallback, + module: false, // Fix error - Module not found: Can't resolve 'module' + fs: false, + repl: false, + console: false, + }; + return config; + }, + swcMinify: false, +}); diff --git a/website/package.json b/website/package.json index 6d73541dcc57..5174dc9812cd 100644 --- a/website/package.json +++ b/website/package.json @@ -3,33 +3,42 @@ "version": "1.17.7", "private": true, "scripts": { - "start": "docusaurus start", - "build:website": "USE_SIMPLE_CSS_MINIFIER=true docusaurus build", - "prebuild:website": "yarn generate:config-docs", - "prestart": "yarn generate:config-docs", - "generate:config-docs": "cd ../packages/utils/config-schema && yarn build ../../../website/ ./docs/generated-config ./static/" + "start": "yarn generate-json-config && next start", + "build": "yarn generate-json-config && next build", + "dev": "concurrently -r 'next-remote-watch ./docs ./src/pages/_app.tsx' 'wait-on -s 1 http://localhost:3000'", + "lint": "eslint --ignore-path .gitignore --ext js,jsx,cjs,mjs,ts,tsx,cts,mts .", + "prettier:check": "prettier --ignore-path .gitignore --check .", + "prettier:write": "prettier --ignore-path .gitignore --write --list-different .", + "next": "next", + "generate-json-config": "ts-node generate-config-json-schema.ts" }, "devDependencies": { - "worker-loader": "3.0.8", - "file-loader": "6.2.0", - "style-loader": "2.0.0", - "@docusaurus/core": "2.0.0-beta.9", - "@docusaurus/preset-classic": "2.0.0-beta.9", - "@graphql-codegen/config-schema": "1.17.10", - "babel-preset-minify": "0.5.1", - "classnames": "2.3.1", - "react": "17.0.2", - "react-dom": "17.0.2", - "remark-code-import": "0.4.0", - "remark-import-partial": "0.0.2", - "ts-node": "10.4.0", - "vscode-languageserver-types": "3.16.0" + "@types/classnames": "2.3.1", + "@types/dedent": "0.7.0", + "@types/jsonpath": "0.2.0", + "@types/node": "15.12.2", + "@types/react": "17.0.35", + "@types/react-dom": "17.0.11", + "concurrently": "6.4.0", + "esbuild-register": "3.1.2", + "eslint-config-next": "12.0.4", + "jsonpath": "^1.1.1", + "typescript": "4.4.4", + "wait-on": "6.0.0" }, "dependencies": { + "@chakra-ui/icons": "1.0.15", + "@chakra-ui/react": "1.6.8", + "@chakra-ui/system": "1.7.3", + "@chakra-ui/theme-tools": "1.2.1", + "@chakra-ui/utils": "1.8.2", + "@emotion/react": "11.4.1", + "@emotion/styled": "11.3.0", "@graphql-codegen/add": "3.1.0", "@graphql-codegen/c-sharp": "4.2.1", "@graphql-codegen/c-sharp-operations": "2.2.1", "@graphql-codegen/cli": "2.3.0", + "@graphql-codegen/core": "2.3.0", "@graphql-codegen/flow": "2.2.1", "@graphql-codegen/flow-operations": "2.2.1", "@graphql-codegen/flow-resolvers": "2.2.1", @@ -43,31 +52,52 @@ "@graphql-codegen/near-operation-file-preset": "2.2.2", "@graphql-codegen/schema-ast": "2.4.0", "@graphql-codegen/time": "3.1.0", - "react-markdown": "7.1.0", - "@graphql-codegen/typescript": "2.4.1", "@graphql-codegen/typed-document-node": "2.2.1", + "@graphql-codegen/typescript": "2.4.1", "@graphql-codegen/typescript-apollo-angular": "3.3.1", + "@graphql-codegen/typescript-apollo-client-helpers": "2.1.8", "@graphql-codegen/typescript-generic-sdk": "2.3.0", "@graphql-codegen/typescript-graphql-files-modules": "2.1.0", "@graphql-codegen/typescript-graphql-request": "4.3.1", "@graphql-codegen/typescript-mongodb": "2.2.1", + "@graphql-codegen/typescript-msw": "1.0.0", "@graphql-codegen/typescript-operations": "2.2.1", "@graphql-codegen/typescript-react-apollo": "3.2.2", "@graphql-codegen/typescript-react-query": "3.2.1", - "@graphql-codegen/typescript-rtk-query": "2.2.1", "@graphql-codegen/typescript-resolvers": "2.4.2", + "@graphql-codegen/typescript-rtk-query": "2.2.1", "@graphql-codegen/typescript-stencil-apollo": "2.2.1", "@graphql-codegen/typescript-type-graphql": "2.2.2", "@graphql-codegen/typescript-urql": "3.4.1", "@graphql-codegen/typescript-vue-apollo": "3.2.1", - "@graphql-codegen/typescript-vue-urql": "2.2.1", "@graphql-codegen/typescript-vue-apollo-smart-ops": "2.2.1", - "@graphql-codegen/typescript-apollo-client-helpers": "2.1.8", - "@graphql-codegen/typescript-msw": "1.0.0", - "node-polyfill-webpack-plugin": "1.1.4", + "@graphql-codegen/typescript-vue-urql": "2.2.1", + "@guild-docs/client": "1.3.0", + "@guild-docs/server": "2.1.3", "@monaco-editor/react": "4.3.1", + "@theguild/components": "1.8.1", + "classnames": "2.3.1", + "dedent": "0.7.0", + "framer-motion": "5.3.1", + "graphql": "16.0.1", + "js-yaml": "4.1.0", + "next": "12.0.4", + "next-i18next": "8.10.0", + "next-remote-watch": "1.0.0", + "next-seo": "4.28.1", + "node-polyfill-webpack-plugin": "1.1.4", + "react": "17.0.2", + "react-dom": "17.0.2", + "react-markdown": "7.1.0", "react-select": "5.2.1", - "@theguild/components": "1.8.0" + "remark-admonitions": "1.2.1", + "shiki": "0.9.12", + "typescript-json-schema": "0.52.0" + }, + "babelMacros": { + "twin": { + "preset": "emotion" + } }, "browserslist": { "production": [ diff --git a/website/static/img/eye.svg b/website/public/assets/eye.svg similarity index 100% rename from website/static/img/eye.svg rename to website/public/assets/eye.svg diff --git a/website/static/img/gear.svg b/website/public/assets/gear.svg similarity index 100% rename from website/static/img/gear.svg rename to website/public/assets/gear.svg diff --git a/website/public/assets/gql-codegen-icon.svg b/website/public/assets/gql-codegen-icon.svg new file mode 100644 index 000000000000..57768eb660bd --- /dev/null +++ b/website/public/assets/gql-codegen-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/website/public/assets/illustrations/codegen_flow1.png b/website/public/assets/illustrations/codegen_flow1.png new file mode 100644 index 000000000000..d15b6d491b1b Binary files /dev/null and b/website/public/assets/illustrations/codegen_flow1.png differ diff --git a/website/public/assets/illustrations/gql-codegen-cover.svg b/website/public/assets/illustrations/gql-codegen-cover.svg new file mode 100644 index 000000000000..1238bc8deb6f --- /dev/null +++ b/website/public/assets/illustrations/gql-codegen-cover.svg @@ -0,0 +1,1989 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/public/assets/illustrations/gql-generate-code-illustration.svg b/website/public/assets/illustrations/gql-generate-code-illustration.svg new file mode 100644 index 000000000000..5b3eb3410699 --- /dev/null +++ b/website/public/assets/illustrations/gql-generate-code-illustration.svg @@ -0,0 +1,492 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/public/assets/illustrations/gql-watch-for-changes-illustration.svg b/website/public/assets/illustrations/gql-watch-for-changes-illustration.svg new file mode 100644 index 000000000000..e730a5a92c7c --- /dev/null +++ b/website/public/assets/illustrations/gql-watch-for-changes-illustration.svg @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/static/img/GraphQL_Logo.svg b/website/public/assets/img/GraphQL_Logo.svg similarity index 100% rename from website/static/img/GraphQL_Logo.svg rename to website/public/assets/img/GraphQL_Logo.svg diff --git a/website/static/img/companies/airfrance.svg b/website/public/assets/img/companies/airfrance.svg similarity index 100% rename from website/static/img/companies/airfrance.svg rename to website/public/assets/img/companies/airfrance.svg diff --git a/website/static/img/companies/klm.svg b/website/public/assets/img/companies/klm.svg similarity index 100% rename from website/static/img/companies/klm.svg rename to website/public/assets/img/companies/klm.svg diff --git a/website/static/img/companies/schneider.svg b/website/public/assets/img/companies/schneider.svg similarity index 100% rename from website/static/img/companies/schneider.svg rename to website/public/assets/img/companies/schneider.svg diff --git a/website/public/assets/img/eye.svg b/website/public/assets/img/eye.svg new file mode 100644 index 000000000000..1fa2620afb38 --- /dev/null +++ b/website/public/assets/img/eye.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/website/static/img/favicon.png b/website/public/assets/img/favicon.png similarity index 100% rename from website/static/img/favicon.png rename to website/public/assets/img/favicon.png diff --git a/website/static/img/favicon/favicon.ico b/website/public/assets/img/favicon/favicon.ico similarity index 100% rename from website/static/img/favicon/favicon.ico rename to website/public/assets/img/favicon/favicon.ico diff --git a/website/public/assets/img/gear.svg b/website/public/assets/img/gear.svg new file mode 100644 index 000000000000..dfbb40239a73 --- /dev/null +++ b/website/public/assets/img/gear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/img/gql-codegen-cover.png b/website/public/assets/img/gql-codegen-cover.png similarity index 100% rename from website/static/img/gql-codegen-cover.png rename to website/public/assets/img/gql-codegen-cover.png diff --git a/website/static/img/gql-codegen-cover.svg b/website/public/assets/img/gql-codegen-cover.svg similarity index 100% rename from website/static/img/gql-codegen-cover.svg rename to website/public/assets/img/gql-codegen-cover.svg diff --git a/website/static/img/gql-codegen-horizontal-back.svg b/website/public/assets/img/gql-codegen-horizontal-back.svg similarity index 100% rename from website/static/img/gql-codegen-horizontal-back.svg rename to website/public/assets/img/gql-codegen-horizontal-back.svg diff --git a/website/static/img/gql-codegen-horizontal.png b/website/public/assets/img/gql-codegen-horizontal.png similarity index 100% rename from website/static/img/gql-codegen-horizontal.png rename to website/public/assets/img/gql-codegen-horizontal.png diff --git a/website/static/img/gql-codegen-horizontal.svg b/website/public/assets/img/gql-codegen-horizontal.svg similarity index 100% rename from website/static/img/gql-codegen-horizontal.svg rename to website/public/assets/img/gql-codegen-horizontal.svg diff --git a/website/public/assets/img/gql-codegen-icon.svg b/website/public/assets/img/gql-codegen-icon.svg new file mode 100644 index 000000000000..57768eb660bd --- /dev/null +++ b/website/public/assets/img/gql-codegen-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/website/static/img/gql-codegen-logo.svg b/website/public/assets/img/gql-codegen-logo.svg similarity index 100% rename from website/static/img/gql-codegen-logo.svg rename to website/public/assets/img/gql-codegen-logo.svg diff --git a/website/static/img/hexagons/blue.svg b/website/public/assets/img/hexagons/blue.svg similarity index 100% rename from website/static/img/hexagons/blue.svg rename to website/public/assets/img/hexagons/blue.svg diff --git a/website/static/img/hexagons/pink.svg b/website/public/assets/img/hexagons/pink.svg similarity index 100% rename from website/static/img/hexagons/pink.svg rename to website/public/assets/img/hexagons/pink.svg diff --git a/website/static/img/icons/angular.svg b/website/public/assets/img/icons/angular.svg similarity index 100% rename from website/static/img/icons/angular.svg rename to website/public/assets/img/icons/angular.svg diff --git a/website/static/img/icons/apollo.svg b/website/public/assets/img/icons/apollo.svg similarity index 100% rename from website/static/img/icons/apollo.svg rename to website/public/assets/img/icons/apollo.svg diff --git a/website/public/assets/img/icons/codegen.svg b/website/public/assets/img/icons/codegen.svg new file mode 100644 index 000000000000..57768eb660bd --- /dev/null +++ b/website/public/assets/img/icons/codegen.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/website/static/img/icons/csharp.svg b/website/public/assets/img/icons/csharp.svg similarity index 100% rename from website/static/img/icons/csharp.svg rename to website/public/assets/img/icons/csharp.svg diff --git a/website/static/img/icons/flow.svg b/website/public/assets/img/icons/flow.svg similarity index 100% rename from website/static/img/icons/flow.svg rename to website/public/assets/img/icons/flow.svg diff --git a/website/public/assets/img/icons/graphql-modules.svg b/website/public/assets/img/icons/graphql-modules.svg new file mode 100644 index 000000000000..1dfbf1ebb116 --- /dev/null +++ b/website/public/assets/img/icons/graphql-modules.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/website/static/img/icons/graphql.svg b/website/public/assets/img/icons/graphql.svg similarity index 100% rename from website/static/img/icons/graphql.svg rename to website/public/assets/img/icons/graphql.svg diff --git a/website/static/img/icons/java.svg b/website/public/assets/img/icons/java.svg similarity index 100% rename from website/static/img/icons/java.svg rename to website/public/assets/img/icons/java.svg diff --git a/website/static/img/icons/mongodb.png b/website/public/assets/img/icons/mongodb.png similarity index 100% rename from website/static/img/icons/mongodb.png rename to website/public/assets/img/icons/mongodb.png diff --git a/website/static/img/icons/nodejs.svg b/website/public/assets/img/icons/nodejs.svg similarity index 100% rename from website/static/img/icons/nodejs.svg rename to website/public/assets/img/icons/nodejs.svg diff --git a/website/static/img/icons/react-query.svg b/website/public/assets/img/icons/react-query.svg similarity index 100% rename from website/static/img/icons/react-query.svg rename to website/public/assets/img/icons/react-query.svg diff --git a/website/static/img/icons/react.svg b/website/public/assets/img/icons/react.svg similarity index 100% rename from website/static/img/icons/react.svg rename to website/public/assets/img/icons/react.svg diff --git a/website/static/img/icons/type-graphql.png b/website/public/assets/img/icons/type-graphql.png similarity index 100% rename from website/static/img/icons/type-graphql.png rename to website/public/assets/img/icons/type-graphql.png diff --git a/website/static/img/icons/typescript.svg b/website/public/assets/img/icons/typescript.svg similarity index 100% rename from website/static/img/icons/typescript.svg rename to website/public/assets/img/icons/typescript.svg diff --git a/website/static/img/icons/urql.svg b/website/public/assets/img/icons/urql.svg similarity index 100% rename from website/static/img/icons/urql.svg rename to website/public/assets/img/icons/urql.svg diff --git a/website/static/img/icons/vue.svg b/website/public/assets/img/icons/vue.svg similarity index 100% rename from website/static/img/icons/vue.svg rename to website/public/assets/img/icons/vue.svg diff --git a/website/public/assets/img/illustrations/gql-codegen-cover.svg b/website/public/assets/img/illustrations/gql-codegen-cover.svg new file mode 100644 index 000000000000..1238bc8deb6f --- /dev/null +++ b/website/public/assets/img/illustrations/gql-codegen-cover.svg @@ -0,0 +1,1989 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/public/assets/img/illustrations/gql-generate-code-illustration.svg b/website/public/assets/img/illustrations/gql-generate-code-illustration.svg new file mode 100644 index 000000000000..5b3eb3410699 --- /dev/null +++ b/website/public/assets/img/illustrations/gql-generate-code-illustration.svg @@ -0,0 +1,492 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/public/assets/img/illustrations/gql-watch-for-changes-illustration.svg b/website/public/assets/img/illustrations/gql-watch-for-changes-illustration.svg new file mode 100644 index 000000000000..e730a5a92c7c --- /dev/null +++ b/website/public/assets/img/illustrations/gql-watch-for-changes-illustration.svg @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/static/img/logo.svg b/website/public/assets/img/logo.svg similarity index 100% rename from website/static/img/logo.svg rename to website/public/assets/img/logo.svg diff --git a/website/static/img/magic.svg b/website/public/assets/img/magic.svg similarity index 100% rename from website/static/img/magic.svg rename to website/public/assets/img/magic.svg diff --git a/website/static/img/more-options.svg b/website/public/assets/img/more-options.svg similarity index 100% rename from website/static/img/more-options.svg rename to website/public/assets/img/more-options.svg diff --git a/website/static/img/puzzle.svg b/website/public/assets/img/puzzle.svg similarity index 100% rename from website/static/img/puzzle.svg rename to website/public/assets/img/puzzle.svg diff --git a/website/static/img/socials/github.svg b/website/public/assets/img/socials/github.svg similarity index 100% rename from website/static/img/socials/github.svg rename to website/public/assets/img/socials/github.svg diff --git a/website/static/img/socials/medium.svg b/website/public/assets/img/socials/medium.svg similarity index 100% rename from website/static/img/socials/medium.svg rename to website/public/assets/img/socials/medium.svg diff --git a/website/static/img/socials/twitter.svg b/website/public/assets/img/socials/twitter.svg similarity index 100% rename from website/static/img/socials/twitter.svg rename to website/public/assets/img/socials/twitter.svg diff --git a/website/static/img/v13-migration-cli.gif b/website/public/assets/img/v13-migration-cli.gif similarity index 100% rename from website/static/img/v13-migration-cli.gif rename to website/public/assets/img/v13-migration-cli.gif diff --git a/website/public/assets/magic.svg b/website/public/assets/magic.svg new file mode 100644 index 000000000000..664d2e67c195 --- /dev/null +++ b/website/public/assets/magic.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/website/public/assets/more-options.svg b/website/public/assets/more-options.svg new file mode 100644 index 000000000000..d611d50e9803 --- /dev/null +++ b/website/public/assets/more-options.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/public/assets/puzzle.svg b/website/public/assets/puzzle.svg new file mode 100644 index 000000000000..fcd57eb0bd9e --- /dev/null +++ b/website/public/assets/puzzle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/public/assets/subheader-logo.svg b/website/public/assets/subheader-logo.svg new file mode 100644 index 000000000000..bd2fa40e2d2e --- /dev/null +++ b/website/public/assets/subheader-logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/website/public/favicon.ico b/website/public/favicon.ico new file mode 100644 index 000000000000..4016160b2102 Binary files /dev/null and b/website/public/favicon.ico differ diff --git a/website/public/locales/en/common.json b/website/public/locales/en/common.json new file mode 100644 index 000000000000..1dd64c715b35 --- /dev/null +++ b/website/public/locales/en/common.json @@ -0,0 +1,3 @@ +{ + "greeting": "Hello!" +} diff --git a/website/static/config.schema.json b/website/public/static/config.schema.json similarity index 84% rename from website/static/config.schema.json rename to website/public/static/config.schema.json index 29bea8e90f41..6f444746f31a 100644 --- a/website/static/config.schema.json +++ b/website/public/static/config.schema.json @@ -30,7 +30,13 @@ "description": "A map where the key represents an output path for the generated code and the value represents a set of options which are relevant for that specific file.\n\nFor more details: https://graphql-code-generator.com/docs/getting-started/codegen-config", "type": "object", "additionalProperties": { - "$ref": "#/definitions/Types.ConfiguredOutput" + "anyOf": [ + { "$ref": "#/definitions/Types.ConfiguredOutput" }, + { + "type": "array", + "items": { "$ref": "#/definitions/Types.ConfiguredPlugin" } + } + ] } }, "overwrite": { @@ -39,28 +45,14 @@ }, "watch": { "description": "A flag to trigger codegen when there are changes in the specified GraphQL schemas.\n\nYou can either specify a boolean to turn it on/off or specify an array of glob patterns to add custom files to the watch.\n\nFor more details: https://graphql-code-generator.com/docs/getting-started/development-workflow#watch-mode", - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": ["string", "boolean"] - } - ] + "anyOf": [{ "type": "array", "items": { "type": "string" } }, { "type": ["string", "boolean"] }] }, "watchConfig": { "description": "Allows overriding the behavior of watch to use stat polling over native file watching support.\n\nConfig fields have the same defaults and sematics as the identically named ones for chokidar.\n\nFor more details: https://graphql-code-generator.com/docs/getting-started/development-workflow#watch-mode", "type": "object", "properties": { - "usePolling": { - "type": "boolean" - }, - "interval": { - "type": "number" - } + "usePolling": { "type": "boolean" }, + "interval": { "type": "number" } } }, "silent": { @@ -109,33 +101,23 @@ "type": "object", "properties": { "fetcher": { - "description": "Customize the fetcher you wish to use in the generated file. React-Query is agnostic to the data-fetcing layer, so you should provide it, or use a custom one.\n\nThe following options are available to use:\n- 'fetch' - requires you to specify endpoint and headers on each call, and uses `fetch` to do the actual http call.\n- `{ endpoint: string, fetchParams: RequestInit }`: hardcode your endpoint and fetch options into the generated output, using the environment `fetch` method. You can also use `process.env.MY_VAR` as endpoint or header value.\n- `file#identifier` - You can use custom fetcher method that should implement the exported `ReactQueryFetcher` interface. Example: `./my-fetcher#myCustomFetcher`.\n- `graphql-request`: Will generate each hook with `client` argument, where you should pass your own `GraphQLClient` (created from `graphql-request`).", + "description": "Customize the fetcher you wish to use in the generated file. React-Query is agnostic to the data-fetching layer, so you should provide it, or use a custom one.\n\nThe following options are available to use:\n\n- 'fetch' - requires you to specify endpoint and headers on each call, and uses `fetch` to do the actual http call.\n- `{ endpoint: string, fetchParams: RequestInit }`: hardcode your endpoint and fetch options into the generated output, using the environment `fetch` method. You can also use `process.env.MY_VAR` as endpoint or header value.\n- `file#identifier` - You can use custom fetcher method that should implement the exported `ReactQueryFetcher` interface. Example: `./my-fetcher#myCustomFetcher`.\n- `graphql-request`: Will generate each hook with `client` argument, where you should pass your own `GraphQLClient` (created from `graphql-request`).", "anyOf": [ { "type": "object", "properties": { - "endpoint": { - "type": "string" - }, - "fetchParams": { - "type": "string" - } + "endpoint": { "type": "string" }, + "fetchParams": { "type": "string" } } }, { "type": "object", "properties": { - "func": { - "type": "string" - }, - "isReactHook": { - "type": "boolean" - } + "func": { "type": "string" }, + "isReactHook": { "type": "boolean" } } }, - { - "type": "string" - } + { "type": "string" } ] }, "exposeDocument": { @@ -151,13 +133,17 @@ "type": "boolean" }, "exposeFetcher": { - "description": "For each generate query hook addds `fetcher` field with a corresponding GraphQL query using the fetcher.\nIt is useful for `queryClient.fetchQuery` and `queryClient.prefetchQuery`.\nDefault value: \"false\"", + "description": "For each generate query hook adds `fetcher` field with a corresponding GraphQL query using the fetcher.\nIt is useful for `queryClient.fetchQuery` and `queryClient.prefetchQuery`.\nDefault value: \"false\"", "type": "boolean" }, "errorType": { "description": "Changes the default \"TError\" generic type.\nDefault value: \"unknown\"", "type": "string" }, + "addInfiniteQuery": { + "description": "Adds an Infinite Query along side the standard one\nDefault value: \"false\"", + "type": "boolean" + }, "dedupeOperationSuffix": { "description": "Set this configuration to `true` if you wish to make sure to remove duplicate operation name suffix.\nDefault value: \"false\"", "type": "boolean" @@ -212,7 +198,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -223,7 +209,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -236,7 +222,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -265,6 +251,10 @@ "description": "usingObservableFrom: \"import Observable from 'zen-observable';\"\nOR\nusingObservableFrom: \"import { Observable } from 'rxjs';\"", "type": "string" }, + "rawRequest": { + "description": "By default the `request` method return the `data` or `errors` key from the response. If you need to access the `extensions` key you can use the `rawRequest` method.\nDefault value: \"false\"", + "type": "boolean" + }, "noGraphQLTag": { "description": "Deprecated. Changes the documentMode to `documentNode`.\nDefault value: \"false\"", "type": "boolean" @@ -311,7 +301,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -322,7 +312,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -347,7 +337,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -358,7 +348,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -375,7 +365,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -406,17 +396,7 @@ }, "content": { "description": "The actual content you wish to add, either a string or array of strings.\nYou can also specify a path to a local file and the content if it will be loaded by codegen.", - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] + "anyOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "string" }] } } }, @@ -439,21 +419,14 @@ "properties": { "avoidOptionals": { "description": "This will cause the generator to avoid using TypeScript optionals (`?`) on types,\nso the following definition: `type A { myField: String }` will output `myField: Maybe`\ninstead of `myField?: Maybe`.\nDefault value: \"false\"", - "anyOf": [ - { - "$ref": "#/definitions/AvoidOptionalsConfig" - }, - { - "type": "boolean" - } - ] + "anyOf": [{ "$ref": "#/definitions/AvoidOptionalsConfig" }, { "type": "boolean" }] }, "constEnums": { "description": "Will prefix every generated `enum` with `const`, you can read more about const enums here: https://www.typescriptlang.org/docs/handbook/enums.html.\nDefault value: \"false\"", "type": "boolean" }, "enumsAsTypes": { - "description": "Generates enum as TypeScript `type` instead of `enum`. Useful it you wish to generate `.d.ts` declaration file instead of `.ts`\nDefault value: \"false\"", + "description": "Generates enum as TypeScript `type` instead of `enum`. Useful if you wish to generate `.d.ts` declaration file instead of `.ts`\nDefault value: \"false\"", "type": "boolean" }, "numericEnums": { @@ -502,7 +475,7 @@ }, "wrapEntireFieldDefinitions": { "type": "boolean", - "description": "Set the to `true` in order to wrap field definitions with `EntireFieldWrapper`.\nThis is useful to allow return types such as Promises and functions for fields.\nDiffers from `wrapFieldDefinitions` in that this wraps the entire field definition if ie. the field is an Array, while\n`wrapFieldDefinitions` will wrap every single value inside the array.\nDefault value: \"true\"" + "description": "Set to `true` in order to wrap field definitions with `EntireFieldWrapper`.\nThis is useful to allow return types such as Promises and functions for fields.\nDiffers from `wrapFieldDefinitions` in that this wraps the entire field definition if i.e. the field is an Array, while\n`wrapFieldDefinitions` will wrap every single value inside the array.\nDefault value: \"false\"" }, "entireFieldWrapperValue": { "type": "string", @@ -523,9 +496,7 @@ "declarationKind": { "description": "Overrides the default output for various GraphQL elements.", "anyOf": [ - { - "$ref": "#/definitions/DeclarationKindConfig" - }, + { "$ref": "#/definitions/DeclarationKindConfig" }, { "enum": ["abstract class", "class", "interface", "type"], "type": "string" @@ -541,7 +512,7 @@ "type": "string" }, "wrapFieldDefinitions": { - "description": "Set the to `true` in order to wrap field definitions with `FieldWrapper`.\nThis is useful to allow return types such as Promises and functions.\nDefault value: \"false\"", + "description": "Set to `true` in order to wrap field definitions with `FieldWrapper`.\nThis is useful to allow return types such as Promises and functions.\nDefault value: \"false\"", "type": "boolean" }, "ignoreEnumValuesFromSchema": { @@ -550,7 +521,7 @@ }, "directiveArgumentAndInputFieldMappings": { "$ref": "#/definitions/DirectiveArgumentAndInputFieldMappings", - "description": "Replaces a GraphQL scalar with a custom type based on the applied directive on an argument or input field.\n\nYou can use both `module#type` and `module#namespace#type` syntax.\nWill NOT work with introspected schemas since directives are not exported.\nOnly works with directives on ARGUMENT_DEFINITION or INPUT_FIELD_DEFINITION.\n\n**WARNING:** Using this option does only change the type definitions.\n\nFor actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://www.graphql-tools.com/docs/schema-directives)) that apply those rules!\nOtherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.\n\nPlease use this configuration option with care!" + "description": "Replaces a GraphQL scalar with a custom type based on the applied directive on an argument or input field.\n\nYou can use both `module#type` and `module#namespace#type` syntax.\nWill NOT work with introspected schemas since directives are not exported.\nOnly works with directives on ARGUMENT_DEFINITION or INPUT_FIELD_DEFINITION.\n\n**WARNING:** Using this option does only change the type definitions.\n\nFor actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://graphql-tools.com/docs/schema-directives)) that apply those rules!\nOtherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.\n\nPlease use this configuration option with care!" }, "directiveArgumentAndInputFieldMappingTypeSuffix": { "description": "Adds a suffix to the imported names to prevent name clashes.", @@ -570,7 +541,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -581,7 +552,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -598,28 +569,21 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, "TypeScriptDocumentsPluginConfig": { - "description": "This plugin generates TypeScript types based on your GraphQLSchema *and* your GraphQL operations and fragments.\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nNote: In most configurations, this plugin requires you to use `typescript as well, because it depends on its base types.", + "description": "This plugin generates TypeScript types based on your GraphQLSchema _and_ your GraphQL operations and fragments.\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nNote: In most configurations, this plugin requires you to use `typescript as well, because it depends on its base types.", "type": "object", "properties": { "arrayInputCoercion": { - "description": "The [GraphQL spec]{@link https://spec.graphql.org/draft/#sel-FAHjBJFCAACE_Gh7d}\nallows arrays and a single primitive value for list input. This allows to\ndeactivate that behavior to only accept arrays instead of single values. If\nset to `false`, the definition: `query foo(bar: [Int!]!): Foo` will output\n`bar: Array` instead of `bar: Array | Int` for the variable part.\nDefault value: \"true\"", + "description": "The [GraphQL spec]{@link https ://spec.graphql.org/draft/#sel-FAHjBJFCAACE_Gh7d}allows arrays and a single primitive value for list input. This allows to\ndeactivate that behavior to only accept arrays instead of single values. If\nset to `false`, the definition: `query foo(bar: [Int!]!): Foo` will output\n`bar: Array` instead of `bar: Array | Int` for the variable part.\nDefault value: \"true\"", "type": "boolean" }, "avoidOptionals": { "description": "This will cause the generator to avoid using TypeScript optionals (`?`) on types,\nso the following definition: `type A { myField: String }` will output `myField: Maybe`\ninstead of `myField?: Maybe`.\nDefault value: \"false\"", - "anyOf": [ - { - "$ref": "#/definitions/AvoidOptionalsConfig" - }, - { - "type": "boolean" - } - ] + "anyOf": [{ "$ref": "#/definitions/AvoidOptionalsConfig" }, { "type": "boolean" }] }, "immutableTypes": { "description": "Generates immutable types by adding `readonly` to properties and uses `ReadonlyArray`.\nDefault value: \"false\"", @@ -633,19 +597,21 @@ "description": "Set to `true` in order to generate output without `export` modifier.\nThis is useful if you are generating `.d.ts` file and want it to be globally available.\nDefault value: \"false\"", "type": "boolean" }, - "globalNamespace": { - "type": "boolean" - }, + "globalNamespace": { "type": "boolean" }, "addOperationExport": { "type": "boolean", - "description": "Add const export of the operation name to output file. Pay attention that the file should be `d.ts`.\nYou can combine it with `near-operation-file preset` and therefore the types will be generated along with graphql file. Then you need to set extension in `presetConfig` to be `.gql.d.ts` and by that you can import `gql` file in `ts` files.\nIt will allow you to get everything with one import: ```import { GetClient, GetClientQuery, GetClientQueryVariables, } from \"./GetClient.gql\";```.\nDefault value: \"false\"" + "description": "Add const export of the operation name to output file. Pay attention that the file should be `d.ts`.\nYou can combine it with `near-operation-file preset` and therefore the types will be generated along with graphql file. Then you need to set extension in `presetConfig` to be `.gql.d.ts` and by that you can import `gql` file in `ts` files.\nIt will allow you to get everything with one import:\n\n```ts\nimport { GetClient, GetClientQuery, GetClientQueryVariables } from './GetClient.gql'\n```\nDefault value: \"false\"" + }, + "maybeValue": { + "description": "Allow to override the type value of `Maybe`.\nDefault value: \"T | null\"", + "type": "string" }, "preResolveTypes": { "description": "Uses primitive types where possible.\nSet to `false` in order to use `Pick` and take use the types generated by `typescript` plugin.\nDefault value: \"true\"", "type": "boolean" }, "skipTypeNameForRoot": { - "description": "Avoid adding `__typename` for root types. This is ignored when a selection explictly specifies `__typename`.\nDefault value: \"false\"", + "description": "Avoid adding `__typename` for root types. This is ignored when a selection explicitly specifies `__typename`.\nDefault value: \"false\"", "type": "boolean" }, "operationResultSuffix": { @@ -679,9 +645,7 @@ "declarationKind": { "description": "Overrides the default output for various GraphQL elements.", "anyOf": [ - { - "$ref": "#/definitions/DeclarationKindConfig" - }, + { "$ref": "#/definitions/DeclarationKindConfig" }, { "enum": ["abstract class", "class", "interface", "type"], "type": "string" @@ -697,7 +661,7 @@ "type": "string" }, "wrapFieldDefinitions": { - "description": "Set the to `true` in order to wrap field definitions with `FieldWrapper`.\nThis is useful to allow return types such as Promises and functions.\nDefault value: \"false\"", + "description": "Set to `true` in order to wrap field definitions with `FieldWrapper`.\nThis is useful to allow return types such as Promises and functions.\nDefault value: \"false\"", "type": "boolean" }, "onlyOperationTypes": { @@ -710,7 +674,7 @@ }, "wrapEntireFieldDefinitions": { "type": "boolean", - "description": "Set the to `true` in order to wrap field definitions with `EntireFieldWrapper`.\nThis is useful to allow return types such as Promises and functions for fields.\nDiffers from `wrapFieldDefinitions` in that this wraps the entire field definition if ie. the field is an Array, while\n`wrapFieldDefinitions` will wrap every single value inside the array.\nDefault value: \"true\"" + "description": "Set to `true` in order to wrap field definitions with `EntireFieldWrapper`.\nThis is useful to allow return types such as Promises and functions for fields.\nDiffers from `wrapFieldDefinitions` in that this wraps the entire field definition if i.e. the field is an Array, while\n`wrapFieldDefinitions` will wrap every single value inside the array.\nDefault value: \"true\"" }, "entireFieldWrapperValue": { "type": "string", @@ -718,7 +682,7 @@ }, "directiveArgumentAndInputFieldMappings": { "$ref": "#/definitions/DirectiveArgumentAndInputFieldMappings", - "description": "Replaces a GraphQL scalar with a custom type based on the applied directive on an argument or input field.\n\nYou can use both `module#type` and `module#namespace#type` syntax.\nWill NOT work with introspected schemas since directives are not exported.\nOnly works with directives on ARGUMENT_DEFINITION or INPUT_FIELD_DEFINITION.\n\n**WARNING:** Using this option does only change the type definitions.\n\nFor actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://www.graphql-tools.com/docs/schema-directives)) that apply those rules!\nOtherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.\n\nPlease use this configuration option with care!" + "description": "Replaces a GraphQL scalar with a custom type based on the applied directive on an argument or input field.\n\nYou can use both `module#type` and `module#namespace#type` syntax.\nWill NOT work with introspected schemas since directives are not exported.\nOnly works with directives on ARGUMENT_DEFINITION or INPUT_FIELD_DEFINITION.\n\n**WARNING:** Using this option does only change the type definitions.\n\nFor actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://graphql-tools.com/docs/schema-directives)) that apply those rules!\nOtherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.\n\nPlease use this configuration option with care!" }, "directiveArgumentAndInputFieldMappingTypeSuffix": { "description": "Adds a suffix to the imported names to prevent name clashes.", @@ -738,7 +702,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -749,7 +713,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -766,7 +730,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -816,7 +780,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -827,7 +791,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -844,7 +808,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -922,7 +886,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -933,7 +897,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -958,7 +922,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -969,7 +933,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -986,7 +950,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -1003,16 +967,14 @@ "type": "boolean" }, "commentDescriptions": { - "description": "Set to true in order to print description as comments (using # instead of \"\"\")\nDefault value: \"false\"", + "description": "Set to true in order to print description as comments (using `#` instead of `\"\"\"`)\nDefault value: \"false\"", "type": "boolean" }, "sort": { "description": "Set to false to disable sorting\nDefault value: \"true\"", "type": "boolean" }, - "federation": { - "type": "boolean" - } + "federation": { "type": "boolean" } } }, "TypeGraphQLPluginConfig": { @@ -1020,29 +982,22 @@ "properties": { "decoratorName": { "$ref": "#/definitions/Partial_1", - "description": "allow overriding of TypeGraphQL decorator types\nDefault value: \"`{ type: 'ObjectType', interface: 'InterfaceType', arguments: 'ArgsType', field: 'Field', input: 'InputType' }`\"" + "description": "allow overriding of TypeGraphQL decorator types\nDefault value: \"{ type: 'ObjectType', interface: 'InterfaceType', arguments: 'ArgsType', field: 'Field', input: 'InputType' }\"" }, "decorateTypes": { - "description": "Speciies the objects that will have TypeGraphQL decorators prepended to them, by name. Non-matching types will still be output, but without decorators. If not set, all types will be decorated.", + "description": "Specifies the objects that will have TypeGraphQL decorators prepended to them, by name. Non-matching types will still be output, but without decorators. If not set, all types will be decorated.", "type": "string[]" }, "avoidOptionals": { "description": "This will cause the generator to avoid using TypeScript optionals (`?`) on types,\nso the following definition: `type A { myField: String }` will output `myField: Maybe`\ninstead of `myField?: Maybe`.\nDefault value: \"false\"", - "anyOf": [ - { - "$ref": "#/definitions/AvoidOptionalsConfig" - }, - { - "type": "boolean" - } - ] + "anyOf": [{ "$ref": "#/definitions/AvoidOptionalsConfig" }, { "type": "boolean" }] }, "constEnums": { "description": "Will prefix every generated `enum` with `const`, you can read more about const enums here: https://www.typescriptlang.org/docs/handbook/enums.html.\nDefault value: \"false\"", "type": "boolean" }, "enumsAsTypes": { - "description": "Generates enum as TypeScript `type` instead of `enum`. Useful it you wish to generate `.d.ts` declaration file instead of `.ts`\nDefault value: \"false\"", + "description": "Generates enum as TypeScript `type` instead of `enum`. Useful if you wish to generate `.d.ts` declaration file instead of `.ts`\nDefault value: \"false\"", "type": "boolean" }, "numericEnums": { @@ -1091,7 +1046,7 @@ }, "wrapEntireFieldDefinitions": { "type": "boolean", - "description": "Set the to `true` in order to wrap field definitions with `EntireFieldWrapper`.\nThis is useful to allow return types such as Promises and functions for fields.\nDiffers from `wrapFieldDefinitions` in that this wraps the entire field definition if ie. the field is an Array, while\n`wrapFieldDefinitions` will wrap every single value inside the array.\nDefault value: \"true\"" + "description": "Set to `true` in order to wrap field definitions with `EntireFieldWrapper`.\nThis is useful to allow return types such as Promises and functions for fields.\nDiffers from `wrapFieldDefinitions` in that this wraps the entire field definition if i.e. the field is an Array, while\n`wrapFieldDefinitions` will wrap every single value inside the array.\nDefault value: \"false\"" }, "entireFieldWrapperValue": { "type": "string", @@ -1112,9 +1067,7 @@ "declarationKind": { "description": "Overrides the default output for various GraphQL elements.", "anyOf": [ - { - "$ref": "#/definitions/DeclarationKindConfig" - }, + { "$ref": "#/definitions/DeclarationKindConfig" }, { "enum": ["abstract class", "class", "interface", "type"], "type": "string" @@ -1130,7 +1083,7 @@ "type": "string" }, "wrapFieldDefinitions": { - "description": "Set the to `true` in order to wrap field definitions with `FieldWrapper`.\nThis is useful to allow return types such as Promises and functions.\nDefault value: \"false\"", + "description": "Set to `true` in order to wrap field definitions with `FieldWrapper`.\nThis is useful to allow return types such as Promises and functions.\nDefault value: \"false\"", "type": "boolean" }, "ignoreEnumValuesFromSchema": { @@ -1139,7 +1092,7 @@ }, "directiveArgumentAndInputFieldMappings": { "$ref": "#/definitions/DirectiveArgumentAndInputFieldMappings", - "description": "Replaces a GraphQL scalar with a custom type based on the applied directive on an argument or input field.\n\nYou can use both `module#type` and `module#namespace#type` syntax.\nWill NOT work with introspected schemas since directives are not exported.\nOnly works with directives on ARGUMENT_DEFINITION or INPUT_FIELD_DEFINITION.\n\n**WARNING:** Using this option does only change the type definitions.\n\nFor actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://www.graphql-tools.com/docs/schema-directives)) that apply those rules!\nOtherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.\n\nPlease use this configuration option with care!" + "description": "Replaces a GraphQL scalar with a custom type based on the applied directive on an argument or input field.\n\nYou can use both `module#type` and `module#namespace#type` syntax.\nWill NOT work with introspected schemas since directives are not exported.\nOnly works with directives on ARGUMENT_DEFINITION or INPUT_FIELD_DEFINITION.\n\n**WARNING:** Using this option does only change the type definitions.\n\nFor actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://graphql-tools.com/docs/schema-directives)) that apply those rules!\nOtherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.\n\nPlease use this configuration option with care!" }, "directiveArgumentAndInputFieldMappingTypeSuffix": { "description": "Adds a suffix to the imported names to prevent name clashes.", @@ -1159,7 +1112,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -1170,7 +1123,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -1187,7 +1140,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -1228,13 +1181,17 @@ } }, "RawGraphQLRequestPluginConfig": { - "description": "This plugin generates [`graphql-request`](https://www.npmjs.com/package/graphql-request) ready-to-use SDK, which is fully-typed.", + "description": "This plugin generates [`graphql-request`](https://npmjs.com/package/graphql-request) ready-to-use SDK, which is fully-typed.", "type": "object", "properties": { "rawRequest": { - "description": "By default the `request` method return the `data` or `errors` key from the response. If you need to access the `extensions` key you can use the `rawRequest` method.\nDefault value: \"false\"", + "description": "By default, the `request` method return the `data` or `errors` key from the response. If you need to access the `extensions` key you can use the `rawRequest` method.\nDefault value: \"false\"", "type": "boolean" }, + "extensionsType": { + "description": "Allows you to override the type for extensions when `rawRequest` is enabled.\nDefault value: \"any\"", + "type": "string" + }, "noGraphQLTag": { "description": "Deprecated. Changes the documentMode to `documentNode`.\nDefault value: \"false\"", "type": "boolean" @@ -1281,7 +1238,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -1292,7 +1249,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -1317,7 +1274,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -1328,7 +1285,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -1345,7 +1302,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -1390,7 +1347,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -1401,7 +1358,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -1418,12 +1375,12 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, "TypeScriptResolversPluginConfig": { - "description": "This plugin generates TypeScript signature for `resolve` functions of your GraphQL API.\nYou can use this plugin a to generate simple resolvers signature based on your GraphQL types, or you can change it's behavior be providing custom model types (mappers).\n\nYou can find a blog post explaining the usage of this plugin here: https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen", + "description": "This plugin generates TypeScript signature for `resolve` functions of your GraphQL API.\nYou can use this plugin to generate simple resolvers signature based on your GraphQL types, or you can change its behavior be providing custom model types (mappers).\n\nYou can find a blog post explaining the usage of this plugin here: https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen", "type": "object", "properties": { "useIndexSignature": { @@ -1431,7 +1388,7 @@ "type": "boolean" }, "noSchemaStitching": { - "description": "Disables/Enables Schema Stitching support.\nBy defualt, the resolver signature does not include the support for schema-stitching.\nSet to `false` to enable that.\nDefault value: \"true\"", + "description": "Disables/Enables Schema Stitching support.\nBy default, the resolver signature does not include the support for schema-stitching.\nSet to `false` to enable that.\nDefault value: \"true\"", "type": "boolean" }, "wrapFieldDefinitions": { @@ -1467,7 +1424,7 @@ "type": "boolean" }, "contextType": { - "description": "Use this configuration to set a custom type for your `context`, and it will\neffect all the resolvers, without the need to override it using generics each time.\nIf you wish to use an external type and import it from another file, you can use `add` plugin\nand add the required `import` statement, or you can use a `module#type` syntax.", + "description": "Use this configuration to set a custom type for your `context`, and it will\naffect all the resolvers, without the need to override it using generics each time.\nIf you wish to use an external type and import it from another file, you can use `add` plugin\nand add the required `import` statement, or you can use a `module#type` syntax.", "type": "string" }, "fieldContextTypes": { @@ -1475,7 +1432,7 @@ "description": "Use this to set a custom type for a specific field `context`.\nIt will only affect the targeted resolvers.\nYou can either use `Field.Path#ContextTypeName` or `Field.Path#ExternalFileName#ContextTypeName`" }, "rootValueType": { - "description": "Use this configuration to set a custom type for the `rootValue`, and it will\neffect resolvers of all root types (Query, Mutation and Subscription), without the need to override it using generics each time.\nIf you wish to use an external type and import it from another file, you can use `add` plugin\nand add the required `import` statement, or you can use both `module#type` or `module#namespace#type` syntax.", + "description": "Use this configuration to set a custom type for the `rootValue`, and it will\naffect resolvers of all root types (Query, Mutation and Subscription), without the need to override it using generics each time.\nIf you wish to use an external type and import it from another file, you can use `add` plugin\nand add the required `import` statement, or you can use both `module#type` or `module#namespace#type` syntax.", "type": "string" }, "mapperTypeSuffix": { @@ -1485,24 +1442,15 @@ "mappers": { "description": "Replaces a GraphQL type usage with a custom type, allowing you to return custom object from\nyour resolvers.\nYou can use both `module#type` and `module#namespace#type` syntax.", "type": "object", - "additionalProperties": { - "type": "string" - } + "additionalProperties": { "type": "string" } }, "defaultMapper": { - "description": "Allow you to set the default mapper when it's not being override by `mappers` or generics.\nYou can specify a type name, or specify a string in `module#type` or `module#namespace#type` format.\nThe default value of mappers it the TypeScript type generated by `typescript` package.", + "description": "Allow you to set the default mapper when it's not being override by `mappers` or generics.\nYou can specify a type name, or specify a string in `module#type` or `module#namespace#type` format.\nThe default value of mappers is the TypeScript type generated by `typescript` package.", "type": "string" }, "avoidOptionals": { "description": "This will cause the generator to avoid using optionals (`?`),\nso all field resolvers must be implemented in order to avoid compilation errors.\nDefault value: \"false\"", - "anyOf": [ - { - "$ref": "#/definitions/AvoidOptionalsConfig" - }, - { - "type": "boolean" - } - ] + "anyOf": [{ "$ref": "#/definitions/AvoidOptionalsConfig" }, { "type": "boolean" }] }, "showUnusedMappers": { "description": "Warns about unused mappers.\nDefault value: \"true\"", @@ -1533,7 +1481,7 @@ "type": "boolean" }, "namespacedImportName": { - "description": "Prefixes all GraphQL related generated types with that value, as namespaces import.\nYou can use this featuere to allow seperation of plugins to different files.\nDefault value: \"''\"", + "description": "Prefixes all GraphQL related generated types with that value, as namespaces import.\nYou can use this feature to allow separation of plugins to different files.\nDefault value: \"''\"", "type": "string" }, "resolverTypeSuffix": { @@ -1546,11 +1494,11 @@ }, "internalResolversPrefix": { "type": "string", - "description": "Defines the prefix value used for `__resolveType` and and `__isTypeOf` resolvers.\nIf you are using `mercurius-js`, please set this field to empty string for better compatiblity.\nDefault value: \"'__'\"" + "description": "Defines the prefix value used for `__resolveType` and `__isTypeOf` resolvers.\nIf you are using `mercurius-js`, please set this field to empty string for better compatibility.\nDefault value: \"'__'\"" }, "onlyResolveTypeForInterfaces": { "type": "boolean", - "description": "Turning this flag to `true` will generate resolver siganture that has only `resolveType` for interfaces, forcing developers to write inherited type resolvers in the type itself.\nDefault value: \"false\"" + "description": "Turning this flag to `true` will generate resolver signature that has only `resolveType` for interfaces, forcing developers to write inherited type resolvers in the type itself.\nDefault value: \"false\"" }, "strictScalars": { "description": "Makes scalars strict.\n\nIf scalars are found in the schema that are not defined in `scalars`\nan error will be thrown during codegen.\nDefault value: \"false\"", @@ -1566,7 +1514,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -1577,7 +1525,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -1594,12 +1542,12 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, "ApolloAngularRawPluginConfig": { - "description": "This plugin generates Apollo services (`Query`, `Mutation` and `Subscription`) with TypeScript typings.\n\nIt will generate a strongly typed Angular service for every defined query, mutation or subscription. The generated Angular services are ready to inject and use within your Angular component.\n\nIt extends the basic TypeScript plugins: `@graphql-codegen/typescript`, `@graphql-codegen/typescript-operations` - and thus shares a similar configuration.\n\nTo shed some more light regards this template, it's recommended to go through the this article: https://apollo-angular.com/docs/get-started , and to read the Code Generation with Apollo Angular: https://the-guild.dev/blog/apollo-angular-12", + "description": "This plugin generates Apollo services (`Query`, `Mutation` and `Subscription`) with TypeScript typings.\n\nIt will generate a strongly typed Angular service for every defined query, mutation or subscription. The generated Angular services are ready to inject and use within your Angular component.\n\nIt extends the basic TypeScript plugins: `@graphql-codegen/typescript`, `@graphql-codegen/typescript-operations` - and thus shares a similar configuration.\n\nTo shed some more light regards this template, it's recommended to go through this article: https://apollo-angular.com/docs/get-started, and to read the Code Generation with Apollo Angular: https://the-guild.dev/blog/apollo-angular-12", "type": "object", "properties": { "apolloAngularVersion": { @@ -1649,9 +1597,7 @@ "additionalDI": { "description": "Add additional dependency injections for generated services\nDefault value: \"\"", "type": "array", - "items": { - "type": "string" - } + "items": { "type": "string" } }, "noGraphQLTag": { "description": "Deprecated. Changes the documentMode to `documentNode`.\nDefault value: \"false\"", @@ -1699,7 +1645,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -1710,7 +1656,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -1735,7 +1681,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -1746,7 +1692,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -1763,7 +1709,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -1780,7 +1726,7 @@ "type": "boolean" }, "urqlImportFrom": { - "description": "You can specify module that exports components `Query`, `Mutation`, `Subscription` and HOCs\nThis is useful for further abstraction of some common tasks (eg. error handling).\nFilepath relative to generated file can be also specified.\nDefault value: \"urql\"", + "description": "You can specify module that exports components `Query`, `Mutation`, `Subscription` and HOCs\nThis is useful for further abstraction of some common tasks (e.g. error handling).\nFilepath relative to generated file can be also specified.\nDefault value: \"urql\"", "type": "string" }, "noGraphQLTag": { @@ -1829,7 +1775,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -1840,7 +1786,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -1865,7 +1811,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -1876,7 +1822,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -1893,7 +1839,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -1902,15 +1848,15 @@ "type": "object", "properties": { "withComponent": { - "description": "Customize the output by enabling/disabling the generated Component (deprecated since Apollo-Client v3). For more details: https://www.apollographql.com/docs/react/api/react/components/\nDefault value: \"false\"", + "description": "Customize the output by enabling/disabling the generated Component (deprecated since Apollo-Client v3). For more details: https://apollographql.com/docs/react/api/react/components\nDefault value: \"false\"", "type": "boolean" }, "withHOC": { - "description": "Customize the output by enabling/disabling the HOC (deprecated since Apollo-Client v3). For more details: https://www.apollographql.com/docs/react/api/react/hoc/\nDefault value: \"false\"", + "description": "Customize the output by enabling/disabling the HOC (deprecated since Apollo-Client v3). For more details: https://apollographql.com/docs/react/api/react/hoc\nDefault value: \"false\"", "type": "boolean" }, "withHooks": { - "description": "Customized the output by enabling/disabling the generated React Hooks. For more details: https://www.apollographql.com/docs/react/api/react/hooks/\nDefault value: \"true\"", + "description": "Customized the output by enabling/disabling the generated React Hooks. For more details: https://apollographql.com/docs/react/api/react/hooks\nDefault value: \"true\"", "type": "boolean" }, "withMutationFn": { @@ -1960,13 +1906,9 @@ }, "defaultBaseOptions": { "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "hooksSuffix": { - "type": "string" + "additionalProperties": { "type": "string" } }, + "hooksSuffix": { "type": "string" }, "noGraphQLTag": { "description": "Deprecated. Changes the documentMode to `documentNode`.\nDefault value: \"false\"", "type": "boolean" @@ -2013,7 +1955,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -2024,7 +1966,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -2049,7 +1991,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -2060,7 +2002,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -2077,7 +2019,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -2147,7 +2089,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -2158,7 +2100,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -2183,7 +2125,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -2194,7 +2136,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -2211,7 +2153,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -2224,7 +2166,7 @@ "type": "boolean" }, "vueApolloOperationFunctionsImportFrom": { - "description": "The `typescript-vue-apollo-smart-ops` plugin requires three functions that are used to define your\nquery, subscription and mutation operation functions:\n - `createMutationFunction`\n - `createSmartQueryOptionsFunction`\n - `createSmartSubscriptionOptionsFunction`\nBy default these functions are provided by the `vue-apollo-smart-ops` package, but you can substitute\nyour own import path if you want to replace them with other implementations.\nDefault value: \"vue-apollo-smart-ops\"", + "description": "The `typescript-vue-apollo-smart-ops` plugin requires three functions that are used to define your\nquery, subscription and mutation operation functions:\n\n- `createMutationFunction`\n- `createSmartQueryOptionsFunction`\n- `createSmartSubscriptionOptionsFunction`\n\nBy default, these functions are provided by the `vue-apollo-smart-ops` package, but you can substitute\nyour own import path if you want to replace them with other implementations.\nDefault value: \"vue-apollo-smart-ops\"", "type": "string" }, "vueApolloErrorType": { @@ -2301,7 +2243,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -2312,7 +2254,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -2337,7 +2279,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -2348,7 +2290,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -2365,7 +2307,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -2378,7 +2320,7 @@ "type": "boolean" }, "urqlImportFrom": { - "description": "You can specify module that exports components `Query`, `Mutation`, `Subscription`\nThis is useful for further abstraction of some common tasks (eg. error handling).\nFilepath relative to generated file can be also specified.\nDefault value: \"urql\"", + "description": "You can specify module that exports components `Query`, `Mutation`, `Subscription`\nThis is useful for further abstraction of some common tasks (e.g. error handling).\nFilepath relative to generated file can be also specified.\nDefault value: \"urql\"", "type": "string" }, "noGraphQLTag": { @@ -2427,7 +2369,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -2438,7 +2380,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -2463,7 +2405,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -2474,7 +2416,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -2491,7 +2433,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -2549,7 +2491,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -2560,7 +2502,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -2585,7 +2527,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -2596,7 +2538,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -2613,17 +2555,17 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, "TypeScriptDocumentNodesRawPluginConfig": { - "description": "This plugin generates TypeScript source (`.ts`) file from GraphQL files (`.graphql`).", + "description": "This plugin generates TypeScript source `.ts` file from GraphQL files `.graphql`.", "type": "object", "properties": { "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "namePrefix": { "description": "Adds prefix to the name\nDefault value: \"\"", @@ -2687,7 +2629,7 @@ }, "documentMode": { "$ref": "#/definitions/DocumentMode", - "description": "Declares how DocumentNode are created:\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" + "description": "Declares how DocumentNode are created:\n\n- `graphQLTag`: `graphql-tag` or other modules (check `gqlImport`) will be used to generate document nodes. If this is used, document nodes are generated on client side i.e. the module used to generate this will be shipped to the client\n- `documentNode`: document nodes will be generated as objects when we generate the templates.\n- `documentNodeImportFragments`: Similar to documentNode except it imports external fragments instead of embedding them.\n- `external`: document nodes are imported from an external file. To be used with `importDocumentNodeExternallyFrom`\n\nNote that some plugins (like `typescript-graphql-request`) also supports `string` for this parameter.\nDefault value: \"graphQLTag\"" }, "optimizeDocumentNode": { "description": "If you are using `documentNode: documentMode | documentNodeImportFragments`, you can set this to `true` to apply document optimizations for your GraphQL document.\nThis will remove all \"loc\" and \"description\" fields from the compiled document, and will remove all empty arrays (such as `directives`, `arguments` and `variableDefinitions`).\nDefault value: \"true\"", @@ -2698,7 +2640,7 @@ "type": "string" }, "importDocumentNodeExternallyFrom": { - "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", + "description": "This config should be used if `documentMode` is `external`. This has 2 usage:\n\n- any string: This would be the path to import document nodes from. This can be used if we want to manually create the document nodes e.g. Use `graphql-tag` in a separate file and export the generated document\n- 'near-operation-file': This is a special mode that is intended to be used with `near-operation-file` preset to import document nodes from those files. If these files are `.graphql` files, we make use of webpack loader.\nDefault value: \"\"", "type": "string" }, "pureMagicComment": { @@ -2730,7 +2672,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -2747,7 +2689,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -2756,15 +2698,11 @@ "type": "object", "properties": { "link": { - "description": "GraphQL endpoint to use when working with multiple backends.\nDefault value: \"undefined\"", + "description": "GraphQL endpoint to use when working with multiple backends.", "type": "object", "properties": { - "endpoint": { - "type": "string" - }, - "name": { - "type": "string" - } + "endpoint": { "type": "string" }, + "name": { "type": "string" } } } } @@ -2785,9 +2723,7 @@ "description": "Customize the Java package name for the fragments generated classes.", "type": "string" }, - "fileType": { - "$ref": "#/definitions/FileType" - }, + "fileType": { "$ref": "#/definitions/FileType" }, "strictScalars": { "description": "Makes scalars strict.\n\nIf scalars are found in the schema that are not defined in `scalars`\nan error will be thrown during codegen.\nDefault value: \"false\"", "type": "boolean" @@ -2802,7 +2738,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -2813,7 +2749,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -2830,7 +2766,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -2844,9 +2780,7 @@ "mappers": { "description": "Allow you to replace specific GraphQL types with your custom model classes. This is useful when you want to make sure your resolvers returns the correct class.\nThe default value is the values set by `defaultMapper` configuration.\nYou can use a direct path to the package, or use `package#class` syntax to have it imported.", "type": "object", - "additionalProperties": { - "type": "string" - } + "additionalProperties": { "type": "string" } }, "defaultMapper": { "description": "Sets the default mapper value in case it's not specified by `mappers`.\nYou can use a direct path to the package, or use `package#class` syntax to have it imported.\nThe default mapper is Java's `Object`.\nDefault value: \"Object\"", @@ -2874,7 +2808,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -2885,7 +2819,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -2902,7 +2836,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -2939,7 +2873,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -2950,7 +2884,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -2967,7 +2901,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -2994,9 +2928,7 @@ "declarationKind": { "description": "Overrides the default output for various GraphQL elements.", "anyOf": [ - { - "$ref": "#/definitions/DeclarationKindConfig" - }, + { "$ref": "#/definitions/DeclarationKindConfig" }, { "enum": ["abstract class", "class", "interface", "type"], "type": "string" @@ -3012,7 +2944,7 @@ "type": "string" }, "wrapFieldDefinitions": { - "description": "Set the to `true` in order to wrap field definitions with `FieldWrapper`.\nThis is useful to allow return types such as Promises and functions.\nDefault value: \"false\"", + "description": "Set to `true` in order to wrap field definitions with `FieldWrapper`.\nThis is useful to allow return types such as Promises and functions.\nDefault value: \"false\"", "type": "boolean" }, "onlyOperationTypes": { @@ -3025,7 +2957,7 @@ }, "wrapEntireFieldDefinitions": { "type": "boolean", - "description": "Set the to `true` in order to wrap field definitions with `EntireFieldWrapper`.\nThis is useful to allow return types such as Promises and functions for fields.\nDiffers from `wrapFieldDefinitions` in that this wraps the entire field definition if ie. the field is an Array, while\n`wrapFieldDefinitions` will wrap every single value inside the array.\nDefault value: \"true\"" + "description": "Set to `true` in order to wrap field definitions with `EntireFieldWrapper`.\nThis is useful to allow return types such as Promises and functions for fields.\nDiffers from `wrapFieldDefinitions` in that this wraps the entire field definition if i.e. the field is an Array, while\n`wrapFieldDefinitions` will wrap every single value inside the array.\nDefault value: \"true\"" }, "entireFieldWrapperValue": { "type": "string", @@ -3033,7 +2965,7 @@ }, "directiveArgumentAndInputFieldMappings": { "$ref": "#/definitions/DirectiveArgumentAndInputFieldMappings", - "description": "Replaces a GraphQL scalar with a custom type based on the applied directive on an argument or input field.\n\nYou can use both `module#type` and `module#namespace#type` syntax.\nWill NOT work with introspected schemas since directives are not exported.\nOnly works with directives on ARGUMENT_DEFINITION or INPUT_FIELD_DEFINITION.\n\n**WARNING:** Using this option does only change the type definitions.\n\nFor actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://www.graphql-tools.com/docs/schema-directives)) that apply those rules!\nOtherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.\n\nPlease use this configuration option with care!" + "description": "Replaces a GraphQL scalar with a custom type based on the applied directive on an argument or input field.\n\nYou can use both `module#type` and `module#namespace#type` syntax.\nWill NOT work with introspected schemas since directives are not exported.\nOnly works with directives on ARGUMENT_DEFINITION or INPUT_FIELD_DEFINITION.\n\n**WARNING:** Using this option does only change the type definitions.\n\nFor actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://graphql-tools.com/docs/schema-directives)) that apply those rules!\nOtherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.\n\nPlease use this configuration option with care!" }, "directiveArgumentAndInputFieldMappingTypeSuffix": { "description": "Adds a suffix to the imported names to prevent name clashes.", @@ -3053,7 +2985,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -3064,7 +2996,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -3081,12 +3013,12 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, "RawFlowResolversConfig": { - "description": "This plugin generates resolvers signature based on your `GraphQLSchema`.\n\nIt generates types for your entire schema: types, input types, enum, interface, scalar and union.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on it's types.", + "description": "This plugin generates resolvers signature based on your `GraphQLSchema`.\n\nIt generates types for your entire schema: types, input types, enum, interface, scalar and union.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on its types.", "type": "object", "properties": { "addUnderscoreToArgsType": { @@ -3094,7 +3026,7 @@ "type": "boolean" }, "contextType": { - "description": "Use this configuration to set a custom type for your `context`, and it will\neffect all the resolvers, without the need to override it using generics each time.\nIf you wish to use an external type and import it from another file, you can use `add` plugin\nand add the required `import` statement, or you can use a `module#type` syntax.", + "description": "Use this configuration to set a custom type for your `context`, and it will\naffect all the resolvers, without the need to override it using generics each time.\nIf you wish to use an external type and import it from another file, you can use `add` plugin\nand add the required `import` statement, or you can use a `module#type` syntax.", "type": "string" }, "fieldContextTypes": { @@ -3102,7 +3034,7 @@ "description": "Use this to set a custom type for a specific field `context`.\nIt will only affect the targeted resolvers.\nYou can either use `Field.Path#ContextTypeName` or `Field.Path#ExternalFileName#ContextTypeName`" }, "rootValueType": { - "description": "Use this configuration to set a custom type for the `rootValue`, and it will\neffect resolvers of all root types (Query, Mutation and Subscription), without the need to override it using generics each time.\nIf you wish to use an external type and import it from another file, you can use `add` plugin\nand add the required `import` statement, or you can use both `module#type` or `module#namespace#type` syntax.", + "description": "Use this configuration to set a custom type for the `rootValue`, and it will\naffect resolvers of all root types (Query, Mutation and Subscription), without the need to override it using generics each time.\nIf you wish to use an external type and import it from another file, you can use `add` plugin\nand add the required `import` statement, or you can use both `module#type` or `module#namespace#type` syntax.", "type": "string" }, "mapperTypeSuffix": { @@ -3112,24 +3044,15 @@ "mappers": { "description": "Replaces a GraphQL type usage with a custom type, allowing you to return custom object from\nyour resolvers.\nYou can use both `module#type` and `module#namespace#type` syntax.", "type": "object", - "additionalProperties": { - "type": "string" - } + "additionalProperties": { "type": "string" } }, "defaultMapper": { - "description": "Allow you to set the default mapper when it's not being override by `mappers` or generics.\nYou can specify a type name, or specify a string in `module#type` or `module#namespace#type` format.\nThe default value of mappers it the TypeScript type generated by `typescript` package.", + "description": "Allow you to set the default mapper when it's not being override by `mappers` or generics.\nYou can specify a type name, or specify a string in `module#type` or `module#namespace#type` format.\nThe default value of mappers is the TypeScript type generated by `typescript` package.", "type": "string" }, "avoidOptionals": { "description": "This will cause the generator to avoid using optionals (`?`),\nso all field resolvers must be implemented in order to avoid compilation errors.\nDefault value: \"false\"", - "anyOf": [ - { - "$ref": "#/definitions/AvoidOptionalsConfig" - }, - { - "type": "boolean" - } - ] + "anyOf": [{ "$ref": "#/definitions/AvoidOptionalsConfig" }, { "type": "boolean" }] }, "showUnusedMappers": { "description": "Warns about unused mappers.\nDefault value: \"true\"", @@ -3160,7 +3083,7 @@ "type": "boolean" }, "namespacedImportName": { - "description": "Prefixes all GraphQL related generated types with that value, as namespaces import.\nYou can use this featuere to allow seperation of plugins to different files.\nDefault value: \"''\"", + "description": "Prefixes all GraphQL related generated types with that value, as namespaces import.\nYou can use this feature to allow separation of plugins to different files.\nDefault value: \"''\"", "type": "string" }, "resolverTypeSuffix": { @@ -3173,11 +3096,11 @@ }, "internalResolversPrefix": { "type": "string", - "description": "Defines the prefix value used for `__resolveType` and and `__isTypeOf` resolvers.\nIf you are using `mercurius-js`, please set this field to empty string for better compatiblity.\nDefault value: \"'__'\"" + "description": "Defines the prefix value used for `__resolveType` and `__isTypeOf` resolvers.\nIf you are using `mercurius-js`, please set this field to empty string for better compatibility.\nDefault value: \"'__'\"" }, "onlyResolveTypeForInterfaces": { "type": "boolean", - "description": "Turning this flag to `true` will generate resolver siganture that has only `resolveType` for interfaces, forcing developers to write inherited type resolvers in the type itself.\nDefault value: \"false\"" + "description": "Turning this flag to `true` will generate resolver signature that has only `resolveType` for interfaces, forcing developers to write inherited type resolvers in the type itself.\nDefault value: \"false\"" }, "strictScalars": { "description": "Makes scalars strict.\n\nIf scalars are found in the schema that are not defined in `scalars`\nan error will be thrown during codegen.\nDefault value: \"false\"", @@ -3193,7 +3116,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -3204,7 +3127,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -3221,12 +3144,12 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, "FlowDocumentsPluginConfig": { - "description": "This plugin generates Flow types based on your `GraphQLSchema` and your GraphQL operations and fragments.\n\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on it's types.", + "description": "This plugin generates Flow types based on your `GraphQLSchema` and your GraphQL operations and fragments.\n\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on its types.", "type": "object", "properties": { "useFlowExactObjects": { @@ -3246,7 +3169,7 @@ "type": "boolean" }, "skipTypeNameForRoot": { - "description": "Avoid adding `__typename` for root types. This is ignored when a selection explictly specifies `__typename`.\nDefault value: \"false\"", + "description": "Avoid adding `__typename` for root types. This is ignored when a selection explicitly specifies `__typename`.\nDefault value: \"false\"", "type": "boolean" }, "globalNamespace": { @@ -3284,9 +3207,7 @@ "declarationKind": { "description": "Overrides the default output for various GraphQL elements.", "anyOf": [ - { - "$ref": "#/definitions/DeclarationKindConfig" - }, + { "$ref": "#/definitions/DeclarationKindConfig" }, { "enum": ["abstract class", "class", "interface", "type"], "type": "string" @@ -3302,7 +3223,7 @@ "type": "string" }, "wrapFieldDefinitions": { - "description": "Set the to `true` in order to wrap field definitions with `FieldWrapper`.\nThis is useful to allow return types such as Promises and functions.\nDefault value: \"false\"", + "description": "Set to `true` in order to wrap field definitions with `FieldWrapper`.\nThis is useful to allow return types such as Promises and functions.\nDefault value: \"false\"", "type": "boolean" }, "onlyOperationTypes": { @@ -3315,7 +3236,7 @@ }, "wrapEntireFieldDefinitions": { "type": "boolean", - "description": "Set the to `true` in order to wrap field definitions with `EntireFieldWrapper`.\nThis is useful to allow return types such as Promises and functions for fields.\nDiffers from `wrapFieldDefinitions` in that this wraps the entire field definition if ie. the field is an Array, while\n`wrapFieldDefinitions` will wrap every single value inside the array.\nDefault value: \"true\"" + "description": "Set to `true` in order to wrap field definitions with `EntireFieldWrapper`.\nThis is useful to allow return types such as Promises and functions for fields.\nDiffers from `wrapFieldDefinitions` in that this wraps the entire field definition if i.e. the field is an Array, while\n`wrapFieldDefinitions` will wrap every single value inside the array.\nDefault value: \"true\"" }, "entireFieldWrapperValue": { "type": "string", @@ -3323,7 +3244,7 @@ }, "directiveArgumentAndInputFieldMappings": { "$ref": "#/definitions/DirectiveArgumentAndInputFieldMappings", - "description": "Replaces a GraphQL scalar with a custom type based on the applied directive on an argument or input field.\n\nYou can use both `module#type` and `module#namespace#type` syntax.\nWill NOT work with introspected schemas since directives are not exported.\nOnly works with directives on ARGUMENT_DEFINITION or INPUT_FIELD_DEFINITION.\n\n**WARNING:** Using this option does only change the type definitions.\n\nFor actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://www.graphql-tools.com/docs/schema-directives)) that apply those rules!\nOtherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.\n\nPlease use this configuration option with care!" + "description": "Replaces a GraphQL scalar with a custom type based on the applied directive on an argument or input field.\n\nYou can use both `module#type` and `module#namespace#type` syntax.\nWill NOT work with introspected schemas since directives are not exported.\nOnly works with directives on ARGUMENT_DEFINITION or INPUT_FIELD_DEFINITION.\n\n**WARNING:** Using this option does only change the type definitions.\n\nFor actually ensuring that a type is correct at runtime you will have to use schema transforms (e.g. with [@graphql-tools/utils mapSchema](https://graphql-tools.com/docs/schema-directives)) that apply those rules!\nOtherwise, you might end up with a runtime type mismatch which could cause unnoticed bugs or runtime errors.\n\nPlease use this configuration option with care!" }, "directiveArgumentAndInputFieldMappingTypeSuffix": { "description": "Adds a suffix to the imported names to prevent name clashes.", @@ -3343,7 +3264,7 @@ }, "namingConvention": { "$ref": "#/definitions/NamingConvention", - "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserves underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" + "description": "Allow you to override the naming convention of the output.\nYou can either override all namings, or specify an object with specific custom naming convention per output.\nThe format of the converter must be a valid `module#method`.\nAllowed values for specific output are: `typeNames`, `enumValues`.\nYou can also use \"keep\" to keep all GraphQL names as-is.\nAdditionally, you can set `transformUnderscore` to `true` if you want to override the default behavior,\nwhich is to preserve underscores.\n\nAvailable case functions in `change-case-all` are `camelCase`, `capitalCase`, `constantCase`, `dotCase`, `headerCase`, `noCase`, `paramCase`, `pascalCase`, `pathCase`, `sentenceCase`, `snakeCase`, `lowerCase`, `localeLowerCase`, `lowerCaseFirst`, `spongeCase`, `titleCase`, `upperCase`, `localeUpperCase` and `upperCaseFirst`\n[See more](https://github.com/btxtiger/change-case-all)\nDefault value: \"change-case-all#pascalCase\"" }, "typesPrefix": { "description": "Prefixes all the generated types.\nDefault value: \"\"", @@ -3354,7 +3275,7 @@ "type": "string" }, "skipTypename": { - "description": "Does not add __typename to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", + "description": "Does not add `__typename` to the generated types, unless it was specified in the selection set.\nDefault value: \"false\"", "type": "boolean" }, "nonOptionalTypename": { @@ -3371,7 +3292,7 @@ }, "inlineFragmentTypes": { "$ref": "#/definitions/InlineFragmentTypeOptions", - "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cauuse issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" + "description": "Whether fragment types should be inlined into other operations.\n\"inline\" is the default behavior and will perform deep inlining fragment types within operation type definitions.\n\"combine\" is the previous behavior that uses fragment type references without inlining the types (and might cause issues with deeply nested fragment that uses list types).\nDefault value: \"inline\"" } } }, @@ -3399,9 +3320,7 @@ "description": "Whether to include `description` field on schema.\nDefault value: \"false\"", "type": "boolean" }, - "federation": { - "type": "boolean" - } + "federation": { "type": "boolean" } } }, "FragmentMatcherConfig": { @@ -3409,7 +3328,7 @@ "type": "object", "properties": { "module": { - "description": "Compatible only with JSON extension, allow you to choose the export type, either `module.exports` or `export default`. Allowed values are: `commonjs`, `es2015`.\nDefault value: \"es2015\"", + "description": "Compatible only with JSON extension, allow you to choose the export type, either `module.exports` or `export default`. Allowed values are: `commonjs`, `es2015`.\nDefault value: \"es2015\"", "enum": ["commonjs", "es2015"], "type": "string" }, @@ -3422,17 +3341,15 @@ "description": "Create an explicit type based on your schema. This can help IDEs autofill your fragment matcher. This is mostly useful if you do more with your fragment matcher than just pass it to an Apollo-Client.\nDefault value: \"false\"", "type": "boolean" }, - "federation": { - "type": "boolean" - } + "federation": { "type": "boolean" } } }, "UrqlIntrospectionConfig": { - "description": "This plugin generates an introspection file for Schema Awareness feature of Urql Cache Exchange\n\nYou can read more about it in `urql` documentation: https://formidable.com/open-source/urql/docs/graphcache/schema-awareness/.\n\nUrql Introspection plugin accepts a TypeScript / JavaScript or a JSON file as an output _(`.ts, .tsx, .js, .jsx, .json`)_.\n\nBoth in TypeScript and JavaScript a default export is being used.\n\n> The output is based on the output you choose for the output file name.", + "description": "This plugin generates an introspection file for Schema Awareness feature of Urql Cache Exchange\n\nYou can read more about it in `urql` documentation: https://formidable.com/open-source/urql/docs/graphcache/schema-awareness.\n\nUrql Introspection plugin accepts a TypeScript / JavaScript or a JSON file as an output _(`.ts, .tsx, .js, .jsx, .json`)_.\n\nBoth in TypeScript and JavaScript a default export is being used.\n\n> The output is based on the output you choose for the output file name.", "type": "object", "properties": { "module": { - "description": "Compatible only with JSON extension, allow you to choose the export type, either `module.exports` or `export default`. Allowed values are: `commonjs`, `es2015`.\nDefault value: \"es2015\"", + "description": "Compatible only with JSON extension, allow you to choose the export type, either `module.exports` or `export default`. Allowed values are: `commonjs`, `es2015`.\nDefault value: \"es2015\"", "enum": ["commonjs", "es2015"], "type": "string" }, @@ -3463,11 +3380,11 @@ "properties": { "baseTypesPath": { "type": "string", - "description": "Required, should point to the base schema types file.\nThe key of the output is used a the base path for this file." + "description": "Required, should point to the base schema types file.\nThe key of the output is used a base path for this file." }, "importBaseTypesFrom": { "type": "string", - "description": "Overrides the package import for the base types. Use this if you are within a monorepo and you wish\nto import the base types directly from a different package, and not from a relative path." + "description": "Overrides the package import for the base types. Use this if you are within a monorepo, and you wish\nto import the base types directly from a different package, and not from a relative path." }, "cwd": { "type": "string", @@ -3487,7 +3404,7 @@ }, "useGraphQLModules": { "type": "boolean", - "description": "By default, the generated types will be generate some code specific to `graphql-modules` library.\n\nIf you are not using GraphQL-Modules, you can disable this feature by setting this to `false`.\nDefault value: \"true\"" + "description": "By default, the generated types will generate some code specific to `graphql-modules` library.\n\nIf you are not using GraphQL-Modules, you can disable this feature by setting this to `false`.\nDefault value: \"true\"" } } }, @@ -3537,51 +3454,31 @@ "type": "object", "properties": { "augmentedModuleName": { - "description": "Instead of generating a `gql` function, this preset can also generate a d.ts that will enhance the `gql` function of your framework.\n\nE.g. `graphql-tag` or `@urql/core`.", + "description": "Instead of generating a `gql` function, this preset can also generate a `d.ts` that will enhance the `gql` function of your framework.\n\nE.g. `graphql-tag` or `@urql/core`.", "type": "string" } } }, "Types.InstanceOrArray": { "anyOf": [ - { - "$ref": "#/definitions/Types.SchemaWithLoader" - }, - { - "$ref": "#/definitions/Types.SchemaFromCodeFile" - }, - { - "$ref": "#/definitions/Types.UrlSchemaWithOptions" - }, - { - "$ref": "#/definitions/Types.LocalSchemaPathWithOptions" - }, + { "$ref": "#/definitions/Types.SchemaWithLoader" }, + { "$ref": "#/definitions/Types.SchemaFromCodeFile" }, + { "$ref": "#/definitions/Types.UrlSchemaWithOptions" }, + { "$ref": "#/definitions/Types.LocalSchemaPathWithOptions" }, { "type": "array", "items": { "description": "A URL to your GraphQL endpoint, a local path to `.graphql` file, a glob pattern to your GraphQL schema files, or a JavaScript file that exports the schema to generate code from. This can also be an array which specifies multiple schemas to generate code from. You can read more about the supported formats [here](schema-field#available-formats).", "anyOf": [ - { - "$ref": "#/definitions/Types.SchemaWithLoader" - }, - { - "$ref": "#/definitions/Types.SchemaFromCodeFile" - }, - { - "$ref": "#/definitions/Types.UrlSchemaWithOptions" - }, - { - "$ref": "#/definitions/Types.LocalSchemaPathWithOptions" - }, - { - "type": "string" - } + { "$ref": "#/definitions/Types.SchemaWithLoader" }, + { "$ref": "#/definitions/Types.SchemaFromCodeFile" }, + { "$ref": "#/definitions/Types.UrlSchemaWithOptions" }, + { "$ref": "#/definitions/Types.LocalSchemaPathWithOptions" }, + { "type": "string" } ] } }, - { - "type": "string" - } + { "type": "string" } ] }, "Types.SchemaWithLoader": { @@ -3628,9 +3525,7 @@ }, "Types.UrlSchemaWithOptions": { "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Types.UrlSchemaOptions" - } + "additionalProperties": { "$ref": "#/definitions/Types.UrlSchemaOptions" } }, "Types.UrlSchemaOptions": { "additionalProperties": false, @@ -3640,9 +3535,7 @@ "headers": { "description": "HTTP headers you wish to add to the HTTP request sent by codegen to fetch your GraphQL remote schema.", "type": "object", - "additionalProperties": { - "type": "string" - } + "additionalProperties": { "type": "string" } }, "customFetch": { "description": "Specify a Node module name, or a custom file, to be used instead of standard `fetch`", @@ -3696,39 +3589,18 @@ } }, "Types.RequireExtension": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] + "anyOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "string" }] }, "Types.InstanceOrArray_1": { "anyOf": [ - { - "$ref": "#/definitions/Types.CustomDocumentLoader" - }, + { "$ref": "#/definitions/Types.CustomDocumentLoader" }, { "type": "array", "items": { - "anyOf": [ - { - "$ref": "#/definitions/Types.CustomDocumentLoader" - }, - { - "type": "string" - } - ] + "anyOf": [{ "$ref": "#/definitions/Types.CustomDocumentLoader" }, { "type": "string" }] } }, - { - "type": "string" - } + { "type": "string" } ] }, "Types.CustomDocumentLoader": { @@ -3750,25 +3622,17 @@ }, "__type": { "type": "object", - "additionalProperties": { - "$ref": "#/definitions/T" - } - }, - "T": { - "type": "object" - }, - "Types.PluginConfig": { - "$ref": "#/definitions/__type" + "additionalProperties": { "$ref": "#/definitions/T" } }, + "T": { "type": "object" }, + "Types.PluginConfig": { "$ref": "#/definitions/__type" }, "Types.ConfiguredOutput": { "additionalProperties": false, "type": "object", "properties": { "plugins": { "type": "array", - "items": { - "$ref": "#/definitions/GeneratedPluginsMap" - }, + "items": { "$ref": "#/definitions/GeneratedPluginsMap" }, "description": "List of plugins to apply to this current output file.\n\nYou can either specify plugins from the community using the NPM package name (after you installed it in your project), or you can use a path to a local file for custom plugins.\n\nYou can find a list of available plugins here: https://graphql-code-generator.com/docs/plugins/index\nNeed a custom plugin? read this: https://graphql-code-generator.com/docs/custom-codegen/index" }, "preset": { @@ -3776,15 +3640,9 @@ "anyOf": [ { "type": "object", - "properties": { - "buildGeneratesSection": { - "type": "object" - } - } + "properties": { "buildGeneratesSection": { "type": "object" } } }, - { - "type": "string" - } + { "type": "string" } ] }, "presetConfig": { @@ -3804,9 +3662,7 @@ "$ref": "#/definitions/Types.InstanceOrArray", "description": "A pointer(s) to your GraphQL schema. This schema will be available only for this specific `generates` record.\nYou can use one of the following:\n\n- URL pointing to a GraphQL endpoint\n- Path to a local `.json` file\n- Path to a local `.graphql` file\n- Glob expression pointing to multiple `.graphql` files\n- Path to a local code file (for example: `.js`) that exports `GraphQLSchema` object\n- Inline string containing GraphQL SDL schema definition\n\nYou can specify either a single schema, or multiple, and GraphQL Code Generator will merge the schemas into a single schema.\n\nFor more details: https://graphql-code-generator.com/docs/getting-started/schema-field" }, - "config": { - "additionalProperties": true - }, + "config": { "additionalProperties": true }, "hooks": { "$ref": "#/definitions/Partial", "description": "Specifies scripts to run when events are happening in the codegen core.\nHooks defined on that level will effect only the current output files.\n\nFor more details: https://graphql-code-generator.com/docs/getting-started/lifecycle-hooks" @@ -3826,9 +3682,7 @@ }, "then": { "properties": { - "config": { - "$ref": "#/definitions/ReactQueryRawPluginConfig" - } + "config": { "$ref": "#/definitions/ReactQueryRawPluginConfig" } } } }, @@ -3844,11 +3698,7 @@ } }, "then": { - "properties": { - "config": { - "$ref": "#/definitions/RTKConfig" - } - } + "properties": { "config": { "$ref": "#/definitions/RTKConfig" } } } }, { @@ -3864,9 +3714,7 @@ }, "then": { "properties": { - "config": { - "$ref": "#/definitions/RawGenericSdkPluginConfig" - } + "config": { "$ref": "#/definitions/RawGenericSdkPluginConfig" } } } }, @@ -3883,47 +3731,31 @@ }, "then": { "properties": { - "config": { - "$ref": "#/definitions/ApolloClientHelpersConfig" - } + "config": { "$ref": "#/definitions/ApolloClientHelpersConfig" } } } }, { "if": { "properties": { - "plugins": { - "contains": { - "type": "string", - "const": "add" - } - } + "plugins": { "contains": { "type": "string", "const": "add" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/AddPluginConfig" - } + "config": { "$ref": "#/definitions/AddPluginConfig" } } } }, { "if": { "properties": { - "plugins": { - "contains": { - "type": "string", - "const": "time" - } - } + "plugins": { "contains": { "type": "string", "const": "time" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/TimePluginConfig" - } + "config": { "$ref": "#/definitions/TimePluginConfig" } } } }, @@ -3931,18 +3763,13 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "typescript" - } + "contains": { "type": "string", "const": "typescript" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/TypeScriptPluginConfig" - } + "config": { "$ref": "#/definitions/TypeScriptPluginConfig" } } } }, @@ -3969,10 +3796,7 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "c-sharp" - } + "contains": { "type": "string", "const": "c-sharp" } } } }, @@ -3988,10 +3812,7 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "c-sharp-operations" - } + "contains": { "type": "string", "const": "c-sharp-operations" } } } }, @@ -4007,18 +3828,13 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "schema-ast" - } + "contains": { "type": "string", "const": "schema-ast" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/SchemaASTConfig" - } + "config": { "$ref": "#/definitions/SchemaASTConfig" } } } }, @@ -4035,9 +3851,7 @@ }, "then": { "properties": { - "config": { - "$ref": "#/definitions/TypeGraphQLPluginConfig" - } + "config": { "$ref": "#/definitions/TypeGraphQLPluginConfig" } } } }, @@ -4102,18 +3916,13 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "typescript-mongodb" - } + "contains": { "type": "string", "const": "typescript-mongodb" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/TypeScriptMongoPluginConfig" - } + "config": { "$ref": "#/definitions/TypeScriptMongoPluginConfig" } } } }, @@ -4149,9 +3958,7 @@ }, "then": { "properties": { - "config": { - "$ref": "#/definitions/ApolloAngularRawPluginConfig" - } + "config": { "$ref": "#/definitions/ApolloAngularRawPluginConfig" } } } }, @@ -4159,18 +3966,13 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "typescript-urql" - } + "contains": { "type": "string", "const": "typescript-urql" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/UrqlRawPluginConfig" - } + "config": { "$ref": "#/definitions/UrqlRawPluginConfig" } } } }, @@ -4187,9 +3989,7 @@ }, "then": { "properties": { - "config": { - "$ref": "#/definitions/ReactApolloRawPluginConfig" - } + "config": { "$ref": "#/definitions/ReactApolloRawPluginConfig" } } } }, @@ -4206,9 +4006,7 @@ }, "then": { "properties": { - "config": { - "$ref": "#/definitions/VueApolloRawPluginConfig" - } + "config": { "$ref": "#/definitions/VueApolloRawPluginConfig" } } } }, @@ -4235,18 +4033,13 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "typescript-vue-urql" - } + "contains": { "type": "string", "const": "typescript-vue-urql" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/VueUrqlRawPluginConfig" - } + "config": { "$ref": "#/definitions/VueUrqlRawPluginConfig" } } } }, @@ -4263,9 +4056,7 @@ }, "then": { "properties": { - "config": { - "$ref": "#/definitions/StencilApolloRawPluginConfig" - } + "config": { "$ref": "#/definitions/StencilApolloRawPluginConfig" } } } }, @@ -4292,29 +4083,19 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "typescript-msw" - } + "contains": { "type": "string", "const": "typescript-msw" } } } }, "then": { - "properties": { - "config": { - "$ref": "#/definitions/MSWConfig" - } - } + "properties": { "config": { "$ref": "#/definitions/MSWConfig" } } } }, { "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "java-apollo-android" - } + "contains": { "type": "string", "const": "java-apollo-android" } } } }, @@ -4330,49 +4111,32 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "java-resolvers" - } + "contains": { "type": "string", "const": "java-resolvers" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/JavaResolversPluginRawConfig" - } + "config": { "$ref": "#/definitions/JavaResolversPluginRawConfig" } } } }, { "if": { "properties": { - "plugins": { - "contains": { - "type": "string", - "const": "java" - } - } + "plugins": { "contains": { "type": "string", "const": "java" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/JavaResolversPluginRawConfig" - } + "config": { "$ref": "#/definitions/JavaResolversPluginRawConfig" } } } }, { "if": { "properties": { - "plugins": { - "contains": { - "type": "string", - "const": "kotlin" - } - } + "plugins": { "contains": { "type": "string", "const": "kotlin" } } } }, "then": { @@ -4386,19 +4150,12 @@ { "if": { "properties": { - "plugins": { - "contains": { - "type": "string", - "const": "flow" - } - } + "plugins": { "contains": { "type": "string", "const": "flow" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/FlowPluginConfig" - } + "config": { "$ref": "#/definitions/FlowPluginConfig" } } } }, @@ -4406,18 +4163,13 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "flow-resolvers" - } + "contains": { "type": "string", "const": "flow-resolvers" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/RawFlowResolversConfig" - } + "config": { "$ref": "#/definitions/RawFlowResolversConfig" } } } }, @@ -4425,18 +4177,13 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "flow-operations" - } + "contains": { "type": "string", "const": "flow-operations" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/FlowDocumentsPluginConfig" - } + "config": { "$ref": "#/definitions/FlowDocumentsPluginConfig" } } } }, @@ -4444,18 +4191,13 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "introspection" - } + "contains": { "type": "string", "const": "introspection" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/IntrospectionPluginConfig" - } + "config": { "$ref": "#/definitions/IntrospectionPluginConfig" } } } }, @@ -4463,18 +4205,13 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "fragment-matcher" - } + "contains": { "type": "string", "const": "fragment-matcher" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/FragmentMatcherConfig" - } + "config": { "$ref": "#/definitions/FragmentMatcherConfig" } } } }, @@ -4482,18 +4219,13 @@ "if": { "properties": { "plugins": { - "contains": { - "type": "string", - "const": "urql-introspection" - } + "contains": { "type": "string", "const": "urql-introspection" } } } }, "then": { "properties": { - "config": { - "$ref": "#/definitions/UrqlIntrospectionConfig" - } + "config": { "$ref": "#/definitions/UrqlIntrospectionConfig" } } } } @@ -4537,27 +4269,97 @@ } }, "T_1": { - "anyOf": [ - { - "type": "array", - "items": { - "type": ["string", "object"] - } + "anyOf": [{ "type": "array", "items": { "type": ["string", "object"] } }, { "type": ["string", "object"] }] + }, + "Partial": { "$ref": "#/definitions/__type_1" }, + "Types.ConfiguredPlugin": { + "type": "object", + "additionalProperties": { "$ref": "#/definitions/Types.PluginConfig" }, + "properties": { + "typescript-react-query": { + "$ref": "#/definitions/ReactQueryRawPluginConfig" }, - { - "type": ["string", "object"] + "typescript-rtk-query": { "$ref": "#/definitions/RTKConfig" }, + "typescript-generic-sdk": { + "$ref": "#/definitions/RawGenericSdkPluginConfig" + }, + "typescript-apollo-client-helpers": { + "$ref": "#/definitions/ApolloClientHelpersConfig" + }, + "add": { "$ref": "#/definitions/AddPluginConfig" }, + "time": { "$ref": "#/definitions/TimePluginConfig" }, + "typescript": { "$ref": "#/definitions/TypeScriptPluginConfig" }, + "typescript-operations": { + "$ref": "#/definitions/TypeScriptDocumentsPluginConfig" + }, + "c-sharp": { "$ref": "#/definitions/CSharpResolversPluginRawConfig" }, + "c-sharp-operations": { + "$ref": "#/definitions/CSharpOperationsRawPluginConfig" + }, + "schema-ast": { "$ref": "#/definitions/SchemaASTConfig" }, + "typescript-type-graphql": { + "$ref": "#/definitions/TypeGraphQLPluginConfig" + }, + "typescript-graphql-files-modules": { + "$ref": "#/definitions/TypeScriptFilesModulesPluginConfig" + }, + "named-operations-object": { + "$ref": "#/definitions/NamedOperationsObjectPluginConfig" + }, + "typescript-graphql-request": { + "$ref": "#/definitions/RawGraphQLRequestPluginConfig" + }, + "typescript-mongodb": { + "$ref": "#/definitions/TypeScriptMongoPluginConfig" + }, + "typescript-resolvers": { + "$ref": "#/definitions/TypeScriptResolversPluginConfig" + }, + "typescript-apollo-angular": { + "$ref": "#/definitions/ApolloAngularRawPluginConfig" + }, + "typescript-urql": { "$ref": "#/definitions/UrqlRawPluginConfig" }, + "typescript-react-apollo": { + "$ref": "#/definitions/ReactApolloRawPluginConfig" + }, + "typescript-vue-apollo": { + "$ref": "#/definitions/VueApolloRawPluginConfig" + }, + "typescript-vue-apollo-smart-ops": { + "$ref": "#/definitions/VueApolloSmartOpsRawPluginConfig" + }, + "typescript-vue-urql": { + "$ref": "#/definitions/VueUrqlRawPluginConfig" + }, + "typescript-stencil-apollo": { + "$ref": "#/definitions/StencilApolloRawPluginConfig" + }, + "typescript-document-nodes": { + "$ref": "#/definitions/TypeScriptDocumentNodesRawPluginConfig" + }, + "typescript-msw": { "$ref": "#/definitions/MSWConfig" }, + "java-apollo-android": { + "$ref": "#/definitions/JavaApolloAndroidPluginConfig" + }, + "java-resolvers": { + "$ref": "#/definitions/JavaResolversPluginRawConfig" + }, + "java": { "$ref": "#/definitions/JavaResolversPluginRawConfig" }, + "kotlin": { "$ref": "#/definitions/KotlinResolversPluginRawConfig" }, + "flow": { "$ref": "#/definitions/FlowPluginConfig" }, + "flow-resolvers": { "$ref": "#/definitions/RawFlowResolversConfig" }, + "flow-operations": { + "$ref": "#/definitions/FlowDocumentsPluginConfig" + }, + "introspection": { "$ref": "#/definitions/IntrospectionPluginConfig" }, + "fragment-matcher": { "$ref": "#/definitions/FragmentMatcherConfig" }, + "urql-introspection": { + "$ref": "#/definitions/UrqlIntrospectionConfig" } - ] - }, - "Partial": { - "$ref": "#/definitions/__type_1" - }, - "__type_2": { - "type": "object" - }, - "Types.PackageLoaderFn": { - "$ref": "#/definitions/__type_2" + } }, + "__type_2": { "type": "object" }, + "Types.PackageLoaderFn": { "$ref": "#/definitions/__type_2" }, "Array": { "type": "array", "items": { @@ -4576,41 +4378,18 @@ }, "ScalarsMap": { "description": "Scalars map or a string, a map between the GraphQL scalar name and the identifier that should be used", - "anyOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "type": "string" - } - ] + "anyOf": [{ "type": "object", "additionalProperties": { "type": "string" } }, { "type": "string" }] }, "NamingConvention": { - "anyOf": [ - { - "$ref": "#/definitions/NamingConventionMap" - }, - { - "type": ["string", "object"] - } - ] + "anyOf": [{ "$ref": "#/definitions/NamingConventionMap" }, { "type": ["string", "object"] }] }, "NamingConventionMap": { "additionalProperties": false, "type": "object", "properties": { - "enumValues": { - "type": ["string", "object"] - }, - "typeNames": { - "type": ["string", "object"] - }, - "transformUnderscore": { - "type": "boolean" - } + "enumValues": { "type": ["string", "object"] }, + "typeNames": { "type": ["string", "object"] }, + "transformUnderscore": { "type": "boolean" } } }, "InlineFragmentTypeOptions": { @@ -4624,18 +4403,10 @@ "AvoidOptionalsConfig": { "type": "object", "properties": { - "field": { - "type": "boolean" - }, - "object": { - "type": "boolean" - }, - "inputValue": { - "type": "boolean" - }, - "defaultValue": { - "type": "boolean" - } + "field": { "type": "boolean" }, + "object": { "type": "boolean" }, + "inputValue": { "type": "boolean" }, + "defaultValue": { "type": "boolean" } } }, "EnumValuesMap": { @@ -4649,50 +4420,28 @@ "allOf": [ { "type": "object", - "additionalProperties": { - "type": ["string", "number"] - } + "additionalProperties": { "type": ["string", "number"] } }, - { - "$ref": "#/definitions/AdditionalProps" - } + { "$ref": "#/definitions/AdditionalProps" } ] }, - { - "type": "string" - } + { "type": "string" } ] } }, - { - "type": "string" - } + { "type": "string" } ] }, - "AdditionalProps": { - "type": "object" - }, + "AdditionalProps": { "type": "object" }, "DeclarationKindConfig": { "type": "object", "properties": { - "directive": { - "$ref": "#/definitions/DeclarationKind" - }, - "scalar": { - "$ref": "#/definitions/DeclarationKind" - }, - "input": { - "$ref": "#/definitions/DeclarationKind" - }, - "type": { - "$ref": "#/definitions/DeclarationKind" - }, - "interface": { - "$ref": "#/definitions/DeclarationKind" - }, - "arguments": { - "$ref": "#/definitions/DeclarationKind" - } + "directive": { "$ref": "#/definitions/DeclarationKind" }, + "scalar": { "$ref": "#/definitions/DeclarationKind" }, + "input": { "$ref": "#/definitions/DeclarationKind" }, + "type": { "$ref": "#/definitions/DeclarationKind" }, + "interface": { "$ref": "#/definitions/DeclarationKind" }, + "arguments": { "$ref": "#/definitions/DeclarationKind" } } }, "DeclarationKind": { @@ -4702,9 +4451,7 @@ "__type_3": { "description": "A map between the GraphQL directive name and the identifier that should be used", "type": "object", - "additionalProperties": { - "type": "string" - } + "additionalProperties": { "type": "string" } }, "DirectiveArgumentAndInputFieldMappings": { "$ref": "#/definitions/__type_3" @@ -4716,46 +4463,22 @@ "__type_4": { "type": "object", "properties": { - "type": { - "type": "string" - }, - "interface": { - "type": "string" - }, - "field": { - "type": "string" - }, - "input": { - "type": "string" - }, - "arguments": { - "type": "string" - } - } - }, - "Partial_1": { - "$ref": "#/definitions/__type_4" - }, - "__type_5": { - "type": "object" - }, - "Record": { - "$ref": "#/definitions/__type_5" - }, - "Array_1": { - "type": "array", - "items": { - "type": "string" + "type": { "type": "string" }, + "interface": { "type": "string" }, + "field": { "type": "string" }, + "input": { "type": "string" }, + "arguments": { "type": "string" } } }, + "Partial_1": { "$ref": "#/definitions/__type_4" }, + "__type_5": { "type": "object" }, + "Record": { "$ref": "#/definitions/__type_5" }, + "Array_1": { "type": "array", "items": { "type": "string" } }, "StencilComponentType": { "enum": ["class", "functional"], "type": "string" }, - "FileType": { - "enum": [0, 1, 2, 3], - "type": "number" - }, + "FileType": { "enum": [0, 1, 2, 3], "type": "number" }, "GeneratedPluginsMap": { "anyOf": [ { @@ -5113,11 +4836,11 @@ }, { "const": "typescript-operations", - "description": "This plugin generates TypeScript types based on your GraphQLSchema *and* your GraphQL operations and fragments.\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nNote: In most configurations, this plugin requires you to use `typescript as well, because it depends on its base types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-operations\n\n=> Make sure to include \"@graphql-codegen/typescript-operations\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates TypeScript types based on your GraphQLSchema _and_ your GraphQL operations and fragments.\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nNote: In most configurations, this plugin requires you to use `typescript as well, because it depends on its base types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-operations\n\n=> Make sure to include \"@graphql-codegen/typescript-operations\" in your package.json file and install your dependencies.\n\n" }, { "const": "@graphql-codegen/typescript-operations", - "description": "This plugin generates TypeScript types based on your GraphQLSchema *and* your GraphQL operations and fragments.\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nNote: In most configurations, this plugin requires you to use `typescript as well, because it depends on its base types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-operations\n\n=> Make sure to include \"@graphql-codegen/typescript-operations\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates TypeScript types based on your GraphQLSchema _and_ your GraphQL operations and fragments.\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nNote: In most configurations, this plugin requires you to use `typescript as well, because it depends on its base types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-operations\n\n=> Make sure to include \"@graphql-codegen/typescript-operations\" in your package.json file and install your dependencies.\n\n" }, { "const": "c-sharp", @@ -5169,11 +4892,11 @@ }, { "const": "typescript-graphql-request", - "description": "This plugin generates [`graphql-request`](https://www.npmjs.com/package/graphql-request) ready-to-use SDK, which is fully-typed.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-graphql-request\n\n=> Make sure to include \"@graphql-codegen/typescript-graphql-request\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates [`graphql-request`](https://npmjs.com/package/graphql-request) ready-to-use SDK, which is fully-typed.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-graphql-request\n\n=> Make sure to include \"@graphql-codegen/typescript-graphql-request\" in your package.json file and install your dependencies.\n\n" }, { "const": "@graphql-codegen/typescript-graphql-request", - "description": "This plugin generates [`graphql-request`](https://www.npmjs.com/package/graphql-request) ready-to-use SDK, which is fully-typed.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-graphql-request\n\n=> Make sure to include \"@graphql-codegen/typescript-graphql-request\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates [`graphql-request`](https://npmjs.com/package/graphql-request) ready-to-use SDK, which is fully-typed.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-graphql-request\n\n=> Make sure to include \"@graphql-codegen/typescript-graphql-request\" in your package.json file and install your dependencies.\n\n" }, { "const": "typescript-mongodb", @@ -5185,19 +4908,19 @@ }, { "const": "typescript-resolvers", - "description": "This plugin generates TypeScript signature for `resolve` functions of your GraphQL API.\nYou can use this plugin a to generate simple resolvers signature based on your GraphQL types, or you can change it's behavior be providing custom model types (mappers).\n\nYou can find a blog post explaining the usage of this plugin here: https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-resolvers\n\n=> Make sure to include \"@graphql-codegen/typescript-resolvers\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates TypeScript signature for `resolve` functions of your GraphQL API.\nYou can use this plugin to generate simple resolvers signature based on your GraphQL types, or you can change its behavior be providing custom model types (mappers).\n\nYou can find a blog post explaining the usage of this plugin here: https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-resolvers\n\n=> Make sure to include \"@graphql-codegen/typescript-resolvers\" in your package.json file and install your dependencies.\n\n" }, { "const": "@graphql-codegen/typescript-resolvers", - "description": "This plugin generates TypeScript signature for `resolve` functions of your GraphQL API.\nYou can use this plugin a to generate simple resolvers signature based on your GraphQL types, or you can change it's behavior be providing custom model types (mappers).\n\nYou can find a blog post explaining the usage of this plugin here: https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-resolvers\n\n=> Make sure to include \"@graphql-codegen/typescript-resolvers\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates TypeScript signature for `resolve` functions of your GraphQL API.\nYou can use this plugin to generate simple resolvers signature based on your GraphQL types, or you can change its behavior be providing custom model types (mappers).\n\nYou can find a blog post explaining the usage of this plugin here: https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-resolvers\n\n=> Make sure to include \"@graphql-codegen/typescript-resolvers\" in your package.json file and install your dependencies.\n\n" }, { "const": "typescript-apollo-angular", - "description": "This plugin generates Apollo services (`Query`, `Mutation` and `Subscription`) with TypeScript typings.\n\nIt will generate a strongly typed Angular service for every defined query, mutation or subscription. The generated Angular services are ready to inject and use within your Angular component.\n\nIt extends the basic TypeScript plugins: `@graphql-codegen/typescript`, `@graphql-codegen/typescript-operations` - and thus shares a similar configuration.\n\nTo shed some more light regards this template, it's recommended to go through the this article: https://apollo-angular.com/docs/get-started , and to read the Code Generation with Apollo Angular: https://the-guild.dev/blog/apollo-angular-12\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-apollo-angular\n\n=> Make sure to include \"@graphql-codegen/typescript-apollo-angular\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates Apollo services (`Query`, `Mutation` and `Subscription`) with TypeScript typings.\n\nIt will generate a strongly typed Angular service for every defined query, mutation or subscription. The generated Angular services are ready to inject and use within your Angular component.\n\nIt extends the basic TypeScript plugins: `@graphql-codegen/typescript`, `@graphql-codegen/typescript-operations` - and thus shares a similar configuration.\n\nTo shed some more light regards this template, it's recommended to go through this article: https://apollo-angular.com/docs/get-started, and to read the Code Generation with Apollo Angular: https://the-guild.dev/blog/apollo-angular-12\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-apollo-angular\n\n=> Make sure to include \"@graphql-codegen/typescript-apollo-angular\" in your package.json file and install your dependencies.\n\n" }, { "const": "@graphql-codegen/typescript-apollo-angular", - "description": "This plugin generates Apollo services (`Query`, `Mutation` and `Subscription`) with TypeScript typings.\n\nIt will generate a strongly typed Angular service for every defined query, mutation or subscription. The generated Angular services are ready to inject and use within your Angular component.\n\nIt extends the basic TypeScript plugins: `@graphql-codegen/typescript`, `@graphql-codegen/typescript-operations` - and thus shares a similar configuration.\n\nTo shed some more light regards this template, it's recommended to go through the this article: https://apollo-angular.com/docs/get-started , and to read the Code Generation with Apollo Angular: https://the-guild.dev/blog/apollo-angular-12\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-apollo-angular\n\n=> Make sure to include \"@graphql-codegen/typescript-apollo-angular\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates Apollo services (`Query`, `Mutation` and `Subscription`) with TypeScript typings.\n\nIt will generate a strongly typed Angular service for every defined query, mutation or subscription. The generated Angular services are ready to inject and use within your Angular component.\n\nIt extends the basic TypeScript plugins: `@graphql-codegen/typescript`, `@graphql-codegen/typescript-operations` - and thus shares a similar configuration.\n\nTo shed some more light regards this template, it's recommended to go through this article: https://apollo-angular.com/docs/get-started, and to read the Code Generation with Apollo Angular: https://the-guild.dev/blog/apollo-angular-12\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-apollo-angular\n\n=> Make sure to include \"@graphql-codegen/typescript-apollo-angular\" in your package.json file and install your dependencies.\n\n" }, { "const": "typescript-urql", @@ -5249,11 +4972,11 @@ }, { "const": "typescript-document-nodes", - "description": "This plugin generates TypeScript source (`.ts`) file from GraphQL files (`.graphql`).\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-document-nodes\n\n=> Make sure to include \"@graphql-codegen/typescript-document-nodes\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates TypeScript source `.ts` file from GraphQL files `.graphql`.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-document-nodes\n\n=> Make sure to include \"@graphql-codegen/typescript-document-nodes\" in your package.json file and install your dependencies.\n\n" }, { "const": "@graphql-codegen/typescript-document-nodes", - "description": "This plugin generates TypeScript source (`.ts`) file from GraphQL files (`.graphql`).\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-document-nodes\n\n=> Make sure to include \"@graphql-codegen/typescript-document-nodes\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates TypeScript source `.ts` file from GraphQL files `.graphql`.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/typescript-document-nodes\n\n=> Make sure to include \"@graphql-codegen/typescript-document-nodes\" in your package.json file and install your dependencies.\n\n" }, { "const": "typescript-msw", @@ -5305,19 +5028,19 @@ }, { "const": "flow-resolvers", - "description": "This plugin generates resolvers signature based on your `GraphQLSchema`.\n\nIt generates types for your entire schema: types, input types, enum, interface, scalar and union.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on it's types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/flow-resolvers\n\n=> Make sure to include \"@graphql-codegen/flow-resolvers\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates resolvers signature based on your `GraphQLSchema`.\n\nIt generates types for your entire schema: types, input types, enum, interface, scalar and union.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on its types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/flow-resolvers\n\n=> Make sure to include \"@graphql-codegen/flow-resolvers\" in your package.json file and install your dependencies.\n\n" }, { "const": "@graphql-codegen/flow-resolvers", - "description": "This plugin generates resolvers signature based on your `GraphQLSchema`.\n\nIt generates types for your entire schema: types, input types, enum, interface, scalar and union.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on it's types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/flow-resolvers\n\n=> Make sure to include \"@graphql-codegen/flow-resolvers\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates resolvers signature based on your `GraphQLSchema`.\n\nIt generates types for your entire schema: types, input types, enum, interface, scalar and union.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on its types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/flow-resolvers\n\n=> Make sure to include \"@graphql-codegen/flow-resolvers\" in your package.json file and install your dependencies.\n\n" }, { "const": "flow-operations", - "description": "This plugin generates Flow types based on your `GraphQLSchema` and your GraphQL operations and fragments.\n\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on it's types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/flow-operations\n\n=> Make sure to include \"@graphql-codegen/flow-operations\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates Flow types based on your `GraphQLSchema` and your GraphQL operations and fragments.\n\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on its types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/flow-operations\n\n=> Make sure to include \"@graphql-codegen/flow-operations\" in your package.json file and install your dependencies.\n\n" }, { "const": "@graphql-codegen/flow-operations", - "description": "This plugin generates Flow types based on your `GraphQLSchema` and your GraphQL operations and fragments.\n\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on it's types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/flow-operations\n\n=> Make sure to include \"@graphql-codegen/flow-operations\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates Flow types based on your `GraphQLSchema` and your GraphQL operations and fragments.\n\nIt generates types for your GraphQL documents: Query, Mutation, Subscription and Fragment.\n\nThis plugin requires you to use `@graphql-codegen/flow` as well, because it depends on its types.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/flow-operations\n\n=> Make sure to include \"@graphql-codegen/flow-operations\" in your package.json file and install your dependencies.\n\n" }, { "const": "introspection", @@ -5337,11 +5060,11 @@ }, { "const": "urql-introspection", - "description": "This plugin generates an introspection file for Schema Awareness feature of Urql Cache Exchange\n\nYou can read more about it in `urql` documentation: https://formidable.com/open-source/urql/docs/graphcache/schema-awareness/.\n\nUrql Introspection plugin accepts a TypeScript / JavaScript or a JSON file as an output _(`.ts, .tsx, .js, .jsx, .json`)_.\n\nBoth in TypeScript and JavaScript a default export is being used.\n\n> The output is based on the output you choose for the output file name.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/urql-introspection\n\n=> Make sure to include \"@graphql-codegen/urql-introspection\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates an introspection file for Schema Awareness feature of Urql Cache Exchange\n\nYou can read more about it in `urql` documentation: https://formidable.com/open-source/urql/docs/graphcache/schema-awareness.\n\nUrql Introspection plugin accepts a TypeScript / JavaScript or a JSON file as an output _(`.ts, .tsx, .js, .jsx, .json`)_.\n\nBoth in TypeScript and JavaScript a default export is being used.\n\n> The output is based on the output you choose for the output file name.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/urql-introspection\n\n=> Make sure to include \"@graphql-codegen/urql-introspection\" in your package.json file and install your dependencies.\n\n" }, { "const": "@graphql-codegen/urql-introspection", - "description": "This plugin generates an introspection file for Schema Awareness feature of Urql Cache Exchange\n\nYou can read more about it in `urql` documentation: https://formidable.com/open-source/urql/docs/graphcache/schema-awareness/.\n\nUrql Introspection plugin accepts a TypeScript / JavaScript or a JSON file as an output _(`.ts, .tsx, .js, .jsx, .json`)_.\n\nBoth in TypeScript and JavaScript a default export is being used.\n\n> The output is based on the output you choose for the output file name.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/urql-introspection\n\n=> Make sure to include \"@graphql-codegen/urql-introspection\" in your package.json file and install your dependencies.\n\n" + "description": "This plugin generates an introspection file for Schema Awareness feature of Urql Cache Exchange\n\nYou can read more about it in `urql` documentation: https://formidable.com/open-source/urql/docs/graphcache/schema-awareness.\n\nUrql Introspection plugin accepts a TypeScript / JavaScript or a JSON file as an output _(`.ts, .tsx, .js, .jsx, .json`)_.\n\nBoth in TypeScript and JavaScript a default export is being used.\n\n> The output is based on the output you choose for the output file name.\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/urql-introspection\n\n=> Make sure to include \"@graphql-codegen/urql-introspection\" in your package.json file and install your dependencies.\n\n" } ] }, diff --git a/website/public/style.css b/website/public/style.css new file mode 100644 index 000000000000..ae227e4365e4 --- /dev/null +++ b/website/public/style.css @@ -0,0 +1,50 @@ +code[class*='language-'], +pre[class*='language-'] { + white-space: pre-wrap !important; + word-break: break-word !important; +} + +code, +code * { + font-family: 'SF Mono', 'Source Code Pro', Menlo, monospace !important; + + margin-top: 0.2em; + margin-bottom: 0.2em; +} + +article { + width: 100%; + overflow-x: auto; +} + +#__next { + font-family: TGCFont, sans-serif; +} + +.admonition-heading .chakra-heading { + padding-top: 0; +} + +.collapse-title { + font-weight: bold; + margin-bottom: 0.5rem; + cursor: pointer; + font-family: 'SF Mono', 'Source Code Pro', Menlo, monospace !important; +} + +details > *:last-child { + padding-bottom: 2rem; +} + +.admonition { + margin-top: 10px; +} + +.admonition-heading h5 { + text-transform: none; +} + +.chakra-link { + color: #0070f3; + text-decoration: none; +} diff --git a/website/routes.ts b/website/routes.ts new file mode 100644 index 000000000000..836632677b9a --- /dev/null +++ b/website/routes.ts @@ -0,0 +1,66 @@ +import type { IRoutes } from '@guild-docs/server'; +import { GenerateRoutes } from '@guild-docs/server'; + +export function getRoutes(): IRoutes { + const Routes: IRoutes = { + _: { + docs: { + $name: 'Docs', + _: { + 'getting-started': { + $name: 'Getting Started', + $routes: [ + 'index', + 'installation', + 'development-workflow', + '$config-reference', + 'programmatic-usage', + 'further-reading', + ], + _: { + 'config-reference': { + $name: 'Config Reference', + $routes: [ + 'codegen-config', + 'schema-field', + 'documents-field', + 'config-field', + 'require-field', + 'naming-convention', + 'lifecycle-hooks', + ], + }, + }, + }, + integrations: { + $name: 'Integrations', + $routes: ['apollo-local-state', 'create-react-app', 'gatsby', 'prettier', 'federation', 'vscode'], + }, + 'custom-codegen': { + $name: 'Custom Plugins', + $routes: [ + 'index', + 'write-your-plugin', + 'validate-configuration', + 'extend-schema', + 'using-visitor', + 'contributing', + ], + }, + migration: { + $name: 'Migration Guide', + $routes: ['from-0-18', 'from-0-13'], + }, + }, + }, + }, + }; + + GenerateRoutes({ + Routes, + folderPattern: 'docs', + basePath: 'docs', + }); + + return Routes; +} diff --git a/website/sidebars.js b/website/sidebars.js deleted file mode 100644 index 6e5f788f1108..000000000000 --- a/website/sidebars.js +++ /dev/null @@ -1,116 +0,0 @@ -module.exports = { - sidebar: { - 'Getting Started': [ - 'getting-started/index', - 'getting-started/installation', - { - type: 'category', - label: 'Config Reference', - items: [ - 'getting-started/codegen-config', - 'getting-started/schema-field', - 'getting-started/documents-field', - 'getting-started/config-field', - 'getting-started/require-field', - 'getting-started/naming-convention', - 'getting-started/lifecycle-hooks', - ], - }, - 'getting-started/development-workflow', - 'getting-started/programmatic-usage', - 'getting-started/further-reading', - ], - Plugins: [ - 'plugins/index', - { - type: 'category', - label: 'TypeScript', - items: [ - 'plugins/typescript', - 'plugins/typescript-operations', - 'plugins/typescript-resolvers', - 'plugins/typed-document-node', - 'plugins/typescript-apollo-client-helpers', - 'plugins/typescript-graphql-request', - 'plugins/typescript-generic-sdk', - 'plugins/typescript-react-query', - 'plugins/typescript-react-apollo', - 'plugins/typescript-svelte-apollo', - 'plugins/typescript-vue-apollo', - 'plugins/typescript-vue-apollo-smart-ops', - 'plugins/typescript-apollo-angular', - 'plugins/typescript-stencil-apollo', - 'plugins/typescript-rtk-query', - 'plugins/typescript-graphql-files-modules', - 'plugins/typescript-document-nodes', - 'plugins/typescript-mongodb', - 'plugins/typescript-urql', - 'plugins/typescript-vue-urql', - 'plugins/typescript-oclif', - 'plugins/named-operations-object', - 'plugins/typescript-type-graphql', - 'plugins/typescript-apollo-next', - 'plugins/typescript-msw', - ], - }, - { - type: 'category', - label: 'Flow', - items: ['plugins/flow', 'plugins/flow-resolvers', 'plugins/flow-operations'], - }, - { - type: 'category', - label: 'Reason', - items: ['plugins/reason-client'], - }, - { - type: 'category', - label: 'Java', - items: ['plugins/kotlin', 'plugins/java', 'plugins/java-resolvers', 'plugins/java-apollo-android'], - }, - { - type: 'category', - label: '.NET', - items: ['plugins/c-sharp', 'plugins/c-sharp-operations'], - }, - { - type: 'category', - label: 'Utilities', - items: [ - 'plugins/fragment-matcher', - 'plugins/urql-introspection', - 'plugins/introspection', - 'plugins/schema-ast', - 'plugins/jsdoc', - 'plugins/add', - 'plugins/time', - 'plugins/relay-operation-optimizer', - ], - }, - ], - Presets: [ - 'presets/presets-index', - 'presets/gql-tag-operations', - 'presets/near-operation-file', - 'presets/import-types', - 'presets/graphql-modules', - ], - Integrations: [ - 'integrations/apollo-local-state', - 'integrations/create-react-app', - 'integrations/gatsby', - 'integrations/prettier', - 'integrations/federation', - 'integrations/vscode', - ], - 'Custom Plugins': [ - 'custom-codegen/index', - 'custom-codegen/write-your-plugin', - 'custom-codegen/validate-configuration', - 'custom-codegen/extend-schema', - 'custom-codegen/using-visitor', - 'custom-codegen/contributing', - ], - 'Migration Guides': ['migration/from-0-18', 'migration/from-0-13'], - }, -}; diff --git a/website/src/components/live-demo/CodegenOutput.js b/website/src/components/live-demo/CodegenOutput.tsx similarity index 73% rename from website/src/components/live-demo/CodegenOutput.js rename to website/src/components/live-demo/CodegenOutput.tsx index c6cfa93b2102..86745437ea77 100644 --- a/website/src/components/live-demo/CodegenOutput.js +++ b/website/src/components/live-demo/CodegenOutput.tsx @@ -1,14 +1,14 @@ -import { Editor } from './Editor'; -import React from 'react'; -import classes from './styles.module.css'; -import classnames from 'classnames'; import { basename } from 'path'; +import { FC, useState, useEffect } from 'react'; +import classnames from 'classnames'; +import Editor from './Editor'; +import classes from './styles.module.css'; -export const CodegenOutput = ({ outputArray, editorProps, error }) => { - const [index, setIndex] = React.useState(0); +const CodegenOutput: FC = ({ outputArray, editorProps, error }) => { + const [index, setIndex] = useState(0); const editorContent = error ? error : outputArray && outputArray[index] ? outputArray[index].content : ''; - React.useEffect(() => { + useEffect(() => { setIndex(0); }, [outputArray]); @@ -16,7 +16,7 @@ export const CodegenOutput = ({ outputArray, editorProps, error }) => { <>
    - {(outputArray|| []).map((outputItem, i) => ( + {outputArray?.map((outputItem, i) => (
    setIndex(i)} key={outputItem.filename} @@ -34,3 +34,5 @@ export const CodegenOutput = ({ outputArray, editorProps, error }) => { ); }; + +export default CodegenOutput diff --git a/website/src/components/live-demo/Editor.js b/website/src/components/live-demo/Editor.js deleted file mode 100644 index 6d2b464a51e2..000000000000 --- a/website/src/components/live-demo/Editor.js +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; -import { useThemeContext } from '@theguild/components'; -import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment'; - -let MonacoEditor = () =>
    ; - -if (ExecutionEnvironment.canUseDOM) { - MonacoEditor = require('@monaco-editor/react').default; -} - -export const Editor = ({ value, lang, readOnly, onEdit }) => { - if (typeof window === 'undefined') { - return null; - } - - const { isDarkTheme } = useThemeContext(); - const options = { - readOnly, - minimap: { - enabled: false, - }, - }; - - return ( - onEdit(newValue)} - /> - ); -}; diff --git a/website/src/components/live-demo/Editor.tsx b/website/src/components/live-demo/Editor.tsx new file mode 100644 index 000000000000..aa8327ad4bc0 --- /dev/null +++ b/website/src/components/live-demo/Editor.tsx @@ -0,0 +1,35 @@ +import { FC } from 'react'; +import { useThemeContext } from '@theguild/components'; +import MonacoEditor from '@monaco-editor/react'; +import { canUseDOM } from '../../utils'; + +const Editor: FC<{ lang: string; value: string; readOnly?: boolean; onEdit: (value?: string) => void }> = ({ + value, + lang, + readOnly, + onEdit, +}) => { + const { isDarkTheme } = useThemeContext(); + + if (!canUseDOM) { + return null; + } + + return ( + onEdit(newValue)} + /> + ); +}; + +export default Editor; diff --git a/website/src/components/live-demo/ErrorBoundary.tsx b/website/src/components/live-demo/ErrorBoundary.tsx new file mode 100644 index 000000000000..b3246b161a34 --- /dev/null +++ b/website/src/components/live-demo/ErrorBoundary.tsx @@ -0,0 +1,25 @@ +import { Component, ErrorInfo } from 'react'; + +class ErrorBoundary extends Component { + state = { hasError: false }; + + static getDerivedStateFromError() { + // Update state so the next render will show the fallback UI. + return { hasError: true }; + } + + componentDidCatch(error: Error, errorInfo: ErrorInfo) { + console.error(error, errorInfo); + } + + render() { + if (this.state.hasError) { + // Fallback + return Something went wrong.; + } + + return this.props.children; + } +} + +export default ErrorBoundary; diff --git a/website/src/components/live-demo/LiveDemo.js b/website/src/components/live-demo/LiveDemo.js deleted file mode 100644 index d5977738a26e..000000000000 --- a/website/src/components/live-demo/LiveDemo.js +++ /dev/null @@ -1,181 +0,0 @@ -import React from 'react'; -import { load } from 'js-yaml'; -import { EXAMPLES, EXAMPLES_ICONS } from './examples'; -import { getMode } from './formatter'; -import { generate } from './generate'; -import { Loading } from '../ui/Loading'; -import classes from './styles.module.css'; -import Select from 'react-select'; -import BrowserOnly from '@docusaurus/BrowserOnly'; -import ReactMarkdown from 'react-markdown'; -import LiveDemoEditors from './LiveDemoEditors'; -import { useThemeContext } from '@theguild/components'; - -const groupedExamples = Object.keys(EXAMPLES).map(catName => { - return { - label: catName, - options: EXAMPLES[catName].map((t, index) => ({ ...t, selectId: `${catName}__${index}` })), - }; -}); - -function useCodegen(config, schema, documents, templateName) { - const [error, setError] = React.useState(null); - const [output, setOutput] = React.useState(null); - - async function run() { - const result = await generate(config, schema, documents); - - if (typeof result === 'string') { - setOutput(null); - setError(result); - } else { - setOutput(result); - setError(null); - } - } - - React.useEffect(() => { - run(); - }, [config, schema, documents, templateName]); - - return { - error, - output, - }; -} - -const DEFAULT_EXAMPLE = { - catName: 'TypeScript', - index: 0, -}; - -class ErrorBoundary extends React.Component { - constructor(props) { - super(props); - this.state = { hasError: false }; - } - - static getDerivedStateFromError() { - // Update state so the next render will show the fallback UI. - return { hasError: true }; - } - - componentDidCatch(error, errorInfo) { - console.error(error, errorInfo); - } - - render() { - if (this.state.hasError) { - // Fallback - return Something went wrong.; - } - - return this.props.children; - } -} - -export const LiveDemo = () => { - const { isDarkTheme } = useThemeContext(); - const [template, setTemplate] = React.useState(`${DEFAULT_EXAMPLE.catName}__${DEFAULT_EXAMPLE.index}`); - const [schema, setSchema] = React.useState(EXAMPLES[DEFAULT_EXAMPLE.catName][DEFAULT_EXAMPLE.index].schema); - const [documents, setDocuments] = React.useState(EXAMPLES[DEFAULT_EXAMPLE.catName][DEFAULT_EXAMPLE.index].documents); - const [config, setConfig] = React.useState(EXAMPLES[DEFAULT_EXAMPLE.catName][DEFAULT_EXAMPLE.index].config); - const { output, error } = useCodegen(config, schema, documents, template); - - const changeTemplate = value => { - const [catName, index] = value.split('__'); - setSchema(EXAMPLES[catName][index].schema); - setDocuments(EXAMPLES[catName][index].documents); - setConfig(EXAMPLES[catName][index].config); - setTemplate(value); - }; - - let mode = null; - - try { - const parsedConfig = load(config || ''); - mode = getMode(parsedConfig) || 'typescript'; - mode = mode === 'typescript' ? 'text/typescript' : mode; - } catch (e) {} - - let description = null; - - if (template) { - const [catName, index] = template.split('__'); - description = EXAMPLES[catName][index].description; - } - - return ( -
    -
    -
    -

    Choose Live Example:

    -
    -
    - ({ ...styles, ...(isDarkTheme && { backgroundColor: 'black' }) }), + control: styles => ({ ...styles, ...(isDarkTheme && { backgroundColor: 'black' }) }), + container: styles => ({ + ...styles, + display: 'inline-block', + width: '100%', + textAlign: 'left', + }), + option: (styles, { isFocused }) => ({ + ...styles, + fontSize: 13, + ...(isDarkTheme && isFocused && { backgroundColor: 'gray' }), + }), + singleValue: styles => ({ + ...styles, + width: '100%', + ...(isDarkTheme && { color: 'white' }), + }), + }} + isMulti={false} + isClearable={false} + onChange={e => changeTemplate(e.selectId)} + getOptionValue={o => o.selectId} + getOptionLabel={o => ( + <> + {o.name} + + {o.tags?.map((t, index) => { + const icon = EXAMPLES_ICONS[t]; + const key = `${o.name}_${index}`; + return icon ? ( + + {icon.alt} +   + + ) : ( + + {t} + + ); + })} + + + )} + defaultValue={groupedExamples[0].options[0]} + options={groupedExamples} + /> + {/* TODO: Should I add this ? */} + {/*
    {description && {description}}
    */} +
    +
    +
    + + }> + + + +
    + + ); +}; + +export default LiveDemo; diff --git a/website/src/components/live-demo/LiveDemoEditors.js b/website/src/components/live-demo/LiveDemoEditors.tsx similarity index 63% rename from website/src/components/live-demo/LiveDemoEditors.js rename to website/src/components/live-demo/LiveDemoEditors.tsx index 3dd9c3c095ed..5f55e68896e2 100644 --- a/website/src/components/live-demo/LiveDemoEditors.js +++ b/website/src/components/live-demo/LiveDemoEditors.tsx @@ -1,9 +1,10 @@ -import React from 'react'; +import { FC } from 'react'; +import Image from 'next/image'; +import Editor from './Editor'; +import CodegenOutput from './CodegenOutput'; import classes from './styles.module.css'; -import { Editor } from './Editor'; -import { CodegenOutput } from './CodegenOutput'; -export default function LiveDemoEditors({ +const LiveDemoEditors: FC = ({ setSchema, schema, setDocuments, @@ -13,33 +14,33 @@ export default function LiveDemoEditors({ mode, error, output, -}) { +}) => { return ( <>
    - {'GraphQL'} + GraphQL schema.graphql
    - +
    - {'GraphQL'} + GraphQL operation.graphql
    - {'Codegen'} + Codegen codegen.yml
    - +
    ); -} +}; + +export default LiveDemoEditors; diff --git a/website/src/components/live-demo/examples.js b/website/src/components/live-demo/examples.ts similarity index 80% rename from website/src/components/live-demo/examples.js rename to website/src/components/live-demo/examples.ts index 186bd21aba5b..9e35b16b8d3b 100644 --- a/website/src/components/live-demo/examples.js +++ b/website/src/components/live-demo/examples.ts @@ -1,84 +1,126 @@ -import React from 'react'; -import classes from './styles.module.css'; +import dedent from 'dedent'; export const EXAMPLES_ICONS = { - 'react-query': k => ( - {'React-Query'} - ), - typescript: k => {'TypeScript'}, - react: k => {'React'}, - apollo: k => {'Apollo, - csharp: k => {'C#'}, - graphql: k => {'GraphQL'}, - vue: k => {'VueJS'}, - java: k => {'Java'}, - flow: k => {'FlowJS'}, - angular: k => {'Angular'}, - urql: k => {'urql'}, - nodejs: k => {'NodeJS'}, - 'type-graphql': k => ( - {'type-graphql'} - ), - mongodb: k => {'MongoDB'}, + /* eslint sort-keys: error */ + angular: { + alt: 'Angular', + src: '/assets/img/icons/angular.svg', + }, + apollo: { + alt: 'Apollo GraphQL', + src: '/assets/img/icons/apollo.svg', + }, + csharp: { + alt: 'C#', + src: '/assets/img/icons/csharp.svg', + }, + flow: { + alt: 'FlowJS', + src: '/assets/img/icons/flow.svg', + }, + graphql: { + alt: 'GraphQL', + src: '/assets/img/icons/graphql.svg', + }, + java: { + alt: 'Java', + src: '/assets/img/icons/java.svg', + }, + mongodb: { + alt: 'MongoDB', + src: '/assets/img/icons/mongodb.png', + }, + nodejs: { + alt: 'NodeJS', + src: '/assets/img/icons/nodejs.svg', + }, + react: { + alt: 'React', + src: '/assets/img/icons/react.svg', + }, + 'react-query': { + alt: 'React-Query', + src: '/assets/img/icons/react-query.svg', + }, + 'type-graphql': { + alt: 'type-graphql', + src: '/assets/img/icons/type-graphql.png', + }, + typescript: { + alt: 'TypeScript', + src: '/assets/img/icons/typescript.svg', + }, + urql: { + alt: 'urql', + src: '/assets/img/icons/urql.svg', + }, + vue: { + alt: 'VueJS', + src: '/assets/img/icons/vue.svg', + }, + /* eslint-disable */ }; -const TS_SCHEMA = `scalar Date +const TS_SCHEMA = dedent(/* GraphQL */ ` + scalar Date -schema { - query: Query -} + schema { + query: Query + } -type Query { - me: User! - user(id: ID!): User - allUsers: [User] - search(term: String!): [SearchResult!]! - myChats: [Chat!]! -} + type Query { + me: User! + user(id: ID!): User + allUsers: [User] + search(term: String!): [SearchResult!]! + myChats: [Chat!]! + } -enum Role { - USER, - ADMIN, -} + enum Role { + USER + ADMIN + } -interface Node { - id: ID! -} + interface Node { + id: ID! + } -union SearchResult = User | Chat | ChatMessage + union SearchResult = User | Chat | ChatMessage -type User implements Node { - id: ID! - username: String! - email: String! - role: Role! -} + type User implements Node { + id: ID! + username: String! + email: String! + role: Role! + } -type Chat implements Node { - id: ID! - users: [User!]! - messages: [ChatMessage!]! -} + type Chat implements Node { + id: ID! + users: [User!]! + messages: [ChatMessage!]! + } -type ChatMessage implements Node { - id: ID! - content: String! - time: Date! - user: User! -} -`; + type ChatMessage implements Node { + id: ID! + content: String! + time: Date! + user: User! + } +`); -const TS_QUERY = `query findUser($userId: ID!) { - user(id: $userId) { - ...UserFields +const TS_QUERY = dedent(/* GraphQL */ ` + query findUser($userId: ID!) { + user(id: $userId) { + ...UserFields + } } -} -fragment UserFields on User { - id - username - role -}`; + fragment UserFields on User { + id + username + role + } +`); export const EXAMPLES = { TypeScript: [ @@ -91,7 +133,6 @@ export const EXAMPLES = { plugins: - typescript`, schema: TS_SCHEMA, - documents: '', }, { name: 'Operations types', @@ -311,7 +352,6 @@ export const EXAMPLES = { - typescript - typescript-resolvers`, schema: TS_SCHEMA, - documents: '', }, { name: 'Resolvers Signature (with custom models)', @@ -329,7 +369,6 @@ export const EXAMPLES = { - typescript - typescript-resolvers`, schema: TS_SCHEMA, - documents: '', }, { name: 'graphql-request typed SDK', @@ -361,7 +400,6 @@ export const EXAMPLES = { plugins: - typescript-type-graphql`, schema: TS_SCHEMA, - documents: '', }, { name: 'MongoDB Models', @@ -370,38 +408,33 @@ export const EXAMPLES = { models.ts: plugins: - typescript-mongodb`, - schema: `type User @entity { - id: ID! @id - username: String! @column - email: String! @column @map( - path: "login.email" - ) - profile: Profile! @column - chats: [Chat!]! @link - } - - type Profile @entity(embedded: true, - additionalFields: [ - { path: "dateOfBirth", type: "string" } - ]) { - name: String! @column - age: Int - } - - type Chat @entity { - id: ID! @id - users: [User!]! @link - messages: [ChatMessage!]! - } - - type ChatMessage @entity { - id: ID! @id - chat: Chat! @link - content: String! @column - author: User! @link - } - `, - documents: '', + schema: dedent(/* GraphQL */ ` + type User @entity { + id: ID! @id + username: String! @column + email: String! @column @map(path: "login.email") + profile: Profile! @column + chats: [Chat!]! @link + } + + type Profile @entity(embedded: true, additionalFields: [{ path: "dateOfBirth", type: "string" }]) { + name: String! @column + age: Int + } + + type Chat @entity { + id: ID! @id + users: [User!]! @link + messages: [ChatMessage!]! + } + + type ChatMessage @entity { + id: ID! @id + chat: Chat! @link + content: String! @column + author: User! @link + } + `), }, ], '.NET': [ @@ -413,7 +446,6 @@ export const EXAMPLES = { plugins: - c-sharp`, schema: TS_SCHEMA, - documents: '', }, { name: 'C# Operations', @@ -435,7 +467,6 @@ export const EXAMPLES = { plugins: - java`, schema: TS_SCHEMA, - documents: '', }, { name: 'Resolvers Signature', @@ -445,7 +476,6 @@ export const EXAMPLES = { plugins: - java-resolvers`, schema: TS_SCHEMA, - documents: '', }, { name: 'Apollo Android', @@ -470,10 +500,8 @@ export const EXAMPLES = { config: `generates: types.flow.js: plugins: - - flow - `, + - flow`, schema: TS_SCHEMA, - documents: '', }, { name: 'Resolvers Signature', @@ -482,10 +510,8 @@ export const EXAMPLES = { resolvers.flow.js: plugins: - flow - - flow-resolvers - `, + - flow-resolvers`, schema: TS_SCHEMA, - documents: '', }, { name: 'Operations types', @@ -494,8 +520,7 @@ export const EXAMPLES = { types.flow.js: plugins: - flow - - flow-operations - `, + - flow-operations`, schema: TS_SCHEMA, documents: TS_QUERY, }, @@ -508,7 +533,6 @@ export const EXAMPLES = { plugins: - jsdoc`, schema: TS_SCHEMA, - documents: '', }, { name: 'Introspection JSON', @@ -518,7 +542,6 @@ export const EXAMPLES = { plugins: - introspection`, schema: TS_SCHEMA, - documents: '', }, { name: 'Schema AST', @@ -528,7 +551,6 @@ export const EXAMPLES = { plugins: - schema-ast`, schema: TS_SCHEMA, - documents: '', }, { name: 'Fragment Matcher', @@ -538,7 +560,6 @@ export const EXAMPLES = { plugins: - fragment-matcher`, schema: TS_SCHEMA, - documents: '', }, ], }; diff --git a/website/src/components/live-demo/formatter.js b/website/src/components/live-demo/formatter.js deleted file mode 100644 index 9a5a54e0f310..000000000000 --- a/website/src/components/live-demo/formatter.js +++ /dev/null @@ -1,17 +0,0 @@ -export const EXT_TO_FORMATTER = { - ts: 'typescript', - 'd.ts': 'typescript', - tsx: 'typescript', - graphql: 'graphql', - json: 'json', - java: 'java', - js: 'javascript', - jsx: 'javascript', -}; - -export function getMode(config) { - const out = Object.keys(config.generates)[0].split('.'); - const ext = out[out.length - 1]; - - return EXT_TO_FORMATTER[ext]; -} diff --git a/website/src/components/live-demo/formatter.ts b/website/src/components/live-demo/formatter.ts new file mode 100644 index 000000000000..d9d4d7952ae5 --- /dev/null +++ b/website/src/components/live-demo/formatter.ts @@ -0,0 +1,32 @@ +import { extname } from 'path'; + +type Config = { + generates: Record< + string, + { + plugins: (string | unknown)[]; + preset?: string; + presetConfig?: { + baseTypesPath: string; + extension: string; + }; + } + >; +}; + +export function getMode(config: Config) { + const ext = extname(Object.keys(config.generates)[0]); + switch (ext.slice(1)) { + case 'graphql': + return 'graphql'; + case 'json': + return 'json'; + case 'java': + return 'java'; + case 'js': + case 'jsx': + return 'javascript'; + default: + return 'text/typescript'; + } +} diff --git a/website/src/components/live-demo/generate.js b/website/src/components/live-demo/generate.ts similarity index 53% rename from website/src/components/live-demo/generate.js rename to website/src/components/live-demo/generate.ts index c5eb12a2d066..bbde2a26fd6e 100644 --- a/website/src/components/live-demo/generate.js +++ b/website/src/components/live-demo/generate.ts @@ -1,19 +1,21 @@ -import React from 'react'; -import { normalizeConfig } from './utils'; +import { load } from 'js-yaml'; +import { codegen } from '@graphql-codegen/core'; +import { parse } from 'graphql'; +import type { GraphQLError } from 'graphql'; import { pluginLoaderMap, presetLoaderMap } from './plugins'; +import { normalizeConfig } from './utils'; +import { canUseDOM } from '../../utils'; + +if (canUseDOM) { + process.hrtime = () => [0, 0]; // Fix error - TypeError: process.hrtime is not a function + window.global = window; // type-graphql error - global is not defined +} -export async function generate(config, schema, documents) { +export async function generate(config: string, schema: string, documents?: string) { try { const outputs = []; - const [{ load }, { codegen }, { parse }] = await Promise.all([ - import('js-yaml').then(m => ('default' in m ? m.default : m)), - import('@graphql-codegen/core').then(m => ('default' in m ? m.default : m)), - import('graphql').then(m => ('default' in m ? m.default : m)), - ]); - const cleanTabs = config.replace(/\t/g, ' '); const { generates, ...otherFields } = load(cleanTabs); - const rootConfig = otherFields.config || {}; const runConfigurations = []; for (const [filename, outputOptions] of Object.entries(generates)) { @@ -21,59 +23,50 @@ export async function generate(config, schema, documents) { const plugins = normalizeConfig(outputOptions.plugins || outputOptions); const outputConfig = outputOptions.config; const pluginMap = {}; - + await Promise.all( plugins.map(async pluginElement => { const pluginName = Object.keys(pluginElement)[0]; try { pluginMap[pluginName] = await pluginLoaderMap[pluginName](); } catch (e) { - console.error(`Unable to find codegen plugin named "${pluginName}"...`) + console.error(e); } }) ); - - const mergedConfig = { - ...rootConfig, - ...outputConfig, + + const props = { + plugins, + pluginMap, + schema: parse(schema), + documents: documents + ? [ + { + location: 'operation.graphql', + document: parse(documents), + }, + ] + : [], + config: { + ...otherFields.config, + ...outputConfig, + }, }; - + if (!hasPreset) { runConfigurations.push({ filename, - plugins, - schema: parse(schema), - documents: documents - ? [ - { - location: 'operation.graphql', - document: parse(documents), - }, - ] - : [], - config: mergedConfig, - pluginMap, + ...props, }); } else { const presetExport = await presetLoaderMap[outputOptions.preset](); const presetFn = typeof presetExport === 'function' ? presetExport : presetExport.preset; - + runConfigurations.push( ...(await presetFn.buildGeneratesSection({ baseOutputDir: filename, presetConfig: outputOptions.presetConfig || {}, - plugins, - schema: parse(schema), - documents: documents - ? [ - { - location: 'operation.graphql', - document: parse(documents), - }, - ] - : [], - config: mergedConfig, - pluginMap, + ...props, })) ); } @@ -87,24 +80,26 @@ export async function generate(config, schema, documents) { } return outputs; - } catch (e) { - // tslint:disable-next-line: no-console - console.error(e); - if (e.details) { + } catch (error: GraphQLError) { + console.error(error); + + if (error.details) { return ` - ${e.message}: + ${error.message}: - ${e.details} + ${error.details} `; - } else if (e.errors) { - return e.errors + } + + if (error.errors) { + return error.errors .map( subError => `${subError.message}: ${subError.details}` ) .join('\n'); - } else { - return e.message; } + + return error.message; } } diff --git a/website/src/components/live-demo/plugins.js b/website/src/components/live-demo/plugins.ts similarity index 98% rename from website/src/components/live-demo/plugins.js rename to website/src/components/live-demo/plugins.ts index d600f8e7e78c..cac69bd65c91 100644 --- a/website/src/components/live-demo/plugins.js +++ b/website/src/components/live-demo/plugins.ts @@ -1,41 +1,43 @@ +/* eslint sort-keys: error */ + export const presetLoaderMap = { - 'near-operation-file': () => import('@graphql-codegen/near-operation-file-preset'), 'import-types': () => import('@graphql-codegen/import-types-preset'), 'java-apollo-android': () => import('@graphql-codegen/java-apollo-android'), + 'near-operation-file': () => import('@graphql-codegen/near-operation-file-preset'), }; export const pluginLoaderMap = { - jsdoc: () => import('@graphql-codegen/jsdoc'), - java: () => import('@graphql-codegen/java'), - 'java-resolvers': () => import('@graphql-codegen/java-resolvers'), - 'fragment-matcher': () => import('@graphql-codegen/fragment-matcher'), + add: () => import('@graphql-codegen/add'), + 'c-sharp': () => import('@graphql-codegen/c-sharp'), + 'c-sharp-operations': () => import('@graphql-codegen/c-sharp-operations'), flow: () => import('@graphql-codegen/flow'), 'flow-operations': () => import('@graphql-codegen/flow-operations'), 'flow-resolvers': () => import('@graphql-codegen/flow-resolvers'), + 'fragment-matcher': () => import('@graphql-codegen/fragment-matcher'), + introspection: () => import('@graphql-codegen/introspection'), + java: () => import('@graphql-codegen/java'), + 'java-apollo-android': () => import('@graphql-codegen/java-apollo-android'), + 'java-resolvers': () => import('@graphql-codegen/java-resolvers'), + jsdoc: () => import('@graphql-codegen/jsdoc'), + 'schema-ast': () => import('@graphql-codegen/schema-ast'), + time: () => import('@graphql-codegen/time'), + 'typed-document-node': () => import('@graphql-codegen/typed-document-node'), typescript: () => import('@graphql-codegen/typescript'), - 'typescript-operations': () => import('@graphql-codegen/typescript-operations'), - 'typescript-resolvers': () => import('@graphql-codegen/typescript-resolvers'), 'typescript-apollo-angular': () => import('@graphql-codegen/typescript-apollo-angular'), - 'typescript-react-apollo': () => import('@graphql-codegen/typescript-react-apollo'), - 'typescript-vue-apollo': () => import('@graphql-codegen/typescript-vue-apollo'), - 'typescript-vue-apollo-smart-ops': () => import('@graphql-codegen/typescript-vue-apollo-smart-ops'), - 'typescript-vue-urql': () => import('@graphql-codegen/typescript-vue-urql'), - 'typescript-stencil-apollo': () => import('@graphql-codegen/typescript-stencil-apollo'), + 'typescript-apollo-client-helpers': () => import('@graphql-codegen/typescript-apollo-client-helpers'), + 'typescript-generic-sdk': () => import('@graphql-codegen/typescript-generic-sdk'), 'typescript-graphql-files-modules': () => import('@graphql-codegen/typescript-graphql-files-modules'), 'typescript-graphql-request': () => import('@graphql-codegen/typescript-graphql-request'), - 'typescript-generic-sdk': () => import('@graphql-codegen/typescript-generic-sdk'), - 'typescript-type-graphql': () => import('@graphql-codegen/typescript-type-graphql'), + 'typescript-mongodb': () => import('@graphql-codegen/typescript-mongodb'), + 'typescript-operations': () => import('@graphql-codegen/typescript-operations'), + 'typescript-react-apollo': () => import('@graphql-codegen/typescript-react-apollo'), 'typescript-react-query': () => import('@graphql-codegen/typescript-react-query'), + 'typescript-resolvers': () => import('@graphql-codegen/typescript-resolvers'), 'typescript-rtk-query': () => import('@graphql-codegen/typescript-rtk-query'), - 'typescript-mongodb': () => import('@graphql-codegen/typescript-mongodb'), - 'java-apollo-android': () => import('@graphql-codegen/java-apollo-android'), - 'c-sharp-operations': () => import('@graphql-codegen/c-sharp-operations'), - 'c-sharp': () => import('@graphql-codegen/c-sharp'), + 'typescript-stencil-apollo': () => import('@graphql-codegen/typescript-stencil-apollo'), + 'typescript-type-graphql': () => import('@graphql-codegen/typescript-type-graphql'), 'typescript-urql': () => import('@graphql-codegen/typescript-urql'), - 'typed-document-node': () => import('@graphql-codegen/typed-document-node'), - add: () => import('@graphql-codegen/add'), - time: () => import('@graphql-codegen/time'), - introspection: () => import('@graphql-codegen/introspection'), - 'schema-ast': () => import('@graphql-codegen/schema-ast'), - 'typescript-apollo-client-helpers': () => import('@graphql-codegen/typescript-apollo-client-helpers'), + 'typescript-vue-apollo': () => import('@graphql-codegen/typescript-vue-apollo'), + 'typescript-vue-apollo-smart-ops': () => import('@graphql-codegen/typescript-vue-apollo-smart-ops'), + 'typescript-vue-urql': () => import('@graphql-codegen/typescript-vue-urql'), }; diff --git a/website/src/components/live-demo/styles.module.css b/website/src/components/live-demo/styles.module.css index 9d3b86d34615..7245ae76a611 100644 --- a/website/src/components/live-demo/styles.module.css +++ b/website/src/components/live-demo/styles.module.css @@ -4,7 +4,7 @@ padding-left: 30px; padding-right: 30px; padding-bottom: 5px; - margin: 30px auto 0px auto; + margin: 30px auto 0 auto; text-align: center; width: 50%; } @@ -17,19 +17,11 @@ text-align: left; } -.react-monaco-editor-container, .monaco-editor { +.react-monaco-editor-container, +.monaco-editor { height: 400px; } -.exampleIcon { - width: 18px; - height: 18px; - vertical-align: middle; - display: inline-block; - margin-right: 3px; - margin-left: 3px; -} - .exampleTag { background-color: gainsboro; border-radius: 10px; @@ -41,9 +33,9 @@ } .exampleTags { - position: absolute; - right: 0; padding-right: 20px; + float: right; + display: flex; } .container { @@ -89,9 +81,9 @@ } .tabs .tab { - border-radius: 5px 5px 0px 0px; + border-radius: 5px 5px 0 0; flex: 1; - color: var(--ifm-color-emphasis-600); + color: rgb(141, 148, 158); cursor: pointer; font-size: 11px; padding: 5px 3px 5px 3px; @@ -103,52 +95,17 @@ } .tabs .activeTab { - background-color: var(--ifm-color-emphasis-600); + background-color: rgb(141, 148, 158); color: white; } html[data-theme='dark'] .tabs .activeTab { - background-color: var(--ifm-color-emphasis-600); + background-color: rgb(141, 148, 158); color: black; } .iconText { text-align: center; font-family: 'Inconsolata', monospace; -} - -.queryEditor { - flex: 1; - position: relative; - overflow: scroll; -} - -.logo { - width: 30px; - height: 30px; - margin-right: 5px; -} - -.generateButton { - width: 50%; - display: flex; - align-content: space-around; - align-items: center; - justify-content: center; -} - -.generateButton:hover img { - filter: invert(51%) sepia(21%) saturate(3977%) hue-rotate(301deg) brightness(94%) contrast(87%); -} - -.multipleViewContainer { - flex: 1; - overflow: auto; - display: flex; - flex-direction: column; -} - -.multipleViewContainer div { - flex: 1; - align-self: stretch; + margin-left: 5px; } diff --git a/website/src/components/live-demo/utils.js b/website/src/components/live-demo/utils.ts similarity index 74% rename from website/src/components/live-demo/utils.js rename to website/src/components/live-demo/utils.ts index 8fbc39ac7cd2..eec2d2464669 100644 --- a/website/src/components/live-demo/utils.js +++ b/website/src/components/live-demo/utils.ts @@ -1,11 +1,12 @@ export function normalizeConfig(config) { if (typeof config === 'string') { return [{ [config]: {} }]; - } else if (Array.isArray(config)) { + } + if (Array.isArray(config)) { return config.map(plugin => (typeof plugin === 'string' ? { [plugin]: {} } : plugin)); - } else if (typeof config === 'object') { + } + if (typeof config === 'object') { return Object.keys(config).reduce((prev, pluginName) => [...prev, { [pluginName]: config[pluginName] }], []); - } else { - return []; } + return []; } diff --git a/website/src/components/ui/Button.js b/website/src/components/ui/Button.tsx similarity index 81% rename from website/src/components/ui/Button.js rename to website/src/components/ui/Button.tsx index 5080e5060b17..0375723710e0 100644 --- a/website/src/components/ui/Button.js +++ b/website/src/components/ui/Button.tsx @@ -1,8 +1,8 @@ -import styles from './button.module.css'; -import React from 'react'; +import { FC } from 'react'; import classnames from 'classnames'; +import styles from './button.module.css'; -export const Button = ({ mobileHide, ...props}) => { +export const Button: FC = ({ mobileHide, ...props }) => { return (
    ); -} \ No newline at end of file +}; diff --git a/website/src/components/ui/Markdown.tsx b/website/src/components/ui/Markdown.tsx new file mode 100644 index 000000000000..8ecac4741150 --- /dev/null +++ b/website/src/components/ui/Markdown.tsx @@ -0,0 +1,27 @@ +import { FC } from 'react'; +import { Link } from '@chakra-ui/react'; +import { MDX } from '@guild-docs/client'; +import type { ComponentProps } from 'react'; +import type { CompiledMDX } from '@guild-docs/server'; + +const extraComponents = { + a(props: ComponentProps<'a'>) { + return ( + + ); + }, +}; + +const Markdown: FC<{ content: CompiledMDX }> = ({ content }) => { + return ; +}; + +export default Markdown diff --git a/website/src/components/ui/button.module.css b/website/src/components/ui/button.module.css index ecbb4b926a4a..333a42b4c377 100644 --- a/website/src/components/ui/button.module.css +++ b/website/src/components/ui/button.module.css @@ -50,6 +50,5 @@ @media only screen and (max-width: 1023px) { .mobileHide { display: none; - } + } } - diff --git a/website/src/components/ui/loading.module.css b/website/src/components/ui/loading.module.css index 812b5d2319c3..bcdb44382545 100644 --- a/website/src/components/ui/loading.module.css +++ b/website/src/components/ui/loading.module.css @@ -4,4 +4,4 @@ justify-content: center; align-items: center; font-size: 16px; -} \ No newline at end of file +} diff --git a/website/src/css/custom.css b/website/src/css/custom.css deleted file mode 100644 index ac504e9d0b20..000000000000 --- a/website/src/css/custom.css +++ /dev/null @@ -1,190 +0,0 @@ -:root { - --ifm-color-primary: #e15799; - --ifm-color-primary-dark: #dc3d89; - --ifm-color-primary-darker: #da2f81; - --ifm-color-primary-darkest: #b9216a; - --ifm-color-primary-light: #e671a9; - --ifm-color-primary-lighter: #e87fb1; - --ifm-color-primary-lightest: #efa6c9; - --ifm-code-font-size: 95%; -} - -.admonition-shell { - --ra-admonition-background-color: rgb(41, 45, 62) !important; - --ra-admonition-color: #ffffff; -} - -.admonition a { - color: black; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; -} - -.menu button { - margin-bottom: 70px; -} - -button { - outline: none; -} - -.docusaurus-highlight-code-line { - background-color: rgb(72, 77, 91); - display: block; - margin: 0 calc(-1 * var(--ifm-pre-padding)); - padding: 0 var(--ifm-pre-padding); -} - -button[class^='copyButton'] { - color: white; -} - -/* source: https://fonts.googleapis.com/css?family=Montserrat:400,600,700 */ -/* cyrillic-ext */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 400; - src: local('Montserrat Regular'), local('Montserrat-Regular'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 400; - src: local('Montserrat Regular'), local('Montserrat-Regular'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* vietnamese */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 400; - src: local('Montserrat Regular'), local('Montserrat-Regular'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 400; - src: local('Montserrat Regular'), local('Montserrat-Regular'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 400; - src: local('Montserrat Regular'), local('Montserrat-Regular'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, - U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 600; - src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_bZF3gTD_u50.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 600; - src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_bZF3g3D_u50.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* vietnamese */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 600; - src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_bZF3gbD_u50.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 600; - src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_bZF3gfD_u50.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 600; - src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_bZF3gnD_g.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, - U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 700; - src: local('Montserrat Bold'), local('Montserrat-Bold'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_dJE3gTD_u50.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 700; - src: local('Montserrat Bold'), local('Montserrat-Bold'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_dJE3g3D_u50.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* vietnamese */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 700; - src: local('Montserrat Bold'), local('Montserrat-Bold'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_dJE3gbD_u50.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 700; - src: local('Montserrat Bold'), local('Montserrat-Bold'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_dJE3gfD_u50.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 700; - src: local('Montserrat Bold'), local('Montserrat-Bold'), - url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_dJE3gnD_g.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, - U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} - -body { - font-family: 'Montserrat', sans-serif; -} - -.navbar { - font-size: 12px; -} diff --git a/packages/utils/config-schema/src/docs.ts b/website/src/lib/docs-generator.ts similarity index 50% rename from packages/utils/config-schema/src/docs.ts rename to website/src/lib/docs-generator.ts index f8f260af3401..4528651e2720 100644 --- a/packages/utils/config-schema/src/docs.ts +++ b/website/src/lib/docs-generator.ts @@ -1,29 +1,22 @@ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ import * as TJS from 'typescript-json-schema'; -import { PluginConfig, PresetConfig } from './plugins'; +import { PluginConfig, PresetConfig } from './plugins-docs'; export function generateDocs(schema: TJS.Definition, types: (PluginConfig | PresetConfig)[]): Record { - const result = {}; + const result: Record = {}; for (const p of types) { - const subSchema = schema.definitions[p.identifier] as TJS.Definition; + const subSchema = schema.definitions![p.identifier] as TJS.Definition; const apiDocs = generateContentForSchema(subSchema); let content = ''; - if (subSchema.description && subSchema.description !== '') { + if (subSchema.description) { content += `${subSchema.description}\n\n`; } content += ``; - content += `## Installation\n\n - -${p.name} plugin version\n\n - -:::shell Using \`yarn\` - yarn add -D @graphql-codegen/${p.name} -:::\n\n`; - if (apiDocs) { - content += `## API Reference\n\n${apiDocs}`; + content += `### Config API Reference\n\n${apiDocs}`; } result[p.name] = content; @@ -35,19 +28,24 @@ export function generateDocs(schema: TJS.Definition, types: (PluginConfig | Pres function generateContentForSchema(schema: TJS.Definition): string { return Object.keys(schema.properties || {}) .map(propName => { - const prop = schema.properties[propName] as TJS.Definition; + const prop = schema.properties![propName] as TJS.Definition; - return `### \`${propName}\` + return `
    + + ${propName} + -type: \`${printType(prop)}\` -${typeof prop.default !== 'undefined' ? `default: \`${prop.default}\`\n` : ''} -${prop.description ? `${prop.description}\n` : ''}${ - (prop as any).exampleMarkdown - ? `\n#### Usage Examples\n\n${(prop as any).exampleMarkdown.replace(/## /g, '##### ')}` - : '' - }`; + type: \`${printType(prop)}\` + ${prop.default !== undefined ? `default: \`${prop.default === '' ? '(empty)' : prop.default}\`\n` : ''} + ${prop.description ? `${prop.description}\n` : ''} + ${ + (prop as any).exampleMarkdown + ? ` \n### Usage Examples\n\n${(prop as any).exampleMarkdown.replace(/## /g, '##### ')}\n` + : '' + } +
    `; }) - .join('\n\n'); + .join('\n'); } function printType(def: TJS.Definition): string { @@ -61,15 +59,18 @@ function printType(def: TJS.Definition): string { } return def.type as string; - } else if (def.$ref) { + } + if (def.$ref) { return def.$ref.replace('#/definitions/', ''); - } else if (def.anyOf) { + } + if (def.anyOf) { return def.anyOf.map(t => printType(t as TJS.Definition)).join(' | '); - } else if (def.oneOf) { + } + if (def.oneOf) { return def.oneOf.map(t => printType(t as TJS.Definition)).join(' | '); - } else if (def.allOf) { + } + if (def.allOf) { return def.allOf.map(t => printType(t as TJS.Definition)).join(' & '); - } else { - return ''; } + return ''; } diff --git a/packages/utils/config-schema/src/plugins.ts b/website/src/lib/plugins-docs.ts similarity index 58% rename from packages/utils/config-schema/src/plugins.ts rename to website/src/lib/plugins-docs.ts index 1e496a0d7989..4f13c452f0e0 100644 --- a/packages/utils/config-schema/src/plugins.ts +++ b/website/src/lib/plugins-docs.ts @@ -3,22 +3,22 @@ export type PresetConfig = { file: string; identifier: string; name: string }; export const presetsConfigurations: PresetConfig[] = [ { - file: '../../presets/graphql-modules/src/config.ts', + file: '../packages/presets/graphql-modules/src/config.ts', identifier: 'ModulesConfig', name: 'graphql-modules-preset', }, { - file: '../../presets/near-operation-file/src/index.ts', + file: '../packages/presets/near-operation-file/src/index.ts', identifier: 'NearOperationFileConfig', name: 'near-operation-file-preset', }, { - file: '../../presets/import-types/src/index.ts', + file: '../packages/presets/import-types/src/index.ts', identifier: 'ImportTypesConfig', name: 'import-types-preset', }, { - file: '../../presets/gql-tag-operations/src/index.ts', + file: '../packages/presets/gql-tag-operations/src/index.ts', identifier: 'GqlTagConfig', name: 'gql-tag-operations-preset', }, @@ -26,182 +26,182 @@ export const presetsConfigurations: PresetConfig[] = [ export const pluginsConfigurations: PluginConfig[] = [ { - file: '../../plugins/typescript/react-query/src/config.ts', + file: '../packages/plugins/typescript/react-query/src/config.ts', identifier: 'ReactQueryRawPluginConfig', name: 'typescript-react-query', }, { - file: '../../plugins/typescript/rtk-query/src/config.ts', + file: '../packages/plugins/typescript/rtk-query/src/config.ts', identifier: 'RTKConfig', name: 'typescript-rtk-query', }, { - file: '../../plugins/typescript/generic-sdk/src/config.ts', + file: '../packages/plugins/typescript/generic-sdk/src/config.ts', identifier: 'RawGenericSdkPluginConfig', name: 'typescript-generic-sdk', }, { - file: '../../plugins/typescript/apollo-client-helpers/src/config.ts', + file: '../packages/plugins/typescript/apollo-client-helpers/src/config.ts', identifier: 'ApolloClientHelpersConfig', name: 'typescript-apollo-client-helpers', }, { - file: '../../plugins/other/add/src/config.ts', + file: '../packages/plugins/other/add/src/config.ts', identifier: 'AddPluginConfig', name: 'add', }, { - file: '../../plugins/other/time/src/config.ts', + file: '../packages/plugins/other/time/src/config.ts', identifier: 'TimePluginConfig', name: 'time', }, { - file: '../../plugins/typescript/typescript/src/config.ts', + file: '../packages/plugins/typescript/typescript/src/config.ts', identifier: 'TypeScriptPluginConfig', name: 'typescript', }, { - file: '../../plugins/typescript/operations/src/config.ts', + file: '../packages/plugins/typescript/operations/src/config.ts', identifier: 'TypeScriptDocumentsPluginConfig', name: 'typescript-operations', }, { - file: '../../plugins/c-sharp/c-sharp/src/config.ts', + file: '../packages/plugins/c-sharp/c-sharp/src/config.ts', identifier: 'CSharpResolversPluginRawConfig', name: 'c-sharp', }, { - file: '../../plugins/c-sharp/c-sharp-operations/src/config.ts', + file: '../packages/plugins/c-sharp/c-sharp-operations/src/config.ts', identifier: 'CSharpOperationsRawPluginConfig', name: 'c-sharp-operations', }, { - file: '../../plugins/other/schema-ast/src/index.ts', + file: '../packages/plugins/other/schema-ast/src/index.ts', identifier: 'SchemaASTConfig', name: 'schema-ast', }, { - file: '../..//plugins/typescript/type-graphql/src/config.ts', + file: '../packages//plugins/typescript/type-graphql/src/config.ts', identifier: 'TypeGraphQLPluginConfig', name: 'typescript-type-graphql', }, { - file: '../../plugins/typescript/graphql-files-modules/src/index.ts', + file: '../packages/plugins/typescript/graphql-files-modules/src/index.ts', identifier: 'TypeScriptFilesModulesPluginConfig', name: 'typescript-graphql-files-modules', }, { - file: '../../plugins/typescript/named-operations-object/src/index.ts', + file: '../packages/plugins/typescript/named-operations-object/src/index.ts', identifier: 'NamedOperationsObjectPluginConfig', name: 'named-operations-object', }, { - file: '../../plugins/typescript/graphql-request/src/config.ts', + file: '../packages/plugins/typescript/graphql-request/src/config.ts', identifier: 'RawGraphQLRequestPluginConfig', name: 'typescript-graphql-request', }, { - file: '../../plugins/typescript/mongodb/src/config.ts', + file: '../packages/plugins/typescript/mongodb/src/config.ts', identifier: 'TypeScriptMongoPluginConfig', name: 'typescript-mongodb', }, { - file: '../../plugins/typescript/resolvers/src/config.ts', + file: '../packages/plugins/typescript/resolvers/src/config.ts', identifier: 'TypeScriptResolversPluginConfig', name: 'typescript-resolvers', }, { - file: '../../plugins/typescript/apollo-angular/src/config.ts', + file: '../packages/plugins/typescript/apollo-angular/src/config.ts', identifier: 'ApolloAngularRawPluginConfig', name: 'typescript-apollo-angular', }, { - file: '../../plugins/typescript/urql/src/config.ts', + file: '../packages/plugins/typescript/urql/src/config.ts', identifier: 'UrqlRawPluginConfig', name: 'typescript-urql', }, { - file: '../../plugins/typescript/react-apollo/src/config.ts', + file: '../packages/plugins/typescript/react-apollo/src/config.ts', identifier: 'ReactApolloRawPluginConfig', name: 'typescript-react-apollo', }, { - file: '../../plugins/typescript/vue-apollo/src/config.ts', + file: '../packages/plugins/typescript/vue-apollo/src/config.ts', identifier: 'VueApolloRawPluginConfig', name: 'typescript-vue-apollo', }, { - file: '../../plugins/typescript/vue-apollo-smart-ops/src/config.ts', + file: '../packages/plugins/typescript/vue-apollo-smart-ops/src/config.ts', identifier: 'VueApolloSmartOpsRawPluginConfig', name: 'typescript-vue-apollo-smart-ops', }, { - file: '../../plugins/typescript/vue-urql/src/config.ts', + file: '../packages/plugins/typescript/vue-urql/src/config.ts', identifier: 'VueUrqlRawPluginConfig', name: 'typescript-vue-urql', }, { - file: '../../plugins/typescript/stencil-apollo/src/config.ts', + file: '../packages/plugins/typescript/stencil-apollo/src/config.ts', identifier: 'StencilApolloRawPluginConfig', name: 'typescript-stencil-apollo', }, { - file: '../../plugins/typescript/document-nodes/src/index.ts', + file: '../packages/plugins/typescript/document-nodes/src/index.ts', identifier: 'TypeScriptDocumentNodesRawPluginConfig', name: 'typescript-document-nodes', }, { - file: '../../plugins/typescript/msw/src/config.ts', + file: '../packages/plugins/typescript/msw/src/config.ts', identifier: 'MSWConfig', name: 'typescript-msw', }, { - file: '../../plugins/java/apollo-android/src/plugin.ts', + file: '../packages/plugins/java/apollo-android/src/plugin.ts', identifier: 'JavaApolloAndroidPluginConfig', name: 'java-apollo-android', }, { - file: '../../plugins/java/resolvers/src/config.ts', + file: '../packages/plugins/java/resolvers/src/config.ts', identifier: 'JavaResolversPluginRawConfig', name: 'java-resolvers', }, { - file: '../../plugins/java/java/src/config.ts', + file: '../packages/plugins/java/java/src/config.ts', identifier: 'JavaResolversPluginRawConfig', name: 'java', }, { - file: '../../plugins/java/kotlin/src/config.ts', + file: '../packages/plugins/java/kotlin/src/config.ts', identifier: 'KotlinResolversPluginRawConfig', name: 'kotlin', }, { - file: '../../plugins/flow/flow/src/config.ts', + file: '../packages/plugins/flow/flow/src/config.ts', identifier: 'FlowPluginConfig', name: 'flow', }, { - file: '../../plugins/flow/resolvers/src/index.ts', + file: '../packages/plugins/flow/resolvers/src/index.ts', identifier: 'RawFlowResolversConfig', name: 'flow-resolvers', }, { - file: '../../plugins/flow/operations/src/config.ts', + file: '../packages/plugins/flow/operations/src/config.ts', identifier: 'FlowDocumentsPluginConfig', name: 'flow-operations', }, { - file: '../../plugins/other/introspection/src/index.ts', + file: '../packages/plugins/other/introspection/src/index.ts', identifier: 'IntrospectionPluginConfig', name: 'introspection', }, { - file: '../../plugins/other/fragment-matcher/src/index.ts', + file: '../packages/plugins/other/fragment-matcher/src/index.ts', identifier: 'FragmentMatcherConfig', name: 'fragment-matcher', }, { - file: '../../plugins/other/urql-introspection/src/index.ts', + file: '../packages/plugins/other/urql-introspection/src/index.ts', identifier: 'UrqlIntrospectionConfig', name: 'urql-introspection', }, diff --git a/website/src/lib/plugins.ts b/website/src/lib/plugins.ts new file mode 100644 index 000000000000..e6693c1f30fd --- /dev/null +++ b/website/src/lib/plugins.ts @@ -0,0 +1,387 @@ +import type { Package } from '@guild-docs/server/npm'; +import { existsSync, readFileSync } from 'fs'; +import { transformDocs } from './transform'; +import { canUseDOM } from '../utils'; + +export const ALL_TAGS = [ + 'typescript', + 'csharp', + 'flow', + 'java', + 'utilities', + 'mongodb', + 'angular', + 'react', + 'svelte', + 'next', + 'apollo', + 'urql', + 'vue', + 'kotlin', + 'android', + 'reason', + 'relay', + 'jsdoc', + 'plugin', + 'preset', +] as const; + +export type Tags = typeof ALL_TAGS[number]; + +let generatedDocs: ReturnType | null = null; +let staticMapping: Record | null = null; + +function loadGeneratedReadme(options: { templateFile: string; pluginIdentifier: string }): string { + if (!generatedDocs) { + generatedDocs = transformDocs(); + } + + if (!staticMapping) { + staticMapping = { + '{@operationsNote}': readFileSync(`docs-templates/client-note.md`, 'utf-8'), + '{@javaInstallation}': readFileSync(`docs-templates/java-installation.md`, 'utf-8'), + }; + } + + let templateBase = '{@apiDocs}'; + + if (existsSync(options.templateFile)) { + templateBase = readFileSync(options.templateFile, 'utf-8'); + } + + let out = templateBase.replace('{@apiDocs}', generatedDocs.docs[options.pluginIdentifier] || ''); + + Object.keys(staticMapping).forEach(key => { + out = out.replace(key, staticMapping![key]); + }); + + return out; +} + +const PACKAGES: Package[] = [ + { + identifier: 'near-operation-file-preset', + title: 'near-operation-file-preset', + npmPackage: '@graphql-codegen/near-operation-file-preset', + iconUrl: '/assets/img/icons/codegen.svg', + tags: ['preset', 'utilities'], + }, + { + identifier: 'graphql-modules-preset', + title: 'graphql-modules-preset', + npmPackage: '@graphql-codegen/graphql-modules-preset', + iconUrl: 'https://www.graphql-modules.com/img/just-logo.svg', + tags: ['preset', 'utilities'], + }, + { + identifier: 'import-types-preset', + title: 'import-types-preset', + npmPackage: '@graphql-codegen/import-types-preset', + iconUrl: '/assets/img/icons/codegen.svg', + tags: ['preset', 'utilities'], + }, + { + identifier: 'gql-tag-operations-preset', + title: 'gql-tag-operations-preset', + npmPackage: '@graphql-codegen/gql-tag-operations-preset', + iconUrl: '/assets/img/icons/codegen.svg', + tags: ['preset', 'utilities', 'typescript'], + }, + { + identifier: 'named-operations-object', + title: 'Named Operations Object', + npmPackage: '@graphql-codegen/named-operations-object', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typed-document-node', + title: 'TypedDocumentNode', + npmPackage: '@graphql-codegen/typed-document-node', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript-apollo-angular', + title: 'TypeScript Apollo Angular', + npmPackage: '@graphql-codegen/typescript-apollo-angular', + iconUrl: '/assets/img/icons/angular.svg', + tags: ['plugin', 'typescript', 'apollo', 'angular'], + }, + { + identifier: 'typescript-msw', + title: 'typescript-msw', + npmPackage: '@graphql-codegen/typescript-msw', + iconUrl: 'https://raw.githubusercontent.com/mswjs/msw/HEAD/media/msw-logo.svg', + tags: ['plugin', 'typescript', 'utilities'], + }, + { + identifier: 'typescript-apollo-client-helpers', + title: 'Apollo-Client Helpers', + npmPackage: '@graphql-codegen/typescript-apollo-client-helpers', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript', 'apollo'], + }, + { + identifier: 'typescript-apollo-next', + title: 'Typescript Apollo Nextjs', + npmPackage: 'graphql-codegen-apollo-next-ssr', + iconUrl: '/assets/img/icons/apollo.svg', + tags: ['plugin', 'typescript', 'apollo', 'next'], + }, + { + identifier: 'typescript-document-nodes', + title: 'TypeScript document nodes', + npmPackage: '@graphql-codegen/typescript-document-nodes', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript-generic-sdk', + title: 'TypeScript Generic SDK', + npmPackage: '@graphql-codegen/typescript-generic-sdk', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript-graphql-files-modules', + title: 'TypeScript GraphQL Files Modules', + npmPackage: '@graphql-codegen/typescript-graphql-files-modules', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript-graphql-request', + title: 'TypeScript GraphQL-Request', + npmPackage: '@graphql-codegen/typescript-graphql-request', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript-mongodb', + title: 'TypeScript MongoDB', + npmPackage: '@graphql-codegen/typescript-mongodb', + iconUrl: '/assets/img/icons/mongodb.png', + tags: ['plugin', 'typescript', 'mongodb'], + }, + { + identifier: 'typescript-oclif', + title: 'TypeScript oclif', + npmPackage: '@graphql-codegen/typescript-oclif', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript-operations', + title: 'TypeScript Operations', + npmPackage: '@graphql-codegen/typescript-operations', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript', + title: 'TypeScript', + npmPackage: '@graphql-codegen/typescript', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript-react-apollo', + title: 'TypeScript React Apollo', + npmPackage: '@graphql-codegen/typescript-react-apollo', + iconUrl: '/assets/img/icons/apollo.svg', + tags: ['plugin', 'typescript', 'react', 'apollo'], + }, + { + identifier: 'typescript-react-query', + title: 'TypeScript React-Query', + npmPackage: '@graphql-codegen/typescript-react-query', + iconUrl: '/assets/img/icons/react-query.svg', + tags: ['plugin', 'typescript', 'react'], + }, + { + identifier: 'typescript-resolvers', + title: 'TypeScript Resolvers', + npmPackage: '@graphql-codegen/typescript-resolvers', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript-rtk-query', + title: 'TypeScript RTK-Query', + npmPackage: '@graphql-codegen/typescript-rtk-query', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript-stencil-apollo', + title: 'TypeScript Stencil Apollo', + npmPackage: '@graphql-codegen/typescript-stencil-apollo', + iconUrl: '/assets/img/icons/apollo.svg', + tags: ['plugin', 'typescript', 'apollo'], + }, + { + identifier: 'typescript-svelte-apollo', + title: 'Typescript Svelte Apollo', + npmPackage: 'graphql-codegen-svelte-apollo', + iconUrl: '/assets/img/icons/apollo.svg', + tags: ['plugin', 'typescript', 'svelte', 'apollo'], + }, + { + identifier: 'typescript-type-graphql', + title: 'TypeScript TypeGraphQL', + npmPackage: '@graphql-codegen/typescript-type-graphql', + iconUrl: '/assets/img/icons/type-graphql.png', + tags: ['plugin', 'typescript'], + }, + { + identifier: 'typescript-urql', + title: 'TypeScript Urql', + npmPackage: '@graphql-codegen/typescript-urql', + iconUrl: '/assets/img/icons/typescript.svg', + tags: ['plugin', 'typescript', 'urql'], + }, + { + identifier: 'typescript-vue-apollo', + title: 'TypeScript Vue Apollo Composition API', + npmPackage: '@graphql-codegen/typescript-vue-apollo', + iconUrl: '/assets/img/icons/vue.svg', + tags: ['plugin', 'typescript', 'vue', 'apollo'], + }, + { + identifier: 'typescript-vue-apollo-smart-ops', + title: 'TypeScript Vue Apollo Smart Operations', + npmPackage: '@graphql-codegen/typescript-vue-apollo-smart-ops', + iconUrl: '/assets/img/icons/vue.svg', + tags: ['plugin', 'typescript', 'vue', 'apollo'], + }, + { + identifier: 'typescript-vue-urql', + title: 'TypeScript Vue Urql', + npmPackage: '@graphql-codegen/typescript-vue-urql', + iconUrl: '/assets/img/icons/vue.svg', + tags: ['plugin', 'typescript', 'vue', 'urql'], + }, + { + identifier: 'c-sharp-operations', + title: 'C# Operations', + npmPackage: '@graphql-codegen/c-sharp-operations', + iconUrl: '/assets/img/icons/csharp.svg', + tags: ['plugin', 'csharp'], + }, + { + identifier: 'flow-operations', + title: 'Flow Operations', + npmPackage: '@graphql-codegen/flow-operations', + iconUrl: '/assets/img/icons/flow.svg', + tags: ['plugin', 'flow'], + }, + { + identifier: 'flow-resolvers', + title: 'Flow Resolvers', + npmPackage: '@graphql-codegen/flow-resolvers', + iconUrl: '/assets/img/icons/flow.svg', + tags: ['plugin', 'flow'], + }, + { + identifier: 'java', + title: 'Java', + npmPackage: '@graphql-codegen/java', + iconUrl: '/assets/img/icons/java.svg', + tags: ['plugin', 'java'], + }, + { + identifier: 'java-apollo-android', + title: 'Java Apollo Android', + npmPackage: '@graphql-codegen/java-apollo-android', + iconUrl: '/assets/img/icons/java.svg', + tags: ['plugin', 'java', 'apollo', 'android'], + }, + { + identifier: 'java-resolvers', + title: 'Java Resolvers', + npmPackage: '@graphql-codegen/java-resolvers', + iconUrl: '/assets/img/icons/java.svg', + tags: ['plugin', 'java'], + }, + { + identifier: 'kotlin', + title: 'Kotlin', + npmPackage: '@graphql-codegen/kotlin', + iconUrl: '/assets/img/icons/java.svg', + tags: ['plugin', 'java', 'kotlin'], + }, + { + identifier: 'reason-client', + title: 'Reason Client', + npmPackage: 'graphql-codegen-reason-client', + iconUrl: '/assets/img/icons/graphql.svg', + tags: ['plugin', 'reason'], + }, + { + identifier: 'add', + title: 'Add', + npmPackage: '@graphql-codegen/add', + iconUrl: '/assets/img/icons/graphql.svg', + tags: ['plugin'], + }, + { + identifier: 'fragment-matcher', + title: 'Fragment Matcher', + npmPackage: '@graphql-codegen/fragment-matcher', + iconUrl: '/assets/img/icons/graphql.svg', + tags: ['plugin'], + }, + { + identifier: 'introspection', + title: 'Introspection', + npmPackage: '@graphql-codegen/introspection', + iconUrl: '/assets/img/icons/graphql.svg', + tags: ['plugin'], + }, + { + identifier: 'jsdoc', + title: 'JSDoc', + npmPackage: '@graphql-codegen/jsdoc', + iconUrl: '/assets/img/icons/graphql.svg', + tags: ['plugin', 'jsdoc'], + }, + { + identifier: 'relay-operation-optimizer', + title: 'Relay Operation Optimizer', + npmPackage: '@graphql-codegen/relay-operation-optimizer', + iconUrl: '/assets/img/icons/graphql.svg', + tags: ['plugin', 'relay'], + }, + { + identifier: 'schema-ast', + title: 'Schema AST', + npmPackage: '@graphql-codegen/schema-ast', + iconUrl: '/assets/img/icons/graphql.svg', + tags: ['plugin'], + }, + { + identifier: 'time', + title: 'Time', + npmPackage: '@graphql-codegen/time', + iconUrl: '/assets/img/icons/graphql.svg', + tags: ['plugin'], + }, + { + identifier: 'urql-introspection', + title: 'Urql Introspection for Schema Awareness', + npmPackage: '@graphql-codegen/urql-introspection', + iconUrl: '/assets/img/icons/graphql.svg', + tags: ['plugin', 'urql'], + }, +]; + +export const packageList = PACKAGES.map(p => ({ + ...p, + readme: canUseDOM + ? '' + : loadGeneratedReadme({ + pluginIdentifier: p.identifier, + templateFile: `docs-templates/${p.identifier}.md`, + }), +})); diff --git a/packages/utils/config-schema/src/index.ts b/website/src/lib/transform.ts similarity index 58% rename from packages/utils/config-schema/src/index.ts rename to website/src/lib/transform.ts index 63263281d4a1..4e9d2d412b5c 100644 --- a/packages/utils/config-schema/src/index.ts +++ b/website/src/lib/transform.ts @@ -1,23 +1,14 @@ -/* eslint-disable no-console */ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ import * as TJS from 'typescript-json-schema'; -import { writeFile } from 'fs-extra'; -import { generateDocs } from './docs'; -import mkdirp from 'mkdirp'; -import { pluginsConfigurations, presetsConfigurations } from './plugins'; -import { join } from 'path'; -const jsonPath = require('jsonpath'); +import { pluginsConfigurations, presetsConfigurations } from './plugins-docs'; +import { generateDocs } from './docs-generator'; +import tsConfig from '../../../tsconfig.json'; -const tsConfig = require('../../../../tsconfig.json'); - -const ROOT_FILE = '../plugins-helpers/src/types.ts'; +const ROOT_FILE = '../packages/utils/plugins-helpers/src/types.ts'; const ROOT_IDENTIFIER = 'Types.Config'; -const baseDir = process.argv[2] || process.cwd(); -const docsOutDir = process.argv[3] ? join(baseDir, process.argv[3]) : './docs/generated-config/'; -const schemaOutDir = process.argv[4] ? join(baseDir, process.argv[4]) : baseDir; const MARKDOWN_JSDOC_KEY = 'exampleMarkdown'; -const DEFAULT_JSDOC_KEY = 'default'; -async function generate() { +export function transformDocs() { const program = TJS.getProgramFromFiles( [ROOT_FILE, ...[...pluginsConfigurations, ...presetsConfigurations].map(f => f.file)], { @@ -42,11 +33,19 @@ async function generate() { validationKeywords: [MARKDOWN_JSDOC_KEY], }); + if (!generator) { + throw new Error(`Config-transform: failed to build TS generator...`); + } + const schema = generator.getSchemaForSymbols( [ROOT_IDENTIFIER, ...pluginsConfigurations.map(f => f.identifier), ...presetsConfigurations.map(f => f.identifier)], true ); + if (!schema.definitions) { + throw new Error(`Config-transform: "schema.definitions" is not defined`); + } + // This will make sure to add a nice auto complete for all built-in plugins and their configuration mapped schema.definitions.GeneratedPluginsMap = { anyOf: [ @@ -68,9 +67,9 @@ async function generate() { }, { type: 'string', - oneOf: pluginsConfigurations.reduce((prev, p) => { + oneOf: pluginsConfigurations.reduce((prev, p) => { const description = `${ - (schema.definitions[p.identifier] as TJS.Definition).description || '' + (schema.definitions![p.identifier] as TJS.Definition).description || '' }\n\nFor more details and documentation: https://graphql-code-generator.com/docs/plugins/${ p.name }\n\n=> Make sure to include "@graphql-codegen/${ @@ -102,68 +101,42 @@ async function generate() { ], }; - const outputRecord = schema.definitions['Types.ConfiguredOutput'] as TJS.Definition; + const configuredOutput = schema.definitions['Types.ConfiguredOutput'] as TJS.Definition; + const configuredPlugin = schema.definitions['Types.ConfiguredPlugin'] as TJS.Definition; + + configuredPlugin.properties = Object.fromEntries( + pluginsConfigurations.map(pluginConfig => [pluginConfig.name, { $ref: `#/definitions/${pluginConfig.identifier}` }]) + ); - outputRecord.properties.config = { + configuredOutput.properties!.config = { additionalProperties: true, }; - outputRecord.allOf = pluginsConfigurations.map(p => { - return { - if: { - properties: { - plugins: { - contains: { - type: 'string', - const: p.name, - }, + configuredOutput.allOf = pluginsConfigurations.map(p => ({ + if: { + properties: { + plugins: { + contains: { + type: 'string', + const: p.name, }, }, }, - then: { - properties: { - config: { $ref: `#/definitions/${p.identifier}` }, - }, + }, + then: { + properties: { + config: { $ref: `#/definitions/${p.identifier}` }, }, - }; - }); + }, + })); // Point the root schema to the config root schema.$ref = `#/definitions/${ROOT_IDENTIFIER}`; const docsMarkdown = generateDocs(schema, [...pluginsConfigurations, ...presetsConfigurations]); - mkdirp.sync(docsOutDir); - await Promise.all( - Object.keys(docsMarkdown).map(identifier => - writeFile(join(docsOutDir, `./${identifier}.md`), docsMarkdown[identifier]) - ) - ); - - // Remove non-standard keys - jsonPath.apply(schema, `$..${MARKDOWN_JSDOC_KEY}`, () => undefined); - - // Remvoe default to avoid annoying auto-complete - jsonPath.apply(schema, `$..*`, v => { - if (v && typeof v === 'object' && typeof v[DEFAULT_JSDOC_KEY] !== 'undefined') { - if (!v.description) { - v.description = ''; - } - - v.description += `\nDefault value: "${String(v.default)}"`; - delete v.default; - } - - return v; - }); - mkdirp.sync(schemaOutDir); - await writeFile(join(schemaOutDir, './config.schema.json'), JSON.stringify(schema, null, 2)); + return { + docs: docsMarkdown, + schema, + }; } - -generate() - .then(() => { - console.log('Done!'); - }) - .catch(e => { - console.error(e); - }); diff --git a/website/src/pages/_app.tsx b/website/src/pages/_app.tsx new file mode 100644 index 000000000000..3644cf3f5aa2 --- /dev/null +++ b/website/src/pages/_app.tsx @@ -0,0 +1,159 @@ +import type { FC } from 'react'; +import type { AppProps } from 'next/app'; +import { appWithTranslation } from 'next-i18next'; +import { extendTheme, theme as chakraTheme } from '@chakra-ui/react'; +import { mode } from '@chakra-ui/theme-tools'; +import { ExtendComponents, handlePushRoute, CombinedThemeProvider, DocsPage, AppSeoProps } from '@guild-docs/client'; +import { Header, Subheader, FooterExtended } from '@theguild/components'; +import 'remark-admonitions/styles/classic.css'; +import '../../public/style.css'; + +ExtendComponents({ + HelloWorld() { + return

    Hello World!

    ; + }, +}); + +const styles: typeof chakraTheme['styles'] = { + global: props => ({ + body: { + bg: mode('white', 'gray.850')(props), + }, + }), +}; + +const accentColor = '#0070f3'; + +const theme = extendTheme({ + colors: { + gray: { + 50: '#fafafa', + 100: '#f5f5f5', + 200: '#e5e5e5', + 300: '#5c3a3a', + 400: '#a3a3a3', + 500: '#737373', + 600: '#525252', + 700: '#404040', + 800: '#262626', + 850: '#1b1b1b', + 900: '#171717', + }, + }, + accentColor, + fonts: { + heading: 'TGCFont, sans-serif', + body: 'TGCFont, sans-serif', + }, + config: { + initialColorMode: 'light', + useSystemColorMode: false, + }, + styles, +}); + +const serializedMdx = process.env.SERIALIZED_MDX_ROUTES; +const mdxRoutes = { data: serializedMdx && JSON.parse(serializedMdx) }; + +function AppContent(appProps: AppProps) { + const { Component, pageProps, router } = appProps; + const isDocs = router.asPath.startsWith('/docs'); + + return ( + <> +
    + handlePushRoute('/', e), + }} + links={[ + { + children: 'Home', + title: 'The Guild GraphQL Code Generator', + href: '/', + onClick: e => handlePushRoute('/', e), + }, + { + children: 'Docs & API', + href: '/docs/getting-started', + title: 'Read more about GraphQL Code Generator', + onClick: e => handlePushRoute('/docs/getting-started', e), + }, + { + children: 'Plugin Hub', + href: '/plugins', + title: 'Browse the plugin hub', + onClick: e => handlePushRoute('/plugins', e), + }, + { + children: 'GitHub', + href: 'https://github.com/dotansimha/graphql-code-generator', + target: '_blank', + rel: 'noopener norefereer', + title: "Head to the project's GitHub", + }, + ]} + cta={{ + children: 'Contact Us', + title: 'Start using The Guild Docs', + href: 'https://the-guild.dev/contact', + target: '_blank', + rel: 'noopener noreferrer', + }} + /> + {isDocs ? ( + + ) : ( + + )} + + + ); +} + +const AppContentWrapper = appWithTranslation(function TranslatedApp(appProps) { + return ; +}); + +const defaultSeo: AppSeoProps = { + title: 'GraphQL Code Generator', + description: 'GraphQL Code Generator', + logo: { + url: 'https://graphql-code-generator.vercel.app/assets/subheader-logo.svg', + width: 50, + height: 54, + }, +}; + +const App: FC = appProps => { + return ( + + + + ); +}; + +export default App; diff --git a/website/src/pages/_document.tsx b/website/src/pages/_document.tsx new file mode 100644 index 000000000000..9b1135870579 --- /dev/null +++ b/website/src/pages/_document.tsx @@ -0,0 +1,21 @@ +import Document, { Head, Html, Main, NextScript } from 'next/document'; +import { ColorModeScript } from '@chakra-ui/react'; + +export default class MyDocument extends Document { + render() { + return ( + + + + + + + + +
    + + + + ); + } +} diff --git a/website/src/pages/docs/[[...slug]].tsx b/website/src/pages/docs/[[...slug]].tsx new file mode 100644 index 000000000000..1e0b77df896b --- /dev/null +++ b/website/src/pages/docs/[[...slug]].tsx @@ -0,0 +1,29 @@ +import type { GetStaticPaths, GetStaticProps } from 'next'; +import Head from 'next/head'; +import { DocsContent, DocsTOC, MDXPage } from '@guild-docs/client'; +import { MDXPaths, MDXProps } from '@guild-docs/server'; +import { getRoutes } from '../../../routes'; + +export default MDXPage(({ content, TOC, MetaHead, BottomNavigation }) => ( + <> + {MetaHead} + {content} + + + + + +)); + +export const getStaticProps: GetStaticProps = ctx => { + return MDXProps( + ({ readMarkdownFile, getArrayParam }) => + readMarkdownFile('docs/', getArrayParam('slug'), { importPartialMarkdown: true }), + ctx, + { getRoutes } + ); +}; + +export const getStaticPaths: GetStaticPaths = ctx => { + return MDXPaths('docs', { ctx }); +}; diff --git a/website/src/pages/index.js b/website/src/pages/index.js deleted file mode 100755 index 8c11f6c37073..000000000000 --- a/website/src/pages/index.js +++ /dev/null @@ -1,164 +0,0 @@ -import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment'; - -if (ExecutionEnvironment.canUseDOM) { - process.hrtime = () => null; -} - -import React from 'react'; -import classnames from 'classnames'; -import Layout from '@theme/Layout'; -import useBaseUrl from '@docusaurus/useBaseUrl'; -import styles from './styles.module.css'; -import Link from '@docusaurus/Link'; -import { Button } from '../components/ui/Button'; -import { LiveDemo } from '../components/live-demo/LiveDemo'; - -const features = [ - { - title: <>Generate Code Instantly, - imageUrl: 'img/gear.svg', - description: ( - <> - Generate code from your GraphQL schema and GraphQL operations with a single function call regardless of your - environment or code format. - - ), - }, - { - title: <>Watch For Changes, - imageUrl: 'img/eye.svg', - description: ( - <> - Watch for changes in your GraphQL schema and operations, and automatically generate code as you go. Codegen - easily integrates into your development workflow. - - ), - }, - { - title: <>Customize Easily, - imageUrl: 'img/puzzle.svg', - description: ( - <> - One of the goals of GraphQL Codegen is to allow you to easily customize the output, and add custom behaviour - according to your needs. - - ), - }, - { - title: <>And more!, - imageUrl: 'img/more-options.svg', - description: ( - <> - You can generate your resolvers' signatures, dump schemas, model types, query builders, React Hooks, Angular - Services, and much more! - - ), - }, -]; - -function Feature({ imageUrl, title, description }) { - const imgUrl = useBaseUrl(imageUrl); - - return ( -
    - {imgUrl && ( -
    - {title} -
    - )} -

    {title}

    -

    {description}

    -
    - ); -} - -function SplashContainer(props) { - return ( -
    - - - - - -
    -
    {props.children}
    -
    -
    - ); -} - -function ProjectTitle() { - return ( -
    - -

    Generate code from your GraphQL schema and operations with a simple CLI

    - npm -
    - ); -} - -function Home() { - return ( - <> - -
    - -
    - -
    - - -
    -
    -
    -
    - -
    - {features && features.length && ( -
    -
    -
    - {features.map((props, idx) => ( - - ))} -
    -
    -
    - )} -
    -
    - - ); -} - -export default Home; diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx new file mode 100644 index 000000000000..0b1bcd48e406 --- /dev/null +++ b/website/src/pages/index.tsx @@ -0,0 +1,93 @@ +import { FC } from 'react'; +import dynamic from 'next/dynamic'; +import { FeatureList, HeroGradient, HeroIllustration } from '@theguild/components'; +import { handlePushRoute, NPMBadge } from '@guild-docs/client'; +import tw from 'twin.macro'; + +const LiveDemo = dynamic(() => import('../components/live-demo/LiveDemo'), { ssr: false }); + +const IndexPage: FC = () => { + return ( + <> + handlePushRoute('/docs/getting-started', e), + }} + version={} + colors={['#1dbbff', '#ee1cd9']} + image={{ + className: 'no-right', + src: '/assets/illustrations/gql-codegen-cover.svg', + alt: 'Illustration', + }} + wrapperProps={{ + style: { marginTop: 12 }, + }} + /> + +
    + +
    + + + + + + + + ); +}; + +export default IndexPage; diff --git a/website/src/pages/plugins/[name].tsx b/website/src/pages/plugins/[name].tsx new file mode 100644 index 000000000000..38bdaed5a418 --- /dev/null +++ b/website/src/pages/plugins/[name].tsx @@ -0,0 +1,144 @@ +import { FC } from 'react'; +import { GetStaticPaths, GetStaticProps } from 'next'; +import Link from 'next/link'; +import { format } from 'date-fns'; +import tw, { styled } from 'twin.macro'; +import { Box, Center, Code, Container, Grid, SimpleGrid } from '@chakra-ui/react'; +import { PackageInstall, RemoteGHMarkdown } from '@guild-docs/client'; +import { buildMDX, CompiledMDX } from '@guild-docs/server'; +import { getPackagesData, PackageWithStats } from '@guild-docs/server/npm'; +import { packageList } from '../../lib/plugins'; + +export const SubTitle = styled.h2(() => [tw`mt-0 mb-4 font-bold text-lg md:text-xl`]); +export const Title = styled.h2(() => [tw`mt-0 mb-4 font-bold text-xl md:text-2xl`]); + +const StyledLink = styled.a(() => [tw`cursor-pointer`]); +const CodeLink = styled(Code)(() => [tw`hover:font-bold`]); + +interface PluginPageProps { + data: (PackageWithStats & { mdx: CompiledMDX })[]; +} + +type PluginPageParams = { + name: string; +}; + +export const getStaticProps: GetStaticProps = async ctx => { + const pluginName = ctx.params?.name; + + const pluginsData = + typeof pluginName === 'string' + ? await getPackagesData({ + idSpecific: pluginName, + packageList, + }) + : []; + + const data = await Promise.all( + pluginsData.map(async plugin => { + return { + ...plugin, + mdx: await buildMDX(plugin.readme || plugin.stats?.readme || ''), + }; + }) + ); + + return { + props: { + data, + }, + // Revalidate at most once every 1 hour + revalidate: 60 * 60, + }; +}; + +export const getStaticPaths: GetStaticPaths = async () => { + const plugins = await getPackagesData({ packageList }); + + return { + fallback: 'blocking', + paths: plugins.map(({ identifier }) => { + return { + params: { + name: identifier, + }, + }; + }), + }; +}; + +const PluginPageContent: FC = ({ data }) => { + if (!data.length) { + return ( +
    + 404 +
    Plugin not found.
    +
    + ); + } + + const pluginData = data[0]; + + return ( + <> + + {pluginData.title} + + + + + + + Package Details + +
    Package
    +
    + + {pluginData.npmPackage} + +
    + {pluginData.stats?.license ? ( + <> +
    License
    +
    + {pluginData.stats.license} +
    + + ) : null} + {pluginData.stats?.version ? ( + <> +
    Version
    +
    + {pluginData.stats.version} +
    + + ) : null} + {pluginData.stats?.modifiedDate ? ( + <> +
    Updated
    +
    + {format(new Date(pluginData.stats.modifiedDate), 'MMM do, yyyy')} +
    + + ) : null} + {pluginData.stats?.weeklyNPMDownloads ? ( + <> +
    Weekly Downloads
    +
    + {pluginData.stats?.weeklyNPMDownloads} +
    + + ) : null} +
    +
    +
    +
    + + ); +}; + +export default PluginPageContent; diff --git a/website/src/pages/plugins/index.tsx b/website/src/pages/plugins/index.tsx new file mode 100644 index 000000000000..fc276f37973f --- /dev/null +++ b/website/src/pages/plugins/index.tsx @@ -0,0 +1,130 @@ +import { FC, useMemo } from 'react'; +import type { GetStaticProps } from 'next'; +import Head from 'next/head'; +import { compareDesc } from 'date-fns'; +import { handlePushRoute, PackageInstall, RemoteGHMarkdown } from '@guild-docs/client'; +import { buildMultipleMDX, CompiledMDX } from '@guild-docs/server'; +import { getPackagesData, PackageWithStats } from '@guild-docs/server/npm'; +import { MarketplaceSearch } from '@theguild/components'; +import { IMarketplaceItemProps } from '@theguild/components/dist/types/components'; + +import Markdown from '../../components/ui/Markdown'; +import { ALL_TAGS, packageList } from '../../lib/plugins'; + +type MarketplaceProps = { + data: (PackageWithStats & { + description: CompiledMDX; + content: CompiledMDX; + })[]; +}; + +export const getStaticProps: GetStaticProps = async () => { + const pluginsData = await getPackagesData({ packageList }); + + const data = await Promise.all( + pluginsData.map(async plugin => { + const [description, content] = await buildMultipleMDX([ + `${plugin.stats?.version || ''}\n\n${plugin.stats?.description || ''}`, + plugin.readme || plugin.stats?.readme || '', + ]); + + return { + ...plugin, + description, + content, + }; + }) + ); + + return { + props: { + data, + }, + // Revalidate at most once every 1 hour + revalidate: 60 * 60, + }; +}; + +const Marketplace: FC = ({ data }) => { + const marketplaceItems: (IMarketplaceItemProps & { raw: PackageWithStats })[] = useMemo( + () => + data.map(rawPlugin => { + const linkHref = `/plugins/${rawPlugin.identifier}`; + return { + raw: rawPlugin, + tags: rawPlugin.tags, + title: rawPlugin.title, + link: { + href: linkHref, + title: `${rawPlugin.title} plugin details`, + onClick: ev => handlePushRoute(linkHref, ev), + }, + description: , + update: rawPlugin.stats?.modifiedDate || new Date().toISOString(), + image: rawPlugin.iconUrl + ? { + height: 60, + width: 60, + src: rawPlugin.iconUrl, + alt: rawPlugin.title, + } + : undefined, + }; + }), + [data] + ); + + const recentlyUpdatedItems = useMemo( + () => [...marketplaceItems].sort((a, b) => compareDesc(new Date(a.update), new Date(b.update))), + [marketplaceItems] + ); + + const trendingItems = useMemo( + () => + marketplaceItems + .filter(i => i.raw.stats?.weeklyNPMDownloads) + .sort((a, b) => { + const aMonthlyDownloads = a.raw.stats?.weeklyNPMDownloads || 0; + const bMonthlyDownloads = b.raw.stats?.weeklyNPMDownloads || 0; + + return bMonthlyDownloads - aMonthlyDownloads; + }), + [marketplaceItems] + ); + + return ( + <> + + Plugin Hub + + + + ); +}; + +export default Marketplace; diff --git a/website/src/pages/styles.module.css b/website/src/pages/styles.module.css deleted file mode 100644 index b0a21a682459..000000000000 --- a/website/src/pages/styles.module.css +++ /dev/null @@ -1,72 +0,0 @@ -/* stylelint-disable docusaurus/copyright-header */ -/** - * CSS files with the .module.css suffix will be treated as CSS modules - * and scoped locally. - */ - -.buttons { - display: flex; - align-items: center; - justify-content: center; -} - -.features { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; -} - -.features h3 { - text-align: center; -} - -.featureImage { - height: 100px; - width: 100px; -} - -.headerCover { - align-content: center; - max-width: 512px; -} - -.cover { - width: 100%; - max-width: 512px; - margin-top: 25px; -} - -.coverContainer { - text-align: center; -} - -.homeContainer { - position: relative; -} - -.homeContainer .projectTitle small { - text-align: center; - margin-left: auto; - margin-right: auto; - margin-top: 14px; - margin-bottom: 14px; - line-height: 1.4; -} - -@media only screen and (max-width: 1023px) { - .desktopOnly { - display: none; - } -} - -.buttonsWrapper { - display: flex; - justify-content: center; - flex-wrap: wrap; -} - -.projectTitle { - margin-top: 25px; - color: #e15799; -} diff --git a/website/src/theme/Root.js b/website/src/theme/Root.tsx similarity index 60% rename from website/src/theme/Root.js rename to website/src/theme/Root.tsx index 9546cbe7fd28..cd57b5d8e70f 100644 --- a/website/src/theme/Root.js +++ b/website/src/theme/Root.tsx @@ -1,15 +1,15 @@ -import React from 'react'; +import { FC } from 'react'; import { ThemeProvider, GlobalStyles, Header, FooterExtended } from '@theguild/components'; -function Root({ children }) { +const Root: FC = ({ children }) => { return ( -
    +
    {children} ); -} +}; export default Root; diff --git a/website/src/utils.ts b/website/src/utils.ts new file mode 100644 index 000000000000..b7fb491585f5 --- /dev/null +++ b/website/src/utils.ts @@ -0,0 +1 @@ +export const canUseDOM = typeof window !== 'undefined'; diff --git a/website/static/CNAME b/website/static/CNAME deleted file mode 100644 index 3b8ee521d286..000000000000 --- a/website/static/CNAME +++ /dev/null @@ -1 +0,0 @@ -www.graphql-code-generator.com diff --git a/website/static/img/gql-codegen-icon.svg b/website/static/img/gql-codegen-icon.svg deleted file mode 100644 index 497bbbe0f7cf..000000000000 --- a/website/static/img/gql-codegen-icon.svg +++ /dev/null @@ -1,3443 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Layer 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/website/static/js/fix-location.js b/website/static/js/fix-location.js deleted file mode 100644 index 7242e98862f2..000000000000 --- a/website/static/js/fix-location.js +++ /dev/null @@ -1,3 +0,0 @@ -if (window && window.location && window.location.pathname.endsWith('/') && window.location.pathname !== '/') { - window.history.replaceState('', '', window.location.pathname.substr(0, window.location.pathname.length - 1)) -} \ No newline at end of file diff --git a/website/tsconfig.json b/website/tsconfig.json new file mode 100644 index 000000000000..8fc3295aef7a --- /dev/null +++ b/website/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "es2019", + "baseUrl": "./src", + "module": "commonjs", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "noEmit": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "useUnknownInCatchVariables": false + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/website/twin.d.ts b/website/twin.d.ts new file mode 100644 index 000000000000..3fa89c2f138a --- /dev/null +++ b/website/twin.d.ts @@ -0,0 +1,30 @@ +import 'twin.macro'; +import styledImport from '@emotion/styled'; +import { CSSProp, css as cssImport } from '@emotion/core'; + +declare module 'twin.macro' { + // The styled and css imports + const styled: typeof styledImport; + const css: typeof cssImport; +} + +declare module 'react' { + // The css prop + interface HTMLAttributes extends DOMAttributes { + css?: CSSProp; + } + + // The inline svg css prop + interface SVGProps extends SVGProps { + css?: CSSProp; + } +} + +// The 'as' prop on styled components +declare global { + namespace JSX { + interface IntrinsicAttributes extends DOMAttributes { + as?: string; + } + } +} diff --git a/yarn.lock b/yarn.lock index c8fa5bc7158f..ae10e9babf32 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,25 +2,6 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.2.2.tgz#c121e70c78fd0175c989a219918124ad7758e48b" - integrity sha512-JOQaURze45qVa8OOFDh+ozj2a/ObSRsVyz6Zd0aiBeej+RSTqrr1hDVpGNbbXYLW26G5ujuc9QIdH+rBHn95nw== - dependencies: - "@algolia/autocomplete-shared" "1.2.2" - -"@algolia/autocomplete-preset-algolia@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.2.2.tgz#da734ef9e42a5f64cdad2dfc81c4e9fbf805d976" - integrity sha512-AZkh+bAMaJDzMZTelFOXJTJqkp5VPGH8W3n0B+Ggce7DdozlMRsDLguKTCQAkZ0dJ1EbBPyFL5ztL/JImB137Q== - dependencies: - "@algolia/autocomplete-shared" "1.2.2" - -"@algolia/autocomplete-shared@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.2.2.tgz#ff25dc308f2a296b2b9b325f1e3b57498eea3e0c" - integrity sha512-mLTl7d2C1xVVazHt/bqh9EE/u2lbp5YOxLDdcjILXmUqOs5HH1D4SuySblXaQG1uf28FhTqMGp35qE5wJQnqAw== - "@algolia/cache-browser-local-storage@4.10.5": version "4.10.5" resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.10.5.tgz#961cf07cf59955de17af13bd74f7806bd2119553" @@ -181,7 +162,14 @@ dependencies: tslib "~2.0.1" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.8.3": +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== @@ -215,7 +203,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@7.16.0", "@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.12.16", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5": +"@babel/core@7.16.0", "@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.7.2", "@babel/core@^7.7.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== @@ -236,7 +224,7 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.12.15", "@babel/generator@^7.12.5", "@babel/generator@^7.15.0", "@babel/generator@^7.16.0", "@babel/generator@^7.5.0", "@babel/generator@^7.7.2": +"@babel/generator@^7.12.5", "@babel/generator@^7.15.0", "@babel/generator@^7.16.0", "@babel/generator@^7.5.0", "@babel/generator@^7.7.2": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== @@ -290,20 +278,6 @@ "@babel/helper-annotate-as-pure" "^7.16.0" regexpu-core "^4.7.1" -"@babel/helper-define-polyfill-provider@^0.2.2", "@babel/helper-define-polyfill-provider@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz#8867aed79d3ea6cade40f801efb7ac5c66916b10" - integrity sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - "@babel/helper-define-polyfill-provider@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" @@ -355,7 +329,7 @@ dependencies: "@babel/types" "^7.16.0" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.15.4", "@babel/helper-module-imports@^7.16.0": +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== @@ -462,7 +436,7 @@ "@babel/traverse" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/highlight@^7.16.0": +"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== @@ -476,7 +450,7 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862" integrity sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA== -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.16", "@babel/parser@^7.12.5", "@babel/parser@^7.12.7", "@babel/parser@^7.15.0", "@babel/parser@^7.16.0", "@babel/parser@^7.7.2": +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.5", "@babel/parser@^7.12.7", "@babel/parser@^7.15.0", "@babel/parser@^7.16.0", "@babel/parser@^7.7.2": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.0.tgz#cf147d7ada0a3655e79bf4b08ee846f00a00a295" integrity sha512-TEHWXf0xxpi9wKVyBCmRcSSDjbJ/cl6LUdlbYUHEaNQUJGhreJbZrXT6sR4+fZLxVUJqNRB4KyOvjuy/D9009A== @@ -704,7 +678,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.14.5": +"@babel/plugin-syntax-jsx@7.14.5", "@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== @@ -965,28 +939,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz#41790d856f7c5cec82d2bcf5d0e5064d682522ed" - integrity sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.14.5": +"@babel/plugin-transform-react-display-name@^7.0.0": version "7.15.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz#6aaac6099f1fcf6589d35ae6be1b6e10c8c602b9" integrity sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-react-jsx-development@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz#1a6c73e2f7ed2c42eebc3d2ad60b0c7494fcb9af" - integrity sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.14.5" - -"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.14.5": +"@babel/plugin-transform-react-jsx@^7.0.0": version "7.14.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz#3314b2163033abac5200a869c4de242cd50a914c" integrity sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw== @@ -997,14 +957,6 @@ "@babel/plugin-syntax-jsx" "^7.14.5" "@babel/types" "^7.14.9" -"@babel/plugin-transform-react-pure-annotations@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz#18de612b84021e3a9802cbc212c9d9f46d0d11fc" - integrity sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-transform-regenerator@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" @@ -1019,18 +971,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-runtime@^7.15.0": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.8.tgz#9d15b1e94e1c7f6344f65a8d573597d93c6cd886" - integrity sha512-+6zsde91jMzzvkzuEA3k63zCw+tm/GvuuabkpisgbDMTPQsIMHllE3XczJFFtEHLjjhKQFZmGQVRdELetlWpVw== - dependencies: - "@babel/helper-module-imports" "^7.15.4" - "@babel/helper-plugin-utils" "^7.14.5" - babel-plugin-polyfill-corejs2 "^0.2.2" - babel-plugin-polyfill-corejs3 "^0.2.5" - babel-plugin-polyfill-regenerator "^0.2.2" - semver "^6.3.0" - "@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" @@ -1091,7 +1031,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/preset-env@7.16.4", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.15.6": +"@babel/preset-env@7.16.4": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== @@ -1182,19 +1122,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.12.13", "@babel/preset-react@^7.12.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.14.5.tgz#0fbb769513f899c2c56f3a882fa79673c2d4ab3c" - integrity sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-react-display-name" "^7.14.5" - "@babel/plugin-transform-react-jsx" "^7.14.5" - "@babel/plugin-transform-react-jsx-development" "^7.14.5" - "@babel/plugin-transform-react-pure-annotations" "^7.14.5" - -"@babel/preset-typescript@7.16.0", "@babel/preset-typescript@^7.12.16": +"@babel/preset-typescript@7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.0.tgz#b0b4f105b855fb3d631ec036cdc9d1ffd1fa5eac" integrity sha512-txegdrZYgO9DlPbv+9QOVpMnKbOtezsLHWsnsRF4AjbSIsVaujrq1qg8HK0mxQpWv0jnejt0yEoW1uWpvbrDTg== @@ -1203,21 +1131,28 @@ "@babel/helper-validator-option" "^7.14.5" "@babel/plugin-transform-typescript" "^7.16.0" -"@babel/runtime-corejs3@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz#403139af262b9a6e8f9ba04a6fdcebf8de692bf1" - integrity sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg== +"@babel/runtime-corejs3@^7.10.2": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz#1e25de4fa994c57c18e5fdda6cc810dac70f5590" + integrity sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ== dependencies: - core-js-pure "^3.16.0" + core-js-pure "^3.19.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.10.4", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.0", "@babel/runtime@^7.15.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@7.15.4": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.13.17", "@babel/runtime@^7.14.0", "@babel/runtime@^7.14.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.12.7", "@babel/template@^7.14.5", "@babel/template@^7.15.4", "@babel/template@^7.16.0", "@babel/template@^7.3.3": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" @@ -1242,7 +1177,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.12.13", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.7.2": +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.7.2": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.0.tgz#965df6c6bfc0a958c1e739284d3c9fa4a6e3c45b" integrity sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ== @@ -1265,7 +1200,7 @@ "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.14.9", "@babel/types@^7.15.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.12.7", "@babel/types@^7.14.9", "@babel/types@^7.15.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== @@ -1278,6 +1213,579 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@chakra-ui/accordion@1.3.6": + version "1.3.6" + resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-1.3.6.tgz#9ebbcec4d1871ab79bdac84187246ce1d34c8d8a" + integrity sha512-zZCk11FIbUgpFwwOzyhoLM9UkBhX8hIVHI/L0CSEzdVfQTra2gMf+Lw0YQVayHlO/7J6djTSzbA7nZQl50dIag== + dependencies: + "@chakra-ui/descendant" "2.0.1" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/icon" "1.1.11" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/transition" "1.3.4" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/alert@1.2.7": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@chakra-ui/alert/-/alert-1.2.7.tgz#bba7489f6a2cf672218a4cffc62cb67e1abf64de" + integrity sha512-+3rjMDjCsR7fWUA9Ikg21s9mVOxU564fA1fX3PdkFlUQFjwroG4hPQCjtUVCOBWontVphKghsQOprpuuQhx2hQ== + dependencies: + "@chakra-ui/icon" "1.1.11" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/anatomy@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/anatomy/-/anatomy-1.0.1.tgz#62b4e372c8fc7caca0d0ee0f3b710b00220588b3" + integrity sha512-eMmusEHhQJn465txOdEUM2yx2A2DoRfMQWwAxoW4GwwbJTD6q8fuGEIf6jaTQ7QtDLcJ9JOkYA7C0f3SKRTGGg== + dependencies: + "@chakra-ui/theme-tools" "^1.2.1" + +"@chakra-ui/avatar@1.2.10": + version "1.2.10" + resolved "https://registry.yarnpkg.com/@chakra-ui/avatar/-/avatar-1.2.10.tgz#1f2b971090e19f5e245d793dedff8eb0035594a7" + integrity sha512-y8JOEHVaIQus0ieNwkeCF8t0caBfQWl8FvXmYTYgDcC+ZSjDV5NR2QD+B5dwkcZJnc+EL/vX8MzX5rgZ6ToiGA== + dependencies: + "@chakra-ui/image" "1.0.20" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/breadcrumb@1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@chakra-ui/breadcrumb/-/breadcrumb-1.2.8.tgz#95b7a61327da79e9984236b766481720e2699f21" + integrity sha512-hMr7GtQ9XaMDjjlJC/pOJCp1vG7Cq4E3o70uyHXuUZkwsTnEzr0hgqOmRGII+pLMVSzxO6ii1OEjvq+rZvKdVw== + dependencies: + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/button@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/button/-/button-1.4.3.tgz#b006b64aeb6d48ffa1319ebc22d2a1df6d26a6bc" + integrity sha512-Qz1nryZdB1iPmjZB0qRJjbbXhkCKnwioBtY3y+dMO8aExZ8WRxd/Rd1AGGvx+REwVkolxvLavHix+aelAn+6sw== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/spinner" "1.1.12" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/checkbox@1.5.7": + version "1.5.7" + resolved "https://registry.yarnpkg.com/@chakra-ui/checkbox/-/checkbox-1.5.7.tgz#e185cb5b44920d3820293f36cd9a4ec922990d2b" + integrity sha512-JrDSnAbddD52WvZcoyU9xH0tHERqF/VARIsaX4D94wJucdmItHYtx4Ik6uqh9Yxwd0VQAbPVEhMbVxP+lC/ijg== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + "@chakra-ui/visually-hidden" "1.0.14" + +"@chakra-ui/clickable@1.1.7": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@chakra-ui/clickable/-/clickable-1.1.7.tgz#ff7d87e5f2a208a596ebbd9cd23bbf6d116bb363" + integrity sha512-aRopd+wRhykwlkRPuBn6XiLxo7jYq2BtToD7dh8wLvhDOAgtFXgYcNfAl4RkNWIUU9ZFioS6HusRE+5LmQ8EPQ== + dependencies: + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/close-button@1.1.11": + version "1.1.11" + resolved "https://registry.yarnpkg.com/@chakra-ui/close-button/-/close-button-1.1.11.tgz#f8b5ed5969c98f23537a4d40420eb21306cf293f" + integrity sha512-3BFVGPKeOdD/q/YgtSDdQ7RJh1fQhX7VRvkj11KPfPlvXIEQDxLwvQQV5MeNdrnTEYXkqzc8jqMexZOWlfSXRg== + dependencies: + "@chakra-ui/icon" "1.1.11" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/color-mode@1.1.12": + version "1.1.12" + resolved "https://registry.yarnpkg.com/@chakra-ui/color-mode/-/color-mode-1.1.12.tgz#c5575ccc3e3439f5204f12e69de8578b2f1d1dc8" + integrity sha512-w9xtfNaCirGtAzJqi6isXDIf+QvS1sfeT1okQxFlJZcG7TSM34B0BLJd3oJalZ2MFrNXkpQQhF2+JNKshrOQwQ== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/control-box@1.0.15": + version "1.0.15" + resolved "https://registry.yarnpkg.com/@chakra-ui/control-box/-/control-box-1.0.15.tgz#cdc1102eb802c46b169a9905b8030349dcd3351d" + integrity sha512-sqQXKa9MjVo1mN/XRfudoM53yKhoXm6ozbE/soTgvLQJtSZtEltXVg9O8LP/h/i/AlfUKs5Nw8qSjij/7pfb2w== + dependencies: + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/counter@1.1.9": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@chakra-ui/counter/-/counter-1.1.9.tgz#954794624806ea6a00f0ebdd3d50c6838d0b41fc" + integrity sha512-WHkYSHJynkFwVFD6wg6afDteBeAmDHV35/tPMwpyTcgagpF99xY/8mULnBoLkkCc/PMe+meHuZJEXuCaxy4ecg== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/css-reset@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/css-reset/-/css-reset-1.0.0.tgz#8395921b35ef27bee0579a4d730c5ab7f7b39734" + integrity sha512-UaPsImGHvCgFO3ayp6Ugafu2/3/EG8wlW/8Y9Ihfk1UFv8cpV+3BfWKmuZ7IcmxcBL9dkP6E8p3/M1T0FB92hg== + +"@chakra-ui/descendant@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/descendant/-/descendant-2.0.1.tgz#fc3bc9081aa01503035b2c9296bc4b9f87ceaae0" + integrity sha512-TeYp94iOhu5Gs2oVzewJaep0qft/JKMKfmcf4PGgzJF+h6TWZm6NGohk6Jq7JOh+y0rExa1ulknIgnMzFx5xaA== + dependencies: + "@chakra-ui/react-utils" "^1.1.2" + +"@chakra-ui/editable@1.2.9": + version "1.2.9" + resolved "https://registry.yarnpkg.com/@chakra-ui/editable/-/editable-1.2.9.tgz#7ea7169f369f6e183d34275cf6d0fcd0571cae33" + integrity sha512-Z8fn8VTEktsMq245Nzxl8Ozi86XfAHuXTHh3pHsoPaabBU6v/LFupu5ALASyjm1AHCdP8tUS90QTdkvz/EwEyg== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/focus-lock@1.1.10": + version "1.1.10" + resolved "https://registry.yarnpkg.com/@chakra-ui/focus-lock/-/focus-lock-1.1.10.tgz#45418b46f8986aa597d2aed572d86a8c8327f871" + integrity sha512-LJqA+RscxqDBocJ1hjFde47g9E/8H2KqlHYcmOrQd5nITMcR88F2Z11cnFNMWJu++PJNHxspaXbUSKqPNj2TPQ== + dependencies: + "@chakra-ui/utils" "1.8.2" + react-focus-lock "2.5.0" + +"@chakra-ui/form-control@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/form-control/-/form-control-1.4.1.tgz#a69d319ec42d4c5ccb0449513bad72457108dc59" + integrity sha512-aQUhQiieXdzwr21UvbpNzSUZj420fNq7+nZ7fl/gzsNudWCuw4wVpP/nuGQrGKF7CLxKi8d/ZuDkXMNeabCgpw== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/icon" "1.1.11" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/hooks@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/hooks/-/hooks-1.6.0.tgz#94f54540298b6a5a7ef68b15e451e76b0ee1fed4" + integrity sha512-5QFICaE1omNCJyVQQX62sZvRvIpI4VansN2AvZpSdrMjRiWvmBNLZN2Khr7+8j6F7uDh5LSgTxiP02vWLp12hA== + dependencies: + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + compute-scroll-into-view "1.0.14" + copy-to-clipboard "3.3.1" + +"@chakra-ui/icon@1.1.11": + version "1.1.11" + resolved "https://registry.yarnpkg.com/@chakra-ui/icon/-/icon-1.1.11.tgz#ab57002ca20b7726aa31da6e370692159280cadb" + integrity sha512-w+TkBr8eA8023j1SdhBzCFrEeU4lolf96cYVz0t/FVUBdIHYPGt56iHdaE2HYXW8Jyp15WLZcJJZQnZo91GRww== + dependencies: + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/icons@1.0.15": + version "1.0.15" + resolved "https://registry.yarnpkg.com/@chakra-ui/icons/-/icons-1.0.15.tgz#90b0e3c2c161c5a100d6b83a277941b22945f880" + integrity sha512-MMuPwmeCil9vAXceIN/Fxn6CNHbhkLofFQaKUfs+UaBsviiU2tvS0nqGaxm/9FNzLr5ithPVWpbz3uV7DXc77g== + dependencies: + "@chakra-ui/icon" "1.1.11" + "@types/react" "^17.0.0" + +"@chakra-ui/image@1.0.20": + version "1.0.20" + resolved "https://registry.yarnpkg.com/@chakra-ui/image/-/image-1.0.20.tgz#18057ca248f17c813ad60812ac4c7965a1de1fda" + integrity sha512-KPJyaV843MQ6YUIjnWYWRaCNVHsWxtbjEL+wCnYSyfuADAPvNP6YEcrs5yTRYxGhJQ3sSLoAU0mIzFKKquLdrw== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/input@1.2.10": + version "1.2.10" + resolved "https://registry.yarnpkg.com/@chakra-ui/input/-/input-1.2.10.tgz#d710c294d24285345b1b9fc214c36ed8b08d0e6f" + integrity sha512-xIAe/8vzFVlnwktJprhKTBOG1R+0NQaJSBn0s97CAj6kFZNVrdQkofCbs4y7KADjkxLblswF+NiTIXuAO9uGvg== + dependencies: + "@chakra-ui/form-control" "1.4.1" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/layout@1.4.9": + version "1.4.9" + resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-1.4.9.tgz#8fa55555d7901d4c76d0b438a4feb9c8ac14ed81" + integrity sha512-QfpPnz3/cB9CAk262fl26bdNH3NjsB8t5yl9sAslDQBC3Uxdft8+yKB1faZCWoa59AXm2UfHbAwKobNTECEFtw== + dependencies: + "@chakra-ui/icon" "1.1.11" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/live-region@1.0.14": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@chakra-ui/live-region/-/live-region-1.0.14.tgz#5264bdfc15d03566f72003046fab285e6c43aab8" + integrity sha512-683UXH5WpPsn6KFuqo6qyllk3lAInP8cGS43CNnd9FX+5WTlplMBUwg0Gl5HLU9zRCAUeerfGLDY7ZJt2TPBVQ== + dependencies: + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/media-query@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/media-query/-/media-query-1.1.2.tgz#fbba8da0cff397061aee61fad491480ae4387375" + integrity sha512-KdH5C/YwJJx7A4BMePC4J7IlDUEe2F7lLqWk/CvvwD+m2w4+/Ju6scU5YGUsskHQulllNGOmyON6fHQ7bVL47g== + dependencies: + "@chakra-ui/react-env" "1.0.6" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/menu@1.7.4": + version "1.7.4" + resolved "https://registry.yarnpkg.com/@chakra-ui/menu/-/menu-1.7.4.tgz#23ec2be50629fcbd2f7b3d290ed6bcfb0c47c155" + integrity sha512-S9On2+zElfILfkDAfNv+Wic+YMNFLo+LFMqh6kbL+k5EyGOF0+TbWToTt28RLDmIg+8kd3osfz0gSMr7kUoVcw== + dependencies: + "@chakra-ui/clickable" "1.1.7" + "@chakra-ui/descendant" "2.0.1" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/popper" "2.3.0" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/transition" "1.3.4" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/modal@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-1.9.0.tgz#638b15388b6905295a8a7a3cb10a288cfde5586e" + integrity sha512-tlAZgc2Q8/wA42wJnpCXAOg48/0bRnbQIqygtb6kMPM/Lzrp2WOWesM4PbToTtNy2wwcEjMWoC6LdQI8Jx2dUQ== + dependencies: + "@chakra-ui/close-button" "1.1.11" + "@chakra-ui/focus-lock" "1.1.10" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/portal" "1.2.9" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/transition" "1.3.4" + "@chakra-ui/utils" "1.8.2" + aria-hidden "^1.1.1" + react-remove-scroll "2.4.1" + +"@chakra-ui/number-input@1.2.10": + version "1.2.10" + resolved "https://registry.yarnpkg.com/@chakra-ui/number-input/-/number-input-1.2.10.tgz#c5f723258793bf59274e49ce3295f03d2e532d5c" + integrity sha512-qsiC/pLuDOmsmlWUUDveZ9YsQd+DOcAcXMeMa6NYb+MJRGyCDOsI/542hxJkIb1N8ei96IpfIJTZS0KUW+ME+g== + dependencies: + "@chakra-ui/counter" "1.1.9" + "@chakra-ui/form-control" "1.4.1" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/icon" "1.1.11" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/pin-input@1.6.5": + version "1.6.5" + resolved "https://registry.yarnpkg.com/@chakra-ui/pin-input/-/pin-input-1.6.5.tgz#3121ab53e21e62aadf6f610a53cc788e76fec255" + integrity sha512-9UMEjpnMaTKlmc9dBO/NjOWWdVLo+Rw5+LB77DKuV5N8L1ab2AMKwpb9Zw3EMcO2En44EzBzZKaVmxLPVRiGsg== + dependencies: + "@chakra-ui/descendant" "2.0.1" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/popover@1.8.4": + version "1.8.4" + resolved "https://registry.yarnpkg.com/@chakra-ui/popover/-/popover-1.8.4.tgz#f69922f8e7653a73f40ece755846dd85a9ce0d0a" + integrity sha512-XLQTxDRuL8u5IAf311PZD6uqEuexrLuOhuAdo1lsSvx558add+BTX1/Zy16z+UVGmQGQCy0PcKT52w1O/9+K0g== + dependencies: + "@chakra-ui/close-button" "1.1.11" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/popper" "2.3.0" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/popper@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/popper/-/popper-2.3.0.tgz#df76c1b38f6345ed31fd8cac597f9990297e630a" + integrity sha512-K3Bw4RqttnX6TegLCBcMIez3w8YJFhUyLIkGUH0g2OCGgOajwucryFjNpuWRwkH4xcQPHghS9OVPYxRYTB22xA== + dependencies: + "@chakra-ui/react-utils" "1.1.2" + "@popperjs/core" "2.4.4" + +"@chakra-ui/portal@1.2.9": + version "1.2.9" + resolved "https://registry.yarnpkg.com/@chakra-ui/portal/-/portal-1.2.9.tgz#966b4f3c2c5e7e862594b36d66d844047cba053b" + integrity sha512-Rp0/1uNsjx5KaGQZ8r5ZIdjuUXqXjn9gWUCacZDlYO5DqJ4YcsYJ4UA7KjLubwokDsS2ddyrTbdZYFyspnWk+Q== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/progress@1.1.14": + version "1.1.14" + resolved "https://registry.yarnpkg.com/@chakra-ui/progress/-/progress-1.1.14.tgz#6d065f5459e41e2a014ddf3676a98dd81bb916aa" + integrity sha512-eoKDk47+xKSIuiDw2omEPwpA2VbGOBsLyIZ5LgKlhs7TulhGHn5q0GkpWYp9pniZqoDjrUcpfcgv5qrVEzl7Sg== + dependencies: + "@chakra-ui/theme-tools" "1.2.1" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/provider@1.6.8": + version "1.6.8" + resolved "https://registry.yarnpkg.com/@chakra-ui/provider/-/provider-1.6.8.tgz#8f97771c6a53ec126d2230966dfbb29aecf1107a" + integrity sha512-sS9Fvypx92McA5w7yh5BUwCD7o6t+limR+3cleE56VuwYiHAOjaOBNJDGXHOWQQgAOVcwAbz1jQqPnshmszoOw== + dependencies: + "@chakra-ui/css-reset" "1.0.0" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/portal" "1.2.9" + "@chakra-ui/react-env" "1.0.6" + "@chakra-ui/system" "1.7.3" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/radio@1.3.10": + version "1.3.10" + resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-1.3.10.tgz#c8f0d31aeadb8b333252d0cd7fa8e89cd5f929e4" + integrity sha512-Gdp038uBSTWdDABg2qoT/vOoLWtnQsKdCzXnkPCzWHarRuQY/Uyffxt8T/bdBnsQhrPMnr68Gv4g0XEK6RjQew== + dependencies: + "@chakra-ui/form-control" "1.4.1" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + "@chakra-ui/visually-hidden" "1.0.14" + +"@chakra-ui/react-env@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-env/-/react-env-1.0.6.tgz#931fb0dbbfe4b2aed04d08b0bb191820f61a7f3b" + integrity sha512-JE0MXrVv9exBaQP0oLescs1ZhFolet3ACoV41ow881aXptN02VJKOht04/9SqEAnaxn8ePdofG9BRB6dKDm0ow== + dependencies: + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/react-utils@1.1.2", "@chakra-ui/react-utils@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-utils/-/react-utils-1.1.2.tgz#7ea80b6ae25bd7b182095cc9ffaad23c464408b5" + integrity sha512-S8jPVKGZH2qF7ZGxl/0DF/dXXI2AxDNGf4Ahi2LGHqajMvqBB7vtYIRRmIA7+jAnErhzO8WUi3i4Z7oScp6xSA== + dependencies: + "@chakra-ui/utils" "^1.7.0" + +"@chakra-ui/react@1.6.8": + version "1.6.8" + resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-1.6.8.tgz#31ffdaeb46797d482972971c314d3293c8feec02" + integrity sha512-EEMPVN0zD9ISlu1XkA6bNHykwgucHE0gLp/WNn0fkybfXOUYGwLQ6f7hi75A1HP4ymBLE90TDVQBZvufY9Vhxg== + dependencies: + "@chakra-ui/accordion" "1.3.6" + "@chakra-ui/alert" "1.2.7" + "@chakra-ui/avatar" "1.2.10" + "@chakra-ui/breadcrumb" "1.2.8" + "@chakra-ui/button" "1.4.3" + "@chakra-ui/checkbox" "1.5.7" + "@chakra-ui/close-button" "1.1.11" + "@chakra-ui/control-box" "1.0.15" + "@chakra-ui/counter" "1.1.9" + "@chakra-ui/css-reset" "1.0.0" + "@chakra-ui/editable" "1.2.9" + "@chakra-ui/form-control" "1.4.1" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/icon" "1.1.11" + "@chakra-ui/image" "1.0.20" + "@chakra-ui/input" "1.2.10" + "@chakra-ui/layout" "1.4.9" + "@chakra-ui/live-region" "1.0.14" + "@chakra-ui/media-query" "1.1.2" + "@chakra-ui/menu" "1.7.4" + "@chakra-ui/modal" "1.9.0" + "@chakra-ui/number-input" "1.2.10" + "@chakra-ui/pin-input" "1.6.5" + "@chakra-ui/popover" "1.8.4" + "@chakra-ui/popper" "2.3.0" + "@chakra-ui/portal" "1.2.9" + "@chakra-ui/progress" "1.1.14" + "@chakra-ui/provider" "1.6.8" + "@chakra-ui/radio" "1.3.10" + "@chakra-ui/react-env" "1.0.6" + "@chakra-ui/select" "1.1.15" + "@chakra-ui/skeleton" "1.1.18" + "@chakra-ui/slider" "1.3.0" + "@chakra-ui/spinner" "1.1.12" + "@chakra-ui/stat" "1.1.12" + "@chakra-ui/switch" "1.2.10" + "@chakra-ui/system" "1.7.3" + "@chakra-ui/table" "1.2.6" + "@chakra-ui/tabs" "1.5.5" + "@chakra-ui/tag" "1.1.12" + "@chakra-ui/textarea" "1.1.14" + "@chakra-ui/theme" "1.10.2" + "@chakra-ui/toast" "1.3.0" + "@chakra-ui/tooltip" "1.3.11" + "@chakra-ui/transition" "1.3.4" + "@chakra-ui/utils" "1.8.2" + "@chakra-ui/visually-hidden" "1.0.14" + +"@chakra-ui/select@1.1.15": + version "1.1.15" + resolved "https://registry.yarnpkg.com/@chakra-ui/select/-/select-1.1.15.tgz#6265d1859b887319b48b09060aa71c50f75e82bf" + integrity sha512-cODZpLBiy25AdVSVnrCOG/xGtwyiLpZBpHYW/SiwKl9lOcefuLxZkFyTp7NGJq5KTgKduYFy2h6qCZbIMf8qkg== + dependencies: + "@chakra-ui/form-control" "1.4.1" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/skeleton@1.1.18": + version "1.1.18" + resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-1.1.18.tgz#872df12d51487dca18faa8a7a4eaeedd791b9423" + integrity sha512-0jxiFNJtwPbt+zhJVE8Bjyf1HJBvYSms69TzCJMw51IEADmMrB0S5Zv0BLKhdlXjx3VywIRW7r5YT+bDHPC/cQ== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/media-query" "1.1.2" + "@chakra-ui/system" "1.7.3" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/slider@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/slider/-/slider-1.3.0.tgz#6de7b81851d8a8175e3bd804b88172fee89a5571" + integrity sha512-Rf51fGbOQ6NWSM9GiYHOvl7ULUc5334Z6wcMdm+YiqXswIrz3w48vSpVxG/LIeogiQRCugIC+71reuLjcbwNrg== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/spinner@1.1.12": + version "1.1.12" + resolved "https://registry.yarnpkg.com/@chakra-ui/spinner/-/spinner-1.1.12.tgz#1833cb46f48e6d002c2820724e3a1a580e6ebc92" + integrity sha512-cwchUCrZ2FEPSQilbCnJSFXmyDJC/9u29oitSNRVPF0DDvHUPZX1yG/DXZ0ZsWqodBw16/FZuRe2VRKOCGm0Iw== + dependencies: + "@chakra-ui/utils" "1.8.2" + "@chakra-ui/visually-hidden" "1.0.14" + +"@chakra-ui/stat@1.1.12": + version "1.1.12" + resolved "https://registry.yarnpkg.com/@chakra-ui/stat/-/stat-1.1.12.tgz#0471d230a62e63bd522d67a346b3b11e8c4bd16b" + integrity sha512-vhoW4zFF1BSlMpEZ179hCXLBT+TLtoW1JESObcOv/lAbFko5YBJAkPs4cws5eKdZsSqVUORtwKcJN+BjWUrkJw== + dependencies: + "@chakra-ui/icon" "1.1.11" + "@chakra-ui/utils" "1.8.2" + "@chakra-ui/visually-hidden" "1.0.14" + +"@chakra-ui/styled-system@1.12.2": + version "1.12.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/styled-system/-/styled-system-1.12.2.tgz#918cedf92e12e3b3c053a4d6a8eeab9315d0980c" + integrity sha512-wJvEgy93DLe0Tz2F9YFRTDnAz8YMC8O2Y0reI6WIDix0QL7dLWxrTA2reqMLaEmKnr965a/LDfyY21tWOB+6TQ== + dependencies: + "@chakra-ui/utils" "1.8.2" + csstype "^3.0.6" + +"@chakra-ui/switch@1.2.10": + version "1.2.10" + resolved "https://registry.yarnpkg.com/@chakra-ui/switch/-/switch-1.2.10.tgz#fa4ef3d078a29e75e1f5c7f00c03dd9a63b76ef1" + integrity sha512-KNxAumFC8s93h1o8Isw4vYQrnKnezJWwObCD+bY0h4gLWrjpSrnH88d8vCR6c+HhKzT0Je1XzOAeC2QAmx4kJA== + dependencies: + "@chakra-ui/checkbox" "1.5.7" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/system@1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-1.7.3.tgz#344031d27555e8a436a8aeb266242e3c4eb51b24" + integrity sha512-061lcraf4tNB4ixpnuWetZjr3fAEmj4zHfMznmMx6MAF6lHLJR9tsCF+Cuyj6m9JPwstbBPhyb5arNRXhZGvYQ== + dependencies: + "@chakra-ui/color-mode" "1.1.12" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/styled-system" "1.12.2" + "@chakra-ui/utils" "1.8.2" + react-fast-compare "3.2.0" + +"@chakra-ui/table@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@chakra-ui/table/-/table-1.2.6.tgz#1402fd1479f07453067864d35967d8e6251114d4" + integrity sha512-fwIBGRLCxhDjt17qfNESC51FIX9YDGJeSD9tC1vZKXveaJmYwVHOdoke1Vv/n++FoFkWPoJHplNOYgDFUiAPBA== + dependencies: + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/tabs@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@chakra-ui/tabs/-/tabs-1.5.5.tgz#09721f87dbb170df2c67ecd49699f6abda064eab" + integrity sha512-ZBPV1KlAYRMlwsXeUf3aPRFpcTsBQND6jWo9ZUYK+Kax8E0Qdltzrjxrrw7FpTj70EdFOIWZcn+2eD0c1y2sUA== + dependencies: + "@chakra-ui/clickable" "1.1.7" + "@chakra-ui/descendant" "2.0.1" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/tag@1.1.12": + version "1.1.12" + resolved "https://registry.yarnpkg.com/@chakra-ui/tag/-/tag-1.1.12.tgz#36f19cb886eb6f079f4ed03e4ed7ca4dadc654ef" + integrity sha512-/tTHhfFNFJUCZwfs7xDCc2kLpBYD/WElt1cl37wLBkODM5ai22BzD1SRvRtd3UJmJtFop/P8+9cdM3+ZuO//UQ== + dependencies: + "@chakra-ui/icon" "1.1.11" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/textarea@1.1.14": + version "1.1.14" + resolved "https://registry.yarnpkg.com/@chakra-ui/textarea/-/textarea-1.1.14.tgz#05b7ef705fd8db77ff856593538524442c480dfd" + integrity sha512-y/nlHq4TnGiMpgQ8mjWp8W3Qvtu67vx2ccQW3zDLVdkvi0bleK6+j7KL6EP9wqkG391QmXwhqKtTEhr0XTL96w== + dependencies: + "@chakra-ui/form-control" "1.4.1" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/theme-tools@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme-tools/-/theme-tools-1.2.1.tgz#940b169f54e1229da419fb644b215e1d41a724ae" + integrity sha512-e3Ql6SJyog7Rrk6DWUGyxzkzyAukodGIbH5DxTp9tLq10UhxZyGOYUQe7m/wL6XQ2zRQSIzcgvqWdTbxtkiwug== + dependencies: + "@chakra-ui/utils" "1.8.2" + "@ctrl/tinycolor" "^3.4.0" + +"@chakra-ui/theme-tools@^1.2.1": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme-tools/-/theme-tools-1.2.3.tgz#dfb93913a0e808b13db65fbd7d9d4489189e95ad" + integrity sha512-4vYW5KiJHRpqiuAw6opDMdIOMywL47gCtFiOP1CwwObXxrHetEHyJvMt9qnx+AfSMyCFGyHz8sFjDmLc+v/jEA== + dependencies: + "@chakra-ui/utils" "1.8.4" + "@ctrl/tinycolor" "^3.4.0" + +"@chakra-ui/theme@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-1.10.2.tgz#dce2599ae9354275e39c69755fd436effe223ac3" + integrity sha512-W2e5le3UqK9G1myH+5kS6HMBKSgIo4Rjsx1AwKUUNHXi2yHOU1ZQhNFkZj/HYkBNBE8tPumrboEQnjnrIQrYFg== + dependencies: + "@chakra-ui/anatomy" "1.0.1" + "@chakra-ui/theme-tools" "1.2.1" + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/toast@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-1.3.0.tgz#6a209b641808c757e865ed0e5c591e47bdfab0c1" + integrity sha512-O2yCMjrYtcoufLVK2T1WZ5wbVMjbmAfddutEm/U4M+frgopakpc3xkpTP79Tv9swrgKAkMkR9S/sh0s69rwmQw== + dependencies: + "@chakra-ui/alert" "1.2.7" + "@chakra-ui/close-button" "1.1.11" + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/theme" "1.10.2" + "@chakra-ui/transition" "1.3.4" + "@chakra-ui/utils" "1.8.2" + "@reach/alert" "0.13.2" + +"@chakra-ui/tooltip@1.3.11": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@chakra-ui/tooltip/-/tooltip-1.3.11.tgz#10734fc2426ca0dd9432ab41f74da7d33791e03c" + integrity sha512-jbiyBK3BmTBQ2aGig4FUeeJp7sw5JaKrl1oMl67TgNc+NNLW0NhiEglYtuKQgelFd6CkJib/hy1KGn0yHKJaoA== + dependencies: + "@chakra-ui/hooks" "1.6.0" + "@chakra-ui/popper" "2.3.0" + "@chakra-ui/portal" "1.2.9" + "@chakra-ui/react-utils" "1.1.2" + "@chakra-ui/utils" "1.8.2" + "@chakra-ui/visually-hidden" "1.0.14" + +"@chakra-ui/transition@1.3.4": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@chakra-ui/transition/-/transition-1.3.4.tgz#36d610e98913a371dcea0ac248ad09bf6b34535d" + integrity sha512-FYBJzTKEUoozoSfOGruPuv1/GBL0mZniBPh+wjHYcXbIJdp8S2gbPFlHPN+4S9NDXz+c9p+OLHZAEEv3Vcvt7A== + dependencies: + "@chakra-ui/utils" "1.8.2" + +"@chakra-ui/utils@1.8.2": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/utils/-/utils-1.8.2.tgz#5a9f1f67c5f2232769fe7d009fcf96eebf3c2b4e" + integrity sha512-MnE4czCQCE87Ch1DfAdmZvObgRviw9wQ9Zti372P8VD1ILEdff/C5WBWHW6mgG3YcorPAxgnrNF3MmNE95jRkA== + dependencies: + "@types/lodash.mergewith" "4.6.6" + css-box-model "1.2.1" + framesync "5.3.0" + lodash.mergewith "4.6.2" + +"@chakra-ui/utils@1.8.4", "@chakra-ui/utils@^1.7.0": + version "1.8.4" + resolved "https://registry.yarnpkg.com/@chakra-ui/utils/-/utils-1.8.4.tgz#0e0c93ce39435d678c49af945ccd7972f8624aa9" + integrity sha512-lMk+FD70zgI8Fn6Ee5h6T2FJdJLnYIYaRQI+Au5izjl8e3V2OZ/Tdi72LW9FnHlQyFZ5N24HGefZlNxOEDUjmw== + dependencies: + "@types/lodash.mergewith" "4.6.6" + css-box-model "1.2.1" + framesync "5.3.0" + lodash.mergewith "4.6.2" + +"@chakra-ui/visually-hidden@1.0.14": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@chakra-ui/visually-hidden/-/visually-hidden-1.0.14.tgz#75fb92916c1f0c949d3a1e05584911a24122182c" + integrity sha512-4OoF0kDmfAVX1IS5kcJ35iOGVHXmk7EZgwH5U4kB32z/81kmG0KW/VeEFnilOknH6a5Mf3fZr8rYRVb/gLfvGg== + dependencies: + "@chakra-ui/utils" "1.8.2" + "@changesets/apply-release-plan@^5.0.1": version "5.0.1" resolved "https://registry.yarnpkg.com/@changesets/apply-release-plan/-/apply-release-plan-5.0.1.tgz#ed3e30550f787ef1b72f0a51e29a54d244123109" @@ -1474,378 +1982,10 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@docsearch/css@3.0.0-alpha.40": - version "3.0.0-alpha.40" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.0.0-alpha.40.tgz#c37bd7b03f4c30a6ea7a19b87fe71880d2e8b22a" - integrity sha512-PrOTPgJMl+Iji1zOH0+J0PEDMriJ1teGxbgll7o4h8JrvJW6sJGqQw7/bLW7enWiFaxbJMK76w1yyPNLFHV7Qg== - -"@docsearch/react@^3.0.0-alpha.39": - version "3.0.0-alpha.40" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.0.0-alpha.40.tgz#d912b4bb7281cb0faf65590c9cf022aa2a13d823" - integrity sha512-aKxnu7sgpP1R7jtgOV/pZdJEHXx6Ts+jnS9U/ejSUS2BMUpwQI5SA3oLs1BA5TA9kIViJ5E+rrjh0VsbcsJ6sQ== - dependencies: - "@algolia/autocomplete-core" "1.2.2" - "@algolia/autocomplete-preset-algolia" "1.2.2" - "@docsearch/css" "3.0.0-alpha.40" - algoliasearch "^4.0.0" - -"@docusaurus/core@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.0.0-beta.9.tgz#59b57c5e60fe83ef9e3c6aa7000d470eb0c52656" - integrity sha512-Bf9c6+yftZfAJk2h4HyaDvzBp5TLhqYtfnfWKKNi0Gdw9vRLXhi7IaiGaLWIuNAIJLTi++Ql0BAn+C0OO8EsWA== - dependencies: - "@babel/core" "^7.12.16" - "@babel/generator" "^7.12.15" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-transform-runtime" "^7.15.0" - "@babel/preset-env" "^7.15.6" - "@babel/preset-react" "^7.12.13" - "@babel/preset-typescript" "^7.12.16" - "@babel/runtime" "^7.15.4" - "@babel/runtime-corejs3" "^7.15.4" - "@babel/traverse" "^7.12.13" - "@docusaurus/cssnano-preset" "2.0.0-beta.9" - "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/types" "2.0.0-beta.9" - "@docusaurus/utils" "2.0.0-beta.9" - "@docusaurus/utils-common" "2.0.0-beta.9" - "@docusaurus/utils-validation" "2.0.0-beta.9" - "@slorber/static-site-generator-webpack-plugin" "^4.0.0" - "@svgr/webpack" "^5.5.0" - autoprefixer "^10.3.5" - babel-loader "^8.2.2" - babel-plugin-dynamic-import-node "2.3.0" - boxen "^5.0.1" - chalk "^4.1.2" - chokidar "^3.5.2" - clean-css "^5.1.5" - commander "^5.1.0" - copy-webpack-plugin "^9.0.1" - core-js "^3.18.0" - css-loader "^5.1.1" - css-minimizer-webpack-plugin "^3.0.2" - cssnano "^5.0.8" - del "^6.0.0" - detect-port "^1.3.0" - escape-html "^1.0.3" - eta "^1.12.3" - file-loader "^6.2.0" - fs-extra "^10.0.0" - github-slugger "^1.4.0" - globby "^11.0.2" - html-minifier-terser "^6.0.2" - html-tags "^3.1.0" - html-webpack-plugin "^5.4.0" - import-fresh "^3.3.0" - is-root "^2.1.0" - leven "^3.1.0" - lodash "^4.17.20" - mini-css-extract-plugin "^1.6.0" - nprogress "^0.2.0" - postcss "^8.3.7" - postcss-loader "^6.1.1" - prompts "^2.4.1" - react-dev-utils "12.0.0-next.47" - react-error-overlay "^6.0.9" - react-helmet "^6.1.0" - react-loadable "npm:@docusaurus/react-loadable@5.5.2" - react-loadable-ssr-addon-v5-slorber "^1.0.1" - react-router "^5.2.0" - react-router-config "^5.1.1" - react-router-dom "^5.2.0" - remark-admonitions "^1.2.1" - resolve-pathname "^3.0.0" - rtl-detect "^1.0.4" - semver "^7.3.4" - serve-handler "^6.1.3" - shelljs "^0.8.4" - std-env "^2.2.1" - strip-ansi "^6.0.0" - terser-webpack-plugin "^5.2.4" - tslib "^2.3.1" - update-notifier "^5.1.0" - url-loader "^4.1.1" - wait-on "^6.0.0" - webpack "^5.61.0" - webpack-bundle-analyzer "^4.4.2" - webpack-dev-server "^4.4.0" - webpack-merge "^5.8.0" - webpackbar "^5.0.0-3" - -"@docusaurus/cssnano-preset@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.9.tgz#4ad9079c68b79744c08be6e48e51d2c12907f71f" - integrity sha512-oIdoiZ/i4LXRxmuLN2ZmvGpMqtwba+ck9TlaQDWC7wvHx+EA9mvvcewKWgc7e4dxPA00+777cQvrDctAreAqLw== - dependencies: - cssnano-preset-advanced "^5.1.4" - postcss "^8.3.7" - postcss-sort-media-queries "^4.1.0" - -"@docusaurus/mdx-loader@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.9.tgz#e87a1ff22fdabcb6bea59beae8b2d999dfb6eb81" - integrity sha512-qb+/Ew69kaAIiot+1lJ13ozsyCY+7/VryzopDTgr60BDCsLUvuDzjNKreBqo1xdC4JxYD/hJMV7UAHkZ8rWB8Q== - dependencies: - "@babel/parser" "^7.12.16" - "@babel/traverse" "^7.12.13" - "@docusaurus/core" "2.0.0-beta.9" - "@docusaurus/utils" "2.0.0-beta.9" - "@mdx-js/mdx" "^1.6.21" - "@mdx-js/react" "^1.6.21" - chalk "^4.1.2" - escape-html "^1.0.3" - file-loader "^6.2.0" - fs-extra "^10.0.0" - github-slugger "^1.4.0" - gray-matter "^4.0.3" - mdast-util-to-string "^2.0.0" - remark-emoji "^2.1.0" - stringify-object "^3.3.0" - unist-util-visit "^2.0.2" - url-loader "^4.1.1" - webpack "^5.61.0" - -"@docusaurus/plugin-content-blog@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.9.tgz#d72a32013232610552cbc45509ba2ddaea653690" - integrity sha512-KZ6UmUa/P4SSX8/xnZpwSt7krnAfRg3S/ghZ7zeIzcp12iumSZBmLNi5rIIXcsFVH0IPOnIofEoWEaEIwaNerg== - dependencies: - "@docusaurus/core" "2.0.0-beta.9" - "@docusaurus/mdx-loader" "2.0.0-beta.9" - "@docusaurus/types" "2.0.0-beta.9" - "@docusaurus/utils" "2.0.0-beta.9" - "@docusaurus/utils-validation" "2.0.0-beta.9" - chalk "^4.1.2" - escape-string-regexp "^4.0.0" - feed "^4.2.2" - fs-extra "^10.0.0" - globby "^11.0.2" - js-yaml "^4.0.0" - loader-utils "^2.0.0" - lodash "^4.17.20" - reading-time "^1.5.0" - remark-admonitions "^1.2.1" - tslib "^2.3.1" - utility-types "^3.10.0" - webpack "^5.61.0" - -"@docusaurus/plugin-content-docs@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.9.tgz#53ac2b43beb0f183c8a9b8fab6201e5e8f444a67" - integrity sha512-GC+CvqKuravPpK5fqlYJVmj9hc6nkd/c/rM2ONueFCqw2wyuH7esWL8RpMqgS0JM1qwwuRpi0Dd3R/zdOptHIQ== - dependencies: - "@docusaurus/core" "2.0.0-beta.9" - "@docusaurus/mdx-loader" "2.0.0-beta.9" - "@docusaurus/types" "2.0.0-beta.9" - "@docusaurus/utils" "2.0.0-beta.9" - "@docusaurus/utils-validation" "2.0.0-beta.9" - chalk "^4.1.2" - combine-promises "^1.1.0" - escape-string-regexp "^4.0.0" - execa "^5.0.0" - fs-extra "^10.0.0" - globby "^11.0.2" - import-fresh "^3.2.2" - js-yaml "^4.0.0" - loader-utils "^2.0.0" - lodash "^4.17.20" - remark-admonitions "^1.2.1" - shelljs "^0.8.4" - tslib "^2.3.1" - utility-types "^3.10.0" - webpack "^5.61.0" - -"@docusaurus/plugin-content-pages@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.9.tgz#115309f03bae2864bb9e4cd8fae646ea2e1f31dc" - integrity sha512-27nFHhPpZEWra6izyWgY+EkBspr3OAUUHojRXzMUKplYLZ5gIciM224PXbwLyECjpn51eaf8/2Ay+/H9BdTCBw== - dependencies: - "@docusaurus/core" "2.0.0-beta.9" - "@docusaurus/mdx-loader" "2.0.0-beta.9" - "@docusaurus/types" "2.0.0-beta.9" - "@docusaurus/utils" "2.0.0-beta.9" - "@docusaurus/utils-validation" "2.0.0-beta.9" - globby "^11.0.2" - lodash "^4.17.20" - remark-admonitions "^1.2.1" - tslib "^2.3.1" - webpack "^5.61.0" - -"@docusaurus/plugin-debug@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.9.tgz#97920e6ba333f99537bd72ae97a8999beeb39a3b" - integrity sha512-uVnLfNE7YBMCWVcfoy6NgAxbqfG3bXfrLozM2RMafPmsCitaw+wrTdnba/irM364wPFFursF9lDrNLwSrYiRbw== - dependencies: - "@docusaurus/core" "2.0.0-beta.9" - "@docusaurus/types" "2.0.0-beta.9" - "@docusaurus/utils" "2.0.0-beta.9" - fs-extra "^10.0.0" - react-json-view "^1.21.3" - tslib "^2.3.1" - -"@docusaurus/plugin-google-analytics@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.9.tgz#5584d20b2e64cc3f84978d42cb0edeeabaf49123" - integrity sha512-fYnunrefFko2jF/M973FONZjn9QHzNnt7+uMokR4frK/BX/zEyW2Yw6vh7dC0oo+ml5625Pv5OfwwlOJ9DRmHw== - dependencies: - "@docusaurus/core" "2.0.0-beta.9" - -"@docusaurus/plugin-google-gtag@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.9.tgz#70de97bb5a25bc10969941ec257d694db0abed79" - integrity sha512-AlVhbjN0OEiM8r8BncdiP82B9I7Dw3fN4cj2pPLtcOmvcRPQM2BfdzxbXPBUHgyT50Rd6hxS+R2Fl/s2RpUAHA== - dependencies: - "@docusaurus/core" "2.0.0-beta.9" - -"@docusaurus/plugin-sitemap@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.9.tgz#4c944b6fc4e8fa4625a6fd985ec21d6455c31647" - integrity sha512-p6Qc1vo/yb1v767/u0E72inkGKayx77HDKsDOGrNj2IH0db0cMsskBLeKYcDfVz5+dtmFrR+lubINp7TyofkvA== - dependencies: - "@docusaurus/core" "2.0.0-beta.9" - "@docusaurus/types" "2.0.0-beta.9" - "@docusaurus/utils" "2.0.0-beta.9" - "@docusaurus/utils-common" "2.0.0-beta.9" - "@docusaurus/utils-validation" "2.0.0-beta.9" - fs-extra "^10.0.0" - sitemap "^7.0.0" - tslib "^2.3.1" - -"@docusaurus/preset-classic@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.9.tgz#853e6fa376eb389a2f06c0c85f2bc823b26b3010" - integrity sha512-wm4x+jOKYaBL+7ckJwskyiITayNm3127e42kz4CtvmjjccpZu68JCfjehqkpnoPDTByBYnaeOKyga4azeAQLSA== - dependencies: - "@docusaurus/core" "2.0.0-beta.9" - "@docusaurus/plugin-content-blog" "2.0.0-beta.9" - "@docusaurus/plugin-content-docs" "2.0.0-beta.9" - "@docusaurus/plugin-content-pages" "2.0.0-beta.9" - "@docusaurus/plugin-debug" "2.0.0-beta.9" - "@docusaurus/plugin-google-analytics" "2.0.0-beta.9" - "@docusaurus/plugin-google-gtag" "2.0.0-beta.9" - "@docusaurus/plugin-sitemap" "2.0.0-beta.9" - "@docusaurus/theme-classic" "2.0.0-beta.9" - "@docusaurus/theme-search-algolia" "2.0.0-beta.9" - -"@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz#81aae0db81ecafbdaee3651f12804580868fa6ce" - integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ== - dependencies: - "@types/react" "*" - prop-types "^15.6.2" - -"@docusaurus/theme-classic@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.9.tgz#d4d246c295e91938bb4ae9745104e352bc5dfe94" - integrity sha512-vTijCGrkFkaqzpOu7w1AaXOBFOo6wirkNEN0+TMkx3oTu95Yj7h98rt/9Z60f6L9HVjOFQ18h3fU6cWloNG+Bg== - dependencies: - "@docusaurus/core" "2.0.0-beta.9" - "@docusaurus/plugin-content-blog" "2.0.0-beta.9" - "@docusaurus/plugin-content-docs" "2.0.0-beta.9" - "@docusaurus/plugin-content-pages" "2.0.0-beta.9" - "@docusaurus/theme-common" "2.0.0-beta.9" - "@docusaurus/types" "2.0.0-beta.9" - "@docusaurus/utils" "2.0.0-beta.9" - "@docusaurus/utils-common" "2.0.0-beta.9" - "@docusaurus/utils-validation" "2.0.0-beta.9" - "@mdx-js/mdx" "^1.6.21" - "@mdx-js/react" "^1.6.21" - chalk "^4.1.2" - clsx "^1.1.1" - copy-text-to-clipboard "^3.0.1" - fs-extra "^10.0.0" - globby "^11.0.2" - infima "0.2.0-alpha.34" - lodash "^4.17.20" - parse-numeric-range "^1.3.0" - postcss "^8.3.7" - prism-react-renderer "^1.2.1" - prismjs "^1.23.0" - prop-types "^15.7.2" - react-router-dom "^5.2.0" - rtlcss "^3.3.0" - -"@docusaurus/theme-common@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.0.0-beta.9.tgz#a2bd5eb242baa38b110a191126f9054740267925" - integrity sha512-ZsFP+wH1CY6SBqkBGAdj9kHZHkV/7Y77Jw0rnEVbVU4zX2Jh6apWRCOJVaPrroDES8/9D6WWKQgQifeoJ2EeIA== - dependencies: - "@docusaurus/core" "2.0.0-beta.9" - "@docusaurus/plugin-content-blog" "2.0.0-beta.9" - "@docusaurus/plugin-content-docs" "2.0.0-beta.9" - "@docusaurus/plugin-content-pages" "2.0.0-beta.9" - "@docusaurus/types" "2.0.0-beta.9" - clsx "^1.1.1" - fs-extra "^10.0.0" - tslib "^2.3.1" - utility-types "^3.10.0" - -"@docusaurus/theme-search-algolia@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.9.tgz#ccece22535b91e83757c21d895817c5f577fcc36" - integrity sha512-pbpA18kqr5H7A7snmHf4dzMYV+3nsTDYMhV9f2Tms7yP9cxW7ZMHJwaEKXh1myE58Nbkv84AF734TR1UgYrziw== - dependencies: - "@docsearch/react" "^3.0.0-alpha.39" - "@docusaurus/core" "2.0.0-beta.9" - "@docusaurus/theme-common" "2.0.0-beta.9" - "@docusaurus/utils" "2.0.0-beta.9" - "@docusaurus/utils-validation" "2.0.0-beta.9" - algoliasearch "^4.10.5" - algoliasearch-helper "^3.5.5" - clsx "^1.1.1" - eta "^1.12.3" - lodash "^4.17.20" - -"@docusaurus/types@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.0-beta.9.tgz#3561a0e3ce9bcb0892d02a025161bb854a189d10" - integrity sha512-7qK7PCwRImHzv9RMi5HJ7RoHKQ8r7oqZK79UucmzBXl5nyfZridBC7JQ+LG7GBqYVaIjfOHUflOOLIVn+gK2/g== - dependencies: - commander "^5.1.0" - joi "^17.4.2" - querystring "0.2.0" - utility-types "^3.10.0" - webpack "^5.61.0" - webpack-merge "^5.8.0" - -"@docusaurus/utils-common@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.0.0-beta.9.tgz#3c61db4dd87b4644266e9c240024049cd991f338" - integrity sha512-ftVRifnVXW9eQjwOSuTzhEb9P55KSVfqEbQHgUlMm8KYXHC4NNdn4V+9sHmdJ8rDWNU+PA/+FMjGxWLVejMkxg== - dependencies: - "@docusaurus/types" "2.0.0-beta.9" - tslib "^2.3.1" - -"@docusaurus/utils-validation@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.9.tgz#7a4e4ab29627b618a784e8b59fbe4b4bab736594" - integrity sha512-8XZ2wdg+HPSVqgFzhfvntPLwX0+sCypvODatXR8A3YUraZYqQU0NK7SLqD1epLpmHjT/bztSq5DydoGoFRJdIA== - dependencies: - "@docusaurus/utils" "2.0.0-beta.9" - chalk "^4.1.2" - joi "^17.4.2" - tslib "^2.3.1" - -"@docusaurus/utils@2.0.0-beta.9": - version "2.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.0.0-beta.9.tgz#b9d2b5e2baaed94b5041288fa759438e0164c408" - integrity sha512-f5TUY72Qux0wv1tjxsvjFDjfRnsWtQjsjR5Q/gJ5V021H9lycC9YCk0cEReg3bI3+IVL2iGvQqNnH3R1G7NcRw== - dependencies: - "@docusaurus/types" "2.0.0-beta.9" - "@mdx-js/runtime" "^1.6.22" - "@types/github-slugger" "^1.3.0" - chalk "^4.1.2" - escape-string-regexp "^4.0.0" - fs-extra "^10.0.0" - globby "^11.0.4" - gray-matter "^4.0.3" - lodash "^4.17.20" - micromatch "^4.0.4" - remark-mdx-remove-exports "^1.6.22" - remark-mdx-remove-imports "^1.6.22" - resolve-pathname "^3.0.0" - tslib "^2.3.1" +"@ctrl/tinycolor@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f" + integrity sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ== "@emotion/babel-plugin@^11.3.0": version "11.3.0" @@ -1881,6 +2021,13 @@ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== +"@emotion/is-prop-valid@^0.8.2": + version "0.8.8" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" + integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== + dependencies: + "@emotion/memoize" "0.7.4" + "@emotion/is-prop-valid@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.1.0.tgz#29ef6be1e946fb4739f9707def860f316f668cde" @@ -1888,12 +2035,17 @@ dependencies: "@emotion/memoize" "^0.7.4" +"@emotion/memoize@0.7.4": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" + integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== + "@emotion/memoize@^0.7.4", "@emotion/memoize@^0.7.5": version "0.7.5" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50" integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== -"@emotion/react@^11.1.1", "@emotion/react@^11.4.0": +"@emotion/react@11.4.1", "@emotion/react@^11.1.1", "@emotion/react@^11.4.0": version "11.4.1" resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.4.1.tgz#a1b0b767b5bad57515ffb0cad9349614d27f4d57" integrity sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg== @@ -1922,7 +2074,7 @@ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.0.2.tgz#1d9ffde531714ba28e62dac6a996a8b1089719d0" integrity sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw== -"@emotion/styled@^11.3.0": +"@emotion/styled@11.3.0", "@emotion/styled@^11.3.0": version "11.3.0" resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.3.0.tgz#d63ee00537dfb6ff612e31b0e915c5cf9925a207" integrity sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA== @@ -2269,15 +2421,82 @@ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.1.tgz#076d78ce99822258cf813ecc1e7fa460fa74d052" integrity sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg== -"@hapi/hoek@^9.0.0": - version "9.2.0" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131" - integrity sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug== - -"@hapi/topo@^5.0.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" - integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== +"@guild-docs/client@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@guild-docs/client/-/client-1.3.0.tgz#86e3c94872a8ff45a3fb5994ed8daf63cfbfffe2" + integrity sha512-8JQaDSi4T4b7sM0NU/yplWNrli/SU2FqAxaK9OrKHilFCqkVr7TCmS3iO6hbmqIlqcig/wXiifZviaBVJETfwQ== + dependencies: + "@guild-docs/mdx-remote" "^1.0.1" + "@guild-docs/types" "^1.1.0" + immer "^9.0.6" + next-seo "^4.28.1" + nprogress "^0.2.0" + react-icons "4.3.1" + react-intersection-observer "^8.32.4" + react-use "^17.3.1" + remove-markdown "^0.3.0" + use-immer "^0.6.0" + zustand "^3.6.5" + +"@guild-docs/mdx-remote@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@guild-docs/mdx-remote/-/mdx-remote-1.0.1.tgz#e5db16b20550fbbba74423d077bbf3ecf13733ce" + integrity sha512-x5AMrnbGRRbTsju3FEyi6jzLDHwFhoAzef3fTNVFU442XDkB5JMwi7yA5Q52yaFur+l6LFYjkeT2hHfjSZn5EA== + dependencies: + "@guild-docs/types" "^1.0.3" + "@mdx-js/mdx" "^1.6.22" + "@mdx-js/react" "^1.6.22" + unified "^10.1.0" + unist-util-remove "^3.1.0" + +"@guild-docs/server@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@guild-docs/server/-/server-2.1.3.tgz#105694b77183e244d66663555d6d8a4f1b13e9ad" + integrity sha512-8zj1hxwexZjQZjRSsl8F+o85+bHO3aj+RzPbt0OlxjAIbYALB2QRDxuz0LxQ7qtzaBfwzyH6EZ5Hepy4nRgvEg== + dependencies: + "@guild-docs/mdx-remote" "^1.0.1" + "@guild-docs/types" "^1.0.3" + github-slugger "^1.4.0" + globby "^11.0.4" + gray-matter "^4.0.3" + node-fetch "^2.6.6" + rehype-slug "^5.0.0" + remark-emoji "^3.0.2" + tiny-lru "^7.0.6" + unified "^10.1.1" + unist-util-visit "^4.1.0" + +"@guild-docs/types@^1.0.3", "@guild-docs/types@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@guild-docs/types/-/types-1.1.0.tgz#edfbb34f57be26bf7e03643eb1134f918647b3a6" + integrity sha512-ivBhwKj5+u/YsKvDA45+zwrWPt7ByAVWqGFmKn67PdyCfeG8QMDSZt5mS2ET7RNaVe1PTTiXd3sWEaj3U2Ndag== + dependencies: + unified "^10.1.1" + +"@hapi/accept@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.2.tgz#ab7043b037e68b722f93f376afb05e85c0699523" + integrity sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw== + dependencies: + "@hapi/boom" "9.x.x" + "@hapi/hoek" "9.x.x" + +"@hapi/boom@9.x.x": + version "9.1.4" + resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.4.tgz#1f9dad367c6a7da9f8def24b4a986fc5a7bd9db6" + integrity sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw== + dependencies: + "@hapi/hoek" "9.x.x" + +"@hapi/hoek@9.x.x", "@hapi/hoek@^9.0.0": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" + integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw== + +"@hapi/topo@^5.0.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== dependencies: "@hapi/hoek" "^9.0.0" @@ -2511,7 +2730,7 @@ globby "^11.0.0" read-yaml-file "^1.1.0" -"@mdx-js/mdx@1.6.22", "@mdx-js/mdx@^1.6.21": +"@mdx-js/mdx@^1.6.22": version "1.6.22" resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== @@ -2536,20 +2755,11 @@ unist-builder "2.0.3" unist-util-visit "2.0.3" -"@mdx-js/react@1.6.22", "@mdx-js/react@^1.6.21": +"@mdx-js/react@^1.6.22": version "1.6.22" resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== -"@mdx-js/runtime@^1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/runtime/-/runtime-1.6.22.tgz#3edd388bf68a519ffa1aaf9c446b548165102345" - integrity sha512-p17spaO2+55VLCuxXA3LVHC4phRx60NR2XMdZ+qgVU1lKvEX4y88dmFNOzGDCPLJ03IZyKrJ/rPWWRiBrd9JrQ== - dependencies: - "@mdx-js/mdx" "1.6.22" - "@mdx-js/react" "1.6.22" - buble-jsx-only "^0.19.8" - "@mdx-js/util@1.6.22": version "1.6.22" resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" @@ -2575,6 +2785,105 @@ resolved "https://registry.yarnpkg.com/@n1ru4l/graphql-live-query/-/graphql-live-query-0.8.1.tgz#2d6ca6157dafdc5d122a1aeb623b43e939c4b238" integrity sha512-x5SLY+L9/5s07OJprISXx4csNBPF74UZeTI01ZPSaxOtRz2Gljk652kSPf6OjMLtx5uATr35O0M3G0LYhHBLtg== +"@napi-rs/triples@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c" + integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA== + +"@next/env@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/env/-/env-12.0.4.tgz#effe19526fa51ab2da1a39e594b80a257b3fa1c5" + integrity sha512-QtZ6X5c6Zqa7oWs5csEmZ7xy+gLdtRKKg02SOT5l0Ziea4P5IU8mSOCyNC4fZmXewcRVjpbY+yGqAAP7hJUfOA== + +"@next/eslint-plugin-next@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.4.tgz#f1751715634e200a868aa3fa42b4c3391254de81" + integrity sha512-3N+LG+wQQB0JLfMj4YKkefWnjcsFVBmixRWdzbVBnt/cxbVZ0izf+BR1MzvrPX1oaP0OrYk8X/9Mn9Yftuajvg== + dependencies: + glob "7.1.7" + +"@next/polyfill-module@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-12.0.4.tgz#ef4f4fd6d773ad655db1859ca71127e0c358af50" + integrity sha512-mk9yCDNpfXINTJKFTZNgwYs7eqRFpc5D/49O/fKB59blihyKl1GY1sZ0l7a2bn5l1X/WuaZzcIfqnrwkneqeaQ== + +"@next/react-dev-overlay@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-12.0.4.tgz#c97113df84986233c62eed37382aab85a0ec006e" + integrity sha512-9O0lXyzv5goFSmDwq9Hp8JE+DcObvd+bTXvmGSSvYR91AlIoVlH8/PwATx8Rf5YEuqggn/XKR1hn2kBYcbcGnA== + dependencies: + "@babel/code-frame" "7.12.11" + anser "1.4.9" + chalk "4.0.0" + classnames "2.2.6" + css.escape "1.5.1" + data-uri-to-buffer "3.0.1" + platform "1.3.6" + shell-quote "1.7.3" + source-map "0.8.0-beta.0" + stacktrace-parser "0.1.10" + strip-ansi "6.0.1" + +"@next/react-refresh-utils@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-12.0.4.tgz#20d43626498c451f71bb0bb26c3f780ad90f5fd6" + integrity sha512-kNUDmpBaJ+8Lb8CtKNynRFF9oijCjUKKru6Ont+JKhti9//5dNFFIcuo607bJSH86un06OEK0TZUt5XWVlbkjw== + +"@next/swc-android-arm64@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.0.4.tgz#e3ad69d3aadbd1d3ff0768b4f02b66c3806aa6b2" + integrity sha512-6mXumia8ZPcy7bYu9kjItfWxrE6SFaJyqQDaFy9G9WrU9x3M1R1Yok8B2X1mboM8itD0tq+t3R/ebQEkkmevUw== + +"@next/swc-darwin-arm64@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.4.tgz#bc083ed3ad5e6971d2f374f38a7d8f3c46a6de0a" + integrity sha512-7WMen1qhF5JmjKD9S5IEgEoaPJOXyIZj/Nsqa8ZSWxdF5oogp3uYYbKb/rvMYoKzpIbjyoLH/OCM5lm5IFM4iw== + +"@next/swc-darwin-x64@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.4.tgz#84855d4c9fef3b3a094c0f2424ae2b7e6dc29caa" + integrity sha512-PVgefMWjxP6CU1HQs39+Bfpjcue6qErJfvJ/+n2zimjLzyeQAmD6LM9f1lDSttW2LjKjasoxR5qkRNLVlqzlaA== + +"@next/swc-linux-arm-gnueabihf@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.4.tgz#090156c4fc88d86ebc67df35e99daa97ddb232de" + integrity sha512-8xGQu3sJiIdriKiCux3jDJ9pwivELEg7z2zfW0CqmQMbKNB7qP9lc0pq6CxshtKyXRMczNWRMtQ3Cjwep+UvNg== + +"@next/swc-linux-arm64-gnu@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.4.tgz#3ddda6eb703eda411b117d1974f08e028bb987ed" + integrity sha512-HhEWcBkqGr3E7SYLtN9VnYUGamAWaLcXawHN33Em0WP7gzXrBqz0iIJNH7uEzHDS6980EqU/rrkLyhCHrYSZgQ== + +"@next/swc-linux-arm64-musl@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.4.tgz#a17985b811166bb3598816009e5f025539827c21" + integrity sha512-oZyQ9wjtE7OX9RlnovP7izNx2AR/RzTuYWU4Ttim8ssABsipQSxSlfRaeb+Qi6jTc6k+lrPhjRfaZ+fGv/m2Ag== + +"@next/swc-linux-x64-gnu@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.4.tgz#46fa9f4a4d381d41c0fc75912810e72468b0fb49" + integrity sha512-aBuf78QzL93T59Lk9kEGfHcA+9SzYIH7dGon1nqVxtAd2iqicKYNVaVcb38VKeiIBXMSUHXTdu6Ee053ZCOmSw== + +"@next/swc-linux-x64-musl@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.4.tgz#5e07982c84df77ddad537f3abca7d0f52504fc08" + integrity sha512-yDgqUqL4H8M3Y0hv30ZyL9UvjnK4iXmD4I6iJz+XIHSRdA/VUiyKKoL7okf9hxr0mSxBtagbZ5A3qEoW/VliUQ== + +"@next/swc-win32-arm64-msvc@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.4.tgz#17705a3d20b35fddd2f61c4d2e491bbf6909e71a" + integrity sha512-evDUrEYsUo+PMHsedaymfZO98VwV9wNFzuWVCyKgqg6SD1ZRpzbpqYQY7aINIuqZVdIWZElBE6EM+oxaj7PuWQ== + +"@next/swc-win32-ia32-msvc@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.4.tgz#a2a6d5c09a07c62d3a6b5b6dbc4443b566b8385b" + integrity sha512-Lbmz0xlo8vW4EDWyzCfy3nGfqt7skqwxaERwe+vDVTBZ56mvJ5dsdyjqK24sxu4FFkWR7SaU4eNlHwZR+A3kTg== + +"@next/swc-win32-x64-msvc@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.4.tgz#acb9ffb17118b797d8c76dd688dd0aec5fa65cd4" + integrity sha512-f+7WNIJOno5QEelrmob+3vN5EZJb3KCkOrnvUsQ0+LCCD0dIPIhCjeHAh3BGj9msGu8ijnXvD7JxVxE5V26cnQ== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -2662,10 +2971,10 @@ widest-line "^3.1.0" wrap-ansi "^4.0.0" -"@polka/url@^1.0.0-next.20": - version "1.0.0-next.20" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.20.tgz#111b5db0f501aa89b05076fa31f0ea0e0c292cd3" - integrity sha512-88p7+M0QGxKpmnkfXjS4V26AnoC/eiqZutE8GLdaI5X12NY75bXSdTY9NkmYb2Xyk1O+MmkuO6Frmsj84V6I8Q== +"@popperjs/core@2.4.4": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.4.4.tgz#11d5db19bd178936ec89cd84519c4de439574398" + integrity sha512-1oO6+dN5kdIA3sKPZhRGJTfGVP4SWV6KqlMOwry4J3HfyD68sl/3KmG7DeYUzvN+RbhXDnv/D8vNNB8168tAMg== "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" @@ -2720,6 +3029,33 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= +"@reach/alert@0.13.2": + version "0.13.2" + resolved "https://registry.yarnpkg.com/@reach/alert/-/alert-0.13.2.tgz#71c4a848d51341f1d6d9eaae060975391c224870" + integrity sha512-LDz83AXCrClyq/MWe+0vaZfHp1Ytqn+kgL5VxG7rirUvmluWaj/snxzfNPWn0Ma4K2YENmXXRC/iHt5X95SqIg== + dependencies: + "@reach/utils" "0.13.2" + "@reach/visually-hidden" "0.13.2" + prop-types "^15.7.2" + tslib "^2.1.0" + +"@reach/utils@0.13.2": + version "0.13.2" + resolved "https://registry.yarnpkg.com/@reach/utils/-/utils-0.13.2.tgz#87e8fef8ebfe583fa48250238a1a3ed03189fcc8" + integrity sha512-3ir6cN60zvUrwjOJu7C6jec/samqAeyAB12ZADK+qjnmQPdzSYldrFWwDVV5H0WkhbYXR3uh+eImu13hCetNPQ== + dependencies: + "@types/warning" "^3.0.0" + tslib "^2.1.0" + warning "^4.0.3" + +"@reach/visually-hidden@0.13.2": + version "0.13.2" + resolved "https://registry.yarnpkg.com/@reach/visually-hidden/-/visually-hidden-0.13.2.tgz#ee21de376a7e57e60dc92d95a671073796caa17e" + integrity sha512-sPZwNS0/duOuG0mYwE5DmgEAzW9VhgU3aIt1+mrfT/xiT9Cdncqke+kRBQgU708q/Ttm9tWsoHni03nn/SuPTQ== + dependencies: + prop-types "^15.7.2" + tslib "^2.1.0" + "@reduxjs/toolkit@1.6.2": version "1.6.2" resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.6.2.tgz#2f2b5365df77dd6697da28fdf44f33501ed9ba37" @@ -2764,6 +3100,11 @@ dependencies: graphql-request "^3.4.0" +"@rushstack/eslint-patch@^1.0.6": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz#7f698254aadf921e48dda8c0a6b304026b8a9323" + integrity sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A== + "@samverschueren/stream-to-observable@^0.3.0": version "0.3.1" resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" @@ -2807,125 +3148,11 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@slorber/static-site-generator-webpack-plugin@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.1.tgz#0c8852146441aaa683693deaa5aee2f991d94841" - integrity sha512-PSv4RIVO1Y3kvHxjvqeVisk3E9XFoO04uwYBDWe217MFqKspplYswTuKLiJu0aLORQWzuQjfVsSlLPojwfYsLw== - dependencies: - bluebird "^3.7.1" - cheerio "^0.22.0" - eval "^0.1.4" - url "^0.11.0" - webpack-sources "^1.4.3" - "@stencil/state-tunnel@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@stencil/state-tunnel/-/state-tunnel-1.0.1.tgz#21324f494ad719732505c8134099e415ac4c3c81" integrity sha512-DYG8uROgL9hkjVTCtCfRBb0d3FwpiFB0muRrNZQ2X1Qo5hxMuNNji76/ILddqeq0AfgkKCW82xrMPDpy+rNIhQ== -"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" - integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== - -"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" - integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" - integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" - integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== - -"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" - integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== - -"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" - integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== - -"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" - integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== - -"@svgr/babel-plugin-transform-svg-component@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" - integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== - -"@svgr/babel-preset@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" - integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" - "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" - "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" - "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" - "@svgr/babel-plugin-transform-svg-component" "^5.5.0" - -"@svgr/core@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" - integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== - dependencies: - "@svgr/plugin-jsx" "^5.5.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.0" - -"@svgr/hast-util-to-babel-ast@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" - integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== - dependencies: - "@babel/types" "^7.12.6" - -"@svgr/plugin-jsx@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" - integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== - dependencies: - "@babel/core" "^7.12.3" - "@svgr/babel-preset" "^5.5.0" - "@svgr/hast-util-to-babel-ast" "^5.5.0" - svg-parser "^2.0.2" - -"@svgr/plugin-svgo@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" - integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== - dependencies: - cosmiconfig "^7.0.0" - deepmerge "^4.2.2" - svgo "^1.2.2" - -"@svgr/webpack@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" - integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== - dependencies: - "@babel/core" "^7.12.3" - "@babel/plugin-transform-react-constant-elements" "^7.12.1" - "@babel/preset-env" "^7.12.1" - "@babel/preset-react" "^7.12.5" - "@svgr/core" "^5.5.0" - "@svgr/plugin-jsx" "^5.5.0" - "@svgr/plugin-svgo" "^5.5.0" - loader-utils "^2.0.0" - "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -2933,10 +3160,10 @@ dependencies: defer-to-connect "^1.0.1" -"@theguild/components@1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@theguild/components/-/components-1.8.0.tgz#1bd19d320d23621707c71af43bb6c69ce796afe0" - integrity sha512-SAomBQbmZYHTMp6kmtMSMCJgrrLjsh0m9MR8NomC0AskgSdWCTM9CE4FzDmhsXutZ2ZG6F/2rcAmNhzeIMOtPQ== +"@theguild/components@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@theguild/components/-/components-1.8.1.tgz#cac9bb43062bed8b2d88d81c3999e9a1428c8605" + integrity sha512-+aqFuHMFl6LotXDfMsqVjydY4JPVL6FFudDYJr99p8LjbgTRZYC6blmj56g2QEZO+03Xtm09m1WI949NckpeWw== dependencies: "@emotion/react" "^11.4.0" "@emotion/styled" "^11.3.0" @@ -2950,18 +3177,13 @@ tailwindcss "^2.1.4" twin.macro "^2.4.2" use-debounce "^7.0.0" - validator "13.6.0" + validator "13.7.0" "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@trysound/sax@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.1.1.tgz#3348564048e7a2d7398c935d466c0414ebb6a669" - integrity sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow== - "@tsconfig/node10@^1.0.7": version "1.0.8" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" @@ -3037,6 +3259,13 @@ "@types/connect" "*" "@types/node" "*" +"@types/classnames@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.3.1.tgz#3c2467aa0f1a93f1f021e3b9bcf938bd5dfdc0dd" + integrity sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A== + dependencies: + classnames "*" + "@types/common-tags@1.8.1": version "1.8.1" resolved "https://registry.yarnpkg.com/@types/common-tags/-/common-tags-1.8.1.tgz#a5a49ca5ebbb58e0f8947f3ec98950c8970a68a9" @@ -3066,26 +3295,10 @@ dependencies: "@types/ms" "*" -"@types/eslint-scope@^3.7.0": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e" - integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.28.0.tgz#7e41f2481d301c68e14f483fe10b017753ce8d5a" - integrity sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^0.0.50": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== +"@types/dedent@0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@types/dedent/-/dedent-0.7.0.tgz#155f339ca404e6dd90b9ce46a3f78fd69ca9b050" + integrity sha512-EGlKlgMhnLt/cM4DbUSafFdrkeJoC9Mvnj0PUCU7tFmTjMjNRT957kXCx0wYm3JuEq4o4ZsS5vG+NlkM2DMd2A== "@types/estree@0.0.39": version "0.0.39" @@ -3111,18 +3324,6 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/fs-extra@9.0.13": - version "9.0.13" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" - integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== - dependencies: - "@types/node" "*" - -"@types/github-slugger@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@types/github-slugger/-/github-slugger-1.3.0.tgz#16ab393b30d8ae2a111ac748a015ac05a1fc5524" - integrity sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g== - "@types/glob@7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" @@ -3145,17 +3346,13 @@ dependencies: "@types/unist" "*" -"@types/html-minifier-terser@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.0.0.tgz#563c1c6c132cd204e71512f9c0b394ff90d3fae7" - integrity sha512-NZwaaynfs1oIoLAV1vg18e7QMVDvw+6SQrdJc8w3BwUaoroVSf6EBj/Sk4PBWGxsq0dzhA2drbsuMC1/6C6KgQ== - -"@types/http-proxy@^1.17.5": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.7.tgz#30ea85cc2c868368352a37f0d0d3581e24834c6f" - integrity sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w== +"@types/hoist-non-react-statics@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== dependencies: - "@types/node" "*" + "@types/react" "*" + hoist-non-react-statics "^3.3.0" "@types/inquirer@7.3.3": version "7.3.3" @@ -3197,12 +3394,17 @@ jest-diff "^27.0.0" pretty-format "^27.0.0" +"@types/js-cookie@^2.2.6": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" + integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== + "@types/js-yaml@4.0.5", "@types/js-yaml@^4.0.0": version "4.0.5" resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== @@ -3237,7 +3439,14 @@ "@types/node" "*" rxjs "^6.5.1" -"@types/lodash@4.14.177": +"@types/lodash.mergewith@4.6.6": + version "4.6.6" + resolved "https://registry.yarnpkg.com/@types/lodash.mergewith/-/lodash.mergewith-4.6.6.tgz#c4698f5b214a433ff35cb2c75ee6ec7f99d79f10" + integrity sha512-RY/8IaVENjG19rxTZu9Nukqh0W2UrYgmBj5sdns4hWRZaV8PqR7wIKHFKzvOTjo4zVRV7sVI+yFhAJql12Kfqg== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*", "@types/lodash@4.14.177": version "4.14.177" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.177.tgz#f70c0d19c30fab101cad46b52be60363c43c4578" integrity sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw== @@ -3291,6 +3500,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.10.tgz#2e3ad0a680d96367103d3e670d41c2fed3da61ae" integrity sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA== +"@types/node@15.12.2": + version "15.12.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.2.tgz#1f2b42c4be7156ff4a6f914b2fb03d05fa84e38d" + integrity sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww== + "@types/node@^10.1.0": version "10.17.60" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" @@ -3301,11 +3515,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.24.tgz#c37ac69cb2948afb4cef95f424fa0037971a9a5c" integrity sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ== -"@types/node@^15.0.1": - version "15.14.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-15.14.9.tgz#bc43c990c3c9be7281868bbc7b8fdd6e2b57adfa" - integrity sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A== - "@types/normalize-package-data@^2.4.0": version "2.4.1" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" @@ -3341,11 +3550,6 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== -"@types/q@^1.5.1": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" - integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== - "@types/qs@*": version "6.9.7" resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" @@ -3356,6 +3560,13 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== +"@types/react-dom@17.0.11": + version "17.0.11" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.11.tgz#e1eadc3c5e86bdb5f7684e00274ae228e7bcc466" + integrity sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q== + dependencies: + "@types/react" "*" + "@types/react-transition-group@^4.4.0": version "4.4.4" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e" @@ -3363,7 +3574,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@17.0.36": +"@types/react@*", "@types/react@17.0.36", "@types/react@^17.0.0": version "17.0.36" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.36.tgz#0d81e0e2419e6a8e9ba6af5e3a0608e70835d7d1" integrity sha512-CUFUp01OdfbpN/76v4koqgcpcRGT3sYOq3U3N6q0ZVGcyeP40NUdVU+EWe3hs34RNaTefiYyBzOpxBBidCc5zw== @@ -3372,6 +3583,15 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@17.0.35": + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.35.tgz#217164cf830267d56cd1aec09dcf25a541eedd4c" + integrity sha512-r3C8/TJuri/SLZiiwwxQoLAoavaczARfT9up9b4Jr65+ErAUX3MIkU0oMOQnrpfgHme8zIqZLX7O5nnjm5Wayw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/resolve@0.0.8": version "0.0.8" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" @@ -3379,18 +3599,6 @@ dependencies: "@types/node" "*" -"@types/retry@^0.12.0": - version "0.12.1" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" - integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== - -"@types/sax@^1.2.1": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.3.tgz#b630ac1403ebd7812e0bf9a10de9bf5077afb348" - integrity sha512-+QSw6Tqvs/KQpZX8DvIl3hZSjNFLW/OqE5nlyHXtTwODaJvioN2rOWpBNEWZp2HZUFhOh+VohmJku/WxEXU2XA== - dependencies: - "@types/node" "*" - "@types/scheduler@*": version "0.16.2" resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" @@ -3431,6 +3639,11 @@ resolved "https://registry.yarnpkg.com/@types/valid-url/-/valid-url-1.0.3.tgz#a124389fb953559c7f889795a98620e91adb3687" integrity sha512-+33x29mg+ecU88ODdWpqaie2upIuRkhujVLA7TuJjM823cNMbeggfI6NhxewaRaRF8dy+g33e4uIg/m5Mb3xDQ== +"@types/warning@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/warning/-/warning-3.0.0.tgz#0d2501268ad8f9962b740d387c4654f5f8e23e52" + integrity sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI= + "@types/webpack-env@1.16.3": version "1.16.3" resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.16.3.tgz#b776327a73e561b71e7881d0cd6d34a1424db86a" @@ -3503,6 +3716,24 @@ "@typescript-eslint/typescript-estree" "5.4.0" debug "^4.3.2" +"@typescript-eslint/parser@^4.20.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + "@typescript-eslint/scope-manager@5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.4.0.tgz#aaab08415f4a9cf32b870c7750ae8ba4607126a1" @@ -3511,11 +3742,29 @@ "@typescript-eslint/types" "5.4.0" "@typescript-eslint/visitor-keys" "5.4.0" +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + "@typescript-eslint/types@5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.4.0.tgz#b1c130f4b381b77bec19696c6e3366f9781ce8f2" integrity sha512-GjXNpmn+n1LvnttarX+sPD6+S7giO+9LxDIGlRl4wK3a7qMWALOHYuVSZpPTfEIklYjaWuMtfKdeByx0AcaThA== +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + "@typescript-eslint/typescript-estree@5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.4.0.tgz#fe524fb308973c68ebeb7428f3b64499a6ba5fc0" @@ -3529,6 +3778,14 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== + dependencies: + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + "@typescript-eslint/visitor-keys@5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.4.0.tgz#09bc28efd3621f292fe88c86eef3bf4893364c8c" @@ -3579,127 +3836,6 @@ dependencies: tslib "^2.3.1" -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== - -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@xtuc/long" "4.2.2" - "@wry/context@^0.6.0": version "0.6.1" resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.1.tgz#c3c29c0ad622adb00f6a53303c4f965ee06ebeb2" @@ -3728,15 +3864,10 @@ dependencies: tslib "^2.3.0" -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +"@xobotyi/scrollbar-width@^1.9.5": + version "1.9.5" + resolved "https://registry.yarnpkg.com/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz#80224a6919272f405b87913ca13b92929bdf3c4d" + integrity sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ== "@yarnpkg/lockfile@^1.1.0": version "1.1.0" @@ -3755,7 +3886,7 @@ abort-controller@3.0.0: dependencies: event-target-shim "^5.0.0" -accepts@^1.3.5, accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: +accepts@^1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== @@ -3763,11 +3894,6 @@ accepts@^1.3.5, accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" -acorn-dynamic-import@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== - acorn-globals@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" @@ -3776,12 +3902,7 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" -acorn-import-assertions@^1.7.6: - version "1.7.6" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz#580e3ffcae6770eebeec76c3b9723201e9d01f78" - integrity sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA== - -acorn-jsx@^5.0.1, acorn-jsx@^5.3.1: +acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -3800,31 +3921,26 @@ acorn-walk@^7.0.0, acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn-walk@^8.0.0, acorn-walk@^8.1.1: +acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^6.1.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== +acorn@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== acorn@^7.0.0, acorn@^7.1.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.4, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.6.0: +acorn@^8.2.4, acorn@^8.4.1, acorn@^8.6.0: version "8.6.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== -address@^1.0.1, address@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" - integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== - agent-base@6: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -3840,12 +3956,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.10.0, ajv@^6.11.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.11.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3855,14 +3966,14 @@ ajv@^6.10.0, ajv@^6.11.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -algoliasearch-helper@^3.5.3, algoliasearch-helper@^3.5.5: +algoliasearch-helper@^3.5.3: version "3.6.2" resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.6.2.tgz#45e19b12589cfa0c611b573287f65266ea2cc14a" integrity sha512-Xx0NOA6k4ySn+R2l3UMSONAaMkyfmrZ3AP1geEMo32MxDJQJesZABZYsldO9fa6FKQxH91afhi4hO1G0Zc2opg== dependencies: events "^1.1.1" -algoliasearch@^4.0.0, algoliasearch@^4.10.5, algoliasearch@^4.9.1: +algoliasearch@^4.9.1: version "4.10.5" resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.10.5.tgz#1faf34a3ae5ac3bef27282eb141251c70c7f5db2" integrity sha512-KmH2XkiN+8FxhND4nWFbQDkIoU6g2OjfeU9kIv4Lb+EiOOs3Gpp7jvd+JnatsCisAZsnWQdjd7zVlW7I/85QvQ== @@ -3882,10 +3993,10 @@ algoliasearch@^4.0.0, algoliasearch@^4.10.5, algoliasearch@^4.9.1: "@algolia/requester-node-http" "4.10.5" "@algolia/transporter" "4.10.5" -alphanum-sort@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= +anser@1.4.9: + version "1.4.9" + resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.9.tgz#1f85423a5dcf8da4631a341665ff675b96845760" + integrity sha512-AI+BjTeGt2+WFk4eWcqbQ7snZpDBt8SaLlj0RT2h5xfdWaiy51OjYvqwMrNzJLGy8iOAL6nKDITWO+rd4MkYEA== ansi-align@^2.0.0: version "2.0.0" @@ -3894,13 +4005,6 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" -ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== - dependencies: - string-width "^3.0.0" - ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -3918,11 +4022,6 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1: dependencies: type-fest "^0.21.3" -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -3933,21 +4032,11 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -3987,7 +4076,7 @@ any-promise@^1.0.0: resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= -anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@^3.0.3, anymatch@~3.1.1, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -4154,7 +4243,7 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -arg@^5.0.0, arg@^5.0.1: +arg@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== @@ -4171,17 +4260,27 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +aria-hidden@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.1.3.tgz#bb48de18dc84787a3c6eee113709c473c64ec254" + integrity sha512-RhVWFtKH5BiGMycI72q2RAFMLQi8JP9bLuQXgR5a8Znp7P5KOIADSJeyfI8PCVxLEp067B2HbP5JIiI/PXIZeA== + dependencies: + tslib "^1.0.0" + +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-includes@^3.1.4: +array-includes@^3.1.3, array-includes@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== @@ -4206,6 +4305,15 @@ array.prototype.flat@^1.2.5: define-properties "^1.1.3" es-abstract "^1.19.0" +array.prototype.flatmap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" + integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.19.0" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -4226,7 +4334,7 @@ asn1.js@^5.2.0: minimalistic-assert "^1.0.0" safer-buffer "^2.1.0" -assert@^2.0.0: +assert@2.0.0, assert@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== @@ -4236,6 +4344,11 @@ assert@^2.0.0: object-is "^1.0.1" util "^0.12.0" +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -4248,13 +4361,6 @@ async-retry@^1.2.1: dependencies: retry "0.13.1" -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -4270,7 +4376,7 @@ auto-bind@4.0.0, auto-bind@~4.0.0: resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== -autoprefixer@^10.2.0, autoprefixer@^10.2.5, autoprefixer@^10.3.5: +autoprefixer@^10.2.5: version "10.3.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.3.7.tgz#cef2562058406bd378c94aacda36bb46a97b3186" integrity sha512-EmGpu0nnQVmMhX8ROoJ7Mx8mKYPlcUHuxkwrRYEYMz85lu7H09v8w6R1P0JPdn/hKU32GjpLBFEOuIlDWCRWvg== @@ -4287,6 +4393,11 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +axe-core@^4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.5.tgz#78d6911ba317a8262bfee292aeafcc1e04b49cc5" + integrity sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA== + axios@^0.21.1: version "0.21.4" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" @@ -4294,40 +4405,10 @@ axios@^0.21.1: dependencies: follow-redirects "^1.14.0" -babel-helper-evaluate-path@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz#a62fa9c4e64ff7ea5cea9353174ef023a900a67c" - integrity sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA== - -babel-helper-flip-expressions@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz#3696736a128ac18bc25254b5f40a22ceb3c1d3fd" - integrity sha1-NpZzahKKwYvCUlS19AoizrPB0/0= - -babel-helper-is-nodes-equiv@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684" - integrity sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ= - -babel-helper-is-void-0@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz#7d9c01b4561e7b95dbda0f6eee48f5b60e67313e" - integrity sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4= - -babel-helper-mark-eval-scopes@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz#d244a3bef9844872603ffb46e22ce8acdf551562" - integrity sha1-0kSjvvmESHJgP/tG4izorN9VFWI= - -babel-helper-remove-or-void@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz#a4f03b40077a0ffe88e45d07010dee241ff5ae60" - integrity sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA= - -babel-helper-to-multiple-sequence-expressions@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz#a3f924e3561882d42fcf48907aa98f7979a4588d" - integrity sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA== +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== babel-jest@27.3.1, babel-jest@^27.3.1: version "27.3.1" @@ -4343,16 +4424,6 @@ babel-jest@27.3.1, babel-jest@^27.3.1: graceful-fs "^4.2.4" slash "^3.0.0" -babel-loader@^8.2.2: - version "8.2.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" - integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - babel-plugin-apply-mdx-type-prop@1.6.22: version "1.6.22" resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz#d216e8fd0de91de3f1478ef3231e05446bc8705b" @@ -4361,13 +4432,6 @@ babel-plugin-apply-mdx-type-prop@1.6.22: "@babel/helper-plugin-utils" "7.10.4" "@mdx-js/util" "1.6.22" -babel-plugin-dynamic-import-node@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" - integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== - dependencies: - object.assign "^4.1.0" - babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" @@ -4412,194 +4476,35 @@ babel-plugin-macros@^2.6.1, babel-plugin-macros@^2.8.0: cosmiconfig "^6.0.0" resolve "^1.12.0" -babel-plugin-minify-builtins@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz#31eb82ed1a0d0efdc31312f93b6e4741ce82c36b" - integrity sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag== - -babel-plugin-minify-constant-folding@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz#f84bc8dbf6a561e5e350ff95ae216b0ad5515b6e" - integrity sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ== +babel-plugin-polyfill-corejs2@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" + integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== dependencies: - babel-helper-evaluate-path "^0.5.0" + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.3.0" + semver "^6.1.1" -babel-plugin-minify-dead-code-elimination@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz#1a0c68e44be30de4976ca69ffc535e08be13683f" - integrity sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg== +babel-plugin-polyfill-corejs3@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" + integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== dependencies: - babel-helper-evaluate-path "^0.5.0" - babel-helper-mark-eval-scopes "^0.4.3" - babel-helper-remove-or-void "^0.4.3" - lodash "^4.17.11" + "@babel/helper-define-polyfill-provider" "^0.3.0" + core-js-compat "^3.18.0" -babel-plugin-minify-flip-comparisons@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz#00ca870cb8f13b45c038b3c1ebc0f227293c965a" - integrity sha1-AMqHDLjxO0XAOLPB68DyJyk8llo= +babel-plugin-polyfill-regenerator@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" + integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== dependencies: - babel-helper-is-void-0 "^0.4.3" - -babel-plugin-minify-guarded-expressions@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz#818960f64cc08aee9d6c75bec6da974c4d621135" - integrity sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA== - dependencies: - babel-helper-evaluate-path "^0.5.0" - babel-helper-flip-expressions "^0.4.3" - -babel-plugin-minify-infinity@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz#dfb876a1b08a06576384ef3f92e653ba607b39ca" - integrity sha1-37h2obCKBldjhO8/kuZTumB7Oco= - -babel-plugin-minify-mangle-names@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz#bcddb507c91d2c99e138bd6b17a19c3c271e3fd3" - integrity sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw== - dependencies: - babel-helper-mark-eval-scopes "^0.4.3" - -babel-plugin-minify-numeric-literals@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz#8e4fd561c79f7801286ff60e8c5fd9deee93c0bc" - integrity sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw= - -babel-plugin-minify-replace@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz#d3e2c9946c9096c070efc96761ce288ec5c3f71c" - integrity sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q== - -babel-plugin-minify-simplify@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz#f21613c8b95af3450a2ca71502fdbd91793c8d6a" - integrity sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A== - dependencies: - babel-helper-evaluate-path "^0.5.0" - babel-helper-flip-expressions "^0.4.3" - babel-helper-is-nodes-equiv "^0.0.1" - babel-helper-to-multiple-sequence-expressions "^0.5.0" - -babel-plugin-minify-type-constructors@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz#1bc6f15b87f7ab1085d42b330b717657a2156500" - integrity sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA= - dependencies: - babel-helper-is-void-0 "^0.4.3" - -babel-plugin-polyfill-corejs2@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz#6ed8e30981b062f8fe6aca8873a37ebcc8cc1c0f" - integrity sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.4" - semver "^6.1.1" - -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" - integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.0" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz#2779846a16a1652244ae268b1e906ada107faf92" - integrity sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" - core-js-compat "^3.16.2" - -babel-plugin-polyfill-corejs3@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" - integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - core-js-compat "^3.18.0" - -babel-plugin-polyfill-regenerator@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz#2e9808f5027c4336c994992b48a4262580cb8d6d" - integrity sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.4" - -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" - integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" + "@babel/helper-define-polyfill-provider" "^0.3.0" babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: version "7.0.0-beta.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== -babel-plugin-transform-inline-consecutive-adds@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz#323d47a3ea63a83a7ac3c811ae8e6941faf2b0d1" - integrity sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE= - -babel-plugin-transform-member-expression-literals@^6.9.4: - version "6.9.4" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz#37039c9a0c3313a39495faac2ff3a6b5b9d038bf" - integrity sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8= - -babel-plugin-transform-merge-sibling-variables@^6.9.4: - version "6.9.4" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz#85b422fc3377b449c9d1cde44087203532401dae" - integrity sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4= - -babel-plugin-transform-minify-booleans@^6.9.4: - version "6.9.4" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz#acbb3e56a3555dd23928e4b582d285162dd2b198" - integrity sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg= - -babel-plugin-transform-property-literals@^6.9.4: - version "6.9.4" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz#98c1d21e255736573f93ece54459f6ce24985d39" - integrity sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk= - dependencies: - esutils "^2.0.2" - -babel-plugin-transform-regexp-constructors@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz#58b7775b63afcf33328fae9a5f88fbd4fb0b4965" - integrity sha1-WLd3W2OvzzMyj66aX4j71PsLSWU= - -babel-plugin-transform-remove-console@^6.9.4: - version "6.9.4" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780" - integrity sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A= - -babel-plugin-transform-remove-debugger@^6.9.4: - version "6.9.4" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz#42b727631c97978e1eb2d199a7aec84a18339ef2" - integrity sha1-QrcnYxyXl44estGZp67IShgznvI= - -babel-plugin-transform-remove-undefined@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz#80208b31225766c630c97fa2d288952056ea22dd" - integrity sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ== - dependencies: - babel-helper-evaluate-path "^0.5.0" - -babel-plugin-transform-simplify-comparison-operators@^6.9.4: - version "6.9.4" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz#f62afe096cab0e1f68a2d753fdf283888471ceb9" - integrity sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk= - -babel-plugin-transform-undefined-to-void@^6.9.4: - version "6.9.4" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280" - integrity sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA= - babel-preset-current-node-syntax@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" @@ -4659,35 +4564,6 @@ babel-preset-jest@^27.2.0: babel-plugin-jest-hoist "^27.2.0" babel-preset-current-node-syntax "^1.0.0" -babel-preset-minify@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz#25f5d0bce36ec818be80338d0e594106e21eaa9f" - integrity sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg== - dependencies: - babel-plugin-minify-builtins "^0.5.0" - babel-plugin-minify-constant-folding "^0.5.0" - babel-plugin-minify-dead-code-elimination "^0.5.1" - babel-plugin-minify-flip-comparisons "^0.4.3" - babel-plugin-minify-guarded-expressions "^0.4.4" - babel-plugin-minify-infinity "^0.4.3" - babel-plugin-minify-mangle-names "^0.5.0" - babel-plugin-minify-numeric-literals "^0.4.3" - babel-plugin-minify-replace "^0.5.0" - babel-plugin-minify-simplify "^0.5.1" - babel-plugin-minify-type-constructors "^0.4.3" - babel-plugin-transform-inline-consecutive-adds "^0.4.3" - babel-plugin-transform-member-expression-literals "^6.9.4" - babel-plugin-transform-merge-sibling-variables "^6.9.4" - babel-plugin-transform-minify-booleans "^6.9.4" - babel-plugin-transform-property-literals "^6.9.4" - babel-plugin-transform-regexp-constructors "^0.4.3" - babel-plugin-transform-remove-console "^6.9.4" - babel-plugin-transform-remove-debugger "^6.9.4" - babel-plugin-transform-remove-undefined "^0.5.0" - babel-plugin-transform-simplify-comparison-operators "^6.9.4" - babel-plugin-transform-undefined-to-void "^6.9.4" - lodash "^4.17.11" - backo2@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" @@ -4708,21 +4584,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base16@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" - integrity sha1-4pf2DX7BAUp6lxo568ipjAtoHnA= - -base64-js@^1.3.1: +base64-js@^1.0.2, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - bdd-stdin@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/bdd-stdin/-/bdd-stdin-0.2.0.tgz#04e66aa480e0e0df861e288a4062fb8557db2441" @@ -4752,11 +4618,6 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bluebird@^3.7.1: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" @@ -4808,23 +4669,6 @@ body-parser@1.19.0, body-parser@^1.19.0: raw-body "2.4.0" type-is "~1.6.17" -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - boxen@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" @@ -4838,20 +4682,6 @@ boxen@^1.3.0: term-size "^1.2.0" widest-line "^2.0.0" -boxen@^5.0.0, boxen@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.0.1.tgz#657528bdd3f59a772b8279b831f27ec2c744664b" - integrity sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.0" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -4952,14 +4782,25 @@ browserify-sign@^4.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -browserify-zlib@^0.2.0: +browserify-zlib@0.2.0, browserify-zlib@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.5, browserslist@^4.16.6, browserslist@^4.17.3, browserslist@^4.17.5, browserslist@^4.17.6: +browserslist@4.16.6: + version "4.16.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + +browserslist@^4.17.3, browserslist@^4.17.5, browserslist@^4.17.6: version "4.18.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== @@ -4984,19 +4825,6 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" -buble-jsx-only@^0.19.8: - version "0.19.8" - resolved "https://registry.yarnpkg.com/buble-jsx-only/-/buble-jsx-only-0.19.8.tgz#6e3524aa0f1c523de32496ac9aceb9cc2b493867" - integrity sha512-7AW19pf7PrKFnGTEDzs6u9+JZqQwM1VnLS19OlqYDhXomtFFknnoQJAPHeg84RMFWAvOhYrG7harizJNwUKJsA== - dependencies: - acorn "^6.1.1" - acorn-dynamic-import "^4.0.0" - acorn-jsx "^5.0.1" - chalk "^2.4.2" - magic-string "^0.25.3" - minimist "^1.2.0" - regexpu-core "^4.5.4" - buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" @@ -5007,16 +4835,19 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= +buffer@5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + buffer@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -5050,11 +4881,6 @@ builtins@4.0.0: dependencies: semver "^7.0.0" -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - bytes@3.1.0, bytes@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" @@ -5136,17 +4962,7 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001264, caniuse-lite@^1.0.30001280: +caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001264, caniuse-lite@^1.0.30001274, caniuse-lite@^1.0.30001280: version "1.0.30001282" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== @@ -5165,6 +4981,23 @@ ccount@^1.0.0, ccount@^1.0.3: resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" + integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -5184,15 +5017,6 @@ chalk@^1.0.0, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" @@ -5275,29 +5099,22 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -cheerio@^0.22.0: - version "0.22.0" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" - integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= - dependencies: - css-select "~1.2.0" - dom-serializer "~0.1.0" - entities "~1.1.1" - htmlparser2 "^3.9.1" - lodash.assignin "^4.0.9" - lodash.bind "^4.1.4" - lodash.defaults "^4.0.1" - lodash.filter "^4.4.0" - lodash.flatten "^4.2.0" - lodash.foreach "^4.3.0" - lodash.map "^4.4.0" - lodash.merge "^4.4.0" - lodash.pick "^4.2.1" - lodash.reduce "^4.4.0" - lodash.reject "^4.4.0" - lodash.some "^4.4.0" - -chokidar@^3.4.2, chokidar@^3.5.1, chokidar@^3.5.2: +chokidar@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" + +chokidar@^3.4.0, chokidar@^3.5.1, chokidar@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== @@ -5312,17 +5129,12 @@ chokidar@^3.4.2, chokidar@^3.5.1, chokidar@^3.5.2: optionalDependencies: fsevents "~2.3.2" -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -ci-info@^3.0.0, ci-info@^3.2.0: +ci-info@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== @@ -5340,17 +5152,15 @@ cjs-module-lexer@^1.0.0: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== -classnames@2.3.1, classnames@^2.2.5: +classnames@*, classnames@2.3.1, classnames@^2.2.5: version "2.3.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== -clean-css@^5.1.5: - version "5.1.5" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.1.5.tgz#3b0af240dcfc9a3779a08c2332df3ebd4474f232" - integrity sha512-9dr/cU/LjMpU57PXlSvDkVRh0rPxJBXiBtD0+SgYt8ahTCsXtfKjCkNYgIoTC6mBg8CFr5EKhW3DKCaGMUbUfQ== - dependencies: - source-map "~0.6.0" +classnames@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== clean-set@^1.1.1: version "1.1.2" @@ -5374,11 +5184,6 @@ cli-boxes@^1.0.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - cli-cursor@^2.0.0, cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -5432,15 +5237,6 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - clone-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" @@ -5453,25 +5249,11 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= -clsx@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" - integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -5535,26 +5317,11 @@ color@^4.0.1: color-convert "^2.0.1" color-string "^1.6.0" -colord@^2.0.1, colord@^2.6: - version "2.7.0" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.7.0.tgz#706ea36fe0cd651b585eb142fe64b6480185270e" - integrity sha512-pZJBqsHz+pYyw3zpX6ZRXWoCHM1/cvFikY9TV8G3zcejCaKE0lhankoj8iScyrrePA8C7yJ5FStfA9zbcOnw7Q== - -colorette@^1.3.0, colorette@^1.4.0: +colorette@^1.2.2, colorette@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -colorette@^2.0.10: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== - -combine-promises@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/combine-promises/-/combine-promises-1.1.0.tgz#72db90743c0ca7aab7d0d8d2052fd7b0f674de71" - integrity sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg== - combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -5572,7 +5339,7 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz#d4c25abb679b7751c880be623c1179780fe1dd98" integrity sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg== -commander@^2.20.0, commander@^2.20.3: +commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -5582,22 +5349,17 @@ commander@^4.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -commander@^5.1.0: +commander@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^6.0.0, commander@^6.2.0: +commander@^6.0.0: version "6.2.1" resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^8.1.0, commander@^8.2.0: +commander@^8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.2.0.tgz#37fe2bde301d87d47a53adeff8b5915db1381ca8" integrity sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA== @@ -5612,58 +5374,35 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" +compute-scroll-into-view@1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz#80e3ebb25d6aa89f42e533956cb4b16a04cfe759" + integrity sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ== concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== +concurrently@6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-6.4.0.tgz#5387ee86be435a0eb51c292ade8a00acf479f170" + integrity sha512-HZ3D0RTQMH3oS4gvtYj1P+NBc6PzE2McEra6yEFcQKrUQ9HvtTGU4Dbne083F034p+LRb7kWU0tPRNvSGs1UCQ== dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + chalk "^4.1.0" + date-fns "^2.16.1" + lodash "^4.17.21" + rxjs "^6.6.3" + spawn-command "^0.0.2-1" + supports-color "^8.1.0" + tree-kill "^1.2.2" + yargs "^16.2.0" consola@2.11.3: version "2.11.3" resolved "https://registry.yarnpkg.com/consola/-/consola-2.11.3.tgz#f7315836224c143ac5094b47fd4c816c2cd1560e" integrity sha512-aoW0YIIAmeftGR8GSpw6CGQluNdkWMWh3yEFjH/hmynTYnMtibXszii3lxCXmk8YxJtI3FAK5aTiquA5VH68Gw== -consola@^2.15.0: - version "2.15.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" - integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== - console-browserify@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -5678,16 +5417,11 @@ constant-case@^3.0.4: tslib "^2.0.3" upper-case "^2.0.2" -constants-browserify@^1.0.0: +constants-browserify@1.0.0, constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= - content-disposition@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" @@ -5700,6 +5434,13 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== +convert-source-map@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" @@ -5717,25 +5458,14 @@ cookie@0.4.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== -copy-text-to-clipboard@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz#8cbf8f90e0a47f12e4a24743736265d157bce69c" - integrity sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q== - -copy-webpack-plugin@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz#b71d21991599f61a4ee00ba79087b8ba279bbb59" - integrity sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw== +copy-to-clipboard@3.3.1, copy-to-clipboard@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" + integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== dependencies: - fast-glob "^3.2.5" - glob-parent "^6.0.0" - globby "^11.0.3" - normalize-path "^3.0.0" - p-limit "^3.1.0" - schema-utils "^3.0.0" - serialize-javascript "^6.0.0" + toggle-selection "^1.0.6" -core-js-compat@^3.16.2, core-js-compat@^3.18.0, core-js-compat@^3.19.1: +core-js-compat@^3.18.0, core-js-compat@^3.19.1: version "3.19.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== @@ -5743,20 +5473,15 @@ core-js-compat@^3.16.2, core-js-compat@^3.18.0, core-js-compat@^3.19.1: browserslist "^4.17.6" semver "7.0.0" -core-js-pure@^3.10.2, core-js-pure@^3.16.0: - version "3.17.3" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.17.3.tgz#98ea3587188ab7ef4695db6518eeb71aec42604a" - integrity sha512-YusrqwiOTTn8058JDa0cv9unbXdIiIgcgI9gXso0ey4WgkFLd3lYlV9rp9n7nDCsYxXsMDTjA4m1h3T348mdlQ== - -core-js@^3.14.0, core-js@^3.18.0: - version "3.18.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.18.3.tgz#86a0bba2d8ec3df860fefcc07a8d119779f01509" - integrity sha512-tReEhtMReZaPFVw7dajMx0vlsz3oOb8ajgPoHVYGxr8ErnZ6PcYEvvmjGmXlfpnxpkYSdOQttjB+MvVbCGfvLw== +core-js-pure@^3.10.2, core-js-pure@^3.19.0: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.1.tgz#edffc1fc7634000a55ba05e95b3f0fe9587a5aa4" + integrity sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ== -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +core-js@^3, core-js@^3.14.0: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.1.tgz#f6f173cae23e73a7d88fa23b6e9da329276c6641" + integrity sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg== cors@^2.8.5: version "2.8.5" @@ -5876,7 +5601,7 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@^3.12.0: +crypto-browserify@3.12.0, crypto-browserify@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== @@ -5893,102 +5618,27 @@ crypto-browserify@^3.12.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== +css-box-model@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" + integrity sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw== + dependencies: + tiny-invariant "^1.0.6" css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= -css-color-names@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-1.0.1.tgz#6ff7ee81a823ad46e020fa2fd6ab40a887e2ba67" - integrity sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA== - -css-declaration-sorter@^6.0.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz#e9852e4cf940ba79f509d9425b137d1f94438dc2" - integrity sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA== - dependencies: - timsort "^0.3.0" - -css-loader@^5.1.1: - version "5.2.7" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" - integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== - dependencies: - icss-utils "^5.1.0" - loader-utils "^2.0.0" - postcss "^8.2.15" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^3.0.0" - semver "^7.3.5" - -css-minimizer-webpack-plugin@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.1.1.tgz#27bafa3b75054713565b2266c64b0228acd18634" - integrity sha512-KlB8l5uoNcf9F7i5kXnkxoqJGd2BXH4f0+Lj2vSWSmuvMLYO1kNsJ1KHSzeDW8e45/whgSOPcKVT/3JopkT8dg== - dependencies: - cssnano "^5.0.6" - jest-worker "^27.0.2" - p-limit "^3.0.2" - postcss "^8.3.5" - schema-utils "^3.1.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-select@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" - integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== - dependencies: - boolbase "^1.0.0" - css-what "^5.0.0" - domhandler "^4.2.0" - domutils "^2.6.0" - nth-check "^2.0.0" - -css-select@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== +css-in-js-utils@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz#3b472b398787291b47cfe3e44fecfdd9e914ba99" + integrity sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA== dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" + hyphenate-style-name "^1.0.2" + isobject "^3.0.1" -css-tree@^1.1.2, css-tree@^1.1.3: +css-tree@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== @@ -6001,20 +5651,10 @@ css-unit-converter@^1.1.1: resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -css-what@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" - integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== +css.escape@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= cssesc@^3.0.0: version "3.0.0" @@ -6026,74 +5666,19 @@ cssfilter@0.0.10: resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" integrity sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4= -cssnano-preset-advanced@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-5.1.4.tgz#b492d03756550f75cd8131d59105efdea88c2f7e" - integrity sha512-pFtIM15OzryDk09RcK+bBBtwSl80+g/POTAf/sVPqPmnOAleK6vBkY5wTmPjqGyV5/UTPjEzWMtbOQ3Z0kCBXA== - dependencies: - autoprefixer "^10.2.0" - cssnano-preset-default "^5.1.4" - postcss-discard-unused "^5.0.1" - postcss-merge-idents "^5.0.1" - postcss-reduce-idents "^5.0.1" - postcss-zindex "^5.0.1" - -cssnano-preset-default@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz#359943bf00c5c8e05489f12dd25f3006f2c1cbd2" - integrity sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ== - dependencies: - css-declaration-sorter "^6.0.3" - cssnano-utils "^2.0.1" - postcss-calc "^8.0.0" - postcss-colormin "^5.2.0" - postcss-convert-values "^5.0.1" - postcss-discard-comments "^5.0.1" - postcss-discard-duplicates "^5.0.1" - postcss-discard-empty "^5.0.1" - postcss-discard-overridden "^5.0.1" - postcss-merge-longhand "^5.0.2" - postcss-merge-rules "^5.0.2" - postcss-minify-font-values "^5.0.1" - postcss-minify-gradients "^5.0.2" - postcss-minify-params "^5.0.1" - postcss-minify-selectors "^5.1.0" - postcss-normalize-charset "^5.0.1" - postcss-normalize-display-values "^5.0.1" - postcss-normalize-positions "^5.0.1" - postcss-normalize-repeat-style "^5.0.1" - postcss-normalize-string "^5.0.1" - postcss-normalize-timing-functions "^5.0.1" - postcss-normalize-unicode "^5.0.1" - postcss-normalize-url "^5.0.2" - postcss-normalize-whitespace "^5.0.1" - postcss-ordered-values "^5.0.2" - postcss-reduce-initial "^5.0.1" - postcss-reduce-transforms "^5.0.1" - postcss-svgo "^5.0.2" - postcss-unique-selectors "^5.0.1" - -cssnano-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" - integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== - -cssnano@^5.0.6, cssnano@^5.0.8: - version "5.0.8" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.8.tgz#39ad166256980fcc64faa08c9bb18bb5789ecfa9" - integrity sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg== +cssnano-preset-simple@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-3.0.0.tgz#e95d0012699ca2c741306e9a3b8eeb495a348dbe" + integrity sha512-vxQPeoMRqUT3c/9f0vWeVa2nKQIHFpogtoBvFdW4GQ3IvEJ6uauCP6p3Y5zQDLFcI7/+40FTgX12o7XUL0Ko+w== dependencies: - cssnano-preset-default "^5.1.4" - is-resolvable "^1.1.0" - lilconfig "^2.0.3" - yaml "^1.10.2" + caniuse-lite "^1.0.30001202" -csso@^4.0.2, csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== +cssnano-simple@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-3.0.0.tgz#a4b8ccdef4c7084af97e19bc5b93b4ecf211e90f" + integrity sha512-oU3ueli5Dtwgh0DyeohcIEE00QVfbPR3HzyXdAl89SfnQG3y0/qcpfLVW+jPIh3/rgMZGwuW96rejZGaYE9eUg== dependencies: - css-tree "^1.1.2" + cssnano-preset-simple "^3.0.0" cssom@^0.4.4: version "0.4.4" @@ -6112,10 +5697,10 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" -csstype@^3.0.2: - version "3.0.8" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" - integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw== +csstype@^3.0.2, csstype@^3.0.6: + version "3.0.9" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b" + integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw== csv-generate@^3.4.3: version "3.4.3" @@ -6142,6 +5727,16 @@ csv@^5.3.1: csv-stringify "^5.6.5" stream-transform "^2.1.3" +damerau-levenshtein@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" + integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== + +data-uri-to-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== + data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -6161,12 +5756,17 @@ date-fns@^1.27.2: resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== +date-fns@^2.16.1: + version "2.25.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.25.0.tgz#8c5c8f1d958be3809a9a03f4b742eba894fc5680" + integrity sha512-ovYRFnTrbGPD4nqaEqescPEv1mNwvt+UTqI3Ay9SzNtey9NZnYu6E2qCcBBgJ6/2VF1zGGygpyTDITqpQQ5e+w== + debounce@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@2.6.9, debug@^2.6.0, debug@^2.6.9: +debug@2, debug@2.6.9, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -6180,7 +5780,7 @@ debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: dependencies: ms "2.1.2" -debug@^3.1.1, debug@^3.2.7: +debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -6212,23 +5812,11 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" -dedent@^0.7.0: +dedent@0.7.0, dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -6244,13 +5832,6 @@ deepmerge@^4.0.0, deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -default-gateway@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" @@ -6263,11 +5844,6 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -6280,20 +5856,6 @@ defined@^1.0.0: resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= -del@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" - integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -6344,27 +5906,16 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== + detect-node@^2.0.4, detect-node@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== -detect-port-alt@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -detect-port@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1" - integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ== - dependencies: - address "^1.0.1" - debug "^2.6.0" - detective@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" @@ -6410,26 +5961,6 @@ dlv@^1.1.3: resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" - integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -6444,13 +5975,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - dom-helpers@^5.0.1: version "5.2.1" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" @@ -6459,38 +5983,16 @@ dom-helpers@^5.0.1: "@babel/runtime" "^7.8.7" csstype "^3.0.2" -dom-serializer@0, dom-serializer@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" - integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== - dependencies: - domelementtype "^1.3.0" - entities "^1.1.1" - -dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" +domain-browser@4.19.0: + version "4.19.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1" + integrity sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ== domain-browser@^4.19.0: version "4.22.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.22.0.tgz#6ddd34220ec281f9a65d3386d267ddd35c491f9f" integrity sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw== -domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - domexception@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" @@ -6498,45 +6000,6 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domhandler@^4.0.0, domhandler@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" - integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== - dependencies: - domelementtype "^2.2.0" - -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^2.5.2, domutils@^2.6.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - dot-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" @@ -6545,13 +6008,6 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - dotenv@10.0.0, dotenv@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" @@ -6572,11 +6028,6 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -duplexer@^0.1.1, duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - ecdsa-sig-formatter@1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" @@ -6589,10 +6040,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.896: - version "1.3.906" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.906.tgz#144e212691e35fa8c294431e2ecb51e4b03f7577" - integrity sha512-UjoECdcOYIVzWmrbtNnYpPrDuu+RtiO5W08Vdbid9ydGQMSdnqtJUtvOqQEAVQqpoXN9kSW9YnQufvzLQMYQOw== +electron-to-chromium@^1.3.723, electron-to-chromium@^1.3.886, electron-to-chromium@^1.3.896: + version "1.4.0" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.0.tgz#7456192519838f881e35e4038bf4ad2c36353e63" + integrity sha512-+oXCt6SaIu8EmFTPx8wNGSB0tHQ5biDscnlf6Uxuz17e9CjzMRtGk9B8705aMPnj0iWr3iC74WuIkngCsLElmA== elegant-spinner@^1.0.1: version "1.0.1" @@ -6617,31 +6068,38 @@ emittery@^0.8.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -emoticon@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-3.2.0.tgz#c008ca7d7620fac742fe1bf4af8ff8fed154ae7f" - integrity sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg== +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emoticon@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-4.0.1.tgz#2d2bbbf231ce3a5909e185bbb64a9da703a1e749" + integrity sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw== encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= +encoding@0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -6649,14 +6107,6 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^5.8.3: - version "5.8.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" - integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - enquirer@^2.3.0, enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -6664,16 +6114,6 @@ enquirer@^2.3.0, enquirer@^2.3.5, enquirer@^2.3.6: dependencies: ansi-colors "^4.1.1" -entities@^1.1.1, entities@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -6681,7 +6121,14 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.2, es-abstract@^1.18.0-next.2, es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1: +error-stack-parser@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" + integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== + dependencies: + stackframe "^1.1.1" + +es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== @@ -6707,11 +6154,6 @@ es-abstract@^1.17.2, es-abstract@^1.18.0-next.2, es-abstract@^1.18.5, es-abstrac string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== - es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -6726,22 +6168,24 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= +esbuild-register@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/esbuild-register/-/esbuild-register-3.1.2.tgz#33e1ab4549e44fa49de0a53167583c486354bc1b" + integrity sha512-RbKnUm/dXQZq6q8j7xfLBP06AhDQHS5g2FAAlAYV2Zw5obMKs8Bk777Jt4WD34pAx/Xyh5oAPESCYYtqhJ8Ufw== + dependencies: + jsonc-parser "^3.0.0" + esbuild@^0.12.9: - version "0.12.26" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.26.tgz#35f2d58ac3fa4629df24aa4d6fd72feb5522e94b" - integrity sha512-YmTkhPKjvTJ+G5e96NyhGf69bP+hzO0DscqaVJTi5GM34uaD4Ecj7omu5lJO+NrxCUBRhy2chONLK1h/2LwoXA== + version "0.12.29" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.29.tgz#be602db7c4dc78944a9dbde0d1ea19d36c1f882d" + integrity sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g== escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - -escape-html@^1.0.3, escape-html@~1.0.3: +escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= @@ -6785,6 +6229,21 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" +eslint-config-next@12.0.4: + version "12.0.4" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.4.tgz#22f0305770f0d11bfa034df0efea7cf9cdb37d58" + integrity sha512-uBOHBjYaRF0MaS5feB7lFOncHhSrtFxZy/oud6pEW/wn/JUQtZWeH/J4JyODBfX+G7h9mttgHLZNmUjNJis6Kw== + dependencies: + "@next/eslint-plugin-next" "12.0.4" + "@rushstack/eslint-patch" "^1.0.6" + "@typescript-eslint/parser" "^4.20.0" + eslint-import-resolver-node "^0.3.4" + eslint-import-resolver-typescript "^2.4.0" + eslint-plugin-import "^2.22.1" + eslint-plugin-jsx-a11y "^6.4.1" + eslint-plugin-react "^7.23.1" + eslint-plugin-react-hooks "^4.2.0" + eslint-config-prettier@8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" @@ -6795,7 +6254,7 @@ eslint-config-standard@16.0.3: resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== -eslint-import-resolver-node@^0.3.6: +eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== @@ -6803,6 +6262,17 @@ eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" +eslint-import-resolver-typescript@^2.4.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz#07661966b272d14ba97f597b51e1a588f9722f0a" + integrity sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ== + dependencies: + debug "^4.3.1" + glob "^7.1.7" + is-glob "^4.0.1" + resolve "^1.20.0" + tsconfig-paths "^3.9.0" + eslint-module-utils@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c" @@ -6820,7 +6290,7 @@ eslint-plugin-es@^3.0.0: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-import@2.25.3: +eslint-plugin-import@2.25.3, eslint-plugin-import@^2.22.1: version "2.25.3" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz#a554b5f66e08fb4f6dc99221866e57cfff824766" integrity sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg== @@ -6839,6 +6309,24 @@ eslint-plugin-import@2.25.3: resolve "^1.20.0" tsconfig-paths "^3.11.0" +eslint-plugin-jsx-a11y@^6.4.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" + integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== + dependencies: + "@babel/runtime" "^7.16.3" + aria-query "^4.2.2" + array-includes "^3.1.4" + ast-types-flow "^0.0.7" + axe-core "^4.3.5" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.7" + emoji-regex "^9.2.2" + has "^1.0.3" + jsx-ast-utils "^3.2.1" + language-tags "^1.0.5" + minimatch "^3.0.4" + eslint-plugin-node@11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" @@ -6856,12 +6344,32 @@ eslint-plugin-promise@5.1.1: resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.1.1.tgz#9674d11c056d1bafac38e4a3a9060be740988d90" integrity sha512-XgdcdyNzHfmlQyweOPTxmc7pIsS6dE4MvwhXWMQ2Dxs1XAL2GJDilUsjWen6TWik0aSI+zD/PqocZBblcm9rdA== -eslint-plugin-react-hooks@4.3.0: +eslint-plugin-react-hooks@4.3.0, eslint-plugin-react-hooks@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== -eslint-scope@5.1.1, eslint-scope@^5.1.1: +eslint-plugin-react@^7.23.1: + version "7.27.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.27.0.tgz#f952c76517a3915b81c7788b220b2b4c96703124" + integrity sha512-0Ut+CkzpppgFtoIhdzi2LpdpxxBvgFf99eFqWxJnUrO7mMe0eOiNpou6rvNYeVVV6lWZvTah0BFne7k5xHjARg== + dependencies: + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.6" + +eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -6988,10 +6496,10 @@ estraverse@^4.1.1, estraverse@^4.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-walker@^1.0.1: version "1.0.1" @@ -7003,23 +6511,11 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -eta@^1.12.3: - version "1.12.3" - resolved "https://registry.yarnpkg.com/eta/-/eta-1.12.3.tgz#2982d08adfbef39f9fa50e2fbd42d7337e7338b1" - integrity sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg== - -etag@~1.8.1: +etag@1.8.1, etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -eval@^0.1.4: - version "0.1.6" - resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.6.tgz#9620d7d8c85515e97e6b47c5814f46ae381cb3cc" - integrity sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ== - dependencies: - require-like ">= 0.1.1" - event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" @@ -7030,21 +6526,16 @@ eventemitter3@^3.1.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== +events@3.3.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== events@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= -events@^3.2.0, events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -7175,7 +6666,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.1.1, fast-glob@^3.2.5, fast-glob@^3.2.7: +fast-glob@^3.1.1, fast-glob@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== @@ -7205,12 +6696,15 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fast-url-parser@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" - integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0= - dependencies: - punycode "^1.3.2" +fast-shallow-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" + integrity sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw== + +fastest-stable-stringify@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz#3757a6774f6ec8de40c4e86ec28ea02417214c76" + integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q== fastq@^1.6.0: version "1.12.0" @@ -7219,13 +6713,6 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - fb-watchman@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" @@ -7233,13 +6720,6 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fbemitter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" - integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== - dependencies: - fbjs "^3.0.0" - fbjs-css-vars@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" @@ -7258,13 +6738,6 @@ fbjs@^3.0.0: setimmediate "^1.0.5" ua-parser-js "^0.7.18" -feed@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" - integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== - dependencies: - xml-js "^1.6.11" - figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" @@ -7280,7 +6753,7 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -figures@^3.0.0, figures@^3.2.0: +figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -7294,19 +6767,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-loader@6.2.0, file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -filesize@^6.1.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.4.0.tgz#914f50471dd66fdca3cefe628bd0cde4ef769bcd" - integrity sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ== - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -7332,6 +6792,15 @@ finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" +find-cache-dir@3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + find-cache-dir@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" @@ -7353,13 +6822,6 @@ find-up@^2.1.0: dependencies: locate-path "^2.0.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -7414,13 +6876,12 @@ flow-parser@0.165.1: resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.165.1.tgz#e420c560d0c9bd0e546b9f1b79afed37174298c5" integrity sha512-vz/5MZIePDCZO9FfnRaH398cc+XSwtgoUzR6pC5zbekpk5ttCaXOnxypho+hb0NzUyQNFV+6vpU8joRZ1llrCw== -flux@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flux/-/flux-4.0.1.tgz#7843502b02841d4aaa534af0b373034a1f75ee5c" - integrity sha512-emk4RCvJ8RzNP2lNpphKnG7r18q8elDYNAPx7xn+bDeOIo9FFfxEfIQ2y6YbQNmnsGD3nH1noxtLE64Puz1bRQ== +focus-lock@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.8.1.tgz#bb36968abf77a2063fa173cb6c47b12ac8599d33" + integrity sha512-/LFZOIo82WDsyyv7h7oc0MJF9ACOvDRdx9rWPZ2pgMfNWu/z8hQDBtOchuB/0BVLmuFOZjV02YwUVzNsWx/EzA== dependencies: - fbemitter "^3.0.0" - fbjs "^3.0.0" + tslib "^1.9.3" focus-trap-react@8.7.1: version "8.7.1" @@ -7436,7 +6897,7 @@ focus-trap@^6.6.1: dependencies: tabbable "^5.2.1" -follow-redirects@^1.0.0, follow-redirects@^1.14.0: +follow-redirects@^1.14.0: version "1.14.3" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.3.tgz#6ada78118d8d24caee595595accdc0ac6abd022e" integrity sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw== @@ -7446,25 +6907,6 @@ foreach@^2.0.5: resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= -fork-ts-checker-webpack-plugin@^6.0.5: - version "6.4.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.4.0.tgz#057e477cf1d8b013b2ed2669437f818680289c4c" - integrity sha512-3I3wFkc4DbzaUDPWEi96wdYGu4EKtxBafhZYm0o4mX51d9bphAY4P3mBl8K5mFXFJqVzHfmdbm9kLGnm7vwwBg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" - deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" - minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" - form-data@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -7493,6 +6935,33 @@ fraction.js@^4.1.1: resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.1.tgz#ac4e520473dae67012d618aab91eda09bcb400ff" integrity sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg== +framer-motion@5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-5.3.1.tgz#5588f904f16b20a617f112ee2b10573e7392c488" + integrity sha512-wBqW2eAoIxGcp6zhIPlzHq9b6FqWG3Xir6ovgg/HZgbKajGLfcfYRsQU6qri0U53Qov5QZwb7CkfMjl0UIxL4A== + dependencies: + framesync "6.0.1" + hey-listen "^1.0.8" + popmotion "11.0.0" + style-value-types "5.0.0" + tslib "^2.1.0" + optionalDependencies: + "@emotion/is-prop-valid" "^0.8.2" + +framesync@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/framesync/-/framesync-5.3.0.tgz#0ecfc955e8f5a6ddc8fdb0cc024070947e1a0d9b" + integrity sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA== + dependencies: + tslib "^2.1.0" + +framesync@6.0.1, framesync@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.0.1.tgz#5e32fc01f1c42b39c654c35b16440e07a25d6f20" + integrity sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA== + dependencies: + tslib "^2.1.0" + fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -7516,7 +6985,7 @@ fs-extra@8.1.0, fs-extra@^8.1, fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@9.0.0, fs-extra@^9.0.0: +fs-extra@9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.0.tgz#b6afc31036e247b2466dc99c29ae797d5d4580a3" integrity sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g== @@ -7535,17 +7004,12 @@ fs-extra@^7.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-monkey@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@^2.3.2, fsevents@~2.3.1, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -7591,6 +7055,18 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== + +get-orientation@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-orientation/-/get-orientation-1.1.2.tgz#20507928951814f8a91ded0a0e67b29dfab98947" + integrity sha512-/pViTfifW+gBbh/RnlFYHINvELT9Znt+SYyDKAUL6uV6By019AK/s+i9XP4jSwq7lwP38Fd8HVeTxym3+hkwmQ== + dependencies: + stream-parser "^0.3.1" + get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -7633,19 +7109,19 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" -github-slugger@^1.4.0: +github-slugger@^1.1.1, github-slugger@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e" integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ== -glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob-parent@^6.0.0, glob-parent@^6.0.1: +glob-parent@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.1.tgz#42054f685eb6a44e7a7d189a96efa40a54971aa7" integrity sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog== @@ -7669,7 +7145,7 @@ glob@7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: +glob@7.1.7, glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== @@ -7681,29 +7157,6 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, gl once "^1.3.0" path-is-absolute "^1.0.0" -global-dirs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" - integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== - dependencies: - ini "2.0.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -7740,7 +7193,7 @@ globby@11.0.1: merge2 "^1.3.0" slash "^3.0.0" -globby@11.0.4, globby@^11.0.0, globby@^11.0.1, globby@^11.0.2, globby@^11.0.3, globby@^11.0.4: +globby@11.0.4, globby@^11.0.0, globby@^11.0.1, globby@^11.0.3, globby@^11.0.4: version "11.0.4" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== @@ -7769,7 +7222,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== @@ -7892,26 +7345,6 @@ gray-matter@^4.0.3: section-matter "^1.0.0" strip-bom-string "^1.0.0" -gzip-size@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - hard-rejection@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" @@ -7951,11 +7384,6 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -8016,6 +7444,18 @@ hast-util-from-parse5@^6.0.0: vfile-location "^3.2.0" web-namespaces "^1.0.0" +hast-util-has-property@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hast-util-has-property/-/hast-util-has-property-2.0.0.tgz#c15cd6180f3e535540739fcc9787bcffb5708cae" + integrity sha512-4Qf++8o5v14us4Muv3HRj+Er6wTNGA/N9uCaZMty4JWvyFKLdhULrv4KE1b65AthsSO9TXSZnjuxS8ecIyhb0w== + +hast-util-heading-rank@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hast-util-heading-rank/-/hast-util-heading-rank-2.1.0.tgz#c39f34fa8330ebfec03a08b5d5019ed56122029c" + integrity sha512-w+Rw20Q/iWp2Bcnr6uTrYU6/ftZLbHKhvc8nM26VIWpDqDMlku2iXUVTeOlsdoih/UKQhY7PHQ+vZ0Aqq8bxtQ== + dependencies: + "@types/hast" "^2.0.0" + hast-util-parse-selector@^2.0.0: version "2.2.5" resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" @@ -8048,6 +7488,13 @@ hast-util-to-parse5@^6.0.0: xtend "^4.0.0" zwitch "^1.0.0" +hast-util-to-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz#b008b0a4ea472bf34dd390b7eea1018726ae152a" + integrity sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A== + dependencies: + "@types/hast" "^2.0.0" + hast-util-whitespace@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz#4fc1086467cc1ef5ba20673cb6b03cec3a970f1c" @@ -8074,7 +7521,7 @@ hastscript@^6.0.0: property-information "^5.0.0" space-separated-tokens "^1.0.0" -he@^1.2.0: +he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -8092,17 +7539,10 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== -history@^4.9.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" - integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" +hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" + integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== hmac-drbg@^1.0.1: version "1.0.1" @@ -8113,7 +7553,7 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.2.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -8125,16 +7565,6 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - hsl-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" @@ -8152,28 +7582,17 @@ html-encoding-sniffer@^2.0.1: dependencies: whatwg-encoding "^1.0.5" -html-entities@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488" - integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ== - html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -html-minifier-terser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.0.2.tgz#14059ad64b69bf9f8b8a33f25b53411d8321e75d" - integrity sha512-AgYO3UGhMYQx2S/FBJT3EM0ZYcKmH6m9XL9c1v77BeK/tYJxGPxT1/AtsdUi4FcP8kZGmqqnItCcjFPcX9hk6A== +html-parse-stringify@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" + integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== dependencies: - camel-case "^4.1.2" - clean-css "^5.1.5" - commander "^8.1.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.7.2" + void-elements "3.1.0" html-tags@^3.1.0: version "3.1.0" @@ -8185,50 +7604,12 @@ html-void-elements@^1.0.0: resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== -html-webpack-plugin@^5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.4.0.tgz#d016cd9594be5c243bb5c12287af43babbe1c094" - integrity sha512-cSUdckNOIqKc0nOrCJG7zkvzEIUcXjzEiVbKdEdIzW3BD5T4xPK6boV1mrTrPDZiL+aAr/j45eqbNL1akU2ZRA== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^3.0.4" - tapable "^2.0.0" - -htmlparser2@^3.9.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - http-cache-semantics@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.7.2, http-errors@~1.7.2: +http-errors@1.7.2: version "1.7.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== @@ -8239,20 +7620,16 @@ http-errors@1.7.2, http-errors@~1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= +http-errors@1.7.3, http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== dependencies: depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.3" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" - integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" http-proxy-agent@^4.0.1: version "4.0.1" @@ -8263,27 +7640,7 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" -http-proxy-middleware@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz#7ef3417a479fb7666a571e09966c66a39bd2c15f" - integrity sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg== - dependencies: - "@types/http-proxy" "^1.17.5" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -https-browserify@^1.0.0: +https-browserify@1.0.0, https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= @@ -8311,6 +7668,23 @@ husky@7.0.4: resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== +hyphenate-style-name@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + +i18next-fs-backend@^1.0.7: + version "1.1.1" + resolved "https://registry.yarnpkg.com/i18next-fs-backend/-/i18next-fs-backend-1.1.1.tgz#1d8028926803f63784ffa0f2b1478fb369f92735" + integrity sha512-RFkfy10hNxJqc7MVAp5iAZq0Tum6msBCNebEe3OelOBvrROvzHUPaR8Qe10RQrOGokTm0W4vJGEJzruFkEt+hQ== + +i18next@^20.1.0: + version "20.6.1" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-20.6.1.tgz#535e5f6e5baeb685c7d25df70db63bf3cc0aa345" + integrity sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A== + dependencies: + "@babel/runtime" "^7.12.0" + iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -8318,12 +7692,14 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" -ieee754@^1.1.13, ieee754@^1.2.1: +ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -8338,6 +7714,13 @@ ignore@^5.1.1, ignore@^5.1.4, ignore@^5.1.8: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== +image-size@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.0.tgz#58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750" + integrity sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw== + dependencies: + queue "6.0.2" + immer@^9.0.6: version "9.0.6" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.6.tgz#7a96bf2674d06c8143e327cbf73539388ddf1a73" @@ -8355,7 +7738,7 @@ import-cwd@^3.0.0: dependencies: import-from "^3.0.0" -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.2.2, import-fresh@^3.3.0: +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -8375,11 +7758,6 @@ import-from@4.0.0: resolved "https://registry.yarnpkg.com/import-from/-/import-from-4.0.0.tgz#2710b8d66817d232e16f4166e319248d3d5492e2" integrity sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ== -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - import-local@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" @@ -8403,11 +7781,6 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -infima@0.2.0-alpha.34: - version "0.2.0-alpha.34" - resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.34.tgz#14a900d79a4de2013e025ac95749a4592f16ef6e" - integrity sha512-Na6A2Tl56i1p9dzu7VOAT1Kmu3f5buz63Wvd+D9ZZWL6siQ47L7wkEZUICVKFgc5gERFZVZ/PoPB57Kl++h37Q== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -8416,7 +7789,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -8426,12 +7799,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@^1.3.5, ini@~1.3.0: +ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -8441,6 +7809,13 @@ inline-style-parser@0.1.1: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== +inline-style-prefixer@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-6.0.1.tgz#c5c0e43ba8831707afc5f5bbfd97edf45c1fa7ae" + integrity sha512-AsqazZ8KcRzJ9YPN1wMH2aNM7lkWQ8tSPrW5uDk1ziYwiAPWSZnUsC7lfZq+BDqLqz0B4Pho5wscWcJzVvRzDQ== + dependencies: + css-in-js-utils "^2.0.0" + inquirer@^7.3.3: version "7.3.3" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" @@ -8460,16 +7835,6 @@ inquirer@^7.3.3: strip-ansi "^6.0.0" through "^2.3.6" -internal-ip@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-6.2.0.tgz#d5541e79716e406b74ac6b07b856ef18dc1621c1" - integrity sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg== - dependencies: - default-gateway "^6.0.0" - ipaddr.js "^1.9.1" - is-ip "^3.1.0" - p-event "^4.2.0" - internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" @@ -8479,11 +7844,6 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -8491,31 +7851,11 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ip-regex@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== - -ip@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1, ipaddr.js@^1.9.1: +ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -ipaddr.js@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" - integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - is-absolute@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" @@ -8643,7 +7983,7 @@ is-decimal@^2.0.0: resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.0.tgz#db1140337809fd043a056ae40a9bd1cdc563034c" integrity sha512-QfrfjQV0LjoWQ1K1XSoEZkTAzSa14RKVMa5zg3SdAfzEmQzRM4+tbSFWb78creCeA9rNBzaZal92opi1TwPWZw== -is-docker@^2.0.0, is-docker@^2.1.1: +is-docker@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== @@ -8711,21 +8051,6 @@ is-hexadecimal@^2.0.0: resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.0.tgz#8e1ec9f48fe3eabd90161109856a23e0907a65d5" integrity sha512-vGOtYkiaxwIiR0+Ng/zNId+ZZehGfINwTzdrDqc6iubbnQWhnPuYymOzOKUDqa2cSl59yHnEh2h6MvRLQsyNug== -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-ip@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" - integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== - dependencies: - ip-regex "^4.0.0" - is-lower-case@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-2.0.2.tgz#1c0884d3012c841556243483aa5d522f47396d2a" @@ -8751,11 +8076,6 @@ is-negative-zero@^2.0.1: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== -is-npm@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" - integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== - is-number-object@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" @@ -8773,11 +8093,6 @@ is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - is-observable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" @@ -8785,16 +8100,6 @@ is-observable@^1.1.0: dependencies: symbol-observable "^1.1.0" -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -8805,23 +8110,11 @@ is-plain-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - is-plain-obj@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.0.0.tgz#06c0999fd7574edf5a906ba5644ad0feb3a84d22" integrity sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw== -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" @@ -8837,7 +8130,7 @@ is-property@^1.0.2: resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= -is-regex@^1.0.4, is-regex@^1.1.4: +is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -8857,16 +8150,6 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" -is-resolvable@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-root@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - is-shared-array-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" @@ -8960,28 +8243,13 @@ is-word-character@^1.0.0: resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== -is-wsl@^2.1.1, is-wsl@^2.2.0: +is-wsl@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -9460,7 +8728,16 @@ jest-watcher@^27.3.1: jest-util "^27.3.1" string-length "^4.0.1" -jest-worker@^27.0.2, jest-worker@^27.0.6, jest-worker@^27.3.1: +jest-worker@27.0.0-next.5: + version "27.0.0-next.5" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.0-next.5.tgz#5985ee29b12a4e191f4aae4bb73b97971d86ec28" + integrity sha512-mk0umAQ5lT+CaOJ+Qp01N6kz48sJG2kr2n1rX0koqKf6FIygQV0qLOdN9SCYID4IVeSigDOcPeGLozdMLYfb5g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^27.3.1: version "27.3.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== @@ -9478,7 +8755,7 @@ jest@27.3.1: import-local "^3.0.2" jest-cli "^27.3.1" -joi@^17.4.0, joi@^17.4.2: +joi@^17.4.0: version "17.4.2" resolved "https://registry.yarnpkg.com/joi/-/joi-17.4.2.tgz#02f4eb5cf88e515e614830239379dcbbe28ce7f7" integrity sha512-Lm56PP+n0+Z2A2rfRvsfWVDXGEWjXxatPopkQ8qQ5mxCEhwHG+Ettgg5o98FFaxilOxozoa14cFhrE/hOzh/Nw== @@ -9494,6 +8771,11 @@ joycon@^3.0.1: resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.0.1.tgz#9074c9b08ccf37a6726ff74a18485f85efcaddaf" integrity sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA== +js-cookie@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" + integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== + js-sha3@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" @@ -9567,11 +8849,6 @@ json-buffer@3.0.0: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - json-parse-even-better-errors@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -9626,6 +8903,11 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +jsonc-parser@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" + integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -9647,7 +8929,7 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= -jsonpath@1.1.1: +jsonpath@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== @@ -9672,6 +8954,14 @@ jsonwebtoken@^8.5.1: ms "^2.1.1" semver "^5.6.0" +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== + dependencies: + array-includes "^3.1.3" + object.assign "^4.1.2" + jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -9713,12 +9003,19 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -klona@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" - integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== +language-subtag-registry@~0.3.2: + version "0.3.21" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== -latest-version@5.1.0, latest-version@^5.1.0: +language-tags@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= + dependencies: + language-subtag-registry "~0.3.2" + +latest-version@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== @@ -9848,29 +9145,15 @@ load-yaml-file@^0.2.0: pify "^4.0.1" strip-bom "^3.0.0" -loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== - -loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== +loader-utils@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== dependencies: big.js "^5.2.2" - emojis-list "^3.0.0" + emojis-list "^2.0.0" json5 "^1.0.1" -loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -9879,14 +9162,6 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -9901,56 +9176,16 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash.assignin@^4.0.9: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" - integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI= - -lodash.bind@^4.1.4: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" - integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= - -lodash.curry@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" - integrity sha1-JI42By7ekGUB11lmIAqG2riyMXA= - lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= -lodash.defaults@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= - -lodash.filter@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" - integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= - lodash.flatmap@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz#ef8cbf408f6e48268663345305c6acc0b778702e" integrity sha1-74y/QI9uSCaGYzRTBcaswLd4cC4= -lodash.flatten@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - -lodash.flow@^3.3.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" - integrity sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o= - -lodash.foreach@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" - integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= - lodash.get@4.4.2, lodash.get@^4, lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" @@ -9986,11 +9221,6 @@ lodash.isstring@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= -lodash.map@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= - lodash.mapvalues@^4.6: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" @@ -10001,7 +9231,7 @@ lodash.memoize@4.x, lodash.memoize@^4.1.2: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.merge@4.6.2, lodash.merge@^4.4.0, lodash.merge@^4.6.2: +lodash.merge@4.6.2, lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== @@ -10016,31 +9246,11 @@ lodash.once@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= -lodash.pick@^4.2.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" - integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= - -lodash.reduce@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" - integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= - -lodash.reject@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415" - integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU= - lodash.set@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= -lodash.some@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" - integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= - lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" @@ -10056,12 +9266,12 @@ lodash.topath@^4.5.2: resolved "https://registry.yarnpkg.com/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009" integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak= -lodash.uniq@4.5.0, lodash.uniq@^4.5.0: +lodash.uniq@4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0, lodash@~4.17.0: +lodash@4.17.21, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0, lodash@~4.17.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -10110,7 +9320,7 @@ long@^4.0.0: resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -10149,6 +9359,13 @@ lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -10161,14 +9378,7 @@ lz-string@^1.4.4: resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= -magic-string@^0.25.3: - version "0.25.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - dependencies: - sourcemap-codec "^1.4.4" - -make-dir@3.1.0, make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: +make-dir@3.1.0, make-dir@^3.0.0, make-dir@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== @@ -10300,11 +9510,6 @@ mdast-util-to-hast@^11.0.0: unist-util-position "^4.0.0" unist-util-visit "^3.0.0" -mdast-util-to-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" - integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== - mdast-util-to-string@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz#56c506d065fbf769515235e577b5a261552d56e9" @@ -10315,11 +9520,6 @@ mdn-data@2.0.14: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - mdurl@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" @@ -10330,13 +9530,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memfs@^3.1.2, memfs@^3.2.2: - version "3.3.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.3.0.tgz#4da2d1fc40a04b170a56622c7164c6be2c4cbef2" - integrity sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg== - dependencies: - fs-monkey "1.0.3" - memoize-one@^5.0.0, memoize-one@^5.1.1: version "5.2.1" resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" @@ -10585,24 +9778,12 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.50.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.50.0: version "1.50.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== - -mime-types@2.1.18: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== - dependencies: - mime-db "~1.33.0" - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24: +mime-types@^2.1.12, mime-types@~2.1.24: version "2.1.33" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== @@ -10614,11 +9795,6 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.3.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" - integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== - mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -10639,23 +9815,6 @@ min-indent@1.0.1, min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-create-react-context@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" - integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== - dependencies: - "@babel/runtime" "^7.12.1" - tiny-warning "^1.0.3" - -mini-css-extract-plugin@^1.6.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz#83172b4fd812f8fc4a09d6f6d16f924f53990ca8" - integrity sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - webpack-sources "^1.1.0" - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -10697,13 +9856,6 @@ mkdirp@1.0.4, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - mock-stdin@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/mock-stdin/-/mock-stdin-0.3.0.tgz#f40d2a513a114e6d547480625b5ef5190744bd4d" @@ -10734,19 +9886,6 @@ ms@2.1.2, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" @@ -10761,6 +9900,20 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" +nano-css@^5.3.1: + version "5.3.4" + resolved "https://registry.yarnpkg.com/nano-css/-/nano-css-5.3.4.tgz#40af6a83a76f84204f346e8ccaa9169cdae9167b" + integrity sha512-wfcviJB6NOxDIDfr7RFn/GlaN7I/Bhe4d39ZRCJ3xvZX60LVe2qZ+rDqM49nm4YT81gAjzS+ZklhKP/Gnfnubg== + dependencies: + css-tree "^1.1.2" + csstype "^3.0.6" + fastest-stable-stringify "^2.0.2" + inline-style-prefixer "^6.0.0" + rtl-css-js "^1.14.0" + sourcemap-codec "^1.4.8" + stacktrace-js "^2.0.2" + stylis "^4.0.6" + nano-time@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/nano-time/-/nano-time-1.0.0.tgz#b0554f69ad89e22d0907f7a12b0993a5d96137ef" @@ -10768,7 +9921,7 @@ nano-time@1.0.0: dependencies: big-integer "^1.6.16" -nanoid@^3.1.28: +nanoid@^3.1.23, nanoid@^3.1.28: version "3.1.30" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== @@ -10783,10 +9936,101 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +next-i18next@8.10.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/next-i18next/-/next-i18next-8.10.0.tgz#94440d796d7c3d16a74218ac72df296daf13aaa3" + integrity sha512-nY3tw+uU6lzZq7YfqRr0lFBiz15txIeYBX5R6rVeAK8wWFsCRJpZ6lTm02DMC+MfD1G6LmtpR6bmOOaBD3TR9A== + dependencies: + "@babel/runtime" "^7.13.17" + "@types/hoist-non-react-statics" "^3.3.1" + core-js "^3" + hoist-non-react-statics "^3.2.0" + i18next "^20.1.0" + i18next-fs-backend "^1.0.7" + react-i18next "^11.8.13" + +next-remote-watch@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-remote-watch/-/next-remote-watch-1.0.0.tgz#34c5a015b1bd191f906479c00baabd1a33cf04f5" + integrity sha512-kV+pglCwcnKyqJIXPHUUrnZr9d3rCqCIEQWBkFYC02GDXHyKVmcFytoY6q0+wMIQqh/izIAQL1x6OKXZhksjLA== + dependencies: + body-parser "^1.19.0" + chalk "^4.0.0" + chokidar "^3.4.0" + commander "^5.0.0" + express "^4.17.1" + +next-seo@4.28.1, next-seo@^4.28.1: + version "4.28.1" + resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-4.28.1.tgz#c98ee559c8ab7196c62d0f6903afd7a8cde47a03" + integrity sha512-WZgwdM+UhpNF3A37zFllzmPhnOVJ9vYeYlc0n3Z/kYfz/QQgy8NEdncNNggS9dU4JD8xriaCcyknhy5OsrFsJw== + +next@12.0.4: + version "12.0.4" + resolved "https://registry.yarnpkg.com/next/-/next-12.0.4.tgz#096578b320f0faf0bd51798decb39aaf00052efe" + integrity sha512-1pvjcSZBm5OLoGmDhp4JwKwIE798WbqUNLuyU7w6a2jUkdWaxOYtkE/ROXQTi2pXHj7+6rm68AvhxROLX2NHQg== + dependencies: + "@babel/runtime" "7.15.4" + "@hapi/accept" "5.0.2" + "@napi-rs/triples" "1.0.3" + "@next/env" "12.0.4" + "@next/polyfill-module" "12.0.4" + "@next/react-dev-overlay" "12.0.4" + "@next/react-refresh-utils" "12.0.4" + acorn "8.5.0" + assert "2.0.0" + browserify-zlib "0.2.0" + browserslist "4.16.6" + buffer "5.6.0" + caniuse-lite "^1.0.30001228" + chalk "2.4.2" + chokidar "3.5.1" + constants-browserify "1.0.0" + crypto-browserify "3.12.0" + cssnano-simple "3.0.0" + domain-browser "4.19.0" + encoding "0.1.13" + etag "1.8.1" + events "3.3.0" + find-cache-dir "3.3.1" + get-orientation "1.1.2" + https-browserify "1.0.0" + image-size "1.0.0" + jest-worker "27.0.0-next.5" + node-fetch "2.6.1" + node-html-parser "1.4.9" + os-browserify "0.3.0" + p-limit "3.1.0" + path-browserify "1.0.1" + postcss "8.2.15" + process "0.11.10" + querystring-es3 "0.2.1" + raw-body "2.4.1" + react-is "17.0.2" + react-refresh "0.8.3" + regenerator-runtime "0.13.4" + stream-browserify "3.0.0" + stream-http "3.1.1" + string_decoder "1.3.0" + styled-jsx "5.0.0-beta.3" + timers-browserify "2.0.12" + tty-browserify "0.0.1" + use-subscription "1.5.1" + util "0.12.4" + vm-browserify "1.1.2" + watchpack "2.1.1" + optionalDependencies: + "@next/swc-android-arm64" "12.0.4" + "@next/swc-darwin-arm64" "12.0.4" + "@next/swc-darwin-x64" "12.0.4" + "@next/swc-linux-arm-gnueabihf" "12.0.4" + "@next/swc-linux-arm64-gnu" "12.0.4" + "@next/swc-linux-arm64-musl" "12.0.4" + "@next/swc-linux-x64-gnu" "12.0.4" + "@next/swc-linux-x64-musl" "12.0.4" + "@next/swc-win32-arm64-msvc" "12.0.4" + "@next/swc-win32-ia32-msvc" "12.0.4" + "@next/swc-win32-x64-msvc" "12.0.4" nice-try@^1.0.4: version "1.0.5" @@ -10811,22 +10055,31 @@ nock@13.2.1: lodash.set "^4.3.2" propagate "^2.0.0" -node-emoji@^1.10.0, node-emoji@^1.11.0: +node-emoji@^1.11.0: version "1.11.0" resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== dependencies: lodash "^4.17.21" -node-fetch@2.6.1, node-fetch@^2.6.1: +node-fetch@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-fetch@^2.6.1, node-fetch@^2.6.6: + version "2.6.6" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" + integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA== + dependencies: + whatwg-url "^5.0.0" + +node-html-parser@1.4.9: + version "1.4.9" + resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-1.4.9.tgz#3c8f6cac46479fae5800725edb532e9ae8fd816c" + integrity sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw== + dependencies: + he "1.2.0" node-int64@^0.4.0: version "0.4.0" @@ -10868,6 +10121,11 @@ node-polyfill-webpack-plugin@1.1.4: util "^0.12.4" vm-browserify "^1.1.2" +node-releases@^1.1.71: + version "1.1.77" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== + node-releases@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" @@ -10905,11 +10163,6 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -10929,20 +10182,6 @@ nprogress@^0.2.0: resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E= -nth-check@^1.0.2, nth-check@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -nth-check@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" - integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== - dependencies: - boolbase "^1.0.0" - nullthrows@^1.0.0, nullthrows@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" @@ -10996,16 +10235,33 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.getownpropertydescriptors@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" - integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== +object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.fromentries@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.19.1" + +object.hasown@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.19.1" -object.values@^1.1.0, object.values@^1.1.5: +object.values@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== @@ -11019,11 +10275,6 @@ oblivious-set@1.0.0: resolved "https://registry.yarnpkg.com/oblivious-set/-/oblivious-set-1.0.0.tgz#c8316f2c2fb6ff7b11b6158db3234c49f733c566" integrity sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw== -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -11031,11 +10282,6 @@ on-finished@~2.3.0: dependencies: ee-first "1.1.1" -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -11057,7 +10303,14 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -open@^7.0.2, open@^7.4.2: +onigasm@^2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/onigasm/-/onigasm-2.2.5.tgz#cc4d2a79a0fa0b64caec1f4c7ea367585a676892" + integrity sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA== + dependencies: + lru-cache "^5.1.1" + +open@^7.4.2: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== @@ -11065,20 +10318,6 @@ open@^7.0.2, open@^7.4.2: is-docker "^2.0.0" is-wsl "^2.1.1" -open@^8.0.9: - version "8.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" - integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opener@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - optimism@^0.16.1: version "0.16.1" resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.1.tgz#7c8efc1f3179f18307b887e18c15c5b7133f6e7d" @@ -11111,7 +10350,7 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -os-browserify@^0.3.0: +os-browserify@0.3.0, os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= @@ -11131,13 +10370,6 @@ p-cancelable@^1.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== -p-event@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" - integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== - dependencies: - p-timeout "^3.1.0" - p-filter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" @@ -11150,7 +10382,7 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-limit@2.2.2, p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@2.2.2, p-limit@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== @@ -11164,7 +10396,7 @@ p-limit@3.0.2: dependencies: p-try "^2.0.0" -p-limit@3.1.0, p-limit@^3.0.2, p-limit@^3.1.0: +p-limit@3.1.0, p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -11185,13 +10417,6 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -11218,21 +10443,6 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-retry@^4.5.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.1.tgz#8fcddd5cdf7a67a0911a9cf2ef0e5df7f602316c" - integrity sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA== - dependencies: - "@types/retry" "^0.12.0" - retry "^0.13.1" - -p-timeout@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" - p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -11327,11 +10537,6 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse-numeric-range@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" - integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== - parse5@6.0.1, parse5@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" @@ -11342,7 +10547,7 @@ parse5@^5.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== -parseurl@^1.3.3, parseurl@~1.3.2, parseurl@~1.3.3: +parseurl@^1.3.3, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== @@ -11374,7 +10579,7 @@ patch-package@6.4.7: slash "^2.0.0" tmp "^0.0.33" -path-browserify@^1.0.1: +path-browserify@1.0.1, path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== @@ -11402,11 +10607,6 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -11439,18 +10639,6 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= -path-to-regexp@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.2.1.tgz#90b617025a16381a879bc82a38d4e8bdeb2bcf45" - integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== - -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -11508,12 +10696,10 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" +platform@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" + integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== please-upgrade-node@^3.2.0: version "3.2.0" @@ -11534,66 +10720,15 @@ polished@^4.1.3: dependencies: "@babel/runtime" "^7.14.0" -portfinder@^1.0.28: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -postcss-calc@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" - integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== - dependencies: - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-colormin@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.0.tgz#2b620b88c0ff19683f3349f4cf9e24ebdafb2c88" - integrity sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - colord "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-convert-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz#4ec19d6016534e30e3102fdf414e753398645232" - integrity sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-discard-comments@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe" - integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== - -postcss-discard-duplicates@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d" - integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== - -postcss-discard-empty@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8" - integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== - -postcss-discard-overridden@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6" - integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== - -postcss-discard-unused@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-5.0.1.tgz#63e35a74a154912f93d4e75a1e6ff3cc146f934b" - integrity sha512-tD6xR/xyZTwfhKYRw0ylfCY8wbfhrjpKAMnDKRTLMy2fNW5hl0hoV6ap5vo2JdCkuHkP3CHw72beO4Y8pzFdww== +popmotion@11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.0.tgz#910e2e7077d9aeba520db8744d40bb5354992212" + integrity sha512-kJDyaG00TtcANP5JZ51od+DCqopxBm2a/Txh3Usu23L9qntjY5wumvcVf578N8qXEHR1a+jx9XCv8zOntdYalQ== dependencies: - postcss-selector-parser "^6.0.5" + framesync "^6.0.1" + hey-listen "^1.0.8" + style-value-types "5.0.0" + tslib "^2.1.0" postcss-js@^3.0.3: version "3.0.3" @@ -11612,259 +10747,41 @@ postcss-load-config@^3.0.1, postcss-load-config@^3.1.0: lilconfig "^2.0.3" yaml "^1.10.2" -postcss-loader@^6.1.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.0.tgz#714370a3f567141cf4cadcdf9575f5234d186bc5" - integrity sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA== +postcss-nested@5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" + integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.4" - semver "^7.3.5" + postcss-selector-parser "^6.0.6" -postcss-merge-idents@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-5.0.1.tgz#6b5856fc28f2571f28ecce49effb9b0e64be9437" - integrity sha512-xu8ueVU0RszbI2gKkxR6mluupsOSSLvt8q4gA2fcKFkA+x6SlH3cb4cFHpDvcRCNFbUmCR/VUub+Y6zPOjPx+Q== +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.6: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-merge-longhand@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz#277ada51d9a7958e8ef8cf263103c9384b322a41" - integrity sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw== - dependencies: - css-color-names "^1.0.1" - postcss-value-parser "^4.1.0" - stylehacks "^5.0.1" - -postcss-merge-rules@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz#d6e4d65018badbdb7dcc789c4f39b941305d410a" - integrity sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - cssnano-utils "^2.0.1" - postcss-selector-parser "^6.0.5" - vendors "^1.0.3" - -postcss-minify-font-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf" - integrity sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-minify-gradients@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz#7c175c108f06a5629925d698b3c4cf7bd3864ee5" - integrity sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ== - dependencies: - colord "^2.6" - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-minify-params@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz#371153ba164b9d8562842fdcd929c98abd9e5b6c" - integrity sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw== - dependencies: - alphanum-sort "^1.0.2" - browserslist "^4.16.0" - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54" - integrity sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og== - dependencies: - alphanum-sort "^1.0.2" - postcss-selector-parser "^6.0.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-nested@5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" - integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== - dependencies: - postcss-selector-parser "^6.0.6" - -postcss-normalize-charset@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0" - integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== - -postcss-normalize-display-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd" - integrity sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-positions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5" - integrity sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-normalize-repeat-style@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5" - integrity sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-string@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0" - integrity sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-normalize-timing-functions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c" - integrity sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-unicode@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37" - integrity sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA== - dependencies: - browserslist "^4.16.0" - postcss-value-parser "^4.1.0" - -postcss-normalize-url@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz#ddcdfb7cede1270740cf3e4dfc6008bd96abc763" - integrity sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ== - dependencies: - is-absolute-url "^3.0.3" - normalize-url "^6.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-whitespace@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a" - integrity sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-ordered-values@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044" - integrity sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-reduce-idents@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-5.0.1.tgz#99b49ce8ee6f9c179447671cc9693e198e877bb7" - integrity sha512-6Rw8iIVFbqtaZExgWK1rpVgP7DPFRPh0DDFZxJ/ADNqPiH10sPCoq5tgo6kLiTyfh9sxjKYjXdc8udLEcPOezg== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-reduce-initial@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz#9d6369865b0f6f6f6b165a0ef5dc1a4856c7e946" - integrity sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw== - dependencies: - browserslist "^4.16.0" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640" - integrity sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.6: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-sort-media-queries@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-4.1.0.tgz#c2ca1374189259049dc039a9e95ba72a31b57bc7" - integrity sha512-pPiw94cMOqGFSlp4QGzOKrhYr8O3VyMNQnb7qlGM25H4EDEii3iKtIUMoFe5gKiCEAt/Iyk2ah47eoRhGqSBGA== - dependencies: - sort-css-media-queries "2.0.4" - -postcss-svgo@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.2.tgz#bc73c4ea4c5a80fbd4b45e29042c34ceffb9257f" - integrity sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A== - dependencies: - postcss-value-parser "^4.1.0" - svgo "^2.3.0" - -postcss-unique-selectors@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz#3be5c1d7363352eff838bd62b0b07a0abad43bfc" - integrity sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w== - dependencies: - alphanum-sort "^1.0.2" - postcss-selector-parser "^6.0.5" - uniqs "^2.0.0" + cssesc "^3.0.0" + util-deprecate "^1.0.2" postcss-value-parser@^3.3.0: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss-zindex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-5.0.1.tgz#c585724beb69d356af8c7e68847b28d6298ece03" - integrity sha512-nwgtJJys+XmmSGoYCcgkf/VczP8Mp/0OfSv3v0+fw0uABY4yxw+eFs0Xp9nAZHIKnS5j+e9ywQ+RD+ONyvl5pA== +postcss@8.2.15: + version "8.2.15" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz#9e66ccf07292817d226fc315cbbf9bc148fbca65" + integrity sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.23" + source-map "^0.6.1" -postcss@^8.1.6, postcss@^8.1.8, postcss@^8.2.1, postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3.5, postcss@^8.3.7: +postcss@^8.1.6, postcss@^8.1.8, postcss@^8.2.1: version "8.3.9" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.9.tgz#98754caa06c4ee9eb59cc48bd073bb6bd3437c31" integrity sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw== @@ -11903,14 +10820,6 @@ prettier@2.4.1, prettier@^1.19.1, prettier@^2.3.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== -pretty-error@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-3.0.4.tgz#94b1d54f76c1ed95b9c604b9de2194838e5b574e" - integrity sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ== - dependencies: - lodash "^4.17.20" - renderkid "^2.0.6" - pretty-format@^27.0.0, pretty-format@^27.3.1: version "27.3.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.3.1.tgz#7e9486365ccdd4a502061fa761d3ab9ca1b78df5" @@ -11926,27 +10835,7 @@ pretty-hrtime@^1.0.3: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= -pretty-time@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" - integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== - -prism-react-renderer@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz#392460acf63540960e5e3caa699d851264e99b89" - integrity sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg== - -prismjs@^1.23.0: - version "1.24.1" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.1.tgz#c4d7895c4d6500289482fa8936d9cdd192684036" - integrity sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: +process@0.11.10, process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= @@ -11963,7 +10852,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prompts@^2.0.1, prompts@^2.4.0, prompts@^2.4.1: +prompts@^2.0.1: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== @@ -12035,7 +10924,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@1.3.2, punycode@^1.3.2: +punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= @@ -12045,18 +10934,6 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -pupa@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" - -pure-color@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" - integrity sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4= - purgecss@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-4.0.3.tgz#8147b429f9c09db719e05d64908ea8b672913742" @@ -12067,17 +10944,12 @@ purgecss@^4.0.3: postcss "^8.2.1" postcss-selector-parser "^6.0.2" -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - qs@6.7.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== -querystring-es3@^0.2.1: +querystring-es3@0.2.1, querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= @@ -12092,6 +10964,13 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +queue@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" + integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== + dependencies: + inherits "~2.0.3" + quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" @@ -12102,7 +10981,7 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -12117,12 +10996,7 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" -range-parser@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= - -range-parser@^1.2.1, range-parser@~1.2.1: +range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== @@ -12137,6 +11011,16 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" +raw-body@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" + integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== + dependencies: + bytes "3.1.0" + http-errors "1.7.3" + iconv-lite "0.4.24" + unpipe "1.0.0" + rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -12147,45 +11031,12 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-base16-styling@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" - integrity sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw= - dependencies: - base16 "^1.0.0" - lodash.curry "^4.0.1" - lodash.flow "^3.3.0" - pure-color "^1.2.0" - -react-dev-utils@12.0.0-next.47: - version "12.0.0-next.47" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.0-next.47.tgz#e55c31a05eb30cfd69ca516e8b87d61724e880fb" - integrity sha512-PsE71vP15TZMmp/RZKOJC4fYD5Pvt0+wCoyG3QHclto0d4FyIJI78xGRICOOThZFROqgXYlZP6ddmeybm+jO4w== +react-clientside-effect@^1.2.2: + version "1.2.5" + resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.5.tgz#e2c4dc3c9ee109f642fac4f5b6e9bf5bcd2219a3" + integrity sha512-2bL8qFW1TGBHozGGbVeyvnggRpMjibeZM2536AKNENLECutp2yfs44IL8Hmpn8qjFQ2K7A9PnYf3vc7aQq/cPA== dependencies: - "@babel/code-frame" "^7.10.4" - address "^1.1.2" - browserslist "^4.16.5" - chalk "^2.4.2" - cross-spawn "^7.0.3" - detect-port-alt "^1.1.6" - escape-string-regexp "^2.0.0" - filesize "^6.1.0" - find-up "^4.1.0" - fork-ts-checker-webpack-plugin "^6.0.5" - global-modules "^2.0.0" - globby "^11.0.1" - gzip-size "^5.1.1" - immer "^9.0.6" - is-root "^2.1.0" - loader-utils "^2.0.0" - open "^7.0.2" - pkg-up "^3.1.0" - prompts "^2.4.0" - react-error-overlay "7.0.0-next.54+1465357b" - recursive-readdir "^2.2.2" - shell-quote "^1.7.2" - strip-ansi "^6.0.0" - text-table "^0.2.0" + "@babel/runtime" "^7.12.13" react-dom@17.0.2: version "17.0.2" @@ -12196,30 +11047,35 @@ react-dom@17.0.2: object-assign "^4.1.1" scheduler "^0.20.2" -react-error-overlay@7.0.0-next.54+1465357b: - version "7.0.0-next.54" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-7.0.0-next.54.tgz#c1eb5ab86aee15e9552e6d97897b08f2bd06d140" - integrity sha512-b96CiTnZahXPDNH9MKplvt5+jD+BkxDw7q5R3jnkUXze/ux1pLv32BBZmlj0OfCUeMqyz4sAmF+0ccJGVMlpXw== - -react-error-overlay@^6.0.9: - version "6.0.9" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" - integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== - -react-fast-compare@^3.0.0, react-fast-compare@^3.0.1, react-fast-compare@^3.1.1: +react-fast-compare@3.2.0, react-fast-compare@^3.0.0, react-fast-compare@^3.0.1: version "3.2.0" resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== -react-helmet@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-6.1.0.tgz#a750d5165cb13cf213e44747502652e794468726" - integrity sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw== +react-focus-lock@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.5.0.tgz#12e3a3940e897c26e2c2a0408cd25ea3c99b3709" + integrity sha512-XLxj6uTXgz0US8TmqNU2jMfnXwZG0mH2r/afQqvPEaX6nyEll5LHVcEXk2XDUQ34RVeLPkO/xK5x6c/qiuSq/A== dependencies: - object-assign "^4.1.1" - prop-types "^15.7.2" - react-fast-compare "^3.1.1" - react-side-effect "^2.1.0" + "@babel/runtime" "^7.0.0" + focus-lock "^0.8.1" + prop-types "^15.6.2" + react-clientside-effect "^1.2.2" + use-callback-ref "^1.2.1" + use-sidecar "^1.0.1" + +react-i18next@^11.8.13: + version "11.14.1" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.14.1.tgz#fa210fc1a3011c26e75b36c27ce708cbe6b54d59" + integrity sha512-2M4E3G6fZHMirSfIY6F9704J5wMaqsfrrixueIDkQzbD80txtQ2RHSOe79aRqrgEnAl9MdcH0kK4PmvkbVLhAA== + dependencies: + "@babel/runtime" "^7.14.5" + html-parse-stringify "^3.0.1" + +react-icons@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.3.1.tgz#2fa92aebbbc71f43d2db2ed1aed07361124e91ca" + integrity sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ== react-instantsearch-core@^6.12.1: version "6.12.1" @@ -12243,37 +11099,20 @@ react-instantsearch-dom@^6.11.0: react-fast-compare "^3.0.0" react-instantsearch-core "^6.12.1" -react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-intersection-observer@^8.32.4: + version "8.32.4" + resolved "https://registry.yarnpkg.com/react-intersection-observer/-/react-intersection-observer-8.32.4.tgz#42767671c8045a2eda564eb1fa60ca7f9b0874f3" + integrity sha512-iZK+u2z2Jpw9ez+cEFR4Hts3eNtW9XiEhwy2wGgKVe+pRUboWko827kvmyb7BtQUeX+/kRcTeHpw6uWSLyI57w== -react-is@^17.0.0, react-is@^17.0.1: +react-is@17.0.2, react-is@^17.0.0, react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-json-view@^1.21.3: - version "1.21.3" - resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" - integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== - dependencies: - flux "^4.0.1" - react-base16-styling "^0.6.0" - react-lifecycles-compat "^3.0.4" - react-textarea-autosize "^8.3.2" - -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-loadable-ssr-addon-v5-slorber@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz#2cdc91e8a744ffdf9e3556caabeb6e4278689883" - integrity sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A== - dependencies: - "@babel/runtime" "^7.10.3" +react-is@^16.7.0, react-is@^16.8.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-markdown@7.1.0: version "7.1.0" @@ -12322,41 +11161,29 @@ react-query@3.33.4: broadcast-channel "^3.4.1" match-sorter "^6.0.2" -react-router-config@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988" - integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== - dependencies: - "@babel/runtime" "^7.1.2" +react-refresh@0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" + integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== -react-router-dom@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.0.tgz#da1bfb535a0e89a712a93b97dd76f47ad1f32363" - integrity sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ== +react-remove-scroll-bar@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.2.0.tgz#d4d545a7df024f75d67e151499a6ab5ac97c8cdd" + integrity sha512-UU9ZBP1wdMR8qoUs7owiVcpaPwsQxUDC2lypP6mmixaGlARZa7ZIBx1jcuObLdhMOvCsnZcvetOho0wzPa9PYg== dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.2.1" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" + react-style-singleton "^2.1.0" + tslib "^1.0.0" -react-router@5.2.1, react-router@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.1.tgz#4d2e4e9d5ae9425091845b8dbc6d9d276239774d" - integrity sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ== +react-remove-scroll@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.4.1.tgz#e0af6126621083a5064591d367291a81b2d107f5" + integrity sha512-K7XZySEzOHMTq7dDwcHsZA6Y7/1uX5RsWhRXVYv8rdh+y9Qz2nMwl9RX/Mwnj/j7JstCGmxyfyC0zbVGXYh3mA== dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - mini-create-react-context "^0.4.0" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" + react-remove-scroll-bar "^2.1.0" + react-style-singleton "^2.1.0" + tslib "^1.0.0" + use-callback-ref "^1.2.3" + use-sidecar "^1.0.1" react-select@5.2.1: version "5.2.1" @@ -12371,19 +11198,14 @@ react-select@5.2.1: prop-types "^15.6.0" react-transition-group "^4.3.0" -react-side-effect@^2.1.0: +react-style-singleton@^2.1.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.1.tgz#66c5701c3e7560ab4822a4ee2742dee215d72eb3" - integrity sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ== - -react-textarea-autosize@^8.3.2: - version "8.3.3" - resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz#f70913945369da453fd554c168f6baacd1fa04d8" - integrity sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ== + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.1.1.tgz#ce7f90b67618be2b6b94902a30aaea152ce52e66" + integrity sha512-jNRp07Jza6CBqdRKNgGhT3u9umWvils1xsuMOjZlghBDH2MU0PL2WZor4PGYjXpnRCa9DQSlHMs/xnABWOwYbA== dependencies: - "@babel/runtime" "^7.10.2" - use-composed-ref "^1.0.0" - use-latest "^1.0.0" + get-nonce "^1.0.0" + invariant "^2.2.4" + tslib "^1.0.0" react-transition-group@^4.3.0: version "4.4.2" @@ -12395,6 +11217,31 @@ react-transition-group@^4.3.0: loose-envify "^1.4.0" prop-types "^15.6.2" +react-universal-interface@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/react-universal-interface/-/react-universal-interface-0.6.2.tgz#5e8d438a01729a4dbbcbeeceb0b86be146fe2b3b" + integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw== + +react-use@^17.3.1: + version "17.3.1" + resolved "https://registry.yarnpkg.com/react-use/-/react-use-17.3.1.tgz#12b248555775519aa2b900b22f1928d029bf99d1" + integrity sha512-hs7+tS4rRm1QLHPfanLCqXIi632tP4V7Sai1ENUP2WTufU6am++tU9uSw9YrNCFqbABiEv0ndKU1XCUcfu2tXA== + dependencies: + "@types/js-cookie" "^2.2.6" + "@xobotyi/scrollbar-width" "^1.9.5" + copy-to-clipboard "^3.3.1" + fast-deep-equal "^3.1.3" + fast-shallow-equal "^1.0.0" + js-cookie "^2.2.1" + nano-css "^5.3.1" + react-universal-interface "^0.6.2" + resize-observer-polyfill "^1.5.1" + screenfull "^5.1.0" + set-harmonic-interval "^1.0.1" + throttle-debounce "^3.0.1" + ts-easing "^0.2.0" + tslib "^2.1.0" + react@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" @@ -12432,20 +11279,7 @@ read-yaml-file@^1.1.0: pify "^4.0.1" strip-bom "^3.0.0" -readable-stream@^2.0.1: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -12454,6 +11288,13 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.5.0, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -12461,25 +11302,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -reading-time@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb" - integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -recursive-readdir@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== - dependencies: - minimatch "3.0.4" - redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -12520,6 +11342,11 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== +regenerator-runtime@0.13.4: + version "0.13.4" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz#e96bf612a3362d12bb69f7e8f74ffeab25c7ac91" + integrity sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g== + regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" @@ -12532,7 +11359,7 @@ regenerator-transform@^0.14.2: dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.2.0: +regexp.prototype.flags@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== @@ -12545,7 +11372,7 @@ regexpp@^3.0.0, regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^4.5.4, regexpu-core@^4.7.1: +regexpu-core@^4.7.1: version "4.8.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== @@ -12592,10 +11419,18 @@ rehype-parse@^6.0.2: parse5 "^5.0.0" xtend "^4.0.0" -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= +rehype-slug@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/rehype-slug/-/rehype-slug-5.0.0.tgz#dfafa1d11577e206970f2d0de023f8490a99dc31" + integrity sha512-jnYsFKxRh+/tQa1L+SU/ykAPGOSVCqd0BwaOBPUANcvCu8d0/SZB4IalJkdJ+n6d1eAAS2YkvjUPi+2EGYtfCQ== + dependencies: + "@types/hast" "^2.0.0" + github-slugger "^1.1.1" + hast-util-has-property "^2.0.0" + hast-util-heading-rank "^2.0.0" + hast-util-to-string "^2.0.0" + unified "^10.0.0" + unist-util-visit "^4.0.0" relay-compiler@11.0.2: version "11.0.2" @@ -12629,7 +11464,7 @@ relay-runtime@11.0.2: fbjs "^3.0.0" invariant "^2.2.4" -remark-admonitions@^1.2.1: +remark-admonitions@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/remark-admonitions/-/remark-admonitions-1.2.1.tgz#87caa1a442aa7b4c0cafa04798ed58a342307870" integrity sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow== @@ -12638,49 +11473,20 @@ remark-admonitions@^1.2.1: unified "^8.4.2" unist-util-visit "^2.0.1" -remark-code-import@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/remark-code-import/-/remark-code-import-0.4.0.tgz#94cbfe74087c55a84e65f0a972c0977cac8fc7f6" - integrity sha512-3UHRIfr7+kRBGOy6Bzp4c1dl8BLCLv+saBTAgW4+lPfs56vV6yBhO038i6MJTEoyXX1zli7l8tMGIHbYANdtZg== - dependencies: - to-gatsby-remark-plugin "^0.1.0" - unist-util-visit "^2.0.1" - -remark-emoji@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-2.2.0.tgz#1c702090a1525da5b80e15a8f963ef2c8236cac7" - integrity sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w== +remark-emoji@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-3.0.2.tgz#786e88af1ecae682d74d7e1219989f34708205da" + integrity sha512-hEgxEv2sBtvhT3tNG/tQeeFY3EbslftaOoG14dDZndLo25fWJ6Fbg4ukFbIotOWWrfXyASjXjyHT+6n366k3mg== dependencies: - emoticon "^3.2.0" - node-emoji "^1.10.0" - unist-util-visit "^2.0.3" + emoticon "^4.0.0" + node-emoji "^1.11.0" + unist-util-visit "^4.1.0" remark-footnotes@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f" integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== -remark-import-partial@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/remark-import-partial/-/remark-import-partial-0.0.2.tgz#6cd5daefcb9f801ff2b71fb8f3c579b4a5dc9dcc" - integrity sha512-HuIcpGITU/PK+fZvYYamayCH/jlsoB2Uxj1QaGBgTYtcpozvJQth+PKp9NUZpksUldGAmJf59IyMJgczMpbhwg== - dependencies: - unist-util-visit "2.0.2" - -remark-mdx-remove-exports@^1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/remark-mdx-remove-exports/-/remark-mdx-remove-exports-1.6.22.tgz#9e34f3d02c9c54b02ca0a1fde946449338d06ecb" - integrity sha512-7g2uiTmTGfz5QyVb+toeX25frbk1Y6yd03RXGPtqx0+DVh86Gb7MkNYbk7H2X27zdZ3CQv1W/JqlFO0Oo8IxVA== - dependencies: - unist-util-remove "2.0.0" - -remark-mdx-remove-imports@^1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/remark-mdx-remove-imports/-/remark-mdx-remove-imports-1.6.22.tgz#79f711c95359cff437a120d1fbdc1326ec455826" - integrity sha512-lmjAXD8Ltw0TsvBzb45S+Dxx7LTJAtDaMneMAv8LAUIPEyYoKkmGbmVsiF0/pY6mhM1Q16swCmu1TN+ie/vn/A== - dependencies: - unist-util-remove "2.0.0" - remark-mdx@1.6.22: version "1.6.22" resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" @@ -12753,6 +11559,11 @@ remove-accents@0.4.2: resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.4.2.tgz#0a43d3aaae1e80db919e07ae254b285d9e1c7bb5" integrity sha1-CkPTqq4egNuRngeuJUsoXZ4ce7U= +remove-markdown@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/remove-markdown/-/remove-markdown-0.3.0.tgz#5e4b667493a93579728f3d52ecc1db9ca505dc98" + integrity sha1-XktmdJOpNXlyjz1S7MHbnKUF3Jg= + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -12763,17 +11574,6 @@ remove-trailing-spaces@^1.0.6: resolved "https://registry.yarnpkg.com/remove-trailing-spaces/-/remove-trailing-spaces-1.0.8.tgz#4354d22f3236374702f58ee373168f6d6887ada7" integrity sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA== -renderkid@^2.0.6: - version "2.0.7" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" - integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^3.0.1" - repeat-string@^1.5.4: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" @@ -12789,26 +11589,21 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -"require-like@>= 0.1.1": - version "0.1.2" - resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa" - integrity sha1-rW8wwTvs15cBDEaK+ndcDAprR/o= - require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - reselect@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.0.0.tgz#f2529830e5d3d0e021408b246a206ef4ea4437f7" integrity sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA== +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -12826,11 +11621,6 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - resolve.exports@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" @@ -12843,7 +11633,7 @@ resolve@1.15.1: dependencies: path-parse "^1.0.6" -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.3.2: +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.3.2: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -12851,6 +11641,14 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.14 is-core-module "^2.2.0" path-parse "^1.0.6" +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -12874,7 +11672,7 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -retry@0.13.1, retry@^0.13.1: +retry@0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== @@ -12949,21 +11747,12 @@ rollup@^2.56.1: optionalDependencies: fsevents "~2.3.2" -rtl-detect@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/rtl-detect/-/rtl-detect-1.0.4.tgz#40ae0ea7302a150b96bc75af7d749607392ecac6" - integrity sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ== - -rtlcss@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-3.4.0.tgz#81c5cab77050ea0d880147b8a78943330d4d1813" - integrity sha512-pOSLxwmJTjqcnlFIezpCGyhRoPKIwXj78wJfBI8iZw7gZGVzjT/T5QcaimRComsPanMSV0hzmI5o+oWIP3nNBA== +rtl-css-js@^1.14.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.14.2.tgz#fb2168433af9cdabee8a1613f4e2cbd1148acf6f" + integrity sha512-t6Wc/wpqm8s3kuXAV6tL/T7VS6n0XszzX58CgCsLj3O2xi9ITSLfzYhtl+GKyxCi/3QEqVctOJQwCiDzb2vteQ== dependencies: - chalk "^4.1.0" - find-up "^5.0.0" - mkdirp "^1.0.4" - postcss "^8.2.4" - strip-json-comments "^3.1.1" + "@babel/runtime" "^7.1.2" run-async@^2.4.0: version "2.4.1" @@ -12977,7 +11766,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.1, rxjs@^6.6.0, rxjs@^6.6.7: +rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.1, rxjs@^6.6.0, rxjs@^6.6.3, rxjs@^6.6.7: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== @@ -12991,12 +11780,12 @@ rxjs@^7.1.0: dependencies: tslib "~2.1.0" -safe-buffer@5.1.2, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -13006,16 +11795,11 @@ safe-stable-stringify@^2.2.0: resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.2.0.tgz#26a52f13a6988de16a0d88e20248f38e8a7d840c" integrity sha512-C6AuMdYPuPV/P1leplHNu0lgc2LAElq/g3TdoksDCIVtBhr78o/CH03bt/9SKqugFbKU9CUjsNlCu0fjtQzQUw== -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sax@^1.2.4, sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - saxes@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" @@ -13031,23 +11815,10 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" -schema-utils@2.7.0, schema-utils@^2.6.5: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" +screenfull@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba" + integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA== scuid@^1.1.0: version "1.1.0" @@ -13062,30 +11833,11 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.10.11: - version "1.10.11" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" - integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== - dependencies: - node-forge "^0.10.0" - semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -13096,7 +11848,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.x, semver@^7.0.0, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: +semver@7.x, semver@^7.0.0, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -13136,40 +11888,6 @@ sentence-case@^3.0.4: tslib "^2.0.3" upper-case-first "^2.0.2" -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serve-handler@^6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.3.tgz#1bf8c5ae138712af55c758477533b9117f6435e8" - integrity sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w== - dependencies: - bytes "3.0.0" - content-disposition "0.5.2" - fast-url-parser "1.1.3" - mime-types "2.1.18" - minimatch "3.0.4" - path-is-inside "1.0.2" - path-to-regexp "2.2.1" - range-parser "1.2.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - serve-static@1.14.1: version "1.14.1" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" @@ -13185,16 +11903,16 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= +set-harmonic-interval@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz#e1773705539cdfb80ce1c3d99e7f298bb3995249" + integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== + setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - setprototypeof@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" @@ -13208,13 +11926,6 @@ sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -13239,19 +11950,19 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.7.2: +shell-quote@1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== -shelljs@^0.8.4: - version "0.8.4" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" - integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== +shiki@0.9.12: + version "0.9.12" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.9.12.tgz#70cbc8c1bb78ff7b356f84a7eecdb040efddd247" + integrity sha512-VXcROdldv0/Qu0w2XvzU4IrvTeBNs/Kj/FCmtcEXGz7Tic/veQzliJj6tEiAgoKianhQstpYmbPDStHU5Opqcw== dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" + jsonc-parser "^3.0.0" + onigasm "^2.2.5" + vscode-textmate "5.2.0" side-channel@^1.0.4: version "1.0.4" @@ -13279,30 +11990,11 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sirv@^1.0.7: - version "1.0.17" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.17.tgz#86e2c63c612da5a1dace1c16c46f524aaa26ac45" - integrity sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw== - dependencies: - "@polka/url" "^1.0.0-next.20" - mime "^2.3.1" - totalist "^1.0.0" - sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -sitemap@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.0.0.tgz#022bef4df8cba42e38e1fe77039f234cab0372b6" - integrity sha512-Ud0jrRQO2k7fEtPAM+cQkBKoMvxQyPKNXKDLn8tRVHxRCsdDQ2JZvw+aZ5IRYYQVAV9iGxEar6boTwZzev+x3g== - dependencies: - "@types/node" "^15.0.1" - "@types/sax" "^1.2.1" - arg "^5.0.0" - sax "^1.2.4" - slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" @@ -13355,20 +12047,6 @@ snake-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" -sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" - integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== - dependencies: - faye-websocket "^0.11.3" - uuid "^3.4.0" - websocket-driver "^0.7.4" - -sort-css-media-queries@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.0.4.tgz#b2badfa519cb4a938acbc6d3aaa913d4949dc908" - integrity sha512-PAIsEK/XupCQwitjv7XxoMvYhT7EAfyzI3hsy/MyDgTvc+Ft55ctdkctJLOy6cQejaIC+zjpUL4djFVm2ivOOw== - sort-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" @@ -13376,17 +12054,12 @@ sort-keys@^2.0.0: dependencies: is-plain-obj "^1.0.0" -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - source-map-js@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== -source-map-support@^0.5.17, source-map-support@^0.5.6, source-map-support@~0.5.19: +source-map-support@^0.5.17, source-map-support@^0.5.6: version "0.5.20" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== @@ -13394,22 +12067,34 @@ source-map-support@^0.5.17, source-map-support@^0.5.6, source-map-support@~0.5.1 buffer-from "^1.0.0" source-map "^0.6.0" +source-map@0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= + +source-map@0.7.3, source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +source-map@0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" + integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + dependencies: + whatwg-url "^7.0.0" + source-map@^0.5.0, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3, source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -sourcemap-codec@^1.4.4: +sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== @@ -13424,6 +12109,11 @@ space-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz#43193cec4fb858a2ce934b7f98b7f2c18107098b" integrity sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw== +spawn-command@^0.0.2-1: + version "0.0.2-1" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= + spawndamnit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/spawndamnit/-/spawndamnit-2.0.0.tgz#9f762ac5c3476abb994b42ad592b5ad22bb4b0ad" @@ -13453,33 +12143,10 @@ spdx-expression-parse@^3.0.0: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" -spdx-license-ids@^3.0.0: - version "3.0.10" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" - integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" +spdx-license-ids@^3.0.0: + version "3.0.10" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" + integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== sponge-case@^1.0.1: version "1.0.1" @@ -13493,10 +12160,12 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== +stack-generator@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.5.tgz#fb00e5b4ee97de603e0773ea78ce944d81596c36" + integrity sha512-/t1ebrbHkrLrDuNMdeAcsvynWgoH/i4o8EGGfX7dEYDoTXOYVAkEpFdtshlvabzc6JlJ8Kf9YdFEoz7JkzGN9Q== + dependencies: + stackframe "^1.1.1" stack-utils@^2.0.3: version "2.0.3" @@ -13505,6 +12174,35 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +stackframe@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" + integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== + +stacktrace-gps@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.4.tgz#7688dc2fc09ffb3a13165ebe0dbcaf41bcf0c69a" + integrity sha512-qIr8x41yZVSldqdqe6jciXEaSCKw1U8XTXpjDuy0ki/apyTn/r3w9hDAAQOhZdxvsC93H+WwwEu5cq5VemzYeg== + dependencies: + source-map "0.5.6" + stackframe "^1.1.1" + +stacktrace-js@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b" + integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg== + dependencies: + error-stack-parser "^2.0.6" + stack-generator "^2.0.5" + stacktrace-gps "^3.0.4" + +stacktrace-parser@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" + integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== + dependencies: + type-fest "^0.7.1" + state-local@^1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5" @@ -13522,18 +12220,11 @@ static-eval@2.0.2: dependencies: escodegen "^1.8.1" -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: +"statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -std-env@^2.2.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.3.0.tgz#66d4a4a4d5224242ed8e43f5d65cfa9095216eee" - integrity sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw== - dependencies: - ci-info "^3.0.0" - stencil-apollo@0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/stencil-apollo/-/stencil-apollo-0.1.6.tgz#74b40ee2f37293461bc774f14be7f46049e32e4c" @@ -13541,7 +12232,7 @@ stencil-apollo@0.1.6: dependencies: "@stencil/state-tunnel" "1.0.1" -stream-browserify@^3.0.0: +stream-browserify@3.0.0, stream-browserify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== @@ -13549,6 +12240,16 @@ stream-browserify@^3.0.0: inherits "~2.0.4" readable-stream "^3.5.0" +stream-http@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.1.1.tgz#0370a8017cf8d050b9a8554afe608f043eaff564" + integrity sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + stream-http@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" @@ -13559,6 +12260,13 @@ stream-http@^3.2.0: readable-stream "^3.6.0" xtend "^4.0.2" +stream-parser@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773" + integrity sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M= + dependencies: + debug "2" + stream-transform@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/stream-transform/-/stream-transform-2.1.3.tgz#a1c3ecd72ddbf500aa8d342b0b9df38f5aa598e3" @@ -13576,6 +12284,11 @@ string-env-interpolation@1.0.1, string-env-interpolation@^1.0.1: resolved "https://registry.yarnpkg.com/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152" integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg== +string-hash@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= + string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -13606,15 +12319,6 @@ string-width@^2.0.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" @@ -13624,6 +12328,20 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string.prototype.matchall@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + string.prototype.trimend@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" @@ -13640,21 +12358,14 @@ string.prototype.trimstart@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" -string_decoder@^1.1.1, string_decoder@^1.3.0: +string_decoder@1.3.0, string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringify-object@3.3.0, stringify-object@^3.3.0: +stringify-object@3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== @@ -13663,6 +12374,13 @@ stringify-object@3.3.0, stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" +strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -13677,27 +12395,6 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - strip-bom-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" @@ -13740,14 +12437,6 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -style-loader@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" - integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - style-to-object@0.3.0, style-to-object@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" @@ -13755,15 +12444,39 @@ style-to-object@0.3.0, style-to-object@^0.3.0: dependencies: inline-style-parser "0.1.1" -stylehacks@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb" - integrity sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA== +style-value-types@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-5.0.0.tgz#76c35f0e579843d523187989da866729411fc8ad" + integrity sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA== + dependencies: + hey-listen "^1.0.8" + tslib "^2.1.0" + +styled-jsx@5.0.0-beta.3: + version "5.0.0-beta.3" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0-beta.3.tgz#400d16179b5dff10d5954ab8be27a9a1b7780dd2" + integrity sha512-HtDDGSFPvmjHIqWf9n8Oo54tAoY/DTplvlyOH2+YOtD80Sp31Ap8ffSmxhgk5EkUoJ7xepdXMGT650mSffWuRA== dependencies: - browserslist "^4.16.0" - postcss-selector-parser "^6.0.4" + "@babel/plugin-syntax-jsx" "7.14.5" + "@babel/types" "7.15.0" + convert-source-map "1.7.0" + loader-utils "1.2.3" + source-map "0.7.3" + string-hash "1.1.3" + stylis "3.5.4" + stylis-rule-sheet "0.0.10" + +stylis-rule-sheet@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" + integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== + +stylis@3.5.4: + version "3.5.4" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" + integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== -stylis@^4.0.3: +stylis@^4.0.3, stylis@^4.0.6: version "4.0.10" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.10.tgz#446512d1097197ab3f02fb3c258358c3f7a14240" integrity sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg== @@ -13791,7 +12504,7 @@ sucrase@^3.18.1: pirates "^4.0.1" ts-interface-checker "^0.1.9" -supports-color@8.1.1, supports-color@^8.0.0: +supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.0: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -13825,43 +12538,6 @@ supports-hyperlinks@^2.0.0: has-flag "^4.0.0" supports-color "^7.0.0" -svg-parser@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^1.2.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -svgo@^2.3.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.5.0.tgz#3c9051b606d85a02fcb59f459b19970d2cc2c9bf" - integrity sha512-FSdBOOo271VyF/qZnOn1PgwCdt1v4Dx0Sey+U1jgqm1vqRYjPGdip0RGrFW6ItwtkBB8rHgHk26dlVr0uCs82Q== - dependencies: - "@trysound/sax" "0.1.1" - colorette "^1.3.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - stable "^0.1.8" - swap-case@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-2.0.2.tgz#671aedb3c9c137e2985ef51c51f9e98445bf70d9" @@ -13943,16 +12619,6 @@ tailwindcss@^2.1.4, tailwindcss@^2.2.7: resolve "^1.20.0" tmp "^0.2.1" -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" - integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== - term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -13973,27 +12639,6 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz#ad1be7639b1cbe3ea49fab995cbe7224b31747a1" - integrity sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA== - dependencies: - jest-worker "^27.0.6" - p-limit "^3.1.0" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - terser "^5.7.2" - -terser@^5.7.2: - version "5.7.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.2.tgz#d4d95ed4f8bf735cb933e802f2a1829abf545e3f" - integrity sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.19" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -14037,12 +12682,7 @@ through@^2.3.6, through@^2.3.8: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -timers-browserify@^2.0.12: +timers-browserify@2.0.12, timers-browserify@^2.0.12: version "2.0.12" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== @@ -14054,15 +12694,15 @@ timsort@^0.3.0: resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= -tiny-invariant@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" - integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== +tiny-invariant@^1.0.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.2.0.tgz#a1141f86b672a9148c72e978a19a73b9b94a15a9" + integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg== -tiny-warning@^1.0.0, tiny-warning@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== +tiny-lru@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.6.tgz#b0c3cdede1e5882aa2d1ae21cb2ceccf2a331f24" + integrity sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow== title-case@^3.0.3: version "3.0.3" @@ -14095,13 +12735,6 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-gatsby-remark-plugin@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/to-gatsby-remark-plugin/-/to-gatsby-remark-plugin-0.1.0.tgz#34167b2c3cf3209745cf97e5a488042586f9990d" - integrity sha512-blmhJ/gIrytWnWLgPSRCkhCPeki6UBK2daa3k9mGahN7GjwHu8KrS7F70MvwlsG7IE794JLgwAdCbi4hU4faFQ== - dependencies: - to-vfile "^6.1.0" - to-readable-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" @@ -14114,24 +12747,16 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-vfile@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/to-vfile/-/to-vfile-6.1.0.tgz#5f7a3f65813c2c4e34ee1f7643a5646344627699" - integrity sha512-BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw== - dependencies: - is-buffer "^2.0.0" - vfile "^4.0.0" +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= toidentifier@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -totalist@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" - integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== - tough-cookie@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" @@ -14141,6 +12766,13 @@ tough-cookie@^4.0.0: punycode "^2.1.1" universalify "^0.1.2" +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + tr46@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" @@ -14148,6 +12780,11 @@ tr46@^2.1.0: dependencies: punycode "^2.1.1" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + tree-kill@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" @@ -14178,10 +12815,10 @@ trough@^2.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-2.0.2.tgz#94a3aa9d5ce379fc561f6244905b3f36b7458d96" integrity sha512-FnHq5sTMxC0sk957wHDzRnemFnNBvt/gSY99HzK8F7UP5WAbvP70yX5bd7CjEQkN+TjdxwI7g7lJ6podqrG2/w== -ts-essentials@^2.0.3: - version "2.0.12" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz#c9303f3d74f75fa7528c3d49b80e089ab09d8745" - integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w== +ts-easing@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" + integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ== ts-essentials@^8.1.0: version "8.1.0" @@ -14226,7 +12863,7 @@ ts-log@^2.2.3: resolved "https://registry.yarnpkg.com/ts-log/-/ts-log-2.2.3.tgz#4da5640fe25a9fb52642cd32391c886721318efb" integrity sha512-XvB+OdKSJ708Dmf9ore4Uf/q62AYDTzFcAdxc8KNML1mmAWywRFVt/dn1KYJH8Agt5UJNujfM3znU5PxgAzA2w== -ts-node@10.4.0, ts-node@^10.2.1: +ts-node@^10.2.1: version "10.4.0" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== @@ -14256,7 +12893,7 @@ ts-node@^9: source-map-support "^0.5.17" yn "3.1.1" -tsconfig-paths@^3.11.0: +tsconfig-paths@^3.11.0, tsconfig-paths@^3.9.0: version "3.11.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== @@ -14266,7 +12903,7 @@ tsconfig-paths@^3.11.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@1.11.1, tslib@^1.10.0, tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +tslib@1.11.1: version "1.11.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== @@ -14281,6 +12918,11 @@ tslib@2.3.1, tslib@^2, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, t resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^1.0.0, tslib@^1.10.0, tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + tslib@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" @@ -14317,7 +12959,7 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -tty-browserify@^0.0.1: +tty-browserify@0.0.1, tty-browserify@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== @@ -14399,6 +13041,11 @@ type-fest@^0.6.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== +type-fest@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" + integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== + type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" @@ -14432,16 +13079,16 @@ typescript-json-schema@0.52.0: typescript "~4.4.4" yargs "^17.1.1" +typescript@4.4.4, typescript@~4.4.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + typescript@4.5.2: version "4.5.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.2.tgz#8ac1fba9f52256fdb06fb89e4122fa6a346c2998" integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw== -typescript@~4.4.4: - version "4.4.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" - integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== - ua-parser-js@^0.7.18: version "0.7.28" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" @@ -14510,10 +13157,10 @@ unified@9.2.0: trough "^1.0.0" vfile "^4.0.0" -unified@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.0.tgz#4e65eb38fc2448b1c5ee573a472340f52b9346fe" - integrity sha512-4U3ru/BRXYYhKbwXV6lU6bufLikoAavTwev89H5UxY8enDFaAT2VXmIXYNm6hb5oHPng/EXr77PVyDFcptbk5g== +unified@^10.0.0, unified@^10.1.0, unified@^10.1.1: + version "10.1.1" + resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.1.tgz#345e349e3ab353ab612878338eb9d57b4dea1d46" + integrity sha512-v4ky1+6BN9X3pQrOdkFIPWAaeDsHPE1svRDxq7YpTc2plkIqFMwukfqM+l0ewpP9EfwARlt9pPFAeWYhHm8X9w== dependencies: "@types/unist" "^2.0.0" bail "^2.0.0" @@ -14534,18 +13181,6 @@ unified@^8.4.2: trough "^1.0.0" vfile "^4.0.0" -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - unist-builder@2.0.3, unist-builder@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" @@ -14595,13 +13230,22 @@ unist-util-remove-position@^2.0.0: dependencies: unist-util-visit "^2.0.0" -unist-util-remove@2.0.0, unist-util-remove@^2.0.0: +unist-util-remove@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.0.0.tgz#32c2ad5578802f2ca62ab808173d505b2c898488" integrity sha512-HwwWyNHKkeg/eXRnE11IpzY8JT55JNM1YCwwU9YNCnfzk6s8GhPXrVBBZWiwLeATJbI7euvoGSzcy9M29UeW3g== dependencies: unist-util-is "^4.0.0" +unist-util-remove@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-3.1.0.tgz#8042577e151dac989b7517976bfe4bac58f76ccd" + integrity sha512-rO/sIghl13eN8irs5OBN2a4RC10MsJdiePCfwrvnzGtgIbHcDXr2REr0qi9F2r/CIb1r9FyyFmcMRIGs+EyUFw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents "^5.0.0" + unist-util-stringify-position@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" @@ -14640,16 +13284,7 @@ unist-util-visit-parents@^5.0.0: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" -unist-util-visit@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.2.tgz#3843782a517de3d2357b4c193b24af2d9366afb7" - integrity sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" - unist-util-visit-parents "^3.0.0" - -unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.1, unist-util-visit@^2.0.2, unist-util-visit@^2.0.3: +unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== @@ -14667,10 +13302,10 @@ unist-util-visit@^3.0.0: unist-util-is "^5.0.0" unist-util-visit-parents "^4.0.0" -unist-util-visit@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.0.0.tgz#6e1f7e8e163921d20281354c38bfd3244b64580a" - integrity sha512-3HWTvrtU10/E7qgPznBfiOyG0TXj9W8c1GSfaI8L9GkaG1pLePiQPZ7E35a0R3ToQ/zcy4Im6aZ9WBgOTnv1MQ== +unist-util-visit@^4.0.0, unist-util-visit@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.0.tgz#f41e407a9e94da31594e6b1c9811c51ab0b3d8f5" + integrity sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ== dependencies: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" @@ -14711,31 +13346,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -update-notifier@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" - integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== - dependencies: - boxen "^5.0.0" - chalk "^4.1.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.4.0" - is-npm "^5.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.1.0" - pupa "^2.1.1" - semver "^7.3.4" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - upper-case-first@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324" @@ -14757,15 +13367,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -url-loader@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" - url-parse-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" @@ -14789,46 +13390,42 @@ urql@2.0.5: "@urql/core" "^2.3.2" wonka "^4.0.14" -use-composed-ref@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.1.0.tgz#9220e4e94a97b7b02d7d27eaeab0b37034438bbc" - integrity sha512-my1lNHGWsSDAhhVAT4MKs6IjBUtG6ZG11uUqexPH9PptiIZDQOzaF4f5tEbJ2+7qvNbtXNBbU3SfmN+fXlWDhg== - dependencies: - ts-essentials "^2.0.3" +use-callback-ref@^1.2.1, use-callback-ref@^1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.2.5.tgz#6115ed242cfbaed5915499c0a9842ca2912f38a5" + integrity sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg== use-debounce@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/use-debounce/-/use-debounce-7.0.0.tgz#00a67d23d4fe09905e11145a99278da06c01c880" integrity sha512-4fvxEEs7ztdNMh+c497HAgysdq2+Ascem6EaDANGlCIap1JzqfL03Xw8xkYc2lShfXm4uO6PA6V5zcXN7gJdFA== -use-isomorphic-layout-effect@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz#7bb6589170cd2987a152042f9084f9effb75c225" - integrity sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ== +use-immer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/use-immer/-/use-immer-0.6.0.tgz#ca6aa5ade93018e2c65cf128d19ada54fc23f70d" + integrity sha512-dFGRfvWCqPDTOt/S431ETYTg6+uxbpb7A1pptufwXVzGJY3RlXr38+3wyLNpc6SbbmAKjWl6+EP6uW74fkEsXQ== -use-latest@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.0.tgz#a44f6572b8288e0972ec411bdd0840ada366f232" - integrity sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw== +use-sidecar@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.0.5.tgz#ffff2a17c1df42e348624b699ba6e5c220527f2b" + integrity sha512-k9jnrjYNwN6xYLj1iaGhonDghfvmeTmYjAiGvOr7clwKfPjMXJf4/HOr7oT5tJwYafgp2tG2l3eZEOfoELiMcA== dependencies: - use-isomorphic-layout-effect "^1.0.0" + detect-node-es "^1.1.0" + tslib "^1.9.3" + +use-subscription@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" + integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== + dependencies: + object-assign "^4.1.1" -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@^0.12.0, util@^0.12.4: +util@0.12.4, util@^0.12.0, util@^0.12.4: version "0.12.4" resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== @@ -14840,26 +13437,11 @@ util@^0.12.0, util@^0.12.4: safe-buffer "^5.1.2" which-typed-array "^1.1.2" -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utility-types@^3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b" - integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg== - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuid@^8.0.0, uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -14892,15 +13474,10 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -validator@13.6.0: - version "13.6.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.6.0.tgz#1e71899c14cdc7b2068463cb24c1cc16f6ec7059" - integrity sha512-gVgKbdbHgtxpRyR8K0O6oFZPhhB5tT1jeEHZR0Znr9Svg03U0+r9DXWMrnRAB+HtCStDQKlaIZm42tVsVjqtjg== - -value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" - integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== +validator@13.7.0: + version "13.7.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" + integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw== value-or-promise@1.0.11: version "1.0.11" @@ -14912,11 +13489,6 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -vendors@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== - vfile-location@^3.0.0, vfile-location@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" @@ -14958,16 +13530,26 @@ vfile@^5.0.0: unist-util-stringify-position "^3.0.0" vfile-message "^3.0.0" -vm-browserify@^1.1.2: +vm-browserify@1.1.2, vm-browserify@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -vscode-languageserver-types@3.16.0, vscode-languageserver-types@^3.15.1: +void-elements@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= + +vscode-languageserver-types@^3.15.1: version "3.16.0" resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz#ecf393fc121ec6974b2da3efb3155644c514e247" integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA== +vscode-textmate@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e" + integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ== + vue-apollo-smart-ops@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/vue-apollo-smart-ops/-/vue-apollo-smart-ops-0.1.0.tgz#fe371f77336f9a1a8375e6dedbc05d0b3ff90735" @@ -15007,7 +13589,7 @@ w3c-xmlserializer@^2.0.0: dependencies: xml-name-validator "^3.0.0" -wait-on@^6.0.0: +wait-on@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.0.tgz#7e9bf8e3d7fe2daecbb7a570ac8ca41e9311c7e7" integrity sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw== @@ -15025,20 +13607,20 @@ walker@^1.0.7: dependencies: makeerror "1.0.x" -watchpack@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce" - integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== +warning@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" + loose-envify "^1.0.0" -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== +watchpack@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" + integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== dependencies: - minimalistic-assert "^1.0.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" wcwidth@^1.0.1: version "1.0.1" @@ -15052,6 +13634,16 @@ web-namespaces@^1.0.0, web-namespaces@^1.1.2: resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + webidl-conversions@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" @@ -15062,142 +13654,6 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-bundle-analyzer@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz#39898cf6200178240910d629705f0f3493f7d666" - integrity sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ== - dependencies: - acorn "^8.0.4" - acorn-walk "^8.0.0" - chalk "^4.1.0" - commander "^6.2.0" - gzip-size "^6.0.0" - lodash "^4.17.20" - opener "^1.5.2" - sirv "^1.0.7" - ws "^7.3.1" - -webpack-dev-middleware@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.1.tgz#97c948144349177856a3d2d9c612cc3fee180cf1" - integrity sha512-Kx1X+36Rn9JaZcQMrJ7qN3PMAuKmEDD9ZISjUj3Cgq4A6PtwYsC4mpaKotSRYH3iOF6HsUa8viHKS59FlyVifQ== - dependencies: - colorette "^2.0.10" - memfs "^3.2.2" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^3.1.0" - -webpack-dev-server@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.4.0.tgz#10ec17088f840c9ccb2ebb0b43c49ec293206f7e" - integrity sha512-+S0XRIbsopVjPFjCO8I07FXYBWYqkFmuP56ucGMTs2hA/gV4q2M9xTmNo5Tg4o8ffRR+Nm3AsXnQXxKRyYovrA== - dependencies: - ansi-html-community "^0.0.8" - bonjour "^3.5.0" - chokidar "^3.5.2" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - del "^6.0.0" - express "^4.17.1" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.0" - internal-ip "^6.2.0" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - portfinder "^1.0.28" - schema-utils "^3.1.0" - selfsigned "^1.10.11" - serve-index "^1.9.1" - sockjs "^0.3.21" - spdy "^4.0.2" - strip-ansi "^7.0.0" - url "^0.11.0" - webpack-dev-middleware "^5.2.1" - ws "^8.1.0" - -webpack-merge@^5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" - integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== - dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" - -webpack-sources@^1.1.0, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.0.tgz#b16973bcf844ebcdb3afde32eda1c04d0b90f89d" - integrity sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw== - -webpack@^5.61.0: - version "5.61.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.61.0.tgz#fa827f0ee9bdfd141dd73c3e891e955ebd52fe7f" - integrity sha512-fPdTuaYZ/GMGFm4WrPi2KRCqS1vDp773kj9S0iI5Uc//5cszsFEDgHNaX4Rj1vobUiU1dFIV3mA9k1eHeluFpw== - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.2.0" - webpack-sources "^3.2.0" - -webpackbar@^5.0.0-3: - version "5.0.0-3" - resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-5.0.0-3.tgz#f4f96c8fb13001b2bb1348252db4c980ab93aaac" - integrity sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g== - dependencies: - ansi-escapes "^4.3.1" - chalk "^4.1.0" - consola "^2.15.0" - figures "^3.2.0" - pretty-time "^1.1.0" - std-env "^2.2.1" - text-table "^0.2.0" - wrap-ansi "^7.0.0" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" @@ -15215,6 +13671,23 @@ whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-url@^8.0.0, whatwg-url@^8.5.0: version "8.7.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" @@ -15260,7 +13733,7 @@ which-typed-array@^1.1.2: has-tostringtag "^1.0.0" is-typed-array "^1.1.7" -which@^1.2.9, which@^1.3.1: +which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -15288,11 +13761,6 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" -wildcard@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== - wonka@^4.0.14: version "4.0.15" resolved "https://registry.yarnpkg.com/wonka/-/wonka-4.0.15.tgz#9aa42046efa424565ab8f8f451fcca955bf80b89" @@ -15303,14 +13771,6 @@ word-wrap@^1.2.3, word-wrap@~1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -worker-loader@3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/worker-loader/-/worker-loader-3.0.8.tgz#5fc5cda4a3d3163d9c274a4e3a811ce8b60dbb37" - integrity sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - wrap-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" @@ -15391,28 +13851,16 @@ write-pkg@^4.0.0: type-fest "^0.4.1" write-json-file "^3.2.0" -ws@8.2.3, ws@^8.1.0: +ws@8.2.3: version "8.2.3" resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== -"ws@^5.2.0 || ^6.0.0 || ^7.0.0", ws@^7.3.1, ws@^7.4.6: +"ws@^5.2.0 || ^6.0.0 || ^7.0.0", ws@^7.4.6: version "7.5.5" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - -xml-js@^1.6.11: - version "1.6.11" - resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" - integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== - dependencies: - sax "^1.2.4" - xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" @@ -15456,6 +13904,11 @@ yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" @@ -15515,9 +13968,9 @@ yargs@^16.2.0: yargs-parser "^20.2.2" yargs@^17.0.0, yargs@^17.1.1: - version "17.1.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz#c2a8091564bdb196f7c0a67c1d12e5b85b8067ba" - integrity sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ== + version "17.2.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.2.1.tgz#e2c95b9796a0e1f7f3bf4427863b42e0418191ea" + integrity sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q== dependencies: cliui "^7.0.2" escalade "^3.1.1" @@ -15557,6 +14010,11 @@ zen-observable@0.8.15, zen-observable@^0.8.0: resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== +zustand@^3.6.5: + version "3.6.5" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-3.6.5.tgz#42a459397907d6bf0e2375351394733b2f83ee44" + integrity sha512-/WfLJuXiEJimt61KGMHebrFBwckkCHGhAgVXTgPQHl6IMzjqm6MREb1OnDSnCRiSmRdhgdFCctceg6tSm79hiw== + zwitch@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920"