@prisma/compute-sdk 0.32.0 → 0.34.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.
@@ -7,9 +7,10 @@
7
7
  * project/branch resolution, prompts, flag precedence — stay with consumers.
8
8
  */
9
9
  export { ASTRO_CONFIG_FILENAMES, CONFIG_BACKED_BUILD_TYPES, type ConfigBackedBuildType, defaultHttpPortForBuildType, ENTRYPOINT_BUILD_TYPES, FRAMEWORK_KEYS, FRAMEWORKS, type FrameworkBuildType, type FrameworkDescriptor, frameworkByKey, frameworkFromAlias, isConfigBackedBuildType, LOCAL_DEV_BUILD_TYPES, NEXT_CONFIG_FILENAMES, NUXT_CONFIG_FILENAMES, } from "./frameworks.ts";
10
- export { COMPUTE_CONFIG_FILENAME, COMPUTE_CONFIG_FILENAMES, ComputeConfigAmbiguousError, type ComputeConfigError, ComputeConfigLoadError, findComputeConfigCandidates, findComputeConfigDir, loadComputeConfig, } from "./load.ts";
10
+ export { COMPUTE_CONFIG_JSON_SCHEMA, COMPUTE_CONFIG_JSON_SCHEMA_URL, } from "./json-schema.ts";
11
+ export { COMPUTE_CONFIG_FILENAME, COMPUTE_CONFIG_FILENAMES, COMPUTE_CONFIG_JSON_FILENAME, ComputeConfigAmbiguousError, type ComputeConfigError, ComputeConfigLoadError, findComputeConfigCandidates, findComputeConfigDir, loadComputeConfig, } from "./load.ts";
11
12
  export { ComputeConfigInvalidError, type ComputeConfigTargetError, ComputeConfigTargetRequiredError, ComputeConfigTargetUnknownError, type ComputeDeployTarget, type ComputeDeployTargetBuild, computeTargetAppDir, inferComputeTargetFromCwd, type LoadedComputeConfig, normalizeComputeConfig, selectComputeDeployTarget, } from "./normalize.ts";
12
- export { serializeComputeConfig } from "./serialize.ts";
13
+ export { serializeComputeConfig, serializeComputeConfigJson, } from "./serialize.ts";
13
14
  export { resolveSourceRoot, sourceRootLineage } from "./source-root.ts";
14
15
  export { COMPUTE_FRAMEWORKS, COMPUTE_REGIONS, type ComputeAppConfig, type ComputeBuildConfig, type ComputeConfig, type ComputeConfigDefaults, type ComputeEnvConfig, type ComputeFramework, type ComputeRegion, defineComputeConfig, } from "./types.ts";
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,KAAK,wBAAwB,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,KAAK,wBAAwB,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
@@ -7,9 +7,10 @@
7
7
  * project/branch resolution, prompts, flag precedence — stay with consumers.
8
8
  */
9
9
  export { ASTRO_CONFIG_FILENAMES, CONFIG_BACKED_BUILD_TYPES, defaultHttpPortForBuildType, ENTRYPOINT_BUILD_TYPES, FRAMEWORK_KEYS, FRAMEWORKS, frameworkByKey, frameworkFromAlias, isConfigBackedBuildType, LOCAL_DEV_BUILD_TYPES, NEXT_CONFIG_FILENAMES, NUXT_CONFIG_FILENAMES, } from "./frameworks.js";
10
- export { COMPUTE_CONFIG_FILENAME, COMPUTE_CONFIG_FILENAMES, ComputeConfigAmbiguousError, ComputeConfigLoadError, findComputeConfigCandidates, findComputeConfigDir, loadComputeConfig, } from "./load.js";
10
+ export { COMPUTE_CONFIG_JSON_SCHEMA, COMPUTE_CONFIG_JSON_SCHEMA_URL, } from "./json-schema.js";
11
+ export { COMPUTE_CONFIG_FILENAME, COMPUTE_CONFIG_FILENAMES, COMPUTE_CONFIG_JSON_FILENAME, ComputeConfigAmbiguousError, ComputeConfigLoadError, findComputeConfigCandidates, findComputeConfigDir, loadComputeConfig, } from "./load.js";
11
12
  export { ComputeConfigInvalidError, ComputeConfigTargetRequiredError, ComputeConfigTargetUnknownError, computeTargetAppDir, inferComputeTargetFromCwd, normalizeComputeConfig, selectComputeDeployTarget, } from "./normalize.js";
12
- export { serializeComputeConfig } from "./serialize.js";
13
+ export { serializeComputeConfig, serializeComputeConfigJson, } from "./serialize.js";
13
14
  export { resolveSourceRoot, sourceRootLineage } from "./source-root.js";
