diff --git a/.dockerignore b/.dockerignore index 954624f3c04..4e8b99fa1d9 100644 --- a/.dockerignore +++ b/.dockerignore @@ -17,7 +17,7 @@ # GraphQL generated output pkg/models/generated_*.go -ui/v2.5/src/core/generated-*.tsx +ui/v2.5/src/core/generated-graphql.ts #### # Jetbrains diff --git a/gqlgen.yml b/gqlgen.yml index f24c1fca8be..a564192576f 100644 --- a/gqlgen.yml +++ b/gqlgen.yml @@ -36,6 +36,8 @@ models: model: github.com/stashapp/stash/internal/api.Timestamp BoolMap: model: github.com/stashapp/stash/internal/api.BoolMap + PluginConfigMap: + model: github.com/stashapp/stash/internal/api.PluginConfigMap # define to force resolvers Image: model: github.com/stashapp/stash/pkg/models.Image diff --git a/graphql/schema/types/config.graphql b/graphql/schema/types/config.graphql index 8f439a98823..336385f290d 100644 --- a/graphql/schema/types/config.graphql +++ b/graphql/schema/types/config.graphql @@ -535,7 +535,7 @@ type ConfigResult { scraping: ConfigScrapingResult! defaults: ConfigDefaultSettingsResult! ui: Map! - plugins(include: [String!]): Map! + plugins(include: [ID!]): PluginConfigMap! } "Directory structure of a path" diff --git a/graphql/schema/types/logging.graphql b/graphql/schema/types/logging.graphql index 4cfa2a64e32..4aef102667e 100644 --- a/graphql/schema/types/logging.graphql +++ b/graphql/schema/types/logging.graphql @@ -1,6 +1,3 @@ -"Log entries" -scalar Time - enum LogLevel { Trace Debug diff --git a/graphql/schema/types/metadata.graphql b/graphql/schema/types/metadata.graphql index d1cf3239353..8a6dcbbc068 100644 --- a/graphql/schema/types/metadata.graphql +++ b/graphql/schema/types/metadata.graphql @@ -1,5 +1,3 @@ -scalar Upload - input GenerateMetadataInput { covers: Boolean sprites: Boolean diff --git a/graphql/schema/types/scalars.graphql b/graphql/schema/types/scalars.graphql index 8f1d21551bf..5d8bf36c9b9 100644 --- a/graphql/schema/types/scalars.graphql +++ b/graphql/schema/types/scalars.graphql @@ -1,3 +1,6 @@ +"An RFC3339 timestamp" +scalar Time + """ Timestamp is a point in time. It is always output as RFC3339-compatible time points. It can be input as a RFC3339 string, or as "<4h" for "4 hours in the past" or ">5m" @@ -5,12 +8,18 @@ for "5 minutes in the future" """ scalar Timestamp -# generic JSON object +"A String -> Any map" scalar Map -# string, boolean map +"A String -> Boolean map" scalar BoolMap +"A plugin ID -> Map (String -> Any map) map" +scalar PluginConfigMap + scalar Any scalar Int64 + +"A multipart file upload" +scalar Upload diff --git a/internal/api/plugin_map.go b/internal/api/plugin_map.go new file mode 100644 index 00000000000..0e9f1e72d0d --- /dev/null +++ b/internal/api/plugin_map.go @@ -0,0 +1,37 @@ +package api + +import ( + "encoding/json" + "fmt" + "io" + + "github.com/99designs/gqlgen/graphql" +) + +func MarshalPluginConfigMap(val map[string]map[string]interface{}) graphql.Marshaler { + return graphql.WriterFunc(func(w io.Writer) { + err := json.NewEncoder(w).Encode(val) + if err != nil { + panic(err) + } + }) +} + +func UnmarshalPluginConfigMap(v interface{}) (map[string]map[string]interface{}, error) { + m, ok := v.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("%T is not a plugin config map", v) + } + + result := make(map[string]map[string]interface{}) + for k, v := range m { + val, ok := v.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("key %s (%T) is not a map", k, v) + } + + result[k] = val + } + + return result, nil +} diff --git a/internal/api/resolver_model_config.go b/internal/api/resolver_model_config.go index a255699effb..d02583217f4 100644 --- a/internal/api/resolver_model_config.go +++ b/internal/api/resolver_model_config.go @@ -6,13 +6,13 @@ import ( "github.com/stashapp/stash/internal/manager/config" ) -func (r *configResultResolver) Plugins(ctx context.Context, obj *ConfigResult, include []string) (map[string]interface{}, error) { +func (r *configResultResolver) Plugins(ctx context.Context, obj *ConfigResult, include []string) (map[string]map[string]interface{}, error) { if len(include) == 0 { ret := config.GetInstance().GetAllPluginConfiguration() return ret, nil } - ret := make(map[string]interface{}) + ret := make(map[string]map[string]interface{}) for _, plugin := range include { c := config.GetInstance().GetPluginConfiguration(plugin) diff --git a/internal/manager/config/config.go b/internal/manager/config/config.go index e0ce11c297d..03428093c7d 100644 --- a/internal/manager/config/config.go +++ b/internal/manager/config/config.go @@ -735,11 +735,11 @@ func (i *Config) GetPluginsPath() string { return i.getString(PluginsPath) } -func (i *Config) GetAllPluginConfiguration() map[string]interface{} { +func (i *Config) GetAllPluginConfiguration() map[string]map[string]interface{} { i.RLock() defer i.RUnlock() - ret := make(map[string]interface{}) + ret := make(map[string]map[string]interface{}) sub := i.viper(PluginsSetting).GetStringMap(PluginsSetting) if sub == nil { diff --git a/ui/v2.5/.eslintrc.json b/ui/v2.5/.eslintrc.json index b5951cdb5d8..ea45a4cd7cf 100644 --- a/ui/v2.5/.eslintrc.json +++ b/ui/v2.5/.eslintrc.json @@ -20,7 +20,7 @@ "version": "detect" } }, - "ignorePatterns": ["node_modules/", "src/core/generated-graphql.tsx"], + "ignorePatterns": ["node_modules/", "src/core/generated-graphql.ts"], "rules": { "@typescript-eslint/lines-between-class-members": "off", "@typescript-eslint/naming-convention": [ diff --git a/ui/v2.5/.gitignore b/ui/v2.5/.gitignore index baf52f4321a..40102e516ec 100755 --- a/ui/v2.5/.gitignore +++ b/ui/v2.5/.gitignore @@ -1,5 +1,5 @@ # generated -src/core/generated-*.tsx +src/core/generated-graphql.ts # dependencies /node_modules diff --git a/ui/v2.5/.prettierignore b/ui/v2.5/.prettierignore index aeb40cd1cc3..5ef8feb04a6 100644 --- a/ui/v2.5/.prettierignore +++ b/ui/v2.5/.prettierignore @@ -15,4 +15,4 @@ src/locales/**/*.json /build # generated -src/core/generated-graphql.tsx \ No newline at end of file +src/core/generated-graphql.ts diff --git a/ui/v2.5/codegen.ts b/ui/v2.5/codegen.ts new file mode 100644 index 00000000000..6ca49f6c909 --- /dev/null +++ b/ui/v2.5/codegen.ts @@ -0,0 +1,42 @@ +import type { CodegenConfig } from "@graphql-codegen/cli"; + +const config: CodegenConfig = { + schema: [ + "../../graphql/schema/**/*.graphql", + "graphql/client-schema.graphql", + ], + config: { + // makes conflicting fields override rather than error + onFieldTypeConflict: (_existing: unknown, other: unknown) => other, + }, + documents: "graphql/**/*.graphql", + generates: { + "src/core/generated-graphql.ts": { + plugins: [ + "time", + "typescript", + "typescript-operations", + "typescript-react-apollo", + ], + config: { + strictScalars: true, + scalars: { + Time: "string", + Timestamp: "string", + Map: "{ [key: string]: unknown }", + BoolMap: "{ [key: string]: boolean }", + PluginConfigMap: "{ [id: string]: { [key: string]: unknown } }", + Any: "unknown", + Int64: "number", + Upload: "File", + UIConfig: "src/core/config#IUIConfig", + SavedObjectFilter: "src/models/list-filter/types#SavedObjectFilter", + SavedUIOptions: "src/models/list-filter/types#SavedUIOptions", + }, + withRefetchFn: true, + }, + }, + }, +}; + +export default config; diff --git a/ui/v2.5/codegen.yml b/ui/v2.5/codegen.yml deleted file mode 100644 index 08b8c54fd5c..00000000000 --- a/ui/v2.5/codegen.yml +++ /dev/null @@ -1,12 +0,0 @@ -overwrite: true -schema: "../../graphql/schema/**/*.graphql" -documents: "../../graphql/documents/**/*.graphql" -generates: - src/core/generated-graphql.tsx: - plugins: - - time - - typescript - - typescript-operations - - typescript-react-apollo - config: - withRefetchFn: true diff --git a/ui/v2.5/graphql/client-schema.graphql b/ui/v2.5/graphql/client-schema.graphql new file mode 100644 index 00000000000..094ee3368f9 --- /dev/null +++ b/ui/v2.5/graphql/client-schema.graphql @@ -0,0 +1,26 @@ +scalar UIConfig +scalar SavedObjectFilter +scalar SavedUIOptions + +extend type ConfigResult { + ui: UIConfig! +} + +extend type SavedFilter { + object_filter: SavedObjectFilter + ui_options: SavedUIOptions +} + +extend input SaveFilterInput { + object_filter: SavedObjectFilter + ui_options: SavedUIOptions +} + +extend input SetDefaultFilterInput { + object_filter: SavedObjectFilter + ui_options: SavedUIOptions +} + +extend type Mutation { + configureUI(input: UIConfig!): UIConfig! +} diff --git a/graphql/documents/data/config.graphql b/ui/v2.5/graphql/data/config.graphql similarity index 100% rename from graphql/documents/data/config.graphql rename to ui/v2.5/graphql/data/config.graphql diff --git a/graphql/documents/data/file.graphql b/ui/v2.5/graphql/data/file.graphql similarity index 100% rename from graphql/documents/data/file.graphql rename to ui/v2.5/graphql/data/file.graphql diff --git a/graphql/documents/data/filter.graphql b/ui/v2.5/graphql/data/filter.graphql similarity index 100% rename from graphql/documents/data/filter.graphql rename to ui/v2.5/graphql/data/filter.graphql diff --git a/graphql/documents/data/gallery-chapter.graphql b/ui/v2.5/graphql/data/gallery-chapter.graphql similarity index 100% rename from graphql/documents/data/gallery-chapter.graphql rename to ui/v2.5/graphql/data/gallery-chapter.graphql diff --git a/graphql/documents/data/gallery-slim.graphql b/ui/v2.5/graphql/data/gallery-slim.graphql similarity index 100% rename from graphql/documents/data/gallery-slim.graphql rename to ui/v2.5/graphql/data/gallery-slim.graphql diff --git a/graphql/documents/data/gallery.graphql b/ui/v2.5/graphql/data/gallery.graphql similarity index 100% rename from graphql/documents/data/gallery.graphql rename to ui/v2.5/graphql/data/gallery.graphql diff --git a/graphql/documents/data/image-slim.graphql b/ui/v2.5/graphql/data/image-slim.graphql similarity index 100% rename from graphql/documents/data/image-slim.graphql rename to ui/v2.5/graphql/data/image-slim.graphql diff --git a/graphql/documents/data/image.graphql b/ui/v2.5/graphql/data/image.graphql similarity index 100% rename from graphql/documents/data/image.graphql rename to ui/v2.5/graphql/data/image.graphql diff --git a/graphql/documents/data/job.graphql b/ui/v2.5/graphql/data/job.graphql similarity index 100% rename from graphql/documents/data/job.graphql rename to ui/v2.5/graphql/data/job.graphql diff --git a/graphql/documents/data/log.graphql b/ui/v2.5/graphql/data/log.graphql similarity index 100% rename from graphql/documents/data/log.graphql rename to ui/v2.5/graphql/data/log.graphql diff --git a/graphql/documents/data/movie-slim.graphql b/ui/v2.5/graphql/data/movie-slim.graphql similarity index 100% rename from graphql/documents/data/movie-slim.graphql rename to ui/v2.5/graphql/data/movie-slim.graphql diff --git a/graphql/documents/data/movie.graphql b/ui/v2.5/graphql/data/movie.graphql similarity index 100% rename from graphql/documents/data/movie.graphql rename to ui/v2.5/graphql/data/movie.graphql diff --git a/graphql/documents/data/package.graphql b/ui/v2.5/graphql/data/package.graphql similarity index 100% rename from graphql/documents/data/package.graphql rename to ui/v2.5/graphql/data/package.graphql diff --git a/graphql/documents/data/performer-slim.graphql b/ui/v2.5/graphql/data/performer-slim.graphql similarity index 100% rename from graphql/documents/data/performer-slim.graphql rename to ui/v2.5/graphql/data/performer-slim.graphql diff --git a/graphql/documents/data/performer.graphql b/ui/v2.5/graphql/data/performer.graphql similarity index 100% rename from graphql/documents/data/performer.graphql rename to ui/v2.5/graphql/data/performer.graphql diff --git a/graphql/documents/data/scene-marker.graphql b/ui/v2.5/graphql/data/scene-marker.graphql similarity index 100% rename from graphql/documents/data/scene-marker.graphql rename to ui/v2.5/graphql/data/scene-marker.graphql diff --git a/graphql/documents/data/scene-slim.graphql b/ui/v2.5/graphql/data/scene-slim.graphql similarity index 100% rename from graphql/documents/data/scene-slim.graphql rename to ui/v2.5/graphql/data/scene-slim.graphql diff --git a/graphql/documents/data/scene.graphql b/ui/v2.5/graphql/data/scene.graphql similarity index 100% rename from graphql/documents/data/scene.graphql rename to ui/v2.5/graphql/data/scene.graphql diff --git a/graphql/documents/data/scrapers.graphql b/ui/v2.5/graphql/data/scrapers.graphql similarity index 100% rename from graphql/documents/data/scrapers.graphql rename to ui/v2.5/graphql/data/scrapers.graphql diff --git a/graphql/documents/data/studio-slim.graphql b/ui/v2.5/graphql/data/studio-slim.graphql similarity index 100% rename from graphql/documents/data/studio-slim.graphql rename to ui/v2.5/graphql/data/studio-slim.graphql diff --git a/graphql/documents/data/studio.graphql b/ui/v2.5/graphql/data/studio.graphql similarity index 100% rename from graphql/documents/data/studio.graphql rename to ui/v2.5/graphql/data/studio.graphql diff --git a/graphql/documents/data/tag-slim.graphql b/ui/v2.5/graphql/data/tag-slim.graphql similarity index 100% rename from graphql/documents/data/tag-slim.graphql rename to ui/v2.5/graphql/data/tag-slim.graphql diff --git a/graphql/documents/data/tag.graphql b/ui/v2.5/graphql/data/tag.graphql similarity index 100% rename from graphql/documents/data/tag.graphql rename to ui/v2.5/graphql/data/tag.graphql diff --git a/graphql/documents/mutations/config.graphql b/ui/v2.5/graphql/mutations/config.graphql similarity index 95% rename from graphql/documents/mutations/config.graphql rename to ui/v2.5/graphql/mutations/config.graphql index dfd53ed757b..1228bcd94ee 100644 --- a/graphql/documents/mutations/config.graphql +++ b/ui/v2.5/graphql/mutations/config.graphql @@ -36,7 +36,7 @@ mutation ConfigureDefaults($input: ConfigDefaultSettingsInput!) { } } -mutation ConfigureUI($input: Map!) { +mutation ConfigureUI($input: UIConfig!) { configureUI(input: $input) } diff --git a/graphql/documents/mutations/dlna.graphql b/ui/v2.5/graphql/mutations/dlna.graphql similarity index 100% rename from graphql/documents/mutations/dlna.graphql rename to ui/v2.5/graphql/mutations/dlna.graphql diff --git a/graphql/documents/mutations/file.graphql b/ui/v2.5/graphql/mutations/file.graphql similarity index 100% rename from graphql/documents/mutations/file.graphql rename to ui/v2.5/graphql/mutations/file.graphql diff --git a/graphql/documents/mutations/filter.graphql b/ui/v2.5/graphql/mutations/filter.graphql similarity index 100% rename from graphql/documents/mutations/filter.graphql rename to ui/v2.5/graphql/mutations/filter.graphql diff --git a/graphql/documents/mutations/gallery-chapter.graphql b/ui/v2.5/graphql/mutations/gallery-chapter.graphql similarity index 100% rename from graphql/documents/mutations/gallery-chapter.graphql rename to ui/v2.5/graphql/mutations/gallery-chapter.graphql diff --git a/graphql/documents/mutations/gallery.graphql b/ui/v2.5/graphql/mutations/gallery.graphql similarity index 100% rename from graphql/documents/mutations/gallery.graphql rename to ui/v2.5/graphql/mutations/gallery.graphql diff --git a/graphql/documents/mutations/image.graphql b/ui/v2.5/graphql/mutations/image.graphql similarity index 100% rename from graphql/documents/mutations/image.graphql rename to ui/v2.5/graphql/mutations/image.graphql diff --git a/graphql/documents/mutations/job.graphql b/ui/v2.5/graphql/mutations/job.graphql similarity index 100% rename from graphql/documents/mutations/job.graphql rename to ui/v2.5/graphql/mutations/job.graphql diff --git a/graphql/documents/mutations/metadata.graphql b/ui/v2.5/graphql/mutations/metadata.graphql similarity index 100% rename from graphql/documents/mutations/metadata.graphql rename to ui/v2.5/graphql/mutations/metadata.graphql diff --git a/graphql/documents/mutations/migration.graphql b/ui/v2.5/graphql/mutations/migration.graphql similarity index 100% rename from graphql/documents/mutations/migration.graphql rename to ui/v2.5/graphql/mutations/migration.graphql diff --git a/graphql/documents/mutations/movie.graphql b/ui/v2.5/graphql/mutations/movie.graphql similarity index 100% rename from graphql/documents/mutations/movie.graphql rename to ui/v2.5/graphql/mutations/movie.graphql diff --git a/graphql/documents/mutations/performer.graphql b/ui/v2.5/graphql/mutations/performer.graphql similarity index 100% rename from graphql/documents/mutations/performer.graphql rename to ui/v2.5/graphql/mutations/performer.graphql diff --git a/graphql/documents/mutations/plugins.graphql b/ui/v2.5/graphql/mutations/plugins.graphql similarity index 100% rename from graphql/documents/mutations/plugins.graphql rename to ui/v2.5/graphql/mutations/plugins.graphql diff --git a/graphql/documents/mutations/scene-marker.graphql b/ui/v2.5/graphql/mutations/scene-marker.graphql similarity index 100% rename from graphql/documents/mutations/scene-marker.graphql rename to ui/v2.5/graphql/mutations/scene-marker.graphql diff --git a/graphql/documents/mutations/scene.graphql b/ui/v2.5/graphql/mutations/scene.graphql similarity index 100% rename from graphql/documents/mutations/scene.graphql rename to ui/v2.5/graphql/mutations/scene.graphql diff --git a/graphql/documents/mutations/scrapers.graphql b/ui/v2.5/graphql/mutations/scrapers.graphql similarity index 100% rename from graphql/documents/mutations/scrapers.graphql rename to ui/v2.5/graphql/mutations/scrapers.graphql diff --git a/graphql/documents/mutations/stash-box.graphql b/ui/v2.5/graphql/mutations/stash-box.graphql similarity index 100% rename from graphql/documents/mutations/stash-box.graphql rename to ui/v2.5/graphql/mutations/stash-box.graphql diff --git a/graphql/documents/mutations/studio.graphql b/ui/v2.5/graphql/mutations/studio.graphql similarity index 100% rename from graphql/documents/mutations/studio.graphql rename to ui/v2.5/graphql/mutations/studio.graphql diff --git a/graphql/documents/mutations/tag.graphql b/ui/v2.5/graphql/mutations/tag.graphql similarity index 100% rename from graphql/documents/mutations/tag.graphql rename to ui/v2.5/graphql/mutations/tag.graphql diff --git a/graphql/documents/queries/dlna.graphql b/ui/v2.5/graphql/queries/dlna.graphql similarity index 100% rename from graphql/documents/queries/dlna.graphql rename to ui/v2.5/graphql/queries/dlna.graphql diff --git a/graphql/documents/queries/filter.graphql b/ui/v2.5/graphql/queries/filter.graphql similarity index 100% rename from graphql/documents/queries/filter.graphql rename to ui/v2.5/graphql/queries/filter.graphql diff --git a/graphql/documents/queries/gallery.graphql b/ui/v2.5/graphql/queries/gallery.graphql similarity index 100% rename from graphql/documents/queries/gallery.graphql rename to ui/v2.5/graphql/queries/gallery.graphql diff --git a/graphql/documents/queries/image.graphql b/ui/v2.5/graphql/queries/image.graphql similarity index 100% rename from graphql/documents/queries/image.graphql rename to ui/v2.5/graphql/queries/image.graphql diff --git a/graphql/documents/queries/job.graphql b/ui/v2.5/graphql/queries/job.graphql similarity index 100% rename from graphql/documents/queries/job.graphql rename to ui/v2.5/graphql/queries/job.graphql diff --git a/graphql/documents/queries/legacy.graphql b/ui/v2.5/graphql/queries/legacy.graphql similarity index 100% rename from graphql/documents/queries/legacy.graphql rename to ui/v2.5/graphql/queries/legacy.graphql diff --git a/graphql/documents/queries/misc.graphql b/ui/v2.5/graphql/queries/misc.graphql similarity index 100% rename from graphql/documents/queries/misc.graphql rename to ui/v2.5/graphql/queries/misc.graphql diff --git a/graphql/documents/queries/movie.graphql b/ui/v2.5/graphql/queries/movie.graphql similarity index 100% rename from graphql/documents/queries/movie.graphql rename to ui/v2.5/graphql/queries/movie.graphql diff --git a/graphql/documents/queries/performer.graphql b/ui/v2.5/graphql/queries/performer.graphql similarity index 100% rename from graphql/documents/queries/performer.graphql rename to ui/v2.5/graphql/queries/performer.graphql diff --git a/graphql/documents/queries/plugins.graphql b/ui/v2.5/graphql/queries/plugins.graphql similarity index 100% rename from graphql/documents/queries/plugins.graphql rename to ui/v2.5/graphql/queries/plugins.graphql diff --git a/graphql/documents/queries/scene-marker.graphql b/ui/v2.5/graphql/queries/scene-marker.graphql similarity index 100% rename from graphql/documents/queries/scene-marker.graphql rename to ui/v2.5/graphql/queries/scene-marker.graphql diff --git a/graphql/documents/queries/scene.graphql b/ui/v2.5/graphql/queries/scene.graphql similarity index 100% rename from graphql/documents/queries/scene.graphql rename to ui/v2.5/graphql/queries/scene.graphql diff --git a/graphql/documents/queries/scrapers/scrapers.graphql b/ui/v2.5/graphql/queries/scrapers/scrapers.graphql similarity index 100% rename from graphql/documents/queries/scrapers/scrapers.graphql rename to ui/v2.5/graphql/queries/scrapers/scrapers.graphql diff --git a/graphql/documents/queries/settings/config.graphql b/ui/v2.5/graphql/queries/settings/config.graphql similarity index 100% rename from graphql/documents/queries/settings/config.graphql rename to ui/v2.5/graphql/queries/settings/config.graphql diff --git a/graphql/documents/queries/settings/metadata.graphql b/ui/v2.5/graphql/queries/settings/metadata.graphql similarity index 100% rename from graphql/documents/queries/settings/metadata.graphql rename to ui/v2.5/graphql/queries/settings/metadata.graphql diff --git a/graphql/documents/queries/studio.graphql b/ui/v2.5/graphql/queries/studio.graphql similarity index 100% rename from graphql/documents/queries/studio.graphql rename to ui/v2.5/graphql/queries/studio.graphql diff --git a/graphql/documents/queries/tag.graphql b/ui/v2.5/graphql/queries/tag.graphql similarity index 100% rename from graphql/documents/queries/tag.graphql rename to ui/v2.5/graphql/queries/tag.graphql diff --git a/graphql/documents/subscriptions.graphql b/ui/v2.5/graphql/subscriptions.graphql similarity index 100% rename from graphql/documents/subscriptions.graphql rename to ui/v2.5/graphql/subscriptions.graphql diff --git a/ui/v2.5/package.json b/ui/v2.5/package.json index df315070352..412ed2a4db7 100644 --- a/ui/v2.5/package.json +++ b/ui/v2.5/package.json @@ -14,12 +14,12 @@ "check": "tsc --noEmit", "format": "prettier --write . ../../graphql", "format-check": "prettier --check . ../../graphql", - "gqlgen": "gql-gen --config codegen.yml", + "gqlgen": "gql-gen --config codegen.ts", "extract": "NODE_ENV=development extract-messages -l=en,de -o src/locale -d en --flat false 'src/**/!(*.test).tsx'" }, "dependencies": { "@ant-design/react-slick": "^1.0.0", - "@apollo/client": "^3.7.17", + "@apollo/client": "^3.8.10", "@formatjs/intl-getcanonicallocales": "^2.0.5", "@formatjs/intl-locale": "^3.0.11", "@formatjs/intl-numberformat": "^8.3.3", @@ -31,7 +31,7 @@ "@fortawesome/react-fontawesome": "^0.2.0", "@silvermine/videojs-airplay": "^1.2.0", "@silvermine/videojs-chromecast": "^1.4.1", - "apollo-upload-client": "^17.0.0", + "apollo-upload-client": "^18.0.1", "base64-blob": "^1.4.1", "bootstrap": "^4.6.2", "classnames": "^2.3.2", @@ -40,7 +40,7 @@ "formik": "^2.4.5", "graphql": "^16.8.1", "graphql-tag": "^2.12.6", - "graphql-ws": "^5.11.3", + "graphql-ws": "^5.14.3", "i18n-iso-countries": "^7.5.0", "intersection-observer": "^0.12.2", "localforage": "^1.10.0", @@ -78,12 +78,12 @@ }, "devDependencies": { "@babel/core": "^7.20.12", - "@graphql-codegen/cli": "^3.0.0", - "@graphql-codegen/time": "^4.0.0", - "@graphql-codegen/typescript": "^3.0.0", - "@graphql-codegen/typescript-operations": "^3.0.0", - "@graphql-codegen/typescript-react-apollo": "^3.3.7", - "@types/apollo-upload-client": "^17.0.2", + "@graphql-codegen/cli": "^5.0.0", + "@graphql-codegen/time": "^5.0.0", + "@graphql-codegen/typescript": "^4.0.1", + "@graphql-codegen/typescript-operations": "^4.0.1", + "@graphql-codegen/typescript-react-apollo": "^4.1.0", + "@types/apollo-upload-client": "^18.0.0", "@types/lodash-es": "^4.17.6", "@types/mousetrap": "^1.6.11", "@types/node": "^18.13.0", diff --git a/ui/v2.5/src/App.tsx b/ui/v2.5/src/App.tsx index ac98d8b74b9..0d738911ec0 100644 --- a/ui/v2.5/src/App.tsx +++ b/ui/v2.5/src/App.tsx @@ -36,7 +36,6 @@ import { ConfigurationProvider } from "./hooks/Config"; import { ManualProvider } from "./components/Help/context"; import { InteractiveProvider } from "./hooks/Interactive/context"; import { ReleaseNotesDialog } from "./components/Dialogs/ReleaseNotesDialog"; -import { IUIConfig } from "./core/config"; import { releaseNotes } from "./docs/en/ReleaseNotes"; import { getPlatformURL } from "./core/createClient"; import { lazyComponent } from "./utils/lazyComponent"; @@ -324,8 +323,7 @@ export const App: React.FC = () => { return; } - const lastNoteSeen = (config.data?.configuration.ui as IUIConfig) - ?.lastNoteSeen; + const lastNoteSeen = config.data?.configuration.ui.lastNoteSeen; const notes = releaseNotes.filter((n) => { return !lastNoteSeen || n.date > lastNoteSeen; }); diff --git a/ui/v2.5/src/components/FrontPage/FrontPage.tsx b/ui/v2.5/src/components/FrontPage/FrontPage.tsx index 7a106f330b4..d52f65db6f5 100644 --- a/ui/v2.5/src/components/FrontPage/FrontPage.tsx +++ b/ui/v2.5/src/components/FrontPage/FrontPage.tsx @@ -11,7 +11,6 @@ import { FrontPageContent, generateDefaultFrontPageContent, getFrontPageContent, - IUIConfig, } from "src/core/config"; import { useScrollToTopOnMount } from "src/hooks/scrollToTop"; @@ -59,7 +58,7 @@ const FrontPage: React.FC = () => { return onUpdateConfig(content)} />; } - const ui = (configuration?.ui ?? {}) as IUIConfig; + const ui = configuration?.ui ?? {}; if (!ui.frontPageContent) { const defaultContent = generateDefaultFrontPageContent(intl); diff --git a/ui/v2.5/src/components/FrontPage/FrontPageConfig.tsx b/ui/v2.5/src/components/FrontPage/FrontPageConfig.tsx index 71c1c239552..04975166e98 100644 --- a/ui/v2.5/src/components/FrontPage/FrontPageConfig.tsx +++ b/ui/v2.5/src/components/FrontPage/FrontPageConfig.tsx @@ -6,7 +6,6 @@ import { Button, Form, Modal } from "react-bootstrap"; import * as GQL from "src/core/generated-graphql"; import { ConfigurationContext } from "src/hooks/Config"; import { - IUIConfig, ISavedFilterRow, ICustomFilter, FrontPageContent, @@ -283,7 +282,7 @@ export const FrontPageConfig: React.FC = ({ }) => { const { configuration, loading } = React.useContext(ConfigurationContext); - const ui = configuration?.ui as IUIConfig; + const ui = configuration?.ui; const { data: allFilters, loading: loading2 } = useFindSavedFilters(); diff --git a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx index b7c49176331..65a94c2bfd1 100644 --- a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx +++ b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx @@ -161,7 +161,7 @@ export const GalleryEditPanel: React.FC = ({ useRatingKeybinds( isVisible, - stashConfig?.ui?.ratingSystemOptions?.type, + stashConfig?.ui.ratingSystemOptions?.type, setRating ); diff --git a/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx b/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx index 71f80909501..91657a872c7 100644 --- a/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx +++ b/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx @@ -111,7 +111,7 @@ export const ImageEditPanel: React.FC = ({ useRatingKeybinds( true, - configuration?.ui?.ratingSystemOptions?.type, + configuration?.ui.ratingSystemOptions?.type, setRating ); diff --git a/ui/v2.5/src/components/Images/ImageList.tsx b/ui/v2.5/src/components/Images/ImageList.tsx index de9879e3f6a..aaec0c8500a 100644 --- a/ui/v2.5/src/components/Images/ImageList.tsx +++ b/ui/v2.5/src/components/Images/ImageList.tsx @@ -32,7 +32,6 @@ import { ExportDialog } from "../Shared/ExportDialog"; import { objectTitle } from "src/core/files"; import TextUtils from "src/utils/text"; import { ConfigurationContext } from "src/hooks/Config"; -import { IUIConfig } from "src/core/config"; import { useContainerDimensions } from "../Shared/GridCard"; interface IImageWallProps { @@ -45,7 +44,7 @@ interface IImageWallProps { const ImageWall: React.FC = ({ images, handleImageOpen }) => { const { configuration } = useContext(ConfigurationContext); - const uiConfig = configuration?.ui as IUIConfig | undefined; + const uiConfig = configuration?.ui; let photos: { src: string; diff --git a/ui/v2.5/src/components/List/EditFilterDialog.tsx b/ui/v2.5/src/components/List/EditFilterDialog.tsx index 531af632cb3..d23b15bbfce 100644 --- a/ui/v2.5/src/components/List/EditFilterDialog.tsx +++ b/ui/v2.5/src/components/List/EditFilterDialog.tsx @@ -31,7 +31,6 @@ import { useCompare, usePrevious } from "src/hooks/state"; import { CriterionType } from "src/models/list-filter/types"; import { useToast } from "src/hooks/Toast"; import { useConfigureUI } from "src/core/StashService"; -import { IUIConfig } from "src/core/config"; import { FilterMode } from "src/core/generated-graphql"; import { useFocusOnce } from "src/utils/focus"; import Mousetrap from "mousetrap"; @@ -270,7 +269,7 @@ export const EditFilterDialog: React.FC = ({ [filter, criteria] ); - const ui = (configuration?.ui ?? {}) as IUIConfig; + const ui = configuration?.ui ?? {}; const [saveUI] = useConfigureUI(); const filteredOptions = useMemo(() => { diff --git a/ui/v2.5/src/components/List/SavedFilterList.tsx b/ui/v2.5/src/components/List/SavedFilterList.tsx index f46a28c84aa..c6e7cfa70d4 100644 --- a/ui/v2.5/src/components/List/SavedFilterList.tsx +++ b/ui/v2.5/src/components/List/SavedFilterList.tsx @@ -67,8 +67,8 @@ export const SavedFilterList: React.FC = ({ mode: filter.mode, name, find_filter: filterCopy.makeFindFilter(), - object_filter: filterCopy.makeSavedFindFilter(), - ui_options: filterCopy.makeUIOptions(), + object_filter: filterCopy.makeSavedFilter(), + ui_options: filterCopy.makeSavedUIOptions(), }, }, }); @@ -137,8 +137,8 @@ export const SavedFilterList: React.FC = ({ input: { mode: filter.mode, find_filter: filterCopy.makeFindFilter(), - object_filter: filterCopy.makeSavedFindFilter(), - ui_options: filterCopy.makeUIOptions(), + object_filter: filterCopy.makeSavedFilter(), + ui_options: filterCopy.makeSavedUIOptions(), }, }, }); diff --git a/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx b/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx index 15f2c6843f4..32690a3071e 100644 --- a/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx +++ b/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx @@ -33,7 +33,6 @@ import TextUtils from "src/utils/text"; import { Icon } from "src/components/Shared/Icon"; import { RatingSystem } from "src/components/Shared/Rating/RatingSystem"; import { ConfigurationContext } from "src/hooks/Config"; -import { IUIConfig } from "src/core/config"; import { DetailImage } from "src/components/Shared/DetailImage"; import { useRatingKeybinds } from "src/hooks/keybinds"; import { useLoadStickyHeader } from "src/hooks/detailsPanel"; @@ -55,7 +54,7 @@ const MoviePage: React.FC = ({ movie }) => { // Configuration settings const { configuration } = React.useContext(ConfigurationContext); - const uiConfig = configuration?.ui as IUIConfig | undefined; + const uiConfig = configuration?.ui; const enableBackgroundImage = uiConfig?.enableMovieBackgroundImage ?? false; const compactExpandedDetails = uiConfig?.compactExpandedDetails ?? false; const showAllDetails = uiConfig?.showAllDetails ?? true; @@ -130,7 +129,7 @@ const MoviePage: React.FC = ({ movie }) => { useRatingKeybinds( true, - configuration?.ui?.ratingSystemOptions?.type, + configuration?.ui.ratingSystemOptions?.type, setRating ); diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/Performer.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/Performer.tsx index f6e7852d398..9f561e1e110 100644 --- a/ui/v2.5/src/components/Performers/PerformerDetails/Performer.tsx +++ b/ui/v2.5/src/components/Performers/PerformerDetails/Performer.tsx @@ -40,7 +40,6 @@ import { faLink, } from "@fortawesome/free-solid-svg-icons"; import { faInstagram, faTwitter } from "@fortawesome/free-brands-svg-icons"; -import { IUIConfig } from "src/core/config"; import { useRatingKeybinds } from "src/hooks/keybinds"; import { DetailImage } from "src/components/Shared/DetailImage"; import { useLoadStickyHeader } from "src/hooks/detailsPanel"; @@ -80,7 +79,7 @@ const PerformerPage: React.FC = ({ performer, tabKey }) => { // Configuration settings const { configuration } = React.useContext(ConfigurationContext); - const uiConfig = configuration?.ui as IUIConfig | undefined; + const uiConfig = configuration?.ui; const abbreviateCounter = uiConfig?.abbreviateCounters ?? false; const enableBackgroundImage = uiConfig?.enablePerformerBackgroundImage ?? false; @@ -160,7 +159,7 @@ const PerformerPage: React.FC = ({ performer, tabKey }) => { useRatingKeybinds( true, - configuration?.ui?.ratingSystemOptions?.type, + configuration?.ui.ratingSystemOptions?.type, setRating ); diff --git a/ui/v2.5/src/components/Performers/PerformerSelect.tsx b/ui/v2.5/src/components/Performers/PerformerSelect.tsx index 0076cb61394..98e04ddb808 100644 --- a/ui/v2.5/src/components/Performers/PerformerSelect.tsx +++ b/ui/v2.5/src/components/Performers/PerformerSelect.tsx @@ -15,7 +15,7 @@ import { } from "src/core/StashService"; import { ConfigurationContext } from "src/hooks/Config"; import { useIntl } from "react-intl"; -import { defaultMaxOptionsShown, IUIConfig } from "src/core/config"; +import { defaultMaxOptionsShown } from "src/core/config"; import { ListFilterModel } from "src/models/list-filter/filter"; import { FilterSelectComponent, @@ -47,7 +47,7 @@ export const PerformerSelect: React.FC< const { configuration } = React.useContext(ConfigurationContext); const intl = useIntl(); const maxOptionsShown = - (configuration?.ui as IUIConfig).maxOptionsShown ?? defaultMaxOptionsShown; + configuration?.ui.maxOptionsShown ?? defaultMaxOptionsShown; const defaultCreatable = !configuration?.interface.disableDropdownCreate.performer ?? true; diff --git a/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx b/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx index 7103758feae..e8bd76382dd 100644 --- a/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx +++ b/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx @@ -38,7 +38,6 @@ import { import { SceneInteractiveStatus } from "src/hooks/Interactive/status"; import { languageMap } from "src/utils/caption"; import { VIDEO_PLAYER_ID } from "./util"; -import { IUIConfig } from "src/core/config"; // @ts-ignore import airplay from "@silvermine/videojs-airplay"; @@ -223,7 +222,7 @@ export const ScenePlayer: React.FC = ({ }) => { const { configuration } = useContext(ConfigurationContext); const interfaceConfig = configuration?.interface; - const uiConfig = configuration?.ui as IUIConfig | undefined; + const uiConfig = configuration?.ui; const videoRef = useRef(null); const [_player, setPlayer] = useState(); const sceneId = useRef(); diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx index 295f4cc89c5..cbc448413ad 100644 --- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx +++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx @@ -224,7 +224,7 @@ export const SceneEditPanel: React.FC = ({ useRatingKeybinds( isVisible, - stashConfig?.ui?.ratingSystemOptions?.type, + stashConfig?.ui.ratingSystemOptions?.type, setRating ); diff --git a/ui/v2.5/src/components/Settings/SettingsServicesPanel.tsx b/ui/v2.5/src/components/Settings/SettingsServicesPanel.tsx index af226fc57ae..63137b94a78 100644 --- a/ui/v2.5/src/components/Settings/SettingsServicesPanel.tsx +++ b/ui/v2.5/src/components/Settings/SettingsServicesPanel.tsx @@ -137,7 +137,7 @@ export const SettingsServicesPanel: React.FC = () => { } } - function renderDeadline(until?: string) { + function renderDeadline(until?: string | null) { if (until) { const deadline = new Date(until); return `until ${intl.formatDate(deadline)}`; diff --git a/ui/v2.5/src/components/Settings/Tasks/ImportDialog.tsx b/ui/v2.5/src/components/Settings/Tasks/ImportDialog.tsx index f1275d38d99..dce5ba92f2e 100644 --- a/ui/v2.5/src/components/Settings/Tasks/ImportDialog.tsx +++ b/ui/v2.5/src/components/Settings/Tasks/ImportDialog.tsx @@ -95,6 +95,8 @@ export const ImportDialog: React.FC = ( } async function onImport() { + if (!file) return; + try { setIsRunning(true); await mutateImportObjects({ diff --git a/ui/v2.5/src/components/Settings/context.tsx b/ui/v2.5/src/components/Settings/context.tsx index 2f79c3aa743..8b82c820bc1 100644 --- a/ui/v2.5/src/components/Settings/context.tsx +++ b/ui/v2.5/src/components/Settings/context.tsx @@ -22,7 +22,8 @@ import { useToast } from "src/hooks/Toast"; import { withoutTypename } from "src/utils/data"; import { Icon } from "../Shared/Icon"; -type PluginSettings = Record>; +type PluginConfigs = Record>; + export interface ISettingsContextState { loading: boolean; error: ApolloError | undefined; @@ -32,7 +33,7 @@ export interface ISettingsContextState { scraping: GQL.ConfigScrapingInput; dlna: GQL.ConfigDlnaInput; ui: IUIConfig; - plugins: PluginSettings; + plugins: PluginConfigs; advancedMode: boolean; @@ -137,8 +138,8 @@ export const SettingsContext: React.FC = ({ children }) => { const [pendingUI, setPendingUI] = useState<{}>(); const [updateUIConfig] = useConfigureUI(); - const [plugins, setPlugins] = useState({}); - const [pendingPlugins, setPendingPlugins] = useState(); + const [plugins, setPlugins] = useState({}); + const [pendingPlugins, setPendingPlugins] = useState(); const [updatePluginConfig] = useConfigurePlugin(); const [updateSuccess, setUpdateSuccess] = useState(); @@ -479,7 +480,7 @@ export const SettingsContext: React.FC = ({ children }) => { } // saves the configuration if no further changes are made after a half second - const savePluginConfig = useDebounce(async (input: PluginSettings) => { + const savePluginConfig = useDebounce(async (input: PluginConfigs) => { try { setUpdateSuccess(undefined); diff --git a/ui/v2.5/src/components/Shared/PopoverCountButton.tsx b/ui/v2.5/src/components/Shared/PopoverCountButton.tsx index 2fb5c1ef42d..dc30cfa1f8b 100644 --- a/ui/v2.5/src/components/Shared/PopoverCountButton.tsx +++ b/ui/v2.5/src/components/Shared/PopoverCountButton.tsx @@ -10,7 +10,6 @@ import React, { useMemo } from "react"; import { Button, OverlayTrigger, Tooltip } from "react-bootstrap"; import { FormattedNumber, useIntl } from "react-intl"; import { Link } from "react-router-dom"; -import { IUIConfig } from "src/core/config"; import { ConfigurationContext } from "src/hooks/Config"; import TextUtils from "src/utils/text"; import { Icon } from "./Icon"; @@ -37,8 +36,7 @@ export const PopoverCountButton: React.FC = ({ count, }) => { const { configuration } = React.useContext(ConfigurationContext); - const abbreviateCounter = - (configuration?.ui as IUIConfig)?.abbreviateCounters ?? false; + const abbreviateCounter = configuration?.ui.abbreviateCounters ?? false; const intl = useIntl(); diff --git a/ui/v2.5/src/components/Shared/Rating/RatingSystem.tsx b/ui/v2.5/src/components/Shared/Rating/RatingSystem.tsx index b64399a28cb..a33991cae86 100644 --- a/ui/v2.5/src/components/Shared/Rating/RatingSystem.tsx +++ b/ui/v2.5/src/components/Shared/Rating/RatingSystem.tsx @@ -1,5 +1,4 @@ import React from "react"; -import { IUIConfig } from "src/core/config"; import { ConfigurationContext } from "src/hooks/Config"; import { defaultRatingStarPrecision, @@ -21,8 +20,7 @@ export const RatingSystem: React.FC = ( ) => { const { configuration: config } = React.useContext(ConfigurationContext); const ratingSystemOptions = - (config?.ui as IUIConfig)?.ratingSystemOptions ?? - defaultRatingSystemOptions; + config?.ui.ratingSystemOptions ?? defaultRatingSystemOptions; if (ratingSystemOptions.type === RatingSystemType.Stars) { return ( diff --git a/ui/v2.5/src/components/Shared/RatingBanner.tsx b/ui/v2.5/src/components/Shared/RatingBanner.tsx index f2f5cde4423..d152b8b5200 100644 --- a/ui/v2.5/src/components/Shared/RatingBanner.tsx +++ b/ui/v2.5/src/components/Shared/RatingBanner.tsx @@ -7,7 +7,6 @@ import { RatingSystemType, } from "src/utils/rating"; import { ConfigurationContext } from "src/hooks/Config"; -import { IUIConfig } from "src/core/config"; interface IProps { rating?: number | null; @@ -16,8 +15,7 @@ interface IProps { export const RatingBanner: React.FC = ({ rating }) => { const { configuration: config } = useContext(ConfigurationContext); const ratingSystemOptions = - (config?.ui as IUIConfig)?.ratingSystemOptions ?? - defaultRatingSystemOptions; + config?.ui.ratingSystemOptions ?? defaultRatingSystemOptions; const isLegacy = ratingSystemOptions.type === RatingSystemType.Stars && ratingSystemOptions.starPrecision === RatingStarPrecision.Full; diff --git a/ui/v2.5/src/components/Shared/Select.tsx b/ui/v2.5/src/components/Shared/Select.tsx index 03dd528fae1..c06a41946c5 100644 --- a/ui/v2.5/src/components/Shared/Select.tsx +++ b/ui/v2.5/src/components/Shared/Select.tsx @@ -24,7 +24,7 @@ import { ConfigurationContext } from "src/hooks/Config"; import { useIntl } from "react-intl"; import { objectTitle } from "src/core/files"; import { galleryTitle } from "src/core/galleries"; -import { defaultMaxOptionsShown, IUIConfig } from "src/core/config"; +import { defaultMaxOptionsShown } from "src/core/config"; import { useDebounce } from "src/hooks/debounce"; import { Placement } from "react-bootstrap/esm/Overlay"; import { PerformerIDSelect } from "../Performers/PerformerSelect"; @@ -132,7 +132,7 @@ const LimitedSelectMenu = ( ) => { const { configuration } = React.useContext(ConfigurationContext); const maxOptionsShown = - (configuration?.ui as IUIConfig).maxOptionsShown ?? defaultMaxOptionsShown; + configuration?.ui.maxOptionsShown ?? defaultMaxOptionsShown; const [hiddenCount, setHiddenCount] = useState(0); const hiddenCountStyle = { diff --git a/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx b/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx index d4701d33bbb..f6a79ad69cf 100644 --- a/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx +++ b/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx @@ -38,7 +38,6 @@ import { faChevronDown, faChevronUp, } from "@fortawesome/free-solid-svg-icons"; -import { IUIConfig } from "src/core/config"; import TextUtils from "src/utils/text"; import { RatingSystem } from "src/components/Shared/Rating/RatingSystem"; import { DetailImage } from "src/components/Shared/DetailImage"; @@ -81,7 +80,7 @@ const StudioPage: React.FC = ({ studio, tabKey }) => { // Configuration settings const { configuration } = React.useContext(ConfigurationContext); - const uiConfig = configuration?.ui as IUIConfig | undefined; + const uiConfig = configuration?.ui; const abbreviateCounter = uiConfig?.abbreviateCounters ?? false; const enableBackgroundImage = uiConfig?.enableStudioBackgroundImage ?? false; const showAllDetails = uiConfig?.showAllDetails ?? true; @@ -101,8 +100,7 @@ const StudioPage: React.FC = ({ studio, tabKey }) => { const [updateStudio] = useStudioUpdate(); const [deleteStudio] = useStudioDestroy({ id: studio.id }); - const showAllCounts = (configuration?.ui as IUIConfig) - ?.showChildStudioContent; + const showAllCounts = uiConfig?.showChildStudioContent; const sceneCount = (showAllCounts ? studio.scene_count_all : studio.scene_count) ?? 0; const galleryCount = @@ -161,7 +159,7 @@ const StudioPage: React.FC = ({ studio, tabKey }) => { useRatingKeybinds( true, - configuration?.ui?.ratingSystemOptions?.type, + configuration?.ui.ratingSystemOptions?.type, setRating ); diff --git a/ui/v2.5/src/components/Tags/TagDetails/Tag.tsx b/ui/v2.5/src/components/Tags/TagDetails/Tag.tsx index 800d84ca062..ce245c4514d 100644 --- a/ui/v2.5/src/components/Tags/TagDetails/Tag.tsx +++ b/ui/v2.5/src/components/Tags/TagDetails/Tag.tsx @@ -37,7 +37,6 @@ import { faSignOutAlt, faTrashAlt, } from "@fortawesome/free-solid-svg-icons"; -import { IUIConfig } from "src/core/config"; import { DetailImage } from "src/components/Shared/DetailImage"; import { useLoadStickyHeader } from "src/hooks/detailsPanel"; import { useScrollToTopOnMount } from "src/hooks/scrollToTop"; @@ -75,7 +74,7 @@ const TagPage: React.FC = ({ tag, tabKey }) => { // Configuration settings const { configuration } = React.useContext(ConfigurationContext); - const uiConfig = configuration?.ui as IUIConfig | undefined; + const uiConfig = configuration?.ui; const abbreviateCounter = uiConfig?.abbreviateCounters ?? false; const enableBackgroundImage = uiConfig?.enableTagBackgroundImage ?? false; const showAllDetails = uiConfig?.showAllDetails ?? true; @@ -96,7 +95,7 @@ const TagPage: React.FC = ({ tag, tabKey }) => { const [updateTag] = useTagUpdate(); const [deleteTag] = useTagDestroy({ id: tag.id }); - const showAllCounts = (configuration?.ui as IUIConfig)?.showChildTagContent; + const showAllCounts = uiConfig?.showChildTagContent; const sceneCount = (showAllCounts ? tag.scene_count_all : tag.scene_count) ?? 0; const imageCount = diff --git a/ui/v2.5/src/components/Tags/TagPopover.tsx b/ui/v2.5/src/components/Tags/TagPopover.tsx index 607456d27b8..9e3f0d80baa 100644 --- a/ui/v2.5/src/components/Tags/TagPopover.tsx +++ b/ui/v2.5/src/components/Tags/TagPopover.tsx @@ -5,7 +5,6 @@ import { HoverPopover } from "../Shared/HoverPopover"; import { useFindTag } from "../../core/StashService"; import { TagCard } from "./TagCard"; import { ConfigurationContext } from "../../hooks/Config"; -import { IUIConfig } from "src/core/config"; import { Placement } from "react-bootstrap/esm/Overlay"; interface ITagPopoverCardProps { @@ -50,8 +49,7 @@ export const TagPopover: React.FC = ({ }) => { const { configuration: config } = React.useContext(ConfigurationContext); - const showTagCardOnHover = - (config?.ui as IUIConfig)?.showTagCardOnHover ?? true; + const showTagCardOnHover = config?.ui.showTagCardOnHover ?? true; if (hide || !showTagCardOnHover) { return <>{children}; diff --git a/ui/v2.5/src/components/Tags/TagSelect.tsx b/ui/v2.5/src/components/Tags/TagSelect.tsx index 12c790e5777..7832ec9d9f9 100644 --- a/ui/v2.5/src/components/Tags/TagSelect.tsx +++ b/ui/v2.5/src/components/Tags/TagSelect.tsx @@ -15,7 +15,7 @@ import { } from "src/core/StashService"; import { ConfigurationContext } from "src/hooks/Config"; import { useIntl } from "react-intl"; -import { defaultMaxOptionsShown, IUIConfig } from "src/core/config"; +import { defaultMaxOptionsShown } from "src/core/config"; import { ListFilterModel } from "src/models/list-filter/filter"; import { FilterSelectComponent, @@ -49,7 +49,7 @@ export const TagSelect: React.FC< const { configuration } = React.useContext(ConfigurationContext); const intl = useIntl(); const maxOptionsShown = - (configuration?.ui as IUIConfig).maxOptionsShown ?? defaultMaxOptionsShown; + configuration?.ui.maxOptionsShown ?? defaultMaxOptionsShown; const defaultCreatable = !configuration?.interface.disableDropdownCreate.tag ?? true; diff --git a/ui/v2.5/src/core/StashService.ts b/ui/v2.5/src/core/StashService.ts index 142d7d16857..54d221f893f 100644 --- a/ui/v2.5/src/core/StashService.ts +++ b/ui/v2.5/src/core/StashService.ts @@ -87,7 +87,7 @@ function appendObject( cache.modify({ fields: { [keyName]: (value, { toReference }) => { - return [...value, toReference(obj)]; + return [...(value as unknown[]), toReference(obj)]; }, }, }); diff --git a/ui/v2.5/src/core/config.ts b/ui/v2.5/src/core/config.ts index c7a196f18a8..ce7b25481e6 100644 --- a/ui/v2.5/src/core/config.ts +++ b/ui/v2.5/src/core/config.ts @@ -25,9 +25,6 @@ export interface ICustomFilter extends ITypename { direction: SortDirectionEnum; } -// NOTE: This value cannot be more defined, because the generated enum it depends upon is UpperCase, which leads to errors on saving -export type PinnedFilters = Record>; - export type FrontPageContent = ISavedFilterRow | ICustomFilter; export const defaultMaxOptionsShown = 200; @@ -82,7 +79,9 @@ export interface IUIConfig { lastNoteSeen?: number; vrTag?: string; - pinnedFilters?: PinnedFilters; + + pinnedFilters?: Record; + tableColumns?: Record; advancedMode?: boolean; } @@ -99,9 +98,9 @@ type FrontPageContentBroken = ISavedFilterRowBroken | ICustomFilterBroken; // #4128: deal with incorrectly insensitivised keys (sortBy and savedFilterId) export function getFrontPageContent( - ui: IUIConfig + ui: IUIConfig | undefined ): FrontPageContent[] | undefined { - return (ui.frontPageContent as FrontPageContentBroken[] | undefined)?.map( + return (ui?.frontPageContent as FrontPageContentBroken[] | undefined)?.map( (content) => { switch (content.__typename) { case "SavedFilter": diff --git a/ui/v2.5/src/core/createClient.ts b/ui/v2.5/src/core/createClient.ts index ef1ce33a266..25ec4b95813 100644 --- a/ui/v2.5/src/core/createClient.ts +++ b/ui/v2.5/src/core/createClient.ts @@ -10,7 +10,7 @@ import { GraphQLWsLink } from "@apollo/client/link/subscriptions"; import { createClient as createWSClient } from "graphql-ws"; import { onError } from "@apollo/client/link/error"; import { getMainDefinition } from "@apollo/client/utilities"; -import { createUploadLink } from "apollo-upload-client"; +import createUploadLink from "apollo-upload-client/createUploadLink.mjs"; import * as GQL from "src/core/generated-graphql"; import { FieldReadFunction } from "@apollo/client/cache"; diff --git a/ui/v2.5/src/core/studios.ts b/ui/v2.5/src/core/studios.ts index 07ddce0b4a9..ca1d88c5ff3 100644 --- a/ui/v2.5/src/core/studios.ts +++ b/ui/v2.5/src/core/studios.ts @@ -3,10 +3,9 @@ import { StudiosCriterion } from "src/models/list-filter/criteria/studios"; import { ListFilterModel } from "src/models/list-filter/filter"; import React from "react"; import { ConfigurationContext } from "src/hooks/Config"; -import { IUIConfig } from "./config"; export const useStudioFilterHook = (studio: GQL.StudioDataFragment) => { - const config = React.useContext(ConfigurationContext); + const { configuration } = React.useContext(ConfigurationContext); return (filter: ListFilterModel) => { const studioValue = { id: studio.id, label: studio.name }; // if studio is already present, then we modify it, otherwise add @@ -23,9 +22,7 @@ export const useStudioFilterHook = (studio: GQL.StudioDataFragment) => { studioCriterion.value = { items: [studioValue], excluded: [], - depth: (config?.configuration?.ui as IUIConfig)?.showChildStudioContent - ? -1 - : 0, + depth: configuration?.ui.showChildStudioContent ? -1 : 0, }; studioCriterion.modifier = GQL.CriterionModifier.Includes; filter.criteria.push(studioCriterion); diff --git a/ui/v2.5/src/core/tags.ts b/ui/v2.5/src/core/tags.ts index b34d8ea43c7..6ce586941b0 100644 --- a/ui/v2.5/src/core/tags.ts +++ b/ui/v2.5/src/core/tags.ts @@ -8,10 +8,9 @@ import { import { ListFilterModel } from "src/models/list-filter/filter"; import React from "react"; import { ConfigurationContext } from "src/hooks/Config"; -import { IUIConfig } from "./config"; export const useTagFilterHook = (tag: GQL.TagDataFragment) => { - const config = React.useContext(ConfigurationContext); + const { configuration } = React.useContext(ConfigurationContext); return (filter: ListFilterModel) => { const tagValue = { id: tag.id, label: tag.name }; // if tag is already present, then we modify it, otherwise add @@ -43,9 +42,7 @@ export const useTagFilterHook = (tag: GQL.TagDataFragment) => { tagCriterion.value = { items: [tagValue], excluded: [], - depth: (config?.configuration?.ui as IUIConfig)?.showChildTagContent - ? -1 - : 0, + depth: configuration?.ui.showChildTagContent ? -1 : 0, }; tagCriterion.modifier = GQL.CriterionModifier.IncludesAll; filter.criteria.push(tagCriterion); @@ -87,8 +84,8 @@ export const tagRelationHook = ( id: cache.identify(o), fields: { [property](value, { readField }) { - return value.filter( - (t: GQL.SlimTagDataFragment) => readField("id", t) !== tag.id + return (value as GQL.SlimTagDataFragment[]).filter( + (t) => readField("id", t) !== tag.id ); }, }, @@ -102,7 +99,7 @@ export const tagRelationHook = ( id: cache.identify(u), fields: { [property](value) { - return [...value, tagRef]; + return [...(value as unknown[]), tagRef]; }, }, }); diff --git a/ui/v2.5/src/hooks/keybinds.ts b/ui/v2.5/src/hooks/keybinds.ts index 46c7e75c9b3..ac6ab4dd8bb 100644 --- a/ui/v2.5/src/hooks/keybinds.ts +++ b/ui/v2.5/src/hooks/keybinds.ts @@ -4,7 +4,7 @@ import { RatingSystemType } from "src/utils/rating"; export function useRatingKeybinds( isVisible: boolean, - ratingSystem: RatingSystemType, + ratingSystem: RatingSystemType | undefined, setRating: (v: number) => void ) { const firstChar = useRef(undefined); diff --git a/ui/v2.5/src/hooks/useTableColumns.ts b/ui/v2.5/src/hooks/useTableColumns.ts index 55bbd0be25e..09d5357d2a6 100644 --- a/ui/v2.5/src/hooks/useTableColumns.ts +++ b/ui/v2.5/src/hooks/useTableColumns.ts @@ -12,17 +12,18 @@ export const useTableColumns = ( const { configuration } = useContext(ConfigurationContext); const [saveUI] = useConfigureUI(); - const selectedColumns: string[] = - configuration?.ui?.tableColumns?.[tableName] ?? defaultColumns; + const ui = configuration?.ui; - async function saveColumns(updatedColumns: readonly string[]) { + const selectedColumns = ui?.tableColumns?.[tableName] ?? defaultColumns; + + async function saveColumns(updatedColumns: string[]) { try { await saveUI({ variables: { input: { - ...configuration?.ui, + ...ui, tableColumns: { - ...configuration?.ui?.tableColumns, + ...ui?.tableColumns, [tableName]: updatedColumns, }, }, diff --git a/ui/v2.5/src/models/list-filter/criteria/captions.ts b/ui/v2.5/src/models/list-filter/criteria/captions.ts index fd4bb5be8d1..f7468167d39 100644 --- a/ui/v2.5/src/models/list-filter/criteria/captions.ts +++ b/ui/v2.5/src/models/list-filter/criteria/captions.ts @@ -23,7 +23,7 @@ export class CaptionCriterion extends StringCriterion { super(CaptionsCriterionOption); } - protected toCriterionInput() { + public toCriterionInput() { const value = valueToCode(this.value) ?? ""; return { diff --git a/ui/v2.5/src/models/list-filter/criteria/circumcised.ts b/ui/v2.5/src/models/list-filter/criteria/circumcised.ts index 5a1f0e7ad25..ce6f5bf5cc9 100644 --- a/ui/v2.5/src/models/list-filter/criteria/circumcised.ts +++ b/ui/v2.5/src/models/list-filter/criteria/circumcised.ts @@ -25,7 +25,7 @@ export class CircumcisedCriterion extends MultiStringCriterion { super(CircumcisedCriterionOption); } - protected toCriterionInput(): CircumcisionCriterionInput { + public toCriterionInput(): CircumcisionCriterionInput { const value = this.value.map((v) => stringToCircumcised(v) ) as CircumisedEnum[]; diff --git a/ui/v2.5/src/models/list-filter/criteria/criterion.ts b/ui/v2.5/src/models/list-filter/criteria/criterion.ts index 67d44250bd9..a2a4c8c4ba1 100644 --- a/ui/v2.5/src/models/list-filter/criteria/criterion.ts +++ b/ui/v2.5/src/models/list-filter/criteria/criterion.ts @@ -36,7 +36,7 @@ export type CriterionValue = | ITimestampValue | IPhashDistanceValue; -export interface IEncodedCriterion { +export interface ISavedCriterion { modifier: CriterionModifier; value: T | undefined; } @@ -142,29 +142,22 @@ export abstract class Criterion { return JSON.stringify(encodedCriterion); } - public setFromEncodedCriterion(encodedCriterion: IEncodedCriterion) { - if ( - encodedCriterion.value !== undefined && - encodedCriterion.value !== null - ) { - this.value = encodedCriterion.value; + public setFromSavedCriterion(criterion: ISavedCriterion) { + if (criterion.value !== undefined && criterion.value !== null) { + this.value = criterion.value; } - this.modifier = encodedCriterion.modifier; + this.modifier = criterion.modifier; } - public apply(outputFilter: Record) { - outputFilter[this.criterionOption.type] = this.toCriterionInput(); - } - - protected toCriterionInput(): unknown { + public toCriterionInput(): unknown { return { value: this.value, modifier: this.modifier, }; } - public toSavedFilter(outputFilter: Record) { - outputFilter[this.criterionOption.type] = { + public toSavedCriterion(): ISavedCriterion { + return { value: this.value, modifier: this.modifier, }; @@ -261,7 +254,7 @@ export class ILabeledIdCriterion extends Criterion { return this.value.map((v) => v.label).join(", "); } - protected toCriterionInput(): MultiCriterionInput { + public toCriterionInput(): MultiCriterionInput { return { value: this.value.map((v) => v.id), modifier: this.modifier, @@ -311,10 +304,10 @@ export class IHierarchicalLabeledIdCriterion extends Criterion + public setFromSavedCriterion( + criterion: ISavedCriterion ) { - const { modifier, value } = encodedCriterion; + const { modifier, value } = criterion; if (value !== undefined) { this.value = { @@ -351,7 +344,7 @@ export class IHierarchicalLabeledIdCriterion extends Criterion 0 ? this.value.depth : "all"})`; } - protected toCriterionInput(): HierarchicalMultiCriterionInput { + public toCriterionInput(): HierarchicalMultiCriterionInput { let excludes: string[] = []; // if modifier is equals, depth must be 0 @@ -551,7 +544,7 @@ export function createBooleanCriterionOption( } export class BooleanCriterion extends StringCriterion { - protected toCriterionInput(): boolean { + public toCriterionInput(): boolean { return this.value === "true"; } @@ -578,7 +571,7 @@ export class StringBooleanCriterionOption extends CriterionOption { } export class StringBooleanCriterion extends StringCriterion { - protected toCriterionInput(): string { + public toCriterionInput(): string { return this.value; } @@ -694,7 +687,7 @@ export class NumberCriterion extends Criterion { } } - protected toCriterionInput(): IntCriterionInput { + public toCriterionInput(): IntCriterionInput { return { modifier: this.modifier, value: this.value?.value ?? 0, @@ -761,7 +754,7 @@ export class DurationCriterion extends Criterion { super(type, { value: undefined, value2: undefined }); } - protected toCriterionInput(): IntCriterionInput { + public toCriterionInput(): IntCriterionInput { return { modifier: this.modifier, value: this.value?.value ?? 0, @@ -841,7 +834,7 @@ export class DateCriterion extends Criterion { }; } - protected toCriterionInput(): DateCriterionInput { + public toCriterionInput(): DateCriterionInput { return { modifier: this.modifier, value: this.value?.value, @@ -940,7 +933,7 @@ export class TimestampCriterion extends Criterion { }; } - protected toCriterionInput(): TimestampCriterionInput { + public toCriterionInput(): TimestampCriterionInput { return { modifier: this.modifier, value: this.transformValueToInput(this.value.value), diff --git a/ui/v2.5/src/models/list-filter/criteria/gender.ts b/ui/v2.5/src/models/list-filter/criteria/gender.ts index 3d7d50b1fb9..27e7bf17092 100644 --- a/ui/v2.5/src/models/list-filter/criteria/gender.ts +++ b/ui/v2.5/src/models/list-filter/criteria/gender.ts @@ -6,7 +6,7 @@ import { import { genderStrings, stringToGender } from "src/utils/gender"; import { CriterionOption, - IEncodedCriterion, + ISavedCriterion, MultiStringCriterion, } from "./criterion"; @@ -29,7 +29,7 @@ export class GenderCriterion extends MultiStringCriterion { super(GenderCriterionOption); } - protected toCriterionInput(): GenderCriterionInput { + public toCriterionInput(): GenderCriterionInput { const value = this.value.map((v) => stringToGender(v)) as GenderEnum[]; return { @@ -38,17 +38,15 @@ export class GenderCriterion extends MultiStringCriterion { }; } - public setFromEncodedCriterion( - encodedCriterion: IEncodedCriterion - ) { + public setFromSavedCriterion(criterion: ISavedCriterion) { // backwards compatibility - if the value is a string, convert it to an array - if (typeof encodedCriterion.value === "string") { - encodedCriterion = { - ...encodedCriterion, - value: [encodedCriterion.value], + if (typeof criterion.value === "string") { + criterion = { + ...criterion, + value: [criterion.value], }; } - super.setFromEncodedCriterion(encodedCriterion); + super.setFromSavedCriterion(criterion); } } diff --git a/ui/v2.5/src/models/list-filter/criteria/is-missing.ts b/ui/v2.5/src/models/list-filter/criteria/is-missing.ts index 6ca7ca91944..d3ecd2e8e38 100644 --- a/ui/v2.5/src/models/list-filter/criteria/is-missing.ts +++ b/ui/v2.5/src/models/list-filter/criteria/is-missing.ts @@ -3,7 +3,7 @@ import { CriterionType } from "../types"; import { CriterionOption, StringCriterion, Option } from "./criterion"; export class IsMissingCriterion extends StringCriterion { - protected toCriterionInput(): string { + public toCriterionInput(): string { return this.value; } } diff --git a/ui/v2.5/src/models/list-filter/criteria/orientation.ts b/ui/v2.5/src/models/list-filter/criteria/orientation.ts index 011b9c69480..01e25e5ff94 100644 --- a/ui/v2.5/src/models/list-filter/criteria/orientation.ts +++ b/ui/v2.5/src/models/list-filter/criteria/orientation.ts @@ -7,7 +7,7 @@ import { } from "src/core/generated-graphql"; export class OrientationCriterion extends MultiStringCriterion { - protected toCriterionInput(): OrientationCriterionInput { + public toCriterionInput(): OrientationCriterionInput { return { value: this.value .map((v) => stringToOrientation(v)) diff --git a/ui/v2.5/src/models/list-filter/criteria/performers.ts b/ui/v2.5/src/models/list-filter/criteria/performers.ts index 6ef7c39aeb7..3d29dd9dc13 100644 --- a/ui/v2.5/src/models/list-filter/criteria/performers.ts +++ b/ui/v2.5/src/models/list-filter/criteria/performers.ts @@ -5,7 +5,7 @@ import { MultiCriterionInput, } from "src/core/generated-graphql"; import { ILabeledId, ILabeledValueListValue } from "../types"; -import { Criterion, CriterionOption, IEncodedCriterion } from "./criterion"; +import { Criterion, CriterionOption, ISavedCriterion } from "./criterion"; const modifierOptions = [ CriterionModifier.IncludesAll, @@ -49,10 +49,10 @@ export class PerformersCriterion extends Criterion { } } - public setFromEncodedCriterion( - encodedCriterion: IEncodedCriterion + public setFromSavedCriterion( + criterion: ISavedCriterion ) { - const { modifier, value } = encodedCriterion; + const { modifier, value } = criterion; // #3619 - the format of performer value was changed from an array // to an object. Check for both formats. @@ -80,7 +80,7 @@ export class PerformersCriterion extends Criterion { return this.value.items.map((v) => v.label).join(", "); } - protected toCriterionInput(): MultiCriterionInput { + public toCriterionInput(): MultiCriterionInput { let excludes: string[] = []; if (this.value.excluded) { excludes = this.value.excluded.map((v) => v.id); diff --git a/ui/v2.5/src/models/list-filter/criteria/phash.ts b/ui/v2.5/src/models/list-filter/criteria/phash.ts index 1393d8aa622..4887751b368 100644 --- a/ui/v2.5/src/models/list-filter/criteria/phash.ts +++ b/ui/v2.5/src/models/list-filter/criteria/phash.ts @@ -42,7 +42,7 @@ export class PhashCriterion extends Criterion { } } - protected toCriterionInput(): PhashDistanceCriterionInput { + public toCriterionInput(): PhashDistanceCriterionInput { return { value: this.value.value, modifier: this.modifier, @@ -62,7 +62,7 @@ export class DuplicatedCriterion extends StringCriterion { super(DuplicatedCriterionOption); } - protected toCriterionInput(): PHashDuplicationCriterionInput { + public toCriterionInput(): PHashDuplicationCriterionInput { return { duplicated: this.value === "true", }; diff --git a/ui/v2.5/src/models/list-filter/criteria/rating.ts b/ui/v2.5/src/models/list-filter/criteria/rating.ts index 1135115a231..b3feb85afe1 100644 --- a/ui/v2.5/src/models/list-filter/criteria/rating.ts +++ b/ui/v2.5/src/models/list-filter/criteria/rating.ts @@ -11,7 +11,6 @@ import { } from "src/core/generated-graphql"; import { INumberValue } from "../types"; import { Criterion, CriterionOption } from "./criterion"; -import { IUIConfig } from "src/core/config"; const modifierOptions = [ CriterionModifier.Equals, @@ -25,9 +24,7 @@ const modifierOptions = [ ]; function getRatingSystemOptions(config?: ConfigDataFragment) { - return ( - (config?.ui as IUIConfig)?.ratingSystemOptions ?? defaultRatingSystemOptions - ); + return config?.ui.ratingSystemOptions ?? defaultRatingSystemOptions; } export const RatingCriterionOption = new CriterionOption({ @@ -58,7 +55,7 @@ export class RatingCriterion extends Criterion { } } - protected toCriterionInput(): IntCriterionInput { + public toCriterionInput(): IntCriterionInput { return { modifier: this.modifier, value: this.value.value ?? 0, diff --git a/ui/v2.5/src/models/list-filter/criteria/resolution.ts b/ui/v2.5/src/models/list-filter/criteria/resolution.ts index e7c705a28d6..e18ff942bfd 100644 --- a/ui/v2.5/src/models/list-filter/criteria/resolution.ts +++ b/ui/v2.5/src/models/list-filter/criteria/resolution.ts @@ -32,7 +32,7 @@ class BaseResolutionCriterionOption extends CriterionOption { } class BaseResolutionCriterion extends StringCriterion { - protected toCriterionInput(): ResolutionCriterionInput | undefined { + public toCriterionInput(): ResolutionCriterionInput | undefined { const value = stringToResolution(this.value); if (value !== undefined) { diff --git a/ui/v2.5/src/models/list-filter/criteria/stash-ids.ts b/ui/v2.5/src/models/list-filter/criteria/stash-ids.ts index 82c63c15adb..951c88b41fb 100644 --- a/ui/v2.5/src/models/list-filter/criteria/stash-ids.ts +++ b/ui/v2.5/src/models/list-filter/criteria/stash-ids.ts @@ -43,7 +43,7 @@ export class StashIDCriterion extends Criterion { } } - protected toCriterionInput(): StashIdCriterionInput { + public toCriterionInput(): StashIdCriterionInput { return { endpoint: this.value.endpoint, stash_id: this.value.stashID, diff --git a/ui/v2.5/src/models/list-filter/filter.ts b/ui/v2.5/src/models/list-filter/filter.ts index fbcd5b256fb..cd84eaadaf9 100644 --- a/ui/v2.5/src/models/list-filter/filter.ts +++ b/ui/v2.5/src/models/list-filter/filter.ts @@ -5,9 +5,18 @@ import { SavedFilterDataFragment, SortDirectionEnum, } from "src/core/generated-graphql"; -import { Criterion, CriterionValue } from "./criteria/criterion"; +import { + Criterion, + CriterionValue, + ISavedCriterion, +} from "./criteria/criterion"; import { getFilterOptions } from "./factory"; -import { CriterionType, DisplayMode } from "./types"; +import { + CriterionType, + DisplayMode, + SavedObjectFilter, + SavedUIOptions, +} from "./types"; interface IDecodedParams { perPage?: number; @@ -127,9 +136,12 @@ export class ListFilterModel { if (params.c !== undefined) { for (const jsonString of params.c) { try { - const encodedCriterion = JSON.parse(jsonString); - const criterion = this.makeCriterion(encodedCriterion.type); - criterion.setFromEncodedCriterion(encodedCriterion); + const { type: criterionType, ...savedCriterion } = + JSON.parse(jsonString); + + const criterion = this.makeCriterion(criterionType); + criterion.setFromSavedCriterion(savedCriterion); + this.criteria.push(criterion); } catch (err) { // eslint-disable-next-line no-console @@ -261,8 +273,7 @@ export class ListFilterModel { this.sortBy = "random"; this.randomSeed = Number.parseInt(match[1], 10); } - this.sortDirection = - (findFilter?.direction as SortDirectionEnum) ?? this.sortDirection; + this.sortDirection = findFilter?.direction ?? this.sortDirection; this.searchTerm = findFilter?.q ?? this.searchTerm; this.displayMode = uiOptions?.display_mode ?? this.displayMode; @@ -272,11 +283,11 @@ export class ListFilterModel { this.criteria = []; if (objectFilter) { - Object.keys(objectFilter).forEach((key) => { - const criterion = this.makeCriterion(key as CriterionType); - criterion.setFromEncodedCriterion(objectFilter[key]); + for (const [k, v] of Object.entries(objectFilter)) { + const criterion = this.makeCriterion(k as CriterionType); + criterion.setFromSavedCriterion(v as ISavedCriterion); this.criteria.push(criterion); - }); + } } } @@ -353,31 +364,6 @@ export class ListFilterModel { }; } - public makeSavedFilterJSON() { - const encodedCriteria: string[] = this.criteria.map((criterion) => - criterion.toJSON() - ); - - const result = { - perPage: this.itemsPerPage, - sortby: this.getSortBy(), - sortdir: - this.sortBy === "date" - ? this.sortDirection === SortDirectionEnum.Asc - ? "asc" - : undefined - : this.sortDirection === SortDirectionEnum.Desc - ? "desc" - : undefined, - disp: this.displayMode, - q: this.searchTerm || undefined, - z: this.zoomIndex, - c: encodedCriteria, - }; - - return JSON.stringify(result); - } - public makeQueryParameters(): string { const query: string[] = []; const params = this.getEncodedParams(); @@ -424,8 +410,6 @@ export class ListFilterModel { return option.makeCriterion(this.config); } - // TODO: These don't support multiple of the same criteria, only the last one set is used. - public makeFindFilter(): FindFilterType { return { q: this.searchTerm, @@ -438,23 +422,21 @@ export class ListFilterModel { public makeFilter() { const output: Record = {}; - this.criteria.forEach((criterion) => { - criterion.apply(output); - }); - + for (const c of this.criteria) { + output[c.criterionOption.type] = c.toCriterionInput(); + } return output; } - public makeSavedFindFilter() { - const output: Record = {}; - this.criteria.forEach((criterion) => { - criterion.toSavedFilter(output); - }); - + public makeSavedFilter() { + const output: SavedObjectFilter = {}; + for (const c of this.criteria) { + output[c.criterionOption.type] = c.toSavedCriterion(); + } return output; } - public makeUIOptions(): Record { + public makeSavedUIOptions(): SavedUIOptions { return { display_mode: this.displayMode, zoom_index: this.zoomIndex, diff --git a/ui/v2.5/src/models/list-filter/types.ts b/ui/v2.5/src/models/list-filter/types.ts index d0f803a738b..4ec3f90dcea 100644 --- a/ui/v2.5/src/models/list-filter/types.ts +++ b/ui/v2.5/src/models/list-filter/types.ts @@ -1,3 +1,14 @@ +import { CriterionValue, ISavedCriterion } from "./criteria/criterion"; + +export type SavedObjectFilter = { + [K in CriterionType]?: ISavedCriterion; +}; + +export type SavedUIOptions = { + display_mode?: DisplayMode; + zoom_index?: number; +}; + // NOTE: add new enum values to the end, to ensure existing data // is not impacted export enum DisplayMode { @@ -114,7 +125,6 @@ export interface IOptionType { export type CriterionType = | "path" - | "rating" | "rating100" | "organized" | "o_counter" @@ -141,7 +151,6 @@ export type CriterionType = | "country" | "hair_color" | "eye_color" - | "height" | "height_cm" | "weight" | "measurements" @@ -162,7 +171,6 @@ export type CriterionType = | "performer_count" | "death_year" | "url" - | "stash_id" | "interactive" | "interactive_speed" | "captions" diff --git a/ui/v2.5/yarn.lock b/ui/v2.5/yarn.lock index 8d60acc12c9..4082ab62640 100644 --- a/ui/v2.5/yarn.lock +++ b/ui/v2.5/yarn.lock @@ -2,12 +2,12 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== +"@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" "@ant-design/react-slick@^1.0.0": @@ -21,18 +21,17 @@ resize-observer-polyfill "^1.5.1" throttle-debounce "^5.0.0" -"@apollo/client@^3.7.0", "@apollo/client@^3.7.17": - version "3.7.17" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.7.17.tgz#1d2538729fd8ef138aa301a7cf62704474e57b72" - integrity sha512-0EErSHEtKPNl5wgWikHJbKFAzJ/k11O0WO2QyqZSHpdxdAnw7UWHY4YiLbHCFG7lhrD+NTQ3Z/H9Jn4rcikoJA== +"@apollo/client@^3.8.0", "@apollo/client@^3.8.10": + version "3.8.10" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.8.10.tgz#db6ee4378212d93c1f22b90a2aa474f6e9664b68" + integrity sha512-p/22RZ8ehHyvySnC20EHPPe0gdu8Xp6ZCiXOfdEe1ZORw5cUteD/TLc66tfKv8qu8NLIfbiWoa+6s70XnKvxqg== dependencies: "@graphql-typed-document-node/core" "^3.1.1" - "@wry/context" "^0.7.0" - "@wry/equality" "^0.5.0" - "@wry/trie" "^0.4.0" + "@wry/equality" "^0.5.6" + "@wry/trie" "^0.5.0" graphql-tag "^2.12.6" hoist-non-react-statics "^3.3.2" - optimism "^0.16.2" + optimism "^0.18.0" prop-types "^15.7.2" response-iterator "^0.2.6" symbol-observable "^4.0.0" @@ -70,67 +69,46 @@ dependencies: node-fetch "^2.6.1" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== dependencies: - "@babel/highlight" "^7.22.13" + "@babel/highlight" "^7.23.4" chalk "^2.4.2" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" - integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== - -"@babel/compat-data@^7.20.5": - version "7.20.14" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8" - integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw== - -"@babel/core@^7.14.0", "@babel/core@^7.20.12", "@babel/core@^7.9.0": - version "7.20.12" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" - integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helpers" "^7.20.7" - "@babel/parser" "^7.20.7" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.12" - "@babel/types" "^7.20.7" - convert-source-map "^1.7.0" +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@^7.14.0", "@babel/core@^7.20.12", "@babel/core@^7.22.9", "@babel/core@^7.9.0": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" + integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.9" + "@babel/parser" "^7.23.9" + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/generator@^7.14.0", "@babel/generator@^7.18.13", "@babel/generator@^7.20.7": - version "7.20.14" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce" - integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== - dependencies: - "@babel/types" "^7.20.7" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" + json5 "^2.2.3" + semver "^6.3.1" -"@babel/generator@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== +"@babel/generator@^7.14.0", "@babel/generator@^7.18.13", "@babel/generator@^7.20.7", "@babel/generator@^7.23.0", "@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== dependencies: - "@babel/types" "^7.23.0" + "@babel/types" "^7.23.6" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" @@ -150,32 +128,18 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" lru-cache "^5.1.1" - semver "^6.3.0" + semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.18.6": - version "7.20.12" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz#4349b928e79be05ed2d1643b20b99bb87c503819" - integrity sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-class-features-plugin@^7.21.0": +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz#64f49ecb0020532f19b1d014b03bccaa1ab85fb9" integrity sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ== @@ -209,12 +173,7 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-environment-visitor@^7.22.20": +"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== @@ -226,23 +185,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== - dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" - -"@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" - integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== - dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" - -"@babel/helper-function-name@^7.23.0": +"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0", "@babel/helper-function-name@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== @@ -250,68 +193,37 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.23.0" -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-hoist-variables@^7.22.5": +"@babel/helper-hoist-variables@^7.18.6", "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== dependencies: "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz#a6f26e919582275a93c3aa6594756d71b0bb7f05" - integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== - dependencies: - "@babel/types" "^7.20.7" - -"@babel/helper-member-expression-to-functions@^7.21.0": +"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5" integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== dependencies: "@babel/types" "^7.21.0" -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.0.tgz#89a8f86ad748870e3d024e470b2e8405e869db67" - integrity sha512-eD/JQ21IG2i1FraJnTMbUarAUkA7G988ofehG5MDCRXaUU91rEBJuCeSoou2Sk1y4RbLYXzqEg1QLwEmRU4qcQ== +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" + "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.20.11": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" - integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.10" - "@babel/types" "^7.20.7" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -347,12 +259,12 @@ "@babel/traverse" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== +"@babel/helper-simple-access@^7.20.2", "@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== dependencies: - "@babel/types" "^7.20.2" + "@babel/types" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers@^7.20.0": version "7.20.0" @@ -361,44 +273,27 @@ dependencies: "@babel/types" "^7.20.0" -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-split-export-declaration@^7.22.6": +"@babel/helper-split-export-declaration@^7.18.6", "@babel/helper-split-export-declaration@^7.22.6": version "7.22.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== dependencies: "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== +"@babel/helper-string-parser@^7.19.4", "@babel/helper-string-parser@^7.22.5", "@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-identifier@^7.22.20": +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1", "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== +"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== "@babel/helper-wrap-function@^7.18.9": version "7.20.5" @@ -410,42 +305,28 @@ "@babel/traverse" "^7.20.5" "@babel/types" "^7.20.5" -"@babel/helpers@^7.20.7": - version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.13.tgz#e3cb731fb70dc5337134cadc24cbbad31cc87ad2" - integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.13" - "@babel/types" "^7.20.7" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== +"@babel/helpers@^7.20.7", "@babel/helpers@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" + integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== +"@babel/highlight@^7.18.6", "@babel/highlight@^7.22.13", "@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== dependencies: "@babel/helper-validator-identifier" "^7.22.20" chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.0", "@babel/parser@^7.16.8", "@babel/parser@^7.20.7": - version "7.20.15" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89" - integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg== - -"@babel/parser@^7.22.15", "@babel/parser@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.0", "@babel/parser@^7.16.8", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -634,7 +515,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-syntax-import-assertions@7.20.0", "@babel/plugin-syntax-import-assertions@^7.20.0": +"@babel/plugin-syntax-import-assertions@^7.20.0": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== @@ -734,36 +615,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.0.0": - version "7.20.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.15.tgz#3e1b2aa9cbbe1eb8d644c823141a9c5c2a22392d" - integrity sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-block-scoping@^7.20.2": +"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.20.2": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02" integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-classes@^7.0.0": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz#f438216f094f6bb31dc266ebfab8ff05aecad073" - integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.20.2": +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.20.2": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665" integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== @@ -824,14 +683,7 @@ "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-flow" "^7.18.6" -"@babel/plugin-transform-for-of@^7.0.0": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" - integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-for-of@^7.18.8": +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.18.8": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz#964108c9988de1a60b4be2354a7d7e245f36e86e" integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ== @@ -1128,78 +980,44 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.14.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.7", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7": - version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" - integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/runtime@^7.14.5", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.14.0", "@babel/runtime@^7.14.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.7", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== dependencies: regenerator-runtime "^0.13.11" -"@babel/template@^7.18.10", "@babel/template@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/template@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== +"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.22.15", "@babel/template@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" + integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" -"@babel/traverse@^7.14.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" - integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== +"@babel/traverse@^7.14.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" + integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.0" - "@babel/types" "^7.23.0" - debug "^4.1.0" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.8", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.9.5": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" - integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== +"@babel/types@^7.0.0", "@babel/types@^7.16.8", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.9.5": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" + integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.9", "@babel/types@^7.20.5", "@babel/types@^7.21.0", "@babel/types@^7.4.4": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.0.tgz#1da00d89c2f18b226c9207d96edbeb79316a1819" - integrity sha512-uR7NWq2VNFnDi7EYqiRz2Jv/VQIu38tu64Zy8TX2nQFQ6etJ9V/Rr2msW8BS132mum2rL645qpDrLtAJtVpuow== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-string-parser" "^7.23.4" "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" @@ -1631,56 +1449,55 @@ dependencies: prop-types "^15.8.1" -"@graphql-codegen/cli@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/cli/-/cli-3.0.0.tgz#eb367adfe51349e4822518183fc7ea7c06aea11b" - integrity sha512-16nuFabHCfPQ/d+v52OvR1ueL8eiJvS/nRuvuEV8d9T1fkborHKRw4lhyKVebu9izFBs6G0CvVCLhgVzQwHSLw== +"@graphql-codegen/cli@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@graphql-codegen/cli/-/cli-5.0.0.tgz#761dcf08cfee88bbdd9cdf8097b2343445ec6f0a" + integrity sha512-A7J7+be/a6e+/ul2KI5sfJlpoqeqwX8EzktaKCeduyVKgOLA6W5t+NUGf6QumBDXU8PEOqXk3o3F+RAwCWOiqA== dependencies: "@babel/generator" "^7.18.13" "@babel/template" "^7.18.10" "@babel/types" "^7.18.13" - "@graphql-codegen/core" "^3.0.0" - "@graphql-codegen/plugin-helpers" "^4.0.0" - "@graphql-tools/apollo-engine-loader" "^7.3.6" - "@graphql-tools/code-file-loader" "^7.3.17" - "@graphql-tools/git-loader" "^7.2.13" - "@graphql-tools/github-loader" "^7.3.20" - "@graphql-tools/graphql-file-loader" "^7.5.0" - "@graphql-tools/json-file-loader" "^7.4.1" - "@graphql-tools/load" "^7.8.0" - "@graphql-tools/prisma-loader" "^7.2.49" - "@graphql-tools/url-loader" "^7.13.2" - "@graphql-tools/utils" "^9.0.0" - "@whatwg-node/fetch" "^0.6.0" + "@graphql-codegen/core" "^4.0.0" + "@graphql-codegen/plugin-helpers" "^5.0.1" + "@graphql-tools/apollo-engine-loader" "^8.0.0" + "@graphql-tools/code-file-loader" "^8.0.0" + "@graphql-tools/git-loader" "^8.0.0" + "@graphql-tools/github-loader" "^8.0.0" + "@graphql-tools/graphql-file-loader" "^8.0.0" + "@graphql-tools/json-file-loader" "^8.0.0" + "@graphql-tools/load" "^8.0.0" + "@graphql-tools/prisma-loader" "^8.0.0" + "@graphql-tools/url-loader" "^8.0.0" + "@graphql-tools/utils" "^10.0.0" + "@whatwg-node/fetch" "^0.8.0" chalk "^4.1.0" - chokidar "^3.5.2" - cosmiconfig "^7.0.0" - cosmiconfig-typescript-loader "^4.3.0" + cosmiconfig "^8.1.3" debounce "^1.2.0" detect-indent "^6.0.0" - graphql-config "^4.4.0" + graphql-config "^5.0.2" inquirer "^8.0.0" is-glob "^4.0.1" + jiti "^1.17.1" json-to-pretty-yaml "^1.2.2" listr2 "^4.0.5" log-symbols "^4.0.0" + micromatch "^4.0.5" shell-quote "^1.7.3" string-env-interpolation "^1.0.1" ts-log "^2.2.3" - ts-node "^10.9.1" tslib "^2.4.0" - yaml "^1.10.0" + yaml "^2.3.1" yargs "^17.0.0" -"@graphql-codegen/core@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-3.0.0.tgz#ff6d643bb9d80c54ddd9ee5c68194888c971ae45" - integrity sha512-WUfAUTmUcgeHPR7F5ZQqaBqJLJb5+3Lvp6v9SrnupKOFed+Q3u8CvZL6sPTvDpqqW8Ucjy59DEZqumPLp99pdQ== +"@graphql-codegen/core@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-4.0.0.tgz#b29c911746a532a675e33720acb4eb2119823e01" + integrity sha512-JAGRn49lEtSsZVxeIlFVIRxts2lWObR+OQo7V2LHDJ7ohYYw3ilv7nJ8pf8P4GTg/w6ptcYdSdVVdkI8kUHB/Q== dependencies: - "@graphql-codegen/plugin-helpers" "^4.0.0" - "@graphql-tools/schema" "^9.0.0" - "@graphql-tools/utils" "^9.1.1" - tslib "~2.4.0" + "@graphql-codegen/plugin-helpers" "^5.0.0" + "@graphql-tools/schema" "^10.0.0" + "@graphql-tools/utils" "^10.0.0" + tslib "~2.5.0" "@graphql-codegen/plugin-helpers@^2.7.2": version "2.7.2" @@ -1694,10 +1511,10 @@ lodash "~4.17.0" tslib "~2.4.0" -"@graphql-codegen/plugin-helpers@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-4.0.0.tgz#9c10e4700dc6efe657781dff47347d0c99674061" - integrity sha512-vgNGTanT36hC4RAC/LAThMEjDvnu3WCyx6MtKZcPUtfCWFxbUAr88+OarGl1LAEiOef0agIREC7tIBXCqjKkJA== +"@graphql-codegen/plugin-helpers@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-3.1.2.tgz#69a2e91178f478ea6849846ade0a59a844d34389" + integrity sha512-emOQiHyIliVOIjKVKdsI5MXj312zmRDwmHpyUTZMjfpvxq/UVAHUJIVdVf+lnjjrI+LXBTgMlTWTgHQfmICxjg== dependencies: "@graphql-tools/utils" "^9.0.0" change-case-all "1.0.15" @@ -1706,55 +1523,67 @@ lodash "~4.17.0" tslib "~2.4.0" -"@graphql-codegen/schema-ast@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-3.0.0.tgz#3311a58184f885853d33d8272c527ff5bdf3023b" - integrity sha512-5gC8nNk/bxufS2LBSpaPExRgn6eNo8LQdtwDtwfM9XGEzt/F6rIBQoyOmqqwkiBmgu1PHHH8kLZMBYvYB1x5DA== +"@graphql-codegen/plugin-helpers@^5.0.0", "@graphql-codegen/plugin-helpers@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-5.0.1.tgz#e2429fcfba3f078d5aa18aa062d46c922bbb0d55" + integrity sha512-6L5sb9D8wptZhnhLLBcheSPU7Tg//DGWgc5tQBWX46KYTOTQHGqDpv50FxAJJOyFVJrveN9otWk9UT9/yfY4ww== dependencies: - "@graphql-codegen/plugin-helpers" "^4.0.0" - "@graphql-tools/utils" "^9.0.0" - tslib "~2.4.0" + "@graphql-tools/utils" "^10.0.0" + change-case-all "1.0.15" + common-tags "1.8.2" + import-from "4.0.0" + lodash "~4.17.0" + tslib "~2.5.0" -"@graphql-codegen/time@^4.0.0": +"@graphql-codegen/schema-ast@^4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/time/-/time-4.0.0.tgz#70f225d1902dc83a778770da8166d322b6dc430e" - integrity sha512-2hnkYej1pTOGfL1xCzxuvDKYfE1EPjdOYeZP3iw8v8azWrO4UG0XFX4Zteii4u9YhZlSmp5kWPTHpL6F3lOPmw== + resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-4.0.0.tgz#5d60996c87b64f81847da8fcb2d8ef50ede89755" + integrity sha512-WIzkJFa9Gz28FITAPILbt+7A8+yzOyd1NxgwFh7ie+EmO9a5zQK6UQ3U/BviirguXCYnn+AR4dXsoDrSrtRA1g== + dependencies: + "@graphql-codegen/plugin-helpers" "^5.0.0" + "@graphql-tools/utils" "^10.0.0" + tslib "~2.5.0" + +"@graphql-codegen/time@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@graphql-codegen/time/-/time-5.0.0.tgz#832754bcc3dfa62a5e9c612fc3c8a0fe852ea533" + integrity sha512-RI9b3Wm2kci046atAqYfldHtVETi8/mewtfaRJyQn/xBCWwvTEJUL3gr/IxQbEgHRmZEadsWKtIyn7p/OOYQmg== dependencies: - "@graphql-codegen/plugin-helpers" "^4.0.0" + "@graphql-codegen/plugin-helpers" "^5.0.0" moment "~2.29.1" -"@graphql-codegen/typescript-operations@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-3.0.0.tgz#e67c9dedb739a20f8a1d2c9a9631701c269de0c1" - integrity sha512-t+Lk+lxkUFDh6F0t8CErowOccP3bZwxhl66qmEeBcOrC7jQrSCnRZoFvOXhFKFBJe/y4DIJiizgSr34AqjiJIQ== +"@graphql-codegen/typescript-operations@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-4.0.1.tgz#930af3e2d2ae8ff06de696291be28fe7046a2fef" + integrity sha512-GpUWWdBVUec/Zqo23aFLBMrXYxN2irypHqDcKjN78JclDPdreasAEPcIpMfqf4MClvpmvDLy4ql+djVAwmkjbw== dependencies: - "@graphql-codegen/plugin-helpers" "^4.0.0" - "@graphql-codegen/typescript" "^3.0.0" - "@graphql-codegen/visitor-plugin-common" "3.0.0" + "@graphql-codegen/plugin-helpers" "^5.0.0" + "@graphql-codegen/typescript" "^4.0.1" + "@graphql-codegen/visitor-plugin-common" "4.0.1" auto-bind "~4.0.0" - tslib "~2.4.0" + tslib "~2.5.0" -"@graphql-codegen/typescript-react-apollo@^3.3.7": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-react-apollo/-/typescript-react-apollo-3.3.7.tgz#e856caa22c5f7bc9a546c44f54e5f3bd5801ab67" - integrity sha512-9DUiGE8rcwwEkf/S1kpBT/Py/UUs9Qak14bOnTT1JHWs1MWhiDA7vml+A8opU7YFI1EVbSSaE5jjRv11WHoikQ== +"@graphql-codegen/typescript-react-apollo@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-react-apollo/-/typescript-react-apollo-4.1.0.tgz#d900c5d6c259f9b986f917ee280d6bd539f7ecc4" + integrity sha512-G7l4ECoilGnW1zJeqgsFQEVup9ME3w3811ZxHP5yvTra3ZNsbZO4WbYBOPKyS5uc4swsTAxj70a28hNF7kdVcw== dependencies: - "@graphql-codegen/plugin-helpers" "^2.7.2" + "@graphql-codegen/plugin-helpers" "^3.0.0" "@graphql-codegen/visitor-plugin-common" "2.13.1" auto-bind "~4.0.0" - change-case-all "1.0.14" - tslib "~2.4.0" + change-case-all "1.0.15" + tslib "~2.6.0" -"@graphql-codegen/typescript@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-3.0.0.tgz#473dde1646540039bca5db4b6daf174d13af0ce3" - integrity sha512-FQWyuIUy1y+fxb9+EZfvdBHBQpYExlIBHV5sg2WGNCsyVyCqBTl0mO8icyOtsQPVg6YFMFe8JJO69vQbwHma5w== +"@graphql-codegen/typescript@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-4.0.1.tgz#7481d68f59bea802dd10e278dce73c8a1552b2a4" + integrity sha512-3YziQ21dCVdnHb+Us1uDb3pA6eG5Chjv0uTK+bt9dXeMlwYBU8MbtzvQTo4qvzWVC1AxSOKj0rgfNu1xCXqJyA== dependencies: - "@graphql-codegen/plugin-helpers" "^4.0.0" - "@graphql-codegen/schema-ast" "^3.0.0" - "@graphql-codegen/visitor-plugin-common" "3.0.0" + "@graphql-codegen/plugin-helpers" "^5.0.0" + "@graphql-codegen/schema-ast" "^4.0.0" + "@graphql-codegen/visitor-plugin-common" "4.0.1" auto-bind "~4.0.0" - tslib "~2.4.0" + tslib "~2.5.0" "@graphql-codegen/visitor-plugin-common@2.13.1": version "2.13.1" @@ -1772,196 +1601,196 @@ parse-filepath "^1.0.2" tslib "~2.4.0" -"@graphql-codegen/visitor-plugin-common@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-3.0.0.tgz#527185eb3b1b06739702084bc6263713e167a166" - integrity sha512-ZoNlCmmkGClB137SpJT9og/nkihLN7Z4Ynl9Ir3OlbDuI20dbpyXsclpr9QGLcxEcfQeVfhGw9CooW7wZJJ8LA== +"@graphql-codegen/visitor-plugin-common@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-4.0.1.tgz#64e293728b3c186f6767141e41fcdb310e50d367" + integrity sha512-Bi/1z0nHg4QMsAqAJhds+ForyLtk7A3HQOlkrZNm3xEkY7lcBzPtiOTLBtvziwopBsXUxqeSwVjOOFPLS5Yw1Q== dependencies: - "@graphql-codegen/plugin-helpers" "^4.0.0" - "@graphql-tools/optimize" "^1.3.0" - "@graphql-tools/relay-operation-optimizer" "^6.5.0" - "@graphql-tools/utils" "^9.0.0" + "@graphql-codegen/plugin-helpers" "^5.0.0" + "@graphql-tools/optimize" "^2.0.0" + "@graphql-tools/relay-operation-optimizer" "^7.0.0" + "@graphql-tools/utils" "^10.0.0" auto-bind "~4.0.0" change-case-all "1.0.15" dependency-graph "^0.11.0" graphql-tag "^2.11.0" parse-filepath "^1.0.2" - tslib "~2.4.0" + tslib "~2.5.0" -"@graphql-tools/apollo-engine-loader@^7.3.6": - version "7.3.26" - resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.3.26.tgz#91e54460d5579933e42a2010b8688c3459c245d8" - integrity sha512-h1vfhdJFjnCYn9b5EY1Z91JTF0KB3hHVJNQIsiUV2mpQXZdeOXQoaWeYEKaiI5R6kwBw5PP9B0fv3jfUIG8LyQ== +"@graphql-tools/apollo-engine-loader@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.0.tgz#ac1f351cbe41508411784f25757f5557b0f27489" + integrity sha512-axQTbN5+Yxs1rJ6cWQBOfw3AEeC+fvIuZSfJLPLLvFJLj4pUm9fhxey/g6oQZAAQJqKPfw+tLDUQvnfvRK8Kmg== dependencies: "@ardatan/sync-fetch" "^0.0.1" - "@graphql-tools/utils" "^9.2.1" - "@whatwg-node/fetch" "^0.8.0" + "@graphql-tools/utils" "^10.0.0" + "@whatwg-node/fetch" "^0.9.0" tslib "^2.4.0" -"@graphql-tools/batch-execute@8.5.18": - version "8.5.18" - resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.5.18.tgz#2f0e91cc12e8eed32f14bc814f27c6a498b75e17" - integrity sha512-mNv5bpZMLLwhkmPA6+RP81A6u3KF4CSKLf3VX9hbomOkQR4db8pNs8BOvpZU54wKsUzMzdlws/2g/Dabyb2Vsg== +"@graphql-tools/batch-execute@^9.0.1": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-9.0.2.tgz#5ac3257501e7941fad40661bb5e1110d6312f58b" + integrity sha512-Y2uwdZI6ZnatopD/SYfZ1eGuQFI7OU2KGZ2/B/7G9ISmgMl5K+ZZWz/PfIEXeiHirIDhyk54s4uka5rj2xwKqQ== dependencies: - "@graphql-tools/utils" "9.2.1" - dataloader "2.2.2" + "@graphql-tools/utils" "^10.0.5" + dataloader "^2.2.2" tslib "^2.4.0" - value-or-promise "1.0.12" + value-or-promise "^1.0.12" -"@graphql-tools/code-file-loader@^7.3.17": - version "7.3.21" - resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-7.3.21.tgz#3eed4ff4610cf0a6f4b1be17d0bce1eec9359479" - integrity sha512-dj+OLnz1b8SYkXcuiy0CUQ25DWnOEyandDlOcdBqU3WVwh5EEVbn0oXUYm90fDlq2/uut00OrtC5Wpyhi3tAvA== +"@graphql-tools/code-file-loader@^8.0.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-8.1.0.tgz#1092594f02f2c54fc1dd8b997921ccb8db642272" + integrity sha512-HKWW/B2z15ves8N9+xnVbGmFEVGyHEK80a4ghrjeTa6nwNZaKDVfq5CoYFfF0xpfjtH6gOVUExo2XCOEz4B8mQ== dependencies: - "@graphql-tools/graphql-tag-pluck" "7.5.0" - "@graphql-tools/utils" "9.2.1" + "@graphql-tools/graphql-tag-pluck" "8.2.0" + "@graphql-tools/utils" "^10.0.13" globby "^11.0.3" tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/delegate@9.0.27", "@graphql-tools/delegate@^9.0.27": - version "9.0.27" - resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-9.0.27.tgz#e500554bace46cc7ededd48a0c28079f747c9f49" - integrity sha512-goYewiPls/RDXiRTl1S2tRPlsyDQCxlDWqd0uEIzQZ6aWSyiutfwQnTzdbZPXK0qOblEVMIqFhSGrB6fp0OkBA== +"@graphql-tools/delegate@^10.0.0", "@graphql-tools/delegate@^10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-10.0.3.tgz#2d0e133da94ca92c24e0c7360414e5592321cf2d" + integrity sha512-Jor9oazZ07zuWkykD3OOhT/2XD74Zm6Ar0ENZMk75MDD51wB2UWUIMljtHxbJhV5A6UBC2v8x6iY0xdCGiIlyw== dependencies: - "@graphql-tools/batch-execute" "8.5.18" - "@graphql-tools/executor" "0.0.14" - "@graphql-tools/schema" "9.0.16" - "@graphql-tools/utils" "9.2.1" - dataloader "2.2.2" - tslib "~2.5.0" - value-or-promise "1.0.12" + "@graphql-tools/batch-execute" "^9.0.1" + "@graphql-tools/executor" "^1.0.0" + "@graphql-tools/schema" "^10.0.0" + "@graphql-tools/utils" "^10.0.5" + dataloader "^2.2.2" + tslib "^2.5.0" -"@graphql-tools/executor-graphql-ws@^0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-0.0.11.tgz#c6536aa862f76a9c7ac83e7e07fe8d5119e6de38" - integrity sha512-muRj6j897ks2iKqe3HchWFFzd+jFInSRuLPvHJ7e4WPrejFvaZx3BQ9gndfJvVkfYUZIFm13stCGXaJJTbVM0Q== +"@graphql-tools/executor-graphql-ws@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-1.1.0.tgz#7727159ebaa9df4dc793d0d02e74dd1ca4a7cc60" + integrity sha512-yM67SzwE8rYRpm4z4AuGtABlOp9mXXVy6sxXnTJRoYIdZrmDbKVfIY+CpZUJCqS0FX3xf2+GoHlsj7Qswaxgcg== dependencies: - "@graphql-tools/utils" "9.2.1" - "@repeaterjs/repeater" "3.0.4" + "@graphql-tools/utils" "^10.0.2" "@types/ws" "^8.0.0" - graphql-ws "5.11.3" - isomorphic-ws "5.0.0" + graphql-ws "^5.14.0" + isomorphic-ws "^5.0.0" tslib "^2.4.0" - ws "8.12.1" + ws "^8.13.0" -"@graphql-tools/executor-http@^0.1.7": - version "0.1.9" - resolved "https://registry.yarnpkg.com/@graphql-tools/executor-http/-/executor-http-0.1.9.tgz#ddd74ef376b4a2ed59c622acbcca068890854a30" - integrity sha512-tNzMt5qc1ptlHKfpSv9wVBVKCZ7gks6Yb/JcYJluxZIT4qRV+TtOFjpptfBU63usgrGVOVcGjzWc/mt7KhmmpQ== +"@graphql-tools/executor-http@^1.0.0", "@graphql-tools/executor-http@^1.0.5": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@graphql-tools/executor-http/-/executor-http-1.0.7.tgz#c358f91d4f88e49b9be7408a517f77a3079b2d91" + integrity sha512-/MoRYzQS50Tz5mxRfq3ZmeZ2SOins9wGZAGetsJ55F3PxL0PmHdSGlCq12KzffZDbwHV5YMlwigBsSGWq4y9Iw== dependencies: - "@graphql-tools/utils" "^9.2.1" + "@graphql-tools/utils" "^10.0.2" "@repeaterjs/repeater" "^3.0.4" - "@whatwg-node/fetch" "^0.8.1" - dset "^3.1.2" + "@whatwg-node/fetch" "^0.9.0" extract-files "^11.0.0" meros "^1.2.1" tslib "^2.4.0" value-or-promise "^1.0.12" -"@graphql-tools/executor-legacy-ws@^0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-0.0.9.tgz#1ff517998f750af2be9c1dae8924665a136e4986" - integrity sha512-L7oDv7R5yoXzMH+KLKDB2WHVijfVW4dB2H+Ae1RdW3MFvwbYjhnIB6QzHqKEqksjp/FndtxZkbuTIuAOsYGTYw== +"@graphql-tools/executor-legacy-ws@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.0.5.tgz#07de9d6e0e49febbcb87d6558bbeebf3940ff25a" + integrity sha512-w54AZ7zkNuvpyV09FH+eGHnnAmaxhBVHg4Yh2ICcsMfRg0brkLt77PlbjBuxZ4HY8XZnKJaYWf+tKazQZtkQtg== dependencies: - "@graphql-tools/utils" "9.2.1" + "@graphql-tools/utils" "^10.0.0" "@types/ws" "^8.0.0" - isomorphic-ws "5.0.0" + isomorphic-ws "^5.0.0" tslib "^2.4.0" - ws "8.12.1" + ws "^8.15.0" -"@graphql-tools/executor@0.0.14": - version "0.0.14" - resolved "https://registry.yarnpkg.com/@graphql-tools/executor/-/executor-0.0.14.tgz#7c6073d75c77dd6e7fab0c835761ed09c85a3bc6" - integrity sha512-YiBbN9NT0FgqPJ35+Eg0ty1s5scOZTgiPf+6hLVJBd5zHEURwojEMCTKJ9e0RNZHETp2lN+YaTFGTSoRk0t4Sw== +"@graphql-tools/executor@^1.0.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/executor/-/executor-1.2.0.tgz#6c45f4add765769d9820c4c4405b76957ba39c79" + integrity sha512-SKlIcMA71Dha5JnEWlw4XxcaJ+YupuXg0QCZgl2TOLFz4SkGCwU/geAsJvUJFwK2RbVLpQv/UMq67lOaBuwDtg== dependencies: - "@graphql-tools/utils" "9.2.1" - "@graphql-typed-document-node/core" "3.1.1" - "@repeaterjs/repeater" "3.0.4" + "@graphql-tools/utils" "^10.0.0" + "@graphql-typed-document-node/core" "3.2.0" + "@repeaterjs/repeater" "^3.0.4" tslib "^2.4.0" - value-or-promise "1.0.12" + value-or-promise "^1.0.12" -"@graphql-tools/git-loader@^7.2.13": - version "7.2.20" - resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-7.2.20.tgz#b17917c89be961c272bfbf205dcf32287247494b" - integrity sha512-D/3uwTzlXxG50HI8BEixqirT4xiUp6AesTdfotRXAs2d4CT9wC6yuIWOHkSBqgI1cwKWZb6KXZr467YPS5ob1w== +"@graphql-tools/git-loader@^8.0.0": + version "8.0.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-8.0.4.tgz#663a42e28f1705ba29c0e41ac2f89e7436751608" + integrity sha512-fBmKtnOVqzMT2N8L6nggM4skPq3y2t0eBITZJXCOuxeIlIRAeCOdjNLPKgyGb0rezIyGsn55DKMua5101VN0Sg== dependencies: - "@graphql-tools/graphql-tag-pluck" "7.5.0" - "@graphql-tools/utils" "9.2.1" + "@graphql-tools/graphql-tag-pluck" "8.2.0" + "@graphql-tools/utils" "^10.0.13" is-glob "4.0.3" micromatch "^4.0.4" tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/github-loader@^7.3.20": - version "7.3.27" - resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-7.3.27.tgz#77a2fbaeb7bf5f8edc4a865252ecb527a5399e01" - integrity sha512-fFFC35qenyhjb8pfcYXKknAt0CXP5CkQYtLfJXgTXSgBjIsfAVMrqxQ/Y0ejeM19XNF/C3VWJ7rE308yOX6ywA== +"@graphql-tools/github-loader@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-8.0.0.tgz#683195800618364701cfea9bc6f88674486f053b" + integrity sha512-VuroArWKcG4yaOWzV0r19ElVIV6iH6UKDQn1MXemND0xu5TzrFme0kf3U9o0YwNo0kUYEk9CyFM0BYg4he17FA== dependencies: "@ardatan/sync-fetch" "^0.0.1" - "@graphql-tools/graphql-tag-pluck" "^7.4.6" - "@graphql-tools/utils" "^9.2.1" - "@whatwg-node/fetch" "^0.8.0" + "@graphql-tools/executor-http" "^1.0.0" + "@graphql-tools/graphql-tag-pluck" "^8.0.0" + "@graphql-tools/utils" "^10.0.0" + "@whatwg-node/fetch" "^0.9.0" tslib "^2.4.0" + value-or-promise "^1.0.12" -"@graphql-tools/graphql-file-loader@^7.3.7", "@graphql-tools/graphql-file-loader@^7.5.0": - version "7.5.16" - resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.5.16.tgz#d954b25ee14c6421ddcef43f4320a82e9800cb23" - integrity sha512-lK1N3Y2I634FS12nd4bu7oAJbai3bUc28yeX+boT+C83KTO4ujGHm+6hPC8X/FRGwhKOnZBxUM7I5nvb3HiUxw== +"@graphql-tools/graphql-file-loader@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.0.0.tgz#a2026405bce86d974000455647511bf65df4f211" + integrity sha512-wRXj9Z1IFL3+zJG1HWEY0S4TXal7+s1vVhbZva96MSp0kbb/3JBF7j0cnJ44Eq0ClccMgGCDFqPFXty4JlpaPg== dependencies: - "@graphql-tools/import" "6.7.17" - "@graphql-tools/utils" "9.2.1" + "@graphql-tools/import" "7.0.0" + "@graphql-tools/utils" "^10.0.0" globby "^11.0.3" tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/graphql-tag-pluck@7.5.0", "@graphql-tools/graphql-tag-pluck@^7.4.6": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.5.0.tgz#be99bc6b5e8331a2379ab4585d71b057eb981497" - integrity sha512-76SYzhSlH50ZWkhWH6OI94qrxa8Ww1ZeOU04MdtpSeQZVT2rjGWeTb3xM3kjTVWQJsr/YJBhDeNPGlwNUWfX4Q== +"@graphql-tools/graphql-tag-pluck@8.2.0", "@graphql-tools/graphql-tag-pluck@^8.0.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.2.0.tgz#958e07d3bdd94c2a7ac958364b7383c17d009ce2" + integrity sha512-aGIuHxyrJB+LlUfXrH73NVlQTA6LkFbLKQzHojFuwXZJpf7wPkxceN2yp7VjMedARkLJg589IoXgZeMb1EztGQ== dependencies: + "@babel/core" "^7.22.9" "@babel/parser" "^7.16.8" - "@babel/plugin-syntax-import-assertions" "7.20.0" + "@babel/plugin-syntax-import-assertions" "^7.20.0" "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" - "@graphql-tools/utils" "9.2.1" + "@graphql-tools/utils" "^10.0.13" tslib "^2.4.0" -"@graphql-tools/import@6.7.17": - version "6.7.17" - resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.7.17.tgz#ab51ed08bcbf757f952abf3f40793ce3db42d4a3" - integrity sha512-bn9SgrECXq3WIasgNP7ful/uON51wBajPXtxdY+z/ce7jLWaFE6lzwTDB/GAgiZ+jo7nb0ravlxteSAz2qZmuA== +"@graphql-tools/import@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-7.0.0.tgz#a6a91a90a707d5f46bad0fd3fde2f407b548b2be" + integrity sha512-NVZiTO8o1GZs6OXzNfjB+5CtQtqsZZpQOq+Uu0w57kdUkT4RlQKlwhT8T81arEsbV55KpzkpFsOZP7J1wdmhBw== dependencies: - "@graphql-tools/utils" "9.2.1" + "@graphql-tools/utils" "^10.0.0" resolve-from "5.0.0" tslib "^2.4.0" -"@graphql-tools/json-file-loader@^7.3.7", "@graphql-tools/json-file-loader@^7.4.1": - version "7.4.17" - resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-7.4.17.tgz#3f08e74ab1a3534c02dc97875acc7f15aa460011" - integrity sha512-KOSTP43nwjPfXgas90rLHAFgbcSep4nmiYyR9xRVz4ZAmw8VYHcKhOLTSGylCAzi7KUfyBXajoW+6Z7dQwdn3g== +"@graphql-tools/json-file-loader@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-8.0.0.tgz#9b1b62902f766ef3f1c9cd1c192813ea4f48109c" + integrity sha512-ki6EF/mobBWJjAAC84xNrFMhNfnUFD6Y0rQMGXekrUgY0NdeYXHU0ZUgHzC9O5+55FslqUmAUHABePDHTyZsLg== dependencies: - "@graphql-tools/utils" "9.2.1" + "@graphql-tools/utils" "^10.0.0" globby "^11.0.3" tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/load@^7.5.5", "@graphql-tools/load@^7.8.0": - version "7.8.12" - resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.8.12.tgz#6457fe6ec8cd2e2b5ca0d2752464bc937d186cca" - integrity sha512-JwxgNS2c6i6oIdKttcbXns/lpKiyN7c6/MkkrJ9x2QE9rXk5HOhSJxRvPmOueCuAin1542xUrcDRGBXJ7thSig== +"@graphql-tools/load@^8.0.0": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-8.0.1.tgz#498f2230448601cb87894b8a93df7867daef69ea" + integrity sha512-qSMsKngJhDqRbuWyo3NvakEFqFL6+eSjy8ooJ1o5qYD26N7dqXkKzIMycQsX7rBK19hOuINAUSaRcVWH6hTccw== dependencies: - "@graphql-tools/schema" "9.0.16" - "@graphql-tools/utils" "9.2.1" + "@graphql-tools/schema" "^10.0.0" + "@graphql-tools/utils" "^10.0.11" p-limit "3.1.0" tslib "^2.4.0" -"@graphql-tools/merge@8.3.18", "@graphql-tools/merge@^8.2.6": - version "8.3.18" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.18.tgz#bfbb517c68598a885809f16ce5c3bb1ebb8f04a2" - integrity sha512-R8nBglvRWPAyLpZL/f3lxsY7wjnAeE0l056zHhcO/CgpvK76KYUt9oEkR05i8Hmt8DLRycBN0FiotJ0yDQWTVA== +"@graphql-tools/merge@^9.0.0", "@graphql-tools/merge@^9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-9.0.1.tgz#693f15da152339284469b1ce5c6827e3ae350a29" + integrity sha512-hIEExWO9fjA6vzsVjJ3s0cCQ+Q/BEeMVJZtMXd7nbaVefVy0YDyYlEkeoYYNV3NVVvu1G9lr6DM1Qd0DGo9Caw== dependencies: - "@graphql-tools/utils" "9.2.1" + "@graphql-tools/utils" "^10.0.10" tslib "^2.4.0" "@graphql-tools/optimize@^1.3.0": @@ -1971,26 +1800,32 @@ dependencies: tslib "^2.4.0" -"@graphql-tools/prisma-loader@^7.2.49": - version "7.2.64" - resolved "https://registry.yarnpkg.com/@graphql-tools/prisma-loader/-/prisma-loader-7.2.64.tgz#e9fc85054b15a22a16c8e69ad4f9543da30c0164" - integrity sha512-W8GfzfBKiBSIEgw+/nJk6zUlF6k/jterlNoFhM27mBsbeMtWxKnm1+gEU6KA0N1PNEdq2RIa2W4AfVfVBl2GgQ== +"@graphql-tools/optimize@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/optimize/-/optimize-2.0.0.tgz#7a9779d180824511248a50c5a241eff6e7a2d906" + integrity sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg== dependencies: - "@graphql-tools/url-loader" "7.17.13" - "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + +"@graphql-tools/prisma-loader@^8.0.0": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/prisma-loader/-/prisma-loader-8.0.2.tgz#3a7126ec2389a7aa7846bd0e441629ac5a1934fc" + integrity sha512-8d28bIB0bZ9Bj0UOz9sHagVPW+6AHeqvGljjERtwCnWl8OCQw2c2pNboYXISLYUG5ub76r4lDciLLTU+Ks7Q0w== + dependencies: + "@graphql-tools/url-loader" "^8.0.0" + "@graphql-tools/utils" "^10.0.8" "@types/js-yaml" "^4.0.0" "@types/json-stable-stringify" "^1.0.32" - "@types/jsonwebtoken" "^9.0.0" + "@whatwg-node/fetch" "^0.9.0" chalk "^4.1.0" debug "^4.3.1" dotenv "^16.0.0" - graphql-request "^5.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.0" - isomorphic-fetch "^3.0.0" + graphql-request "^6.0.0" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.0" + jose "^5.0.0" js-yaml "^4.0.0" json-stable-stringify "^1.0.1" - jsonwebtoken "^9.0.0" lodash "^4.17.20" scuid "^1.1.0" tslib "^2.4.0" @@ -2005,36 +1840,45 @@ "@graphql-tools/utils" "9.2.1" tslib "^2.4.0" -"@graphql-tools/schema@9.0.16", "@graphql-tools/schema@^9.0.0": - version "9.0.16" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.16.tgz#7d340d69e6094dc01a2b9e625c7bb4fff89ea521" - integrity sha512-kF+tbYPPf/6K2aHG3e1SWIbapDLQaqnIHVRG6ow3onkFoowwtKszvUyOASL6Krcv2x9bIMvd1UkvRf9OaoROQQ== +"@graphql-tools/relay-operation-optimizer@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.0.0.tgz#24367666af87bc5a81748de5e8e9b3c523fd4207" + integrity sha512-UNlJi5y3JylhVWU4MBpL0Hun4Q7IoJwv9xYtmAz+CgRa066szzY7dcuPfxrA7cIGgG/Q6TVsKsYaiF4OHPs1Fw== dependencies: - "@graphql-tools/merge" "8.3.18" - "@graphql-tools/utils" "9.2.1" + "@ardatan/relay-compiler" "12.0.0" + "@graphql-tools/utils" "^10.0.0" tslib "^2.4.0" - value-or-promise "1.0.12" -"@graphql-tools/url-loader@7.17.13", "@graphql-tools/url-loader@^7.13.2", "@graphql-tools/url-loader@^7.9.7": - version "7.17.13" - resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-7.17.13.tgz#d4ee8193792ab1c42db2fbdf5f6ca75fa819ac40" - integrity sha512-FEmbvw68kxeZLn4VYGAl+NuBPk09ZnxymjW07A6mCtiDayFgYfHdWeRzXn/iM5PzsEuCD73R1sExtNQ/ISiajg== +"@graphql-tools/schema@^10.0.0": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-10.0.2.tgz#21bc2ee25a65fb4890d2e5f9f22ef1f733aa81da" + integrity sha512-TbPsIZnWyDCLhgPGnDjt4hosiNU2mF/rNtSk5BVaXWnZqvKJ6gzJV4fcHcvhRIwtscDMW2/YTnK6dLVnk8pc4w== + dependencies: + "@graphql-tools/merge" "^9.0.1" + "@graphql-tools/utils" "^10.0.10" + tslib "^2.4.0" + value-or-promise "^1.0.12" + +"@graphql-tools/url-loader@^8.0.0": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-8.0.1.tgz#91247247d253c538c4c28376ca74d944fa8cfb82" + integrity sha512-B2k8KQEkEQmfV1zhurT5GLoXo8jbXP+YQHUayhCSxKYlRV7j/1Fhp1b21PDM8LXIDGlDRXaZ0FbWKOs7eYXDuQ== dependencies: "@ardatan/sync-fetch" "^0.0.1" - "@graphql-tools/delegate" "^9.0.27" - "@graphql-tools/executor-graphql-ws" "^0.0.11" - "@graphql-tools/executor-http" "^0.1.7" - "@graphql-tools/executor-legacy-ws" "^0.0.9" - "@graphql-tools/utils" "^9.2.1" - "@graphql-tools/wrap" "^9.3.6" + "@graphql-tools/delegate" "^10.0.0" + "@graphql-tools/executor-graphql-ws" "^1.0.0" + "@graphql-tools/executor-http" "^1.0.5" + "@graphql-tools/executor-legacy-ws" "^1.0.0" + "@graphql-tools/utils" "^10.0.0" + "@graphql-tools/wrap" "^10.0.0" "@types/ws" "^8.0.0" - "@whatwg-node/fetch" "^0.8.0" + "@whatwg-node/fetch" "^0.9.0" isomorphic-ws "^5.0.0" tslib "^2.4.0" value-or-promise "^1.0.11" ws "^8.12.0" -"@graphql-tools/utils@9.2.1", "@graphql-tools/utils@^9.0.0", "@graphql-tools/utils@^9.1.1", "@graphql-tools/utils@^9.2.1": +"@graphql-tools/utils@9.2.1", "@graphql-tools/utils@^9.0.0": version "9.2.1" resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== @@ -2042,6 +1886,16 @@ "@graphql-typed-document-node/core" "^3.1.1" tslib "^2.4.0" +"@graphql-tools/utils@^10.0.0", "@graphql-tools/utils@^10.0.10", "@graphql-tools/utils@^10.0.11", "@graphql-tools/utils@^10.0.13", "@graphql-tools/utils@^10.0.2", "@graphql-tools/utils@^10.0.5", "@graphql-tools/utils@^10.0.8": + version "10.0.13" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-10.0.13.tgz#d0ab7a4dd02a8405f5ef62dd140b7579ba69f8cb" + integrity sha512-fMILwGr5Dm2zefNItjQ6C2rauigklv69LIwppccICuGTnGaOp3DspLt/6Lxj72cbg5d9z60Sr+Egco3CJKLsNg== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + cross-inspect "1.0.0" + dset "^3.1.2" + tslib "^2.4.0" + "@graphql-tools/utils@^8.8.0": version "8.13.1" resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.13.1.tgz#b247607e400365c2cd87ff54654d4ad25a7ac491" @@ -2049,21 +1903,21 @@ dependencies: tslib "^2.4.0" -"@graphql-tools/wrap@^9.3.6": - version "9.3.6" - resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-9.3.6.tgz#23beaf9c3713160adda511c6a498d1c7077c2848" - integrity sha512-HtQIYoPz48bzpMYZzoeMmzIIYuVxcaUuLD7dH7GtIhwe2f4hpPDE+JLUPxpYiaXdY10l7kP9wycK+FtRfCsFlw== +"@graphql-tools/wrap@^10.0.0": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-10.0.1.tgz#9e3d27d2723962c26c4377d5d7ab0d3038bf728c" + integrity sha512-Cw6hVrKGM2OKBXeuAGltgy4tzuqQE0Nt7t/uAqnuokSXZhMHXJUb124Bnvxc2gPZn5chfJSDafDe4Cp8ZAVJgg== dependencies: - "@graphql-tools/delegate" "9.0.27" - "@graphql-tools/schema" "9.0.16" - "@graphql-tools/utils" "9.2.1" + "@graphql-tools/delegate" "^10.0.3" + "@graphql-tools/schema" "^10.0.0" + "@graphql-tools/utils" "^10.0.0" tslib "^2.4.0" - value-or-promise "1.0.12" + value-or-promise "^1.0.12" -"@graphql-typed-document-node/core@3.1.1", "@graphql-typed-document-node/core@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.1.tgz#076d78ce99822258cf813ecc1e7fa460fa74d052" - integrity sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg== +"@graphql-typed-document-node/core@3.2.0", "@graphql-typed-document-node/core@^3.1.1", "@graphql-typed-document-node/core@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" + integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== "@humanwhocodes/config-array@^0.11.8": version "0.11.8" @@ -2140,6 +1994,11 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" +"@kamilkisiela/fast-url-parser@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@kamilkisiela/fast-url-parser/-/fast-url-parser-1.1.4.tgz#9d68877a489107411b953c54ea65d0658b515809" + integrity sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew== + "@mapbox/hast-util-table-cell-style@^0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@mapbox/hast-util-table-cell-style/-/hast-util-table-cell-style-0.2.0.tgz#1003f59d54fae6f638cb5646f52110fb3da95b4d" @@ -2200,7 +2059,7 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== -"@repeaterjs/repeater@3.0.4", "@repeaterjs/repeater@^3.0.4": +"@repeaterjs/repeater@^3.0.4": version "3.0.4" resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.4.tgz#a04d63f4d1bf5540a41b01a921c9a7fddc3bd1ca" integrity sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA== @@ -2229,11 +2088,6 @@ dependencies: webcomponents.js "git+https://git@github.com/webcomponents/webcomponentsjs.git#v0.7.24" -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" @@ -2259,12 +2113,12 @@ resolved "https://registry.yarnpkg.com/@tweenjs/tween.js/-/tween.js-18.6.4.tgz#40a3d0a93647124872dec8e0fd1bd5926695b6ca" integrity sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ== -"@types/apollo-upload-client@^17.0.2": - version "17.0.2" - resolved "https://registry.yarnpkg.com/@types/apollo-upload-client/-/apollo-upload-client-17.0.2.tgz#15dc737663928be27c768117603dfc23c21514bb" - integrity sha512-NphAiBqzZv3iY8Cq+qWyi0QUFFzJ+nVd7QKI/iKV8RfILrpYDL69F/vlhjn4BNxKlmc3LxJHymcf3gFzLBwuZQ== +"@types/apollo-upload-client@^18.0.0": + version "18.0.0" + resolved "https://registry.yarnpkg.com/@types/apollo-upload-client/-/apollo-upload-client-18.0.0.tgz#1f7e2ff0c0e6508bc1bd19b2340339c7abd117c3" + integrity sha512-cMgITNemktxasqvp6jiPj15dv84n3FTMvMoYBP1+xonDS+0l6JygIJrj2LJh85rShRzTOOkrElrAsCXXARa3KA== dependencies: - "@apollo/client" "^3.7.0" + "@apollo/client" "^3.8.0" "@types/extract-files" "*" graphql "14 - 16" @@ -2307,9 +2161,9 @@ integrity sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow== "@types/extract-files@*": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@types/extract-files/-/extract-files-8.1.1.tgz#11b67e795ad2c8b483431e8d4f190db2fd22944b" - integrity sha512-dMJJqBqyhsfJKuK7p7HyyNmki7qj1AlwhUKWx6KrU7i1K2T2SPsUsSUTWFmr/sEM1q8rfR8j5IyUmYrDbrhfjQ== + version "13.0.1" + resolved "https://registry.yarnpkg.com/@types/extract-files/-/extract-files-13.0.1.tgz#3ec057a3fa25f778245a76a17271d23b71ee31d7" + integrity sha512-/fRbzc2lAd7jDJSSnxWiUyXWjdUZZ4HbISLJzVgt1AvrdOa7U49YRPcvuCUywkmURZ7uwJOheDjx19itbQ5KvA== "@types/fs-extra@^9.0.1": version "9.0.13" @@ -2356,13 +2210,6 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/jsonwebtoken@^9.0.0": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz#29b1369c4774200d6d6f63135bf3d1ba3ef997a4" - integrity sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw== - dependencies: - "@types/node" "*" - "@types/lodash-es@^4.17.6": version "4.17.6" resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.6.tgz#c2ed4c8320ffa6f11b43eb89e9eaeec65966a0a0" @@ -2711,18 +2558,12 @@ resolved "https://registry.yarnpkg.com/@whatwg-node/events/-/events-0.0.2.tgz#7b7107268d2982fc7b7aff5ee6803c64018f84dd" integrity sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w== -"@whatwg-node/fetch@^0.6.0": - version "0.6.9" - resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.6.9.tgz#6cc694cc0378e27b8dfed427c5bf633eda6972b9" - integrity sha512-JfrBCJdMu9n9OARc0e/hPHcD98/8Nz1CKSdGYDg6VbObDkV/Ys30xe5i/wPOatYbxuvatj1kfWeHf7iNX3i17w== - dependencies: - "@peculiar/webcrypto" "^1.4.0" - "@whatwg-node/node-fetch" "^0.0.5" - busboy "^1.6.0" - urlpattern-polyfill "^6.0.2" - web-streams-polyfill "^3.2.1" +"@whatwg-node/events@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@whatwg-node/events/-/events-0.1.1.tgz#0ca718508249419587e130da26d40e29d99b5356" + integrity sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w== -"@whatwg-node/fetch@^0.8.0", "@whatwg-node/fetch@^0.8.1": +"@whatwg-node/fetch@^0.8.0": version "0.8.1" resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.8.1.tgz#ee3c94746132f217e17f78f9e073bb342043d630" integrity sha512-Fkd1qQHK2tAWxKlC85h9L86Lgbq3BzxMnHSnTsnzNZMMzn6Xi+HlN8/LJ90LxorhSqD54td+Q864LgwUaYDj1Q== @@ -2733,14 +2574,13 @@ urlpattern-polyfill "^6.0.2" web-streams-polyfill "^3.2.1" -"@whatwg-node/node-fetch@^0.0.5": - version "0.0.5" - resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.0.5.tgz#bebf18891088e5e2fc449dea8d1bc94af5ec38df" - integrity sha512-hbccmaSZaItdsRuBKBEEhLoO+5oXJPxiyd0kG2xXd0Dh3Rt+vZn4pADHxuSiSHLd9CM+S2z4+IxlEGbWUgiz9g== +"@whatwg-node/fetch@^0.9.0": + version "0.9.16" + resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.9.16.tgz#c833eb714f41f5d2caf1a345bed7a05f56db7b16" + integrity sha512-mqasZiUNquRe3ea9+aCAuo81BR6vq5opUKprPilIHTnrg8a21Z1T1OrI+KiMFX8OmwO5HUJe/vro47lpj2JPWQ== dependencies: - "@whatwg-node/events" "^0.0.2" - busboy "^1.6.0" - tslib "^2.3.1" + "@whatwg-node/node-fetch" "^0.5.5" + urlpattern-polyfill "^10.0.0" "@whatwg-node/node-fetch@^0.3.0": version "0.3.0" @@ -2753,6 +2593,24 @@ fast-url-parser "^1.1.3" tslib "^2.3.1" +"@whatwg-node/node-fetch@^0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.5.5.tgz#40c45e5f5f4185fa3391ff75f619287e0f225c7f" + integrity sha512-LhE0Oo95+dOrrzrJncrpCaR3VHSjJ5Gvkl5g9WVfkPKSKkxCbMeOsRQ+v9LrU9lRvXBJn8JicXqSufKFEpyRbQ== + dependencies: + "@kamilkisiela/fast-url-parser" "^1.1.4" + "@whatwg-node/events" "^0.1.0" + busboy "^1.6.0" + fast-querystring "^1.1.1" + tslib "^2.3.1" + +"@wry/caches@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@wry/caches/-/caches-1.0.1.tgz#8641fd3b6e09230b86ce8b93558d44cf1ece7e52" + integrity sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== + dependencies: + tslib "^2.3.0" + "@wry/context@^0.7.0": version "0.7.0" resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.0.tgz#be88e22c0ddf62aeb0ae9f95c3d90932c619a5c8" @@ -2760,27 +2618,27 @@ dependencies: tslib "^2.3.0" -"@wry/equality@^0.5.0": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.3.tgz#fafebc69561aa2d40340da89fa7dc4b1f6fb7831" - integrity sha512-avR+UXdSrsF2v8vIqIgmeTY0UR91UT+IyablCyKe/uk22uOJ8fusKZnH9JH9e1/EtLeNJBtagNmL3eJdnOV53g== - dependencies: - tslib "^2.3.0" - -"@wry/trie@^0.3.0": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.2.tgz#a06f235dc184bd26396ba456711f69f8c35097e6" - integrity sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ== +"@wry/equality@^0.5.6": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.7.tgz#72ec1a73760943d439d56b7b1e9985aec5d497bb" + integrity sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== dependencies: tslib "^2.3.0" -"@wry/trie@^0.4.0": +"@wry/trie@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.4.3.tgz#077d52c22365871bf3ffcbab8e95cb8bc5689af4" integrity sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== dependencies: tslib "^2.3.0" +"@wry/trie@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.5.0.tgz#11e783f3a53f6e4cd1d42d2d1323f5bc3fa99c94" + integrity sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== + dependencies: + tslib "^2.3.0" + "@xmldom/xmldom@^0.8.3": version "0.8.6" resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.6.tgz#8a1524eb5bd5e965c1e3735476f0262469f71440" @@ -2811,12 +2669,12 @@ aes-decrypter@3.1.3: global "^4.4.0" pkcs7 "^1.0.4" -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== +agent-base@^7.0.2, agent-base@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" + integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== dependencies: - debug "4" + debug "^4.3.4" aggregate-error@^3.0.0: version "3.1.0" @@ -2899,12 +2757,12 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -apollo-upload-client@^17.0.0: - version "17.0.0" - resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-17.0.0.tgz#d9baaff8d14e54510de9f2855b487e75ca63b392" - integrity sha512-pue33bWVbdlXAGFPkgz53TTmxVMrKeQr0mdRcftNY+PoHIdbGZD0hoaXHvO6OePJAkFz7OiCFUf98p1G/9+Ykw== +apollo-upload-client@^18.0.1: + version "18.0.1" + resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-18.0.1.tgz#e3811f2f5a36bffef23954f796daf331be748dcb" + integrity sha512-OQvZg1rK05VNI79D658FUmMdoI2oB/KJKb6QGMa2Si25QXOaAvLMBFUEwJct7wf+19U8vk9ILhidBOU1ZWv6QA== dependencies: - extract-files "^11.0.0" + extract-files "^13.0.0" arg@^4.1.0: version "4.1.3" @@ -3006,11 +2864,6 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" @@ -3213,15 +3066,15 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5: - version "4.21.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" - integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== +browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5, browserslist@^4.22.2: + version "4.22.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.3.tgz#299d11b7e947a6b843981392721169e27d60c5a6" + integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A== dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" + caniuse-lite "^1.0.30001580" + electron-to-chromium "^1.4.648" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" bser@2.1.1: version "2.1.1" @@ -3230,11 +3083,6 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" -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" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -3305,10 +3153,10 @@ camelcase@^6.3.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001449: - version "1.0.30001453" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001453.tgz#6d3a1501622bf424a3cee5ad9550e640b0de3de8" - integrity sha512-R9o/uySW38VViaTrOtwfbFEiBFUh7ST3uIG4OEymIG3/uKdHDO4xk/FaqfUw0d+irSUyFPy3dZszf9VvSTPnsA== +caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001580: + version "1.0.30001580" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001580.tgz#e3c76bc6fe020d9007647044278954ff8cd17d1e" + integrity sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA== capital-case@^1.0.4: version "1.0.4" @@ -3420,7 +3268,7 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.2: +"chokidar@>=3.0.0 <4.0.0": version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -3532,13 +3380,6 @@ colorette@^2.0.16: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - comma-separated-tokens@^1.0.0: version "1.0.8" resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" @@ -3578,6 +3419,11 @@ convert-source-map@^1.5.0, convert-source-map@^1.7.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cookie@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" @@ -3595,21 +3441,6 @@ core-js@^3.27.2: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a" integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw== -cosmiconfig-typescript-loader@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz#c4259ce474c9df0f32274ed162c0447c951ef073" - integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== - -cosmiconfig@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.0.0.tgz#e9feae014eab580f858f8a0288f38997a7bebe97" - integrity sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ== - dependencies: - import-fresh "^3.2.1" - js-yaml "^4.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - cosmiconfig@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" @@ -3621,14 +3452,14 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -cosmiconfig@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd" - integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ== +cosmiconfig@^8.1.0, cosmiconfig@^8.1.3, cosmiconfig@^8.2.0: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== dependencies: - import-fresh "^3.2.1" + import-fresh "^3.3.0" js-yaml "^4.1.0" - parse-json "^5.0.0" + parse-json "^5.2.0" path-type "^4.0.0" create-require@^1.1.0: @@ -3643,6 +3474,13 @@ cross-fetch@^3.1.5: dependencies: node-fetch "2.6.7" +cross-inspect@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cross-inspect/-/cross-inspect-1.0.0.tgz#5fda1af759a148594d2d58394a9e21364f6849af" + integrity sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ== + dependencies: + tslib "^2.4.0" + cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -3696,7 +3534,7 @@ dashjs@^4.2.0: path-browserify "^1.0.1" ua-parser-js "^1.0.2" -dataloader@2.2.2: +dataloader@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.2.2.tgz#216dc509b5abe39d43a9b9d97e6e5e473dfbe3e0" integrity sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g== @@ -3791,11 +3629,6 @@ define-properties@^1.1.3, define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - dependency-graph@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" @@ -3873,17 +3706,10 @@ dset@^3.1.2: resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.2.tgz#89c436ca6450398396dc6538ea00abc0c54cd45a" integrity sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q== -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" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -electron-to-chromium@^1.4.284: - version "1.4.299" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.299.tgz#faa2069cd4879a73e540e533178db5c618768d41" - integrity sha512-lQ7ijJghH6pCGbfWXr6EY+KYCMaRSjgsY925r1p/TlpSfVM1VjHTcn1gAc15VM4uwti283X6QtjPTXdpoSGiZQ== +electron-to-chromium@^1.4.284, electron-to-chromium@^1.4.648: + version "1.4.648" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.648.tgz#c7b46c9010752c37bb4322739d6d2dd82354fbe4" + integrity sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg== emoji-regex@^8.0.0: version "8.0.0" @@ -4285,10 +4111,12 @@ extract-files@^11.0.0: resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-11.0.0.tgz#b72d428712f787eef1f5193aff8ab5351ca8469a" integrity sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ== -extract-files@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a" - integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ== +extract-files@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-13.0.0.tgz#9065073dedbcfb5e2ae8a90988cf609834b217ec" + integrity sha512-FXD+2Tsr8Iqtm3QZy1Zmwscca7Jx3mMC5Crr+sEP1I303Jy1CYMuYCm7hRTplFNg3XdUavErkxnTzpaqdSoi6g== + dependencies: + is-plain-obj "^4.1.0" extract-react-intl-messages@^4.1.1: version "4.1.1" @@ -4480,15 +4308,6 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - formik@^2.4.5: version "2.4.5" resolved "https://registry.yarnpkg.com/formik/-/formik-2.4.5.tgz#f899b5b7a6f103a8fabb679823e8fafc7e0ee1b4" @@ -4692,31 +4511,30 @@ grapheme-splitter@^1.0.4: resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== -graphql-config@^4.4.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-4.4.1.tgz#2b1b5215b38911c0b15ff9b2e878101c984802d6" - integrity sha512-B8wlvfBHZ5WnI4IiuQZRqql6s+CKz7S+xpUeTb28Z8nRBi8tH9ChEBgT5FnTyE05PUhHlrS2jK9ICJ4YBl9OtQ== - dependencies: - "@graphql-tools/graphql-file-loader" "^7.3.7" - "@graphql-tools/json-file-loader" "^7.3.7" - "@graphql-tools/load" "^7.5.5" - "@graphql-tools/merge" "^8.2.6" - "@graphql-tools/url-loader" "^7.9.7" - "@graphql-tools/utils" "^9.0.0" - cosmiconfig "8.0.0" - minimatch "4.2.1" - string-env-interpolation "1.0.1" +graphql-config@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-5.0.3.tgz#d9aa2954cf47a927f9cb83cdc4e42ae55d0b321e" + integrity sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ== + dependencies: + "@graphql-tools/graphql-file-loader" "^8.0.0" + "@graphql-tools/json-file-loader" "^8.0.0" + "@graphql-tools/load" "^8.0.0" + "@graphql-tools/merge" "^9.0.0" + "@graphql-tools/url-loader" "^8.0.0" + "@graphql-tools/utils" "^10.0.0" + cosmiconfig "^8.1.0" + jiti "^1.18.2" + minimatch "^4.2.3" + string-env-interpolation "^1.0.1" tslib "^2.4.0" -graphql-request@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-5.1.0.tgz#dbc8feee27d21b993cd5da2d3af67821827b240a" - integrity sha512-0OeRVYigVwIiXhNmqnPDt+JhMzsjinxHE7TVy3Lm6jUzav0guVcL0lfSbi6jVTRAxcbwgyr6yrZioSHxf9gHzw== +graphql-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-6.1.0.tgz#f4eb2107967af3c7a5907eb3131c671eac89be4f" + integrity sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw== dependencies: - "@graphql-typed-document-node/core" "^3.1.1" + "@graphql-typed-document-node/core" "^3.2.0" cross-fetch "^3.1.5" - extract-files "^9.0.0" - form-data "^3.0.0" graphql-tag@^2.11.0, graphql-tag@^2.12.6: version "2.12.6" @@ -4725,10 +4543,10 @@ graphql-tag@^2.11.0, graphql-tag@^2.12.6: dependencies: tslib "^2.1.0" -graphql-ws@5.11.3, graphql-ws@^5.11.3: - version "5.11.3" - resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.11.3.tgz#eaf8e6baf669d167975cff13ad86abca4ecfe82f" - integrity sha512-fU8zwSgAX2noXAsuFiCZ8BtXeXZOzXyK5u1LloCdacsVth4skdBMPO74EG51lBoWSIZ8beUocdpV8+cQHBODnQ== +graphql-ws@^5.14.0, graphql-ws@^5.14.3: + version "5.14.3" + resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.14.3.tgz#fb1fba011a0ae9c4e86d831cae2ec27955168b9a" + integrity sha512-F/i2xNIVbaEF2xWggID0X/UZQa2V8kqKDPO8hwmu53bVOcTL7uNkxnexeEgSCVxYBQUTUNEI8+e4LO1FOhKPKQ== "graphql@14 - 16", graphql@^16.8.1: version "16.8.1" @@ -4846,21 +4664,20 @@ html-tags@^3.3.1: resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== +http-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz#e9096c5afd071a3fce56e6252bb321583c124673" + integrity sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ== dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" + agent-base "^7.1.0" + debug "^4.3.4" -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== +https-proxy-agent@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" + integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== dependencies: - agent-base "6" + agent-base "^7.0.2" debug "4" i18n-iso-countries@^7.5.0: @@ -4902,7 +4719,7 @@ immutable@~3.7.6: resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" integrity sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw== -import-fresh@^3.0.0, import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -5112,14 +4929,7 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.11.0, is-core-module@^2.5.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -is-core-module@^2.13.0, is-core-module@^2.9.0: +is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.9.0: version "2.13.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== @@ -5214,6 +5024,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@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + is-plain-object@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" @@ -5335,19 +5150,21 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isomorphic-fetch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4" - integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== - dependencies: - node-fetch "^2.6.1" - whatwg-fetch "^3.4.1" - -isomorphic-ws@5.0.0, isomorphic-ws@^5.0.0: +isomorphic-ws@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== +jiti@^1.17.1, jiti@^1.18.2: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +jose@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/jose/-/jose-5.2.0.tgz#d0ffd7f7e31253f633eefb190a930cd14a916995" + integrity sha512-oW3PCnvyrcm1HMvGTzqjxxfnEs9EoFOFWi2HsEGhlFVOXxTE3K9GKWVMFoFw06yPUqwpvEWic1BmtUZBI/tIjw== + js-sdsl@^4.1.4: version "4.3.0" resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" @@ -5432,7 +5249,7 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.2, json5@^2.2.2: +json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -5451,16 +5268,6 @@ jsonify@^0.0.1: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== -jsonwebtoken@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" - integrity sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw== - dependencies: - jws "^3.2.2" - lodash "^4.17.21" - ms "^2.1.1" - semver "^7.3.8" - "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" @@ -5469,23 +5276,6 @@ jsonwebtoken@^9.0.0: array-includes "^3.1.5" object.assign "^4.1.3" -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - keycode@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.1.tgz#09c23b2be0611d26117ea2501c2c391a01f39eff" @@ -5957,18 +5747,6 @@ micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -5986,13 +5764,6 @@ min-indent@^1.0.0, min-indent@^1.0.1: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4" - integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== - dependencies: - brace-expansion "^1.1.7" - minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -6000,6 +5771,13 @@ minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" +minimatch@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.3.tgz#b4dcece1d674dee104bb0fb833ebb85a78cbbca6" + integrity sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng== + dependencies: + brace-expansion "^1.1.7" + minimist-options@4.1.0, minimist-options@^4.0.2: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -6109,10 +5887,10 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.8: - version "2.0.10" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" - integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== +node-releases@^2.0.14, node-releases@^2.0.8: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== normalize-package-data@^2.5.0: version "2.5.0" @@ -6243,13 +6021,15 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -optimism@^0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.2.tgz#519b0c78b3b30954baed0defe5143de7776bf081" - integrity sha512-zWNbgWj+3vLEjZNIh/okkY2EUfX+vB9TJopzIZwT1xxaMqC5hRLLraePod4c5n4He08xuXNH+zhKFFCu390wiQ== +optimism@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.18.0.tgz#e7bb38b24715f3fdad8a9a7fc18e999144bbfa63" + integrity sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== dependencies: + "@wry/caches" "^1.0.0" "@wry/context" "^0.7.0" - "@wry/trie" "^0.3.0" + "@wry/trie" "^0.4.3" + tslib "^2.3.0" optionator@^0.9.1: version "0.9.1" @@ -6644,16 +6424,11 @@ react-fast-compare@^2.0.1: resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== -react-fast-compare@^3.0.1: +react-fast-compare@^3.0.1, react-fast-compare@^3.1.1: version "3.2.1" resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.1.tgz#53933d9e14f364281d6cba24bfed7a4afb808b5f" integrity sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg== -react-fast-compare@^3.1.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" @@ -7049,16 +6824,7 @@ resolve-pathname@^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@^1.10.0, resolve@^1.14.2, resolve@^1.19.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.22.1: +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.1: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -7139,7 +6905,7 @@ rxjs@^7.5.5: dependencies: tslib "^2.1.0" -safe-buffer@^5.0.1, 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== @@ -7216,12 +6982,12 @@ scuid@^1.1.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.7, semver@^7.3.8: +semver@^7.3.4, semver@^7.3.7: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -7414,7 +7180,7 @@ string-convert@^0.2.0: resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== -string-env-interpolation@1.0.1, string-env-interpolation@^1.0.1: +string-env-interpolation@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152" integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg== @@ -7798,16 +7564,21 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.4.1, tslib@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.4.1, tslib@^2.5.0, tslib@~2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== tslib@~2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== +tslib@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -7883,12 +7654,7 @@ ua-parser-js@^0.7.30: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.33.tgz#1d04acb4ccef9293df6f70f2c3d22f3030d8b532" integrity sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw== -ua-parser-js@^1.0.2: - version "1.0.33" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.33.tgz#f21f01233e90e7ed0f059ceab46eb190ff17f8f4" - integrity sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ== - -ua-parser-js@^1.0.34: +ua-parser-js@^1.0.2, ua-parser-js@^1.0.34: version "1.0.34" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.34.tgz#b33f41c415325839f354005d25a2f588be296976" integrity sha512-K9mwJm/DaB6mRLZfw6q8IMXipcrmuT6yfhYmwhAkuh+81sChuYstYA+znlgaflUPaYUa3odxKPKGw6Vw/lANew== @@ -8036,10 +7802,10 @@ unixify@^1.0.0: dependencies: normalize-path "^2.1.1" -update-browserslist-db@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== +update-browserslist-db@^1.0.10, update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -8070,6 +7836,11 @@ url-toolkit@^2.2.1: resolved "https://registry.yarnpkg.com/url-toolkit/-/url-toolkit-2.2.5.tgz#58406b18e12c58803e14624df5e374f638b0f607" integrity sha512-mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg== +urlpattern-polyfill@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz#f0a03a97bfb03cdf33553e5e79a2aadd22cac8ec" + integrity sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg== + urlpattern-polyfill@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-6.0.2.tgz#a193fe773459865a2a5c93b246bb794b13d07256" @@ -8105,7 +7876,7 @@ value-equal@^1.0.1: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== -value-or-promise@1.0.12, value-or-promise@^1.0.11, value-or-promise@^1.0.12: +value-or-promise@^1.0.11, value-or-promise@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== @@ -8283,11 +8054,6 @@ webvr-polyfill@0.10.12: dependencies: cardboard-vr-display "^1.0.19" -whatwg-fetch@^3.4.1: - version "3.6.2" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" - integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== - whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -8406,10 +8172,10 @@ write-json-file@^4.3.0: sort-keys "^4.0.0" write-file-atomic "^3.0.0" -ws@8.12.1, ws@^8.12.0: - version "8.12.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f" - integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew== +ws@^8.12.0, ws@^8.13.0, ws@^8.15.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== xtend@^4.0.0: version "4.0.2" @@ -8446,6 +8212,11 @@ yaml@^1.10.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yaml@^2.3.1: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + yargs-parser@^18.1.2, yargs-parser@^18.1.3: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"