@constructive-io/graphql-env 3.34.6 → 3.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/env.js +4 -2
- package/esm/env.js +4 -2
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -107,6 +107,9 @@ PostgreSQL extensions or change the API's exposed schemas.
|
|
|
107
107
|
Each cache limit must be a safe integer of at least `2`. When omitted, Grafast's
|
|
108
108
|
upstream default for that cache remains in effect.
|
|
109
109
|
|
|
110
|
+
### Grafast Explain
|
|
111
|
+
- `GRAPHILE_EXPLAIN` - Allow clients to request Grafast plan/SQL output via the `x-graphql-explain` header (off unless set)
|
|
112
|
+
|
|
110
113
|
### Feature Flags
|
|
111
114
|
- `FEATURES_SIMPLE_INFLECTION` - Enable simple inflection plugin
|
|
112
115
|
- `FEATURES_OPPOSITE_BASE_NAMES` - Enable opposite base names
|
|
@@ -121,6 +124,7 @@ upstream default for that cache remains in effect.
|
|
|
121
124
|
- `API_ROLE_NAME` - Default role name
|
|
122
125
|
- `API_FLUSH_TOKEN` - Bearer token required by `POST /flush`; the route is not mounted when unset
|
|
123
126
|
- `API_INTROSPECTION_ROLE` - Role PostGraphile introspects as; unset means the pool's connecting role
|
|
127
|
+
- `API_CONTROL_ROLE` - Role every control-plane query runs as (`SET LOCAL ROLE` in its own transaction); required by the server, no default
|
|
124
128
|
|
|
125
129
|
## Defaults
|
|
126
130
|
|
package/env.js
CHANGED
|
@@ -9,7 +9,7 @@ const scoped_introspection_1 = require("./scoped-introspection");
|
|
|
9
9
|
*/
|
|
10
10
|
const getGraphQLEnvVars = (env = process.env) => {
|
|
11
11
|
const scopedIntrospection = (0, scoped_introspection_1.getScopedIntrospectionEnv)(env);
|
|
12
|
-
const { GRAPHILE_SCHEMA, GRAPHILE_QUERY_CACHE_MAX_LENGTH, GRAPHILE_OPERATIONS_CACHE_MAX_LENGTH, GRAPHILE_OPERATION_PLANS_CACHE_MAX_LENGTH, FEATURES_SIMPLE_INFLECTION, FEATURES_OPPOSITE_BASE_NAMES, FEATURES_POSTGIS, API_ROUTING_SCHEMA, API_IS_PUBLIC, API_EXPOSED_SCHEMAS, API_META_SCHEMAS, API_ANON_ROLE, API_ROLE_NAME, API_FLUSH_TOKEN, API_INTROSPECTION_ROLE, EMBEDDER_PROVIDER, EMBEDDER_MODEL, EMBEDDER_BASE_URL, CHAT_PROVIDER, CHAT_MODEL, CHAT_BASE_URL, SMS_PROVIDER, SMS_SENDER_ID, SMS_REQUEST_TIMEOUT_MS, SEND_SMS_DRY_RUN, DEVSMS_BASE_URL } = env;
|
|
12
|
+
const { GRAPHILE_SCHEMA, GRAPHILE_EXPLAIN, GRAPHILE_QUERY_CACHE_MAX_LENGTH, GRAPHILE_OPERATIONS_CACHE_MAX_LENGTH, GRAPHILE_OPERATION_PLANS_CACHE_MAX_LENGTH, FEATURES_SIMPLE_INFLECTION, FEATURES_OPPOSITE_BASE_NAMES, FEATURES_POSTGIS, API_ROUTING_SCHEMA, API_IS_PUBLIC, API_EXPOSED_SCHEMAS, API_META_SCHEMAS, API_ANON_ROLE, API_ROLE_NAME, API_FLUSH_TOKEN, API_INTROSPECTION_ROLE, API_CONTROL_ROLE, EMBEDDER_PROVIDER, EMBEDDER_MODEL, EMBEDDER_BASE_URL, CHAT_PROVIDER, CHAT_MODEL, CHAT_BASE_URL, SMS_PROVIDER, SMS_SENDER_ID, SMS_REQUEST_TIMEOUT_MS, SEND_SMS_DRY_RUN, DEVSMS_BASE_URL } = env;
|
|
13
13
|
// Keep this function as a partial env-override parser. SMS runtime defaults
|
|
14
14
|
// belong to the consuming application; injecting them here would incorrectly
|
|
15
15
|
// let an absent env var overwrite pgpm.json or consumer-specific values.
|
|
@@ -41,6 +41,7 @@ const getGraphQLEnvVars = (env = process.env) => {
|
|
|
41
41
|
operationOperationPlansCacheMaxLength: (0, grafast_cache_limits_1.parseGrafastCacheLimitEnv)(GRAPHILE_OPERATION_PLANS_CACHE_MAX_LENGTH, 'GRAPHILE_OPERATION_PLANS_CACHE_MAX_LENGTH')
|
|
42
42
|
})
|
|
43
43
|
}),
|
|
44
|
+
...(GRAPHILE_EXPLAIN && { explain: (0, _12factor_env_1.parseEnvBoolean)(GRAPHILE_EXPLAIN) }),
|
|
44
45
|
...(GRAPHILE_SCHEMA && {
|
|
45
46
|
schema: GRAPHILE_SCHEMA.includes(',')
|
|
46
47
|
? GRAPHILE_SCHEMA.split(',').map(s => s.trim())
|
|
@@ -60,7 +61,8 @@ const getGraphQLEnvVars = (env = process.env) => {
|
|
|
60
61
|
...(API_ANON_ROLE && { anonRole: API_ANON_ROLE }),
|
|
61
62
|
...(API_ROLE_NAME && { roleName: API_ROLE_NAME }),
|
|
62
63
|
...(API_FLUSH_TOKEN && { flushToken: API_FLUSH_TOKEN }),
|
|
63
|
-
...(API_INTROSPECTION_ROLE && { introspectionRole: API_INTROSPECTION_ROLE })
|
|
64
|
+
...(API_INTROSPECTION_ROLE && { introspectionRole: API_INTROSPECTION_ROLE }),
|
|
65
|
+
...(API_CONTROL_ROLE && { controlRole: API_CONTROL_ROLE })
|
|
64
66
|
},
|
|
65
67
|
...((EMBEDDER_PROVIDER || CHAT_PROVIDER) && {
|
|
66
68
|
llm: {
|
package/esm/env.js
CHANGED
|
@@ -6,7 +6,7 @@ import { getScopedIntrospectionEnv } from './scoped-introspection';
|
|
|
6
6
|
*/
|
|
7
7
|
export const getGraphQLEnvVars = (env = process.env) => {
|
|
8
8
|
const scopedIntrospection = getScopedIntrospectionEnv(env);
|
|
9
|
-
const { GRAPHILE_SCHEMA, GRAPHILE_QUERY_CACHE_MAX_LENGTH, GRAPHILE_OPERATIONS_CACHE_MAX_LENGTH, GRAPHILE_OPERATION_PLANS_CACHE_MAX_LENGTH, FEATURES_SIMPLE_INFLECTION, FEATURES_OPPOSITE_BASE_NAMES, FEATURES_POSTGIS, API_ROUTING_SCHEMA, API_IS_PUBLIC, API_EXPOSED_SCHEMAS, API_META_SCHEMAS, API_ANON_ROLE, API_ROLE_NAME, API_FLUSH_TOKEN, API_INTROSPECTION_ROLE, EMBEDDER_PROVIDER, EMBEDDER_MODEL, EMBEDDER_BASE_URL, CHAT_PROVIDER, CHAT_MODEL, CHAT_BASE_URL, SMS_PROVIDER, SMS_SENDER_ID, SMS_REQUEST_TIMEOUT_MS, SEND_SMS_DRY_RUN, DEVSMS_BASE_URL } = env;
|
|
9
|
+
const { GRAPHILE_SCHEMA, GRAPHILE_EXPLAIN, GRAPHILE_QUERY_CACHE_MAX_LENGTH, GRAPHILE_OPERATIONS_CACHE_MAX_LENGTH, GRAPHILE_OPERATION_PLANS_CACHE_MAX_LENGTH, FEATURES_SIMPLE_INFLECTION, FEATURES_OPPOSITE_BASE_NAMES, FEATURES_POSTGIS, API_ROUTING_SCHEMA, API_IS_PUBLIC, API_EXPOSED_SCHEMAS, API_META_SCHEMAS, API_ANON_ROLE, API_ROLE_NAME, API_FLUSH_TOKEN, API_INTROSPECTION_ROLE, API_CONTROL_ROLE, EMBEDDER_PROVIDER, EMBEDDER_MODEL, EMBEDDER_BASE_URL, CHAT_PROVIDER, CHAT_MODEL, CHAT_BASE_URL, SMS_PROVIDER, SMS_SENDER_ID, SMS_REQUEST_TIMEOUT_MS, SEND_SMS_DRY_RUN, DEVSMS_BASE_URL } = env;
|
|
10
10
|
// Keep this function as a partial env-override parser. SMS runtime defaults
|
|
11
11
|
// belong to the consuming application; injecting them here would incorrectly
|
|
12
12
|
// let an absent env var overwrite pgpm.json or consumer-specific values.
|
|
@@ -38,6 +38,7 @@ export const getGraphQLEnvVars = (env = process.env) => {
|
|
|
38
38
|
operationOperationPlansCacheMaxLength: parseGrafastCacheLimitEnv(GRAPHILE_OPERATION_PLANS_CACHE_MAX_LENGTH, 'GRAPHILE_OPERATION_PLANS_CACHE_MAX_LENGTH')
|
|
39
39
|
})
|
|
40
40
|
}),
|
|
41
|
+
...(GRAPHILE_EXPLAIN && { explain: parseEnvBoolean(GRAPHILE_EXPLAIN) }),
|
|
41
42
|
...(GRAPHILE_SCHEMA && {
|
|
42
43
|
schema: GRAPHILE_SCHEMA.includes(',')
|
|
43
44
|
? GRAPHILE_SCHEMA.split(',').map(s => s.trim())
|
|
@@ -57,7 +58,8 @@ export const getGraphQLEnvVars = (env = process.env) => {
|
|
|
57
58
|
...(API_ANON_ROLE && { anonRole: API_ANON_ROLE }),
|
|
58
59
|
...(API_ROLE_NAME && { roleName: API_ROLE_NAME }),
|
|
59
60
|
...(API_FLUSH_TOKEN && { flushToken: API_FLUSH_TOKEN }),
|
|
60
|
-
...(API_INTROSPECTION_ROLE && { introspectionRole: API_INTROSPECTION_ROLE })
|
|
61
|
+
...(API_INTROSPECTION_ROLE && { introspectionRole: API_INTROSPECTION_ROLE }),
|
|
62
|
+
...(API_CONTROL_ROLE && { controlRole: API_CONTROL_ROLE })
|
|
61
63
|
},
|
|
62
64
|
...((EMBEDDER_PROVIDER || CHAT_PROVIDER) && {
|
|
63
65
|
llm: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@constructive-io/graphql-env",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.36.0",
|
|
4
4
|
"author": "Constructive <developers@constructive.io>",
|
|
5
5
|
"description": "Constructive environment configuration with GraphQL/Graphile support",
|
|
6
6
|
"main": "index.js",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"12factor-env": "^1.33.0",
|
|
33
|
-
"@constructive-io/graphql-types": "^3.
|
|
34
|
-
"@pgpmjs/env": "^2.
|
|
33
|
+
"@constructive-io/graphql-types": "^3.35.0",
|
|
34
|
+
"@pgpmjs/env": "^2.47.0",
|
|
35
35
|
"deepmerge": "^4.3.1"
|
|
36
36
|
},
|
|
37
37
|
"keywords": [
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"makage": "^0.8.0"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "2f506a4a4062b4bd92979c02249e0fee14af4043"
|
|
49
49
|
}
|