14
15
  export { COMPUTE_FRAMEWORKS, COMPUTE_REGIONS, defineComputeConfig, } from "./types.js";
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EAEzB,2BAA2B,EAC3B,sBAAsB,EACtB,cAAc,EACd,UAAU,EAGV,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAE3B,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EAEzB,gCAAgC,EAChC,+BAA+B,EAG/B,mBAAmB,EACnB,yBAAyB,EAEzB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,eAAe,EAQf,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EAEzB,2BAA2B,EAC3B,sBAAsB,EACtB,cAAc,EACd,UAAU,EAGV,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAE3B,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EAEzB,gCAAgC,EAChC,+BAA+B,EAG/B,mBAAmB,EACnB,yBAAyB,EAEzB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,eAAe,EAQf,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,229 @@
1
+ /**
2
+ * JSON Schema for `prisma.compute.json`, built from the same constants as the
3
+ * runtime validator so enums and key sets cannot drift.
4
+ *
5
+ * The schema exists for editor assistance ($schema autocomplete/validation)
6
+ * and static tooling. It encodes structure, enums, and ranges; cross-field
7
+ * rules (e.g. the custom framework requiring build output settings) stay in
8
+ * `normalizeComputeConfig`, which remains the authority for every format.
9
+ */
10
+ /**
11
+ * Intended publish location of the compute config JSON Schema. The URL does
12
+ * not resolve yet, so serializers omit `$schema` by default; once the schema
13
+ * is hosted here, pass this constant to `serializeComputeConfigJson` to emit
14
+ * it in generated configs.
15
+ */
16
+ export declare const COMPUTE_CONFIG_JSON_SCHEMA_URL = "https://schemas.prisma.io/compute.schema.json";
17
+ /**
18
+ * The compute config JSON Schema document (draft-07 for the broadest editor
19
+ * support). Publish this at `COMPUTE_CONFIG_JSON_SCHEMA_URL`.
20
+ */
21
+ export declare const COMPUTE_CONFIG_JSON_SCHEMA: {
22
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
23
+ readonly $id: "https://schemas.prisma.io/compute.schema.json";
24
+ readonly title: "Prisma Compute config";
25
+ readonly description: "Static serialization of the Prisma Compute config. Define app for a single-app repository or apps for a multi-app repository.";
26
+ readonly type: "object";
27
+ readonly additionalProperties: false;
28
+ readonly properties: {
29
+ readonly $schema: {
30
+ readonly type: "string";
31
+ };
32
+ readonly region: {
33
+ readonly description: "Default region used when creating new apps. Existing apps keep their current region.";
34
+ readonly enum: readonly ["us-east-1", "us-west-1", "eu-west-3", "eu-central-1", "ap-northeast-1", "ap-southeast-1"];
35
+ };
36
+ readonly app: {
37
+ readonly type: "object";
38
+ readonly additionalProperties: false;
39
+ readonly properties: {
40
+ readonly name: {
41
+ readonly description: "Deployed app name. Defaults to inference.";
42
+ readonly type: "string";
43
+ readonly minLength: 1;
44
+ };
45
+ readonly region: {
46
+ readonly description: "App region override. Defaults to the project region.";
47
+ readonly enum: readonly ["us-east-1", "us-west-1", "eu-west-3", "eu-central-1", "ap-northeast-1", "ap-southeast-1"];
48
+ };
49
+ readonly root: {
50
+ readonly description: "App directory relative to the config file. Defaults to the config file directory.";
51
+ readonly type: "string";
52
+ readonly minLength: 1;
53
+ };
54
+ readonly framework: {
55
+ readonly description: "Framework to deploy. Defaults to detection from the app directory.";
56
+ readonly enum: readonly ["nextjs", "nuxt", "astro", "hono", "nestjs", "tanstack-start", "custom", "bun"];
57
+ };
58
+ readonly entry: {
59
+ readonly description: "Entrypoint path for Bun (and Hono) deploys, relative to the app root.";
60
+ readonly type: "string";
61
+ readonly minLength: 1;
62
+ };
63
+ readonly httpPort: {
64
+ readonly description: "HTTP port the deployed app listens on. Defaults to the framework default.";
65
+ readonly type: "integer";
66
+ readonly minimum: 1;
67
+ readonly maximum: 65535;
68
+ };
69
+ readonly env: {
70
+ readonly description: "Environment variables for the deploy. A string is shorthand for a dotenv file path.";
71
+ readonly oneOf: readonly [{
72
+ readonly type: "string";
73
+ readonly minLength: 1;
74
+ }, {
75
+ readonly type: "object";
76
+ readonly additionalProperties: false;
77
+ readonly properties: {
78
+ readonly file: {
79
+ readonly description: "Dotenv file path(s) resolved relative to the config file directory.";
80
+ readonly oneOf: readonly [{
81
+ readonly type: "string";
82
+ readonly minLength: 1;
83
+ }, {
84
+ readonly type: "array";
85
+ readonly items: {
86
+ readonly type: "string";
87
+ readonly minLength: 1;
88
+ };
89
+ }];
90
+ };
91
+ readonly vars: {
92
+ readonly description: "Inline environment variable assignments. This file is committed — keep secrets in platform branch config.";
93
+ readonly type: "object";
94
+ readonly additionalProperties: {
95
+ readonly type: "string";
96
+ readonly minLength: 1;
97
+ };
98
+ };
99
+ };
100
+ }];
101
+ };
102
+ readonly build: {
103
+ readonly description: "Build settings. When present, these own the app's build configuration.";
104
+ readonly type: "object";
105
+ readonly additionalProperties: false;
106
+ readonly properties: {
107
+ readonly command: {
108
+ readonly description: "Build command run in the app root. null skips the build step.";
109
+ readonly type: readonly ["string", "null"];
110
+ };
111
+ readonly outputDirectory: {
112
+ readonly description: "Framework output path relative to the app root, e.g. \".next/standalone\".";
113
+ readonly type: "string";
114
+ readonly minLength: 1;
115
+ };
116
+ readonly entrypoint: {
117
+ readonly description: "Entrypoint for the built artifact, relative to outputDirectory when one is set.";
118
+ readonly type: "string";
119
+ readonly minLength: 1;
120
+ };
121
+ };
122
+ };
123
+ };
124
+ };
125
+ readonly apps: {
126
+ readonly description: "Apps keyed by deploy target name.";
127
+ readonly type: "object";
128
+ readonly minProperties: 1;
129
+ readonly additionalProperties: {
130
+ readonly type: "object";
131
+ readonly additionalProperties: false;
132
+ readonly properties: {
133
+ readonly name: {
134
+ readonly description: "Deployed app name. Defaults to inference.";
135
+ readonly type: "string";
136
+ readonly minLength: 1;
137
+ };
138
+ readonly region: {
139
+ readonly description: "App region override. Defaults to the project region.";
140
+ readonly enum: readonly ["us-east-1", "us-west-1", "eu-west-3", "eu-central-1", "ap-northeast-1", "ap-southeast-1"];
141
+ };
142
+ readonly root: {
143
+ readonly description: "App directory relative to the config file. Defaults to the config file directory.";
144
+ readonly type: "string";
145
+ readonly minLength: 1;
146
+ };
147
+ readonly framework: {
148
+ readonly description: "Framework to deploy. Defaults to detection from the app directory.";
149
+ readonly enum: readonly ["nextjs", "nuxt", "astro", "hono", "nestjs", "tanstack-start", "custom", "bun"];
150
+ };
151
+ readonly entry: {
152
+ readonly description: "Entrypoint path for Bun (and Hono) deploys, relative to the app root.";
153
+ readonly type: "string";
154
+ readonly minLength: 1;
155
+ };
156
+ readonly httpPort: {
157
+ readonly description: "HTTP port the deployed app listens on. Defaults to the framework default.";
158
+ readonly type: "integer";
159
+ readonly minimum: 1;
160
+ readonly maximum: 65535;
161
+ };
162
+ readonly env: {
163
+ readonly description: "Environment variables for the deploy. A string is shorthand for a dotenv file path.";
164
+ readonly oneOf: readonly [{
165
+ readonly type: "string";
166
+ readonly minLength: 1;
167
+ }, {
168
+ readonly type: "object";
169
+ readonly additionalProperties: false;
170
+ readonly properties: {
171
+ readonly file: {
172
+ readonly description: "Dotenv file path(s) resolved relative to the config file directory.";
173
+ readonly oneOf: readonly [{
174
+ readonly type: "string";
175
+ readonly minLength: 1;
176
+ }, {
177
+ readonly type: "array";
178
+ readonly items: {
179
+ readonly type: "string";
180
+ readonly minLength: 1;
181
+ };
182
+ }];
183
+ };
184
+ readonly vars: {
185
+ readonly description: "Inline environment variable assignments. This file is committed — keep secrets in platform branch config.";
186
+ readonly type: "object";
187
+ readonly additionalProperties: {
188
+ readonly type: "string";
189
+ readonly minLength: 1;
190
+ };
191
+ };
192
+ };
193
+ }];
194
+ };
195
+ readonly build: {
196
+ readonly description: "Build settings. When present, these own the app's build configuration.";
197
+ readonly type: "object";
198
+ readonly additionalProperties: false;
199
+ readonly properties: {
200
+ readonly command: {
201
+ readonly description: "Build command run in the app root. null skips the build step.";
202
+ readonly type: readonly ["string", "null"];
203
+ };
204
+ readonly outputDirectory: {
205
+ readonly description: "Framework output path relative to the app root, e.g. \".next/standalone\".";
206
+ readonly type: "string";
207
+ readonly minLength: 1;
208
+ };
209
+ readonly entrypoint: {
210
+ readonly description: "Entrypoint for the built artifact, relative to outputDirectory when one is set.";
211
+ readonly type: "string";
212
+ readonly minLength: 1;
213
+ };
214
+ };
215
+ };
216
+ };
217
+ };
218
+ readonly propertyNames: {
219
+ readonly minLength: 1;
220
+ };
221
+ };
222
+ };
223
+ readonly oneOf: readonly [{
224
+ readonly required: readonly ["app"];
225
+ }, {
226
+ readonly required: readonly ["apps"];
227
+ }];
228
+ };
229
+ //# sourceMappingURL=json-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/config/json-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,kDACM,CAAC;AAkGlD;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyB7B,CAAC"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * JSON Schema for `prisma.compute.json`, built from the same constants as the
3
+ * runtime validator so enums and key sets cannot drift.
4
+ *
5
+ * The schema exists for editor assistance ($schema autocomplete/validation)
6
+ * and static tooling. It encodes structure, enums, and ranges; cross-field
7
+ * rules (e.g. the custom framework requiring build output settings) stay in
8
+ * `normalizeComputeConfig`, which remains the authority for every format.
9
+ */
10
+ import { COMPUTE_FRAMEWORKS, COMPUTE_REGIONS } from "./types.js";
11
+ /**
12
+ * Intended publish location of the compute config JSON Schema. The URL does
13
+ * not resolve yet, so serializers omit `$schema` by default; once the schema
14
+ * is hosted here, pass this constant to `serializeComputeConfigJson` to emit
15
+ * it in generated configs.
16
+ */
17
+ export const COMPUTE_CONFIG_JSON_SCHEMA_URL = "https://schemas.prisma.io/compute.schema.json";
18
+ const ENV_SCHEMA = {
19
+ description: "Environment variables for the deploy. A string is shorthand for a dotenv file path.",
20
+ oneOf: [
21
+ { type: "string", minLength: 1 },
22
+ {
23
+ type: "object",
24
+ additionalProperties: false,
25
+ properties: {
26
+ file: {
27
+ description: "Dotenv file path(s) resolved relative to the config file directory.",
28
+ oneOf: [
29
+ { type: "string", minLength: 1 },
30
+ { type: "array", items: { type: "string", minLength: 1 } },
31
+ ],
32
+ },
33
+ vars: {
34
+ description: "Inline environment variable assignments. This file is committed — keep secrets in platform branch config.",
35
+ type: "object",
36
+ additionalProperties: { type: "string", minLength: 1 },
37
+ },
38
+ },
39
+ },
40
+ ],
41
+ };
42
+ const BUILD_SCHEMA = {
43
+ description: "Build settings. When present, these own the app's build configuration.",
44
+ type: "object",
45
+ additionalProperties: false,
46
+ properties: {
47
+ command: {
48
+ description: "Build command run in the app root. null skips the build step.",
49
+ type: ["string", "null"],
50
+ },
51
+ outputDirectory: {
52
+ description: 'Framework output path relative to the app root, e.g. ".next/standalone".',
53
+ type: "string",
54
+ minLength: 1,
55
+ },
56
+ entrypoint: {
57
+ description: "Entrypoint for the built artifact, relative to outputDirectory when one is set.",
58
+ type: "string",
59
+ minLength: 1,
60
+ },
61
+ },
62
+ };
63
+ const APP_SCHEMA = {
64
+ type: "object",
65
+ additionalProperties: false,
66
+ properties: {
67
+ name: {
68
+ description: "Deployed app name. Defaults to inference.",
69
+ type: "string",
70
+ minLength: 1,
71
+ },
72
+ region: {
73
+ description: "App region override. Defaults to the project region.",
74
+ enum: COMPUTE_REGIONS,
75
+ },
76
+ root: {
77
+ description: "App directory relative to the config file. Defaults to the config file directory.",
78
+ type: "string",
79
+ minLength: 1,
80
+ },
81
+ framework: {
82
+ description: "Framework to deploy. Defaults to detection from the app directory.",
83
+ enum: COMPUTE_FRAMEWORKS,
84
+ },
85
+ entry: {
86
+ description: "Entrypoint path for Bun (and Hono) deploys, relative to the app root.",
87
+ type: "string",
88
+ minLength: 1,
89
+ },
90
+ httpPort: {
91
+ description: "HTTP port the deployed app listens on. Defaults to the framework default.",
92
+ type: "integer",
93
+ minimum: 1,
94
+ maximum: 65535,
95
+ },
96
+ env: ENV_SCHEMA,
97
+ build: BUILD_SCHEMA,
98
+ },
99
+ };
100
+ /**
101
+ * The compute config JSON Schema document (draft-07 for the broadest editor
102
+ * support). Publish this at `COMPUTE_CONFIG_JSON_SCHEMA_URL`.
103
+ */
104
+ export const COMPUTE_CONFIG_JSON_SCHEMA = {
105
+ $schema: "http://json-schema.org/draft-07/schema#",
106
+ $id: COMPUTE_CONFIG_JSON_SCHEMA_URL,
107
+ title: "Prisma Compute config",
108
+ description: "Static serialization of the Prisma Compute config. Define app for a single-app repository or apps for a multi-app repository.",
109
+ type: "object",
110
+ additionalProperties: false,
111
+ properties: {
112
+ $schema: { type: "string" },
113
+ region: {
114
+ description: "Default region used when creating new apps. Existing apps keep their current region.",
115
+ enum: COMPUTE_REGIONS,
116
+ },
117
+ app: APP_SCHEMA,
118
+ apps: {
119
+ description: "Apps keyed by deploy target name.",
120
+ type: "object",
121
+ minProperties: 1,
122
+ additionalProperties: APP_SCHEMA,
123
+ propertyNames: { minLength: 1 },
124
+ },
125
+ },
126
+ oneOf: [{ required: ["app"] }, { required: ["apps"] }],
127
+ };
128
+ //# sourceMappingURL=json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../../src/config/json-schema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { Result } from "better-result";
2
2
  import { type ComputeConfigInvalidError, type LoadedComputeConfig } from "./normalize.ts";
