@@ -3,12 +3,37 @@ import { pgpmDefaults, PgpmOptions, PgTestConnectionOptions, DeploymentOptions }
33import { loadConfigSync } from './config' ;
44import { getEnvVars , EnvOptions } from './env' ;
55
6+ /**
7+ * Default values for GraphQL/Graphile-related options.
8+ * These are kept separate from pgpmDefaults to avoid coupling @pgpmjs/types to GraphQL dependencies.
9+ * Note: These are plain objects with no graphile imports - just default values.
10+ */
11+ const envGraphqlDefaults : Partial < EnvOptions > = {
12+ graphile : {
13+ schema : [ ] ,
14+ } ,
15+ features : {
16+ simpleInflection : true ,
17+ oppositeBaseNames : true ,
18+ postgis : true
19+ } ,
20+ api : {
21+ enableMetaApi : true ,
22+ exposedSchemas : [ ] ,
23+ anonRole : 'administrator' ,
24+ roleName : 'administrator' ,
25+ defaultDatabaseId : 'hard-coded' ,
26+ isPublic : true ,
27+ metaSchemas : [ 'collections_public' , 'meta_public' ]
28+ }
29+ } ;
30+
631export const getEnvOptions = ( overrides : EnvOptions = { } , cwd : string = process . cwd ( ) ) : EnvOptions => {
7- const defaults = pgpmDefaults ;
832 const configOptions = loadConfigSync ( cwd ) ;
933 const envOptions = getEnvVars ( ) ;
1034
11- return deepmerge . all ( [ defaults , configOptions , envOptions , overrides ] ) ;
35+ // Merge in order: pgpmDefaults (core) -> envGraphqlDefaults (graphql) -> config -> env -> overrides
36+ return deepmerge . all ( [ pgpmDefaults , envGraphqlDefaults , configOptions , envOptions , overrides ] ) ;
1237} ;
1338
1439export const getConnEnvOptions = ( overrides : Partial < PgTestConnectionOptions > = { } , cwd : string = process . cwd ( ) ) : PgTestConnectionOptions => {
0 commit comments