gitextract_3l4bavka/ ├── .dependabot/ │ └── config.yml ├── .github/ │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE.md │ └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .nvmrc ├── .vscode/ │ └── settings.json ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── SECURITY.md ├── docs/ │ └── security/ │ ├── 2020-xss-template-injection.md │ └── 2021-schema-xss-phishing-attack.md ├── lerna.json ├── package.json ├── packages/ │ ├── graphql-playground-electron/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ ├── createWindow.ts │ │ │ │ ├── index.ts │ │ │ │ ├── menu.ts │ │ │ │ ├── notify.ts │ │ │ │ ├── types.ts │ │ │ │ └── updates.ts │ │ │ ├── renderer/ │ │ │ │ ├── components/ │ │ │ │ │ ├── App.tsx │ │ │ │ │ ├── InitialView/ │ │ │ │ │ │ ├── InitialView.tsx │ │ │ │ │ │ ├── Toggle.tsx │ │ │ │ │ │ └── data.ts │ │ │ │ │ ├── Loading.tsx │ │ │ │ │ └── Root.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.html │ │ │ │ ├── index.tsx │ │ │ │ ├── redux/ │ │ │ │ │ ├── actions/ │ │ │ │ │ │ └── history.ts │ │ │ │ │ ├── createStore.ts │ │ │ │ │ └── reducers/ │ │ │ │ │ ├── history.ts │ │ │ │ │ └── index.ts │ │ │ │ └── utils/ │ │ │ │ └── errify.ts │ │ │ └── shared/ │ │ │ └── utils.ts │ │ ├── static/ │ │ │ └── icons/ │ │ │ └── icon.icns │ │ ├── tsconfig.json │ │ ├── tslint.json │ │ ├── typings/ │ │ │ ├── custom.d.ts │ │ │ └── styled-jsx.d.ts │ │ ├── webpack.config.build.js │ │ └── webpack.config.js │ ├── graphql-playground-html/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── examples/ │ │ │ └── xss-attack/ │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── minimal.html │ │ ├── minimalWithoutCDN.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── get-loading-markup.ts │ │ │ ├── index.ts │ │ │ └── render-playground-page.ts │ │ ├── tsconfig.json │ │ └── withAnimation.html │ ├── graphql-playground-middleware-express/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── examples/ │ │ │ ├── basic/ │ │ │ │ ├── .envrc │ │ │ │ ├── .graphqlconfig.yml │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── graphcool/ │ │ │ ├── .envrc │ │ │ ├── .graphqlconfig.yml │ │ │ ├── README.md │ │ │ ├── datamodel.graphql │ │ │ ├── graphcool.yml │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ ├── prisma.yml │ │ │ └── schema.graphql │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── graphql-playground-middleware-hapi/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── examples/ │ │ │ └── basic/ │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── graphql-playground-middleware-koa/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── examples/ │ │ │ └── basic/ │ │ │ ├── .graphqlconfig.yml │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── graphql-playground-middleware-lambda/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── examples/ │ │ │ └── basic/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── handler.js │ │ │ ├── package.json │ │ │ └── serverless.yml │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ └── tsconfig.json │ └── graphql-playground-react/ │ ├── .babelrc │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── config/ │ │ ├── env.js │ │ ├── jest/ │ │ │ ├── cssTransform.js │ │ │ ├── fileTransform.js │ │ │ └── typescriptTransform.js │ │ ├── paths.js │ │ ├── polyfills.js │ │ ├── webpack.config.dev.js │ │ ├── webpack.config.prod.js │ │ └── webpackDevServer.config.js │ ├── jest.config.js │ ├── package.json │ ├── public/ │ │ ├── _headers │ │ ├── _redirects │ │ ├── affiliates.graphql │ │ ├── auth.graphql │ │ ├── blogging.graphql │ │ ├── chat.graphql │ │ ├── conferences.graphql │ │ ├── empty.graphql │ │ ├── freecom.graphql │ │ ├── hn-relay-full.graphql │ │ ├── hn-relay.graphql │ │ ├── hn-starter.graphql │ │ ├── hn.graphql │ │ ├── index.html │ │ ├── insta-auth0.graphql │ │ ├── insta-email.graphql │ │ ├── insta-expo-auth.graphql │ │ ├── insta-files.graphql │ │ ├── instagram-full.graphql │ │ ├── instagram.graphql │ │ ├── movies-import.graphql │ │ ├── pokedex.graphql │ │ ├── simple-pokedex.graphql │ │ ├── todo.graphql │ │ ├── twitter.graphql │ │ ├── welcome-rp.graphql │ │ ├── welcome.graphql │ │ └── worldchat.graphql │ ├── release.sh │ ├── scripts/ │ │ ├── build.js │ │ ├── start.js │ │ └── test.js │ ├── src/ │ │ ├── __snapshots__/ │ │ │ └── index.test.tsx.snap │ │ ├── components/ │ │ │ ├── Button.tsx │ │ │ ├── Copy.tsx │ │ │ ├── EndpointPopup.tsx │ │ │ ├── FileEditor.tsx │ │ │ ├── GraphQLBinApp.tsx │ │ │ ├── HistoryPopup/ │ │ │ │ ├── HistoryChooser.tsx │ │ │ │ ├── HistoryHeader.tsx │ │ │ │ └── HistoryItems.tsx │ │ │ ├── HistoryPopup.tsx │ │ │ ├── Icons/ │ │ │ │ └── index.tsx │ │ │ ├── MiddlewareApp.tsx │ │ │ ├── Modal.tsx │ │ │ ├── Playground/ │ │ │ │ ├── ConfigEditor.tsx │ │ │ │ ├── DocExplorer/ │ │ │ │ │ ├── Argument.tsx │ │ │ │ │ ├── ArgumentInline.tsx │ │ │ │ │ ├── ColumnDoc.tsx │ │ │ │ │ ├── DocTypeSchema.tsx │ │ │ │ │ ├── DocsStyles.tsx │ │ │ │ │ ├── DocsTypes/ │ │ │ │ │ │ ├── DocType.tsx │ │ │ │ │ │ ├── EnumTypeSchema.tsx │ │ │ │ │ │ ├── ScalarType.tsx │ │ │ │ │ │ └── UnionTypeSchema.tsx │ │ │ │ │ ├── ErrorContainer.tsx │ │ │ │ │ ├── FieldDoc.tsx │ │ │ │ │ ├── GraphDocs.tsx │ │ │ │ │ ├── GraphDocsRoot.tsx │ │ │ │ │ ├── RootColumn.tsx │ │ │ │ │ ├── SchemaDoc.tsx │ │ │ │ │ ├── SearchBox.tsx │ │ │ │ │ ├── SearchResults.tsx │ │ │ │ │ └── TypeLink.tsx │ │ │ │ ├── EditorWrapper.tsx │ │ │ │ ├── ExecuteButton.tsx │ │ │ │ ├── ExecuteButtonOperation.tsx │ │ │ │ ├── ExplorerTabs/ │ │ │ │ │ ├── SideTab.tsx │ │ │ │ │ └── SideTabs.tsx │ │ │ │ ├── GraphQLEditor.tsx │ │ │ │ ├── QueryEditor.tsx │ │ │ │ ├── ResponseTracing.tsx │ │ │ │ ├── ResultViewer.tsx │ │ │ │ ├── Results.tsx │ │ │ │ ├── SchemaExplorer/ │ │ │ │ │ ├── SDLEditor.tsx │ │ │ │ │ ├── SDLHeader.tsx │ │ │ │ │ ├── SDLTypes/ │ │ │ │ │ │ ├── SDLDocType.tsx │ │ │ │ │ │ ├── SDLFieldDoc.tsx │ │ │ │ │ │ ├── SDLStyles.tsx │ │ │ │ │ │ ├── SDLType.tsx │ │ │ │ │ │ └── SDLUnionType.tsx │ │ │ │ │ └── SDLView.tsx │ │ │ │ ├── SchemaFetcher.ts │ │ │ │ ├── Tab.tsx │ │ │ │ ├── TabBar.tsx │ │ │ │ ├── TopBar/ │ │ │ │ │ ├── Polling.tsx │ │ │ │ │ ├── PollingIcon.tsx │ │ │ │ │ ├── Positioner.tsx │ │ │ │ │ ├── Reload.tsx │ │ │ │ │ ├── ReloadIcon.tsx │ │ │ │ │ ├── SchemaReload.tsx │ │ │ │ │ └── TopBar.tsx │ │ │ │ ├── TracingRow.tsx │ │ │ │ ├── VariableEditor.tsx │ │ │ │ ├── onHasCompletion.tsx │ │ │ │ └── util/ │ │ │ │ ├── InvalidSchemaError.ts │ │ │ │ ├── NoSchemaError.ts │ │ │ │ ├── ageOfDate.ts │ │ │ │ ├── createSDL.ts │ │ │ │ ├── fibonacci-backoff.ts │ │ │ │ ├── getQueryFacts.ts │ │ │ │ ├── getQueryTypes.ts │ │ │ │ ├── getSelectedOperationName.ts │ │ │ │ ├── getWorkspaceId.ts │ │ │ │ ├── hasSubscription.ts │ │ │ │ ├── immutableMemoize.ts │ │ │ │ ├── makeOperation.ts │ │ │ │ ├── parseHeaders.ts │ │ │ │ ├── session.ts │ │ │ │ ├── shallowEqual.ts │ │ │ │ ├── shouldUpdate.ts │ │ │ │ ├── stack.ts │ │ │ │ ├── toJS.tsx │ │ │ │ └── whatChanged.ts │ │ │ ├── Playground.tsx │ │ │ ├── PlaygroundWrapper.tsx │ │ │ ├── Popup.tsx │ │ │ ├── ProjectsSideNav.tsx │ │ │ ├── ProjectsSideNavItem.tsx │ │ │ ├── Root.tsx │ │ │ ├── Settings.tsx │ │ │ ├── SettingsEditor.tsx │ │ │ ├── Share.tsx │ │ │ ├── Spinner.tsx │ │ │ ├── Toggle.tsx │ │ │ ├── ToggleButton.tsx │ │ │ ├── Tooltip.tsx │ │ │ ├── asyncComponent.tsx │ │ │ ├── resolveRefStrings.ts │ │ │ └── util.ts │ │ ├── constants.ts │ │ ├── fixtures/ │ │ │ ├── exampleSchema.ts │ │ │ └── sdl.ts │ │ ├── graphqlConfig.ts │ │ ├── index.css │ │ ├── index.test.tsx │ │ ├── index.tsx │ │ ├── lib.tsx │ │ ├── localDevIndex.tsx │ │ ├── middlewareIndex.tsx │ │ ├── setupEnzyme.ts │ │ ├── state/ │ │ │ ├── appHistory/ │ │ │ │ ├── actions.ts │ │ │ │ └── reducers.ts │ │ │ ├── createStore.ts │ │ │ ├── docs/ │ │ │ │ ├── actions.ts │ │ │ │ ├── reducers.ts │ │ │ │ └── selectors.ts │ │ │ ├── general/ │ │ │ │ ├── actions.ts │ │ │ │ ├── reducers.ts │ │ │ │ └── selectors.ts │ │ │ ├── history/ │ │ │ │ ├── actions.ts │ │ │ │ ├── reducers.ts │ │ │ │ └── selectors.ts │ │ │ ├── localStorage.ts │ │ │ ├── rootSaga.ts │ │ │ ├── sessions/ │ │ │ │ ├── WebSocketLink.ts │ │ │ │ ├── actions.ts │ │ │ │ ├── fetchingSagas.ts │ │ │ │ ├── reducers.ts │ │ │ │ ├── sagas.ts │ │ │ │ └── selectors.ts │ │ │ ├── sharing/ │ │ │ │ ├── actions.ts │ │ │ │ ├── reducers.ts │ │ │ │ ├── selectors.ts │ │ │ │ └── sharingSaga.ts │ │ │ └── workspace/ │ │ │ ├── actions.ts │ │ │ ├── deserialize.ts │ │ │ └── reducers.ts │ │ ├── styled/ │ │ │ ├── index.ts │ │ │ ├── styled.ts │ │ │ └── theme.ts │ │ ├── types.ts │ │ ├── utils/ │ │ │ └── performance.ts │ │ └── utils.ts │ ├── tests/ │ │ └── schema.faker.graphql │ ├── tsconfig.build.json │ ├── tsconfig.jest.json │ ├── tsconfig.json │ ├── tslint.json │ └── typings/ │ ├── custom.d.ts │ └── styled-jsx.d.ts ├── renovate.json └── scripts/ ├── build.sh ├── release-html.sh ├── release-react.sh └── versions.sh