From bc1623ec9963bb20f390666c6858829e7f2b267f Mon Sep 17 00:00:00 2001 From: Dimitri POSTOLOV Date: Wed, 30 Mar 2022 03:40:37 +0200 Subject: [PATCH] setup codegen --- api/README.md | 4 +- api/codegen.yml | 11 + api/package.json | 6 +- api/src/generated/graphql.ts | 4032 ++++++++++++++++++++++++++ api/src/i18n.ts | 4 +- api/src/resolvers/brackets.ts | 29 +- api/src/resolvers/categories.ts | 65 +- api/src/resolvers/demographics.ts | 172 +- api/src/resolvers/entities.ts | 95 +- api/src/resolvers/environments.ts | 23 +- api/src/resolvers/features.ts | 95 +- api/src/resolvers/features_others.ts | 35 +- api/src/resolvers/happiness.ts | 41 +- api/src/resolvers/index.ts | 107 +- api/src/resolvers/matrices.ts | 77 +- api/src/resolvers/opinions.ts | 48 +- api/src/resolvers/proficiency.ts | 5 +- api/src/resolvers/query.ts | 45 +- api/src/resolvers/resources.ts | 5 +- api/src/resolvers/surveys.ts | 246 +- api/src/resolvers/tools.ts | 134 +- api/src/resolvers/tools_others.ts | 6 +- api/src/resolvers/totals.ts | 16 +- api/webpack.common.js | 8 +- api/yarn.lock | 2659 ++++++++++++++++- 25 files changed, 7209 insertions(+), 759 deletions(-) create mode 100644 api/codegen.yml create mode 100644 api/src/generated/graphql.ts diff --git a/api/README.md b/api/README.md index e0b85830e..ab45f8854 100644 --- a/api/README.md +++ b/api/README.md @@ -8,7 +8,7 @@ Create an `.env` file at the root of the `api` directory: -``` +```dotenv # MongoDB connection string and database name MONGO_URI=*** MONGO_DB_NAME=*** @@ -35,7 +35,7 @@ Note: contact me (Sacha) on [Discord](https://discord.gg/zRDb35jfrt) if you need ## Running the App -``` +```sh npm run dev npm run dev:clean # run without cache ``` diff --git a/api/codegen.yml b/api/codegen.yml new file mode 100644 index 000000000..3405c3305 --- /dev/null +++ b/api/codegen.yml @@ -0,0 +1,11 @@ +overwrite: true +schema: + - src/type_defs/*.graphql: + skipGraphQLImport: true # skip #import comments +generates: + src/generated/graphql.ts: + plugins: + - typescript + - typescript-resolvers + config: + contextType: ../types#RequestContext diff --git a/api/package.json b/api/package.json index a532e12ef..833793405 100644 --- a/api/package.json +++ b/api/package.json @@ -21,12 +21,15 @@ "write-file-webpack-plugin": "^4.5.1" }, "devDependencies": { - "@types/node-fetch": "^2.5.12", + "@graphql-codegen/cli": "^2.6.2", + "@graphql-codegen/typescript": "^2.4.8", + "@graphql-codegen/typescript-resolvers": "^2.6.1", "@types/js-yaml": "^4.0.3", "@types/lodash": "^4.14.175", "@types/marked": "^2.0.4", "@types/mongodb": "^4.0.7", "@types/node": "^16.7.0", + "@types/node-fetch": "^2.5.12", "@types/webpack-env": "^1.16.3", "clean-webpack-plugin": "4.0.0", "copy-webpack-plugin": "^9.0.1", @@ -44,6 +47,7 @@ }, "scripts": { "build": "NODE_ENV=production webpack --config webpack.production.js", + "prebuild": "graphql-codegen --config codegen.yml", "dev": "NODE_ENV=development webpack --config webpack.development.js", "dev:clean": "NODE_ENV=development DISABLE_CACHE=true webpack --config webpack.development.js", "fmt": "prettier --write \"src/**/*.{ts,js,mjs,yml,graphql}\"", diff --git a/api/src/generated/graphql.ts b/api/src/generated/graphql.ts new file mode 100644 index 000000000..cd6b37cac --- /dev/null +++ b/api/src/generated/graphql.ts @@ -0,0 +1,4032 @@ +import { GraphQLResolveInfo } from 'graphql'; +import { RequestContext } from '../types'; +export type Maybe = T | null; +export type InputMaybe = Maybe; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +export type RequireFields = Omit & { [P in K]-?: NonNullable }; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: string; + String: string; + Boolean: boolean; + Int: number; + Float: number; +}; + +/** Other Types (get rid of this later?) */ +export type Age = { + __typename?: 'Age'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +/** Other Types (get rid of this later?) */ +export type AgeYearArgs = { + year: Scalars['Int']; +}; + +export enum AgeRange { + Range_10_18 = 'range_10_18', + Range_18_24 = 'range_18_24', + Range_25_34 = 'range_25_34', + Range_35_44 = 'range_35_44', + Range_45_54 = 'range_45_54', + Range_55_64 = 'range_55_64', + RangeLessThan_10 = 'range_less_than_10', + RangeMoreThan_65 = 'range_more_than_65' +} + +export enum BracketId { + OpinionsCssPainPoints = 'opinions__css_pain_points', + OpinionsCurrentlyMissingFromCss = 'opinions__currently_missing_from_css', + OpinionsCurrentlyMissingFromJs = 'opinions__currently_missing_from_js', + OpinionsJsPainPoints = 'opinions__js_pain_points', + ToolsOthersToolEvaluation = 'tools_others__tool_evaluation' +} + +export enum BracketKey { + Combined = 'combined', + Round1 = 'round1', + Round2 = 'round2', + Round3 = 'round3' +} + +/** + * Bracket Matchups + * (how a player fared against other players) + */ +export type BracketMatchupStats = { + __typename?: 'BracketMatchupStats'; + count?: Maybe; + id?: Maybe; + percentage?: Maybe; +}; + +export type BracketMatchups = { + __typename?: 'BracketMatchups'; + all_years?: Maybe>>; + id: BracketId; + year?: Maybe; +}; + + +export type BracketMatchupsYearArgs = { + year: Scalars['Int']; +}; + +export type BracketMatchupsBucket = { + __typename?: 'BracketMatchupsBucket'; + id?: Maybe; + matchups?: Maybe>>; +}; + +export type BracketMatchupsFacet = { + __typename?: 'BracketMatchupsFacet'; + buckets?: Maybe>>; + completion?: Maybe; + id?: Maybe; + type?: Maybe; +}; + +export type BracketWins = { + __typename?: 'BracketWins'; + all_years?: Maybe>>; + id: BracketId; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type BracketWinsYearArgs = { + year: Scalars['Int']; +}; + +export type BracketWinsBucket = { + __typename?: 'BracketWinsBucket'; + combined?: Maybe; + id?: Maybe; + round1?: Maybe; + round2?: Maybe; + round3?: Maybe; +}; + +export type BracketWinsFacet = { + __typename?: 'BracketWinsFacet'; + buckets?: Maybe>>; + completion?: Maybe; + id?: Maybe; + type?: Maybe; +}; + +/** + * Bracket Wins + * (how many wins a player has accumulated) + */ +export type BracketWinsStats = { + __typename?: 'BracketWinsStats'; + count?: Maybe; + percentage?: Maybe; +}; + +/** CanIUse Info */ +export type CanIUse = { + __typename?: 'CanIUse'; + name?: Maybe; + url?: Maybe; +}; + +/** Category */ +export type Category = { + __typename?: 'Category'; + happiness?: Maybe; + tools_others?: Maybe; +}; + + +/** Category */ +export type CategoryHappinessArgs = { + filters?: InputMaybe; +}; + + +/** Category */ +export type CategoryTools_OthersArgs = { + filters?: InputMaybe; +}; + +/** Happiness */ +export type CategoryHappiness = { + __typename?: 'CategoryHappiness'; + all_years?: Maybe>>; + id: CategoryId; + year?: Maybe; +}; + + +/** Happiness */ +export type CategoryHappinessYearArgs = { + year: Scalars['Int']; +}; + +export enum CategoryId { + BackEndFrameworks = 'back_end_frameworks', + CssFrameworks = 'css_frameworks', + CssInJs = 'css_in_js', + CssMethodologies = 'css_methodologies', + DataLayer = 'data_layer', + FrontEndFrameworks = 'front_end_frameworks', + JavascriptFlavors = 'javascript_flavors', + MobileDesktop = 'mobile_desktop', + PrePostProcessors = 'pre_post_processors', + Testing = 'testing' +} + +/** Other Tools */ +export type CategoryOtherTools = { + __typename?: 'CategoryOtherTools'; + all_years?: Maybe>>; + id: CategoryId; + year?: Maybe; +}; + + +/** Other Tools */ +export type CategoryOtherToolsYearArgs = { + year: Scalars['Int']; +}; + +export type CompanySize = { + __typename?: 'CompanySize'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type CompanySizeYearArgs = { + year: Scalars['Int']; +}; + +export type CompanySizeFilter = { + eq?: InputMaybe; + in?: InputMaybe>>; + nin?: InputMaybe>>; +}; + +export enum CompanySizeRange { + Range_1 = 'range_1', + Range_1_5 = 'range_1_5', + Range_5_10 = 'range_5_10', + Range_10_20 = 'range_10_20', + Range_20_50 = 'range_20_50', + Range_50_100 = 'range_50_100', + Range_100_1000 = 'range_100_1000', + RangeMoreThan_1000 = 'range_more_than_1000' +} + +export enum Contexts { + Accounts = 'accounts', + Common = 'common', + Entities = 'entities', + Features = 'features', + Homepage = 'homepage', + HowToHelp = 'how_to_help', + Projects = 'projects', + Results = 'results', + StateOfCss = 'state_of_css', + StateOfCss_2020 = 'state_of_css_2020', + StateOfCss_2020Survey = 'state_of_css_2020_survey', + StateOfCss_2021 = 'state_of_css_2021', + StateOfCss_2021Results = 'state_of_css_2021_results', + StateOfCss_2021Survey = 'state_of_css_2021_survey', + StateOfJs = 'state_of_js', + StateOfJs_2020 = 'state_of_js_2020', + StateOfJs_2020Survey = 'state_of_js_2020_survey', + StateOfJs_2021 = 'state_of_js_2021', + StateOfJs_2021Results = 'state_of_js_2021_results', + StateOfJs_2021Survey = 'state_of_js_2021_survey', + Surveys = 'surveys' +} + +export type Country = { + __typename?: 'Country'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type CountryYearArgs = { + year: Scalars['Int']; +}; + +export type CountryFilter = { + eq?: InputMaybe; + in?: InputMaybe>>; + nin?: InputMaybe>>; +}; + +export enum CountryId { + Abw = 'ABW', + Afg = 'AFG', + Ago = 'AGO', + Aia = 'AIA', + Ala = 'ALA', + Alb = 'ALB', + And = 'AND', + Are = 'ARE', + Arg = 'ARG', + Arm = 'ARM', + Asm = 'ASM', + Ata = 'ATA', + Atf = 'ATF', + Atg = 'ATG', + Aus = 'AUS', + Aut = 'AUT', + Aze = 'AZE', + Bdi = 'BDI', + Bel = 'BEL', + Ben = 'BEN', + Bes = 'BES', + Bfa = 'BFA', + Bgd = 'BGD', + Bgr = 'BGR', + Bhr = 'BHR', + Bhs = 'BHS', + Bih = 'BIH', + Blm = 'BLM', + Blr = 'BLR', + Blz = 'BLZ', + Bmu = 'BMU', + Bol = 'BOL', + Bra = 'BRA', + Brb = 'BRB', + Brn = 'BRN', + Btn = 'BTN', + Bvt = 'BVT', + Bwa = 'BWA', + Caf = 'CAF', + Can = 'CAN', + Cck = 'CCK', + Che = 'CHE', + Chl = 'CHL', + Chn = 'CHN', + Civ = 'CIV', + Cmr = 'CMR', + Cod = 'COD', + Cog = 'COG', + Cok = 'COK', + Col = 'COL', + Com = 'COM', + Cpv = 'CPV', + Cri = 'CRI', + Cub = 'CUB', + Cuw = 'CUW', + Cxr = 'CXR', + Cym = 'CYM', + Cyp = 'CYP', + Cze = 'CZE', + Deu = 'DEU', + Dji = 'DJI', + Dma = 'DMA', + Dnk = 'DNK', + Dom = 'DOM', + Dza = 'DZA', + Ecu = 'ECU', + Egy = 'EGY', + Eri = 'ERI', + Esh = 'ESH', + Esp = 'ESP', + Est = 'EST', + Eth = 'ETH', + Fin = 'FIN', + Fji = 'FJI', + Flk = 'FLK', + Fra = 'FRA', + Fro = 'FRO', + Fsm = 'FSM', + Gab = 'GAB', + Gbr = 'GBR', + Geo = 'GEO', + Ggy = 'GGY', + Gha = 'GHA', + Gib = 'GIB', + Gin = 'GIN', + Glp = 'GLP', + Gmb = 'GMB', + Gnb = 'GNB', + Gnq = 'GNQ', + Grc = 'GRC', + Grd = 'GRD', + Grl = 'GRL', + Gtm = 'GTM', + Guf = 'GUF', + Gum = 'GUM', + Guy = 'GUY', + Hkg = 'HKG', + Hmd = 'HMD', + Hnd = 'HND', + Hrv = 'HRV', + Hti = 'HTI', + Hun = 'HUN', + Idn = 'IDN', + Imn = 'IMN', + Ind = 'IND', + Iot = 'IOT', + Irl = 'IRL', + Irn = 'IRN', + Irq = 'IRQ', + Isl = 'ISL', + Isr = 'ISR', + Ita = 'ITA', + Jam = 'JAM', + Jey = 'JEY', + Jor = 'JOR', + Jpn = 'JPN', + Kaz = 'KAZ', + Ken = 'KEN', + Kgz = 'KGZ', + Khm = 'KHM', + Kir = 'KIR', + Kna = 'KNA', + Kor = 'KOR', + Kwt = 'KWT', + Lao = 'LAO', + Lbn = 'LBN', + Lbr = 'LBR', + Lby = 'LBY', + Lca = 'LCA', + Lie = 'LIE', + Lka = 'LKA', + Lso = 'LSO', + Ltu = 'LTU', + Lux = 'LUX', + Lva = 'LVA', + Mac = 'MAC', + Maf = 'MAF', + Mar = 'MAR', + Mco = 'MCO', + Mda = 'MDA', + Mdg = 'MDG', + Mdv = 'MDV', + Mex = 'MEX', + Mhl = 'MHL', + Mkd = 'MKD', + Mli = 'MLI', + Mlt = 'MLT', + Mmr = 'MMR', + Mne = 'MNE', + Mng = 'MNG', + Mnp = 'MNP', + Moz = 'MOZ', + Mrt = 'MRT', + Msr = 'MSR', + Mtq = 'MTQ', + Mus = 'MUS', + Mwi = 'MWI', + Mys = 'MYS', + Myt = 'MYT', + Nam = 'NAM', + Ncl = 'NCL', + Ner = 'NER', + Nfk = 'NFK', + Nga = 'NGA', + Nic = 'NIC', + Niu = 'NIU', + Nld = 'NLD', + Nor = 'NOR', + Npl = 'NPL', + Nru = 'NRU', + Nzl = 'NZL', + Omn = 'OMN', + Pak = 'PAK', + Pan = 'PAN', + Pcn = 'PCN', + Per = 'PER', + Phl = 'PHL', + Plw = 'PLW', + Png = 'PNG', + Pol = 'POL', + Pri = 'PRI', + Prk = 'PRK', + Prt = 'PRT', + Pry = 'PRY', + Pse = 'PSE', + Pyf = 'PYF', + Qat = 'QAT', + Reu = 'REU', + Rou = 'ROU', + Rus = 'RUS', + Rwa = 'RWA', + Sau = 'SAU', + Sdn = 'SDN', + Sen = 'SEN', + Sgp = 'SGP', + Sgs = 'SGS', + Shn = 'SHN', + Sjm = 'SJM', + Slb = 'SLB', + Sle = 'SLE', + Slv = 'SLV', + Smr = 'SMR', + Som = 'SOM', + Spm = 'SPM', + Srb = 'SRB', + Ssd = 'SSD', + Stp = 'STP', + Sur = 'SUR', + Svk = 'SVK', + Svn = 'SVN', + Swe = 'SWE', + Swz = 'SWZ', + Sxm = 'SXM', + Syc = 'SYC', + Syr = 'SYR', + Tca = 'TCA', + Tcd = 'TCD', + Tgo = 'TGO', + Tha = 'THA', + Tjk = 'TJK', + Tkl = 'TKL', + Tkm = 'TKM', + Tls = 'TLS', + Ton = 'TON', + Tto = 'TTO', + Tun = 'TUN', + Tur = 'TUR', + Tuv = 'TUV', + Twn = 'TWN', + Tza = 'TZA', + Uga = 'UGA', + Ukr = 'UKR', + Umi = 'UMI', + Ury = 'URY', + Usa = 'USA', + Uzb = 'UZB', + Vat = 'VAT', + Vct = 'VCT', + Ven = 'VEN', + Vgb = 'VGB', + Vir = 'VIR', + Vnm = 'VNM', + Vut = 'VUT', + Wlf = 'WLF', + Wsm = 'WSM', + Yem = 'YEM', + Zaf = 'ZAF', + Zmb = 'ZMB', + Zwe = 'ZWE' +} + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type Demographics = { + __typename?: 'Demographics'; + /** Age */ + age?: Maybe; + /** Company size */ + company_size?: Maybe; + /** Country */ + country?: Maybe; + /** Disability Status */ + disability_status?: Maybe; + /** Disability Status (Other) */ + disability_status_others?: Maybe; + /** Gender */ + gender?: Maybe; + /** Higher Education Degree */ + higher_education_degree?: Maybe; + /** Industry Sector */ + industry_sector?: Maybe; + /** Job title */ + job_title?: Maybe; + /** Knowledge Score */ + knowledge_score?: Maybe; + /** Locale */ + locale?: Maybe; + /** Participants count */ + participation?: Maybe; + /** Race & Ethnicity */ + race_ethnicity?: Maybe; + /** How respondents found the survey */ + source?: Maybe; + /** Salary */ + yearly_salary?: Maybe; + /** Work experience as a developer */ + years_of_experience?: Maybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsAgeArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsCompany_SizeArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsCountryArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsDisability_StatusArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsDisability_Status_OthersArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsGenderArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsHigher_Education_DegreeArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsIndustry_SectorArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsJob_TitleArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsKnowledge_ScoreArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsLocaleArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsParticipationArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsRace_EthnicityArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsSourceArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsYearly_SalaryArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +/** + * Information about particpants: + * - overall participation + * - gender + * - salary + * - company size + * - … + */ +export type DemographicsYears_Of_ExperienceArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + +export type DemographicsItem = { + __typename?: 'DemographicsItem'; + all_years?: Maybe>>; + year?: Maybe; +}; + + +export type DemographicsItemYearArgs = { + year: Scalars['Int']; +}; + +/** Generic Types */ +export type DemographicsItemYear = { + __typename?: 'DemographicsItemYear'; + completion?: Maybe; + facets?: Maybe>>; + year?: Maybe; +}; + +export type DisabilityStatus = { + __typename?: 'DisabilityStatus'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type DisabilityStatusYearArgs = { + year: Scalars['Int']; +}; + +export enum DisabilityStatusId { + CognitiveImpairments = 'cognitive_impairments', + HearingImpairments = 'hearing_impairments', + MobilityImpairments = 'mobility_impairments', + NotListed = 'not_listed', + VisualImpairments = 'visual_impairments' +} + +/** + * An entity is any object that can have associated metadata + * (such as a homepage, github repo, description). + * For example: a library, a podcast, a blog, a framework… + */ +export type Entity = { + __typename?: 'Entity'; + blog?: Maybe; + caniuse?: Maybe; + category?: Maybe; + description?: Maybe; + github?: Maybe; + homepage?: Maybe; + id?: Maybe; + mdn?: Maybe; + name?: Maybe; + npm?: Maybe; + otherName?: Maybe; + patterns?: Maybe>>; + related?: Maybe>>; + rss?: Maybe; + tags?: Maybe>>; + twitter?: Maybe; + twitterName?: Maybe; + type?: Maybe; + youtubeName?: Maybe; +}; + +/** A datapoint associated with a given entity. */ +export type EntityBucket = { + __typename?: 'EntityBucket'; + /** Respondent count */ + count?: Maybe; + /** Count of respondents in all facets (same as default/null facet) */ + count_all_facets?: Maybe; + entity?: Maybe; + id?: Maybe; + /** Percentage relative to question respondents in all facets (same as default/null faces) */ + percentage_all_facets?: Maybe; + /** Percentage relative to question respondents in facet */ + percentage_facet?: Maybe; + /** Percentage relative to question respondents */ + percentage_question?: Maybe; + /** Percentage relative to survey respondents */ + percentage_survey?: Maybe; +}; + +/** A facet associated with a set of entities. */ +export type EntityFacet = { + __typename?: 'EntityFacet'; + buckets?: Maybe>>; + completion?: Maybe; + entity?: Maybe; + id?: Maybe; + mean?: Maybe; + type?: Maybe; +}; + +export enum EnvironmentId { + AccessibilityFeatures = 'accessibility_features', + AccessibilityFeaturesOthers = 'accessibility_features_others', + Browsers = 'browsers', + BrowsersOthers = 'browsers_others', + CssForEmail = 'css_for_email', + CssForPrint = 'css_for_print', + FormFactors = 'form_factors', + FormFactorsOthers = 'form_factors_others', + WhatDoYouUseCssFor = 'what_do_you_use_css_for', + WhatDoYouUseCssForOthers = 'what_do_you_use_css_for_others' +} + +export type EnvironmentRatingBucket = { + __typename?: 'EnvironmentRatingBucket'; + count?: Maybe; + id?: Maybe; + percentage_facet?: Maybe; + percentage_question?: Maybe; + percentage_survey?: Maybe; +}; + +/** An environment, based on multiple choices (e.g. browsers, form factors, etc.) */ +export type Environments = { + __typename?: 'Environments'; + all_years?: Maybe>>; + id: EnvironmentId; + year?: Maybe; +}; + + +/** An environment, based on multiple choices (e.g. browsers, form factors, etc.) */ +export type EnvironmentsYearArgs = { + year: Scalars['Int']; +}; + +/** An environment-based rating (e.g. css for emails, css for print, etc.) */ +export type EnvironmentsRatings = { + __typename?: 'EnvironmentsRatings'; + all_years?: Maybe>>; + id: EnvironmentId; + year?: Maybe; +}; + + +/** An environment-based rating (e.g. css for emails, css for print, etc.) */ +export type EnvironmentsRatingsYearArgs = { + year: Scalars['Int']; +}; + +export enum Facet { + CompanySize = 'company_size', + Country = 'country', + Default = 'default', + Gender = 'gender', + HigherEducationDegree = 'higher_education_degree', + IndustrySector = 'industry_sector', + RaceEthnicity = 'race_ethnicity', + Source = 'source', + YearlySalary = 'yearly_salary', + YearsOfExperience = 'years_of_experience' +} + +export type FacetCompletion = { + __typename?: 'FacetCompletion'; + /** Number of respondents in this facet */ + count?: Maybe; + /** Completion percentage relative to total number of question respondents */ + percentage_question?: Maybe; + /** Completion percentage relative to total number of survey respondents for a given year */ + percentage_survey?: Maybe; + /** Total number of respondents who have answered the survey for a specific year */ + total?: Maybe; +}; + +/** A feature (e.g. arrow functions, websocket, etc.) */ +export type Feature = { + __typename?: 'Feature'; + entity?: Maybe; + experience?: Maybe; + id: FeatureId; + mdn?: Maybe; + name?: Maybe; +}; + + +/** A feature (e.g. arrow functions, websocket, etc.) */ +export type FeatureExperienceArgs = { + filters?: InputMaybe; +}; + +export type FeatureBucket = { + __typename?: 'FeatureBucket'; + count?: Maybe; + id?: Maybe; + name?: Maybe; + percentage_facet?: Maybe; + percentage_question?: Maybe; + percentage_survey?: Maybe; +}; + +export type FeatureExperience = { + __typename?: 'FeatureExperience'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type FeatureExperienceYearArgs = { + year: Scalars['Int']; +}; + +/** A feature experience datapoint */ +export type FeatureExperienceBucket = { + __typename?: 'FeatureExperienceBucket'; + count?: Maybe; + countDelta?: Maybe; + id?: Maybe; + percentageDelta?: Maybe; + percentage_facet?: Maybe; + percentage_question?: Maybe; + percentage_survey?: Maybe; +}; + +export enum FeatureExperienceId { + Heard = 'heard', + NeverHeard = 'never_heard', + Used = 'used' +} + +/** Feature data for a specific facet */ +export type FeatureFacet = { + __typename?: 'FeatureFacet'; + buckets?: Maybe>>; + completion?: Maybe; + id?: Maybe; + type?: Maybe; +}; + +export enum FeatureId { + AccentColor = 'accent_color', + Active = 'active', + After = 'after', + Animations = 'animations', + AnyLink = 'any_link', + AriaAttributes = 'aria_attributes', + ArrayAt = 'array_at', + ArrayPrototypeFlat = 'array_prototype_flat', + ArrowFunctions = 'arrow_functions', + AspectRatio = 'aspect_ratio', + AsyncAwait = 'async_await', + AtContainer = 'at_container', + AtProperty = 'at_property', + Backdrop = 'backdrop', + BackdropFilter = 'backdrop_filter', + Before = 'before', + BigInt = 'big_int', + BlendModes = 'blend_modes', + BreakRules = 'break_rules', + BroadcastChannel = 'broadcast_channel', + Calc = 'calc', + Ch = 'ch', + Checked = 'checked', + Child = 'child', + ClipPath = 'clip_path', + Cm = 'cm', + ColorContrast = 'color_contrast', + ColorFunction = 'color_function', + ColorGamut = 'color_gamut', + ColorScheme = 'color_scheme', + ComparisonFunctions = 'comparison_functions', + ConicGradient = 'conic_gradient', + Containment = 'containment', + ContainsSubstring = 'contains_substring', + ContainsWord = 'contains_word', + ContentVisibility = 'content_visibility', + CustomElements = 'custom_elements', + Decorators = 'decorators', + Default = 'default', + Descendant = 'descendant', + Destructuring = 'destructuring', + Direction = 'direction', + DynamicImport = 'dynamic_import', + Em = 'em', + Empty = 'empty', + EnabledDisabled = 'enabled_disabled', + EndsWith = 'ends_with', + Equality = 'equality', + Ex = 'ex', + Exclusions = 'exclusions', + FeatureSupportQueries = 'feature_support_queries', + Fetch = 'fetch', + FileSystemAccess = 'file_system_access', + FilterEffects = 'filter_effects', + FirstChild = 'first_child', + FirstLetter = 'first_letter', + FirstLine = 'first_line', + FirstOfType = 'first_of_type', + Flexbox = 'flexbox', + FlexboxGap = 'flexbox_gap', + Focus = 'focus', + FocusVisible = 'focus_visible', + FocusWithin = 'focus_within', + FontDisplay = 'font_display', + FontVariant = 'font_variant', + FontVariantNumeric = 'font_variant_numeric', + Geolocation = 'geolocation', + Grid = 'grid', + Houdini = 'houdini', + Hover = 'hover', + I18n = 'i18n', + In = 'in', + InOutRange = 'in_out_range', + Indeterminate = 'indeterminate', + InitialLetter = 'initial_letter', + Intl = 'intl', + IntrinsicSizing = 'intrinsic_sizing', + Is = 'is', + Lang = 'lang', + LastChild = 'last_child', + LastOfType = 'last_of_type', + LeadingTrim = 'leading_trim', + LineBreaking = 'line_breaking', + LineClamp = 'line_clamp', + LinkVisited = 'link_visited', + LocalLink = 'local_link', + LocalStorage = 'local_storage', + LogicalAssignment = 'logical_assignment', + LogicalProperties = 'logical_properties', + Maps = 'maps', + Marker = 'marker', + Masks = 'masks', + Mm = 'mm', + MultiColumn = 'multi_column', + NextSibling = 'next_sibling', + Not = 'not', + NthChild = 'nth_child', + NthLastChild = 'nth_last_child', + NthLastOfType = 'nth_last_of_type', + NthOfType = 'nth_of_type', + NullishCoalescing = 'nullish_coalescing', + NumericSeparators = 'numeric_separators', + ObjectFit = 'object_fit', + OnlyChild = 'only_child', + OnlyOfType = 'only_of_type', + OptionalChaining = 'optional_chaining', + OverflowAnchor = 'overflow_anchor', + OverscrollBehavior = 'overscroll_behavior', + PageVisibility = 'page_visibility', + Percent = 'percent', + Perspective = 'perspective', + Placeholder = 'placeholder', + PlaceholderShown = 'placeholder_shown', + PointerEvents = 'pointer_events', + PositionSticky = 'position_sticky', + PrefersColorScheme = 'prefers_color_scheme', + PrefersReducedData = 'prefers_reduced_data', + PrefersReducedMotion = 'prefers_reduced_motion', + Presence = 'presence', + PrivateFields = 'private_fields', + PromiseAllSettled = 'promise_all_settled', + PromiseAny = 'promise_any', + Promises = 'promises', + Proxies = 'proxies', + Pt = 'pt', + Pwa = 'pwa', + Px = 'px', + ReadOnlyWrite = 'read_only_write', + Regions = 'regions', + Rem = 'rem', + RequiredOptional = 'required_optional', + Root = 'root', + ScrollSnap = 'scroll_snap', + ScrollTimeline = 'scroll_timeline', + Selection = 'selection', + ServiceWorkers = 'service_workers', + Sets = 'sets', + ShadowDom = 'shadow_dom', + Shapes = 'shapes', + SpreadOperator = 'spread_operator', + StartsWith = 'starts_with', + StringMatchAll = 'string_match_all', + StringReplaceAll = 'string_replace_all', + Subgrid = 'subgrid', + SubsequentSibling = 'subsequent_sibling', + Tabindex = 'tabindex', + Target = 'target', + TopLevelAwait = 'top_level_await', + TouchAction = 'touch_action', + Transforms = 'transforms', + Transitions = 'transitions', + TypedArrays = 'typed_arrays', + UserInvalid = 'user_invalid', + ValidInvalid = 'valid_invalid', + VariableFonts = 'variable_fonts', + Variables = 'variables', + VhVw = 'vh_vw', + VminVmax = 'vmin_vmax', + Wasm = 'wasm', + WebAnimations = 'web_animations', + WebAudio = 'web_audio', + WebComponents = 'web_components', + WebFonts = 'web_fonts', + WebShare = 'web_share', + WebSpeech = 'web_speech', + Webgl = 'webgl', + Webrtc = 'webrtc', + Websocket = 'websocket', + Webvr = 'webvr', + Webxr = 'webxr', + Where = 'where', + WillChange = 'will_change', + WritingModes = 'writing_modes' +} + +export type Filters = { + company_size?: InputMaybe; + country?: InputMaybe; + gender?: InputMaybe; + industry_sector?: InputMaybe; + race_ethnicity?: InputMaybe; + source?: InputMaybe; + yearly_salary?: InputMaybe; + years_of_experience?: InputMaybe; +}; + +export type Gender = { + __typename?: 'Gender'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type GenderYearArgs = { + year: Scalars['Int']; +}; + +export type GenderFilter = { + eq?: InputMaybe; + in?: InputMaybe>>; + nin?: InputMaybe>>; +}; + +export enum GenderId { + Female = 'female', + Male = 'male', + NonBinary = 'non_binary', + NotListed = 'not_listed', + PreferNotToSay = 'prefer_not_to_say' +} + +export type GitHub = { + __typename?: 'GitHub'; + description?: Maybe; + forks?: Maybe; + full_name?: Maybe; + homepage?: Maybe; + name?: Maybe; + opened_issues?: Maybe; + stars?: Maybe; + url?: Maybe; +}; + +export type Happiness = { + __typename?: 'Happiness'; + all_years?: Maybe>>; + id: HappinessId; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type HappinessYearArgs = { + year: Scalars['Int']; +}; + +/** Happiness */ +export type HappinessBucket = { + __typename?: 'HappinessBucket'; + count?: Maybe; + id?: Maybe; + percentage_facet?: Maybe; + percentage_question?: Maybe; + percentage_survey?: Maybe; +}; + +export type HappinessFacet = { + __typename?: 'HappinessFacet'; + buckets?: Maybe>>; + completion?: Maybe; + id?: Maybe; + type?: Maybe; +}; + +export enum HappinessId { + BackEndFrameworks = 'back_end_frameworks', + BuildTools = 'build_tools', + CssFrameworks = 'css_frameworks', + CssInJs = 'css_in_js', + CssMethodologies = 'css_methodologies', + Datalayer = 'datalayer', + FrontEndFrameworks = 'front_end_frameworks', + JavascriptFlavors = 'javascript_flavors', + MobileDesktop = 'mobile_desktop', + MonorepoTools = 'monorepo_tools', + PrePostProcessors = 'pre_post_processors', + StateOfCss = 'state_of_css', + StateOfJs = 'state_of_js', + StateOfTheWeb = 'state_of_the_web', + Testing = 'testing' +} + +export type HigherEducationDegree = { + __typename?: 'HigherEducationDegree'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type HigherEducationDegreeYearArgs = { + year: Scalars['Int']; +}; + +export enum HigherEducationDegreeId { + NoDegree = 'no_degree', + YesRelated = 'yes_related', + YesUnrelated = 'yes_unrelated' +} + +/** Homepage Info */ +export type Homepage = { + __typename?: 'Homepage'; + name?: Maybe; + url?: Maybe; +}; + +export type IndustrySector = { + __typename?: 'IndustrySector'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type IndustrySectorYearArgs = { + year: Scalars['Int']; +}; + +export type IndustrySectorFilter = { + eq?: InputMaybe; +}; + +export enum IndustrySectorId { + Consulting = 'consulting', + Ecommerce = 'ecommerce', + Education = 'education', + Entertainment = 'entertainment', + Finance = 'finance', + Government = 'government', + Healthcare = 'healthcare', + MarketingTools = 'marketing_tools', + NewsMedia = 'news_media', + ProgrammingTools = 'programming_tools', + RealEstate = 'real_estate', + Socialmedia = 'socialmedia' +} + +export type JobTitle = { + __typename?: 'JobTitle'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type JobTitleYearArgs = { + year: Scalars['Int']; +}; + +export enum JobTitleId { + BackEndDeveloper = 'back_end_developer', + Cto = 'cto', + FrontEndDeveloper = 'front_end_developer', + FullStackDeveloper = 'full_stack_developer', + UiDesigner = 'ui_designer', + UxDesigner = 'ux_designer', + WebDesigner = 'web_designer', + WebDeveloper = 'web_developer' +} + +export type KnowledgeScore = { + __typename?: 'KnowledgeScore'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type KnowledgeScoreYearArgs = { + year: Scalars['Int']; +}; + +export type Locale = { + __typename?: 'Locale'; + completion?: Maybe; + id?: Maybe; + label?: Maybe; + repo?: Maybe; + strings?: Maybe>>; + totalCount?: Maybe; + translatedCount?: Maybe; + translators?: Maybe>>; + untranslatedKeys?: Maybe>>; +}; + +export type LocaleStats = { + __typename?: 'LocaleStats'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type LocaleStatsYearArgs = { + year: Scalars['Int']; +}; + +export type Mdn = { + __typename?: 'MDN'; + locale?: Maybe; + summary?: Maybe; + title?: Maybe; + url?: Maybe; +}; + +export type Matrices = { + __typename?: 'Matrices'; + tools?: Maybe>>; +}; + + +export type MatricesToolsArgs = { + dimensions: Array>; + experiences: Array>; + ids: Array>; + year: Scalars['Int']; +}; + +export type MatrixBucket = { + __typename?: 'MatrixBucket'; + /** + * Number of responses for a given tool/feature in a specific range. + * e.g. users who picked `range_50_100` for `company_size` and also + * picked `would_use` for experience with `tailwind_css`. + */ + count?: Maybe; + /** + * Id of the bucket dimension range, e.g. `range_50_100` + * for `company_size`. + */ + id?: Maybe; + /** + * Ratio from all respondents who picked a specific experience + * for the current tool and also answered to the question related + * to the dimension, e.g. `yearly_salary`. + * `count` VS `total`. + */ + percentage?: Maybe; + /** + * Ratio of experience in this specific range, + * `count` VS `range_total`. + */ + range_percentage?: Maybe; + /** + * Delta between the overall percentage of responses + * for the selected experience filter compared + * to the percentage in this range. + * `range_percentage` VS overall percentage. + */ + range_percentage_delta?: Maybe; + /** + * Total number of respondents for this specific range, + * e.g. number of users who selected `range_50_100` + * for the `company_size` question and also answered + * the experience question. + */ + range_total?: Maybe; +}; + +export enum MatrixDimensionId { + CompanySize = 'company_size', + Source = 'source', + YearlySalary = 'yearly_salary', + YearsOfExperience = 'years_of_experience' +} + +/** NPM Info */ +export type Npm = { + __typename?: 'NPM'; + name?: Maybe; + url?: Maybe; +}; + +export type Opinion = { + __typename?: 'Opinion'; + all_years?: Maybe>>; + id: OpinionId; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type OpinionYearArgs = { + year: Scalars['Int']; +}; + +export type OpinionBucket = { + __typename?: 'OpinionBucket'; + count?: Maybe; + id?: Maybe; + percentage_facet?: Maybe; + percentage_question?: Maybe; + percentage_survey?: Maybe; +}; + +export type OpinionFacet = { + __typename?: 'OpinionFacet'; + buckets?: Maybe>>; + completion?: Maybe; + id?: Maybe; + type?: Maybe; +}; + +/** Opinions */ +export enum OpinionId { + BuildingJsAppsOverlyComplex = 'building_js_apps_overly_complex', + CssEasyToLearn = 'css_easy_to_learn', + CssEvolvingSlowly = 'css_evolving_slowly', + CssIsProgrammingLanguage = 'css_is_programming_language', + EnjoyBuildingJsApps = 'enjoy_building_js_apps', + EnjoyWritingCss = 'enjoy_writing_css', + JsEcosystemChangingToFast = 'js_ecosystem_changing_to_fast', + JsMovingInRightDirection = 'js_moving_in_right_direction', + JsOverUsedOnline = 'js_over_used_online', + SelectorNestingToBeAvoided = 'selector_nesting_to_be_avoided', + UtilityClassesToBeAvoided = 'utility_classes_to_be_avoided', + WouldLikeJsToBeMainLang = 'would_like_js_to_be_main_lang' +} + +export type Options = { + cutoff?: InputMaybe; + facetLimit?: InputMaybe; + facetMinCount?: InputMaybe; + facetMinPercent?: InputMaybe; + facetSort?: InputMaybe; + limit?: InputMaybe; + sort?: InputMaybe; +}; + +export type OtherDisabilityStatus = { + __typename?: 'OtherDisabilityStatus'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type OtherDisabilityStatusYearArgs = { + year: Scalars['Int']; +}; + +export type OtherFeatures = { + __typename?: 'OtherFeatures'; + all_years?: Maybe>>; + id: OtherFeaturesId; + year?: Maybe; +}; + + +export type OtherFeaturesYearArgs = { + year: Scalars['Int']; +}; + +export enum OtherFeaturesId { + Attributes = 'attributes', + Combinators = 'combinators', + FormControls = 'form_controls', + Interaction = 'interaction', + LinksUrls = 'links_urls', + PseudoElements = 'pseudo_elements', + TreeDocumentStructure = 'tree_document_structure', + Units = 'units' +} + +export type OtherOpinions = { + __typename?: 'OtherOpinions'; + all_years?: Maybe>>; + id: OtherOpinionsId; + year?: Maybe; +}; + + +export type OtherOpinionsYearArgs = { + year: Scalars['Int']; +}; + +/** Other Opinions */ +export enum OtherOpinionsId { + BrowserInteroperabilityFeatures = 'browser_interoperability_features', + CssPainPoints = 'css_pain_points', + CurrentlyMissingFromCss = 'currently_missing_from_css', + CurrentlyMissingFromJs = 'currently_missing_from_js', + JsPainPoints = 'js_pain_points', + MissingFromJs = 'missing_from_js' +} + +export type OtherTools = { + __typename?: 'OtherTools'; + all_years?: Maybe>>; + id: OtherToolsId; + year?: Maybe; +}; + + +export type OtherToolsYearArgs = { + year: Scalars['Int']; +}; + +export enum OtherToolsId { + BackEndFrameworksOthers = 'back_end_frameworks_others', + Browsers = 'browsers', + BrowsersOthers = 'browsers_others', + BuildTools = 'build_tools', + BuildToolsOthers = 'build_tools_others', + CssFrameworksOthers = 'css_frameworks_others', + CssInJsOthers = 'css_in_js_others', + CssMethodologiesOthers = 'css_methodologies_others', + DatalayerOthers = 'datalayer_others', + FrontEndFrameworksOthers = 'front_end_frameworks_others', + JavascriptFlavors = 'javascript_flavors', + JavascriptFlavorsOthers = 'javascript_flavors_others', + Libraries = 'libraries', + LibrariesOthers = 'libraries_others', + MobileDesktopOthers = 'mobile_desktop_others', + MonorepoToolsOthers = 'monorepo_tools_others', + NonJsLanguages = 'non_js_languages', + NonJsLanguagesOthers = 'non_js_languages_others', + PrePostProcessorsOthers = 'pre_post_processors_others', + Runtimes = 'runtimes', + RuntimesOthers = 'runtimes_others', + TestingOthers = 'testing_others', + TextEditors = 'text_editors', + TextEditorsOthers = 'text_editors_others', + Utilities = 'utilities', + UtilitiesOthers = 'utilities_others' +} + +export type Participation = { + __typename?: 'Participation'; + all_years?: Maybe>>; + year?: Maybe; +}; + + +export type ParticipationYearArgs = { + year: Scalars['Int']; +}; + +export type Proficiency = { + __typename?: 'Proficiency'; + all_years?: Maybe>>; + id: ProficiencyId; + year?: Maybe; +}; + + +export type ProficiencyYearArgs = { + year: Scalars['Int']; +}; + +export type ProficiencyBucket = { + __typename?: 'ProficiencyBucket'; + count?: Maybe; + id?: Maybe; + percentage_facet?: Maybe; + percentage_question?: Maybe; + percentage_survey?: Maybe; +}; + +export enum ProficiencyId { + BackendProficiency = 'backend_proficiency', + CssProficiency = 'css_proficiency', + JavascriptProficiency = 'javascript_proficiency' +} + +export type Query = { + __typename?: 'Query'; + /** Get multiple entities (tools, libraries, frameworks, features, etc.) */ + entities?: Maybe>>; + /** Data about a specific entity (tool, library, framework, features, etc.) */ + entity?: Maybe; + /** Get a locale */ + locale?: Maybe; + /** Get multiple locales */ + locales?: Maybe>>; + /** Data for a specific survey. */ + survey?: Maybe; + /** Translate a string */ + translation?: Maybe; +}; + + +export type QueryEntitiesArgs = { + context?: InputMaybe; + ids?: InputMaybe>>; + tag?: InputMaybe; + tags?: InputMaybe>>; + type?: InputMaybe; +}; + + +export type QueryEntityArgs = { + id: Scalars['ID']; +}; + + +export type QueryLocaleArgs = { + contexts?: InputMaybe>>; + enableFallbacks?: InputMaybe; + localeId: Scalars['String']; +}; + + +export type QueryLocalesArgs = { + contexts?: InputMaybe>>; + enableFallbacks?: InputMaybe; + localeIds?: InputMaybe>>; +}; + + +export type QuerySurveyArgs = { + survey: SurveyType; +}; + + +export type QueryTranslationArgs = { + key: Scalars['String']; + localeId: Scalars['String']; +}; + +export type RaceEthnicity = { + __typename?: 'RaceEthnicity'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type RaceEthnicityYearArgs = { + year: Scalars['Int']; +}; + +export type RaceEthnicityFilter = { + eq?: InputMaybe; +}; + +export enum RaceEthnicityId { + Biracial = 'biracial', + BlackAfrican = 'black_african', + EastAsian = 'east_asian', + HispanicLatin = 'hispanic_latin', + MiddleEastern = 'middle_eastern', + Multiracial = 'multiracial', + NativeAmericanIslanderAustralian = 'native_american_islander_australian', + NotListed = 'not_listed', + SouthAsian = 'south_asian', + SouthEastAsian = 'south_east_asian', + WhiteEuropean = 'white_european' +} + +export type Resources = { + __typename?: 'Resources'; + all_years?: Maybe>>; + id: ResourcesId; + year?: Maybe; +}; + + +export type ResourcesYearArgs = { + year: Scalars['Int']; +}; + +export enum ResourcesId { + BlogsNewsMagazines = 'blogs_news_magazines', + BlogsNewsMagazinesOthers = 'blogs_news_magazines_others', + FirstSteps = 'first_steps', + FirstStepsOthers = 'first_steps_others', + PeopleOthers = 'people_others', + Podcasts = 'podcasts', + PodcastsOthers = 'podcasts_others', + SitesCourses = 'sites_courses', + SitesCoursesOthers = 'sites_courses_others' +} + +export type Salary = { + __typename?: 'Salary'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type SalaryYearArgs = { + year: Scalars['Int']; +}; + +export enum SalaryRange { + Range_0_10 = 'range_0_10', + Range_10_30 = 'range_10_30', + Range_30_50 = 'range_30_50', + Range_50_100 = 'range_50_100', + Range_100_200 = 'range_100_200', + RangeMoreThan_200 = 'range_more_than_200', + RangeWorkForFree = 'range_work_for_free' +} + +export enum SortOrder { + Asc = 'asc', + Desc = 'desc' +} + +export type SortSpecifier = { + order?: InputMaybe; + property?: InputMaybe; +}; + +export type Source = { + __typename?: 'Source'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type SourceYearArgs = { + year: Scalars['Int']; +}; + +export type SourceFilter = { + eq?: InputMaybe; + in?: InputMaybe>>; + nin?: InputMaybe>>; +}; + +export type StateOfCssSurvey = { + __typename?: 'StateOfCSSSurvey'; + foobar?: Maybe; +}; + +export type StateOfJsSurvey = { + __typename?: 'StateOfJSSurvey'; + foobar?: Maybe; +}; + +/** A survey */ +export type Survey = { + __typename?: 'Survey'; + bracket_matchups?: Maybe; + /** Brackets */ + bracket_wins?: Maybe; + /** Data about a specific tool category */ + category?: Maybe; + /** Demographics data (gender, company size, salary, etc.) */ + demographics?: Maybe; + /** + * Environments data, for those based on multiple choices, + * such as browsers, form factors... Only contain predifined + * choices, freeform answers are stored in `environmentsOthers`. + */ + environments?: Maybe; + /** Environments data, for those based on rating, such as css for emails... */ + environments_ratings?: Maybe; + /** Usage results for a specific feature */ + feature?: Maybe; + /** Usage results for a range of features */ + features?: Maybe>>; + /** Choice based features */ + features_others?: Maybe; + /** Happiness data, either for a specific category or more generally */ + happiness?: Maybe; + /** Matrices data (used for cross-referencing heatmap charts) */ + matrices?: Maybe; + /** Opinions data */ + opinion?: Maybe; + /** Opinions data */ + opinions_others?: Maybe; + /** Proficiency data, such as backend proficiency, javascript... */ + proficiency?: Maybe; + /** Resources (sites, blogs, podcasts, etc.) */ + resources?: Maybe; + /** The survey's name */ + surveyName?: Maybe; + /** Experience results for a specific tool */ + tool?: Maybe; + /** Experience results for a range of tools */ + tools?: Maybe>>; + /** Cardinality By User (by-users tool count breakdown for a specific set of tools and specific criteria) */ + tools_cardinality_by_user?: Maybe>>; + /** Other tools (browsers, editors, etc.) */ + tools_others?: Maybe; + /** Rankings (awareness, interest, satisfaction) for a range of tools */ + tools_rankings?: Maybe; + /** Total responses */ + totals?: Maybe; +}; + + +/** A survey */ +export type SurveyBracket_MatchupsArgs = { + filters?: InputMaybe; + id: BracketId; + options?: InputMaybe; +}; + + +/** A survey */ +export type SurveyBracket_WinsArgs = { + filters?: InputMaybe; + id: BracketId; + options?: InputMaybe; +}; + + +/** A survey */ +export type SurveyCategoryArgs = { + id: CategoryId; +}; + + +/** A survey */ +export type SurveyEnvironmentsArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + id: EnvironmentId; + options?: InputMaybe; +}; + + +/** A survey */ +export type SurveyEnvironments_RatingsArgs = { + filters?: InputMaybe; + id: EnvironmentId; +}; + + +/** A survey */ +export type SurveyFeatureArgs = { + id: FeatureId; +}; + + +/** A survey */ +export type SurveyFeaturesArgs = { + ids?: InputMaybe>>; +}; + + +/** A survey */ +export type SurveyFeatures_OthersArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + id: OtherFeaturesId; + options?: InputMaybe; +}; + + +/** A survey */ +export type SurveyHappinessArgs = { + filters?: InputMaybe; + id: HappinessId; +}; + + +/** A survey */ +export type SurveyOpinionArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + id: OpinionId; + options?: InputMaybe; +}; + + +/** A survey */ +export type SurveyOpinions_OthersArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + id: OtherOpinionsId; + options?: InputMaybe; +}; + + +/** A survey */ +export type SurveyProficiencyArgs = { + filters?: InputMaybe; + id: ProficiencyId; +}; + + +/** A survey */ +export type SurveyResourcesArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + id: ResourcesId; + options?: InputMaybe; +}; + + +/** A survey */ +export type SurveyToolArgs = { + id: ToolId; +}; + + +/** A survey */ +export type SurveyToolsArgs = { + ids?: InputMaybe>>; +}; + + +/** A survey */ +export type SurveyTools_Cardinality_By_UserArgs = { + experienceId: ToolExperienceId; + ids: Array>; + year: Scalars['Int']; +}; + + +/** A survey */ +export type SurveyTools_OthersArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + id: OtherToolsId; + options?: InputMaybe; +}; + + +/** A survey */ +export type SurveyTools_RankingsArgs = { + ids: Array>; +}; + + +/** A survey */ +export type SurveyTotalsArgs = { + filters?: InputMaybe; +}; + +export enum SurveyType { + StateOfCss = 'state_of_css', + StateOfJs = 'state_of_js' +} + +/** All surveys */ +export type Surveys = { + __typename?: 'Surveys'; + state_of_css?: Maybe; + state_of_js?: Maybe; +}; + +export type Tool = { + __typename?: 'Tool'; + entity?: Maybe; + experience?: Maybe; + experienceAggregated?: Maybe; + experienceGraph?: Maybe; + experienceTransitions?: Maybe; + id: ToolId; +}; + + +export type ToolExperienceArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +export type ToolExperienceAggregatedArgs = { + facet?: InputMaybe; + filters?: InputMaybe; + options?: InputMaybe; +}; + + +export type ToolExperienceGraphArgs = { + filters?: InputMaybe; +}; + + +export type ToolExperienceTransitionsArgs = { + year: Scalars['Int']; +}; + +/** + * Experience ranking for a tool in a specific year, even if the data + * is computed at the same point in time, we estimate that there is a logical + * progression in this: + * + * awareness > usage > interest > satisfaction + */ +export type ToolAwarenessUsageInterestSatisfaction = { + __typename?: 'ToolAwarenessUsageInterestSatisfaction'; + /** + * Awareness is the total number of participants who answered to + * the experience question VS those who never heard of a tool. + * + * This value is expressed as a percentage. + */ + awareness?: Maybe; + /** + * Interest is the ratio of participants who heard of tool and + * are interested/not interested VS those who are only interested in it. + * + * This value is expressed as a percentage. + */ + interest?: Maybe; + /** + * Satisfaction is the ratio of participants who used of tool and + * are satisfied/not satisfied VS those who are willing to use it again. + * + * This value is expressed as a percentage. + */ + satisfaction?: Maybe; + /** + * Usage is the total number of participants who used the tool, + * include both users willing to use it again and those who wouldn't. + * + * This value is expressed as a percentage. + */ + usage?: Maybe; +}; + +export type ToolExperience = { + __typename?: 'ToolExperience'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type ToolExperienceYearArgs = { + year: Scalars['Int']; +}; + +export type ToolExperienceAggregated = { + __typename?: 'ToolExperienceAggregated'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type ToolExperienceAggregatedYearArgs = { + year: Scalars['Int']; +}; + +/** Aggregate the experience of multiple tools */ +export type ToolExperienceAggregatedBucket = { + __typename?: 'ToolExperienceAggregatedBucket'; + count?: Maybe; + countDelta?: Maybe; + ids?: Maybe>>; + percentageDelta?: Maybe; + percentage_facet?: Maybe; + percentage_question?: Maybe; + percentage_survey?: Maybe; +}; + +export type ToolExperienceAggregatedFacet = { + __typename?: 'ToolExperienceAggregatedFacet'; + buckets?: Maybe>>; + id?: Maybe; + type?: Maybe; +}; + +/** + * An aggregation bucket for tool experience containing both an absolute count + * for the parent year, and the percentage it corresponds to regarding + * the total number of respondents who have answered the question + * in this particular year. + */ +export type ToolExperienceBucket = { + __typename?: 'ToolExperienceBucket'; + count?: Maybe; + countDelta?: Maybe; + id?: Maybe; + percentageDelta?: Maybe; + percentage_facet?: Maybe; + percentage_question?: Maybe; + percentage_survey?: Maybe; +}; + +/** Tool data for a specific facet */ +export type ToolExperienceFacet = { + __typename?: 'ToolExperienceFacet'; + buckets?: Maybe>>; + completion?: Maybe; + id?: Maybe; + type?: Maybe; +}; + +/** + * A graph of users' experience over years, compared to just computing + * the overall choice count for each year, this keeps continuity for each user. + */ +export type ToolExperienceGraph = { + __typename?: 'ToolExperienceGraph'; + links?: Maybe>>; + nodes?: Maybe>>; +}; + +/** + * Track number of connections between 2 nodes, + * for example number of user who were interested in React in 206 + * and are willing to use it in 2017, connections are only established + * for consecutive years. + */ +export type ToolExperienceGraphLink = { + __typename?: 'ToolExperienceGraphLink'; + count?: Maybe; + source?: Maybe; + target?: Maybe; +}; + +export type ToolExperienceGraphNode = { + __typename?: 'ToolExperienceGraphNode'; + experience?: Maybe; + id?: Maybe; + year?: Maybe; +}; + +export enum ToolExperienceId { + Interested = 'interested', + NeverHeard = 'never_heard', + NotInterested = 'not_interested', + WouldNotUse = 'would_not_use', + WouldUse = 'would_use' +} + +/** + * Used to represent the ranking of a tool compared to others + * for awareness/interest and stisfaction. + */ +export type ToolExperienceRanking = { + __typename?: 'ToolExperienceRanking'; + awareness?: Maybe>>; + entity?: Maybe; + id?: Maybe; + interest?: Maybe>>; + satisfaction?: Maybe>>; + usage?: Maybe>>; +}; + +export type ToolExperienceRankingYearMetric = { + __typename?: 'ToolExperienceRankingYearMetric'; + percentage_facet?: Maybe; + percentage_question?: Maybe; + percentage_survey?: Maybe; + rank?: Maybe; + year?: Maybe; +}; + +export type ToolExperienceTransitions = { + __typename?: 'ToolExperienceTransitions'; + keys?: Maybe>>; + nodes?: Maybe>>; + tool?: Maybe; + transitions?: Maybe>>; +}; + +export type ToolExperienceTransitionsNode = { + __typename?: 'ToolExperienceTransitionsNode'; + choice?: Maybe; + count?: Maybe; + id?: Maybe; + year?: Maybe; +}; + +export type ToolExperienceTransitionsTransition = { + __typename?: 'ToolExperienceTransitionsTransition'; + count?: Maybe; + from?: Maybe; + percentage?: Maybe; + to?: Maybe; +}; + +export enum ToolId { + Alpinejs = 'alpinejs', + Angular = 'angular', + AntDesign = 'ant_design', + Apollo = 'apollo', + AssemblerCss = 'assembler_css', + Astro = 'astro', + Astroturf = 'astroturf', + AtomicCss = 'atomic_css', + Ava = 'ava', + Bem = 'bem', + Blitz = 'blitz', + Bootstrap = 'bootstrap', + Browserify = 'browserify', + Bulma = 'bulma', + Capacitor = 'capacitor', + Clojurescript = 'clojurescript', + Cordova = 'cordova', + CssModules = 'css_modules', + CubeCss = 'cube_css', + Cypress = 'cypress', + Electron = 'electron', + Eleventy = 'eleventy', + Elm = 'elm', + Ember = 'ember', + Emotion = 'emotion', + Enzyme = 'enzyme', + Esbuild = 'esbuild', + Expo = 'expo', + Express = 'express', + Fastify = 'fastify', + Feathers = 'feathers', + Fela = 'fela', + Foundation = 'foundation', + Gatsby = 'gatsby', + Graphql = 'graphql', + Gulp = 'gulp', + Halfmoon = 'halfmoon', + Hapi = 'hapi', + Ionic = 'ionic', + ItCss = 'it_css', + Jasmine = 'jasmine', + Jest = 'jest', + Jss = 'jss', + Koa = 'koa', + Lerna = 'lerna', + Less = 'less', + Linaria = 'linaria', + Litelement = 'litelement', + MaterializeCss = 'materialize_css', + Meteor = 'meteor', + Mobx = 'mobx', + Mocha = 'mocha', + Nativeapps = 'nativeapps', + Nest = 'nest', + Nextjs = 'nextjs', + NpmWorkspaces = 'npm_workspaces', + Nuxt = 'nuxt', + Nwjs = 'nwjs', + Nx = 'nx', + Oocss = 'oocss', + Parcel = 'parcel', + Playwright = 'playwright', + Pnpm = 'pnpm', + PostCss = 'post_css', + Preact = 'preact', + Primer = 'primer', + Puppeteer = 'puppeteer', + PureCss = 'pure_css', + Purescript = 'purescript', + Quasar = 'quasar', + Radium = 'radium', + React = 'react', + Reactnative = 'reactnative', + Reason = 'reason', + Redux = 'redux', + Redwood = 'redwood', + Relay = 'relay', + Remix = 'remix', + Rollup = 'rollup', + Rome = 'rome', + Rush = 'rush', + Sails = 'sails', + Sass = 'sass', + SemanticUi = 'semantic_ui', + Skeleton = 'skeleton', + Smacss = 'smacss', + Snowpack = 'snowpack', + Solid = 'solid', + SpectreCss = 'spectre_css', + Stimulus = 'stimulus', + Stitches = 'stitches', + Storybook = 'storybook', + Strapi = 'strapi', + StyledComponents = 'styled_components', + StyledJsx = 'styled_jsx', + StyledSystem = 'styled_system', + Styletron = 'styletron', + Stylus = 'stylus', + Svelte = 'svelte', + Sveltekit = 'sveltekit', + Swc = 'swc', + Tachyons = 'tachyons', + TailwindCss = 'tailwind_css', + Tauri = 'tauri', + TestingLibrary = 'testing_library', + ThemeUi = 'theme_ui', + Tsc = 'tsc', + Turborepo = 'turborepo', + Twin = 'twin', + Typescript = 'typescript', + UiKit = 'ui_kit', + VanillaExtract = 'vanilla_extract', + Vite = 'vite', + Vitest = 'vitest', + Vuejs = 'vuejs', + Vuex = 'vuex', + Webdriverio = 'webdriverio', + Webpack = 'webpack', + WindiCss = 'windi_css', + Wmr = 'wmr', + Xstate = 'xstate', + Yalc = 'yalc', + YarnWorkspaces = 'yarn_workspaces' +} + +export type ToolMatrix = { + __typename?: 'ToolMatrix'; + buckets?: Maybe>>; + count?: Maybe; + entity?: Maybe; + id?: Maybe; + percentage?: Maybe; + total?: Maybe; +}; + +export enum ToolMatrixExperienceId { + /** `never_heard` VS total (inverted) */ + Awareness = 'awareness', + /** `interested` VS `not_interested` */ + Interest = 'interest', + Interested = 'interested', + /** `would_not_use` + `not_interested` VS `would_use` + `would_not_use` + `interested` + `not_interested` */ + NegativeSentiment = 'negative_sentiment', + NeverHeard = 'never_heard', + NotInterested = 'not_interested', + /** `would_use` + `interested` VS `would_use` + `would_not_use` + `interested` + `not_interested` */ + PositiveSentiment = 'positive_sentiment', + /** `would_use` VS `would_not_use` */ + Satisfaction = 'satisfaction', + /** `would_use` + `would_not_use` VS total */ + Usage = 'usage', + WouldNotUse = 'would_not_use', + WouldUse = 'would_use' +} + +export type ToolYearExperience = { + __typename?: 'ToolYearExperience'; + completion?: Maybe; + facets?: Maybe>>; + year?: Maybe; +}; + +export type ToolYearExperienceAggregated = { + __typename?: 'ToolYearExperienceAggregated'; + facets?: Maybe>>; + year?: Maybe; +}; + +export type ToolsCardinalityByUser = { + __typename?: 'ToolsCardinalityByUser'; + cardinality?: Maybe; + count?: Maybe; + /** Percentage against number of respondents for the related year. */ + percentage_survey?: Maybe; +}; + +export type ToolsExperienceDimensionMatrix = { + __typename?: 'ToolsExperienceDimensionMatrix'; + dimension?: Maybe; + tools?: Maybe>>; +}; + +export type ToolsExperienceMatrices = { + __typename?: 'ToolsExperienceMatrices'; + dimensions?: Maybe>>; + experience?: Maybe; +}; + +/** Contains various rankings for a set of tools. */ +export type ToolsRankings = { + __typename?: 'ToolsRankings'; + experience?: Maybe>>; + ids: Array>; + years?: Maybe>>; +}; + + +/** Contains various rankings for a set of tools. */ +export type ToolsRankingsExperienceArgs = { + filters?: InputMaybe; +}; + +export type Totals = { + __typename?: 'Totals'; + all_years?: Maybe; + year?: Maybe; +}; + + +export type TotalsYearArgs = { + year: Scalars['Int']; +}; + +export type TranslationString = { + __typename?: 'TranslationString'; + aliasFor?: Maybe; + context?: Maybe; + fallback?: Maybe; + key?: Maybe; + t?: Maybe; + tHtml?: Maybe; +}; + +export type Twitter = { + __typename?: 'Twitter'; + avatarUrl?: Maybe; + description?: Maybe; + id?: Maybe; + publicMetrics?: Maybe; + userName?: Maybe; +}; + +export type TwittterPublicMetrics = { + __typename?: 'TwittterPublicMetrics'; + followers?: Maybe; + following?: Maybe; + listed?: Maybe; + tweet?: Maybe; +}; + +export enum UsageId { + KnowNotUsed = 'know_not_used', + NeverHeardNotSure = 'never_heard_not_sure', + UsedIt = 'used_it' +} + +export type WorkExperience = { + __typename?: 'WorkExperience'; + all_years?: Maybe>>; + keys?: Maybe>>; + year?: Maybe; +}; + + +export type WorkExperienceYearArgs = { + year: Scalars['Int']; +}; + +export enum WorkExperienceRange { + Range_1_2 = 'range_1_2', + Range_2_5 = 'range_2_5', + Range_5_10 = 'range_5_10', + Range_10_20 = 'range_10_20', + RangeLessThan_1 = 'range_less_than_1', + RangeMoreThan_20 = 'range_more_than_20' +} + +export type YearBracketMatchups = { + __typename?: 'YearBracketMatchups'; + completion?: Maybe; + facets?: Maybe>>; + year?: Maybe; +}; + +export type YearBracketWins = { + __typename?: 'YearBracketWins'; + completion?: Maybe; + facets?: Maybe>>; + year?: Maybe; +}; + +/** Completion ratio and count */ +export type YearCompletion = { + __typename?: 'YearCompletion'; + /** Number of respondents who have answered this question for a specific year */ + count?: Maybe; + /** Completion percentage relative to total number of survey respondents for a given year */ + percentage_survey?: Maybe; + /** Total number of respondents who have answered the survey for a specific year */ + total?: Maybe; +}; + +export type YearEnvironments = { + __typename?: 'YearEnvironments'; + completion?: Maybe; + facets?: Maybe>>; + year?: Maybe; +}; + +export type YearEnvironmentsRatings = { + __typename?: 'YearEnvironmentsRatings'; + buckets?: Maybe>>; + completion?: Maybe; + year?: Maybe; +}; + +/** Feature data for a specific year */ +export type YearFeature = { + __typename?: 'YearFeature'; + completion?: Maybe; + facets?: Maybe>>; + year?: Maybe; +}; + +export type YearHappiness = { + __typename?: 'YearHappiness'; + completion?: Maybe; + facets?: Maybe>>; + /** + * Mean happiness score for the year, please note that despite the + * happiness indices starts at 0, the average is computed from 1. + */ + mean?: Maybe; + year?: Maybe; +}; + +export type YearOpinion = { + __typename?: 'YearOpinion'; + completion?: Maybe; + facets?: Maybe>>; + /** + * Mean opinion score for the year, please note that despite the + * opinion indices starts at 0, the average is computed from 1. + */ + mean?: Maybe; + year?: Maybe; +}; + +export type YearOtherFeatures = { + __typename?: 'YearOtherFeatures'; + buckets?: Maybe>>; + completion?: Maybe; + year?: Maybe; +}; + +export type YearOtherOpinions = { + __typename?: 'YearOtherOpinions'; + completion?: Maybe; + facets?: Maybe>>; + year?: Maybe; +}; + +export type YearOtherTools = { + __typename?: 'YearOtherTools'; + completion?: Maybe; + facets?: Maybe>>; + year?: Maybe; +}; + +/** Participation */ +export type YearParticipation = { + __typename?: 'YearParticipation'; + participants?: Maybe; + year?: Maybe; +}; + +export type YearProficiency = { + __typename?: 'YearProficiency'; + buckets?: Maybe>>; + completion?: Maybe; + year?: Maybe; +}; + +export type YearResources = { + __typename?: 'YearResources'; + completion?: Maybe; + facets?: Maybe>>; + year?: Maybe; +}; + +export type YearlySalaryRangeFilter = { + eq?: InputMaybe; + in?: InputMaybe>>; + nin?: InputMaybe>>; +}; + +export type YearsOfExperienceFilter = { + eq?: InputMaybe; + in?: InputMaybe>>; + nin?: InputMaybe>>; +}; + + + +export type ResolverTypeWrapper = Promise | T; + + +export type ResolverWithResolve = { + resolve: ResolverFn; +}; +export type Resolver = ResolverFn | ResolverWithResolve; + +export type ResolverFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => Promise | TResult; + +export type SubscriptionSubscribeFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => AsyncIterable | Promise>; + +export type SubscriptionResolveFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => TResult | Promise; + +export interface SubscriptionSubscriberObject { + subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>; + resolve?: SubscriptionResolveFn; +} + +export interface SubscriptionResolverObject { + subscribe: SubscriptionSubscribeFn; + resolve: SubscriptionResolveFn; +} + +export type SubscriptionObject = + | SubscriptionSubscriberObject + | SubscriptionResolverObject; + +export type SubscriptionResolver = + | ((...args: any[]) => SubscriptionObject) + | SubscriptionObject; + +export type TypeResolveFn = ( + parent: TParent, + context: TContext, + info: GraphQLResolveInfo +) => Maybe | Promise>; + +export type IsTypeOfResolverFn = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise; + +export type NextResolverFn = () => Promise; + +export type DirectiveResolverFn = ( + next: NextResolverFn, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => TResult | Promise; + +/** Mapping between all available schema types and the resolvers types */ +export type ResolversTypes = { + Age: ResolverTypeWrapper; + AgeRange: AgeRange; + Boolean: ResolverTypeWrapper; + BracketID: BracketId; + BracketKey: BracketKey; + BracketMatchupStats: ResolverTypeWrapper; + BracketMatchups: ResolverTypeWrapper; + BracketMatchupsBucket: ResolverTypeWrapper; + BracketMatchupsFacet: ResolverTypeWrapper; + BracketWins: ResolverTypeWrapper; + BracketWinsBucket: ResolverTypeWrapper; + BracketWinsFacet: ResolverTypeWrapper; + BracketWinsStats: ResolverTypeWrapper; + CanIUse: ResolverTypeWrapper; + Category: ResolverTypeWrapper; + CategoryHappiness: ResolverTypeWrapper; + CategoryID: CategoryId; + CategoryOtherTools: ResolverTypeWrapper; + CompanySize: ResolverTypeWrapper; + CompanySizeFilter: CompanySizeFilter; + CompanySizeRange: CompanySizeRange; + Contexts: Contexts; + Country: ResolverTypeWrapper; + CountryFilter: CountryFilter; + CountryID: CountryId; + Demographics: ResolverTypeWrapper; + DemographicsItem: ResolverTypeWrapper; + DemographicsItemYear: ResolverTypeWrapper; + DisabilityStatus: ResolverTypeWrapper; + DisabilityStatusID: DisabilityStatusId; + Entity: ResolverTypeWrapper; + EntityBucket: ResolverTypeWrapper; + EntityFacet: ResolverTypeWrapper; + EnvironmentID: EnvironmentId; + EnvironmentRatingBucket: ResolverTypeWrapper; + Environments: ResolverTypeWrapper; + EnvironmentsRatings: ResolverTypeWrapper; + Facet: Facet; + FacetCompletion: ResolverTypeWrapper; + Feature: ResolverTypeWrapper; + FeatureBucket: ResolverTypeWrapper; + FeatureExperience: ResolverTypeWrapper; + FeatureExperienceBucket: ResolverTypeWrapper; + FeatureExperienceID: FeatureExperienceId; + FeatureFacet: ResolverTypeWrapper; + FeatureID: FeatureId; + Filters: Filters; + Float: ResolverTypeWrapper; + Gender: ResolverTypeWrapper; + GenderFilter: GenderFilter; + GenderID: GenderId; + GitHub: ResolverTypeWrapper; + Happiness: ResolverTypeWrapper; + HappinessBucket: ResolverTypeWrapper; + HappinessFacet: ResolverTypeWrapper; + HappinessID: HappinessId; + HigherEducationDegree: ResolverTypeWrapper; + HigherEducationDegreeID: HigherEducationDegreeId; + Homepage: ResolverTypeWrapper; + ID: ResolverTypeWrapper; + IndustrySector: ResolverTypeWrapper; + IndustrySectorFilter: IndustrySectorFilter; + IndustrySectorID: IndustrySectorId; + Int: ResolverTypeWrapper; + JobTitle: ResolverTypeWrapper; + JobTitleID: JobTitleId; + KnowledgeScore: ResolverTypeWrapper; + Locale: ResolverTypeWrapper; + LocaleStats: ResolverTypeWrapper; + MDN: ResolverTypeWrapper; + Matrices: ResolverTypeWrapper; + MatrixBucket: ResolverTypeWrapper; + MatrixDimensionID: MatrixDimensionId; + NPM: ResolverTypeWrapper; + Opinion: ResolverTypeWrapper; + OpinionBucket: ResolverTypeWrapper; + OpinionFacet: ResolverTypeWrapper; + OpinionID: OpinionId; + Options: Options; + OtherDisabilityStatus: ResolverTypeWrapper; + OtherFeatures: ResolverTypeWrapper; + OtherFeaturesID: OtherFeaturesId; + OtherOpinions: ResolverTypeWrapper; + OtherOpinionsID: OtherOpinionsId; + OtherTools: ResolverTypeWrapper; + OtherToolsID: OtherToolsId; + Participation: ResolverTypeWrapper; + Proficiency: ResolverTypeWrapper; + ProficiencyBucket: ResolverTypeWrapper; + ProficiencyID: ProficiencyId; + Query: ResolverTypeWrapper<{}>; + RaceEthnicity: ResolverTypeWrapper; + RaceEthnicityFilter: RaceEthnicityFilter; + RaceEthnicityID: RaceEthnicityId; + Resources: ResolverTypeWrapper; + ResourcesID: ResourcesId; + Salary: ResolverTypeWrapper; + SalaryRange: SalaryRange; + SortOrder: SortOrder; + SortSpecifier: SortSpecifier; + Source: ResolverTypeWrapper; + SourceFilter: SourceFilter; + StateOfCSSSurvey: ResolverTypeWrapper; + StateOfJSSurvey: ResolverTypeWrapper; + String: ResolverTypeWrapper; + Survey: ResolverTypeWrapper; + SurveyType: SurveyType; + Surveys: ResolverTypeWrapper; + Tool: ResolverTypeWrapper; + ToolAwarenessUsageInterestSatisfaction: ResolverTypeWrapper; + ToolExperience: ResolverTypeWrapper; + ToolExperienceAggregated: ResolverTypeWrapper; + ToolExperienceAggregatedBucket: ResolverTypeWrapper; + ToolExperienceAggregatedFacet: ResolverTypeWrapper; + ToolExperienceBucket: ResolverTypeWrapper; + ToolExperienceFacet: ResolverTypeWrapper; + ToolExperienceGraph: ResolverTypeWrapper; + ToolExperienceGraphLink: ResolverTypeWrapper; + ToolExperienceGraphNode: ResolverTypeWrapper; + ToolExperienceID: ToolExperienceId; + ToolExperienceRanking: ResolverTypeWrapper; + ToolExperienceRankingYearMetric: ResolverTypeWrapper; + ToolExperienceTransitions: ResolverTypeWrapper; + ToolExperienceTransitionsNode: ResolverTypeWrapper; + ToolExperienceTransitionsTransition: ResolverTypeWrapper; + ToolID: ToolId; + ToolMatrix: ResolverTypeWrapper; + ToolMatrixExperienceID: ToolMatrixExperienceId; + ToolYearExperience: ResolverTypeWrapper; + ToolYearExperienceAggregated: ResolverTypeWrapper; + ToolsCardinalityByUser: ResolverTypeWrapper; + ToolsExperienceDimensionMatrix: ResolverTypeWrapper; + ToolsExperienceMatrices: ResolverTypeWrapper; + ToolsRankings: ResolverTypeWrapper; + Totals: ResolverTypeWrapper; + TranslationString: ResolverTypeWrapper; + Twitter: ResolverTypeWrapper; + TwittterPublicMetrics: ResolverTypeWrapper; + UsageID: UsageId; + WorkExperience: ResolverTypeWrapper; + WorkExperienceRange: WorkExperienceRange; + YearBracketMatchups: ResolverTypeWrapper; + YearBracketWins: ResolverTypeWrapper; + YearCompletion: ResolverTypeWrapper; + YearEnvironments: ResolverTypeWrapper; + YearEnvironmentsRatings: ResolverTypeWrapper; + YearFeature: ResolverTypeWrapper; + YearHappiness: ResolverTypeWrapper; + YearOpinion: ResolverTypeWrapper; + YearOtherFeatures: ResolverTypeWrapper; + YearOtherOpinions: ResolverTypeWrapper; + YearOtherTools: ResolverTypeWrapper; + YearParticipation: ResolverTypeWrapper; + YearProficiency: ResolverTypeWrapper; + YearResources: ResolverTypeWrapper; + YearlySalaryRangeFilter: YearlySalaryRangeFilter; + YearsOfExperienceFilter: YearsOfExperienceFilter; +}; + +/** Mapping between all available schema types and the resolvers parents */ +export type ResolversParentTypes = { + Age: Age; + Boolean: Scalars['Boolean']; + BracketMatchupStats: BracketMatchupStats; + BracketMatchups: BracketMatchups; + BracketMatchupsBucket: BracketMatchupsBucket; + BracketMatchupsFacet: BracketMatchupsFacet; + BracketWins: BracketWins; + BracketWinsBucket: BracketWinsBucket; + BracketWinsFacet: BracketWinsFacet; + BracketWinsStats: BracketWinsStats; + CanIUse: CanIUse; + Category: Category; + CategoryHappiness: CategoryHappiness; + CategoryOtherTools: CategoryOtherTools; + CompanySize: CompanySize; + CompanySizeFilter: CompanySizeFilter; + Country: Country; + CountryFilter: CountryFilter; + Demographics: Demographics; + DemographicsItem: DemographicsItem; + DemographicsItemYear: DemographicsItemYear; + DisabilityStatus: DisabilityStatus; + Entity: Entity; + EntityBucket: EntityBucket; + EntityFacet: EntityFacet; + EnvironmentRatingBucket: EnvironmentRatingBucket; + Environments: Environments; + EnvironmentsRatings: EnvironmentsRatings; + FacetCompletion: FacetCompletion; + Feature: Feature; + FeatureBucket: FeatureBucket; + FeatureExperience: FeatureExperience; + FeatureExperienceBucket: FeatureExperienceBucket; + FeatureFacet: FeatureFacet; + Filters: Filters; + Float: Scalars['Float']; + Gender: Gender; + GenderFilter: GenderFilter; + GitHub: GitHub; + Happiness: Happiness; + HappinessBucket: HappinessBucket; + HappinessFacet: HappinessFacet; + HigherEducationDegree: HigherEducationDegree; + Homepage: Homepage; + ID: Scalars['ID']; + IndustrySector: IndustrySector; + IndustrySectorFilter: IndustrySectorFilter; + Int: Scalars['Int']; + JobTitle: JobTitle; + KnowledgeScore: KnowledgeScore; + Locale: Locale; + LocaleStats: LocaleStats; + MDN: Mdn; + Matrices: Matrices; + MatrixBucket: MatrixBucket; + NPM: Npm; + Opinion: Opinion; + OpinionBucket: OpinionBucket; + OpinionFacet: OpinionFacet; + Options: Options; + OtherDisabilityStatus: OtherDisabilityStatus; + OtherFeatures: OtherFeatures; + OtherOpinions: OtherOpinions; + OtherTools: OtherTools; + Participation: Participation; + Proficiency: Proficiency; + ProficiencyBucket: ProficiencyBucket; + Query: {}; + RaceEthnicity: RaceEthnicity; + RaceEthnicityFilter: RaceEthnicityFilter; + Resources: Resources; + Salary: Salary; + SortSpecifier: SortSpecifier; + Source: Source; + SourceFilter: SourceFilter; + StateOfCSSSurvey: StateOfCssSurvey; + StateOfJSSurvey: StateOfJsSurvey; + String: Scalars['String']; + Survey: Survey; + Surveys: Surveys; + Tool: Tool; + ToolAwarenessUsageInterestSatisfaction: ToolAwarenessUsageInterestSatisfaction; + ToolExperience: ToolExperience; + ToolExperienceAggregated: ToolExperienceAggregated; + ToolExperienceAggregatedBucket: ToolExperienceAggregatedBucket; + ToolExperienceAggregatedFacet: ToolExperienceAggregatedFacet; + ToolExperienceBucket: ToolExperienceBucket; + ToolExperienceFacet: ToolExperienceFacet; + ToolExperienceGraph: ToolExperienceGraph; + ToolExperienceGraphLink: ToolExperienceGraphLink; + ToolExperienceGraphNode: ToolExperienceGraphNode; + ToolExperienceRanking: ToolExperienceRanking; + ToolExperienceRankingYearMetric: ToolExperienceRankingYearMetric; + ToolExperienceTransitions: ToolExperienceTransitions; + ToolExperienceTransitionsNode: ToolExperienceTransitionsNode; + ToolExperienceTransitionsTransition: ToolExperienceTransitionsTransition; + ToolMatrix: ToolMatrix; + ToolYearExperience: ToolYearExperience; + ToolYearExperienceAggregated: ToolYearExperienceAggregated; + ToolsCardinalityByUser: ToolsCardinalityByUser; + ToolsExperienceDimensionMatrix: ToolsExperienceDimensionMatrix; + ToolsExperienceMatrices: ToolsExperienceMatrices; + ToolsRankings: ToolsRankings; + Totals: Totals; + TranslationString: TranslationString; + Twitter: Twitter; + TwittterPublicMetrics: TwittterPublicMetrics; + WorkExperience: WorkExperience; + YearBracketMatchups: YearBracketMatchups; + YearBracketWins: YearBracketWins; + YearCompletion: YearCompletion; + YearEnvironments: YearEnvironments; + YearEnvironmentsRatings: YearEnvironmentsRatings; + YearFeature: YearFeature; + YearHappiness: YearHappiness; + YearOpinion: YearOpinion; + YearOtherFeatures: YearOtherFeatures; + YearOtherOpinions: YearOtherOpinions; + YearOtherTools: YearOtherTools; + YearParticipation: YearParticipation; + YearProficiency: YearProficiency; + YearResources: YearResources; + YearlySalaryRangeFilter: YearlySalaryRangeFilter; + YearsOfExperienceFilter: YearsOfExperienceFilter; +}; + +export type AgeResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type BracketMatchupStatsResolvers = { + count?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + percentage?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type BracketMatchupsResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type BracketMatchupsBucketResolvers = { + id?: Resolver, ParentType, ContextType>; + matchups?: Resolver>>, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type BracketMatchupsFacetResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + completion?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + type?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type BracketWinsResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type BracketWinsBucketResolvers = { + combined?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + round1?: Resolver, ParentType, ContextType>; + round2?: Resolver, ParentType, ContextType>; + round3?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type BracketWinsFacetResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + completion?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + type?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type BracketWinsStatsResolvers = { + count?: Resolver, ParentType, ContextType>; + percentage?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CanIUseResolvers = { + name?: Resolver, ParentType, ContextType>; + url?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CategoryResolvers = { + happiness?: Resolver, ParentType, ContextType, Partial>; + tools_others?: Resolver, ParentType, ContextType, Partial>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CategoryHappinessResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CategoryOtherToolsResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CompanySizeResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CountryResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DemographicsResolvers = { + age?: Resolver, ParentType, ContextType, Partial>; + company_size?: Resolver, ParentType, ContextType, Partial>; + country?: Resolver, ParentType, ContextType, Partial>; + disability_status?: Resolver, ParentType, ContextType, Partial>; + disability_status_others?: Resolver, ParentType, ContextType, Partial>; + gender?: Resolver, ParentType, ContextType, Partial>; + higher_education_degree?: Resolver, ParentType, ContextType, Partial>; + industry_sector?: Resolver, ParentType, ContextType, Partial>; + job_title?: Resolver, ParentType, ContextType, Partial>; + knowledge_score?: Resolver, ParentType, ContextType, Partial>; + locale?: Resolver, ParentType, ContextType, Partial>; + participation?: Resolver, ParentType, ContextType, Partial>; + race_ethnicity?: Resolver, ParentType, ContextType, Partial>; + source?: Resolver, ParentType, ContextType, Partial>; + yearly_salary?: Resolver, ParentType, ContextType, Partial>; + years_of_experience?: Resolver, ParentType, ContextType, Partial>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DemographicsItemResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DemographicsItemYearResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DisabilityStatusResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EntityResolvers = { + blog?: Resolver, ParentType, ContextType>; + caniuse?: Resolver, ParentType, ContextType>; + category?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + github?: Resolver, ParentType, ContextType>; + homepage?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + mdn?: Resolver, ParentType, ContextType>; + name?: Resolver, ParentType, ContextType>; + npm?: Resolver, ParentType, ContextType>; + otherName?: Resolver, ParentType, ContextType>; + patterns?: Resolver>>, ParentType, ContextType>; + related?: Resolver>>, ParentType, ContextType>; + rss?: Resolver, ParentType, ContextType>; + tags?: Resolver>>, ParentType, ContextType>; + twitter?: Resolver, ParentType, ContextType>; + twitterName?: Resolver, ParentType, ContextType>; + type?: Resolver, ParentType, ContextType>; + youtubeName?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EntityBucketResolvers = { + count?: Resolver, ParentType, ContextType>; + count_all_facets?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + percentage_all_facets?: Resolver, ParentType, ContextType>; + percentage_facet?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EntityFacetResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + completion?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + mean?: Resolver, ParentType, ContextType>; + type?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EnvironmentRatingBucketResolvers = { + count?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + percentage_facet?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EnvironmentsResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EnvironmentsRatingsResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type FacetCompletionResolvers = { + count?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + total?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type FeatureResolvers = { + entity?: Resolver, ParentType, ContextType>; + experience?: Resolver, ParentType, ContextType, Partial>; + id?: Resolver; + mdn?: Resolver, ParentType, ContextType>; + name?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type FeatureBucketResolvers = { + count?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + name?: Resolver, ParentType, ContextType>; + percentage_facet?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type FeatureExperienceResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type FeatureExperienceBucketResolvers = { + count?: Resolver, ParentType, ContextType>; + countDelta?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + percentageDelta?: Resolver, ParentType, ContextType>; + percentage_facet?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type FeatureFacetResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + completion?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + type?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type GenderResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type GitHubResolvers = { + description?: Resolver, ParentType, ContextType>; + forks?: Resolver, ParentType, ContextType>; + full_name?: Resolver, ParentType, ContextType>; + homepage?: Resolver, ParentType, ContextType>; + name?: Resolver, ParentType, ContextType>; + opened_issues?: Resolver, ParentType, ContextType>; + stars?: Resolver, ParentType, ContextType>; + url?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HappinessResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HappinessBucketResolvers = { + count?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + percentage_facet?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HappinessFacetResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + completion?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + type?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HigherEducationDegreeResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HomepageResolvers = { + name?: Resolver, ParentType, ContextType>; + url?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type IndustrySectorResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type JobTitleResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type KnowledgeScoreResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type LocaleResolvers = { + completion?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + label?: Resolver, ParentType, ContextType>; + repo?: Resolver, ParentType, ContextType>; + strings?: Resolver>>, ParentType, ContextType>; + totalCount?: Resolver, ParentType, ContextType>; + translatedCount?: Resolver, ParentType, ContextType>; + translators?: Resolver>>, ParentType, ContextType>; + untranslatedKeys?: Resolver>>, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type LocaleStatsResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type MdnResolvers = { + locale?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; + title?: Resolver, ParentType, ContextType>; + url?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type MatricesResolvers = { + tools?: Resolver>>, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type MatrixBucketResolvers = { + count?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + percentage?: Resolver, ParentType, ContextType>; + range_percentage?: Resolver, ParentType, ContextType>; + range_percentage_delta?: Resolver, ParentType, ContextType>; + range_total?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type NpmResolvers = { + name?: Resolver, ParentType, ContextType>; + url?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type OpinionResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type OpinionBucketResolvers = { + count?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + percentage_facet?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type OpinionFacetResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + completion?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + type?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type OtherDisabilityStatusResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type OtherFeaturesResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type OtherOpinionsResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type OtherToolsResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ParticipationResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ProficiencyResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ProficiencyBucketResolvers = { + count?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + percentage_facet?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type QueryResolvers = { + entities?: Resolver>>, ParentType, ContextType, Partial>; + entity?: Resolver, ParentType, ContextType, RequireFields>; + locale?: Resolver, ParentType, ContextType, RequireFields>; + locales?: Resolver>>, ParentType, ContextType, Partial>; + survey?: Resolver, ParentType, ContextType, RequireFields>; + translation?: Resolver, ParentType, ContextType, RequireFields>; +}; + +export type RaceEthnicityResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ResourcesResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + id?: Resolver; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type SalaryResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type SourceResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type StateOfCssSurveyResolvers = { + foobar?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type StateOfJsSurveyResolvers = { + foobar?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type SurveyResolvers = { + bracket_matchups?: Resolver, ParentType, ContextType, RequireFields>; + bracket_wins?: Resolver, ParentType, ContextType, RequireFields>; + category?: Resolver, ParentType, ContextType, RequireFields>; + demographics?: Resolver, ParentType, ContextType>; + environments?: Resolver, ParentType, ContextType, RequireFields>; + environments_ratings?: Resolver, ParentType, ContextType, RequireFields>; + feature?: Resolver, ParentType, ContextType, RequireFields>; + features?: Resolver>>, ParentType, ContextType, Partial>; + features_others?: Resolver, ParentType, ContextType, RequireFields>; + happiness?: Resolver, ParentType, ContextType, RequireFields>; + matrices?: Resolver, ParentType, ContextType>; + opinion?: Resolver, ParentType, ContextType, RequireFields>; + opinions_others?: Resolver, ParentType, ContextType, RequireFields>; + proficiency?: Resolver, ParentType, ContextType, RequireFields>; + resources?: Resolver, ParentType, ContextType, RequireFields>; + surveyName?: Resolver, ParentType, ContextType>; + tool?: Resolver, ParentType, ContextType, RequireFields>; + tools?: Resolver>>, ParentType, ContextType, Partial>; + tools_cardinality_by_user?: Resolver>>, ParentType, ContextType, RequireFields>; + tools_others?: Resolver, ParentType, ContextType, RequireFields>; + tools_rankings?: Resolver, ParentType, ContextType, RequireFields>; + totals?: Resolver, ParentType, ContextType, Partial>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type SurveysResolvers = { + state_of_css?: Resolver, ParentType, ContextType>; + state_of_js?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolResolvers = { + entity?: Resolver, ParentType, ContextType>; + experience?: Resolver, ParentType, ContextType, Partial>; + experienceAggregated?: Resolver, ParentType, ContextType, Partial>; + experienceGraph?: Resolver, ParentType, ContextType, Partial>; + experienceTransitions?: Resolver, ParentType, ContextType, RequireFields>; + id?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolAwarenessUsageInterestSatisfactionResolvers = { + awareness?: Resolver, ParentType, ContextType>; + interest?: Resolver, ParentType, ContextType>; + satisfaction?: Resolver, ParentType, ContextType>; + usage?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceAggregatedResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceAggregatedBucketResolvers = { + count?: Resolver, ParentType, ContextType>; + countDelta?: Resolver, ParentType, ContextType>; + ids?: Resolver>>, ParentType, ContextType>; + percentageDelta?: Resolver, ParentType, ContextType>; + percentage_facet?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceAggregatedFacetResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + type?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceBucketResolvers = { + count?: Resolver, ParentType, ContextType>; + countDelta?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + percentageDelta?: Resolver, ParentType, ContextType>; + percentage_facet?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceFacetResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + completion?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + type?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceGraphResolvers = { + links?: Resolver>>, ParentType, ContextType>; + nodes?: Resolver>>, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceGraphLinkResolvers = { + count?: Resolver, ParentType, ContextType>; + source?: Resolver, ParentType, ContextType>; + target?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceGraphNodeResolvers = { + experience?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceRankingResolvers = { + awareness?: Resolver>>, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + interest?: Resolver>>, ParentType, ContextType>; + satisfaction?: Resolver>>, ParentType, ContextType>; + usage?: Resolver>>, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceRankingYearMetricResolvers = { + percentage_facet?: Resolver, ParentType, ContextType>; + percentage_question?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + rank?: Resolver, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceTransitionsResolvers = { + keys?: Resolver>>, ParentType, ContextType>; + nodes?: Resolver>>, ParentType, ContextType>; + tool?: Resolver, ParentType, ContextType>; + transitions?: Resolver>>, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceTransitionsNodeResolvers = { + choice?: Resolver, ParentType, ContextType>; + count?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolExperienceTransitionsTransitionResolvers = { + count?: Resolver, ParentType, ContextType>; + from?: Resolver, ParentType, ContextType>; + percentage?: Resolver, ParentType, ContextType>; + to?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolMatrixResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + count?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + percentage?: Resolver, ParentType, ContextType>; + total?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolYearExperienceResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolYearExperienceAggregatedResolvers = { + facets?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolsCardinalityByUserResolvers = { + cardinality?: Resolver, ParentType, ContextType>; + count?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolsExperienceDimensionMatrixResolvers = { + dimension?: Resolver, ParentType, ContextType>; + tools?: Resolver>>, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolsExperienceMatricesResolvers = { + dimensions?: Resolver>>, ParentType, ContextType>; + experience?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ToolsRankingsResolvers = { + experience?: Resolver>>, ParentType, ContextType, Partial>; + ids?: Resolver>, ParentType, ContextType>; + years?: Resolver>>, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type TotalsResolvers = { + all_years?: Resolver, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type TranslationStringResolvers = { + aliasFor?: Resolver, ParentType, ContextType>; + context?: Resolver, ParentType, ContextType>; + fallback?: Resolver, ParentType, ContextType>; + key?: Resolver, ParentType, ContextType>; + t?: Resolver, ParentType, ContextType>; + tHtml?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type TwitterResolvers = { + avatarUrl?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + publicMetrics?: Resolver, ParentType, ContextType>; + userName?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type TwittterPublicMetricsResolvers = { + followers?: Resolver, ParentType, ContextType>; + following?: Resolver, ParentType, ContextType>; + listed?: Resolver, ParentType, ContextType>; + tweet?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type WorkExperienceResolvers = { + all_years?: Resolver>>, ParentType, ContextType>; + keys?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType, RequireFields>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearBracketMatchupsResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearBracketWinsResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearCompletionResolvers = { + count?: Resolver, ParentType, ContextType>; + percentage_survey?: Resolver, ParentType, ContextType>; + total?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearEnvironmentsResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearEnvironmentsRatingsResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + completion?: Resolver, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearFeatureResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearHappinessResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + mean?: Resolver, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearOpinionResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + mean?: Resolver, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearOtherFeaturesResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + completion?: Resolver, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearOtherOpinionsResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearOtherToolsResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearParticipationResolvers = { + participants?: Resolver, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearProficiencyResolvers = { + buckets?: Resolver>>, ParentType, ContextType>; + completion?: Resolver, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type YearResourcesResolvers = { + completion?: Resolver, ParentType, ContextType>; + facets?: Resolver>>, ParentType, ContextType>; + year?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type Resolvers = { + Age?: AgeResolvers; + BracketMatchupStats?: BracketMatchupStatsResolvers; + BracketMatchups?: BracketMatchupsResolvers; + BracketMatchupsBucket?: BracketMatchupsBucketResolvers; + BracketMatchupsFacet?: BracketMatchupsFacetResolvers; + BracketWins?: BracketWinsResolvers; + BracketWinsBucket?: BracketWinsBucketResolvers; + BracketWinsFacet?: BracketWinsFacetResolvers; + BracketWinsStats?: BracketWinsStatsResolvers; + CanIUse?: CanIUseResolvers; + Category?: CategoryResolvers; + CategoryHappiness?: CategoryHappinessResolvers; + CategoryOtherTools?: CategoryOtherToolsResolvers; + CompanySize?: CompanySizeResolvers; + Country?: CountryResolvers; + Demographics?: DemographicsResolvers; + DemographicsItem?: DemographicsItemResolvers; + DemographicsItemYear?: DemographicsItemYearResolvers; + DisabilityStatus?: DisabilityStatusResolvers; + Entity?: EntityResolvers; + EntityBucket?: EntityBucketResolvers; + EntityFacet?: EntityFacetResolvers; + EnvironmentRatingBucket?: EnvironmentRatingBucketResolvers; + Environments?: EnvironmentsResolvers; + EnvironmentsRatings?: EnvironmentsRatingsResolvers; + FacetCompletion?: FacetCompletionResolvers; + Feature?: FeatureResolvers; + FeatureBucket?: FeatureBucketResolvers; + FeatureExperience?: FeatureExperienceResolvers; + FeatureExperienceBucket?: FeatureExperienceBucketResolvers; + FeatureFacet?: FeatureFacetResolvers; + Gender?: GenderResolvers; + GitHub?: GitHubResolvers; + Happiness?: HappinessResolvers; + HappinessBucket?: HappinessBucketResolvers; + HappinessFacet?: HappinessFacetResolvers; + HigherEducationDegree?: HigherEducationDegreeResolvers; + Homepage?: HomepageResolvers; + IndustrySector?: IndustrySectorResolvers; + JobTitle?: JobTitleResolvers; + KnowledgeScore?: KnowledgeScoreResolvers; + Locale?: LocaleResolvers; + LocaleStats?: LocaleStatsResolvers; + MDN?: MdnResolvers; + Matrices?: MatricesResolvers; + MatrixBucket?: MatrixBucketResolvers; + NPM?: NpmResolvers; + Opinion?: OpinionResolvers; + OpinionBucket?: OpinionBucketResolvers; + OpinionFacet?: OpinionFacetResolvers; + OtherDisabilityStatus?: OtherDisabilityStatusResolvers; + OtherFeatures?: OtherFeaturesResolvers; + OtherOpinions?: OtherOpinionsResolvers; + OtherTools?: OtherToolsResolvers; + Participation?: ParticipationResolvers; + Proficiency?: ProficiencyResolvers; + ProficiencyBucket?: ProficiencyBucketResolvers; + Query?: QueryResolvers; + RaceEthnicity?: RaceEthnicityResolvers; + Resources?: ResourcesResolvers; + Salary?: SalaryResolvers; + Source?: SourceResolvers; + StateOfCSSSurvey?: StateOfCssSurveyResolvers; + StateOfJSSurvey?: StateOfJsSurveyResolvers; + Survey?: SurveyResolvers; + Surveys?: SurveysResolvers; + Tool?: ToolResolvers; + ToolAwarenessUsageInterestSatisfaction?: ToolAwarenessUsageInterestSatisfactionResolvers; + ToolExperience?: ToolExperienceResolvers; + ToolExperienceAggregated?: ToolExperienceAggregatedResolvers; + ToolExperienceAggregatedBucket?: ToolExperienceAggregatedBucketResolvers; + ToolExperienceAggregatedFacet?: ToolExperienceAggregatedFacetResolvers; + ToolExperienceBucket?: ToolExperienceBucketResolvers; + ToolExperienceFacet?: ToolExperienceFacetResolvers; + ToolExperienceGraph?: ToolExperienceGraphResolvers; + ToolExperienceGraphLink?: ToolExperienceGraphLinkResolvers; + ToolExperienceGraphNode?: ToolExperienceGraphNodeResolvers; + ToolExperienceRanking?: ToolExperienceRankingResolvers; + ToolExperienceRankingYearMetric?: ToolExperienceRankingYearMetricResolvers; + ToolExperienceTransitions?: ToolExperienceTransitionsResolvers; + ToolExperienceTransitionsNode?: ToolExperienceTransitionsNodeResolvers; + ToolExperienceTransitionsTransition?: ToolExperienceTransitionsTransitionResolvers; + ToolMatrix?: ToolMatrixResolvers; + ToolYearExperience?: ToolYearExperienceResolvers; + ToolYearExperienceAggregated?: ToolYearExperienceAggregatedResolvers; + ToolsCardinalityByUser?: ToolsCardinalityByUserResolvers; + ToolsExperienceDimensionMatrix?: ToolsExperienceDimensionMatrixResolvers; + ToolsExperienceMatrices?: ToolsExperienceMatricesResolvers; + ToolsRankings?: ToolsRankingsResolvers; + Totals?: TotalsResolvers; + TranslationString?: TranslationStringResolvers; + Twitter?: TwitterResolvers; + TwittterPublicMetrics?: TwittterPublicMetricsResolvers; + WorkExperience?: WorkExperienceResolvers; + YearBracketMatchups?: YearBracketMatchupsResolvers; + YearBracketWins?: YearBracketWinsResolvers; + YearCompletion?: YearCompletionResolvers; + YearEnvironments?: YearEnvironmentsResolvers; + YearEnvironmentsRatings?: YearEnvironmentsRatingsResolvers; + YearFeature?: YearFeatureResolvers; + YearHappiness?: YearHappinessResolvers; + YearOpinion?: YearOpinionResolvers; + YearOtherFeatures?: YearOtherFeaturesResolvers; + YearOtherOpinions?: YearOtherOpinionsResolvers; + YearOtherTools?: YearOtherToolsResolvers; + YearParticipation?: YearParticipationResolvers; + YearProficiency?: YearProficiencyResolvers; + YearResources?: YearResourcesResolvers; +}; + diff --git a/api/src/i18n.ts b/api/src/i18n.ts index 8ae6c05b6..eca02d682 100644 --- a/api/src/i18n.ts +++ b/api/src/i18n.ts @@ -146,12 +146,12 @@ export const getGraphQLEnumValues = (name: string): string[] => { For a given locale id, get closest existing key. -Ex: +Ex: en-US -> en-US en-us -> en-US en-gb -> en-US -etc. +etc. */ export const truncateKey = (key: string) => key.split('-')[0] diff --git a/api/src/resolvers/brackets.ts b/api/src/resolvers/brackets.ts index cdbe56c6b..23549038a 100644 --- a/api/src/resolvers/brackets.ts +++ b/api/src/resolvers/brackets.ts @@ -1,26 +1,25 @@ import { getDynamicResolvers } from '../helpers' import { winsAggregationFunction, matchupsAggregationFunction } from '../compute/brackets' import keys from '../data/keys.yml' +import type { Resolvers } from '../generated/graphql' -export default { - BracketWins: { - keys: () => keys.bracket, - ...getDynamicResolvers( - id => { - const fullPath = id.replace('__', '.') - return fullPath - }, - {}, - winsAggregationFunction - ) - }, - - BracketMatchups: getDynamicResolvers( +export const BracketWins: Resolvers['BracketWins'] = { + keys: () => keys.bracket, + ...getDynamicResolvers( id => { const fullPath = id.replace('__', '.') return fullPath }, {}, - matchupsAggregationFunction + winsAggregationFunction ) } + +export const BracketMatchups: Resolvers['BracketMatchups'] = getDynamicResolvers( + id => { + const fullPath = id.replace('__', '.') + return fullPath + }, + {}, + matchupsAggregationFunction +) diff --git a/api/src/resolvers/categories.ts b/api/src/resolvers/categories.ts index cd79f07b0..1534a5c33 100644 --- a/api/src/resolvers/categories.ts +++ b/api/src/resolvers/categories.ts @@ -1,9 +1,10 @@ import { Db } from 'mongodb' import { computeHappinessByYear, computeTermAggregationAllYears } from '../compute' import { useCache } from '../caching' -import { RequestContext, SurveyConfig } from '../types' +import { SurveyConfig } from '../types' import { Filters } from '../filters' -import { YearAggregations } from '../compute/generic' +import { YearAggregations } from '../compute' +import type { Resolvers } from '../generated/graphql' interface CategoryConfig { survey: SurveyConfig @@ -18,35 +19,35 @@ const computeOtherTools = async (db: Db, survey: SurveyConfig, id: string, filte { filters } ]) -export default { - CategoryOtherTools: { - all_years: async ( - { survey, id, filters }: CategoryConfig, - args: any, - { db }: RequestContext - ) => computeOtherTools(db, survey, id, filters), - year: async ( - { survey, id, filters }: CategoryConfig, - { year }: { year: number }, - { db }: RequestContext - ) => { - const allYears = await computeOtherTools(db, survey, id, filters) - return allYears.find((yearItem: YearAggregations) => yearItem.year === year) - } - }, - CategoryHappiness: { - all_years: async ( - { survey, id, filters }: CategoryConfig, - args: any, - { db }: RequestContext - ) => useCache(computeHappinessByYear, db, [survey, id, filters]), - year: async ( - { survey, id, filters }: CategoryConfig, - { year }: { year: number }, - { db }: RequestContext - ) => { - const allYears = await useCache(computeHappinessByYear, db, [survey, id, filters]) - return allYears.find((yearItem: YearAggregations) => yearItem.year === year) - } + +export const CategoryOtherTools: Resolvers['CategoryOtherTools'] = { + all_years: ( + { survey, id, filters }, + args, + { db } + ) => computeOtherTools(db, survey, id, filters), + year: async ( + { survey, id, filters }, + { year }, + { db } + ) => { + const allYears = await computeOtherTools(db, survey, id, filters) + return allYears.find((yearItem: YearAggregations) => yearItem.year === year) + } +} + +export const CategoryHappiness: Resolvers['CategoryHappiness'] = { + all_years: ( + { survey, id, filters }, + args, + { db } + ) => useCache(computeHappinessByYear, db, [survey, id, filters]), + year: async ( + { survey, id, filters }, + { year }, + { db } + ) => { + const allYears = await useCache(computeHappinessByYear, db, [survey, id, filters]) + return allYears.find((yearItem: YearAggregations) => yearItem.year === year) } } diff --git a/api/src/resolvers/demographics.ts b/api/src/resolvers/demographics.ts index a5184a6a2..195655e28 100644 --- a/api/src/resolvers/demographics.ts +++ b/api/src/resolvers/demographics.ts @@ -1,11 +1,12 @@ import { Db } from 'mongodb' -import { RequestContext, SurveyConfig, ResolverStaticConfig } from '../types' +import { SurveyConfig } from '../types' import { Filters } from '../filters' import { useCache } from '../caching' import { computeParticipationByYear } from '../compute' import { getStaticResolvers } from '../helpers' import keys from '../data/keys.yml' import range from 'lodash/range' +import type { Resolvers } from '../generated/graphql' const computeParticipation = async ( db: Db, @@ -14,86 +15,91 @@ const computeParticipation = async ( year?: number ) => useCache(computeParticipationByYear, db, [survey, filters, year]) -export default { - Participation: { - all_years: async ( - { survey, filters }: ResolverStaticConfig, - args: any, - { db }: RequestContext - ) => computeParticipation(db, survey, filters), - year: async ( - { survey, filters }: ResolverStaticConfig, - { year }: { year: number }, - { db }: RequestContext - ) => { - const allYears = await computeParticipation(db, survey, filters) - return allYears.find(y => y.year === year) - } - }, - - Country: getStaticResolvers('user_info.country_alpha3', { - limit: 999, - cutoff: 1 - }), - - LocaleStats: getStaticResolvers('user_info.locale', { - limit: 100, - cutoff: 1 - }), - - Source: getStaticResolvers('user_info.source.normalized'), - - Gender: getStaticResolvers('user_info.gender', { cutoff: 1, keys: keys.gender }), - - RaceEthnicity: getStaticResolvers('user_info.race_ethnicity.choices', { - cutoff: 1, - keys: keys.race_ethnicity - }), - - Age: getStaticResolvers('user_info.age', { limit: 100, cutoff: 1, keys: keys.age }), - - Salary: getStaticResolvers('user_info.yearly_salary', { - limit: 100, - cutoff: 1, - keys: keys.yearly_salary - }), - - CompanySize: getStaticResolvers('user_info.company_size', { - limit: 100, - cutoff: 1, - keys: keys.company_size - }), - - WorkExperience: getStaticResolvers('user_info.years_of_experience', { - limit: 100, - cutoff: 1, - keys: keys.years_of_experience - }), - - JobTitle: getStaticResolvers('user_info.job_title', { - cutoff: 1 - }), - - IndustrySector: getStaticResolvers('user_info.industry_sector.choices', { - cutoff: 1 - }), - - KnowledgeScore: getStaticResolvers('user_info.knowledge_score', { - limit: 100, - cutoff: 1, - keys: range(1, 101).map(k => k.toString()) - }), - - HigherEducationDegree: getStaticResolvers('user_info.higher_education_degree', { - cutoff: 1, - keys: keys.higher_education_degree - }), - - DisabilityStatus: getStaticResolvers('user_info.disability_status.choices', { - cutoff: 1 - }), - - OtherDisabilityStatus: getStaticResolvers('user_info.disability_status.others.normalized', { - cutoff: 1 - }) +export const Participation: Resolvers['Participation'] = { + all_years: ( + { survey, filters }, + args, + { db } + ) => computeParticipation(db, survey, filters), + year: async ( + { survey, filters }, + { year }, + { db } + ) => { + const allYears = await computeParticipation(db, survey, filters) + return allYears.find(y => y.year === year) + } } + +export const Country: Resolvers['Country'] = getStaticResolvers('user_info.country_alpha3', { + limit: 999, + cutoff: 1 +}) + +export const LocaleStats: Resolvers['LocaleStats'] = getStaticResolvers('user_info.locale', { + limit: 100, + cutoff: 1 +}) + +export const Source: Resolvers['Source'] = getStaticResolvers('user_info.source.normalized') + +export const Gender: Resolvers['Gender'] = getStaticResolvers('user_info.gender', { + cutoff: 1, + keys: keys.gender +}) + +export const RaceEthnicity: Resolvers['RaceEthnicity'] = getStaticResolvers('user_info.race_ethnicity.choices', { + cutoff: 1, + keys: keys.race_ethnicity +}) + +export const Age: Resolvers['Age'] = getStaticResolvers('user_info.age', { + limit: 100, + cutoff: 1, + keys: keys.age +}) + +export const Salary: Resolvers['Salary'] = getStaticResolvers('user_info.yearly_salary', { + limit: 100, + cutoff: 1, + keys: keys.yearly_salary +}) + +export const CompanySize: Resolvers['CompanySize'] = getStaticResolvers('user_info.company_size', { + limit: 100, + cutoff: 1, + keys: keys.company_size +}) + +export const WorkExperience: Resolvers['WorkExperience'] = getStaticResolvers('user_info.years_of_experience', { + limit: 100, + cutoff: 1, + keys: keys.years_of_experience +}) + +export const JobTitle: Resolvers['JobTitle'] = getStaticResolvers('user_info.job_title', { + cutoff: 1 +}) + +export const IndustrySector: Resolvers['IndustrySector'] = getStaticResolvers('user_info.industry_sector.choices', { + cutoff: 1 +}) + +export const KnowledgeScore: Resolvers['KnowledgeScore'] = getStaticResolvers('user_info.knowledge_score', { + limit: 100, + cutoff: 1, + keys: range(1, 101).map(k => k.toString()) +}) + +export const HigherEducationDegree: Resolvers['HigherEducationDegree'] = getStaticResolvers('user_info.higher_education_degree', { + cutoff: 1, + keys: keys.higher_education_degree +}) + +export const DisabilityStatus: Resolvers['DisabilityStatus'] = getStaticResolvers('user_info.disability_status.choices', { + cutoff: 1 +}) + +export const OtherDisabilityStatus: Resolvers['OtherDisabilityStatus'] = getStaticResolvers('user_info.disability_status.others.normalized', { + cutoff: 1 +}) diff --git a/api/src/resolvers/entities.ts b/api/src/resolvers/entities.ts index eea8aedf7..c33b374f7 100644 --- a/api/src/resolvers/entities.ts +++ b/api/src/resolvers/entities.ts @@ -1,10 +1,11 @@ -import { GitHub, SurveyConfig, Entity, RequestContext } from '../types' +import { GitHub } from '../types' import projects from '../data/bestofjs.yml' import { fetchMdnResource, fetchTwitterUser } from '../external_apis' import { useCache } from '../caching' +import type { Resolvers } from '../generated/graphql' const getSimulatedGithub = (id: string): GitHub | null => { - const project = projects.find((p: Entity) => p.id === id) + const project = projects.find((p) => p.id === id) if (project !== undefined) { const { name, description, github, stars, homepage } = project @@ -22,55 +23,53 @@ const getSimulatedGithub = (id: string): GitHub | null => { } } -export default { - Entity: { - github: async ({ id }: { survey: SurveyConfig; id: string }) => { - // note: for now just get local data from projects.yml - // instead of actually querying github - return getSimulatedGithub(id) - // const projectObject = projects.find(p => p.id === entity.id) - // return { - // ...projectObject - // } - // if (!projectObject || !projectObject.github) { - // return - // } - // const github = await fetchGithubResource(projectObject.github) - // return github - }, - mdn: async (entity: Entity) => { - if (!entity || !entity.mdn) { - return - } - - const mdn = await fetchMdnResource(entity.mdn) +export const Entity: Resolvers['Entity'] = { + github: async ({ id }) => { + // note: for now just get local data from projects.yml + // instead of actually querying github + return getSimulatedGithub(id) + // const projectObject = projects.find(p => p.id === entity.id) + // return { + // ...projectObject + // } + // if (!projectObject || !projectObject.github) { + // return + // } + // const github = await fetchGithubResource(projectObject.github) + // return github + }, + mdn: async (entity) => { + if (!entity || !entity.mdn) { + return + } - if (mdn) { - return mdn.find((t: any) => t.locale === 'en-US') - } else { - return - } - }, - twitter: async (entity: Entity, args: any, { db }: RequestContext) => { - const twitter = - entity.twitterName && useCache(fetchTwitterUser, db, [entity.twitterName]) + const mdn = await fetchMdnResource(entity.mdn) - // const twitter = await fetchTwitterResource(entity.id) - return twitter - }, - homepage: async (entity: Entity, args: any, { db }: RequestContext) => { - return { name: entity.homepage, url: entity.homepage } - }, - caniuse: async (entity: Entity, args: any, { db }: RequestContext) => { - const { caniuse } = entity - return caniuse ? { name: caniuse, url: `https://caniuse.com/${caniuse}` } : null - }, - npm: async (entity: Entity, args: any, { db }: RequestContext) => { - if (!entity || !entity.npm) { - return - } + if (mdn) { + return mdn.find((t: any) => t.locale === 'en-US') + } else { + return + } + }, + twitter: async (entity, args, { db }) => { + const twitter = + entity.twitterName && useCache(fetchTwitterUser, db, [entity.twitterName]) - return { name: entity.npm, url: `https://www.npmjs.com/package/${entity.npm}` } + // const twitter = await fetchTwitterResource(entity.id) + return twitter + }, + homepage(entity) { + return { name: entity.homepage, url: entity.homepage } + }, + caniuse(entity) { + const { caniuse } = entity + return caniuse ? { name: caniuse, url: `https://caniuse.com/${caniuse}` } : null + }, + npm(entity) { + if (!entity || !entity.npm) { + return } + + return { name: entity.npm, url: `https://www.npmjs.com/package/${entity.npm}` } } } diff --git a/api/src/resolvers/environments.ts b/api/src/resolvers/environments.ts index 1530d233a..79bbd487e 100644 --- a/api/src/resolvers/environments.ts +++ b/api/src/resolvers/environments.ts @@ -1,16 +1,15 @@ import { getOtherKey } from '../helpers' import { getDynamicResolvers } from '../helpers' +import type { Resolvers } from '../generated/graphql' -export default { - // minimal cutoff because we don't have many - // freeform extra choices for now (others). - // it's used more to check the volume of data - // rather than actually using it. - Environments: getDynamicResolvers(id => `environments.${getOtherKey(id)}`, { - cutoff: 0 - }), +// minimal cutoff because we don't have many +// freeform extra choices for now (others). +// it's used more to check the volume of data +// rather than actually using it. +export const Environments: Resolvers['Environments'] = getDynamicResolvers(id => `environments.${getOtherKey(id)}`, { + cutoff: 0 +}) - EnvironmentsRatings: getDynamicResolvers(id => `environments.${id}`, { - cutoff: 0 - }) -} +export const EnvironmentsRatings: Resolvers['EnvironmentsRatings'] = getDynamicResolvers(id => `environments.${id}`, { + cutoff: 0 +}) diff --git a/api/src/resolvers/features.ts b/api/src/resolvers/features.ts index 3e37636c8..7fa00e59d 100644 --- a/api/src/resolvers/features.ts +++ b/api/src/resolvers/features.ts @@ -2,62 +2,61 @@ import { fetchMdnResource } from '../external_apis' import { Entity } from '../types' import { getEntities } from '../entities' import keys from '../data/keys.yml' -import { RequestContext, ResolverDynamicConfig } from '../types' import { computeTermAggregationAllYearsWithCache, computeTermAggregationSingleYearWithCache } from '../compute' +import type { Resolvers } from '../generated/graphql' -export default { - FeatureExperience: { - keys: () => keys.feature, - all_years: async ( - { survey, id, filters, options, facet }: ResolverDynamicConfig, - args: any, - { db }: RequestContext - ) => - computeTermAggregationAllYearsWithCache(db, survey, `features.${id}.experience`, { - ...options, - filters, - facet - }), - year: async ( - { survey, id, filters, options, facet }: ResolverDynamicConfig, - { year }: { year: number }, - { db }: RequestContext - ) => - computeTermAggregationSingleYearWithCache(db, survey, `features.${id}.experience`, { - ...options, - filters, - year, - facet - }) +export const FeatureExperience: Resolvers['FeatureExperience'] = { + keys: () => keys.feature, + all_years: ( + { survey, id, filters, options, facet }, + args, + { db } + ) => + computeTermAggregationAllYearsWithCache(db, survey, `features.${id}.experience`, { + ...options, + filters, + facet + }), + year: ( + { survey, id, filters, options, facet }, + { year }, + { db } + ) => + computeTermAggregationSingleYearWithCache(db, survey, `features.${id}.experience`, { + ...options, + filters, + year, + facet + }) +} + +export const Feature: Resolvers['Feature'] = { + entity: async ({ id }) => { + const features = await getEntities({ tag: 'features' }) + const feature = features.find((f: Entity) => f.id === id) + return feature }, - Feature: { - entity: async ({ id }: { id: string }) => { - const features = await getEntities({ tag: 'features' }) - const feature = features.find((f: Entity) => f.id === id) - return feature - }, - name: async ({ id }: { id: string }) => { - const features = await getEntities({ tag: 'features' }) - const feature = features.find((f: Entity) => f.id === id) - return feature && feature.name - }, - mdn: async ({ id }: { id: string }) => { - const features = await getEntities({ tag: 'features' }) - const feature = features.find((f: Entity) => f.id === id) - if (!feature || !feature.mdn) { - return - } + name: async ({ id }) => { + const features = await getEntities({ tag: 'features' }) + const feature = features.find((f: Entity) => f.id === id) + return feature && feature.name + }, + mdn: async ({ id }) => { + const features = await getEntities({ tag: 'features' }) + const feature = features.find((f: Entity) => f.id === id) + if (!feature || !feature.mdn) { + return + } - const mdn = await fetchMdnResource(feature.mdn) + const mdn = await fetchMdnResource(feature.mdn) - if (mdn) { - return mdn.find(t => t.locale === 'en-US') - } else { - return - } + if (mdn) { + return mdn.find(t => t.locale === 'en-US') + } else { + return } } } diff --git a/api/src/resolvers/features_others.ts b/api/src/resolvers/features_others.ts index 4ee9491d1..804a63b0e 100644 --- a/api/src/resolvers/features_others.ts +++ b/api/src/resolvers/features_others.ts @@ -2,11 +2,12 @@ import { Db } from 'mongodb' import { useCache } from '../caching' import { computeTermAggregationAllYears } from '../compute' import { getOtherKey } from '../helpers' -import { RequestContext, SurveyConfig } from '../types' +import { SurveyConfig } from '../types' import { Filters } from '../filters' import { Entity } from '../types' import { getEntities } from '../entities' -import { YearAggregations } from '../compute/generic' +import { YearAggregations } from '../compute' +import type { Resolvers } from '../generated/graphql' interface OtherFeaturesConfig { survey: SurveyConfig @@ -20,7 +21,7 @@ const computeOtherFeatures = async ( id: string, filters?: Filters ) => { - const features = await getEntities({ tag: 'feature'}) + const features = await getEntities({ tag: 'feature' }) const otherFeaturesByYear = await useCache(computeTermAggregationAllYears, db, [ survey, @@ -43,20 +44,18 @@ const computeOtherFeatures = async ( }) } -export default { - OtherFeatures: { - all_years: async ( - { survey, id, filters }: OtherFeaturesConfig, - args: any, - { db }: RequestContext - ) => computeOtherFeatures(db, survey, id, filters), - year: async ( - { survey, id, filters }: OtherFeaturesConfig, - { year }: { year: number }, - { db }: RequestContext - ) => { - const allYears = await computeOtherFeatures(db, survey, id, filters) - return allYears.find((yearItem: YearAggregations) => yearItem.year === year) - } +export const OtherFeatures: Resolvers['OtherFeatures'] = { + all_years: ( + { survey, id, filters }, + args, + { db } + ) => computeOtherFeatures(db, survey, id, filters), + year: async ( + { survey, id, filters }, + { year }, + { db } + ) => { + const allYears = await computeOtherFeatures(db, survey, id, filters) + return allYears.find((yearItem: YearAggregations) => yearItem.year === year) } } diff --git a/api/src/resolvers/happiness.ts b/api/src/resolvers/happiness.ts index 5389591e4..894aa1ccb 100644 --- a/api/src/resolvers/happiness.ts +++ b/api/src/resolvers/happiness.ts @@ -1,31 +1,22 @@ import { computeHappinessByYear } from '../compute' import { useCache } from '../caching' -import { RequestContext, SurveyConfig } from '../types' -import { Filters } from '../filters' -import { YearAggregations } from '../compute/generic' +import { YearAggregations } from '../compute' import keys from '../data/keys.yml' +import type { Resolvers } from '../generated/graphql' -interface HappinessConfig { - survey: SurveyConfig - id: string - filters?: Filters -} - -export default { - Happiness: { - keys: () => keys.happiness, - all_years: async ( - { survey, id, filters }: HappinessConfig, - args: any, - { db }: RequestContext - ) => useCache(computeHappinessByYear, db, [survey, id, filters]), - year: async ( - { survey, id, filters }: HappinessConfig, - { year }: { year: number }, - { db }: RequestContext - ) => { - const allYears = await useCache(computeHappinessByYear, db, [survey, id, filters]) - return allYears.find((yearItem: YearAggregations) => yearItem.year === year) - } +export const Happiness: Resolvers['Happiness'] = { + keys: () => keys.happiness, + all_years: ( + { survey, id, filters }, + args, + { db } + ) => useCache(computeHappinessByYear, db, [survey, id, filters]), + year: async ( + { survey, id, filters }, + { year }, + { db } + ) => { + const allYears = await useCache(computeHappinessByYear, db, [survey, id, filters]) + return allYears.find((yearItem: YearAggregations) => yearItem.year === year) } } diff --git a/api/src/resolvers/index.ts b/api/src/resolvers/index.ts index c52a15d28..f43f07629 100644 --- a/api/src/resolvers/index.ts +++ b/api/src/resolvers/index.ts @@ -1,37 +1,76 @@ -import categories from './categories' -import demographics from './demographics' -import entities from './entities' -import environments from './environments' -import features from './features' -import otherFeatures from './features_others' -import happiness from './happiness' -import matrices from './matrices' -import opinions from './opinions' -import proficiency from './proficiency' -import query from './query' -import resources from './resources' -import surveys from './surveys' -import totals from './totals' -import tools from './tools' -import otherTools from './tools_others' -import brackets from './brackets' +import { CategoryOtherTools, CategoryHappiness } from './categories' +import { + Participation, + Country, + LocaleStats, + Source, + Gender, + RaceEthnicity, + Age, + Salary, + CompanySize, + WorkExperience, + JobTitle, + IndustrySector, + KnowledgeScore, + HigherEducationDegree, + DisabilityStatus, + OtherDisabilityStatus +} from './demographics' +import { Entity } from './entities' +import { Environments, EnvironmentsRatings } from './environments' +import { Feature, FeatureExperience } from './features' +import { OtherFeatures } from './features_others' +import { Happiness } from './happiness' +import { Matrices } from './matrices' +import { Opinion, OtherOpinions } from './opinions' +import { Proficiency } from './proficiency' +import { Query } from './query' +import { Resources } from './resources' +import { Survey } from './surveys' +import { Totals } from './totals' +import { ToolsRankings, ToolExperience, ToolExperienceAggregated } from './tools' +import { OtherTools } from './tools_others' +import { BracketWins, BracketMatchups } from './brackets' export default { - ...surveys, - ...totals, - ...demographics, - ...categories, - ...opinions, - ...features, - ...matrices, - ...tools, - ...otherFeatures, - ...otherTools, - ...resources, - ...entities, - ...environments, - ...proficiency, - ...happiness, - ...query, - ...brackets, + Survey, + Totals, + Participation, + Country, + LocaleStats, + Source, + Gender, + RaceEthnicity, + Age, + Salary, + CompanySize, + WorkExperience, + JobTitle, + IndustrySector, + KnowledgeScore, + HigherEducationDegree, + DisabilityStatus, + OtherDisabilityStatus, + CategoryOtherTools, + CategoryHappiness, + Opinion, + OtherOpinions, + Feature, + FeatureExperience, + Matrices, + ToolsRankings, + ToolExperience, + ToolExperienceAggregated, + OtherFeatures, + OtherTools, + Resources, + Entity, + Environments, + EnvironmentsRatings, + Proficiency, + Happiness, + Query, + BracketWins, + BracketMatchups } diff --git a/api/src/resolvers/matrices.ts b/api/src/resolvers/matrices.ts index b121f6fe5..747f0f0c2 100644 --- a/api/src/resolvers/matrices.ts +++ b/api/src/resolvers/matrices.ts @@ -1,51 +1,44 @@ import { useCache } from '../caching' -import { computeToolsMatrix, ToolExperienceFilterId } from '../compute' -import { SurveyConfig, RequestContext } from '../types' +import { computeToolsMatrix } from '../compute' +import type { Resolvers } from '../generated/graphql' -export default { - Matrices: { - tools: async ( - { survey }: { survey: SurveyConfig }, - { - year, - ids, - experiences, - dimensions, - }: { - year: number - ids: string[] - experiences: ToolExperienceFilterId[] - dimensions: string[] - }, - { db }: RequestContext - ) => { - const result = [] - for (const experience of experiences) { - const by_dimension = [] - for (const dimension of dimensions) { - const tools = await useCache(computeToolsMatrix, db, [ - { - survey, - tools: ids, - experience, - type: dimension, - year, - } - ]) +export const Matrices: Resolvers['Matrices'] = { + async tools( + { survey }, + { + year, + ids, + experiences, + dimensions + }, + { db } + ) { + const result = [] + for (const experience of experiences) { + const by_dimension = [] + for (const dimension of dimensions) { + const tools = await useCache(computeToolsMatrix, db, [ + { + survey, + tools: ids, + experience, + type: dimension, + year + } + ]) - by_dimension.push({ - dimension, - tools, - }) - } - - result.push({ - experience, - dimensions: by_dimension, + by_dimension.push({ + dimension, + tools }) } - return result + result.push({ + experience, + dimensions: by_dimension + }) } + + return result } } diff --git a/api/src/resolvers/opinions.ts b/api/src/resolvers/opinions.ts index e61a6f974..4b1fe2e55 100644 --- a/api/src/resolvers/opinions.ts +++ b/api/src/resolvers/opinions.ts @@ -1,35 +1,27 @@ import { getDynamicResolvers } from '../helpers' import { computeOpinionByYear } from '../compute/opinions' import { useCache } from '../caching' -import { RequestContext, SurveyConfig } from '../types' -import { Filters } from '../filters' -import { YearAggregations } from '../compute/generic' +import { YearAggregations } from '../compute' import keys from '../data/keys.yml' +import type { Resolvers } from '../generated/graphql' -interface OpinionConfig { - survey: SurveyConfig - id: string - filters?: Filters +export const Opinion: Resolvers['Opinion'] = { + keys: () => keys.opinions, + all_years: ( + { survey, id, filters }, + args, + { db } + ) => useCache(computeOpinionByYear, db, [survey, id, filters]), + year: async ( + { survey, id, filters }, + { year }, + { db } + ) => { + const allYears = await useCache(computeOpinionByYear, db, [survey, id, filters]) + return allYears.find((yearItem: YearAggregations) => yearItem.year === year) + } } -export default { - Opinion: { - keys: () => keys.opinions, - all_years: async ( - { survey, id, filters }: OpinionConfig, - args: any, - { db }: RequestContext - ) => useCache(computeOpinionByYear, db, [survey, id, filters]), - year: async ( - { survey, id, filters }: OpinionConfig, - { year }: { year: number }, - { db }: RequestContext - ) => { - const allYears = await useCache(computeOpinionByYear, db, [survey, id, filters]) - return allYears.find((yearItem: YearAggregations) => yearItem.year === year) - } - }, - OtherOpinions: getDynamicResolvers(id => `opinions_others.${id}.others.normalized`, { - sort: { property: 'id', order: 'asc' } - }) -} +export const OtherOpinions: Resolvers['OtherOpinions'] = getDynamicResolvers(id => `opinions_others.${id}.others.normalized`, { + sort: { property: 'id', order: 'asc' } +}) diff --git a/api/src/resolvers/proficiency.ts b/api/src/resolvers/proficiency.ts index 0d0aa60fe..b762e3f41 100644 --- a/api/src/resolvers/proficiency.ts +++ b/api/src/resolvers/proficiency.ts @@ -1,5 +1,4 @@ import { getDynamicResolvers } from '../helpers' +import { Resolvers } from '../generated/graphql' -export default { - Proficiency: getDynamicResolvers(id => `user_info.${id}`) -} +export const Proficiency: Resolvers['Proficiency'] = getDynamicResolvers(id => `user_info.${id}`) diff --git a/api/src/resolvers/query.ts b/api/src/resolvers/query.ts index 493c8ff06..4d8e297b3 100644 --- a/api/src/resolvers/query.ts +++ b/api/src/resolvers/query.ts @@ -1,25 +1,28 @@ -import { SurveyType } from '../types' import { getEntities, getEntity } from '../entities' import { getLocales, getLocaleObject, getTranslation } from '../i18n' -import { SurveyConfig } from '../types' +import type { Resolvers } from '../generated/graphql' -export default { - Query: { - survey: (parent: any, { survey }: { survey: SurveyType }) => ({ - survey - }), - entity: async (survey: SurveyConfig, { id }: { id: string }) => ({ - survey, - ...(await getEntity({ id })) - }), - entities: ( - parent: any, - { ids, type, tag, tags }: { ids: string[], type: string; tag: string, tags: string[] } - ) => getEntities({ ids, type, tag, tags }), - translation: (parent: any, { key, localeId }: { key: string; localeId: string }) => - getTranslation(key, localeId), - locale: (parent: any, { localeId, contexts, enableFallbacks }: { localeId: string; contexts: string[], enableFallbacks?: boolean }) => - getLocaleObject(localeId, contexts, enableFallbacks), - locales: (parent: any, { contexts, localeIds, enableFallbacks }: { contexts: string[], localeIds: string[], enableFallbacks?: boolean }) => getLocales(contexts, enableFallbacks, localeIds) - } +export const Query: Resolvers['Query'] = { + survey: async (parent, { survey }) => ({ + survey + }), + entity: async (survey, { id }) => ({ + survey, + ...(await getEntity({ id })) + }), + entities: async ( + parent, + { ids, type, tag, tags } + ) => getEntities({ ids, type, tag, tags }), + translation: async (parent, { key, localeId }) => getTranslation(key, localeId), + locale: async (parent, { + localeId, + contexts, + enableFallbacks + }) => getLocaleObject(localeId, contexts, enableFallbacks), + locales: async (parent, { + contexts, + localeIds, + enableFallbacks + }) => getLocales(contexts, enableFallbacks, localeIds) } diff --git a/api/src/resolvers/resources.ts b/api/src/resolvers/resources.ts index f104af9d5..c670de7b8 100644 --- a/api/src/resolvers/resources.ts +++ b/api/src/resolvers/resources.ts @@ -1,5 +1,4 @@ import { getDynamicResolvers, getOtherKey } from '../helpers' +import type { Resolvers } from '../generated/graphql' -export default { - Resources: getDynamicResolvers(id => `resources.${getOtherKey(id)}`) -} \ No newline at end of file +export const Resources: Resolvers['Resources'] = getDynamicResolvers(id => `resources.${getOtherKey(id)}`) diff --git a/api/src/resolvers/surveys.ts b/api/src/resolvers/surveys.ts index 42532ce81..3f6f3b1e3 100644 --- a/api/src/resolvers/surveys.ts +++ b/api/src/resolvers/surveys.ts @@ -1,16 +1,16 @@ import { getGraphQLEnumValues, getDemographicsResolvers } from '../helpers' import { getEntity } from '../entities' -import { RequestContext, SurveyConfig } from '../types' +import { RequestContext } from '../types' import { Filters } from '../filters' import { Options } from '../options' import { Facet } from '../facets' import { computeToolExperienceGraph, computeToolExperienceTransitions, - computeToolsCardinalityByUser, - ToolExperienceId + computeToolsCardinalityByUser } from '../compute' import { useCache } from '../caching' +import type { Resolvers } from '../generated/graphql' const toolIds = getGraphQLEnumValues('ToolID') const featureIds = getGraphQLEnumValues('FeatureID') @@ -26,46 +26,55 @@ export interface ResolverArguments { * Please maintain the same order as the one shown in the explorer, * it makes it easier to find a specific query and ensures consistency. */ -export default { - Survey: { - surveyName: (survey: SurveyConfig) => { - return survey.survey - }, - bracket_wins: (survey: SurveyConfig, args: ResolverArguments) => ({ - survey, - ...args - }), - bracket_matchups: (survey: SurveyConfig, args: ResolverArguments) => ({ - survey, - ...args - }), - category: (survey: SurveyConfig, { id }: { id: string }) => ({ +export const Survey: Resolvers['Survey'] = { + surveyName: (survey) => { + return survey.survey + }, + bracket_wins: (survey, args) => ({ + survey, + ...args + }), + bracket_matchups: (survey, args) => ({ + survey, + ...args + }), + category: (survey, { id }) => ({ + survey, + id, + happiness: ({ filters }: { filters: Filters }) => ({ survey, id, - happiness: ({ filters }: { filters: Filters }) => ({ - survey, - id, - filters - }), - otherTools: ({ filters }: { filters: Filters }) => ({ - survey, - id, - filters - }) - }), - demographics: (survey: SurveyConfig) => ({ - participation: { survey }, - ...getDemographicsResolvers(survey) + filters }), - environments: (survey: SurveyConfig, args: ResolverArguments) => ({ + otherTools: ({ filters }: { filters: Filters }) => ({ survey, - ...args - }), - environments_ratings: (survey: SurveyConfig, args: ResolverArguments) => ({ + id, + filters + }) + }), + demographics: (survey) => ({ + participation: { survey }, + ...getDemographicsResolvers(survey) + }), + environments: (survey, args) => ({ + survey, + ...args + }), + environments_ratings: (survey, args) => ({ + survey, + ...args + }), + feature: (survey, { id }) => ({ + survey, + id, + experience: ({ filters }: { filters?: Filters }) => ({ survey, - ...args - }), - feature: (survey: SurveyConfig, { id }: { id: string }) => ({ + id, + filters + }) + }), + features: (survey, { ids = featureIds }) => + ids.map(id => ({ survey, id, experience: ({ filters }: { filters?: Filters }) => ({ @@ -73,49 +82,49 @@ export default { id, filters }) - }), - features: (survey: SurveyConfig, { ids = featureIds }: { ids: string[] }) => - ids.map(id => ({ - survey, - id, - experience: ({ filters }: { filters?: Filters }) => ({ - survey, - id, - filters - }) - })), - features_others: ( - survey: SurveyConfig, - { id, filters }: { id: string; filters?: Filters } - ) => ({ + })), + features_others: (survey, { id, filters }) => ({ + survey, + id, + filters + }), + happiness: (survey, args) => ({ + survey, + ...args + }), + matrices: (survey) => ({ + survey + }), + opinion: (survey, args) => ({ + survey, + ...args + }), + opinions_others: (survey, args) => ({ + survey, + ...args + }), + proficiency: (survey, args) => ({ + survey, + ...args + }), + resources: (survey, args) => ({ + survey, + ...args + }), + tool: async (survey, { id }) => ({ + survey, + id, + entity: await getEntity({ id }), + experience: (args: ResolverArguments) => ({ survey, id, - filters - }), - happiness: (survey: SurveyConfig, args: ResolverArguments) => ({ - survey, - ...args - }), - matrices: (survey: SurveyConfig) => ({ - survey - }), - opinion: (survey: SurveyConfig, args: ResolverArguments) => ({ - survey, - ...args - }), - opinions_others: (survey: SurveyConfig, args: ResolverArguments) => ({ - survey, - ...args - }), - proficiency: (survey: SurveyConfig, args: ResolverArguments) => ({ - survey, ...args }), - resources: (survey: SurveyConfig, args: ResolverArguments) => ({ - survey, - ...args - }), - tool: async (survey: SurveyConfig, { id }: { id: string }) => ({ + experienceGraph: async ({ filters }: { filters?: Filters }, { db }: RequestContext) => + useCache(computeToolExperienceGraph, db, [survey, id, filters]) + }), + tools: async (survey, { ids = toolIds }) => + ids.map(async id => ({ survey, id, entity: await getEntity({ id }), @@ -124,59 +133,38 @@ export default { id, ...args }), - experienceGraph: async ({ filters }: { filters?: Filters }, { db }: RequestContext) => - useCache(computeToolExperienceGraph, db, [survey, id, filters]) - }), - tools: async (survey: SurveyConfig, { ids = toolIds }: { ids?: string[] }) => - ids.map(async id => ({ + experienceAggregated: (args: ResolverArguments) => ({ survey, id, - entity: await getEntity({ id }), - experience: (args: ResolverArguments) => ({ - survey, - id, - ...args, - }), - experienceAggregated: (args: ResolverArguments) => ({ - survey, - id, - ...args, - }), - experienceTransitions: async ( - { year }: { year: number }, - { db }: RequestContext - ) => useCache(computeToolExperienceTransitions, db, [survey, id, [year - 1, year]]), - experienceGraph: async ( - { filters }: { filters?: Filters }, - { db }: RequestContext - ) => useCache(computeToolExperienceGraph, db, [survey, id, filters]) - })), - tools_cardinality_by_user: ( - survey: SurveyConfig, - { - year, - // tool IDs - ids, - experienceId - }: { - year: number - ids: string[] - experienceId: ToolExperienceId - }, - context: RequestContext - ) => useCache(computeToolsCardinalityByUser, context.db, [survey, year, ids, experienceId]), - tools_others: (survey: SurveyConfig, args: ResolverArguments) => ({ - survey, - ...args - }), - tools_rankings: ( - survey: SurveyConfig, - { ids, filters }: { ids: string[]; filters: Filters } - ) => ({ - survey, + ...args + }), + experienceTransitions: async ( + { year }: { year: number }, + { db }: RequestContext + ) => useCache(computeToolExperienceTransitions, db, [survey, id, [year - 1, year]]), + experienceGraph: async ( + { filters }: { filters?: Filters }, + { db }: RequestContext + ) => useCache(computeToolExperienceGraph, db, [survey, id, filters]) + })), + tools_cardinality_by_user: ( + survey, + { + year, + // tool IDs ids, - filters - }), - totals: (survey: SurveyConfig) => survey - } + experienceId + }, + context + ) => useCache(computeToolsCardinalityByUser, context.db, [survey, year, ids, experienceId]), + tools_others: (survey, args) => ({ + survey, + ...args + }), + tools_rankings: (survey, { ids, filters }) => ({ + survey, + ids, + filters + }), + totals: (survey) => survey } diff --git a/api/src/resolvers/tools.ts b/api/src/resolvers/tools.ts index 504c414d4..3dec635f7 100644 --- a/api/src/resolvers/tools.ts +++ b/api/src/resolvers/tools.ts @@ -1,76 +1,76 @@ import { computeToolsExperienceRankingYears, computeToolsExperienceRanking } from '../compute' import { useCache } from '../caching' -import { Filters } from '../filters' import keys from '../data/keys.yml' -import { RequestContext, ResolverDynamicConfig, SurveyConfig } from '../types' import { computeTermAggregationAllYearsWithCache, computeTermAggregationSingleYearWithCache } from '../compute' +import type { Resolvers } from '../generated/graphql' -export default { - ToolsRankings: { - years: async ( - { survey, ids, filters }: { survey: SurveyConfig; ids: string[]; filters?: Filters }, - args: any, - { db }: RequestContext - ) => useCache(computeToolsExperienceRankingYears, db, [survey, ids, filters]), - experience: async ( - { survey, ids, filters }: { survey: SurveyConfig; ids: string[]; filters?: Filters }, - args: any, - { db }: RequestContext - ) => useCache(computeToolsExperienceRanking, db, [survey, ids, filters]) - }, - ToolExperience: { - keys: () => keys.tool, - all_years: async ( - { survey, id, filters, options, facet }: ResolverDynamicConfig, - args: any, - { db }: RequestContext - ) => - computeTermAggregationAllYearsWithCache(db, survey, `tools.${id}.experience`, { - ...options, - filters, - facet, - keys: keys.tool - }), - year: async ( - { survey, id, filters, options, facet }: ResolverDynamicConfig, - { year }: { year: number }, - { db }: RequestContext - ) => - computeTermAggregationSingleYearWithCache(db, survey, `tools.${id}.experience`, { - ...options, - filters, - year, - facet, - keys: keys.tool - }) - }, - ToolExperienceAggregated: { - keys: () => keys.tool, - all_years: async ( - { survey, id, filters, options, facet }: ResolverDynamicConfig, - args: any, - { db }: RequestContext - ) => - computeTermAggregationAllYearsWithCache(db, survey, `tools.${id}.experience`, { - ...options, - filters, - facet, - keys: keys.tool - }), - year: async ( - { survey, id, filters, options, facet }: ResolverDynamicConfig, - { year }: { year: number }, - { db }: RequestContext - ) => - computeTermAggregationSingleYearWithCache(db, survey, `tools.${id}.experience`, { - ...options, - filters, - year, - facet, - keys: keys.tool - }) - } +export const ToolsRankings: Resolvers['ToolsRankings'] = { + years: ( + { survey, ids, filters }, + args, + { db } + ) => useCache(computeToolsExperienceRankingYears, db, [survey, ids, filters]), + experience: ( + { survey, ids, filters }, + args, + { db } + ) => useCache(computeToolsExperienceRanking, db, [survey, ids, filters]) } + +export const ToolExperience: Resolvers['ToolExperience'] = { + keys: () => keys.tool, + all_years: ( + { survey, id, filters, options, facet }, + args, + { db } + ) => + computeTermAggregationAllYearsWithCache(db, survey, `tools.${id}.experience`, { + ...options, + filters, + facet, + keys: keys.tool + }), + year: ( + { survey, id, filters, options, facet }, + { year }, + { db } + ) => + computeTermAggregationSingleYearWithCache(db, survey, `tools.${id}.experience`, { + ...options, + filters, + year, + facet, + keys: keys.tool + }) +} + +export const ToolExperienceAggregated: Resolvers['ToolExperienceAggregated'] = { + keys: () => keys.tool, + all_years: ( + { survey, id, filters, options, facet }, + args, + { db } + ) => + computeTermAggregationAllYearsWithCache(db, survey, `tools.${id}.experience`, { + ...options, + filters, + facet, + keys: keys.tool + }), + year: ( + { survey, id, filters, options, facet }, + { year }, + { db } + ) => + computeTermAggregationSingleYearWithCache(db, survey, `tools.${id}.experience`, { + ...options, + filters, + year, + facet, + keys: keys.tool + }) +} + diff --git a/api/src/resolvers/tools_others.ts b/api/src/resolvers/tools_others.ts index 2cc73580e..5425eda32 100644 --- a/api/src/resolvers/tools_others.ts +++ b/api/src/resolvers/tools_others.ts @@ -1,5 +1,5 @@ import { getDynamicResolvers, getOtherKey } from '../helpers' +import type { Resolvers } from '../generated/graphql' + +export const OtherTools: Resolvers['OtherTools'] = getDynamicResolvers(id => `tools_others.${getOtherKey(id)}`) -export default { - OtherTools: getDynamicResolvers(id => `tools_others.${getOtherKey(id)}`) -} diff --git a/api/src/resolvers/totals.ts b/api/src/resolvers/totals.ts index e3768bf99..fd24fa7f9 100644 --- a/api/src/resolvers/totals.ts +++ b/api/src/resolvers/totals.ts @@ -1,7 +1,8 @@ import { useCache } from '../caching' -import { RequestContext, SurveyConfig } from '../types' +import { SurveyConfig } from '../types' import config from '../config' import { Db } from 'mongodb' +import type { Resolvers } from '../generated/graphql' export async function getSurveyTotals(db: Db, surveyConfig: SurveyConfig, year?: Number) { const collection = db.collection(config.mongo.normalized_collection) @@ -14,11 +15,10 @@ export async function getSurveyTotals(db: Db, surveyConfig: SurveyConfig, year?: return collection.countDocuments(selector) } -export default { - Totals: { - all_years: async (survey: SurveyConfig, args: any, { db }: RequestContext) => - useCache(getSurveyTotals, db, [survey]), - year: async (survey: SurveyConfig, { year }: { year: number }, { db }: RequestContext) => - useCache(getSurveyTotals, db, [survey, year]) - } +export const Totals: Resolvers['Totals'] = { + all_years: (survey, args, { db }) => + useCache(getSurveyTotals, db, [survey]), + year: (survey, { year }, { db }) => + useCache(getSurveyTotals, db, [survey, year]) } + diff --git a/api/webpack.common.js b/api/webpack.common.js index 4ae4c5fd9..421d73d90 100644 --- a/api/webpack.common.js +++ b/api/webpack.common.js @@ -23,7 +23,13 @@ module.exports = { { test: /\.ts$/, exclude: /node_modules/, - use: 'ts-loader' + // TODO: remove transpileOnly after fixing all type errors + use: process.env.NODE_ENV === 'development' ? { + loader: 'ts-loader', + options: { + transpileOnly: true + } + } : 'ts-loader' } ] }, diff --git a/api/yarn.lock b/api/yarn.lock index 0285917ba..c17ed5f1b 100644 --- a/api/yarn.lock +++ b/api/yarn.lock @@ -2,6 +2,13 @@ # yarn lockfile v1 +"@ampproject/remapping@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" + integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.0" + "@apollo/protobufjs@1.2.2": version "1.2.2" resolved "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.2.tgz" @@ -33,19 +40,716 @@ dependencies: xss "^1.0.8" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" + integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== + +"@babel/core@^7.14.0": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" + integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.7" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.8" + "@babel/parser" "^7.17.8" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + +"@babel/generator@^7.14.0", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" + integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" + integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" + integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.7": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" + integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" + integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== + dependencies: + "@babel/helper-get-function-arity" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-get-function-arity@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" + integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-member-expression-to-functions@^7.16.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" + integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== + dependencies: + "@babel/types" "^7.17.0" + +"@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" + integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + +"@babel/helper-optimise-call-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" + integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== + +"@babel/helper-replace-supers@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" + integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-simple-access@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" + integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== + dependencies: + "@babel/types" "^7.17.0" + +"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" + integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + +"@babel/helpers@^7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" + integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + +"@babel/highlight@^7.16.7": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.14.0", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" + integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== + +"@babel/plugin-proposal-class-properties@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" + integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-proposal-object-rest-spread@^7.0.0": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" + integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== + dependencies: + "@babel/compat-data" "^7.17.0" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.16.7" + +"@babel/plugin-syntax-class-properties@^7.0.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz#202b147e5892b8452bbb0bb269c7ed2539ab8832" + integrity sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" + integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-transform-arrow-functions@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" + integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-block-scoped-functions@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" + integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-block-scoping@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" + integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-classes@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" + integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" + integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-destructuring@^7.0.0": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" + integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-flow-strip-types@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz#291fb140c78dabbf87f2427e7c7c332b126964b8" + integrity sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-flow" "^7.16.7" + +"@babel/plugin-transform-for-of@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" + integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-function-name@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" + integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== + dependencies: + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-literals@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" + integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-member-expression-literals@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" + integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-modules-commonjs@^7.0.0": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz#d86b217c8e45bb5f2dbc11eefc8eab62cf980d19" + integrity sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA== + dependencies: + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-object-super@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" + integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" + integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-property-literals@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" + integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-display-name@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340" + integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-jsx@^7.0.0": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz#eac1565da176ccb1a715dae0b4609858808008c1" + integrity sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-jsx" "^7.16.7" + "@babel/types" "^7.17.0" + +"@babel/plugin-transform-shorthand-properties@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" + integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-spread@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" + integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + +"@babel/plugin-transform-template-literals@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" + integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/runtime@^7.0.0": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" + integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.14.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" + integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.3" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.3" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + "@discoveryjs/json-ext@^0.5.0": version "0.5.3" resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz" integrity sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g== -"@graphql-tools/merge@^8.0.2": - version "8.0.2" - resolved "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.0.2.tgz" - integrity sha512-li/bl6RpcZCPA0LrSxMYMcyYk+brer8QYY25jCKLS7gvhJkgzEFpCDaX43V1+X13djEoAbgay2mCr3dtfJQQRQ== +"@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz#eea4635828dde372838b0909693ebd9aafeec22d" + integrity sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA== dependencies: + lodash.get "^4" + make-error "^1" + ts-node "^9" + tslib "^2" + +"@graphql-codegen/cli@^2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@graphql-codegen/cli/-/cli-2.6.2.tgz#a9aa4656141ee0998cae8c7ad7d0bf9ca8e0c9ae" + integrity sha512-UO75msoVgvLEvfjCezM09cQQqp32+mR8Ma1ACsBpr7nroFvHbgcu2ulx1cMovg4sxDBCsvd9Eq/xOOMpARUxtw== + dependencies: + "@graphql-codegen/core" "2.5.1" + "@graphql-codegen/plugin-helpers" "^2.4.1" + "@graphql-tools/apollo-engine-loader" "^7.0.5" + "@graphql-tools/code-file-loader" "^7.0.6" + "@graphql-tools/git-loader" "^7.0.5" + "@graphql-tools/github-loader" "^7.0.5" + "@graphql-tools/graphql-file-loader" "^7.0.5" + "@graphql-tools/json-file-loader" "^7.1.2" + "@graphql-tools/load" "^7.3.0" + "@graphql-tools/prisma-loader" "^7.0.6" + "@graphql-tools/url-loader" "^7.0.11" + "@graphql-tools/utils" "^8.1.1" + ansi-escapes "^4.3.1" + chalk "^4.1.0" + change-case-all "1.0.14" + chokidar "^3.5.2" + common-tags "^1.8.0" + cosmiconfig "^7.0.0" + debounce "^1.2.0" + dependency-graph "^0.11.0" + detect-indent "^6.0.0" + glob "^7.1.6" + globby "^11.0.4" + graphql-config "^4.1.0" + inquirer "^8.0.0" + is-glob "^4.0.1" + json-to-pretty-yaml "^1.2.2" + latest-version "5.1.0" + listr "^0.14.3" + listr-update-renderer "^0.5.0" + log-symbols "^4.0.0" + minimatch "^4.0.0" + mkdirp "^1.0.4" + string-env-interpolation "^1.0.1" + ts-log "^2.2.3" + tslib "~2.3.0" + valid-url "^1.0.9" + wrap-ansi "^7.0.0" + yaml "^1.10.0" + yargs "^17.0.0" + +"@graphql-codegen/core@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-2.5.1.tgz#e3d50d3449b8c58b74ea08e97faf656a1b7fc8a1" + integrity sha512-alctBVl2hMnBXDLwkgmnFPrZVIiBDsWJSmxJcM4GKg1PB23+xuov35GE47YAyAhQItE1B1fbYnbb1PtGiDZ4LA== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.4.1" + "@graphql-tools/schema" "^8.1.2" "@graphql-tools/utils" "^8.1.1" tslib "~2.3.0" +"@graphql-codegen/plugin-helpers@^2.3.2", "@graphql-codegen/plugin-helpers@^2.4.0", "@graphql-codegen/plugin-helpers@^2.4.1": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.4.2.tgz#e4f6b74dddcf8a9974fef5ce48562ae0980f9fed" + integrity sha512-LJNvwAPv/sKtI3RnRDm+nPD+JeOfOuSOS4FFIpQCMUCyMnFcchV/CPTTv7tT12fLUpEg6XjuFfDBvOwndti30Q== + dependencies: + "@graphql-tools/utils" "^8.5.2" + change-case-all "1.0.14" + common-tags "1.8.2" + import-from "4.0.0" + lodash "~4.17.0" + tslib "~2.3.0" + +"@graphql-codegen/schema-ast@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-2.4.1.tgz#ad742b53e32f7a2fbff8ea8a91ba7e617e6ef236" + integrity sha512-bIWlKk/ShoVJfghA4Rt1OWnd34/dQmZM/vAe6fu6QKyOh44aAdqPtYQ2dbTyFXoknmu504etKJGEDllYNUJRfg== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.3.2" + "@graphql-tools/utils" "^8.1.1" + tslib "~2.3.0" + +"@graphql-codegen/typescript-resolvers@^2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-resolvers/-/typescript-resolvers-2.6.1.tgz#5963da60de79cfb847b55b2433cd9f65a33d7aad" + integrity sha512-tb8qiIYRDbypHvEVBi04OlItABPeormhd6gh26Q0FO/dD+tLx1V85A6wnHC4jExWPP9+/3PwHJL1pq/0n1kxlA== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.4.0" + "@graphql-codegen/typescript" "^2.4.8" + "@graphql-codegen/visitor-plugin-common" "2.7.4" + "@graphql-tools/utils" "^8.1.1" + auto-bind "~4.0.0" + tslib "~2.3.0" + +"@graphql-codegen/typescript@^2.4.8": + version "2.4.8" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-2.4.8.tgz#e8110baba9713cde72d57a5c95aa27400363ed9a" + integrity sha512-tVsHIkuyenBany7c5IMU1yi4S1er2hgyXJGNY7PcyhpJMx0eChmbqz1VTiZxDEwi8mDBS2mn3TaSJMh6xuJM5g== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.4.0" + "@graphql-codegen/schema-ast" "^2.4.1" + "@graphql-codegen/visitor-plugin-common" "2.7.4" + auto-bind "~4.0.0" + tslib "~2.3.0" + +"@graphql-codegen/visitor-plugin-common@2.7.4": + version "2.7.4" + resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.7.4.tgz#fbc8aec9df0035b8f29fa64a6356cbb02062da5d" + integrity sha512-aaDoEudDD+B7DK/UwDSL2Fzej75N9hNJ3N8FQuTIeDyw6FNGWUxmkjVBLQGlzfnYfK8IYkdfYkrPn3Skq0pVxA== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.4.0" + "@graphql-tools/optimize" "^1.0.1" + "@graphql-tools/relay-operation-optimizer" "^6.3.7" + "@graphql-tools/utils" "^8.3.0" + auto-bind "~4.0.0" + change-case-all "1.0.14" + dependency-graph "^0.11.0" + graphql-tag "^2.11.0" + parse-filepath "^1.0.2" + tslib "~2.3.0" + +"@graphql-tools/apollo-engine-loader@^7.0.5": + version "7.2.6" + resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.2.6.tgz#7194a90e6f57eeb43ed4b908c950aaa19257830c" + integrity sha512-QuLiN34syxAtLGrIbkuKP0YGkm5uyly9zAjuG+i+Ae2roZk96qvmz4hf1XUSrf+muzs3IHrcGW+kF43mFyCxag== + dependencies: + "@graphql-tools/utils" "8.6.5" + cross-undici-fetch "^0.1.19" + sync-fetch "0.3.1" + tslib "~2.3.0" + +"@graphql-tools/batch-execute@8.4.1": + version "8.4.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.4.1.tgz#bc5e96ad22c545676da523bae3c3dc94e57bdf3e" + integrity sha512-63+lNWrwXmofjZVa7ML+n9CBviClF3K+RP3Xx3hxGQ8BrhvB1pWS1yzaUZqrkiiKdTu1v3mJGVfmooHwzlyPwQ== + dependencies: + "@graphql-tools/utils" "8.6.5" + dataloader "2.0.0" + tslib "~2.3.0" + value-or-promise "1.0.11" + +"@graphql-tools/code-file-loader@^7.0.6": + version "7.2.9" + resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-7.2.9.tgz#0c52027f976d5165905d4b3b288aa8fd71b5b671" + integrity sha512-amM8G1O2XoRA3/N5q73TcvxuPp/34HA0ksfTBV6hf/Fm0dSu4rucO5Et7HjPmLgKgzQAqxgl/0m7NFeDB6uGGQ== + dependencies: + "@graphql-tools/graphql-tag-pluck" "7.2.1" + "@graphql-tools/utils" "8.6.5" + globby "^11.0.3" + tslib "~2.3.0" + unixify "^1.0.0" + +"@graphql-tools/delegate@8.7.0": + version "8.7.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-8.7.0.tgz#14148e10405d5f0b3b0a5d76cce248f9c3def863" + integrity sha512-tsmNFV8nVvPY2nApCj69ck32/Jdj44rYbUZx+cpyUWOzfbUT1iu0d1mUwn5UeHuGnB+Bzgn3fuTypg97mDEyEw== + dependencies: + "@graphql-tools/batch-execute" "8.4.1" + "@graphql-tools/schema" "8.3.5" + "@graphql-tools/utils" "8.6.5" + dataloader "2.0.0" + graphql-executor "0.0.22" + tslib "~2.3.0" + value-or-promise "1.0.11" + +"@graphql-tools/git-loader@^7.0.5": + version "7.1.8" + resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-7.1.8.tgz#193437286b6508dbf538622c24a4150c134141b5" + integrity sha512-TXtSikBbvBHHPEVjoc6Mg+xBMcaWV1j1utbyxTr/18/JrYXg1pR7qdZ9UmPzW99qbuAGiI1tUNvnxuCH6Y3BWQ== + dependencies: + "@graphql-tools/graphql-tag-pluck" "7.2.1" + "@graphql-tools/utils" "8.6.5" + is-glob "4.0.3" + micromatch "^4.0.4" + tslib "~2.3.0" + unixify "^1.0.0" + +"@graphql-tools/github-loader@^7.0.5": + version "7.2.9" + resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-7.2.9.tgz#86a09efc48696b6f5f8bcd88316c4827521e19f0" + integrity sha512-PVQDjMQoxWQG1cxXT/SvDA94cjSqAS/2Yqx8xUrx4ZucxUoKz33xMcL3wHj4utKhIS6FiL5O4Vh2h51oel6oOg== + dependencies: + "@graphql-tools/graphql-tag-pluck" "7.2.1" + "@graphql-tools/utils" "8.6.5" + cross-undici-fetch "^0.1.19" + sync-fetch "0.3.1" + tslib "~2.3.0" + +"@graphql-tools/graphql-file-loader@^7.0.5", "@graphql-tools/graphql-file-loader@^7.3.7": + version "7.3.7" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.7.tgz#f5cb05b0e3cd462d74eae47c5b9c08ed6b989837" + integrity sha512-fwXLycYvabPhusGtYuFrOPbjeIvLWr6viGkQc9KmiBm2Z2kZrlNRNUlYkXXRzMoiqRkzqFJYhOgWDE7LsOnbjw== + dependencies: + "@graphql-tools/import" "6.6.9" + "@graphql-tools/utils" "8.6.5" + globby "^11.0.3" + tslib "~2.3.0" + unixify "^1.0.0" + +"@graphql-tools/graphql-tag-pluck@7.2.1": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.2.1.tgz#3ffc958f1d68f7f99d6ce81ef54cd764ce8b2e38" + integrity sha512-tzpgV4lEBvxSMlSfakR72rXu+AoGi7OWvTMSxb6PfrJNNokZm1aW62Rkgaftx+zLwjhUZx3ET8LpHIj89TrniA== + dependencies: + "@babel/parser" "^7.16.8" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" + "@graphql-tools/utils" "8.6.5" + tslib "~2.3.0" + +"@graphql-tools/import@6.6.9": + version "6.6.9" + resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.6.9.tgz#53e1517074c756b5191d23d4f1528246913d44ba" + integrity sha512-sKaLqvPmNLQlY4te+nnBhRrf5WBISoiyVkbriCLz0kHw805iHdJaU2KxUoHsRTR7WlYq0g9gzB0oVaRh99Q5aA== + dependencies: + "@graphql-tools/utils" "8.6.5" + resolve-from "5.0.0" + tslib "~2.3.0" + +"@graphql-tools/json-file-loader@^7.1.2", "@graphql-tools/json-file-loader@^7.3.7": + version "7.3.7" + resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-7.3.7.tgz#3ddae0b15d3c57d1980fa5203541c2e6cd6a5ff4" + integrity sha512-dm0LcfiWYin7cUR4RWC33C9bNppujvSU7hwTH+sHmSguNnat9Kn8dBntVSgrY3qCbKuGfz/PshQHIODXrRwAKg== + dependencies: + "@graphql-tools/utils" "8.6.5" + globby "^11.0.3" + tslib "~2.3.0" + unixify "^1.0.0" + +"@graphql-tools/load@^7.3.0", "@graphql-tools/load@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.5.5.tgz#d61e5bdee59b6c8aa9631f74f0b2a70d512e5b31" + integrity sha512-qPasit140nwTbMQbFCfZcgaS7q/0+xMQGdkMGU11rtHt6/jMgJIKDUU8/fJGKltNY3EeHlEdVtZmggZD7Rr6bA== + dependencies: + "@graphql-tools/schema" "8.3.5" + "@graphql-tools/utils" "8.6.5" + p-limit "3.1.0" + tslib "~2.3.0" + +"@graphql-tools/merge@8.2.6", "@graphql-tools/merge@^8.0.2", "@graphql-tools/merge@^8.2.6": + version "8.2.6" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.2.6.tgz#7fb615fa9c143c3151ff025e501d52bd48186d19" + integrity sha512-dkwTm4czMISi/Io47IVvq2Fl9q4TIGKpJ0VZjuXYdEFkECyH6A5uwxZfPVandZG+gQs8ocFFoa6RisiUJLZrJw== + dependencies: + "@graphql-tools/utils" "8.6.5" + tslib "~2.3.0" + "@graphql-tools/mock@^8.1.2": version "8.2.2" resolved "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.2.2.tgz" @@ -56,28 +760,133 @@ fast-json-stable-stringify "^2.1.0" tslib "~2.3.0" -"@graphql-tools/schema@^8.0.0", "@graphql-tools/schema@^8.1.2": - version "8.1.2" - resolved "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.1.2.tgz" - integrity sha512-rX2pg42a0w7JLVYT+f/yeEKpnoZL5PpLq68TxC3iZ8slnNBNjfVfvzzOn8Q8Q6Xw3t17KP9QespmJEDfuQe4Rg== +"@graphql-tools/optimize@^1.0.1": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/optimize/-/optimize-1.2.0.tgz#292d0a269f95d04bc6d822c034569bb7e591fb26" + integrity sha512-l0PTqgHeorQdeOizUor6RB49eOAng9+abSxiC5/aHRo6hMmXVaqv5eqndlmxCpx9BkgNb3URQbK+ZZHVktkP/g== dependencies: - "@graphql-tools/merge" "^8.0.2" - "@graphql-tools/utils" "^8.1.1" tslib "~2.3.0" - value-or-promise "1.0.10" -"@graphql-tools/utils@^8.0.0", "@graphql-tools/utils@^8.1.1": - version "8.1.1" - resolved "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.1.1.tgz" - integrity sha512-QbFNoBmBiZ+ej4y6mOv8Ba4lNhcrTEKXAhZ0f74AhdEXi7b9xbGUH/slO5JaSyp85sGQYIPmxjRPpXBjLklbmw== +"@graphql-tools/prisma-loader@^7.0.6": + version "7.1.6" + resolved "https://registry.yarnpkg.com/@graphql-tools/prisma-loader/-/prisma-loader-7.1.6.tgz#7e0bc7f67ccf040076e8679998be023b3f1526f6" + integrity sha512-RR/V3kgkgdch6uENxNfYwlMDXBkVQFqpfHpfKuyBX8jmXy59m5f+9Ie4N97kQ0PAcoaw5r0gWLiIk5twn+FcjA== + dependencies: + "@graphql-tools/url-loader" "7.9.7" + "@graphql-tools/utils" "8.6.5" + "@types/js-yaml" "^4.0.0" + "@types/json-stable-stringify" "^1.0.32" + "@types/jsonwebtoken" "^8.5.0" + chalk "^4.1.0" + debug "^4.3.1" + dotenv "^16.0.0" + graphql-request "^4.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + isomorphic-fetch "^3.0.0" + js-yaml "^4.0.0" + json-stable-stringify "^1.0.1" + jsonwebtoken "^8.5.1" + lodash "^4.17.20" + replaceall "^0.1.6" + scuid "^1.1.0" + tslib "~2.3.0" + yaml-ast-parser "^0.0.43" + +"@graphql-tools/relay-operation-optimizer@^6.3.7": + version "6.4.5" + resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.5.tgz#22a379dba23ce60174c17b36fc1f89c5d26dc78b" + integrity sha512-AB/eOfpjteO4Gt0is0U1TseDuFjs/DLV1N0cqF0t6TqQLNVBeWIw7yVb8jw7HIfg3jcKLj++8582lhvCsWMT5g== + dependencies: + "@graphql-tools/utils" "8.6.5" + relay-compiler "12.0.0" + tslib "~2.3.0" + +"@graphql-tools/schema@8.3.5", "@graphql-tools/schema@^8.0.0", "@graphql-tools/schema@^8.1.2": + version "8.3.5" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.3.5.tgz#ebec0c0c7f53e591d34375d6f81d0660852fcaca" + integrity sha512-3mJ/K7TdL+fnEUtCUqF4qkh1fcNMzaxgwKgO9fSYSTS7zyT16hbi5XSulSTshygHgaD2u+MO588iR4ZJcbZcIg== + dependencies: + "@graphql-tools/merge" "8.2.6" + "@graphql-tools/utils" "8.6.5" + tslib "~2.3.0" + value-or-promise "1.0.11" + +"@graphql-tools/url-loader@7.9.7", "@graphql-tools/url-loader@^7.0.11", "@graphql-tools/url-loader@^7.9.7": + version "7.9.7" + resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-7.9.7.tgz#14d406927dd971660591a2463f740f84cf74aa13" + integrity sha512-cJoZcv6oJrhArRPmSnw8wcqnz7F8p+HzwvjoJyHbs0ne2jTXazD+LOHaXMAa1L7lKK2YmH2Txy8pOI76JnvUiQ== + dependencies: + "@graphql-tools/delegate" "8.7.0" + "@graphql-tools/utils" "8.6.5" + "@graphql-tools/wrap" "8.4.9" + "@n1ru4l/graphql-live-query" "^0.9.0" + "@types/websocket" "^1.0.4" + "@types/ws" "^8.0.0" + cross-undici-fetch "^0.1.19" + dset "^3.1.0" + extract-files "^11.0.0" + graphql-sse "^1.0.1" + graphql-ws "^5.4.1" + isomorphic-ws "^4.0.1" + meros "^1.1.4" + subscriptions-transport-ws "^0.11.0" + sync-fetch "^0.3.1" + tslib "^2.3.0" + value-or-promise "^1.0.11" + ws "^8.3.0" + +"@graphql-tools/utils@8.6.5", "@graphql-tools/utils@^8.0.0", "@graphql-tools/utils@^8.1.1", "@graphql-tools/utils@^8.3.0", "@graphql-tools/utils@^8.5.2", "@graphql-tools/utils@^8.6.5": + version "8.6.5" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.6.5.tgz#ac04571b03f854c7a938b2ab700516a6c6d32335" + integrity sha512-mjOtaWiS2WIqRz/cq5gaeM3sVrllcu2xbtHROw1su1v3xWa3D3dKgn8Lrl7+tvWs5WUVySsBss/VZ3WdoPkCrA== + dependencies: + tslib "~2.3.0" + +"@graphql-tools/wrap@8.4.9": + version "8.4.9" + resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-8.4.9.tgz#6b99f78214b7913803a013fdacd4687669cb95dd" + integrity sha512-YFb34itVWyE3sMifvPRqvYjXYpjJle2hkq9nIELQOumc1yqxT7jf/+YnNZalS1DoOdWn4GbDmqO/uljf6AuuDA== dependencies: + "@graphql-tools/delegate" "8.7.0" + "@graphql-tools/schema" "8.3.5" + "@graphql-tools/utils" "8.6.5" tslib "~2.3.0" + value-or-promise "1.0.11" + +"@iarna/toml@^2.2.5": + version "2.2.5" + resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" + integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== "@josephg/resolvable@^1.0.0": version "1.0.1" resolved "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz" integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" + integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" + integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + +"@jridgewell/trace-mapping@^0.3.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" + integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@n1ru4l/graphql-live-query@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@n1ru4l/graphql-live-query/-/graphql-live-query-0.9.0.tgz#defaebdd31f625bee49e6745934f36312532b2bc" + integrity sha512-BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -223,6 +1032,13 @@ resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= +"@samverschueren/stream-to-observable@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" + integrity sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ== + dependencies: + any-observable "^0.3.0" + "@sentry/core@6.13.3": version "6.13.3" resolved "https://registry.npmjs.org/@sentry/core/-/core-6.13.3.tgz" @@ -303,6 +1119,11 @@ dependencies: defer-to-connect "^1.0.1" +"@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== + "@types/accepts@^1.3.5": version "1.3.5" resolved "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz" @@ -378,16 +1199,28 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/js-yaml@^4.0.3": - version "4.0.3" - resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.3.tgz" - integrity sha512-5t9BhoORasuF5uCPr+d5/hdB++zRFUTMIZOzbNkr+jZh3yQht4HYbRDyj9fY8n2TZT30iW9huzav73x4NikqWg== +"@types/js-yaml@^4.0.0", "@types/js-yaml@^4.0.3": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" + integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== "@types/json-schema@*", "@types/json-schema@^7.0.8": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== +"@types/json-stable-stringify@^1.0.32": + version "1.0.34" + resolved "https://registry.yarnpkg.com/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz#c0fb25e4d957e0ee2e497c1f553d7f8bb668fd75" + integrity sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw== + +"@types/jsonwebtoken@^8.5.0": + version "8.5.8" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz#01b39711eb844777b7af1d1f2b4cf22fda1c0c44" + integrity sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A== + dependencies: + "@types/node" "*" + "@types/lodash@^4.14.175": version "4.14.175" resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.175.tgz" @@ -445,6 +1278,11 @@ dependencies: "@types/node" "*" +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + "@types/qs@*": version "6.9.7" resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" @@ -473,6 +1311,13 @@ resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.16.3.tgz#b776327a73e561b71e7881d0cd6d34a1424db86a" integrity sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw== +"@types/websocket@^1.0.4": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/websocket/-/websocket-1.0.5.tgz#3fb80ed8e07f88e51961211cd3682a3a4a81569c" + integrity sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ== + dependencies: + "@types/node" "*" + "@types/whatwg-url@^8.2.1": version "8.2.1" resolved "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz" @@ -481,6 +1326,13 @@ "@types/node" "*" "@types/webidl-conversions" "*" +"@types/ws@^8.0.0": + version "8.5.3" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" + integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== + dependencies: + "@types/node" "*" + "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" @@ -634,6 +1486,13 @@ abbrev@1: resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + accepts@^1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" @@ -681,11 +1540,38 @@ ansi-align@^3.0.0: dependencies: string-width "^4.1.0" +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" @@ -693,13 +1579,18 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" +any-observable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" + integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== + anymatch@~3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" @@ -819,6 +1710,11 @@ apollo-server-types@^3.3.0: apollo-server-caching "^3.2.0" apollo-server-env "^4.1.0" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" @@ -853,6 +1749,11 @@ array-uniq@^1.0.1: resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + async-retry@^1.2.1: version "1.3.3" resolved "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz" @@ -865,6 +1766,61 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= +auto-bind@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" + integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: + version "7.0.0-beta.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" + integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== + +babel-preset-fbjs@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz#38a14e5a7a3b285a3f3a86552d650dca5cf6111c" + integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow== + dependencies: + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-syntax-class-properties" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-block-scoped-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-member-expression-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-object-super" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-property-literals" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0" + +backo2@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" @@ -890,6 +1846,15 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + body-parser@1.19.0, body-parser@^1.19.0: version "1.19.0" resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz" @@ -935,16 +1900,23 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.14.5: - version "4.16.8" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz" - integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ== +browserslist@^4.14.5, browserslist@^4.17.5: + version "4.20.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" + integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== dependencies: - caniuse-lite "^1.0.30001251" - colorette "^1.3.0" - electron-to-chromium "^1.3.811" + caniuse-lite "^1.0.30001317" + electron-to-chromium "^1.4.84" escalade "^3.1.1" - node-releases "^1.1.75" + node-releases "^2.0.2" + picocolors "^1.0.0" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" bson@^4.5.2: version "4.5.3" @@ -953,12 +1925,17 @@ bson@^4.5.2: dependencies: buffer "^5.6.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 sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@^5.6.0: +buffer@^5.5.0, buffer@^5.6.0, buffer@^5.7.0: version "5.7.1" resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -992,17 +1969,50 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" -camelcase@^5.3.1: +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001251: - version "1.0.30001251" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz" - integrity sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A== +caniuse-lite@^1.0.30001251, caniuse-lite@^1.0.30001317: + version "1.0.30001322" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001322.tgz#2e4c09d11e1e8f852767dab287069a8d0c29d623" + integrity sha512-neRmrmIrCGuMnxGSoh+x7zYtQFFgnSY2jaomjU56sCkTA6JINqQrxutF459JpWcWRajvoyn95sOXq4Pqrnyjew== + +capital-case@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669" + integrity sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + upper-case-first "^2.0.2" -chalk@^2.4.0, chalk@^2.4.1: +chalk@^1.0.0, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.4.0, chalk@^2.4.1: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1019,7 +2029,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.1.0: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: version "4.1.2" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -1027,10 +2037,49 @@ chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chokidar@^3.2.2: - version "3.5.2" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== +change-case-all@1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/change-case-all/-/change-case-all-1.0.14.tgz#bac04da08ad143278d0ac3dda7eccd39280bfba1" + integrity sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA== + dependencies: + change-case "^4.1.2" + is-lower-case "^2.0.2" + is-upper-case "^2.0.2" + lower-case "^2.0.2" + lower-case-first "^2.0.2" + sponge-case "^1.0.1" + swap-case "^2.0.2" + title-case "^3.0.3" + upper-case "^2.0.2" + upper-case-first "^2.0.2" + +change-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/change-case/-/change-case-4.1.2.tgz#fedfc5f136045e2398c0410ee441f95704641e12" + integrity sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== + dependencies: + camel-case "^4.1.2" + capital-case "^1.0.4" + constant-case "^3.0.4" + dot-case "^3.0.4" + header-case "^2.0.4" + no-case "^3.0.4" + param-case "^3.0.4" + pascal-case "^3.1.2" + path-case "^3.0.4" + sentence-case "^3.0.4" + snake-case "^3.0.4" + tslib "^2.0.3" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@^3.2.2, chokidar@^3.5.2: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -1064,6 +2113,56 @@ cli-boxes@^2.2.0: resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== +cli-cursor@^2.0.0, cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.5.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" + integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== + +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" @@ -1080,6 +2179,16 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" @@ -1131,6 +2240,11 @@ commander@^7.0.0: resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +common-tags@1.8.2, common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" @@ -1148,6 +2262,15 @@ configstore@^5.0.1: write-file-atomic "^3.0.0" xdg-basedir "^4.0.0" +constant-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-3.0.4.tgz#3b84a9aeaf4cf31ec45e6bf5de91bdfb0589faf1" + integrity sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + upper-case "^2.0.2" + content-disposition@0.5.3: version "0.5.3" resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz" @@ -1160,6 +2283,13 @@ content-type@~1.0.4: resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== +convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" @@ -1200,6 +2330,36 @@ cors@^2.8.5: object-assign "^4" vary "^1" +cosmiconfig-toml-loader@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-toml-loader/-/cosmiconfig-toml-loader-1.0.0.tgz#0681383651cceff918177debe9084c0d3769509b" + integrity sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA== + dependencies: + "@iarna/toml" "^2.2.5" + +cosmiconfig@7.0.1, cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-fetch@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" @@ -1220,6 +2380,18 @@ cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +cross-undici-fetch@^0.1.19: + version "0.1.28" + resolved "https://registry.yarnpkg.com/cross-undici-fetch/-/cross-undici-fetch-0.1.28.tgz#40b7071b9ab2d1d6aff889836205e1972092e8d1" + integrity sha512-/nLMyVE5IC9PQdBtmgjpGZfK0wo8UupomAPx+7HlbEgVDkZOa9xCiZP9goo5aLYofP0gHXgovjXdXrE2obANag== + dependencies: + abort-controller "^3.0.0" + form-data-encoder "^1.7.1" + formdata-node "^4.3.1" + node-fetch "^2.6.7" + undici "^5.0.0" + web-streams-polyfill "^3.2.0" + crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" @@ -1230,6 +2402,21 @@ cssfilter@0.0.10: resolved "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz" integrity sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4= +dataloader@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.0.0.tgz#41eaf123db115987e21ca93c005cd7753c55fe6f" + integrity sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ== + +date-fns@^1.27.2: + version "1.30.1" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== + +debounce@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + debug@2.6.9, debug@^2.2.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" @@ -1237,27 +2424,25 @@ debug@2.6.9, debug@^2.2.0: dependencies: ms "2.0.0" -debug@4: - version "4.3.2" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== +debug@4, debug@^4.1.0, debug@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@^3.1.0: - version "3.2.6" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^3.2.6: +debug@^3.1.0, debug@^3.2.6: version "3.2.7" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + decompress-response@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" @@ -1270,6 +2455,13 @@ deep-extend@^0.6.0: resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + defer-to-connect@^1.0.1: version "1.1.3" resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" @@ -1310,6 +2502,11 @@ depd@~1.1.2: resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +dependency-graph@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" + integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== + deprecation@^2.0.0: version "2.3.1" resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" @@ -1320,6 +2517,16 @@ destroy@~1.0.4: resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +detect-indent@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" @@ -1327,6 +2534,14 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" @@ -1339,20 +2554,42 @@ dotenv@^10.0.0: resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== +dotenv@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.0.tgz#c619001253be89ebb638d027b609c75c26e47411" + integrity sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q== + +dset@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.1.tgz#07de5af7a8d03eab337ad1a8ba77fe17bba61a8c" + integrity sha512-hYf+jZNNqJBD2GiMYb+5mqOIX4R4RRHXU3qWMWYN+rqcR2/YpRL2bUHr8C8fU+5DNvqYjJ8YvMGSLuVPWU1cNg== + duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= +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" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.811: - version "1.3.814" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.814.tgz" - integrity sha512-0mH03cyjh6OzMlmjauGg0TLd87ErIJqWiYxMcOLKf5w6p0YEOl7DJAj7BDlXEFmCguY5CQaKVOiMjAMODO2XDw== +electron-to-chromium@^1.3.811, electron-to-chromium@^1.4.84: + version "1.4.100" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.100.tgz#da82de8a19a47ea3dcdf141dde85355942fbc4e7" + integrity sha512-pNrSE2naf8fizl6/Uxq8UbKb8hU9EiYW4OzCYswosXoLV5NTMOUVKECNzDaHiUubsPq/kAckOzZd7zd8S8CHVw== + +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= emoji-regex@^8.0.0: version "8.0.0" @@ -1376,15 +2613,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^5.0.0: - version "5.8.2" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz" - integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enhanced-resolve@^5.8.3: +enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.3: version "5.8.3" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== @@ -1464,7 +2693,7 @@ escape-html@~1.0.3: resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -1504,6 +2733,16 @@ etag@~1.8.1: resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +eventemitter3@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" + integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== + events@^3.2.0: version "3.3.0" resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" @@ -1560,15 +2799,34 @@ express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extract-files@^11.0.0: + version "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== + fast-deep-equal@^3.1.1: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.1.1, fast-glob@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== +fast-glob@^3.1.1, fast-glob@^3.2.7, fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -1593,6 +2851,53 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + +fbjs@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.4.tgz#e1871c6bd3083bac71ff2da868ad5067d37716c6" + integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== + dependencies: + cross-fetch "^3.1.5" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.30" + +figures@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + filesize@^3.6.1: version "3.6.1" resolved "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz" @@ -1618,7 +2923,7 @@ finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -find-up@^4.0.0: +find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -1626,6 +2931,11 @@ find-up@^4.0.0: locate-path "^5.0.0" path-exists "^4.0.0" +form-data-encoder@^1.7.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz#1f1ae3dccf58ed4690b86d87e4f57c654fbab040" + integrity sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A== + form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -1635,6 +2945,14 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +formdata-node@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/formdata-node/-/formdata-node-4.3.2.tgz#0262e94931e36db7239c2b08bdb6aaf18ec47d21" + integrity sha512-k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg== + dependencies: + node-domexception "1.0.0" + web-streams-polyfill "4.0.0-beta.1" + forwarded@0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" @@ -1660,6 +2978,16 @@ function-bind@^1.1.1: resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" @@ -1715,7 +3043,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.0.3, glob@^7.1.3: +glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.6: version "7.2.0" resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -1734,16 +3062,21 @@ global-dirs@^2.0.1: dependencies: ini "1.3.7" -globby@^11.0.3: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globby@^11.0.3, globby@^11.0.4: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" slash "^3.0.0" globby@^6.1.0: @@ -1774,16 +3107,47 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2: - version "4.2.3" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.2.4: version "4.2.8" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +graphql-config@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-4.2.0.tgz#031008ccde56eaa2861651d11cf825b78ca0ff0f" + integrity sha512-Qyf02bOfz2jvKc15VQllDS1MQVuywPPYkZ4ChR9ffzNBQk0JX+7ZmfuPwnCkJQQMms56yywU5w1fu9BZVcuUkA== + dependencies: + "@endemolshinegroup/cosmiconfig-typescript-loader" "3.0.2" + "@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" "^8.6.5" + cosmiconfig "7.0.1" + cosmiconfig-toml-loader "1.0.0" + minimatch "4.2.1" + string-env-interpolation "1.0.1" + +graphql-executor@0.0.22: + version "0.0.22" + resolved "https://registry.yarnpkg.com/graphql-executor/-/graphql-executor-0.0.22.tgz#14bc466bb27ab38346998e0b375cba55685eed94" + integrity sha512-WbKSnSHFn6REKKH4T6UAwDM3mLUnYMQlQLNG0Fw+Lkb3ilCnL3m5lkJ7411LAI9sF7BvPbthovVZhsEUh9Xfag== + +graphql-request@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-4.2.0.tgz#063377bc2dd29cc46aed3fddcc65fe97b805ba81" + integrity sha512-uFeMyhhl8ss4LFgjlfPeAn2pqYw+CJto+cjj71uaBYIMMK2jPIqgHm5KEFxUk0YDD41A8Bq31a2b4G2WJBlp2Q== + dependencies: + cross-fetch "^3.1.5" + extract-files "^9.0.0" + form-data "^3.0.0" + +graphql-sse@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/graphql-sse/-/graphql-sse-1.1.0.tgz#05a8ea0528b4bde1c042caa5a7a63ef244bd3c56" + integrity sha512-xE8AGPJa5X+g7iFmRQw/8H+7lXIDJvSkW6lou/XSSq17opPQl+dbKOMiqraHMx52VrDgS061ZVx90OSuqS6ykA== + graphql-tag@^2.11.0, graphql-tag@^2.12.5: version "2.12.5" resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.5.tgz" @@ -1791,11 +3155,23 @@ graphql-tag@^2.11.0, graphql-tag@^2.12.5: dependencies: tslib "^2.1.0" +graphql-ws@^5.4.1: + version "5.6.4" + resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.6.4.tgz#ef00bcb4d1a6bbd96c1b30ca1d8096cd837ac9c9" + integrity sha512-5r8tAzznI1zeh7k12+3z07KkgXPckQbnC9h4kJ2TBDWG2wb26TJTbVHQOiAncDBgPbtXtc1A2BlttiRuPH2t/w== + graphql@^15.6.1: version "15.6.1" resolved "https://registry.npmjs.org/graphql/-/graphql-15.6.1.tgz" integrity sha512-3i5lu0z6dRvJ48QP9kFxBkJ7h4Kso7PS8eahyTFz5Jm6CvQfLtNIE8LX9N6JLnXTuwR+sIYnXzaWp6anOg0QQw== +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + has-bigints@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" @@ -1835,6 +3211,14 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +header-case@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/header-case/-/header-case-2.0.4.tgz#5a42e63b55177349cf405beb8d775acabb92c063" + integrity sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== + dependencies: + capital-case "^1.0.4" + tslib "^2.0.3" + hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" @@ -1867,6 +3251,15 @@ http-errors@~1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" +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== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + https-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz" @@ -1880,7 +3273,7 @@ human-signals@^2.1.0: resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -iconv-lite@0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -1897,10 +3290,28 @@ ignore-by-default@^1.0.1: resolved "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz" integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= -ignore@^5.1.4: - version "5.1.9" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" - integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== +ignore@^5.1.4, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +immutable@~3.7.6: + version "3.7.6" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" + integrity sha1-E7TTyxK++hVIKib+Gy665kAHHks= + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-4.0.0.tgz#2710b8d66817d232e16f4166e319248d3d5492e2" + integrity sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ== import-lazy@^2.1.0: version "2.1.0" @@ -1920,6 +3331,11 @@ imurmurhash@^0.1.4: resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + inflight@^1.0.4: version "1.0.6" resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" @@ -1928,7 +3344,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -1943,6 +3359,26 @@ ini@1.3.7, ini@~1.3.0: resolved "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz" integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== +inquirer@^8.0.0: + version "8.2.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.2.tgz#1310517a87a0814d25336c78a20b44c3d9b7629d" + integrity sha512-pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" @@ -1957,11 +3393,26 @@ interpret@^2.2.0: resolved "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" @@ -2020,12 +3471,24 @@ is-extglob@^2.1.1: resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: +is-glob@4.0.3, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -2040,6 +3503,18 @@ is-installed-globally@^0.3.1: global-dirs "^2.0.1" is-path-inside "^3.0.1" +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-2.0.2.tgz#1c0884d3012c841556243483aa5d522f47396d2a" + integrity sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ== + dependencies: + tslib "^2.0.3" + is-negative-zero@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" @@ -2067,6 +3542,13 @@ is-obj@^2.0.0: resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== +is-observable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" + integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== + dependencies: + symbol-observable "^1.1.0" + is-path-cwd@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" @@ -2103,6 +3585,11 @@ is-plain-object@^5.0.0: resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== +is-promise@^2.1.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + is-regex@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" @@ -2111,11 +3598,23 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + is-shared-array-buffer@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz" integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" @@ -2140,6 +3639,25 @@ is-typedarray@^1.0.0: resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-upper-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-2.0.2.tgz#f1105ced1fe4de906a5f39553e7d3803fd804649" + integrity sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ== + dependencies: + tslib "^2.0.3" + is-weakref@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz" @@ -2147,6 +3665,11 @@ is-weakref@^1.0.1: dependencies: call-bind "^1.0.0" +is-windows@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" @@ -2162,6 +3685,24 @@ isobject@^3.0.1: resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +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@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + +iterall@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" + integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== + jest-worker@^27.0.2: version "27.0.6" resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz" @@ -2171,6 +3712,11 @@ jest-worker@^27.0.2: merge-stream "^2.0.0" supports-color "^8.0.0" +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + js-yaml-loader@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/js-yaml-loader/-/js-yaml-loader-1.2.2.tgz" @@ -2188,13 +3734,18 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.1.0: +js-yaml@^4.0.0, js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + json-buffer@3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" @@ -2205,11 +3756,31 @@ json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-to-pretty-yaml@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz#f4cd0bd0a5e8fe1df25aaf5ba118b099fd992d5b" + integrity sha1-9M0L0KXo/h3yWq9boRiwmf2ZLVs= + dependencies: + remedial "^1.0.7" + remove-trailing-spaces "^1.0.6" + json5@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" @@ -2217,6 +3788,49 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +json5@^2.1.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + +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" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" @@ -2229,13 +3843,18 @@ kind-of@^6.0.2: resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -latest-version@^5.0.0: +latest-version@5.1.0, latest-version@^5.0.0: version "5.1.0" resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== dependencies: package-json "^6.3.0" +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + linkify-it@^3.0.1: version "3.0.2" resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz" @@ -2243,6 +3862,50 @@ linkify-it@^3.0.1: dependencies: uc.micro "^1.0.1" +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= + +listr-update-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" + integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^2.3.0" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" + integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== + dependencies: + chalk "^2.4.1" + cli-cursor "^2.1.0" + date-fns "^1.27.2" + figures "^2.0.0" + +listr@^0.14.3: + version "0.14.3" + resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" + integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== + dependencies: + "@samverschueren/stream-to-observable" "^0.3.0" + is-observable "^1.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.5.0" + listr-verbose-renderer "^0.5.0" + p-map "^2.0.0" + rxjs "^6.3.3" + load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" @@ -2274,16 +3937,80 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lodash.get@^4: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash@^4.17.13, lodash@^4.17.21: +lodash@^4.17.13, lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.0: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= + dependencies: + chalk "^1.0.0" + +log-symbols@^4.0.0, log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + loglevel@^1.6.8: version "1.7.1" resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz" @@ -2294,6 +4021,27 @@ long@^4.0.0: resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case-first@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-2.0.2.tgz#64c2324a2250bf7c37c5901e76a5b5309301160b" + integrity sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg== + dependencies: + tslib "^2.0.3" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" @@ -2323,6 +4071,16 @@ make-dir@^3.0.0: dependencies: semver "^6.0.0" +make-error@^1, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +map-cache@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + markdown-it@^12.2.0: version "12.2.0" resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-12.2.0.tgz" @@ -2369,11 +4127,16 @@ merge-stream@^2.0.0: resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +meros@^1.1.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/meros/-/meros-1.2.0.tgz#096cdede2eb0b1610b219b1031b935260de1ad08" + integrity sha512-3QRZIS707pZQnijHdhbttXRWwrHhZJ/gzolneoxKVz9N/xmsvY/7Ls8lpnI9gxbgxjcHsAVEW3mgwiZCo6kkJQ== + methods@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" @@ -2397,25 +4160,23 @@ mime-db@1.50.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== -mime-types@^2.1.12: +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24: version "2.1.33" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== dependencies: mime-db "1.50.0" -mime-types@^2.1.27, mime-types@~2.1.24: - version "2.1.32" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz" - integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== - dependencies: - mime-db "1.49.0" - mime@1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" @@ -2426,6 +4187,13 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== +minimatch@4.2.1, minimatch@^4.0.0: + 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.4: version "3.0.4" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" @@ -2445,6 +4213,11 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.5" +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + moment@^2.22.1: version "2.29.1" resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz" @@ -2484,6 +4257,11 @@ ms@2.1.2, ms@^2.1.1: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + negotiator@0.6.2: version "0.6.2" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" @@ -2499,23 +4277,41 @@ nice-try@^1.0.4: resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-domexception@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== -node-fetch@^2.6.5: - version "2.6.5" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd" - integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ== +node-fetch@2.6.7, node-fetch@^2.6.1, node-fetch@^2.6.5, node-fetch@^2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== dependencies: whatwg-url "^5.0.0" +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + node-releases@^1.1.75: version "1.1.75" resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz" integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== +node-releases@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" + integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== + nodemon-webpack-plugin@^4.5.2: version "4.5.2" resolved "https://registry.npmjs.org/nodemon-webpack-plugin/-/nodemon-webpack-plugin-4.5.2.tgz" @@ -2557,6 +4353,13 @@ normalize-package-data@^2.3.2: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" @@ -2589,7 +4392,17 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -object-assign@^4, object-assign@^4.0.1: +nullthrows@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" + integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -2604,7 +4417,7 @@ object-keys@^1.0.12, object-keys@^1.1.1: resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.2: +object.assign@^4.1.0, object.assign@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== @@ -2628,18 +4441,52 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^5.1.2: +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + p-cancelable@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== +p-limit@3.1.0, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-limit@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" @@ -2647,13 +4494,6 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" @@ -2681,6 +4521,30 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-filepath@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + parse-json@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" @@ -2689,11 +4553,37 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + parseurl@^1.3.3, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/path-case/-/path-case-3.0.4.tgz#9168645334eb942658375c56f80b4c0cb5f82c6f" + integrity sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" @@ -2724,6 +4614,18 @@ path-parse@^1.0.6: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" @@ -2741,6 +4643,11 @@ path-type@^4.0.0: resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" @@ -2795,6 +4702,13 @@ prettier@^2.3.2: resolved "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz" integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + proxy-addr@~2.0.5: version "2.0.7" resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" @@ -2879,6 +4793,15 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" +readable-stream@^3.4.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" @@ -2893,6 +4816,11 @@ rechoir@^0.7.0: dependencies: resolve "^1.9.0" +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + registry-auth-token@^4.0.0: version "4.2.1" resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz" @@ -2907,6 +4835,68 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" +relay-compiler@12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/relay-compiler/-/relay-compiler-12.0.0.tgz#9f292d483fb871976018704138423a96c8a45439" + integrity sha512-SWqeSQZ+AMU/Cr7iZsHi1e78Z7oh00I5SvR092iCJq79aupqJ6Ds+I1Pz/Vzo5uY5PY0jvC4rBJXzlIN5g9boQ== + dependencies: + "@babel/core" "^7.14.0" + "@babel/generator" "^7.14.0" + "@babel/parser" "^7.14.0" + "@babel/runtime" "^7.0.0" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.0.0" + babel-preset-fbjs "^3.4.0" + chalk "^4.0.0" + fb-watchman "^2.0.0" + fbjs "^3.0.0" + glob "^7.1.1" + immutable "~3.7.6" + invariant "^2.2.4" + nullthrows "^1.1.1" + relay-runtime "12.0.0" + signedsource "^1.0.0" + yargs "^15.3.1" + +relay-runtime@12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-12.0.0.tgz#1e039282bdb5e0c1b9a7dc7f6b9a09d4f4ff8237" + integrity sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug== + dependencies: + "@babel/runtime" "^7.0.0" + fbjs "^3.0.0" + invariant "^2.2.4" + +remedial@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/remedial/-/remedial-1.0.8.tgz#a5e4fd52a0e4956adbaf62da63a5a46a78c578a0" + integrity sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +remove-trailing-spaces@^1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/remove-trailing-spaces/-/remove-trailing-spaces-1.0.8.tgz#4354d22f3236374702f58ee373168f6d6887ada7" + integrity sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA== + +replaceall@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/replaceall/-/replaceall-0.1.6.tgz#81d81ac7aeb72d7f5c4942adf2697a3220688d8e" + integrity sha1-gdgax663LX9cSUKt8ml6MiBojY4= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" @@ -2914,11 +4904,16 @@ resolve-cwd@^3.0.0: dependencies: resolve-from "^5.0.0" -resolve-from@^5.0.0: +resolve-from@5.0.0, resolve-from@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + resolve@^1.10.0, resolve@^1.9.0: version "1.20.0" resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" @@ -2934,6 +4929,22 @@ responselike@^1.0.2: dependencies: lowercase-keys "^1.0.0" +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + retry@0.13.1: version "0.13.1" resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" @@ -2951,6 +4962,11 @@ rimraf@^2.6.3: dependencies: glob "^7.1.3" +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" @@ -2958,12 +4974,26 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@5.1.2: +rxjs@^6.3.3: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +rxjs@^7.5.5: + version "7.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== + dependencies: + tslib "^2.1.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1, safe-buffer@^5.1.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -2989,6 +5019,11 @@ schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" +scuid@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab" + integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg== + semver-diff@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" @@ -2996,7 +5031,7 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -3032,6 +5067,15 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" +sentence-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f" + integrity sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + upper-case-first "^2.0.2" + serialize-javascript@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" @@ -3049,6 +5093,16 @@ serve-static@1.14.1: parseurl "~1.3.3" send "0.17.1" +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + setprototypeof@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz" @@ -3112,19 +5166,42 @@ signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +signedsource@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a" + integrity sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo= + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +source-map-support@^0.5.17, source-map-support@~0.5.19: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" +source-map@^0.5.0: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" @@ -3168,6 +5245,13 @@ spdx-license-ids@^3.0.0: resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz" integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== +sponge-case@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sponge-case/-/sponge-case-1.0.1.tgz#260833b86453883d974f84854cdb63aecc5aef4c" + integrity sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA== + dependencies: + tslib "^2.0.3" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" @@ -3178,7 +5262,29 @@ sprintf-js@~1.0.2: resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -string-width@^4.0.0, string-width@^4.1.0: +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== + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -3212,7 +5318,28 @@ string.prototype.trimstart@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" -strip-ansi@^6.0.1: +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -3234,6 +5361,22 @@ strip-json-comments@~2.0.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +subscriptions-transport-ws@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz#baf88f050cba51d52afe781de5e81b3c31f89883" + integrity sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ== + dependencies: + backo2 "^1.0.2" + eventemitter3 "^3.1.0" + iterall "^1.2.1" + symbol-observable "^1.0.4" + ws "^5.2.0 || ^6.0.0 || ^7.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" @@ -3255,6 +5398,26 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" +swap-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-2.0.2.tgz#671aedb3c9c137e2985ef51c51f9e98445bf70d9" + integrity sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw== + dependencies: + tslib "^2.0.3" + +symbol-observable@^1.0.4, symbol-observable@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +sync-fetch@0.3.1, sync-fetch@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/sync-fetch/-/sync-fetch-0.3.1.tgz#62aa82c4b4d43afd6906bfd7b5f92056458509f0" + integrity sha512-xj5qiCDap/03kpci5a+qc5wSJjc8ZSixgG2EUmH1B8Ea2sfWclQA7eH40hiHPCtkCn6MCk4Wb+dqcXdCy2PP3g== + dependencies: + buffer "^5.7.0" + node-fetch "^2.6.1" + tapable@^2.1.1, tapable@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz" @@ -3286,6 +5449,30 @@ terser@^5.7.0: source-map "~0.7.2" source-map-support "~0.5.19" +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +title-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/title-case/-/title-case-3.0.3.tgz#bc689b46f02e411f1d1e1d081f7c3deca0489982" + integrity sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA== + dependencies: + tslib "^2.0.3" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + to-readable-stream@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" @@ -3332,12 +5519,29 @@ ts-loader@^9.2.5: micromatch "^4.0.0" semver "^7.3.4" -tslib@^1.9.3: +ts-log@^2.2.3: + version "2.2.4" + resolved "https://registry.yarnpkg.com/ts-log/-/ts-log-2.2.4.tgz#d672cf904b33735eaba67a7395c93d45fba475b3" + integrity sha512-DEQrfv6l7IvN2jlzc/VTdZJYsWUnQNCsueYjMkC/iXoEoi5fNan6MjeDqkvhfzbmHgdz9UxDUluX3V5HdjTydQ== + +ts-node@^9: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0, tslib@~2.3.0: +tslib@^2, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@~2.3.0: version "2.3.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== @@ -3347,6 +5551,11 @@ twitter-api-v2@^1.5.2: resolved "https://registry.npmjs.org/twitter-api-v2/-/twitter-api-v2-1.5.2.tgz" integrity sha512-kUrk9u19X4D3RFc4LH3N0bdqRq0fstM3xXerzhxRmPDjwBSyztBGWTU/McGQlGE+q7ADOpfmkvohV5Q4J3ENQw== +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + type-fest@^0.8.1: version "0.8.1" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" @@ -3372,6 +5581,11 @@ typescript@^4.3.5: resolved "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz" integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== +ua-parser-js@^0.7.30: + version "0.7.31" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" + integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" @@ -3392,6 +5606,11 @@ unbox-primitive@^1.0.1: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + undefsafe@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz" @@ -3399,6 +5618,11 @@ undefsafe@^2.0.3: dependencies: debug "^2.2.0" +undici@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.0.0.tgz#3c1e08c7f0df90c485d5d8dbb0517e11e34f2090" + integrity sha512-VhUpiZ3No1DOPPQVQnsDZyfcbTTcHdcgWej1PdFnSvOeJmOVDgiOHkunJmBLfmjt4CqgPQddPVjSWW0dsTs5Yg== + unique-string@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" @@ -3411,6 +5635,13 @@ universal-user-agent@^6.0.0: resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== +unixify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090" + integrity sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA= + dependencies: + normalize-path "^2.1.1" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" @@ -3435,6 +5666,20 @@ update-notifier@^4.1.0: semver-diff "^3.1.1" xdg-basedir "^4.0.0" +upper-case-first@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324" + integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== + dependencies: + tslib "^2.0.3" + +upper-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-2.0.2.tgz#d89810823faab1df1549b7d97a76f8662bae6f7a" + integrity sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== + dependencies: + tslib "^2.0.3" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" @@ -3449,6 +5694,11 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + utils-merge@1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" @@ -3464,6 +5714,11 @@ v8-compile-cache@^2.2.0: resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +valid-url@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" + integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA= + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" @@ -3477,6 +5732,11 @@ value-or-promise@1.0.10: resolved "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.10.tgz" integrity sha512-1OwTzvcfXkAfabk60UVr5NdjtjJ0Fg0T5+B1bhxtrOEwSH2fe8y4DnLgoksfCyd8yZCOQQHB0qLMQnwgCjbXLQ== +value-or-promise@1.0.11, value-or-promise@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140" + integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg== + vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" @@ -3490,6 +5750,23 @@ watchpack@^2.2.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +web-streams-polyfill@4.0.0-beta.1: + version "4.0.0-beta.1" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.1.tgz#3b19b9817374b7cee06d374ba7eeb3aeb80e8c95" + integrity sha512-3ux37gEX670UUphBF9AMCq8XM6iQ8Ac6A+DSRRjDoRBm1ufCkaCDdNVbaqq60PsEkdNlLKrGtv/YBP4EJXqNtQ== + +web-streams-polyfill@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz#a6b74026b38e4885869fb5c589e90b95ccfc7965" + integrity sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA== + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -3567,6 +5844,11 @@ webpack@^5.58.2: watchpack "^2.2.0" webpack-sources "^3.2.0" +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" @@ -3594,6 +5876,11 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + which@^1.2.9: version "1.3.1" resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" @@ -3620,6 +5907,32 @@ wildcard@^2.0.0: resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" @@ -3657,6 +5970,16 @@ write-file-webpack-plugin@^4.5.1: moment "^2.22.1" write-file-atomic "^2.3.0" +"ws@^5.2.0 || ^6.0.0 || ^7.0.0": + version "7.5.7" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" + integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== + +ws@^8.3.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" + integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== + xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" @@ -3670,11 +5993,79 @@ xss@^1.0.8: commander "^2.20.3" cssfilter "0.0.10" +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yaml-ast-parser@^0.0.43: + version "0.0.43" + resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb" + integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^21.0.0: + version "21.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.0.0: + version "17.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" + integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"