1- import * as path from 'path'
2- import * as fs from 'fs'
3- import {
4- // getUsedEnvs,
5- getGraphQLConfig ,
6- findGraphQLConfigFile ,
7- resolveEnvsInValues ,
8- } from 'graphql-config'
9- import { patchEndpointsToConfigData } from 'graphql-config-extension-graphcool'
10- import { patchEndpointsToConfigData as patchPrismaEndpointsToConfigData } from 'graphql-config-extension-prisma'
11- import * as dotenv from 'dotenv'
12-
131import getLoadingMarkup from './get-loading-markup'
2+ import { GraphQLConfigData } from 'graphql-config/lib/types'
143
154export interface MiddlewareOptions {
165 endpoint ?: string
176 subscriptionsEndpoint ?: string
187 htmlTitle ?: string
198 workspaceName ?: string
209 env ?: any
21- useGraphQLConfig ?: boolean
10+ config ?: GraphQLConfigData
2211}
2312
2413export interface RenderPageOptions extends MiddlewareOptions {
@@ -28,33 +17,20 @@ export interface RenderPageOptions extends MiddlewareOptions {
2817
2918const loading = getLoadingMarkup ( )
3019
31- dotenv . config ( )
32-
33- export async function renderPlaygroundPage ( options : RenderPageOptions ) {
34- const env = options . env || { }
35-
20+ export function renderPlaygroundPage ( options : RenderPageOptions ) {
3621 const extendedOptions : any = {
3722 ...options ,
3823 canSaveConfig : false ,
3924 }
4025 if ( options . htmlTitle ) {
4126 extendedOptions . title = options . htmlTitle
4227 }
43- if ( options . useGraphQLConfig ) {
44- let config = getGraphQLConfig ( ) . config
45- config = resolveEnvsInValues ( config , env )
46- config = await patchEndpointsToConfigData ( config , process . cwd ( ) , env )
47- config = await patchPrismaEndpointsToConfigData ( config , process . cwd ( ) , env )
48- const configPath = findGraphQLConfigFile ( process . cwd ( ) )
49- const configString = fs . readFileSync ( configPath , 'utf-8' )
50- const folderName = path . basename ( process . cwd ( ) )
51- extendedOptions . folderName = options . workspaceName || folderName
52- extendedOptions . config = config
53- extendedOptions . configString = configString
54- }
5528 if ( options . subscriptionsEndpoint ) {
5629 extendedOptions . subscriptionEndpoint = options . subscriptionsEndpoint
5730 }
31+ if ( options . config ) {
32+ extendedOptions . configString = JSON . stringify ( options . config , null , 2 )
33+ }
5834 if ( ! extendedOptions . endpoint && ! extendedOptions . configString ) {
5935 /* tslint:disable-next-line */
6036 console . warn (
0 commit comments