3
3
  export declare const COMPUTE_CONFIG_FILENAME = "prisma.compute.ts";
4
- export declare const COMPUTE_CONFIG_FILENAMES: readonly ["prisma.compute.ts", "prisma.compute.mts", "prisma.compute.js", "prisma.compute.mjs", "prisma.compute.cjs"];
4
+ export declare const COMPUTE_CONFIG_JSON_FILENAME = "prisma.compute.json";
5
+ export declare const COMPUTE_CONFIG_FILENAMES: readonly ["prisma.compute.ts", "prisma.compute.mts", "prisma.compute.js", "prisma.compute.mjs", "prisma.compute.cjs", "prisma.compute.json"];
5
6
  declare const ComputeConfigAmbiguousError_base: import("better-result").TaggedErrorClass<"ComputeConfigAmbiguousError", {
6
7
  message: string;
7
8
  configPaths: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAe,MAAM,eAAe,CAAC;AAGpD,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAC;AAGxB,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAI3D,eAAO,MAAM,wBAAwB,uHAM3B,CAAC;;aASA,MAAM;iBACF,MAAM,EAAE;;AAJvB,qBAAa,2BAA4B,SAAQ,gCAK7C;gBACU,WAAW,EAAE,MAAM,EAAE;CAMlC;;aAKU,MAAM;WACR,OAAO;gBACF,MAAM;;AALpB,qBAAa,sBAAuB,SAAQ,2BAMxC;gBACU,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAO/C;AAED,MAAM,MAAM,kBAAkB,GAC1B,2BAA2B,GAC3B,sBAAsB,GACtB,yBAAyB,CAAC;AAE9B;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GACA,OAAO,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAwBjE"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAe,MAAM,eAAe,CAAC;AAGpD,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAC;AAGxB,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAKlE,eAAO,MAAM,wBAAwB,8IAO3B,CAAC;;aASA,MAAM;iBACF,MAAM,EAAE;;AAJvB,qBAAa,2BAA4B,SAAQ,gCAK7C;gBACU,WAAW,EAAE,MAAM,EAAE;CAMlC;;aAKU,MAAM;WACR,OAAO;gBACF,MAAM;;AALpB,qBAAa,sBAAuB,SAAQ,2BAMxC;gBACU,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAO/C;AAED,MAAM,MAAM,kBAAkB,GAC1B,2BAA2B,GAC3B,sBAAsB,GACtB,yBAAyB,CAAC;AAE9B;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GACA,OAAO,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,EAAE,kBAAkB,CAAC,CAAC,CA2BjE"}
