@gigadrive/network-config 4.6.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/index.d.mts +289 -10
- package/dist/index.d.ts +289 -10
- package/dist/index.js +178 -38
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +172 -36
- package/dist/index.mjs.map +1 -1
- package/dist/nextjs-adapter.js +30 -26
- package/dist/nextjs-adapter.js.map +1 -1
- package/dist/nextjs-adapter.mjs +30 -26
- package/dist/nextjs-adapter.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -48,8 +48,12 @@ __export(src_exports, {
|
|
|
48
48
|
GigadriveNextBuildManifestV1Schema: () => GigadriveNextBuildManifestV1Schema,
|
|
49
49
|
GigadriveNextBuildManifestV2ExportSchema: () => GigadriveNextBuildManifestV2ExportSchema,
|
|
50
50
|
GigadriveNextBuildManifestV2StandaloneSchema: () => GigadriveNextBuildManifestV2StandaloneSchema,
|
|
51
|
+
GigadriveNextMiddlewareDescriptorSchema: () => GigadriveNextMiddlewareDescriptorSchema,
|
|
52
|
+
GigadriveNextMiddlewareMatcherSchema: () => GigadriveNextMiddlewareMatcherSchema,
|
|
51
53
|
GigadriveNextPrerenderManifestV1Schema: () => GigadriveNextPrerenderManifestV1Schema,
|
|
52
54
|
GigadriveNextPrerenderOutputSchema: () => GigadriveNextPrerenderOutputSchema,
|
|
55
|
+
GigadriveNextPrerenderSeedMethodsSchema: () => GigadriveNextPrerenderSeedMethodsSchema,
|
|
56
|
+
GigadriveNextRouteConditionSchema: () => GigadriveNextRouteConditionSchema,
|
|
53
57
|
GigadriveNextServerDescriptorSchema: () => GigadriveNextServerDescriptorSchema,
|
|
54
58
|
GigadriveNextStaticAssetPrefixSchema: () => GigadriveNextStaticAssetPrefixSchema,
|
|
55
59
|
MAX_FUNCTION_DURATION_SECONDS: () => MAX_FUNCTION_DURATION_SECONDS,
|
|
@@ -537,38 +541,60 @@ var ImagePolicySchema = import_effect7.Schema.mutable(
|
|
|
537
541
|
variants: import_effect7.Schema.mutable(import_effect7.Schema.Record({ key: import_effect7.Schema.String, value: ImageVariantSchema }))
|
|
538
542
|
})
|
|
539
543
|
);
|
|
540
|
-
var
|
|
541
|
-
import_effect7.Schema.
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
import_effect7.Schema.Struct({
|
|
552
|
-
filePath: import_effect7.Schema.optional(PortableRelativePathSchema),
|
|
553
|
-
initialStatus: import_effect7.Schema.optional(import_effect7.Schema.Int.pipe(import_effect7.Schema.between(100, 599))),
|
|
554
|
-
initialHeaders: import_effect7.Schema.optional(HttpHeadersSchema),
|
|
555
|
-
initialExpiration: import_effect7.Schema.optional(import_effect7.Schema.Number),
|
|
556
|
-
initialRevalidate: import_effect7.Schema.optional(import_effect7.Schema.Union(import_effect7.Schema.Number, import_effect7.Schema.Literal(false))),
|
|
557
|
-
postponedState: import_effect7.Schema.optional(import_effect7.Schema.String)
|
|
558
|
-
})
|
|
559
|
-
)
|
|
560
|
-
),
|
|
561
|
-
config: import_effect7.Schema.mutable(
|
|
544
|
+
var GigadriveNextPrerenderOutputFields = {
|
|
545
|
+
id: import_effect7.Schema.String,
|
|
546
|
+
type: import_effect7.Schema.Literal("PRERENDER"),
|
|
547
|
+
pathname: UrlPathnameSchema,
|
|
548
|
+
route: import_effect7.Schema.optional(UrlPathnameSchema),
|
|
549
|
+
parentOutputId: import_effect7.Schema.String,
|
|
550
|
+
groupId: import_effect7.Schema.Number,
|
|
551
|
+
pprChain: import_effect7.Schema.optional(import_effect7.Schema.mutable(import_effect7.Schema.Struct({ headers: HttpSingleValueHeadersSchema }))),
|
|
552
|
+
parentFallbackMode: import_effect7.Schema.optional(JsonValueSchema),
|
|
553
|
+
fallback: import_effect7.Schema.optional(
|
|
554
|
+
import_effect7.Schema.mutable(
|
|
562
555
|
import_effect7.Schema.Struct({
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
556
|
+
filePath: import_effect7.Schema.optional(PortableRelativePathSchema),
|
|
557
|
+
initialStatus: import_effect7.Schema.optional(import_effect7.Schema.Int.pipe(import_effect7.Schema.between(100, 599))),
|
|
558
|
+
initialHeaders: import_effect7.Schema.optional(HttpHeadersSchema),
|
|
559
|
+
initialExpiration: import_effect7.Schema.optional(import_effect7.Schema.Number),
|
|
560
|
+
initialRevalidate: import_effect7.Schema.optional(import_effect7.Schema.Union(import_effect7.Schema.Number, import_effect7.Schema.Literal(false))),
|
|
561
|
+
postponedState: import_effect7.Schema.optional(import_effect7.Schema.String)
|
|
569
562
|
})
|
|
570
563
|
)
|
|
571
|
-
|
|
564
|
+
),
|
|
565
|
+
config: import_effect7.Schema.mutable(
|
|
566
|
+
import_effect7.Schema.Struct({
|
|
567
|
+
allowQuery: import_effect7.Schema.optional(StringArraySchema),
|
|
568
|
+
allowHeader: import_effect7.Schema.optional(StringArraySchema),
|
|
569
|
+
bypassFor: import_effect7.Schema.optional(import_effect7.Schema.mutable(import_effect7.Schema.Array(JsonValueSchema))),
|
|
570
|
+
renderingMode: import_effect7.Schema.optional(import_effect7.Schema.String),
|
|
571
|
+
partialFallback: import_effect7.Schema.optional(import_effect7.Schema.Boolean),
|
|
572
|
+
bypassToken: import_effect7.Schema.optional(import_effect7.Schema.String)
|
|
573
|
+
})
|
|
574
|
+
)
|
|
575
|
+
};
|
|
576
|
+
var GigadriveNextPrerenderClassificationSchema = import_effect7.Schema.Struct({
|
|
577
|
+
routeType: import_effect7.Schema.Literal("route", "fallback", "shell", "page"),
|
|
578
|
+
response: import_effect7.Schema.Literal("empty", "initial", "complete"),
|
|
579
|
+
compute: import_effect7.Schema.Literal("blocking", "resuming", "static"),
|
|
580
|
+
htmlSize: import_effect7.Schema.optional(import_effect7.Schema.Number)
|
|
581
|
+
});
|
|
582
|
+
var GigadriveNextPrerenderWithoutClassificationSchema = import_effect7.Schema.Struct({
|
|
583
|
+
routeType: import_effect7.Schema.optional(import_effect7.Schema.Never),
|
|
584
|
+
response: import_effect7.Schema.optional(import_effect7.Schema.Never),
|
|
585
|
+
compute: import_effect7.Schema.optional(import_effect7.Schema.Never),
|
|
586
|
+
htmlSize: import_effect7.Schema.optional(import_effect7.Schema.Never)
|
|
587
|
+
});
|
|
588
|
+
var GigadriveNextPrerenderOutputSchema = import_effect7.Schema.Union(
|
|
589
|
+
import_effect7.Schema.mutable(
|
|
590
|
+
import_effect7.Schema.Struct({ ...GigadriveNextPrerenderOutputFields, ...GigadriveNextPrerenderClassificationSchema.fields })
|
|
591
|
+
),
|
|
592
|
+
import_effect7.Schema.mutable(
|
|
593
|
+
import_effect7.Schema.Struct({
|
|
594
|
+
...GigadriveNextPrerenderOutputFields,
|
|
595
|
+
...GigadriveNextPrerenderWithoutClassificationSchema.fields
|
|
596
|
+
})
|
|
597
|
+
)
|
|
572
598
|
);
|
|
573
599
|
var GigadriveNextStaticAssetPrefixSchema = import_effect7.Schema.mutable(
|
|
574
600
|
import_effect7.Schema.Struct({
|
|
@@ -577,6 +603,43 @@ var GigadriveNextStaticAssetPrefixSchema = import_effect7.Schema.mutable(
|
|
|
577
603
|
immutable: import_effect7.Schema.Boolean
|
|
578
604
|
})
|
|
579
605
|
);
|
|
606
|
+
var GigadriveNextRouteConditionSchema = import_effect7.Schema.Union(
|
|
607
|
+
import_effect7.Schema.mutable(
|
|
608
|
+
import_effect7.Schema.Struct({
|
|
609
|
+
type: import_effect7.Schema.Literal("header", "cookie", "query"),
|
|
610
|
+
key: import_effect7.Schema.String,
|
|
611
|
+
value: import_effect7.Schema.optional(import_effect7.Schema.String)
|
|
612
|
+
})
|
|
613
|
+
),
|
|
614
|
+
import_effect7.Schema.mutable(
|
|
615
|
+
import_effect7.Schema.Struct({
|
|
616
|
+
type: import_effect7.Schema.Literal("host"),
|
|
617
|
+
value: import_effect7.Schema.String
|
|
618
|
+
})
|
|
619
|
+
)
|
|
620
|
+
);
|
|
621
|
+
var GigadriveNextMiddlewareMatcherSchema = import_effect7.Schema.mutable(
|
|
622
|
+
import_effect7.Schema.Struct({
|
|
623
|
+
source: import_effect7.Schema.String,
|
|
624
|
+
sourceRegex: import_effect7.Schema.String,
|
|
625
|
+
has: import_effect7.Schema.optional(import_effect7.Schema.mutable(import_effect7.Schema.Array(GigadriveNextRouteConditionSchema))),
|
|
626
|
+
missing: import_effect7.Schema.optional(import_effect7.Schema.mutable(import_effect7.Schema.Array(GigadriveNextRouteConditionSchema)))
|
|
627
|
+
})
|
|
628
|
+
);
|
|
629
|
+
var GigadriveNextMiddlewareDescriptorSchema = import_effect7.Schema.Union(
|
|
630
|
+
import_effect7.Schema.mutable(
|
|
631
|
+
import_effect7.Schema.Struct({
|
|
632
|
+
present: import_effect7.Schema.Literal(true),
|
|
633
|
+
matchers: import_effect7.Schema.mutable(import_effect7.Schema.Array(GigadriveNextMiddlewareMatcherSchema))
|
|
634
|
+
})
|
|
635
|
+
),
|
|
636
|
+
import_effect7.Schema.mutable(
|
|
637
|
+
import_effect7.Schema.Struct({
|
|
638
|
+
present: import_effect7.Schema.Literal(false),
|
|
639
|
+
matchers: import_effect7.Schema.mutable(import_effect7.Schema.Tuple())
|
|
640
|
+
})
|
|
641
|
+
)
|
|
642
|
+
);
|
|
580
643
|
var GigadriveNextServerDescriptorSchema = import_effect7.Schema.mutable(
|
|
581
644
|
import_effect7.Schema.Struct({
|
|
582
645
|
maxDuration: import_effect7.Schema.optional(import_effect7.Schema.Number),
|
|
@@ -587,6 +650,9 @@ var GigadriveNextServerDescriptorSchema = import_effect7.Schema.mutable(
|
|
|
587
650
|
var PrerenderArraySchema = import_effect7.Schema.mutable(import_effect7.Schema.Array(GigadriveNextPrerenderOutputSchema));
|
|
588
651
|
var StaticAssetArraySchema = import_effect7.Schema.mutable(import_effect7.Schema.Array(GigadriveNextStaticAssetPrefixSchema));
|
|
589
652
|
var JsonValueArraySchema = import_effect7.Schema.mutable(import_effect7.Schema.Array(JsonValueSchema));
|
|
653
|
+
var GigadriveNextPrerenderSeedMethodsSchema = import_effect7.Schema.mutable(
|
|
654
|
+
import_effect7.Schema.Tuple(import_effect7.Schema.Literal("GET"), import_effect7.Schema.Literal("HEAD"))
|
|
655
|
+
);
|
|
590
656
|
var GigadriveNextBuildManifestV1Schema = import_effect7.Schema.mutable(
|
|
591
657
|
import_effect7.Schema.Struct({
|
|
592
658
|
version: import_effect7.Schema.Literal(1),
|
|
@@ -643,7 +709,8 @@ var GigadriveNextBuildManifestV2StandaloneSchema = import_effect7.Schema.mutable
|
|
|
643
709
|
prerenderManifest: import_effect7.Schema.optional(PortableRelativePathSchema),
|
|
644
710
|
assetManifest: import_effect7.Schema.optional(PortableRelativePathSchema),
|
|
645
711
|
entryPagePaths: import_effect7.Schema.optional(import_effect7.Schema.mutable(import_effect7.Schema.Array(UrlPathnameSchema))),
|
|
646
|
-
staticAssets: StaticAssetArraySchema
|
|
712
|
+
staticAssets: StaticAssetArraySchema,
|
|
713
|
+
middleware: import_effect7.Schema.optional(GigadriveNextMiddlewareDescriptorSchema)
|
|
647
714
|
})
|
|
648
715
|
)
|
|
649
716
|
})
|
|
@@ -656,6 +723,7 @@ var GigadriveNextBuildManifestSchema = import_effect7.Schema.Union(
|
|
|
656
723
|
var GigadriveNextPrerenderManifestV1Schema = import_effect7.Schema.mutable(
|
|
657
724
|
import_effect7.Schema.Struct({
|
|
658
725
|
version: import_effect7.Schema.Literal(1),
|
|
726
|
+
seedMethods: import_effect7.Schema.optional(GigadriveNextPrerenderSeedMethodsSchema),
|
|
659
727
|
prerenders: PrerenderArraySchema
|
|
660
728
|
})
|
|
661
729
|
);
|
|
@@ -1521,9 +1589,51 @@ var SchemaValidator = class extends import_effect18.Effect.Service()("SchemaVali
|
|
|
1521
1589
|
|
|
1522
1590
|
// src/services/v4-config-parser.ts
|
|
1523
1591
|
var import_platform10 = require("@effect/platform");
|
|
1524
|
-
|
|
1525
|
-
|
|
1592
|
+
|
|
1593
|
+
// ../build-utils/src/get-files-for-pattern.ts
|
|
1526
1594
|
var import_minimatch = require("minimatch");
|
|
1595
|
+
var import_promises = require("fs/promises");
|
|
1596
|
+
var getFilesForPattern = async (pattern, projectFolder, excludeFiles = []) => {
|
|
1597
|
+
const files = [];
|
|
1598
|
+
const filesInFolder = await (0, import_promises.readdir)(projectFolder, { recursive: true });
|
|
1599
|
+
const exactFiles = new Set(filesInFolder.filter((file) => typeof file === "string"));
|
|
1600
|
+
let regex = null;
|
|
1601
|
+
if (!exactFiles.has(pattern)) {
|
|
1602
|
+
try {
|
|
1603
|
+
regex = new RegExp(`^(?:${pattern})$`);
|
|
1604
|
+
} catch {
|
|
1605
|
+
}
|
|
1606
|
+
}
|
|
1607
|
+
const finalExclusions = Array.isArray(excludeFiles) ? excludeFiles : [excludeFiles];
|
|
1608
|
+
for (const file of filesInFolder) {
|
|
1609
|
+
if (typeof file !== "string") {
|
|
1610
|
+
continue;
|
|
1611
|
+
}
|
|
1612
|
+
if (finalExclusions.some((excludeFile) => {
|
|
1613
|
+
if ((0, import_minimatch.minimatch)(file, excludeFile)) {
|
|
1614
|
+
return true;
|
|
1615
|
+
}
|
|
1616
|
+
if (!exactFiles.has(excludeFile)) {
|
|
1617
|
+
try {
|
|
1618
|
+
return new RegExp(`^(?:${excludeFile})$`).test(file);
|
|
1619
|
+
} catch {
|
|
1620
|
+
return false;
|
|
1621
|
+
}
|
|
1622
|
+
}
|
|
1623
|
+
return false;
|
|
1624
|
+
})) {
|
|
1625
|
+
continue;
|
|
1626
|
+
}
|
|
1627
|
+
if ((0, import_minimatch.minimatch)(file, pattern) || regex != null && regex.test(file)) {
|
|
1628
|
+
files.push(file);
|
|
1629
|
+
}
|
|
1630
|
+
}
|
|
1631
|
+
return files;
|
|
1632
|
+
};
|
|
1633
|
+
|
|
1634
|
+
// src/services/v4-config-parser.ts
|
|
1635
|
+
var import_effect19 = require("effect");
|
|
1636
|
+
var import_minimatch2 = require("minimatch");
|
|
1527
1637
|
var import_safe_regex2 = __toESM(require("safe-regex2"));
|
|
1528
1638
|
var MAX_ASSET_DEPTH = 100;
|
|
1529
1639
|
var DISALLOWED_ASSET_EXTENSIONS = [".htaccess", ".htpasswd"];
|
|
@@ -1588,7 +1698,7 @@ var destinationMatchesEntrypoint = (destination, entrypointPath) => {
|
|
|
1588
1698
|
return new RegExp(`^${pattern}$`).test(entrypointPath);
|
|
1589
1699
|
};
|
|
1590
1700
|
var matchesPattern = (path2, pattern) => {
|
|
1591
|
-
if ((0,
|
|
1701
|
+
if ((0, import_minimatch2.minimatch)(path2, pattern)) return true;
|
|
1592
1702
|
try {
|
|
1593
1703
|
if ((0, import_safe_regex2.default)(pattern)) {
|
|
1594
1704
|
return new RegExp(pattern).test(path2);
|
|
@@ -1639,7 +1749,7 @@ var parseEntrypoints = import_effect19.Effect.fn("parseEntrypoints")(function* (
|
|
|
1639
1749
|
});
|
|
1640
1750
|
}
|
|
1641
1751
|
const matchedFiles = yield* import_effect19.Effect.tryPromise({
|
|
1642
|
-
try: () =>
|
|
1752
|
+
try: () => getFilesForPattern(fnPath, projectFolder, func.excludeFiles),
|
|
1643
1753
|
catch: (error) => new FunctionConfigError({
|
|
1644
1754
|
message: `Failed to resolve files for function pattern '${fnPath}': ${error instanceof Error ? error.message : String(error)}`,
|
|
1645
1755
|
functionPath: fnPath
|
|
@@ -1751,8 +1861,34 @@ var V4ConfigParser = class extends import_effect19.Effect.Service()("V4ConfigPar
|
|
|
1751
1861
|
|
|
1752
1862
|
// src/services/vercel-build-output-parser.ts
|
|
1753
1863
|
var import_platform11 = require("@effect/platform");
|
|
1754
|
-
|
|
1755
|
-
|
|
1864
|
+
|
|
1865
|
+
// ../commons/src/deep-merge.ts
|
|
1866
|
+
var deepMerge = (target, ...partials) => {
|
|
1867
|
+
const isObject = (item) => item !== null && typeof item === "object";
|
|
1868
|
+
if (!isObject(target)) {
|
|
1869
|
+
return target;
|
|
1870
|
+
}
|
|
1871
|
+
for (const partial of partials) {
|
|
1872
|
+
if (!isObject(partial)) {
|
|
1873
|
+
continue;
|
|
1874
|
+
}
|
|
1875
|
+
Object.keys(partial).forEach((key) => {
|
|
1876
|
+
if (key === "__proto__" || key === "constructor") return;
|
|
1877
|
+
const targetValue = target[key];
|
|
1878
|
+
const sourceValue = partial[key];
|
|
1879
|
+
if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
|
|
1880
|
+
targetValue.push(...sourceValue);
|
|
1881
|
+
} else if (isObject(targetValue) && isObject(sourceValue)) {
|
|
1882
|
+
deepMerge(targetValue, sourceValue);
|
|
1883
|
+
} else {
|
|
1884
|
+
target[key] = sourceValue;
|
|
1885
|
+
}
|
|
1886
|
+
});
|
|
1887
|
+
}
|
|
1888
|
+
return target;
|
|
1889
|
+
};
|
|
1890
|
+
|
|
1891
|
+
// src/services/vercel-build-output-parser.ts
|
|
1756
1892
|
var import_effect20 = require("effect");
|
|
1757
1893
|
|
|
1758
1894
|
// src/build-output-v3/determine-repo-root.ts
|
|
@@ -1861,13 +1997,13 @@ var VercelBuildOutputParser = class extends import_effect20.Effect.Service()("Ve
|
|
|
1861
1997
|
const functionData = yield* loadFunctions(config, parseResult, projectFolder);
|
|
1862
1998
|
const assetOverrides = loadAssetOverrides(config, parseResult);
|
|
1863
1999
|
const imagePolicy = loadImagePolicy(config);
|
|
1864
|
-
const merged =
|
|
2000
|
+
const merged = deepMerge(parseResult, functionData, assetOverrides, imagePolicy);
|
|
1865
2001
|
merged.regions = [...new Set(merged.regions)];
|
|
1866
2002
|
return merged;
|
|
1867
2003
|
});
|
|
1868
2004
|
const loadFunctions = import_effect20.Effect.fn("VercelBuildOutputParser.loadFunctions")(function* (config, parseResult, projectFolder) {
|
|
1869
2005
|
const functionConfigs = yield* import_effect20.Effect.tryPromise({
|
|
1870
|
-
try: () =>
|
|
2006
|
+
try: () => getFilesForPattern(FUNCTION_CONFIGS_PATTERN, projectFolder),
|
|
1871
2007
|
catch: (error) => new ConfigFileParseError({
|
|
1872
2008
|
message: `Failed to scan for function configs: ${error instanceof Error ? error.message : String(error)}`,
|
|
1873
2009
|
filePath: projectFolder
|
|
@@ -2548,8 +2684,12 @@ var NetworkConfigLive = VercelBuildOutputParser.Default.pipe(import_effect22.Lay
|
|
|
2548
2684
|
GigadriveNextBuildManifestV1Schema,
|
|
2549
2685
|
GigadriveNextBuildManifestV2ExportSchema,
|
|
2550
2686
|
GigadriveNextBuildManifestV2StandaloneSchema,
|
|
2687
|
+
GigadriveNextMiddlewareDescriptorSchema,
|
|
2688
|
+
GigadriveNextMiddlewareMatcherSchema,
|
|
2551
2689
|
GigadriveNextPrerenderManifestV1Schema,
|
|
2552
2690
|
GigadriveNextPrerenderOutputSchema,
|
|
2691
|
+
GigadriveNextPrerenderSeedMethodsSchema,
|
|
2692
|
+
GigadriveNextRouteConditionSchema,
|
|
2553
2693
|
GigadriveNextServerDescriptorSchema,
|
|
2554
2694
|
GigadriveNextStaticAssetPrefixSchema,
|
|
2555
2695
|
MAX_FUNCTION_DURATION_SECONDS,
|