@gigadrive/network-config 4.5.0 → 4.6.1
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/dist/define-config.d.mts +304 -0
- package/dist/define-config.d.ts +304 -0
- package/dist/define-config.js +31 -0
- package/dist/define-config.js.map +1 -0
- package/dist/define-config.mjs +6 -0
- package/dist/define-config.mjs.map +1 -0
- package/dist/index.d.mts +644 -316
- package/dist/index.d.ts +644 -316
- package/dist/index.js +330 -98
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +319 -94
- package/dist/index.mjs.map +1 -1
- package/dist/nextjs-adapter.js +52 -27
- package/dist/nextjs-adapter.js.map +1 -1
- package/dist/nextjs-adapter.mjs +52 -27
- package/dist/nextjs-adapter.mjs.map +1 -1
- package/package.json +11 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Schema, Effect, Layer } from 'effect';
|
|
2
|
-
import { FileSystem, Path } from '@effect/platform';
|
|
3
|
-
import * as _effect_platform_Path from '@effect/platform/Path';
|
|
4
2
|
import * as _effect_platform_FileSystem from '@effect/platform/FileSystem';
|
|
3
|
+
import * as _effect_platform_Path from '@effect/platform/Path';
|
|
4
|
+
import * as effect_Layer from 'effect/Layer';
|
|
5
|
+
import { Path, FileSystem } from '@effect/platform';
|
|
5
6
|
|
|
6
7
|
declare const StaticAssetHeadersSchema: Schema.filter<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Union<[Schema.filter<typeof Schema.String>, Schema.mutable<Schema.Array$<Schema.filter<typeof Schema.String>>>]>>>>;
|
|
7
8
|
type StaticAssetHeaders = Schema.Schema.Type<typeof StaticAssetHeadersSchema>;
|
|
@@ -73,10 +74,23 @@ interface NormalizedImagePolicy {
|
|
|
73
74
|
type JsonValue = null | boolean | number | string | JsonValue[] | {
|
|
74
75
|
[key: string]: JsonValue;
|
|
75
76
|
};
|
|
76
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Portable Next.js prerender metadata.
|
|
79
|
+
*
|
|
80
|
+
* A fallback file is a mutable incremental-cache build seed, not a permanently
|
|
81
|
+
* authoritative static asset. Consumers must evaluate bypass, preview,
|
|
82
|
+
* revalidation, and PPR metadata before using it, and may only short-circuit
|
|
83
|
+
* ordinary GET and HEAD requests.
|
|
84
|
+
*/
|
|
85
|
+
declare const GigadriveNextPrerenderOutputSchema: Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
86
|
+
routeType: Schema.Literal<["route", "fallback", "shell", "page"]>;
|
|
87
|
+
response: Schema.Literal<["empty", "initial", "complete"]>;
|
|
88
|
+
compute: Schema.Literal<["blocking", "resuming", "static"]>;
|
|
89
|
+
htmlSize: Schema.optional<typeof Schema.Number>;
|
|
77
90
|
id: typeof Schema.String;
|
|
78
91
|
type: Schema.Literal<["PRERENDER"]>;
|
|
79
92
|
pathname: Schema.filter<typeof Schema.String>;
|
|
93
|
+
route: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
80
94
|
parentOutputId: typeof Schema.String;
|
|
81
95
|
groupId: typeof Schema.Number;
|
|
82
96
|
pprChain: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
@@ -99,7 +113,38 @@ declare const GigadriveNextPrerenderOutputSchema: Schema.mutable<Schema.Struct<{
|
|
|
99
113
|
partialFallback: Schema.optional<typeof Schema.Boolean>;
|
|
100
114
|
bypassToken: Schema.optional<typeof Schema.String>;
|
|
101
115
|
}>>;
|
|
102
|
-
}
|
|
116
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
117
|
+
routeType: Schema.optional<typeof Schema.Never>;
|
|
118
|
+
response: Schema.optional<typeof Schema.Never>;
|
|
119
|
+
compute: Schema.optional<typeof Schema.Never>;
|
|
120
|
+
htmlSize: Schema.optional<typeof Schema.Never>;
|
|
121
|
+
id: typeof Schema.String;
|
|
122
|
+
type: Schema.Literal<["PRERENDER"]>;
|
|
123
|
+
pathname: Schema.filter<typeof Schema.String>;
|
|
124
|
+
route: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
125
|
+
parentOutputId: typeof Schema.String;
|
|
126
|
+
groupId: typeof Schema.Number;
|
|
127
|
+
pprChain: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
128
|
+
headers: Schema.filter<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.filter<typeof Schema.String>>>>;
|
|
129
|
+
}>>>;
|
|
130
|
+
parentFallbackMode: Schema.optional<Schema.Schema<JsonValue, JsonValue, never>>;
|
|
131
|
+
fallback: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
132
|
+
filePath: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
133
|
+
initialStatus: Schema.optional<Schema.filter<typeof Schema.Int>>;
|
|
134
|
+
initialHeaders: Schema.optional<Schema.filter<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Union<[Schema.filter<typeof Schema.String>, Schema.mutable<Schema.Array$<Schema.filter<typeof Schema.String>>>]>>>>>;
|
|
135
|
+
initialExpiration: Schema.optional<typeof Schema.Number>;
|
|
136
|
+
initialRevalidate: Schema.optional<Schema.Union<[typeof Schema.Number, Schema.Literal<[false]>]>>;
|
|
137
|
+
postponedState: Schema.optional<typeof Schema.String>;
|
|
138
|
+
}>>>;
|
|
139
|
+
config: Schema.mutable<Schema.Struct<{
|
|
140
|
+
allowQuery: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
|
|
141
|
+
allowHeader: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
|
|
142
|
+
bypassFor: Schema.optional<Schema.mutable<Schema.Array$<Schema.Schema<JsonValue, JsonValue, never>>>>;
|
|
143
|
+
renderingMode: Schema.optional<typeof Schema.String>;
|
|
144
|
+
partialFallback: Schema.optional<typeof Schema.Boolean>;
|
|
145
|
+
bypassToken: Schema.optional<typeof Schema.String>;
|
|
146
|
+
}>>;
|
|
147
|
+
}>>]>;
|
|
103
148
|
type GigadriveNextPrerenderOutput = Schema.Schema.Type<typeof GigadriveNextPrerenderOutputSchema>;
|
|
104
149
|
/** A directory subtree published under one URL prefix. */
|
|
105
150
|
declare const GigadriveNextStaticAssetPrefixSchema: Schema.mutable<Schema.Struct<{
|
|
@@ -108,6 +153,72 @@ declare const GigadriveNextStaticAssetPrefixSchema: Schema.mutable<Schema.Struct
|
|
|
108
153
|
immutable: typeof Schema.Boolean;
|
|
109
154
|
}>>;
|
|
110
155
|
type GigadriveNextStaticAssetPrefix = Schema.Schema.Type<typeof GigadriveNextStaticAssetPrefixSchema>;
|
|
156
|
+
/** Portable request condition used by a Next.js middleware/Proxy matcher. */
|
|
157
|
+
declare const GigadriveNextRouteConditionSchema: Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
158
|
+
type: Schema.Literal<["header", "cookie", "query"]>;
|
|
159
|
+
key: typeof Schema.String;
|
|
160
|
+
value: Schema.optional<typeof Schema.String>;
|
|
161
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
162
|
+
type: Schema.Literal<["host"]>;
|
|
163
|
+
value: typeof Schema.String;
|
|
164
|
+
}>>]>;
|
|
165
|
+
type GigadriveNextRouteCondition = Schema.Schema.Type<typeof GigadriveNextRouteConditionSchema>;
|
|
166
|
+
/** Validated public matcher metadata for a Next.js middleware or Proxy entrypoint. */
|
|
167
|
+
declare const GigadriveNextMiddlewareMatcherSchema: Schema.mutable<Schema.Struct<{
|
|
168
|
+
source: typeof Schema.String;
|
|
169
|
+
sourceRegex: typeof Schema.String;
|
|
170
|
+
has: Schema.optional<Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
171
|
+
type: Schema.Literal<["header", "cookie", "query"]>;
|
|
172
|
+
key: typeof Schema.String;
|
|
173
|
+
value: Schema.optional<typeof Schema.String>;
|
|
174
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
175
|
+
type: Schema.Literal<["host"]>;
|
|
176
|
+
value: typeof Schema.String;
|
|
177
|
+
}>>]>>>>;
|
|
178
|
+
missing: Schema.optional<Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
179
|
+
type: Schema.Literal<["header", "cookie", "query"]>;
|
|
180
|
+
key: typeof Schema.String;
|
|
181
|
+
value: Schema.optional<typeof Schema.String>;
|
|
182
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
183
|
+
type: Schema.Literal<["host"]>;
|
|
184
|
+
value: typeof Schema.String;
|
|
185
|
+
}>>]>>>>;
|
|
186
|
+
}>>;
|
|
187
|
+
type GigadriveNextMiddlewareMatcher = Schema.Schema.Type<typeof GigadriveNextMiddlewareMatcherSchema>;
|
|
188
|
+
/**
|
|
189
|
+
* Portable middleware/Proxy discovery result.
|
|
190
|
+
*
|
|
191
|
+
* The object is emitted for every new standalone build. Its optional position
|
|
192
|
+
* in the containing manifest preserves parsing of manifests written by older
|
|
193
|
+
* SDK releases, where absence means that middleware presence is unknown.
|
|
194
|
+
*/
|
|
195
|
+
declare const GigadriveNextMiddlewareDescriptorSchema: Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
196
|
+
present: Schema.Literal<[true]>;
|
|
197
|
+
matchers: Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
|
|
198
|
+
source: typeof Schema.String;
|
|
199
|
+
sourceRegex: typeof Schema.String;
|
|
200
|
+
has: Schema.optional<Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
201
|
+
type: Schema.Literal<["header", "cookie", "query"]>;
|
|
202
|
+
key: typeof Schema.String;
|
|
203
|
+
value: Schema.optional<typeof Schema.String>;
|
|
204
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
205
|
+
type: Schema.Literal<["host"]>;
|
|
206
|
+
value: typeof Schema.String;
|
|
207
|
+
}>>]>>>>;
|
|
208
|
+
missing: Schema.optional<Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
209
|
+
type: Schema.Literal<["header", "cookie", "query"]>;
|
|
210
|
+
key: typeof Schema.String;
|
|
211
|
+
value: Schema.optional<typeof Schema.String>;
|
|
212
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
213
|
+
type: Schema.Literal<["host"]>;
|
|
214
|
+
value: typeof Schema.String;
|
|
215
|
+
}>>]>>>>;
|
|
216
|
+
}>>>>;
|
|
217
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
218
|
+
present: Schema.Literal<[false]>;
|
|
219
|
+
matchers: Schema.mutable<Schema.Tuple<[]>>;
|
|
220
|
+
}>>]>;
|
|
221
|
+
type GigadriveNextMiddlewareDescriptor = Schema.Schema.Type<typeof GigadriveNextMiddlewareDescriptorSchema>;
|
|
111
222
|
/** Aggregated runtime configuration for the standalone server. */
|
|
112
223
|
declare const GigadriveNextServerDescriptorSchema: Schema.mutable<Schema.Struct<{
|
|
113
224
|
maxDuration: Schema.optional<typeof Schema.Number>;
|
|
@@ -115,6 +226,9 @@ declare const GigadriveNextServerDescriptorSchema: Schema.mutable<Schema.Struct<
|
|
|
115
226
|
env: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
|
|
116
227
|
}>>;
|
|
117
228
|
type GigadriveNextServerDescriptor = Schema.Schema.Type<typeof GigadriveNextServerDescriptorSchema>;
|
|
229
|
+
/** Methods for which a validated prerender seed may participate in response lookup. */
|
|
230
|
+
declare const GigadriveNextPrerenderSeedMethodsSchema: Schema.mutable<Schema.Tuple2<Schema.Literal<["GET"]>, Schema.Literal<["HEAD"]>>>;
|
|
231
|
+
type GigadriveNextPrerenderSeedMethods = Schema.Schema.Type<typeof GigadriveNextPrerenderSeedMethodsSchema>;
|
|
118
232
|
declare const GigadriveNextBuildManifestV1Schema: Schema.mutable<Schema.Struct<{
|
|
119
233
|
version: Schema.Literal<[1]>;
|
|
120
234
|
output: Schema.Literal<["standalone", "export"]>;
|
|
@@ -165,10 +279,15 @@ declare const GigadriveNextBuildManifestV2StandaloneSchema: Schema.mutable<Schem
|
|
|
165
279
|
rsc: Schema.Schema<JsonValue, JsonValue, never>;
|
|
166
280
|
}>>;
|
|
167
281
|
outputs: Schema.mutable<Schema.Struct<{
|
|
168
|
-
prerenders: Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
|
|
282
|
+
prerenders: Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
283
|
+
routeType: Schema.Literal<["route", "fallback", "shell", "page"]>;
|
|
284
|
+
response: Schema.Literal<["empty", "initial", "complete"]>;
|
|
285
|
+
compute: Schema.Literal<["blocking", "resuming", "static"]>;
|
|
286
|
+
htmlSize: Schema.optional<typeof Schema.Number>;
|
|
169
287
|
id: typeof Schema.String;
|
|
170
288
|
type: Schema.Literal<["PRERENDER"]>;
|
|
171
289
|
pathname: Schema.filter<typeof Schema.String>;
|
|
290
|
+
route: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
172
291
|
parentOutputId: typeof Schema.String;
|
|
173
292
|
groupId: typeof Schema.Number;
|
|
174
293
|
pprChain: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
@@ -191,7 +310,38 @@ declare const GigadriveNextBuildManifestV2StandaloneSchema: Schema.mutable<Schem
|
|
|
191
310
|
partialFallback: Schema.optional<typeof Schema.Boolean>;
|
|
192
311
|
bypassToken: Schema.optional<typeof Schema.String>;
|
|
193
312
|
}>>;
|
|
194
|
-
}
|
|
313
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
314
|
+
routeType: Schema.optional<typeof Schema.Never>;
|
|
315
|
+
response: Schema.optional<typeof Schema.Never>;
|
|
316
|
+
compute: Schema.optional<typeof Schema.Never>;
|
|
317
|
+
htmlSize: Schema.optional<typeof Schema.Never>;
|
|
318
|
+
id: typeof Schema.String;
|
|
319
|
+
type: Schema.Literal<["PRERENDER"]>;
|
|
320
|
+
pathname: Schema.filter<typeof Schema.String>;
|
|
321
|
+
route: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
322
|
+
parentOutputId: typeof Schema.String;
|
|
323
|
+
groupId: typeof Schema.Number;
|
|
324
|
+
pprChain: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
325
|
+
headers: Schema.filter<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.filter<typeof Schema.String>>>>;
|
|
326
|
+
}>>>;
|
|
327
|
+
parentFallbackMode: Schema.optional<Schema.Schema<JsonValue, JsonValue, never>>;
|
|
328
|
+
fallback: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
329
|
+
filePath: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
330
|
+
initialStatus: Schema.optional<Schema.filter<typeof Schema.Int>>;
|
|
331
|
+
initialHeaders: Schema.optional<Schema.filter<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Union<[Schema.filter<typeof Schema.String>, Schema.mutable<Schema.Array$<Schema.filter<typeof Schema.String>>>]>>>>>;
|
|
332
|
+
initialExpiration: Schema.optional<typeof Schema.Number>;
|
|
333
|
+
initialRevalidate: Schema.optional<Schema.Union<[typeof Schema.Number, Schema.Literal<[false]>]>>;
|
|
334
|
+
postponedState: Schema.optional<typeof Schema.String>;
|
|
335
|
+
}>>>;
|
|
336
|
+
config: Schema.mutable<Schema.Struct<{
|
|
337
|
+
allowQuery: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
|
|
338
|
+
allowHeader: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
|
|
339
|
+
bypassFor: Schema.optional<Schema.mutable<Schema.Array$<Schema.Schema<JsonValue, JsonValue, never>>>>;
|
|
340
|
+
renderingMode: Schema.optional<typeof Schema.String>;
|
|
341
|
+
partialFallback: Schema.optional<typeof Schema.Boolean>;
|
|
342
|
+
bypassToken: Schema.optional<typeof Schema.String>;
|
|
343
|
+
}>>;
|
|
344
|
+
}>>]>>>;
|
|
195
345
|
prerenderManifest: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
196
346
|
assetManifest: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
197
347
|
entryPagePaths: Schema.optional<Schema.mutable<Schema.Array$<Schema.filter<typeof Schema.String>>>>;
|
|
@@ -200,6 +350,32 @@ declare const GigadriveNextBuildManifestV2StandaloneSchema: Schema.mutable<Schem
|
|
|
200
350
|
urlPrefix: Schema.filter<typeof Schema.String>;
|
|
201
351
|
immutable: typeof Schema.Boolean;
|
|
202
352
|
}>>>>;
|
|
353
|
+
middleware: Schema.optional<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
354
|
+
present: Schema.Literal<[true]>;
|
|
355
|
+
matchers: Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
|
|
356
|
+
source: typeof Schema.String;
|
|
357
|
+
sourceRegex: typeof Schema.String;
|
|
358
|
+
has: Schema.optional<Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
359
|
+
type: Schema.Literal<["header", "cookie", "query"]>;
|
|
360
|
+
key: typeof Schema.String;
|
|
361
|
+
value: Schema.optional<typeof Schema.String>;
|
|
362
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
363
|
+
type: Schema.Literal<["host"]>;
|
|
364
|
+
value: typeof Schema.String;
|
|
365
|
+
}>>]>>>>;
|
|
366
|
+
missing: Schema.optional<Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
367
|
+
type: Schema.Literal<["header", "cookie", "query"]>;
|
|
368
|
+
key: typeof Schema.String;
|
|
369
|
+
value: Schema.optional<typeof Schema.String>;
|
|
370
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
371
|
+
type: Schema.Literal<["host"]>;
|
|
372
|
+
value: typeof Schema.String;
|
|
373
|
+
}>>]>>>>;
|
|
374
|
+
}>>>>;
|
|
375
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
376
|
+
present: Schema.Literal<[false]>;
|
|
377
|
+
matchers: Schema.mutable<Schema.Tuple<[]>>;
|
|
378
|
+
}>>]>>;
|
|
203
379
|
}>>;
|
|
204
380
|
}>>;
|
|
205
381
|
type GigadriveNextBuildManifestV2Standalone = Schema.Schema.Type<typeof GigadriveNextBuildManifestV2StandaloneSchema>;
|
|
@@ -247,10 +423,15 @@ declare const GigadriveNextBuildManifestSchema: Schema.Union<[Schema.mutable<Sch
|
|
|
247
423
|
rsc: Schema.Schema<JsonValue, JsonValue, never>;
|
|
248
424
|
}>>;
|
|
249
425
|
outputs: Schema.mutable<Schema.Struct<{
|
|
250
|
-
prerenders: Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
|
|
426
|
+
prerenders: Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
427
|
+
routeType: Schema.Literal<["route", "fallback", "shell", "page"]>;
|
|
428
|
+
response: Schema.Literal<["empty", "initial", "complete"]>;
|
|
429
|
+
compute: Schema.Literal<["blocking", "resuming", "static"]>;
|
|
430
|
+
htmlSize: Schema.optional<typeof Schema.Number>;
|
|
251
431
|
id: typeof Schema.String;
|
|
252
432
|
type: Schema.Literal<["PRERENDER"]>;
|
|
253
433
|
pathname: Schema.filter<typeof Schema.String>;
|
|
434
|
+
route: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
254
435
|
parentOutputId: typeof Schema.String;
|
|
255
436
|
groupId: typeof Schema.Number;
|
|
256
437
|
pprChain: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
@@ -273,7 +454,38 @@ declare const GigadriveNextBuildManifestSchema: Schema.Union<[Schema.mutable<Sch
|
|
|
273
454
|
partialFallback: Schema.optional<typeof Schema.Boolean>;
|
|
274
455
|
bypassToken: Schema.optional<typeof Schema.String>;
|
|
275
456
|
}>>;
|
|
276
|
-
}
|
|
457
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
458
|
+
routeType: Schema.optional<typeof Schema.Never>;
|
|
459
|
+
response: Schema.optional<typeof Schema.Never>;
|
|
460
|
+
compute: Schema.optional<typeof Schema.Never>;
|
|
461
|
+
htmlSize: Schema.optional<typeof Schema.Never>;
|
|
462
|
+
id: typeof Schema.String;
|
|
463
|
+
type: Schema.Literal<["PRERENDER"]>;
|
|
464
|
+
pathname: Schema.filter<typeof Schema.String>;
|
|
465
|
+
route: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
466
|
+
parentOutputId: typeof Schema.String;
|
|
467
|
+
groupId: typeof Schema.Number;
|
|
468
|
+
pprChain: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
469
|
+
headers: Schema.filter<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.filter<typeof Schema.String>>>>;
|
|
470
|
+
}>>>;
|
|
471
|
+
parentFallbackMode: Schema.optional<Schema.Schema<JsonValue, JsonValue, never>>;
|
|
472
|
+
fallback: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
473
|
+
filePath: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
474
|
+
initialStatus: Schema.optional<Schema.filter<typeof Schema.Int>>;
|
|
475
|
+
initialHeaders: Schema.optional<Schema.filter<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Union<[Schema.filter<typeof Schema.String>, Schema.mutable<Schema.Array$<Schema.filter<typeof Schema.String>>>]>>>>>;
|
|
476
|
+
initialExpiration: Schema.optional<typeof Schema.Number>;
|
|
477
|
+
initialRevalidate: Schema.optional<Schema.Union<[typeof Schema.Number, Schema.Literal<[false]>]>>;
|
|
478
|
+
postponedState: Schema.optional<typeof Schema.String>;
|
|
479
|
+
}>>>;
|
|
480
|
+
config: Schema.mutable<Schema.Struct<{
|
|
481
|
+
allowQuery: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
|
|
482
|
+
allowHeader: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
|
|
483
|
+
bypassFor: Schema.optional<Schema.mutable<Schema.Array$<Schema.Schema<JsonValue, JsonValue, never>>>>;
|
|
484
|
+
renderingMode: Schema.optional<typeof Schema.String>;
|
|
485
|
+
partialFallback: Schema.optional<typeof Schema.Boolean>;
|
|
486
|
+
bypassToken: Schema.optional<typeof Schema.String>;
|
|
487
|
+
}>>;
|
|
488
|
+
}>>]>>>;
|
|
277
489
|
prerenderManifest: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
278
490
|
assetManifest: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
279
491
|
entryPagePaths: Schema.optional<Schema.mutable<Schema.Array$<Schema.filter<typeof Schema.String>>>>;
|
|
@@ -282,17 +494,54 @@ declare const GigadriveNextBuildManifestSchema: Schema.Union<[Schema.mutable<Sch
|
|
|
282
494
|
urlPrefix: Schema.filter<typeof Schema.String>;
|
|
283
495
|
immutable: typeof Schema.Boolean;
|
|
284
496
|
}>>>>;
|
|
497
|
+
middleware: Schema.optional<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
498
|
+
present: Schema.Literal<[true]>;
|
|
499
|
+
matchers: Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
|
|
500
|
+
source: typeof Schema.String;
|
|
501
|
+
sourceRegex: typeof Schema.String;
|
|
502
|
+
has: Schema.optional<Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
503
|
+
type: Schema.Literal<["header", "cookie", "query"]>;
|
|
504
|
+
key: typeof Schema.String;
|
|
505
|
+
value: Schema.optional<typeof Schema.String>;
|
|
506
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
507
|
+
type: Schema.Literal<["host"]>;
|
|
508
|
+
value: typeof Schema.String;
|
|
509
|
+
}>>]>>>>;
|
|
510
|
+
missing: Schema.optional<Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
511
|
+
type: Schema.Literal<["header", "cookie", "query"]>;
|
|
512
|
+
key: typeof Schema.String;
|
|
513
|
+
value: Schema.optional<typeof Schema.String>;
|
|
514
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
515
|
+
type: Schema.Literal<["host"]>;
|
|
516
|
+
value: typeof Schema.String;
|
|
517
|
+
}>>]>>>>;
|
|
518
|
+
}>>>>;
|
|
519
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
520
|
+
present: Schema.Literal<[false]>;
|
|
521
|
+
matchers: Schema.mutable<Schema.Tuple<[]>>;
|
|
522
|
+
}>>]>>;
|
|
285
523
|
}>>;
|
|
286
524
|
}>>]>;
|
|
287
525
|
type GigadriveNextBuildManifestV2 = GigadriveNextBuildManifestV2Standalone | GigadriveNextBuildManifestV2Export;
|
|
288
526
|
type GigadriveNextBuildManifest = Schema.Schema.Type<typeof GigadriveNextBuildManifestSchema>;
|
|
289
|
-
/**
|
|
527
|
+
/**
|
|
528
|
+
* Portable sidecar containing high-cardinality Next.js prerender build seeds.
|
|
529
|
+
*
|
|
530
|
+
* `seedMethods` is optional only for parsing sidecars emitted by older SDK
|
|
531
|
+
* releases. New adapters always emit the explicit GET/HEAD method scope.
|
|
532
|
+
*/
|
|
290
533
|
declare const GigadriveNextPrerenderManifestV1Schema: Schema.mutable<Schema.Struct<{
|
|
291
534
|
version: Schema.Literal<[1]>;
|
|
292
|
-
|
|
535
|
+
seedMethods: Schema.optional<Schema.mutable<Schema.Tuple2<Schema.Literal<["GET"]>, Schema.Literal<["HEAD"]>>>>;
|
|
536
|
+
prerenders: Schema.mutable<Schema.Array$<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
537
|
+
routeType: Schema.Literal<["route", "fallback", "shell", "page"]>;
|
|
538
|
+
response: Schema.Literal<["empty", "initial", "complete"]>;
|
|
539
|
+
compute: Schema.Literal<["blocking", "resuming", "static"]>;
|
|
540
|
+
htmlSize: Schema.optional<typeof Schema.Number>;
|
|
293
541
|
id: typeof Schema.String;
|
|
294
542
|
type: Schema.Literal<["PRERENDER"]>;
|
|
295
543
|
pathname: Schema.filter<typeof Schema.String>;
|
|
544
|
+
route: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
296
545
|
parentOutputId: typeof Schema.String;
|
|
297
546
|
groupId: typeof Schema.Number;
|
|
298
547
|
pprChain: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
@@ -315,7 +564,38 @@ declare const GigadriveNextPrerenderManifestV1Schema: Schema.mutable<Schema.Stru
|
|
|
315
564
|
partialFallback: Schema.optional<typeof Schema.Boolean>;
|
|
316
565
|
bypassToken: Schema.optional<typeof Schema.String>;
|
|
317
566
|
}>>;
|
|
318
|
-
}
|
|
567
|
+
}>>, Schema.mutable<Schema.Struct<{
|
|
568
|
+
routeType: Schema.optional<typeof Schema.Never>;
|
|
569
|
+
response: Schema.optional<typeof Schema.Never>;
|
|
570
|
+
compute: Schema.optional<typeof Schema.Never>;
|
|
571
|
+
htmlSize: Schema.optional<typeof Schema.Never>;
|
|
572
|
+
id: typeof Schema.String;
|
|
573
|
+
type: Schema.Literal<["PRERENDER"]>;
|
|
574
|
+
pathname: Schema.filter<typeof Schema.String>;
|
|
575
|
+
route: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
576
|
+
parentOutputId: typeof Schema.String;
|
|
577
|
+
groupId: typeof Schema.Number;
|
|
578
|
+
pprChain: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
579
|
+
headers: Schema.filter<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.filter<typeof Schema.String>>>>;
|
|
580
|
+
}>>>;
|
|
581
|
+
parentFallbackMode: Schema.optional<Schema.Schema<JsonValue, JsonValue, never>>;
|
|
582
|
+
fallback: Schema.optional<Schema.mutable<Schema.Struct<{
|
|
583
|
+
filePath: Schema.optional<Schema.filter<typeof Schema.String>>;
|
|
584
|
+
initialStatus: Schema.optional<Schema.filter<typeof Schema.Int>>;
|
|
585
|
+
initialHeaders: Schema.optional<Schema.filter<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Union<[Schema.filter<typeof Schema.String>, Schema.mutable<Schema.Array$<Schema.filter<typeof Schema.String>>>]>>>>>;
|
|
586
|
+
initialExpiration: Schema.optional<typeof Schema.Number>;
|
|
587
|
+
initialRevalidate: Schema.optional<Schema.Union<[typeof Schema.Number, Schema.Literal<[false]>]>>;
|
|
588
|
+
postponedState: Schema.optional<typeof Schema.String>;
|
|
589
|
+
}>>>;
|
|
590
|
+
config: Schema.mutable<Schema.Struct<{
|
|
591
|
+
allowQuery: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
|
|
592
|
+
allowHeader: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
|
|
593
|
+
bypassFor: Schema.optional<Schema.mutable<Schema.Array$<Schema.Schema<JsonValue, JsonValue, never>>>>;
|
|
594
|
+
renderingMode: Schema.optional<typeof Schema.String>;
|
|
595
|
+
partialFallback: Schema.optional<typeof Schema.Boolean>;
|
|
596
|
+
bypassToken: Schema.optional<typeof Schema.String>;
|
|
597
|
+
}>>;
|
|
598
|
+
}>>]>>>;
|
|
319
599
|
}>>;
|
|
320
600
|
type GigadriveNextPrerenderManifestV1 = Schema.Schema.Type<typeof GigadriveNextPrerenderManifestV1Schema>;
|
|
321
601
|
/** Parses and structurally validates adapter metadata before deployment code consumes it. */
|
|
@@ -582,263 +862,85 @@ type NormalizedConfigRouteMatchRequirements = [] | [
|
|
|
582
862
|
}
|
|
583
863
|
];
|
|
584
864
|
|
|
585
|
-
declare const
|
|
586
|
-
readonly _tag: Schema.tag<"
|
|
865
|
+
declare const ConfigFileNotFoundError_base: Schema.TaggedErrorClass<ConfigFileNotFoundError, "ConfigFileNotFoundError", {
|
|
866
|
+
readonly _tag: Schema.tag<"ConfigFileNotFoundError">;
|
|
587
867
|
} & {
|
|
588
868
|
message: typeof Schema.String;
|
|
589
869
|
filePath: typeof Schema.String;
|
|
590
870
|
}>;
|
|
591
|
-
declare class
|
|
871
|
+
declare class ConfigFileNotFoundError extends ConfigFileNotFoundError_base {
|
|
592
872
|
}
|
|
593
|
-
declare const
|
|
594
|
-
readonly _tag: Schema.tag<"
|
|
873
|
+
declare const ConfigFileEmptyError_base: Schema.TaggedErrorClass<ConfigFileEmptyError, "ConfigFileEmptyError", {
|
|
874
|
+
readonly _tag: Schema.tag<"ConfigFileEmptyError">;
|
|
595
875
|
} & {
|
|
596
876
|
message: typeof Schema.String;
|
|
597
877
|
filePath: typeof Schema.String;
|
|
598
878
|
}>;
|
|
599
|
-
declare class
|
|
879
|
+
declare class ConfigFileEmptyError extends ConfigFileEmptyError_base {
|
|
600
880
|
}
|
|
601
|
-
declare const
|
|
602
|
-
readonly _tag: Schema.tag<"
|
|
881
|
+
declare const ConfigFileParseError_base: Schema.TaggedErrorClass<ConfigFileParseError, "ConfigFileParseError", {
|
|
882
|
+
readonly _tag: Schema.tag<"ConfigFileParseError">;
|
|
603
883
|
} & {
|
|
604
884
|
message: typeof Schema.String;
|
|
605
885
|
filePath: typeof Schema.String;
|
|
886
|
+
cause: Schema.optional<typeof Schema.String>;
|
|
606
887
|
}>;
|
|
607
|
-
declare class
|
|
888
|
+
declare class ConfigFileParseError extends ConfigFileParseError_base {
|
|
608
889
|
}
|
|
609
|
-
declare const
|
|
610
|
-
readonly _tag: Schema.tag<"
|
|
890
|
+
declare const ConfigModuleLoadError_base: Schema.TaggedErrorClass<ConfigModuleLoadError, "ConfigModuleLoadError", {
|
|
891
|
+
readonly _tag: Schema.tag<"ConfigModuleLoadError">;
|
|
611
892
|
} & {
|
|
612
893
|
message: typeof Schema.String;
|
|
613
|
-
|
|
894
|
+
filePath: typeof Schema.String;
|
|
895
|
+
cause: Schema.optional<typeof Schema.String>;
|
|
614
896
|
}>;
|
|
615
|
-
declare class
|
|
897
|
+
declare class ConfigModuleLoadError extends ConfigModuleLoadError_base {
|
|
616
898
|
}
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
899
|
+
declare const ConfigVersionError_base: Schema.TaggedErrorClass<ConfigVersionError, "ConfigVersionError", {
|
|
900
|
+
readonly _tag: Schema.tag<"ConfigVersionError">;
|
|
901
|
+
} & {
|
|
902
|
+
message: typeof Schema.String;
|
|
903
|
+
filePath: typeof Schema.String;
|
|
904
|
+
version: Schema.optional<typeof Schema.Number>;
|
|
905
|
+
}>;
|
|
906
|
+
declare class ConfigVersionError extends ConfigVersionError_base {
|
|
624
907
|
}
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
/** Higher = higher priority (specific frameworks beat generic ones) */
|
|
634
|
-
priority: number;
|
|
635
|
-
/** Generates deployment defaults for this framework */
|
|
636
|
-
getDefaultConfig: (packageManager: PackageManager) => FrameworkDefaultConfig;
|
|
637
|
-
/** Refines defaults with project files after a framework match, e.g. framework CLI config. */
|
|
638
|
-
refineDefaultConfig?: (defaults: FrameworkDefaultConfig, projectFolder: string) => Effect.Effect<FrameworkDefaultConfig, never, FileSystem.FileSystem | Path.Path>;
|
|
908
|
+
declare const ConfigSchemaValidationError_base: Schema.TaggedErrorClass<ConfigSchemaValidationError, "ConfigSchemaValidationError", {
|
|
909
|
+
readonly _tag: Schema.tag<"ConfigSchemaValidationError">;
|
|
910
|
+
} & {
|
|
911
|
+
message: typeof Schema.String;
|
|
912
|
+
filePath: typeof Schema.String;
|
|
913
|
+
validationErrors: Schema.Array$<typeof Schema.String>;
|
|
914
|
+
}>;
|
|
915
|
+
declare class ConfigSchemaValidationError extends ConfigSchemaValidationError_base {
|
|
639
916
|
}
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
/** Build commands (install command is auto-prepended by generateConfig) */
|
|
648
|
-
commands: string[];
|
|
649
|
-
entrypoint?: string;
|
|
650
|
-
assetsDir?: string;
|
|
651
|
-
assetsPrefixToStrip?: string;
|
|
652
|
-
/** Explicit project-relative files to publish as static assets. */
|
|
653
|
-
assetPaths?: string[];
|
|
654
|
-
/** Public path overrides keyed by project-relative asset path. */
|
|
655
|
-
assetOverrides?: Record<string, {
|
|
656
|
-
path?: string;
|
|
657
|
-
contentType?: string;
|
|
658
|
-
}>;
|
|
659
|
-
/** Directory subtrees to publish under a URL prefix without per-file enumeration. */
|
|
660
|
-
assetPrefixes?: Array<{
|
|
661
|
-
source: string;
|
|
662
|
-
destination: string;
|
|
663
|
-
immutable?: boolean;
|
|
664
|
-
populateCache?: boolean;
|
|
665
|
-
contentType?: string;
|
|
666
|
-
}>;
|
|
667
|
-
/** Project-relative manifests containing logical static asset entries. */
|
|
668
|
-
assetManifests?: Array<{
|
|
669
|
-
source: string;
|
|
670
|
-
}>;
|
|
671
|
-
populateAssetCache?: boolean;
|
|
672
|
-
routes: Array<{
|
|
673
|
-
source: string;
|
|
674
|
-
destination: string;
|
|
675
|
-
}>;
|
|
676
|
-
environmentVariables: Record<string, string>;
|
|
677
|
-
symlinks?: Record<string, string>;
|
|
678
|
-
excludeFiles?: string[];
|
|
679
|
-
package?: {
|
|
680
|
-
trace?: boolean;
|
|
681
|
-
includeProjectFiles?: boolean;
|
|
682
|
-
preserveSymlinks?: boolean;
|
|
683
|
-
rootOverwrite?: string;
|
|
684
|
-
filePathMap?: Record<string, string>;
|
|
685
|
-
includeFiles?: string[];
|
|
686
|
-
excludeFiles?: string[];
|
|
687
|
-
};
|
|
688
|
-
/** Advanced framework output that replaces the one-entrypoint defaults. */
|
|
689
|
-
normalizedConfig?: Partial<NormalizedConfig>;
|
|
917
|
+
declare const FunctionConfigError_base: Schema.TaggedErrorClass<FunctionConfigError, "FunctionConfigError", {
|
|
918
|
+
readonly _tag: Schema.tag<"FunctionConfigError">;
|
|
919
|
+
} & {
|
|
920
|
+
message: typeof Schema.String;
|
|
921
|
+
functionPath: typeof Schema.String;
|
|
922
|
+
}>;
|
|
923
|
+
declare class FunctionConfigError extends FunctionConfigError_base {
|
|
690
924
|
}
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
925
|
+
|
|
926
|
+
declare const ConfigModuleLoader_base: Effect.Service.Class<ConfigModuleLoader, "ConfigModuleLoader", {
|
|
927
|
+
readonly effect: Effect.Effect<{
|
|
928
|
+
loadConfigModule: (filePath: string) => Effect.Effect<Record<string, unknown>, ConfigModuleLoadError, never>;
|
|
929
|
+
}, never, never>;
|
|
930
|
+
}>;
|
|
931
|
+
declare class ConfigModuleLoader extends ConfigModuleLoader_base {
|
|
695
932
|
}
|
|
696
933
|
|
|
697
|
-
|
|
698
|
-
* Detects the framework used in a project by checking framework definitions
|
|
699
|
-
* against the project's dependencies and file structure.
|
|
700
|
-
*
|
|
701
|
-
* Framework definitions are checked in priority order (highest first).
|
|
702
|
-
* All detectors for a framework must match for it to be selected.
|
|
703
|
-
*
|
|
704
|
-
* @param projectFolder - Absolute path to the project root
|
|
705
|
-
* @returns DetectionResult with framework, package manager, and generated config
|
|
706
|
-
*/
|
|
707
|
-
declare const detectFramework: (projectFolder: string) => Effect.Effect<{
|
|
708
|
-
framework: FrameworkDefinition;
|
|
709
|
-
packageManager: PackageManager;
|
|
710
|
-
config: NormalizedConfig;
|
|
711
|
-
}, ManifestReadError | ManifestParseError | FrameworkNotDetectedError, FileSystem.FileSystem | Path.Path>;
|
|
712
|
-
|
|
713
|
-
/**
|
|
714
|
-
* Detects the package manager by checking for lockfiles in the project folder.
|
|
715
|
-
* Falls back to `npm` if no lockfile is found.
|
|
716
|
-
*
|
|
717
|
-
* @param projectFolder - Absolute path to the project root
|
|
718
|
-
* @returns The detected package manager
|
|
719
|
-
*/
|
|
720
|
-
declare const detectPackageManager: (projectFolder: string) => Effect.Effect<PackageManager, never, FileSystem.FileSystem | Path.Path>;
|
|
721
|
-
|
|
722
|
-
/**
|
|
723
|
-
* All supported framework definitions, sorted by priority descending.
|
|
724
|
-
* Higher priority frameworks are checked first during detection.
|
|
725
|
-
*/
|
|
726
|
-
declare const FRAMEWORK_DEFINITIONS: FrameworkDefinition[];
|
|
727
|
-
|
|
728
|
-
/**
|
|
729
|
-
* Generates a NormalizedConfig from a framework definition and detected package manager.
|
|
730
|
-
* Prepends the install command and builds a complete deployment configuration.
|
|
731
|
-
*
|
|
732
|
-
* @param framework - The detected framework definition
|
|
733
|
-
* @param packageManager - The detected package manager
|
|
734
|
-
* @returns A complete NormalizedConfig with framework defaults
|
|
735
|
-
*/
|
|
736
|
-
declare const generateConfig: (framework: FrameworkDefinition, packageManager: PackageManager, refinedDefaults?: FrameworkDefaultConfig | undefined) => Effect.Effect<NormalizedConfig, never, never>;
|
|
737
|
-
|
|
738
|
-
/**
|
|
739
|
-
* Merges framework defaults with a user-provided config.
|
|
740
|
-
* User config always takes precedence; framework defaults fill gaps.
|
|
741
|
-
*
|
|
742
|
-
* - commands: use user's if non-empty, otherwise framework's
|
|
743
|
-
* - entrypoints: use user's if non-empty, otherwise framework's
|
|
744
|
-
* - routes: use user's if non-empty, otherwise framework's
|
|
745
|
-
* - assets: use user's if it declares any sources, otherwise framework's
|
|
746
|
-
* - excludeFiles: use user's if non-empty, otherwise framework's
|
|
747
|
-
* - regions: always use user's (always populated from parsing)
|
|
748
|
-
* - environmentVariables: deep merge (framework base, user overrides)
|
|
749
|
-
* - services: always use user's (frameworks don't define services)
|
|
750
|
-
* - warnings/errors: concatenate both
|
|
751
|
-
*
|
|
752
|
-
* @param userConfig - The config parsed from the user's config file
|
|
753
|
-
* @param frameworkConfig - The config generated from framework detection
|
|
754
|
-
* @returns The merged config
|
|
755
|
-
*/
|
|
756
|
-
declare const mergeWithFrameworkDefaults: (userConfig: NormalizedConfig, frameworkConfig: NormalizedConfig) => Effect.Effect<NormalizedConfig, never, never>;
|
|
757
|
-
|
|
758
|
-
/**
|
|
759
|
-
* Reads dependency names from the appropriate manifest file for a language.
|
|
760
|
-
* Returns a set of all dependency names (production + dev).
|
|
761
|
-
*
|
|
762
|
-
* If the manifest file does not exist, returns an empty set (graceful).
|
|
763
|
-
* If the file exists but cannot be read (`ManifestReadError`) or parsed
|
|
764
|
-
* (`ManifestParseError`), the error propagates — this indicates a real
|
|
765
|
-
* problem the user should know about.
|
|
766
|
-
*
|
|
767
|
-
* @param projectFolder - Absolute path to the project root
|
|
768
|
-
* @param language - The framework language to determine which manifest to read
|
|
769
|
-
* @returns A set of dependency package names
|
|
770
|
-
*/
|
|
771
|
-
declare const readDependencies: (projectFolder: string, language: FrameworkLanguage) => Effect.Effect<Set<string>, ManifestReadError | ManifestParseError, FileSystem.FileSystem | Path.Path>;
|
|
772
|
-
|
|
773
|
-
declare const ConfigFileNotFoundError_base: Schema.TaggedErrorClass<ConfigFileNotFoundError, "ConfigFileNotFoundError", {
|
|
774
|
-
readonly _tag: Schema.tag<"ConfigFileNotFoundError">;
|
|
775
|
-
} & {
|
|
776
|
-
message: typeof Schema.String;
|
|
777
|
-
filePath: typeof Schema.String;
|
|
778
|
-
}>;
|
|
779
|
-
declare class ConfigFileNotFoundError extends ConfigFileNotFoundError_base {
|
|
780
|
-
}
|
|
781
|
-
declare const ConfigFileEmptyError_base: Schema.TaggedErrorClass<ConfigFileEmptyError, "ConfigFileEmptyError", {
|
|
782
|
-
readonly _tag: Schema.tag<"ConfigFileEmptyError">;
|
|
783
|
-
} & {
|
|
784
|
-
message: typeof Schema.String;
|
|
785
|
-
filePath: typeof Schema.String;
|
|
786
|
-
}>;
|
|
787
|
-
declare class ConfigFileEmptyError extends ConfigFileEmptyError_base {
|
|
788
|
-
}
|
|
789
|
-
declare const ConfigFileParseError_base: Schema.TaggedErrorClass<ConfigFileParseError, "ConfigFileParseError", {
|
|
790
|
-
readonly _tag: Schema.tag<"ConfigFileParseError">;
|
|
791
|
-
} & {
|
|
792
|
-
message: typeof Schema.String;
|
|
793
|
-
filePath: typeof Schema.String;
|
|
794
|
-
cause: Schema.optional<typeof Schema.String>;
|
|
795
|
-
}>;
|
|
796
|
-
declare class ConfigFileParseError extends ConfigFileParseError_base {
|
|
797
|
-
}
|
|
798
|
-
declare const ConfigVersionError_base: Schema.TaggedErrorClass<ConfigVersionError, "ConfigVersionError", {
|
|
799
|
-
readonly _tag: Schema.tag<"ConfigVersionError">;
|
|
800
|
-
} & {
|
|
801
|
-
message: typeof Schema.String;
|
|
802
|
-
filePath: typeof Schema.String;
|
|
803
|
-
version: Schema.optional<typeof Schema.Number>;
|
|
804
|
-
}>;
|
|
805
|
-
declare class ConfigVersionError extends ConfigVersionError_base {
|
|
806
|
-
}
|
|
807
|
-
declare const ConfigSchemaValidationError_base: Schema.TaggedErrorClass<ConfigSchemaValidationError, "ConfigSchemaValidationError", {
|
|
808
|
-
readonly _tag: Schema.tag<"ConfigSchemaValidationError">;
|
|
809
|
-
} & {
|
|
810
|
-
message: typeof Schema.String;
|
|
811
|
-
filePath: typeof Schema.String;
|
|
812
|
-
validationErrors: Schema.Array$<typeof Schema.String>;
|
|
813
|
-
}>;
|
|
814
|
-
declare class ConfigSchemaValidationError extends ConfigSchemaValidationError_base {
|
|
815
|
-
}
|
|
816
|
-
declare const FunctionConfigError_base: Schema.TaggedErrorClass<FunctionConfigError, "FunctionConfigError", {
|
|
817
|
-
readonly _tag: Schema.tag<"FunctionConfigError">;
|
|
818
|
-
} & {
|
|
819
|
-
message: typeof Schema.String;
|
|
820
|
-
functionPath: typeof Schema.String;
|
|
821
|
-
}>;
|
|
822
|
-
declare class FunctionConfigError extends FunctionConfigError_base {
|
|
823
|
-
}
|
|
824
|
-
|
|
825
|
-
/**
|
|
826
|
-
* Ensure a normalized config has no function files that are also defined as assets.
|
|
827
|
-
* For example, a file `public/index.php` should not be defined as an asset, when it is a function and `public` is an asset folder.
|
|
828
|
-
* @param config The normalized config to filter.
|
|
829
|
-
* @returns A promise that resolves to the filtered config.
|
|
830
|
-
*/
|
|
831
|
-
declare const filterFunctionsFromAssets: (config: NormalizedConfig) => NormalizedConfig;
|
|
832
|
-
|
|
833
|
-
declare const ALLOWED_CONFIG_NAMES: readonly ["gigadrive.yaml", "gigadrive.yml", "nebula.yaml", "nebula.yml", "nebula.json"];
|
|
934
|
+
declare const ALLOWED_CONFIG_NAMES: readonly ["gigadrive.ts", "gigadrive.mts", "gigadrive.cts", "gigadrive.js", "gigadrive.mjs", "gigadrive.cjs", "gigadrive.yaml", "gigadrive.yml", "gigadrive.json", "nebula.yaml", "nebula.yml", "nebula.json"];
|
|
834
935
|
declare const RawConfigReader_base: Effect.Service.Class<RawConfigReader, "RawConfigReader", {
|
|
936
|
+
readonly dependencies: readonly [effect_Layer.Layer<ConfigModuleLoader, never, never>];
|
|
835
937
|
readonly effect: Effect.Effect<{
|
|
836
938
|
findConfig: (projectFolder: string) => Effect.Effect<string | null, never, never>;
|
|
837
939
|
readRawConfig: (filePath: string, options?: {
|
|
838
940
|
disableVersionCheck?: boolean;
|
|
839
|
-
} | undefined) => Effect.Effect<Record<string, unknown>, ConfigFileNotFoundError | ConfigFileEmptyError | ConfigFileParseError | ConfigVersionError, never>;
|
|
840
|
-
readConfigFile: <T>(configFilePath: string) => Effect.Effect<T | null, ConfigFileEmptyError | ConfigFileParseError | ConfigVersionError, never>;
|
|
841
|
-
}, never,
|
|
941
|
+
} | undefined) => Effect.Effect<Record<string, unknown>, ConfigFileNotFoundError | ConfigFileEmptyError | ConfigFileParseError | ConfigModuleLoadError | ConfigVersionError, never>;
|
|
942
|
+
readConfigFile: <T>(configFilePath: string) => Effect.Effect<T | null, ConfigFileEmptyError | ConfigFileParseError | ConfigModuleLoadError | ConfigVersionError, never>;
|
|
943
|
+
}, never, ConfigModuleLoader | Path.Path | FileSystem.FileSystem>;
|
|
842
944
|
}>;
|
|
843
945
|
declare class RawConfigReader extends RawConfigReader_base {
|
|
844
946
|
}
|
|
@@ -851,6 +953,103 @@ declare const SchemaValidator_base: Effect.Service.Class<SchemaValidator, "Schem
|
|
|
851
953
|
declare class SchemaValidator extends SchemaValidator_base {
|
|
852
954
|
}
|
|
853
955
|
|
|
956
|
+
/**
|
|
957
|
+
* Resolves merged function settings for a given path by iterating all function
|
|
958
|
+
* patterns in the config. Later patterns override earlier ones.
|
|
959
|
+
*
|
|
960
|
+
* @returns The merged settings, or undefined when no pattern matches the path.
|
|
961
|
+
*/
|
|
962
|
+
declare const getFunctionSettings: (path: string, config: ConfigV4) => ConfigV4FunctionSettings | undefined;
|
|
963
|
+
declare const V4ConfigParser_base: Effect.Service.Class<V4ConfigParser, "V4ConfigParser", {
|
|
964
|
+
readonly accessors: true;
|
|
965
|
+
readonly effect: Effect.Effect<{
|
|
966
|
+
/**
|
|
967
|
+
* Parses a ConfigV4 into a NormalizedConfig.
|
|
968
|
+
*
|
|
969
|
+
* @param config - The raw V4 config object
|
|
970
|
+
* @param projectFolder - Absolute path to the project root
|
|
971
|
+
*/
|
|
972
|
+
parse: (config: ConfigV4, projectFolder: string) => Effect.Effect<{
|
|
973
|
+
regions: ("us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "ap-south-1" | "ap-northeast-3" | "ap-northeast-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1" | "ca-central-1" | "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-north-1" | "sa-east-1")[];
|
|
974
|
+
assets: {
|
|
975
|
+
paths: string[];
|
|
976
|
+
prefixToStrip: string;
|
|
977
|
+
dynamicRoutes: boolean;
|
|
978
|
+
populateCache: boolean;
|
|
979
|
+
};
|
|
980
|
+
environmentVariables: Record<string, string>;
|
|
981
|
+
commands: string[];
|
|
982
|
+
images: NormalizedImagePolicy | undefined;
|
|
983
|
+
services: NormalizedConfigServiceDefinition[] | undefined;
|
|
984
|
+
entrypoints: NormalizedConfigEntrypoint[];
|
|
985
|
+
errors: never[];
|
|
986
|
+
warnings: never[];
|
|
987
|
+
routes: NormalizedConfigRoute[];
|
|
988
|
+
}, FunctionConfigError, Path.Path | FileSystem.FileSystem>;
|
|
989
|
+
}, never, never>;
|
|
990
|
+
}>;
|
|
991
|
+
declare class V4ConfigParser extends V4ConfigParser_base {
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
declare const VercelBuildOutputParser_base: Effect.Service.Class<VercelBuildOutputParser, "VercelBuildOutputParser", {
|
|
995
|
+
readonly effect: Effect.Effect<{
|
|
996
|
+
parse: (parseResult: NormalizedConfig, projectFolder: string) => Effect.Effect<NormalizedConfig, ConfigFileEmptyError | ConfigFileParseError | ConfigModuleLoadError | ConfigVersionError, Path.Path | _effect_platform_FileSystem.FileSystem>;
|
|
997
|
+
}, never, RawConfigReader | Path.Path>;
|
|
998
|
+
}>;
|
|
999
|
+
declare class VercelBuildOutputParser extends VercelBuildOutputParser_base {
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
interface Config {
|
|
1003
|
+
version: number;
|
|
1004
|
+
env?: Record<string, string>;
|
|
1005
|
+
}
|
|
1006
|
+
/**
|
|
1007
|
+
* Parses a config file at the given path and validates it against the appropriate
|
|
1008
|
+
* JSON Schema, returning a NormalizedConfig **without** post-processing.
|
|
1009
|
+
*
|
|
1010
|
+
* Use {@link parseConfig} when you also want Vercel BOv3 merging, empty-deployment
|
|
1011
|
+
* checks, and function/asset deduplication applied automatically.
|
|
1012
|
+
*
|
|
1013
|
+
* @param filePath - Absolute path to the config file
|
|
1014
|
+
* @param projectFolder - Absolute path to the project root
|
|
1015
|
+
*/
|
|
1016
|
+
declare const parseConfigRaw: (filePath: string, projectFolder: string) => Effect.Effect<{
|
|
1017
|
+
regions: ("us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "ap-south-1" | "ap-northeast-3" | "ap-northeast-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1" | "ca-central-1" | "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-north-1" | "sa-east-1")[];
|
|
1018
|
+
assets: {
|
|
1019
|
+
paths: string[];
|
|
1020
|
+
prefixToStrip: string;
|
|
1021
|
+
dynamicRoutes: boolean;
|
|
1022
|
+
populateCache: boolean;
|
|
1023
|
+
};
|
|
1024
|
+
environmentVariables: Record<string, string>;
|
|
1025
|
+
commands: string[];
|
|
1026
|
+
images: NormalizedImagePolicy | undefined;
|
|
1027
|
+
services: NormalizedConfigServiceDefinition[] | undefined;
|
|
1028
|
+
entrypoints: NormalizedConfigEntrypoint[];
|
|
1029
|
+
errors: never[];
|
|
1030
|
+
warnings: never[];
|
|
1031
|
+
routes: NormalizedConfigRoute[];
|
|
1032
|
+
}, ConfigFileNotFoundError | ConfigFileEmptyError | ConfigFileParseError | ConfigModuleLoadError | ConfigVersionError | ConfigSchemaValidationError | FunctionConfigError, RawConfigReader | _effect_platform_Path.Path | _effect_platform_FileSystem.FileSystem | SchemaValidator | V4ConfigParser>;
|
|
1033
|
+
/**
|
|
1034
|
+
* Parses a config file at the given path, validates it against the appropriate
|
|
1035
|
+
* JSON Schema, converts it to a NormalizedConfig, and applies post-processing.
|
|
1036
|
+
*
|
|
1037
|
+
* @param filePath - Absolute path to the config file
|
|
1038
|
+
* @param projectFolder - Absolute path to the project root
|
|
1039
|
+
*/
|
|
1040
|
+
declare const parseConfig: (filePath: string, projectFolder: string) => Effect.Effect<NormalizedConfig, ConfigFileNotFoundError | ConfigFileEmptyError | ConfigFileParseError | ConfigModuleLoadError | ConfigVersionError | ConfigSchemaValidationError | FunctionConfigError, RawConfigReader | _effect_platform_Path.Path | _effect_platform_FileSystem.FileSystem | SchemaValidator | V4ConfigParser | VercelBuildOutputParser>;
|
|
1041
|
+
/**
|
|
1042
|
+
* Applies post-processing transformers to a NormalizedConfig:
|
|
1043
|
+
* - Vercel Build Output v3 (merges functions/routes from .vercel/output if present)
|
|
1044
|
+
* - Empty deployment validation
|
|
1045
|
+
* - Filter functions from assets
|
|
1046
|
+
*
|
|
1047
|
+
* @param config - The parsed NormalizedConfig
|
|
1048
|
+
* @param projectFolder - Absolute path to the project root
|
|
1049
|
+
* @returns The post-processed NormalizedConfig
|
|
1050
|
+
*/
|
|
1051
|
+
declare const postProcessConfig: (config: NormalizedConfig, projectFolder: string) => Effect.Effect<NormalizedConfig, ConfigFileEmptyError | ConfigFileParseError | ConfigModuleLoadError | ConfigVersionError, _effect_platform_Path.Path | _effect_platform_FileSystem.FileSystem | VercelBuildOutputParser>;
|
|
1052
|
+
|
|
854
1053
|
interface ConfigV4 extends Config {
|
|
855
1054
|
version: 4;
|
|
856
1055
|
/**
|
|
@@ -1054,102 +1253,231 @@ interface ConfigV4FunctionSettings {
|
|
|
1054
1253
|
}
|
|
1055
1254
|
|
|
1056
1255
|
/**
|
|
1057
|
-
*
|
|
1058
|
-
*
|
|
1256
|
+
* Identity helper providing type inference and checking for `gigadrive.ts`
|
|
1257
|
+
* config files. Using it is optional — a plain object default export works the
|
|
1258
|
+
* same, but `defineConfig` gives editor autocompletion without a type
|
|
1259
|
+
* annotation. Requires `@gigadrive/network-config` to be installed in the
|
|
1260
|
+
* project (e.g. as a devDependency).
|
|
1059
1261
|
*
|
|
1060
|
-
*
|
|
1262
|
+
* Prefer importing from the `@gigadrive/network-config/define-config` subpath:
|
|
1263
|
+
* it is dependency-free, whereas the package root eagerly imports peer
|
|
1264
|
+
* dependencies (`effect`, `@effect/platform`) that package managers which do
|
|
1265
|
+
* not auto-install peers (e.g. Yarn) will not have installed.
|
|
1266
|
+
*
|
|
1267
|
+
* Note that a `gigadrive.ts` config is executed as code when the config is
|
|
1268
|
+
* read — the same trust model as `build_commands`.
|
|
1269
|
+
*
|
|
1270
|
+
* @param config - The deployment configuration
|
|
1271
|
+
* @returns The configuration, unchanged
|
|
1272
|
+
* @example
|
|
1273
|
+
* ```ts
|
|
1274
|
+
* // gigadrive.ts
|
|
1275
|
+
* import { defineConfig } from '@gigadrive/network-config/define-config';
|
|
1276
|
+
*
|
|
1277
|
+
* export default defineConfig({
|
|
1278
|
+
* version: 4,
|
|
1279
|
+
* regions: ['eu-central-1'],
|
|
1280
|
+
* });
|
|
1281
|
+
* ```
|
|
1061
1282
|
*/
|
|
1062
|
-
declare const
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
readonly
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
* @param config - The raw V4 config object
|
|
1070
|
-
* @param projectFolder - Absolute path to the project root
|
|
1071
|
-
*/
|
|
1072
|
-
parse: (config: ConfigV4, projectFolder: string) => Effect.Effect<{
|
|
1073
|
-
regions: ("us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "ap-south-1" | "ap-northeast-3" | "ap-northeast-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1" | "ca-central-1" | "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-north-1" | "sa-east-1")[];
|
|
1074
|
-
assets: {
|
|
1075
|
-
paths: string[];
|
|
1076
|
-
prefixToStrip: string;
|
|
1077
|
-
dynamicRoutes: boolean;
|
|
1078
|
-
populateCache: boolean;
|
|
1079
|
-
};
|
|
1080
|
-
environmentVariables: Record<string, string>;
|
|
1081
|
-
commands: string[];
|
|
1082
|
-
images: NormalizedImagePolicy | undefined;
|
|
1083
|
-
services: NormalizedConfigServiceDefinition[] | undefined;
|
|
1084
|
-
entrypoints: NormalizedConfigEntrypoint[];
|
|
1085
|
-
errors: never[];
|
|
1086
|
-
warnings: never[];
|
|
1087
|
-
routes: NormalizedConfigRoute[];
|
|
1088
|
-
}, FunctionConfigError, FileSystem.FileSystem | Path.Path>;
|
|
1089
|
-
}, never, never>;
|
|
1283
|
+
declare const defineConfig: (config: ConfigV4) => ConfigV4;
|
|
1284
|
+
|
|
1285
|
+
declare const ManifestNotFoundError_base: Schema.TaggedErrorClass<ManifestNotFoundError, "ManifestNotFoundError", {
|
|
1286
|
+
readonly _tag: Schema.tag<"ManifestNotFoundError">;
|
|
1287
|
+
} & {
|
|
1288
|
+
message: typeof Schema.String;
|
|
1289
|
+
filePath: typeof Schema.String;
|
|
1090
1290
|
}>;
|
|
1091
|
-
declare class
|
|
1291
|
+
declare class ManifestNotFoundError extends ManifestNotFoundError_base {
|
|
1092
1292
|
}
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1293
|
+
declare const ManifestReadError_base: Schema.TaggedErrorClass<ManifestReadError, "ManifestReadError", {
|
|
1294
|
+
readonly _tag: Schema.tag<"ManifestReadError">;
|
|
1295
|
+
} & {
|
|
1296
|
+
message: typeof Schema.String;
|
|
1297
|
+
filePath: typeof Schema.String;
|
|
1098
1298
|
}>;
|
|
1099
|
-
declare class
|
|
1299
|
+
declare class ManifestReadError extends ManifestReadError_base {
|
|
1100
1300
|
}
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1301
|
+
declare const ManifestParseError_base: Schema.TaggedErrorClass<ManifestParseError, "ManifestParseError", {
|
|
1302
|
+
readonly _tag: Schema.tag<"ManifestParseError">;
|
|
1303
|
+
} & {
|
|
1304
|
+
message: typeof Schema.String;
|
|
1305
|
+
filePath: typeof Schema.String;
|
|
1306
|
+
}>;
|
|
1307
|
+
declare class ManifestParseError extends ManifestParseError_base {
|
|
1308
|
+
}
|
|
1309
|
+
declare const FrameworkNotDetectedError_base: Schema.TaggedErrorClass<FrameworkNotDetectedError, "FrameworkNotDetectedError", {
|
|
1310
|
+
readonly _tag: Schema.tag<"FrameworkNotDetectedError">;
|
|
1311
|
+
} & {
|
|
1312
|
+
message: typeof Schema.String;
|
|
1313
|
+
directory: typeof Schema.String;
|
|
1314
|
+
}>;
|
|
1315
|
+
declare class FrameworkNotDetectedError extends FrameworkNotDetectedError_base {
|
|
1316
|
+
}
|
|
1317
|
+
interface FrameworkDetectionItem {
|
|
1318
|
+
/** Check manifest dependencies for this package (routed by framework language) */
|
|
1319
|
+
matchPackage?: string;
|
|
1320
|
+
/** Check if this file exists (relative to project root) */
|
|
1321
|
+
path?: string;
|
|
1322
|
+
/** If path is set, also check file content matches this regex */
|
|
1323
|
+
matchContent?: string;
|
|
1324
|
+
}
|
|
1325
|
+
type FrameworkLanguage = 'node' | 'php';
|
|
1326
|
+
type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun' | 'composer';
|
|
1327
|
+
interface FrameworkDefinition {
|
|
1328
|
+
slug: string;
|
|
1329
|
+
name: string;
|
|
1330
|
+
language: FrameworkLanguage;
|
|
1331
|
+
/** ALL items must match for the framework to be detected */
|
|
1332
|
+
detectors: FrameworkDetectionItem[];
|
|
1333
|
+
/** Higher = higher priority (specific frameworks beat generic ones) */
|
|
1334
|
+
priority: number;
|
|
1335
|
+
/** Generates deployment defaults for this framework */
|
|
1336
|
+
getDefaultConfig: (packageManager: PackageManager) => FrameworkDefaultConfig;
|
|
1337
|
+
/** Refines defaults with project files after a framework match, e.g. framework CLI config. */
|
|
1338
|
+
refineDefaultConfig?: (defaults: FrameworkDefaultConfig, projectFolder: string) => Effect.Effect<FrameworkDefaultConfig, never, FileSystem.FileSystem | Path.Path>;
|
|
1339
|
+
}
|
|
1340
|
+
interface FrameworkDefaultConfig {
|
|
1341
|
+
runtime: Runtime;
|
|
1342
|
+
memory: number;
|
|
1343
|
+
maxDuration: number;
|
|
1344
|
+
streaming: boolean;
|
|
1345
|
+
/** Overrides the auto-generated install command (e.g. for custom composer flags) */
|
|
1346
|
+
installCommand?: string;
|
|
1347
|
+
/** Build commands (install command is auto-prepended by generateConfig) */
|
|
1348
|
+
commands: string[];
|
|
1349
|
+
entrypoint?: string;
|
|
1350
|
+
assetsDir?: string;
|
|
1351
|
+
assetsPrefixToStrip?: string;
|
|
1352
|
+
/** Explicit project-relative files to publish as static assets. */
|
|
1353
|
+
assetPaths?: string[];
|
|
1354
|
+
/** Public path overrides keyed by project-relative asset path. */
|
|
1355
|
+
assetOverrides?: Record<string, {
|
|
1356
|
+
path?: string;
|
|
1357
|
+
contentType?: string;
|
|
1358
|
+
}>;
|
|
1359
|
+
/** Directory subtrees to publish under a URL prefix without per-file enumeration. */
|
|
1360
|
+
assetPrefixes?: Array<{
|
|
1361
|
+
source: string;
|
|
1362
|
+
destination: string;
|
|
1363
|
+
immutable?: boolean;
|
|
1364
|
+
populateCache?: boolean;
|
|
1365
|
+
contentType?: string;
|
|
1366
|
+
}>;
|
|
1367
|
+
/** Project-relative manifests containing logical static asset entries. */
|
|
1368
|
+
assetManifests?: Array<{
|
|
1369
|
+
source: string;
|
|
1370
|
+
}>;
|
|
1371
|
+
populateAssetCache?: boolean;
|
|
1372
|
+
routes: Array<{
|
|
1373
|
+
source: string;
|
|
1374
|
+
destination: string;
|
|
1375
|
+
}>;
|
|
1376
|
+
environmentVariables: Record<string, string>;
|
|
1377
|
+
symlinks?: Record<string, string>;
|
|
1378
|
+
excludeFiles?: string[];
|
|
1379
|
+
package?: {
|
|
1380
|
+
trace?: boolean;
|
|
1381
|
+
includeProjectFiles?: boolean;
|
|
1382
|
+
preserveSymlinks?: boolean;
|
|
1383
|
+
rootOverwrite?: string;
|
|
1384
|
+
filePathMap?: Record<string, string>;
|
|
1385
|
+
includeFiles?: string[];
|
|
1386
|
+
excludeFiles?: string[];
|
|
1387
|
+
};
|
|
1388
|
+
/** Advanced framework output that replaces the one-entrypoint defaults. */
|
|
1389
|
+
normalizedConfig?: Partial<NormalizedConfig>;
|
|
1105
1390
|
}
|
|
1391
|
+
interface DetectionResult {
|
|
1392
|
+
framework: FrameworkDefinition;
|
|
1393
|
+
packageManager: PackageManager;
|
|
1394
|
+
config: NormalizedConfig;
|
|
1395
|
+
}
|
|
1396
|
+
|
|
1106
1397
|
/**
|
|
1107
|
-
*
|
|
1108
|
-
*
|
|
1398
|
+
* Detects the framework used in a project by checking framework definitions
|
|
1399
|
+
* against the project's dependencies and file structure.
|
|
1109
1400
|
*
|
|
1110
|
-
*
|
|
1111
|
-
*
|
|
1401
|
+
* Framework definitions are checked in priority order (highest first).
|
|
1402
|
+
* All detectors for a framework must match for it to be selected.
|
|
1112
1403
|
*
|
|
1113
|
-
* @param filePath - Absolute path to the config file
|
|
1114
1404
|
* @param projectFolder - Absolute path to the project root
|
|
1405
|
+
* @returns DetectionResult with framework, package manager, and generated config
|
|
1115
1406
|
*/
|
|
1116
|
-
declare const
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
populateCache: boolean;
|
|
1123
|
-
};
|
|
1124
|
-
environmentVariables: Record<string, string>;
|
|
1125
|
-
commands: string[];
|
|
1126
|
-
images: NormalizedImagePolicy | undefined;
|
|
1127
|
-
services: NormalizedConfigServiceDefinition[] | undefined;
|
|
1128
|
-
entrypoints: NormalizedConfigEntrypoint[];
|
|
1129
|
-
errors: never[];
|
|
1130
|
-
warnings: never[];
|
|
1131
|
-
routes: NormalizedConfigRoute[];
|
|
1132
|
-
}, ConfigFileNotFoundError | ConfigFileEmptyError | ConfigFileParseError | ConfigVersionError | ConfigSchemaValidationError | FunctionConfigError, _effect_platform_FileSystem.FileSystem | _effect_platform_Path.Path | RawConfigReader | SchemaValidator | V4ConfigParser>;
|
|
1407
|
+
declare const detectFramework: (projectFolder: string) => Effect.Effect<{
|
|
1408
|
+
framework: FrameworkDefinition;
|
|
1409
|
+
packageManager: PackageManager;
|
|
1410
|
+
config: NormalizedConfig;
|
|
1411
|
+
}, ManifestReadError | ManifestParseError | FrameworkNotDetectedError, Path.Path | FileSystem.FileSystem>;
|
|
1412
|
+
|
|
1133
1413
|
/**
|
|
1134
|
-
*
|
|
1135
|
-
*
|
|
1414
|
+
* Detects the package manager by checking for lockfiles in the project folder.
|
|
1415
|
+
* Falls back to `npm` if no lockfile is found.
|
|
1136
1416
|
*
|
|
1137
|
-
* @param filePath - Absolute path to the config file
|
|
1138
1417
|
* @param projectFolder - Absolute path to the project root
|
|
1418
|
+
* @returns The detected package manager
|
|
1139
1419
|
*/
|
|
1140
|
-
declare const
|
|
1420
|
+
declare const detectPackageManager: (projectFolder: string) => Effect.Effect<PackageManager, never, Path.Path | FileSystem.FileSystem>;
|
|
1421
|
+
|
|
1141
1422
|
/**
|
|
1142
|
-
*
|
|
1143
|
-
*
|
|
1144
|
-
|
|
1145
|
-
|
|
1423
|
+
* All supported framework definitions, sorted by priority descending.
|
|
1424
|
+
* Higher priority frameworks are checked first during detection.
|
|
1425
|
+
*/
|
|
1426
|
+
declare const FRAMEWORK_DEFINITIONS: FrameworkDefinition[];
|
|
1427
|
+
|
|
1428
|
+
/**
|
|
1429
|
+
* Generates a NormalizedConfig from a framework definition and detected package manager.
|
|
1430
|
+
* Prepends the install command and builds a complete deployment configuration.
|
|
1431
|
+
*
|
|
1432
|
+
* @param framework - The detected framework definition
|
|
1433
|
+
* @param packageManager - The detected package manager
|
|
1434
|
+
* @returns A complete NormalizedConfig with framework defaults
|
|
1435
|
+
*/
|
|
1436
|
+
declare const generateConfig: (framework: FrameworkDefinition, packageManager: PackageManager, refinedDefaults?: FrameworkDefaultConfig | undefined) => Effect.Effect<NormalizedConfig, never, never>;
|
|
1437
|
+
|
|
1438
|
+
/**
|
|
1439
|
+
* Merges framework defaults with a user-provided config.
|
|
1440
|
+
* User config always takes precedence; framework defaults fill gaps.
|
|
1441
|
+
*
|
|
1442
|
+
* - commands: use user's if non-empty, otherwise framework's
|
|
1443
|
+
* - entrypoints: use user's if non-empty, otherwise framework's
|
|
1444
|
+
* - routes: use user's if non-empty, otherwise framework's
|
|
1445
|
+
* - assets: use user's if it declares any sources, otherwise framework's
|
|
1446
|
+
* - excludeFiles: use user's if non-empty, otherwise framework's
|
|
1447
|
+
* - regions: always use user's (always populated from parsing)
|
|
1448
|
+
* - environmentVariables: deep merge (framework base, user overrides)
|
|
1449
|
+
* - services: always use user's (frameworks don't define services)
|
|
1450
|
+
* - warnings/errors: concatenate both
|
|
1451
|
+
*
|
|
1452
|
+
* @param userConfig - The config parsed from the user's config file
|
|
1453
|
+
* @param frameworkConfig - The config generated from framework detection
|
|
1454
|
+
* @returns The merged config
|
|
1455
|
+
*/
|
|
1456
|
+
declare const mergeWithFrameworkDefaults: (userConfig: NormalizedConfig, frameworkConfig: NormalizedConfig) => Effect.Effect<NormalizedConfig, never, never>;
|
|
1457
|
+
|
|
1458
|
+
/**
|
|
1459
|
+
* Reads dependency names from the appropriate manifest file for a language.
|
|
1460
|
+
* Returns a set of all dependency names (production + dev).
|
|
1461
|
+
*
|
|
1462
|
+
* If the manifest file does not exist, returns an empty set (graceful).
|
|
1463
|
+
* If the file exists but cannot be read (`ManifestReadError`) or parsed
|
|
1464
|
+
* (`ManifestParseError`), the error propagates — this indicates a real
|
|
1465
|
+
* problem the user should know about.
|
|
1146
1466
|
*
|
|
1147
|
-
* @param config - The parsed NormalizedConfig
|
|
1148
1467
|
* @param projectFolder - Absolute path to the project root
|
|
1149
|
-
* @
|
|
1468
|
+
* @param language - The framework language to determine which manifest to read
|
|
1469
|
+
* @returns A set of dependency package names
|
|
1470
|
+
*/
|
|
1471
|
+
declare const readDependencies: (projectFolder: string, language: FrameworkLanguage) => Effect.Effect<Set<string>, ManifestReadError | ManifestParseError, Path.Path | FileSystem.FileSystem>;
|
|
1472
|
+
|
|
1473
|
+
/**
|
|
1474
|
+
* Ensure a normalized config has no function files that are also defined as assets.
|
|
1475
|
+
* For example, a file `public/index.php` should not be defined as an asset, when it is a function and `public` is an asset folder.
|
|
1476
|
+
* @param config The normalized config to filter.
|
|
1477
|
+
* @returns A promise that resolves to the filtered config.
|
|
1150
1478
|
*/
|
|
1151
|
-
declare const
|
|
1479
|
+
declare const filterFunctionsFromAssets: (config: NormalizedConfig) => NormalizedConfig;
|
|
1152
1480
|
|
|
1153
|
-
declare const NetworkConfigLive: Layer.Layer<RawConfigReader | SchemaValidator | V4ConfigParser | VercelBuildOutputParser, never,
|
|
1481
|
+
declare const NetworkConfigLive: Layer.Layer<ConfigModuleLoader | RawConfigReader | SchemaValidator | V4ConfigParser | VercelBuildOutputParser, never, _effect_platform_Path.Path | _effect_platform_FileSystem.FileSystem>;
|
|
1154
1482
|
|
|
1155
|
-
export { ALLOWED_CONFIG_NAMES, AVAILABLE_REGIONS, AVAILABLE_RUNTIMES, type Config, ConfigFileEmptyError, ConfigFileNotFoundError, ConfigFileParseError, ConfigSchemaValidationError, type ConfigV4, type ConfigV4FunctionSettings, type ConfigV4Service, type ConfigV4ServicePostgres, type ConfigV4ServiceRedis, type ConfigV4ServiceStorage, type ConfigV4Services, type ConfigV4StorageBucket, ConfigVersionError, DEFAULT_FUNCTION_DURATION_SECONDS, type DetectionResult, FRAMEWORK_DEFINITIONS, type FilePathMap, type FrameworkDefaultConfig, type FrameworkDefinition, type FrameworkDetectionItem, type FrameworkLanguage, FrameworkNotDetectedError, FunctionConfigError, type GigadriveNextBuildManifest, GigadriveNextBuildManifestSchema, type GigadriveNextBuildManifestV1, GigadriveNextBuildManifestV1Schema, type GigadriveNextBuildManifestV2, type GigadriveNextBuildManifestV2Export, GigadriveNextBuildManifestV2ExportSchema, type GigadriveNextBuildManifestV2Standalone, GigadriveNextBuildManifestV2StandaloneSchema, type GigadriveNextPrerenderManifestV1, GigadriveNextPrerenderManifestV1Schema, type GigadriveNextPrerenderOutput, GigadriveNextPrerenderOutputSchema, type GigadriveNextServerDescriptor, GigadriveNextServerDescriptorSchema, type GigadriveNextStaticAssetPrefix, GigadriveNextStaticAssetPrefixSchema, type JsonValue, MAX_FUNCTION_DURATION_SECONDS, ManifestNotFoundError, ManifestParseError, ManifestReadError, type NeonAWSRegion, NetworkConfigLive, type NormalizedConfig, type NormalizedConfigEntrypoint, type NormalizedConfigRoute, type NormalizedConfigRouteHandler, type NormalizedConfigRouteMatchRequirements, type NormalizedConfigRouteMethod, type NormalizedConfigService, type NormalizedConfigServiceDefinition, type NormalizedConfigServicePostgres, type NormalizedConfigServiceRedis, type NormalizedConfigServiceStorage, type NormalizedConfigServiceType, type NormalizedConfigStorageBucket, type NormalizedFramework, type NormalizedImageFit, type NormalizedImageFormat, type NormalizedImageLocalPattern, type NormalizedImagePolicy, type NormalizedImageRemotePattern, type NormalizedImageVariant, type NormalizedNextjsFramework, type NormalizedSharedArtifact, type PackageManager, RawConfigReader, type Region, type Runtime, SchemaValidator, type StaticAssetHeaders, StaticAssetHeadersSchema, type StaticAssetManifest, type StaticAssetManifestEntry, StaticAssetManifestEntrySchema, type StaticAssetManifestV1, StaticAssetManifestV1Schema, type UpstashAWSRegion, V4ConfigParser, VercelBuildOutputParser, detectFramework, detectPackageManager, filterFunctionsFromAssets, generateConfig, getFunctionSettings, mergeWithFrameworkDefaults, parseConfig, parseConfigRaw, parseGigadriveNextBuildManifest, parseGigadriveNextPrerenderManifest, parseStaticAssetManifest, postProcessConfig, readDependencies };
|
|
1483
|
+
export { ALLOWED_CONFIG_NAMES, AVAILABLE_REGIONS, AVAILABLE_RUNTIMES, type Config, ConfigFileEmptyError, ConfigFileNotFoundError, ConfigFileParseError, ConfigModuleLoadError, ConfigModuleLoader, ConfigSchemaValidationError, type ConfigV4, type ConfigV4FunctionSettings, type ConfigV4Service, type ConfigV4ServicePostgres, type ConfigV4ServiceRedis, type ConfigV4ServiceStorage, type ConfigV4Services, type ConfigV4StorageBucket, ConfigVersionError, DEFAULT_FUNCTION_DURATION_SECONDS, type DetectionResult, FRAMEWORK_DEFINITIONS, type FilePathMap, type FrameworkDefaultConfig, type FrameworkDefinition, type FrameworkDetectionItem, type FrameworkLanguage, FrameworkNotDetectedError, FunctionConfigError, type GigadriveNextBuildManifest, GigadriveNextBuildManifestSchema, type GigadriveNextBuildManifestV1, GigadriveNextBuildManifestV1Schema, type GigadriveNextBuildManifestV2, type GigadriveNextBuildManifestV2Export, GigadriveNextBuildManifestV2ExportSchema, type GigadriveNextBuildManifestV2Standalone, GigadriveNextBuildManifestV2StandaloneSchema, type GigadriveNextMiddlewareDescriptor, GigadriveNextMiddlewareDescriptorSchema, type GigadriveNextMiddlewareMatcher, GigadriveNextMiddlewareMatcherSchema, type GigadriveNextPrerenderManifestV1, GigadriveNextPrerenderManifestV1Schema, type GigadriveNextPrerenderOutput, GigadriveNextPrerenderOutputSchema, type GigadriveNextPrerenderSeedMethods, GigadriveNextPrerenderSeedMethodsSchema, type GigadriveNextRouteCondition, GigadriveNextRouteConditionSchema, type GigadriveNextServerDescriptor, GigadriveNextServerDescriptorSchema, type GigadriveNextStaticAssetPrefix, GigadriveNextStaticAssetPrefixSchema, type JsonValue, MAX_FUNCTION_DURATION_SECONDS, ManifestNotFoundError, ManifestParseError, ManifestReadError, type NeonAWSRegion, NetworkConfigLive, type NormalizedConfig, type NormalizedConfigEntrypoint, type NormalizedConfigRoute, type NormalizedConfigRouteHandler, type NormalizedConfigRouteMatchRequirements, type NormalizedConfigRouteMethod, type NormalizedConfigService, type NormalizedConfigServiceDefinition, type NormalizedConfigServicePostgres, type NormalizedConfigServiceRedis, type NormalizedConfigServiceStorage, type NormalizedConfigServiceType, type NormalizedConfigStorageBucket, type NormalizedFramework, type NormalizedImageFit, type NormalizedImageFormat, type NormalizedImageLocalPattern, type NormalizedImagePolicy, type NormalizedImageRemotePattern, type NormalizedImageVariant, type NormalizedNextjsFramework, type NormalizedSharedArtifact, type PackageManager, RawConfigReader, type Region, type Runtime, SchemaValidator, type StaticAssetHeaders, StaticAssetHeadersSchema, type StaticAssetManifest, type StaticAssetManifestEntry, StaticAssetManifestEntrySchema, type StaticAssetManifestV1, StaticAssetManifestV1Schema, type UpstashAWSRegion, V4ConfigParser, VercelBuildOutputParser, defineConfig, detectFramework, detectPackageManager, filterFunctionsFromAssets, generateConfig, getFunctionSettings, mergeWithFrameworkDefaults, parseConfig, parseConfigRaw, parseGigadriveNextBuildManifest, parseGigadriveNextPrerenderManifest, parseStaticAssetManifest, postProcessConfig, readDependencies };
|