@@ -1,5 +1,5 @@
1
1
  import { existsSync } from "node:fs";
2
- import { access } from "node:fs/promises";
2
+ import { access, readFile } from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { Result, TaggedError } from "better-result";
@@ -7,14 +7,17 @@ import { createJiti } from "jiti";
7
7
  import { normalizeComputeConfig, } from "./normalize.js";
8
8
  import { sourceRootLineage } from "./source-root.js";
9
9
  export const COMPUTE_CONFIG_FILENAME = "prisma.compute.ts";
10
- // Highest priority first. TypeScript is the canonical format; the rest exist
11
- // so plain JavaScript projects are not forced into TypeScript.
10
+ export const COMPUTE_CONFIG_JSON_FILENAME = "prisma.compute.json";
11
+ // One config schema, two serializations: TypeScript (and its JS variants) for
12
+ // programmatic configs, JSON for static dependency-free configs that any tool
13
+ // can read and write without executing code. Exactly one file may exist.
12
14
  export const COMPUTE_CONFIG_FILENAMES = [
13
15
  "prisma.compute.ts",
14
16
  "prisma.compute.mts",
15
17
  "prisma.compute.js",
16
18
  "prisma.compute.mjs",
17
19
  "prisma.compute.cjs",
20
+ "prisma.compute.json",
18
21
  ];
19
22
  // Config files import the typed helper through this specifier; it aliases
20
23
  // to this module so configs load without a local install.
@@ -89,7 +92,9 @@ export async function loadComputeConfig(cwd, options) {
89
92
  }
90
93
  const configPath = candidates[0];
91
94
  signal?.throwIfAborted();
92
- const imported = await importComputeConfigModule(configPath, options?.configModuleAlias);
95
+ const imported = path.extname(configPath) === ".json"
96
+ ? await readComputeConfigJson(configPath)
97
+ : await importComputeConfigModule(configPath, options?.configModuleAlias);
93
98
  if (imported.isErr()) {
94
99
  return Result.err(imported.error);
95
100
  }
@@ -97,6 +102,23 @@ export async function loadComputeConfig(cwd, options) {
97
102
  }
98
103
  return Result.ok(null);
99
104
  }
105
+ async function readComputeConfigJson(configPath) {
106
+ return Result.tryPromise({
107
+ try: async () => {
108
+ const parsed = JSON.parse(await readFile(configPath, "utf8"));
109
+ // "$schema" is editor tooling metadata, not config; drop it before
110
+ // validation so JSON and TS configs share one schema exactly.
111
+ if (parsed !== null &&
112
+ typeof parsed === "object" &&
113
+ !Array.isArray(parsed)) {
114
+ const { $schema: _schema, ...config } = parsed;
115
+ return config;
116
+ }
117
+ return parsed;
118
+ },
119
+ catch: (cause) => new ComputeConfigLoadError(configPath, cause),
120
+ });
121
+ }
100
122
  async function importComputeConfigModule(configPath, configModuleAlias) {
101
123
  return Result.tryPromise({
102
124
  try: async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,10 @@ export declare class ComputeConfigTargetUnknownError extends ComputeConfigTarget
62
62
  constructor(configPath: string, requestedTarget: string, availableTargets: string[]);
63
63
  }
64
64
  export type ComputeConfigTargetError = ComputeConfigTargetRequiredError | ComputeConfigTargetUnknownError;
65
+ export declare const KNOWN_APP_KEYS: readonly ["name", "region", "root", "framework", "entry", "httpPort", "env", "build"];
66
+ export declare const KNOWN_TOP_LEVEL_KEYS: readonly ["app", "apps", "region"];
67
+ export declare const KNOWN_ENV_KEYS: readonly ["file", "vars"];
68
+ export declare const KNOWN_BUILD_KEYS: readonly ["command", "outputDirectory", "entrypoint"];
65
69
  /**
66
70
  * Validates and normalizes a config module's default export. Reports every
67
71
  * issue at once so authors fix the file in one pass.
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/config/normalize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAe,MAAM,eAAe,CAAC;AAGpD,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,wBAAwB;IACvC,iFAAiF;IACjF,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,sFAAsF;IACtF,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gFAAgF;IAChF,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,8FAA8F;IAC9F,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,oGAAoG;IACpG,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,wFAAwF;IACxF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,0EAA0E;IAC1E,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;;aAKU,MAAM;gBACH,MAAM;YACV,MAAM,EAAE;;AALlB,qBAAa,yBAA0B,SAAQ,8BAM3C;gBACU,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;CAOjD;;aAKU,MAAM;gBACH,MAAM;sBACA,MAAM,EAAE;;AAL5B,qBAAa,gCAAiC,SAAQ,qCAMlD;gBACU,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE;CAO3D;;aAKU,MAAM;gBACH,MAAM;qBACD,MAAM;sBACL,MAAM,EAAE;;AAN5B,qBAAa,+BAAgC,SAAQ,oCAOjD;gBAEA,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,EAAE;CAS7B;AAED,MAAM,MAAM,wBAAwB,GAChC,gCAAgC,GAChC,+BAA+B,CAAC;AAgBpC;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAsFxD;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,GAC1B,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CA6CvD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CA4BpB"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/config/normalize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAe,MAAM,eAAe,CAAC;AAGpD,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,wBAAwB;IACvC,iFAAiF;IACjF,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,sFAAsF;IACtF,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gFAAgF;IAChF,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,8FAA8F;IAC9F,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,oGAAoG;IACpG,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,wFAAwF;IACxF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,0EAA0E;IAC1E,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;;aAKU,MAAM;gBACH,MAAM;YACV,MAAM,EAAE;;AALlB,qBAAa,yBAA0B,SAAQ,8BAM3C;gBACU,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;CAOjD;;aAKU,MAAM;gBACH,MAAM;sBACA,MAAM,EAAE;;AAL5B,qBAAa,gCAAiC,SAAQ,qCAMlD;gBACU,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE;CAO3D;;aAKU,MAAM;gBACH,MAAM;qBACD,MAAM;sBACL,MAAM,EAAE;;AAN5B,qBAAa,+BAAgC,SAAQ,oCAOjD;gBAEA,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,EAAE;CAS7B;AAED,MAAM,MAAM,wBAAwB,GAChC,gCAAgC,GAChC,+BAA+B,CAAC;AAGpC,eAAO,MAAM,cAAc,uFASjB,CAAC;AACX,eAAO,MAAM,oBAAoB,oCAAqC,CAAC;AACvE,eAAO,MAAM,cAAc,2BAA4B,CAAC;AACxD,eAAO,MAAM,gBAAgB,uDAInB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAsFxD;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,GAC1B,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CA6CvD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CA4BpB"}
@@ -30,7 +30,8 @@ export class ComputeConfigTargetUnknownError extends TaggedError("ComputeConfigT
30
30
  });
31
31
  }
32
32
  }
33
- const KNOWN_APP_KEYS = [
33
+ // Exported so the JSON Schema (and its tests) provably cover the same keys.
34
+ export const KNOWN_APP_KEYS = [
34
35
  "name",
35
36
  "region",
36
37
  "root",
@@ -40,9 +41,13 @@ const KNOWN_APP_KEYS = [
40
41
  "env",
41
42
  "build",
42
43
  ];
43
- const KNOWN_TOP_LEVEL_KEYS = ["app", "apps", "region"];
44
- const KNOWN_ENV_KEYS = ["file", "vars"];
45
- const KNOWN_BUILD_KEYS = ["command", "outputDirectory", "entrypoint"];
44
+ export const KNOWN_TOP_LEVEL_KEYS = ["app", "apps", "region"];
45
+ export const KNOWN_ENV_KEYS = ["file", "vars"];
46
+ export const KNOWN_BUILD_KEYS = [
47
+ "command",
48
+ "outputDirectory",
49
+ "entrypoint",
50
+ ];
46
51
  /**
47
52
  * Validates and normalizes a config module's default export. Reports every
48
53
  * issue at once so authors fix the file in one pass.
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/config/normalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/config/normalize.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,19 @@ export declare function serializeComputeConfig(config: ComputeConfig, options?:
8
8
  /** Import specifier for the typed helper. Defaults to this SDK. */
9
9
  importFrom?: string;
10
10
  }): string;
11
+ /**
12
+ * Renders a `prisma.compute.json` source file for a config — the same
13
+ * serialization as `serializeComputeConfig` in the dependency-free static
14
+ * format. Output round-trips through `normalizeComputeConfig` and is stable
15
+ * for committing to a repository.
16
+ */
17
+ export declare function serializeComputeConfigJson(config: ComputeConfig, options?: {
18
+ /**
19
+ * `$schema` URL emitted for editor validation. Omitted by default:
20
+ * generated configs must not point editors at a URL that does not
21
+ * resolve, so pass `COMPUTE_CONFIG_JSON_SCHEMA_URL` explicitly once the
22
+ * schema is actually published there.
23
+ */
24
+ schemaUrl?: string | null;
25
+ }): string;
11
26
  //# sourceMappingURL=serialize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/config/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,YAAY,CAAC;AAQlE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE;IACR,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,MAAM,CAUR"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/config/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,YAAY,CAAC;AAQlE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE;IACR,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE;IACR;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GACA,MAAM,CAQR"}
@@ -13,6 +13,20 @@ export function serializeComputeConfig(config, options) {
13
13
  "",
14
14
  ].join("\n");
15
15
  }
16
+ /**
17
+ * Renders a `prisma.compute.json` source file for a config — the same
18
+ * serialization as `serializeComputeConfig` in the dependency-free static
19
+ * format. Output round-trips through `normalizeComputeConfig` and is stable
20
+ * for committing to a repository.
21
+ */
22
+ export function serializeComputeConfigJson(config, options) {
23
+ const schemaUrl = options?.schemaUrl ?? null;
24
+ const serializable = {
25
+ ...(schemaUrl === null ? {} : { $schema: schemaUrl }),
26
+ ...serializableComputeConfig(config),
27
+ };
28
+ return `${JSON.stringify(serializable, null, 2)}\n`;
29
+ }
16
30
  function serializableComputeConfig(config) {
17
31
  const serializable = {};
18
32
  if (config.region !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/config/serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/config/serialize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AAEH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;CAChE;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA0BrC;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,UAAU,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAS5B;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC/D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC/D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChB;AA6DD,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,8EAA8E;AAC9E,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAcjC;AAED,wEAAwE;AACxE,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,eAAe,GAAG,IAAI,GAC/B,MAAM,GAAG,IAAI,CAOf"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AAEH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;CAChE;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA0BrC;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,UAAU,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAmB5B;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC/D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC/D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChB;AA6DD,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,8EAA8E;AAC9E,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAcjC;AAED,wEAAwE;AACxE,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,eAAe,GAAG,IAAI,GAC/B,MAAM,GAAG,IAAI,CAOf"}
package/dist/workspace.js CHANGED
@@ -41,9 +41,17 @@ export async function resolvePackageManager(appPath, signal) {
41
41
  */
42
42
  export async function buildCommandEnv(appPath, baseEnv, signal) {
43
43
  const binDirs = (await sourceRootLineage(appPath, signal)).map((directory) => path.join(directory, "node_modules", ".bin"));
44
+ // `baseEnv` is a plain object, so Windows' case-insensitive env semantics
45
+ // don't apply: the variable is typically cased `Path` there, and writing a
46
+ // literal `PATH` key would shadow it with a bin-dirs-only value in the child
47
+ // process (leaving `bun`, `npm`, etc. unresolvable). Extend the existing key
48
+ // whatever its casing.
49
+ const pathKey = Object.keys(baseEnv).find((key) => key.toUpperCase() === "PATH") ?? "PATH";
44
50
  return {
45
51
  ...baseEnv,
46
- PATH: [...binDirs, baseEnv.PATH].filter(Boolean).join(path.delimiter),
52
+ [pathKey]: [...binDirs, baseEnv[pathKey]]
53
+ .filter(Boolean)
54
+ .join(path.delimiter),
47
55
  };
48
56
  }
49
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/compute-sdk",
3
- "version": "0.32.0",
3
+ "version": "0.34.0",
4
4
  "description": "TypeScript SDK for deploying and managing applications on Prisma Compute",
5
5
  "license": "Apache-2.0",
6
6
  "repository": "prisma/project-compute",
@@ -24,9 +24,14 @@ export {
24
24
  NEXT_CONFIG_FILENAMES,
25
25
  NUXT_CONFIG_FILENAMES,
26
26
  } from "./frameworks.ts";
27
+ export {
28
+ COMPUTE_CONFIG_JSON_SCHEMA,
29
+ COMPUTE_CONFIG_JSON_SCHEMA_URL,
30
+ } from "./json-schema.ts";
27
31
  export {
28
32
  COMPUTE_CONFIG_FILENAME,
29
33
  COMPUTE_CONFIG_FILENAMES,
34
+ COMPUTE_CONFIG_JSON_FILENAME,
30
35
  ComputeConfigAmbiguousError,
31
36
  type ComputeConfigError,
32
37
  ComputeConfigLoadError,
@@ -47,7 +52,10 @@ export {
47
52
  normalizeComputeConfig,
48
53
  selectComputeDeployTarget,
49
54
  } from "./normalize.ts";
50
- export { serializeComputeConfig } from "./serialize.ts";
55
+ export {
56
+ serializeComputeConfig,
57
+ serializeComputeConfigJson,
58
+ } from "./serialize.ts";
51
59
  export { resolveSourceRoot, sourceRootLineage } from "./source-root.ts";
52
60
  export {
53
61
  COMPUTE_FRAMEWORKS,
@@ -0,0 +1,147 @@
1
+ /**
2
+ * JSON Schema for `prisma.compute.json`, built from the same constants as the
3
+ * runtime validator so enums and key sets cannot drift.
4
+ *
5
+ * The schema exists for editor assistance ($schema autocomplete/validation)
6
+ * and static tooling. It encodes structure, enums, and ranges; cross-field
7
+ * rules (e.g. the custom framework requiring build output settings) stay in
8
+ * `normalizeComputeConfig`, which remains the authority for every format.
9
+ */
10
+
11
+ import { COMPUTE_FRAMEWORKS, COMPUTE_REGIONS } from "./types.ts";
12
+
13
+ /**
14
+ * Intended publish location of the compute config JSON Schema. The URL does
15
+ * not resolve yet, so serializers omit `$schema` by default; once the schema
16
+ * is hosted here, pass this constant to `serializeComputeConfigJson` to emit
17
+ * it in generated configs.
18
+ */
19
+ export const COMPUTE_CONFIG_JSON_SCHEMA_URL =
20
+ "https://schemas.prisma.io/compute.schema.json";
21
+
22
+ const ENV_SCHEMA = {
23
+ description:
24
+ "Environment variables for the deploy. A string is shorthand for a dotenv file path.",
25
+ oneOf: [
26
+ { type: "string", minLength: 1 },
27
+ {
28
+ type: "object",
29
+ additionalProperties: false,
30
+ properties: {
31
+ file: {
32
+ description:
33
+ "Dotenv file path(s) resolved relative to the config file directory.",
34
+ oneOf: [
35
+ { type: "string", minLength: 1 },
36
+ { type: "array", items: { type: "string", minLength: 1 } },
37
+ ],
38
+ },
39
+ vars: {
40
+ description:
41
+ "Inline environment variable assignments. This file is committed — keep secrets in platform branch config.",
42
+ type: "object",
43
+ additionalProperties: { type: "string", minLength: 1 },
44
+ },
45
+ },
46
+ },
47
+ ],
48
+ } as const;
49
+
50
+ const BUILD_SCHEMA = {
51
+ description:
52
+ "Build settings. When present, these own the app's build configuration.",
53
+ type: "object",
54
+ additionalProperties: false,
55
+ properties: {
56
+ command: {
57
+ description:
58
+ "Build command run in the app root. null skips the build step.",
59
+ type: ["string", "null"],
60
+ },
61
+ outputDirectory: {
62
+ description:
63
+ 'Framework output path relative to the app root, e.g. ".next/standalone".',
64
+ type: "string",
65
+ minLength: 1,
66
+ },
67
+ entrypoint: {
68
+ description:
69
+ "Entrypoint for the built artifact, relative to outputDirectory when one is set.",
70
+ type: "string",
71
+ minLength: 1,
72
+ },
73
+ },
74
+ } as const;
75
+
76
+ const APP_SCHEMA = {
77
+ type: "object",
78
+ additionalProperties: false,
79
+ properties: {
80
+ name: {
81
+ description: "Deployed app name. Defaults to inference.",
82
+ type: "string",
83
+ minLength: 1,
84
+ },
85
+ region: {
86
+ description: "App region override. Defaults to the project region.",
87
+ enum: COMPUTE_REGIONS,
88
+ },
89
+ root: {
90
+ description:
91
+ "App directory relative to the config file. Defaults to the config file directory.",
92
+ type: "string",
93
+ minLength: 1,
94
+ },
95
+ framework: {
96
+ description:
97
+ "Framework to deploy. Defaults to detection from the app directory.",
98
+ enum: COMPUTE_FRAMEWORKS,
99
+ },
100
+ entry: {
101
+ description:
102
+ "Entrypoint path for Bun (and Hono) deploys, relative to the app root.",
103
+ type: "string",
104
+ minLength: 1,
105
+ },
106
+ httpPort: {
107
+ description:
108
+ "HTTP port the deployed app listens on. Defaults to the framework default.",
109
+ type: "integer",
110
+ minimum: 1,
111
+ maximum: 65535,
112
+ },
113
+ env: ENV_SCHEMA,
114
+ build: BUILD_SCHEMA,
115
+ },
116
+ } as const;
117
+
118
+ /**
119
+ * The compute config JSON Schema document (draft-07 for the broadest editor
120
+ * support). Publish this at `COMPUTE_CONFIG_JSON_SCHEMA_URL`.
121
+ */
122
+ export const COMPUTE_CONFIG_JSON_SCHEMA = {
123
+ $schema: "http://json-schema.org/draft-07/schema#",
124
+ $id: COMPUTE_CONFIG_JSON_SCHEMA_URL,
125
+ title: "Prisma Compute config",
126
+ description:
127
+ "Static serialization of the Prisma Compute config. Define app for a single-app repository or apps for a multi-app repository.",
128
+ type: "object",
129
+ additionalProperties: false,
130
+ properties: {
131
+ $schema: { type: "string" },
132
+ region: {
133
+ description:
134
+ "Default region used when creating new apps. Existing apps keep their current region.",
135
+ enum: COMPUTE_REGIONS,
136
+ },
137
+ app: APP_SCHEMA,
138
+ apps: {
139
+ description: "Apps keyed by deploy target name.",
140
+ type: "object",
141
+ minProperties: 1,
142
+ additionalProperties: APP_SCHEMA,
143
+ propertyNames: { minLength: 1 },
144
+ },
145
+ },
146
+ oneOf: [{ required: ["app"] }, { required: ["apps"] }],
147
+ } as const;
@@ -1,5 +1,5 @@
1
1
  import { existsSync } from "node:fs";
2
- import { access } from "node:fs/promises";
2
+ import { access, readFile } from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
 
@@ -14,15 +14,18 @@ import {
14
14
  import { sourceRootLineage } from "./source-root.ts";
15
15
 
16
16
  export const COMPUTE_CONFIG_FILENAME = "prisma.compute.ts";
17
+ export const COMPUTE_CONFIG_JSON_FILENAME = "prisma.compute.json";
17
18
 
18
- // Highest priority first. TypeScript is the canonical format; the rest exist
19
- // so plain JavaScript projects are not forced into TypeScript.
19
+ // One config schema, two serializations: TypeScript (and its JS variants) for
20
+ // programmatic configs, JSON for static dependency-free configs that any tool
21
+ // can read and write without executing code. Exactly one file may exist.
20
22
  export const COMPUTE_CONFIG_FILENAMES = [
21
23
  "prisma.compute.ts",
22
24
  "prisma.compute.mts",
23
25
  "prisma.compute.js",
24
26
  "prisma.compute.mjs",
25
27
  "prisma.compute.cjs",
28
+ "prisma.compute.json",
26
29
  ] as const;
27
30
 
28
31
  // Config files import the typed helper through this specifier; it aliases
@@ -137,10 +140,13 @@ export async function loadComputeConfig(
137
140
 
138
141
  const configPath = candidates[0] as string;
139
142
  signal?.throwIfAborted();
140
- const imported = await importComputeConfigModule(
141
- configPath,
142
- options?.configModuleAlias,
143
- );
143
+ const imported =
144
+ path.extname(configPath) === ".json"
145
+ ? await readComputeConfigJson(configPath)
146
+ : await importComputeConfigModule(
147
+ configPath,
148
+ options?.configModuleAlias,
149
+ );
144
150
  if (imported.isErr()) {
145
151
  return Result.err(imported.error);
146
152
  }
@@ -150,6 +156,31 @@ export async function loadComputeConfig(
150
156
  return Result.ok(null);
151
157
  }
152
158
 
159
+ async function readComputeConfigJson(
160
+ configPath: string,
161
+ ): Promise<Result<unknown, ComputeConfigLoadError>> {
162
+ return Result.tryPromise({
163
+ try: async () => {
164
+ const parsed: unknown = JSON.parse(await readFile(configPath, "utf8"));
165
+ // "$schema" is editor tooling metadata, not config; drop it before
166
+ // validation so JSON and TS configs share one schema exactly.
167
+ if (
168
+ parsed !== null &&
169
+ typeof parsed === "object" &&
170
+ !Array.isArray(parsed)
171
+ ) {
172
+ const { $schema: _schema, ...config } = parsed as Record<
173
+ string,
174
+ unknown
175
+ >;
176
+ return config;
177
+ }
178
+ return parsed;
179
+ },
180
+ catch: (cause) => new ComputeConfigLoadError(configPath, cause),
181
+ });
182
+ }
183
+
153
184
  async function importComputeConfigModule(
154
185
  configPath: string,
155
186
  configModuleAlias: string | undefined,
@@ -107,7 +107,8 @@ export type ComputeConfigTargetError =
107
107
  | ComputeConfigTargetRequiredError
108
108
  | ComputeConfigTargetUnknownError;
109
109
 
110
- const KNOWN_APP_KEYS = [
110
+ // Exported so the JSON Schema (and its tests) provably cover the same keys.
111
+ export const KNOWN_APP_KEYS = [
111
112
  "name",
112
113
  "region",
113
114
  "root",
@@ -117,9 +118,13 @@ const KNOWN_APP_KEYS = [
117
118
  "env",
118
119
  "build",
119
120
  ] as const;
120
- const KNOWN_TOP_LEVEL_KEYS = ["app", "apps", "region"] as const;
121
- const KNOWN_ENV_KEYS = ["file", "vars"] as const;
122
- const KNOWN_BUILD_KEYS = ["command", "outputDirectory", "entrypoint"] as const;
121
+ export const KNOWN_TOP_LEVEL_KEYS = ["app", "apps", "region"] as const;
122
+ export const KNOWN_ENV_KEYS = ["file", "vars"] as const;
123
+ export const KNOWN_BUILD_KEYS = [
124
+ "command",
125
+ "outputDirectory",
126
+ "entrypoint",
127
+ ] as const;
123
128
 
124
129
  /**
125
130
  * Validates and normalizes a config module's default export. Reports every
@@ -29,6 +29,33 @@ export function serializeComputeConfig(
29
29
  ].join("\n");
30
30
  }
31
31
 
32
+ /**
33
+ * Renders a `prisma.compute.json` source file for a config — the same
34
+ * serialization as `serializeComputeConfig` in the dependency-free static
35
+ * format. Output round-trips through `normalizeComputeConfig` and is stable
36
+ * for committing to a repository.
37
+ */
38
+ export function serializeComputeConfigJson(
39
+ config: ComputeConfig,
40
+ options?: {
41
+ /**
42
+ * `$schema` URL emitted for editor validation. Omitted by default:
43
+ * generated configs must not point editors at a URL that does not
44
+ * resolve, so pass `COMPUTE_CONFIG_JSON_SCHEMA_URL` explicitly once the
45
+ * schema is actually published there.
46
+ */
47
+ schemaUrl?: string | null;
48
+ },
49
+ ): string {
50
+ const schemaUrl = options?.schemaUrl ?? null;
51
+ const serializable = {
52
+ ...(schemaUrl === null ? {} : { $schema: schemaUrl }),
53
+ ...serializableComputeConfig(config),
54
+ };
55
+
56
+ return `${JSON.stringify(serializable, null, 2)}\n`;
57
+ }
58
+
32
59
  function serializableComputeConfig(
33
60
  config: ComputeConfig,
34
61
  ): SerializableComputeConfig {
package/src/workspace.ts CHANGED
@@ -81,9 +81,19 @@ export async function buildCommandEnv(
81
81
  path.join(directory, "node_modules", ".bin"),
82
82
  );
83
83
 
84
+ // `baseEnv` is a plain object, so Windows' case-insensitive env semantics
85
+ // don't apply: the variable is typically cased `Path` there, and writing a
86
+ // literal `PATH` key would shadow it with a bin-dirs-only value in the child
87
+ // process (leaving `bun`, `npm`, etc. unresolvable). Extend the existing key
88
+ // whatever its casing.
89
+ const pathKey =
90
+ Object.keys(baseEnv).find((key) => key.toUpperCase() === "PATH") ?? "PATH";
91
+
84
92
  return {
85
93
  ...baseEnv,
86
- PATH: [...binDirs, baseEnv.PATH].filter(Boolean).join(path.delimiter),
94
+ [pathKey]: [...binDirs, baseEnv[pathKey]]
95
+ .filter(Boolean)
96
+ .join(path.delimiter),
87
97
  };
88
98
  }
89
99