@farm.js/core 0.1.0-beta.14 → 0.1.0-beta.17
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/after.d.mts +25 -0
- package/dist/after.d.ts +25 -0
- package/dist/agent-runtime.d.mts +96 -0
- package/dist/agent-runtime.d.ts +96 -0
- package/dist/api/route-manager.cjs.map +1 -1
- package/dist/api/route-manager.d.mts +66 -0
- package/dist/api/route-manager.d.ts +66 -0
- package/dist/api/route-manager.mjs +2 -2
- package/dist/api/runtime.cjs.map +1 -1
- package/dist/api/runtime.d.mts +3 -0
- package/dist/api/runtime.d.ts +3 -0
- package/dist/api/runtime.mjs +1 -1
- package/dist/api.cjs +18 -10
- package/dist/api.cjs.map +1 -1
- package/dist/api.d.mts +48 -0
- package/dist/api.d.ts +48 -0
- package/dist/api.mjs +3 -3
- package/dist/app-B0tE1I3o.d.ts +306 -0
- package/dist/app-Dv2JJb7X.d.mts +306 -0
- package/dist/app-markdown.d.mts +24 -0
- package/dist/app-markdown.d.ts +24 -0
- package/dist/cache.d.mts +192 -0
- package/dist/cache.d.ts +192 -0
- package/dist/{chunk-VUL55IAX.mjs → chunk-2FLBZFPG.mjs} +19 -19
- package/dist/chunk-2FLBZFPG.mjs.map +1 -0
- package/dist/{chunk-B232I2GP.mjs → chunk-3HIVDX7J.mjs} +12 -1
- package/dist/chunk-3HIVDX7J.mjs.map +1 -0
- package/dist/{chunk-JDEOUK5V.mjs → chunk-6YXKHAFU.mjs} +3 -3
- package/dist/{chunk-Z5CQMP54.mjs → chunk-ARRYKOI5.mjs} +2 -2
- package/dist/{chunk-KLA67WKG.mjs → chunk-B3FFOIWS.mjs} +2 -2
- package/dist/chunk-E257KFBU.mjs +227 -0
- package/dist/chunk-E257KFBU.mjs.map +1 -0
- package/dist/{chunk-PFE6GMNE.mjs → chunk-HMRFYJK6.mjs} +19 -11
- package/dist/chunk-HMRFYJK6.mjs.map +1 -0
- package/dist/{chunk-OPHK6OJN.mjs → chunk-JAEAE27K.mjs} +2 -2
- package/dist/{chunk-32W4QEJP.mjs → chunk-KFTGPFRD.mjs} +1 -1
- package/dist/chunk-KFTGPFRD.mjs.map +1 -0
- package/dist/{chunk-L2PE36GQ.mjs → chunk-PZXBQKCH.mjs} +15 -6
- package/dist/chunk-PZXBQKCH.mjs.map +1 -0
- package/dist/{chunk-UXUAWNO5.mjs → chunk-RIXKJPGI.mjs} +117 -55
- package/dist/chunk-RIXKJPGI.mjs.map +1 -0
- package/dist/{chunk-PNFQQSRA.mjs → chunk-T2M5QANG.mjs} +143 -41
- package/dist/chunk-T2M5QANG.mjs.map +1 -0
- package/dist/{chunk-WDU6QXNK.mjs → chunk-UCYWGN2P.mjs} +1 -1
- package/dist/chunk-UCYWGN2P.mjs.map +1 -0
- package/dist/{chunk-65A7QIKI.mjs → chunk-UMVLB3PN.mjs} +3 -3
- package/dist/chunk-UMVLB3PN.mjs.map +1 -0
- package/dist/{chunk-ARCGE2VT.mjs → chunk-VFDBC3W7.mjs} +2 -2
- package/dist/{chunk-ARCGE2VT.mjs.map → chunk-VFDBC3W7.mjs.map} +1 -1
- package/dist/{chunk-VY2UYN5R.mjs → chunk-VPCFICID.mjs} +82 -3
- package/dist/chunk-VPCFICID.mjs.map +1 -0
- package/dist/{chunk-H3TE3LOV.mjs → chunk-XMFTIVJH.mjs} +2 -2
- package/dist/{chunk-UB5UOSHB.mjs → chunk-ZVMV3THA.mjs} +71 -2
- package/dist/chunk-ZVMV3THA.mjs.map +1 -0
- package/dist/chunk-recovery-lnQFzcQP.d.mts +26 -0
- package/dist/chunk-recovery-lnQFzcQP.d.ts +26 -0
- package/dist/client-BT1mFQas.d.mts +447 -0
- package/dist/client-Nn0q4eO4.d.ts +447 -0
- package/dist/client-cache-CIlyBlmx.d.ts +6 -0
- package/dist/client-cache-D-EZ7XVW.d.mts +6 -0
- package/dist/client-plugins-278AvYHE.d.mts +2021 -0
- package/dist/client-plugins-CTQAkr7R.d.ts +2021 -0
- package/dist/client-plugins.d.mts +24 -0
- package/dist/client-plugins.d.ts +24 -0
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.mts +452 -0
- package/dist/client.d.ts +452 -0
- package/dist/client.mjs +3 -3
- package/dist/config.d.mts +31 -0
- package/dist/config.d.ts +31 -0
- package/dist/cron.d.mts +78 -0
- package/dist/cron.d.ts +78 -0
- package/dist/deferred.d.mts +42 -0
- package/dist/deferred.d.ts +42 -0
- package/dist/deployment.cjs +12 -0
- package/dist/deployment.cjs.map +1 -1
- package/dist/deployment.d.mts +36 -0
- package/dist/deployment.d.ts +36 -0
- package/dist/deployment.mjs +3 -1
- package/dist/{devtools-GAZ7F3KL.mjs → devtools-K2ERKGNI.mjs} +5 -5
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.mts +80 -0
- package/dist/docs.d.ts +80 -0
- package/dist/docs.mjs +5 -5
- package/dist/env-types.d.mts +12 -0
- package/dist/env-types.d.ts +12 -0
- package/dist/env.d.mts +45 -0
- package/dist/env.d.ts +45 -0
- package/dist/environment/vite.d.mts +22 -0
- package/dist/environment/vite.d.ts +22 -0
- package/dist/environment.d.mts +18 -0
- package/dist/environment.d.ts +18 -0
- package/dist/font.d.mts +95 -0
- package/dist/font.d.ts +95 -0
- package/dist/headers.d.mts +22 -0
- package/dist/headers.d.ts +22 -0
- package/dist/i18n/client.d.mts +32 -0
- package/dist/i18n/client.d.ts +32 -0
- package/dist/i18n/index.d.mts +20 -0
- package/dist/i18n/index.d.ts +20 -0
- package/dist/i18n/server.d.mts +30 -0
- package/dist/i18n/server.d.ts +30 -0
- package/dist/image/server.d.mts +37 -0
- package/dist/image/server.d.ts +37 -0
- package/dist/image/sharp.d.mts +7 -0
- package/dist/image/sharp.d.ts +7 -0
- package/dist/image-config-Duob7wER.d.mts +50 -0
- package/dist/image-config-Duob7wER.d.ts +50 -0
- package/dist/image.d.mts +39 -0
- package/dist/image.d.ts +39 -0
- package/dist/index.cjs +598 -109
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +477 -0
- package/dist/index.d.ts +477 -0
- package/dist/index.mjs +45 -29
- package/dist/index.mjs.map +1 -1
- package/dist/integration-api-CHT2OKAf.d.mts +93 -0
- package/dist/integration-api-CHT2OKAf.d.ts +93 -0
- package/dist/integrations.d.mts +24 -0
- package/dist/integrations.d.ts +24 -0
- package/dist/internal/build-runtime.cjs +438 -176
- package/dist/internal/build-runtime.cjs.map +1 -1
- package/dist/internal/build-runtime.d.mts +41 -0
- package/dist/internal/build-runtime.d.ts +41 -0
- package/dist/internal/build-runtime.mjs +13 -13
- package/dist/internal/client-runtime.d.mts +17 -0
- package/dist/internal/client-runtime.d.ts +17 -0
- package/dist/internal/config-runtime.cjs +140 -1
- package/dist/internal/config-runtime.cjs.map +1 -1
- package/dist/internal/config-runtime.d.mts +41 -0
- package/dist/internal/config-runtime.d.ts +41 -0
- package/dist/internal/config-runtime.mjs +4 -4
- package/dist/internal/metadata-image-runtime.d.mts +25 -0
- package/dist/internal/metadata-image-runtime.d.ts +25 -0
- package/dist/internal/production-node-env.d.mts +12 -0
- package/dist/internal/production-node-env.d.ts +12 -0
- package/dist/internal/production-runtime.d.mts +44 -0
- package/dist/internal/production-runtime.d.ts +44 -0
- package/dist/island-CfGru1MO.d.mts +9 -0
- package/dist/island-CfGru1MO.d.ts +9 -0
- package/dist/markdown.d.mts +60 -0
- package/dist/markdown.d.ts +60 -0
- package/dist/metadata-DmCudMw_.d.mts +22 -0
- package/dist/metadata-xghtOlbR.d.ts +22 -0
- package/dist/middleware.cjs +116 -98
- package/dist/middleware.cjs.map +1 -1
- package/dist/middleware.d.mts +171 -0
- package/dist/middleware.d.ts +171 -0
- package/dist/middleware.mjs +5 -2
- package/dist/navigation-errors-Dvwpzaer.d.mts +13 -0
- package/dist/navigation-errors-Dvwpzaer.d.ts +13 -0
- package/dist/navigation.cjs.map +1 -1
- package/dist/navigation.d.mts +14 -0
- package/dist/navigation.d.ts +14 -0
- package/dist/navigation.mjs +3 -3
- package/dist/observability.d.mts +335 -0
- package/dist/observability.d.ts +335 -0
- package/dist/params-BALtrRim.d.ts +15 -0
- package/dist/params-ry-lxqmy.d.mts +15 -0
- package/dist/plugin-BJDf43dc.d.mts +165 -0
- package/dist/plugin-BJDf43dc.d.ts +165 -0
- package/dist/plugin.cjs +247 -28
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.mts +24 -0
- package/dist/plugin.d.ts +24 -0
- package/dist/plugin.mjs +10 -10
- package/dist/production-runtime-BLxSv9cU.d.ts +79 -0
- package/dist/production-runtime-DFN2_RXq.d.mts +79 -0
- package/dist/query/client.d.mts +61 -0
- package/dist/query/client.d.ts +61 -0
- package/dist/query/index.d.mts +90 -0
- package/dist/query/index.d.ts +90 -0
- package/dist/query/parsers.d.mts +25 -0
- package/dist/query/parsers.d.ts +25 -0
- package/dist/query/server.d.mts +55 -0
- package/dist/query/server.d.ts +55 -0
- package/dist/request-Cq5d6qmE.d.mts +6 -0
- package/dist/request-LoxDW3lp.d.ts +6 -0
- package/dist/request.d.mts +25 -0
- package/dist/request.d.ts +25 -0
- package/dist/resolver-DJqjLMg_.d.mts +14 -0
- package/dist/resolver-IH4RmPEl.d.ts +14 -0
- package/dist/route-runtime-DoOHzCAD.d.mts +38 -0
- package/dist/route-runtime-DoOHzCAD.d.ts +38 -0
- package/dist/router.d.mts +36 -0
- package/dist/router.d.ts +36 -0
- package/dist/routes.d.mts +226 -0
- package/dist/routes.d.ts +226 -0
- package/dist/runtime-BA9TOSu1.d.mts +231 -0
- package/dist/runtime-Cxpq6xZN.d.mts +27 -0
- package/dist/runtime-DTAQ2HDv.d.ts +231 -0
- package/dist/runtime-bv63eUiO.d.ts +27 -0
- package/dist/server-action-security.cjs +23 -1
- package/dist/server-action-security.cjs.map +1 -1
- package/dist/server-action-security.d.mts +45 -0
- package/dist/server-action-security.d.ts +45 -0
- package/dist/server-action-security.mjs +1 -1
- package/dist/server-fn-client.cjs.map +1 -1
- package/dist/server-fn-client.d.mts +33 -0
- package/dist/server-fn-client.d.ts +33 -0
- package/dist/server-fn-client.mjs +1 -1
- package/dist/server-fn-error-DDh14a0V.d.mts +26 -0
- package/dist/server-fn-error-DDh14a0V.d.ts +26 -0
- package/dist/server-fn.cjs +140 -3
- package/dist/server-fn.cjs.map +1 -1
- package/dist/server-fn.d.mts +121 -0
- package/dist/server-fn.d.ts +121 -0
- package/dist/server-fn.mjs +14 -3
- package/dist/server-plugins.d.mts +57 -0
- package/dist/server-plugins.d.ts +57 -0
- package/dist/server-query-client.d.mts +51 -0
- package/dist/server-query-client.d.ts +51 -0
- package/dist/server-query.cjs +99 -1
- package/dist/server-query.cjs.map +1 -1
- package/dist/server-query.d.mts +37 -0
- package/dist/server-query.d.ts +37 -0
- package/dist/server-query.mjs +3 -3
- package/dist/server.cjs +403 -33
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.mts +51 -0
- package/dist/server.d.ts +51 -0
- package/dist/server.mjs +14 -14
- package/dist/storage.d.mts +52 -0
- package/dist/storage.d.ts +52 -0
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.mts +103 -0
- package/dist/testing.d.ts +103 -0
- package/dist/testing.mjs +3 -3
- package/dist/transport-BmbGTXA5.d.mts +49 -0
- package/dist/transport-BmbGTXA5.d.ts +49 -0
- package/dist/types-BMxWr97v.d.mts +81 -0
- package/dist/types-BMxWr97v.d.ts +81 -0
- package/dist/types-D1A6-XvH.d.mts +73 -0
- package/dist/types-D1A6-XvH.d.ts +73 -0
- package/dist/types-DTzm4TCl.d.mts +78 -0
- package/dist/types-DTzm4TCl.d.ts +78 -0
- package/dist/utils-B6GaYNJL.d.ts +23 -0
- package/dist/utils-CKSHiip6.d.mts +23 -0
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.mts +3 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +255 -30
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.d.mts +24 -0
- package/dist/vite.d.ts +24 -0
- package/dist/vite.mjs +10 -10
- package/dist/workflows.d.mts +110 -0
- package/dist/workflows.d.ts +110 -0
- package/package.json +1 -1
- package/types/middleware.d.ts +36 -11
- package/dist/chunk-32W4QEJP.mjs.map +0 -1
- package/dist/chunk-65A7QIKI.mjs.map +0 -1
- package/dist/chunk-B232I2GP.mjs.map +0 -1
- package/dist/chunk-I4CUBGVF.mjs +0 -93
- package/dist/chunk-I4CUBGVF.mjs.map +0 -1
- package/dist/chunk-L2PE36GQ.mjs.map +0 -1
- package/dist/chunk-PFE6GMNE.mjs.map +0 -1
- package/dist/chunk-PNFQQSRA.mjs.map +0 -1
- package/dist/chunk-UB5UOSHB.mjs.map +0 -1
- package/dist/chunk-UXUAWNO5.mjs.map +0 -1
- package/dist/chunk-VUL55IAX.mjs.map +0 -1
- package/dist/chunk-VY2UYN5R.mjs.map +0 -1
- package/dist/chunk-WDU6QXNK.mjs.map +0 -1
- /package/dist/{chunk-JDEOUK5V.mjs.map → chunk-6YXKHAFU.mjs.map} +0 -0
- /package/dist/{chunk-Z5CQMP54.mjs.map → chunk-ARRYKOI5.mjs.map} +0 -0
- /package/dist/{chunk-KLA67WKG.mjs.map → chunk-B3FFOIWS.mjs.map} +0 -0
- /package/dist/{chunk-OPHK6OJN.mjs.map → chunk-JAEAE27K.mjs.map} +0 -0
- /package/dist/{chunk-H3TE3LOV.mjs.map → chunk-XMFTIVJH.mjs.map} +0 -0
- /package/dist/{devtools-GAZ7F3KL.mjs.map → devtools-K2ERKGNI.mjs.map} +0 -0
package/dist/cron.d.ts
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
type FarmCronSchedule = string | string[];
|
|
2
|
+
interface FarmCronJobConfig {
|
|
3
|
+
/** Portable five-field cron expression, or a list of expressions. */
|
|
4
|
+
schedule: FarmCronSchedule;
|
|
5
|
+
/** Farm API route invoked with GET when the schedule fires. */
|
|
6
|
+
path: string;
|
|
7
|
+
/** Human-readable purpose shown by local tooling and deployment manifests. */
|
|
8
|
+
description?: string;
|
|
9
|
+
/** Disable this schedule without removing its configuration. */
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
type FarmCronUserConfig = Record<string, FarmCronJobConfig>;
|
|
13
|
+
interface FarmCronJob {
|
|
14
|
+
name: string;
|
|
15
|
+
schedule: string[];
|
|
16
|
+
path: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
}
|
|
19
|
+
interface FarmCronResolvedConfig {
|
|
20
|
+
enabled: boolean;
|
|
21
|
+
secretEnv: typeof DEFAULT_FARM_CRON_SECRET_ENV;
|
|
22
|
+
jobs: FarmCronJob[];
|
|
23
|
+
}
|
|
24
|
+
interface PreparedFarmCron {
|
|
25
|
+
jobs: FarmCronJob[];
|
|
26
|
+
tasks: Record<string, {
|
|
27
|
+
handler: string;
|
|
28
|
+
description: string;
|
|
29
|
+
}>;
|
|
30
|
+
scheduledTasks: Record<string, string | string[]>;
|
|
31
|
+
manifestPath?: string;
|
|
32
|
+
}
|
|
33
|
+
interface FarmCronRouteOptions {
|
|
34
|
+
/** Environment variable containing the bearer token. */
|
|
35
|
+
secretEnv?: string;
|
|
36
|
+
/** Inline token, primarily useful in tests. Environment variables are preferred. */
|
|
37
|
+
secret?: string;
|
|
38
|
+
/** Allow a production route without a secret. Defaults to false. */
|
|
39
|
+
allowUnsecured?: boolean;
|
|
40
|
+
}
|
|
41
|
+
interface FarmCronCloudflareConfig {
|
|
42
|
+
deployConfig: true;
|
|
43
|
+
wrangler: {
|
|
44
|
+
triggers: {
|
|
45
|
+
crons: string[];
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
declare const DEFAULT_FARM_CRON_SECRET_ENV = "CRON_SECRET";
|
|
50
|
+
declare const FARM_CRON_MANIFEST = "cron-manifest.json";
|
|
51
|
+
declare function resolveCronConfig(cron: FarmCronResolvedConfig | FarmCronUserConfig | false | undefined): FarmCronResolvedConfig;
|
|
52
|
+
declare function prepareFarmCronForNitro(config: {
|
|
53
|
+
root?: string;
|
|
54
|
+
distDir?: string;
|
|
55
|
+
cron?: FarmCronResolvedConfig | FarmCronUserConfig | false;
|
|
56
|
+
}): Promise<PreparedFarmCron>;
|
|
57
|
+
declare function createFarmCronManifest(cron: FarmCronResolvedConfig): {
|
|
58
|
+
schemaVersion: number;
|
|
59
|
+
secretEnv: "CRON_SECRET";
|
|
60
|
+
jobs: {
|
|
61
|
+
name: string;
|
|
62
|
+
schedule: string[];
|
|
63
|
+
path: string;
|
|
64
|
+
description: string | null;
|
|
65
|
+
}[];
|
|
66
|
+
};
|
|
67
|
+
declare function createFarmCronVercelCrons(jobs: FarmCronJob[]): Array<{
|
|
68
|
+
path: string;
|
|
69
|
+
schedule: string;
|
|
70
|
+
}>;
|
|
71
|
+
declare function applyFarmCronVercelCrons(vercelConfig: Record<string, any>, jobs: FarmCronJob[]): Record<string, any>;
|
|
72
|
+
declare function createFarmCronCloudflareTriggers(jobs: FarmCronJob[]): string[];
|
|
73
|
+
declare function createFarmCronCloudflareConfig(jobs: FarmCronJob[]): FarmCronCloudflareConfig | undefined;
|
|
74
|
+
declare function mergeScheduledTasks(...maps: Array<Record<string, string | string[]> | undefined>): Record<string, string | string[]>;
|
|
75
|
+
declare function isCronRequestAuthorized(request: Request, options?: FarmCronRouteOptions): boolean;
|
|
76
|
+
declare function cronRoute<TArgs extends unknown[], TResult>(handler: (request: Request, ...args: TArgs) => TResult, options?: FarmCronRouteOptions): (request: Request, ...args: TArgs) => TResult | Promise<Response>;
|
|
77
|
+
|
|
78
|
+
export { DEFAULT_FARM_CRON_SECRET_ENV, FARM_CRON_MANIFEST, type FarmCronCloudflareConfig, type FarmCronJob, type FarmCronJobConfig, type FarmCronResolvedConfig, type FarmCronRouteOptions, type FarmCronSchedule, type FarmCronUserConfig, type PreparedFarmCron, applyFarmCronVercelCrons, createFarmCronCloudflareConfig, createFarmCronCloudflareTriggers, createFarmCronManifest, createFarmCronVercelCrons, cronRoute, isCronRequestAuthorized, mergeScheduledTasks, prepareFarmCronForNitro, resolveCronConfig };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
declare const FARM_DEFERRED_CONTENT_TYPE = "application/x-farm-deferred+json";
|
|
2
|
+
declare const FARM_DEFERRED_ERROR_CODE = "FARM_DEFERRED_DATA_ERROR";
|
|
3
|
+
declare const FARM_DEFERRED_BRAND: unique symbol;
|
|
4
|
+
interface Deferred<T> extends Promise<T> {
|
|
5
|
+
readonly [FARM_DEFERRED_BRAND]: true;
|
|
6
|
+
}
|
|
7
|
+
interface PreparedDeferredData {
|
|
8
|
+
data: unknown;
|
|
9
|
+
records: readonly DeferredRecord[];
|
|
10
|
+
}
|
|
11
|
+
interface DeferredRecord {
|
|
12
|
+
id: string;
|
|
13
|
+
promise: Deferred<unknown>;
|
|
14
|
+
}
|
|
15
|
+
type DeferredSettlement = {
|
|
16
|
+
status: "fulfilled";
|
|
17
|
+
value: unknown;
|
|
18
|
+
} | {
|
|
19
|
+
status: "rejected";
|
|
20
|
+
error: {
|
|
21
|
+
code: typeof FARM_DEFERRED_ERROR_CODE;
|
|
22
|
+
message: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
type DeferredSettlements = Record<string, DeferredSettlement>;
|
|
26
|
+
interface DeferredDataResponseOptions {
|
|
27
|
+
onError?: (error: unknown, id: string) => void;
|
|
28
|
+
}
|
|
29
|
+
declare class DeferredDataError extends Error {
|
|
30
|
+
readonly name = "DeferredDataError";
|
|
31
|
+
readonly code = "FARM_DEFERRED_DATA_ERROR";
|
|
32
|
+
constructor(message?: string);
|
|
33
|
+
}
|
|
34
|
+
declare function defer<T>(value: PromiseLike<T>): Deferred<Awaited<T>>;
|
|
35
|
+
declare function isDeferred<T = unknown>(value: unknown): value is Deferred<T>;
|
|
36
|
+
declare function prepareDeferredData(value: unknown): PreparedDeferredData;
|
|
37
|
+
declare function snapshotDeferredData(records: readonly DeferredRecord[]): DeferredSettlements;
|
|
38
|
+
declare function reviveDeferredData<T>(value: T, settlements: DeferredSettlements): T;
|
|
39
|
+
declare function createDeferredDataResponse(value: unknown, init?: ResponseInit, options?: DeferredDataResponseOptions): Response;
|
|
40
|
+
declare function readDeferredDataResponse<T>(response: Response): Promise<T>;
|
|
41
|
+
|
|
42
|
+
export { type Deferred, DeferredDataError, type DeferredDataResponseOptions, type DeferredRecord, type DeferredSettlement, type DeferredSettlements, FARM_DEFERRED_BRAND, FARM_DEFERRED_CONTENT_TYPE, FARM_DEFERRED_ERROR_CODE, type PreparedDeferredData, createDeferredDataResponse, defer, isDeferred, prepareDeferredData, readDeferredDataResponse, reviveDeferredData, snapshotDeferredData };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
declare const FARM_DEFERRED_CONTENT_TYPE = "application/x-farm-deferred+json";
|
|
2
|
+
declare const FARM_DEFERRED_ERROR_CODE = "FARM_DEFERRED_DATA_ERROR";
|
|
3
|
+
declare const FARM_DEFERRED_BRAND: unique symbol;
|
|
4
|
+
interface Deferred<T> extends Promise<T> {
|
|
5
|
+
readonly [FARM_DEFERRED_BRAND]: true;
|
|
6
|
+
}
|
|
7
|
+
interface PreparedDeferredData {
|
|
8
|
+
data: unknown;
|
|
9
|
+
records: readonly DeferredRecord[];
|
|
10
|
+
}
|
|
11
|
+
interface DeferredRecord {
|
|
12
|
+
id: string;
|
|
13
|
+
promise: Deferred<unknown>;
|
|
14
|
+
}
|
|
15
|
+
type DeferredSettlement = {
|
|
16
|
+
status: "fulfilled";
|
|
17
|
+
value: unknown;
|
|
18
|
+
} | {
|
|
19
|
+
status: "rejected";
|
|
20
|
+
error: {
|
|
21
|
+
code: typeof FARM_DEFERRED_ERROR_CODE;
|
|
22
|
+
message: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
type DeferredSettlements = Record<string, DeferredSettlement>;
|
|
26
|
+
interface DeferredDataResponseOptions {
|
|
27
|
+
onError?: (error: unknown, id: string) => void;
|
|
28
|
+
}
|
|
29
|
+
declare class DeferredDataError extends Error {
|
|
30
|
+
readonly name = "DeferredDataError";
|
|
31
|
+
readonly code = "FARM_DEFERRED_DATA_ERROR";
|
|
32
|
+
constructor(message?: string);
|
|
33
|
+
}
|
|
34
|
+
declare function defer<T>(value: PromiseLike<T>): Deferred<Awaited<T>>;
|
|
35
|
+
declare function isDeferred<T = unknown>(value: unknown): value is Deferred<T>;
|
|
36
|
+
declare function prepareDeferredData(value: unknown): PreparedDeferredData;
|
|
37
|
+
declare function snapshotDeferredData(records: readonly DeferredRecord[]): DeferredSettlements;
|
|
38
|
+
declare function reviveDeferredData<T>(value: T, settlements: DeferredSettlements): T;
|
|
39
|
+
declare function createDeferredDataResponse(value: unknown, init?: ResponseInit, options?: DeferredDataResponseOptions): Response;
|
|
40
|
+
declare function readDeferredDataResponse<T>(response: Response): Promise<T>;
|
|
41
|
+
|
|
42
|
+
export { type Deferred, DeferredDataError, type DeferredDataResponseOptions, type DeferredRecord, type DeferredSettlement, type DeferredSettlements, FARM_DEFERRED_BRAND, FARM_DEFERRED_CONTENT_TYPE, FARM_DEFERRED_ERROR_CODE, type PreparedDeferredData, createDeferredDataResponse, defer, isDeferred, prepareDeferredData, readDeferredDataResponse, reviveDeferredData, snapshotDeferredData };
|
package/dist/deployment.cjs
CHANGED
|
@@ -32,6 +32,7 @@ __export(deployment_exports, {
|
|
|
32
32
|
createFarmDeploymentMismatchResponse: () => createFarmDeploymentMismatchResponse,
|
|
33
33
|
createFarmDeploymentRequestHeaders: () => createFarmDeploymentRequestHeaders,
|
|
34
34
|
getFarmDeploymentMismatch: () => getFarmDeploymentMismatch,
|
|
35
|
+
getFarmPresetRuntime: () => getFarmPresetRuntime,
|
|
35
36
|
getFarmRequestDeploymentId: () => getFarmRequestDeploymentId,
|
|
36
37
|
getFarmResponseDeploymentId: () => getFarmResponseDeploymentId,
|
|
37
38
|
isFarmDeploymentMismatchResponse: () => isFarmDeploymentMismatchResponse,
|
|
@@ -44,6 +45,16 @@ var FARM_DEPLOYMENT_MISMATCH_HEADER = "x-farm-deployment-mismatch";
|
|
|
44
45
|
var FARM_DEPLOYMENT_COOKIE = "__farm_deployment";
|
|
45
46
|
var FARM_DEPLOYMENT_MISMATCH_CODE = "FARM_DEPLOYMENT_MISMATCH";
|
|
46
47
|
var FARM_DEPLOYMENT_MISMATCH_STATUS = 409;
|
|
48
|
+
function getFarmPresetRuntime(preset) {
|
|
49
|
+
if (preset === "cloudflare" || preset === "cloudflare-pages" || preset === "cloudflare-module" || preset === "netlify-edge" || preset === "vercel-edge" || preset === "deno") {
|
|
50
|
+
return "edge";
|
|
51
|
+
}
|
|
52
|
+
if (preset === "node-server" || preset === "vercel" || preset === "netlify" || preset === "aws-lambda" || preset === "azure" || preset === "firebase" || preset === "bun" || preset === "self-host" || preset === "farm") {
|
|
53
|
+
return "node";
|
|
54
|
+
}
|
|
55
|
+
return "unknown";
|
|
56
|
+
}
|
|
57
|
+
__name(getFarmPresetRuntime, "getFarmPresetRuntime");
|
|
47
58
|
var _FarmDeploymentMismatchError = class _FarmDeploymentMismatchError extends Error {
|
|
48
59
|
constructor(clientDeploymentId, serverDeploymentId) {
|
|
49
60
|
super("The application was updated while this page was open. Refresh before trying again.");
|
|
@@ -190,6 +201,7 @@ __name(isSafeRequestMethod, "isSafeRequestMethod");
|
|
|
190
201
|
createFarmDeploymentMismatchResponse,
|
|
191
202
|
createFarmDeploymentRequestHeaders,
|
|
192
203
|
getFarmDeploymentMismatch,
|
|
204
|
+
getFarmPresetRuntime,
|
|
193
205
|
getFarmRequestDeploymentId,
|
|
194
206
|
getFarmResponseDeploymentId,
|
|
195
207
|
isFarmDeploymentMismatchResponse,
|
package/dist/deployment.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deployment.ts"],"sourcesContent":["export const FARM_DEPLOYMENT_ID_HEADER = \"x-farm-deployment-id\";\nexport const FARM_DEPLOYMENT_MISMATCH_HEADER = \"x-farm-deployment-mismatch\";\nexport const FARM_DEPLOYMENT_COOKIE = \"__farm_deployment\";\nexport const FARM_DEPLOYMENT_MISMATCH_CODE = \"FARM_DEPLOYMENT_MISMATCH\";\nexport const FARM_DEPLOYMENT_MISMATCH_STATUS = 409;\n\nexport interface FarmDeploymentMismatch {\n clientDeploymentId: string;\n serverDeploymentId: string;\n}\n\nexport interface FarmDeploymentResponseOptions {\n setCookie?: boolean;\n cookiePath?: string;\n secureCookie?: boolean;\n}\n\nexport class FarmDeploymentMismatchError extends Error {\n readonly name = \"FarmDeploymentMismatchError\";\n readonly code = FARM_DEPLOYMENT_MISMATCH_CODE;\n readonly retryable = false;\n\n constructor(\n readonly clientDeploymentId: string,\n readonly serverDeploymentId: string,\n ) {\n super(\"The application was updated while this page was open. Refresh before trying again.\");\n }\n}\n\nexport function normalizeFarmDeploymentId(value: unknown): string {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n throw new TypeError(\"Farm deploymentId must be a non-empty string\");\n }\n\n const normalized = value.trim();\n if (normalized.length > 200 || /[\\u0000-\\u001f\\u007f]/.test(normalized)) {\n throw new TypeError(\"Farm deploymentId must be at most 200 characters without control bytes\");\n }\n\n return normalized;\n}\n\nexport function createFarmDeploymentRequestHeaders(\n deploymentId: string | undefined,\n init?: HeadersInit,\n): Headers {\n const headers = new Headers(init);\n if (deploymentId) {\n headers.set(FARM_DEPLOYMENT_ID_HEADER, deploymentId);\n }\n return headers;\n}\n\nexport function getFarmRequestDeploymentId(\n request: Pick<Request, \"headers\" | \"method\">,\n): string | undefined {\n const headerValue = request.headers.get(FARM_DEPLOYMENT_ID_HEADER)?.trim();\n if (headerValue) return headerValue;\n\n if (isSafeRequestMethod(request.method)) return undefined;\n return readCookie(request.headers.get(\"cookie\"), FARM_DEPLOYMENT_COOKIE);\n}\n\nexport function getFarmDeploymentMismatch(\n request: Pick<Request, \"headers\" | \"method\">,\n serverDeploymentId: string | undefined,\n): FarmDeploymentMismatch | null {\n if (!serverDeploymentId) return null;\n\n const clientDeploymentId = getFarmRequestDeploymentId(request);\n if (!clientDeploymentId || clientDeploymentId === serverDeploymentId) return null;\n\n return { clientDeploymentId, serverDeploymentId };\n}\n\nexport function createFarmDeploymentMismatchResponse(mismatch: FarmDeploymentMismatch): Response {\n return new Response(\n JSON.stringify({\n error: FARM_DEPLOYMENT_MISMATCH_CODE,\n message: \"The application deployment changed. Refresh before retrying this request.\",\n }),\n {\n status: FARM_DEPLOYMENT_MISMATCH_STATUS,\n headers: {\n \"Cache-Control\": \"no-store\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n [FARM_DEPLOYMENT_ID_HEADER]: mismatch.serverDeploymentId,\n [FARM_DEPLOYMENT_MISMATCH_HEADER]: \"1\",\n },\n },\n );\n}\n\nexport function withFarmDeploymentResponse(\n response: Response,\n deploymentId: string | undefined,\n options: FarmDeploymentResponseOptions = {},\n): Response {\n if (!deploymentId) return response;\n\n const headers = new Headers(response.headers);\n headers.set(FARM_DEPLOYMENT_ID_HEADER, deploymentId);\n if (options.setCookie) {\n headers.append(\n \"Set-Cookie\",\n createFarmDeploymentCookie(\n deploymentId,\n options.cookiePath ?? \"/\",\n options.secureCookie ?? false,\n ),\n );\n }\n\n return new Response(response.body, {\n status: response.status,\n statusText: response.statusText,\n headers,\n });\n}\n\nexport function getFarmResponseDeploymentId(\n response: Pick<Response, \"headers\">,\n): string | undefined {\n return response.headers.get(FARM_DEPLOYMENT_ID_HEADER)?.trim() || undefined;\n}\n\nexport function isFarmDeploymentMismatchResponse(\n response: Pick<Response, \"headers\" | \"status\">,\n clientDeploymentId: string | undefined,\n): boolean {\n const serverDeploymentId = getFarmResponseDeploymentId(response);\n if (clientDeploymentId && serverDeploymentId && clientDeploymentId !== serverDeploymentId) {\n return true;\n }\n\n return (\n response.status === FARM_DEPLOYMENT_MISMATCH_STATUS &&\n response.headers.get(FARM_DEPLOYMENT_MISMATCH_HEADER) === \"1\"\n );\n}\n\nexport function createFarmDeploymentMismatchError(\n response: Pick<Response, \"headers\">,\n clientDeploymentId: string,\n): FarmDeploymentMismatchError {\n return new FarmDeploymentMismatchError(\n clientDeploymentId,\n getFarmResponseDeploymentId(response) || \"unknown\",\n );\n}\n\nexport function createFarmDeploymentCookie(\n deploymentId: string,\n path = \"/\",\n secure = false,\n): string {\n const normalizedPath = path.startsWith(\"/\") ? path : `/${path}`;\n return [\n `${FARM_DEPLOYMENT_COOKIE}=${encodeURIComponent(deploymentId)}`,\n `Path=${normalizedPath}`,\n \"HttpOnly\",\n \"SameSite=Lax\",\n secure ? \"Secure\" : \"\",\n ]\n .filter(Boolean)\n .join(\"; \");\n}\n\nfunction readCookie(cookieHeader: string | null, name: string): string | undefined {\n if (!cookieHeader) return undefined;\n\n for (const part of cookieHeader.split(\";\")) {\n const separator = part.indexOf(\"=\");\n if (separator === -1 || part.slice(0, separator).trim() !== name) continue;\n\n const value = part.slice(separator + 1).trim();\n try {\n return decodeURIComponent(value);\n } catch {\n return value;\n }\n }\n\n return undefined;\n}\n\nfunction isSafeRequestMethod(method: string): boolean {\n return [\"GET\", \"HEAD\", \"OPTIONS\"].includes(method.toUpperCase());\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,4BAA4B;AAClC,IAAM,kCAAkC;AACxC,IAAM,yBAAyB;AAC/B,IAAM,gCAAgC;AACtC,IAAM,kCAAkC;
|
|
1
|
+
{"version":3,"sources":["../src/deployment.ts"],"sourcesContent":["export const FARM_DEPLOYMENT_ID_HEADER = \"x-farm-deployment-id\";\nexport const FARM_DEPLOYMENT_MISMATCH_HEADER = \"x-farm-deployment-mismatch\";\nexport const FARM_DEPLOYMENT_COOKIE = \"__farm_deployment\";\nexport const FARM_DEPLOYMENT_MISMATCH_CODE = \"FARM_DEPLOYMENT_MISMATCH\";\nexport const FARM_DEPLOYMENT_MISMATCH_STATUS = 409;\n\nexport type FarmPresetRuntime = \"node\" | \"edge\" | \"unknown\";\n\nexport function getFarmPresetRuntime(preset: string): FarmPresetRuntime {\n if (\n preset === \"cloudflare\" ||\n preset === \"cloudflare-pages\" ||\n preset === \"cloudflare-module\" ||\n preset === \"netlify-edge\" ||\n preset === \"vercel-edge\" ||\n preset === \"deno\"\n ) {\n return \"edge\";\n }\n\n if (\n preset === \"node-server\" ||\n preset === \"vercel\" ||\n preset === \"netlify\" ||\n preset === \"aws-lambda\" ||\n preset === \"azure\" ||\n preset === \"firebase\" ||\n preset === \"bun\" ||\n preset === \"self-host\" ||\n preset === \"farm\"\n ) {\n return \"node\";\n }\n\n return \"unknown\";\n}\n\nexport interface FarmDeploymentMismatch {\n clientDeploymentId: string;\n serverDeploymentId: string;\n}\n\nexport interface FarmDeploymentResponseOptions {\n setCookie?: boolean;\n cookiePath?: string;\n secureCookie?: boolean;\n}\n\nexport class FarmDeploymentMismatchError extends Error {\n readonly name = \"FarmDeploymentMismatchError\";\n readonly code = FARM_DEPLOYMENT_MISMATCH_CODE;\n readonly retryable = false;\n\n constructor(\n readonly clientDeploymentId: string,\n readonly serverDeploymentId: string,\n ) {\n super(\"The application was updated while this page was open. Refresh before trying again.\");\n }\n}\n\nexport function normalizeFarmDeploymentId(value: unknown): string {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n throw new TypeError(\"Farm deploymentId must be a non-empty string\");\n }\n\n const normalized = value.trim();\n if (normalized.length > 200 || /[\\u0000-\\u001f\\u007f]/.test(normalized)) {\n throw new TypeError(\"Farm deploymentId must be at most 200 characters without control bytes\");\n }\n\n return normalized;\n}\n\nexport function createFarmDeploymentRequestHeaders(\n deploymentId: string | undefined,\n init?: HeadersInit,\n): Headers {\n const headers = new Headers(init);\n if (deploymentId) {\n headers.set(FARM_DEPLOYMENT_ID_HEADER, deploymentId);\n }\n return headers;\n}\n\nexport function getFarmRequestDeploymentId(\n request: Pick<Request, \"headers\" | \"method\">,\n): string | undefined {\n const headerValue = request.headers.get(FARM_DEPLOYMENT_ID_HEADER)?.trim();\n if (headerValue) return headerValue;\n\n if (isSafeRequestMethod(request.method)) return undefined;\n return readCookie(request.headers.get(\"cookie\"), FARM_DEPLOYMENT_COOKIE);\n}\n\nexport function getFarmDeploymentMismatch(\n request: Pick<Request, \"headers\" | \"method\">,\n serverDeploymentId: string | undefined,\n): FarmDeploymentMismatch | null {\n if (!serverDeploymentId) return null;\n\n const clientDeploymentId = getFarmRequestDeploymentId(request);\n if (!clientDeploymentId || clientDeploymentId === serverDeploymentId) return null;\n\n return { clientDeploymentId, serverDeploymentId };\n}\n\nexport function createFarmDeploymentMismatchResponse(mismatch: FarmDeploymentMismatch): Response {\n return new Response(\n JSON.stringify({\n error: FARM_DEPLOYMENT_MISMATCH_CODE,\n message: \"The application deployment changed. Refresh before retrying this request.\",\n }),\n {\n status: FARM_DEPLOYMENT_MISMATCH_STATUS,\n headers: {\n \"Cache-Control\": \"no-store\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n [FARM_DEPLOYMENT_ID_HEADER]: mismatch.serverDeploymentId,\n [FARM_DEPLOYMENT_MISMATCH_HEADER]: \"1\",\n },\n },\n );\n}\n\nexport function withFarmDeploymentResponse(\n response: Response,\n deploymentId: string | undefined,\n options: FarmDeploymentResponseOptions = {},\n): Response {\n if (!deploymentId) return response;\n\n const headers = new Headers(response.headers);\n headers.set(FARM_DEPLOYMENT_ID_HEADER, deploymentId);\n if (options.setCookie) {\n headers.append(\n \"Set-Cookie\",\n createFarmDeploymentCookie(\n deploymentId,\n options.cookiePath ?? \"/\",\n options.secureCookie ?? false,\n ),\n );\n }\n\n return new Response(response.body, {\n status: response.status,\n statusText: response.statusText,\n headers,\n });\n}\n\nexport function getFarmResponseDeploymentId(\n response: Pick<Response, \"headers\">,\n): string | undefined {\n return response.headers.get(FARM_DEPLOYMENT_ID_HEADER)?.trim() || undefined;\n}\n\nexport function isFarmDeploymentMismatchResponse(\n response: Pick<Response, \"headers\" | \"status\">,\n clientDeploymentId: string | undefined,\n): boolean {\n const serverDeploymentId = getFarmResponseDeploymentId(response);\n if (clientDeploymentId && serverDeploymentId && clientDeploymentId !== serverDeploymentId) {\n return true;\n }\n\n return (\n response.status === FARM_DEPLOYMENT_MISMATCH_STATUS &&\n response.headers.get(FARM_DEPLOYMENT_MISMATCH_HEADER) === \"1\"\n );\n}\n\nexport function createFarmDeploymentMismatchError(\n response: Pick<Response, \"headers\">,\n clientDeploymentId: string,\n): FarmDeploymentMismatchError {\n return new FarmDeploymentMismatchError(\n clientDeploymentId,\n getFarmResponseDeploymentId(response) || \"unknown\",\n );\n}\n\nexport function createFarmDeploymentCookie(\n deploymentId: string,\n path = \"/\",\n secure = false,\n): string {\n const normalizedPath = path.startsWith(\"/\") ? path : `/${path}`;\n return [\n `${FARM_DEPLOYMENT_COOKIE}=${encodeURIComponent(deploymentId)}`,\n `Path=${normalizedPath}`,\n \"HttpOnly\",\n \"SameSite=Lax\",\n secure ? \"Secure\" : \"\",\n ]\n .filter(Boolean)\n .join(\"; \");\n}\n\nfunction readCookie(cookieHeader: string | null, name: string): string | undefined {\n if (!cookieHeader) return undefined;\n\n for (const part of cookieHeader.split(\";\")) {\n const separator = part.indexOf(\"=\");\n if (separator === -1 || part.slice(0, separator).trim() !== name) continue;\n\n const value = part.slice(separator + 1).trim();\n try {\n return decodeURIComponent(value);\n } catch {\n return value;\n }\n }\n\n return undefined;\n}\n\nfunction isSafeRequestMethod(method: string): boolean {\n return [\"GET\", \"HEAD\", \"OPTIONS\"].includes(method.toUpperCase());\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
declare const FARM_DEPLOYMENT_ID_HEADER = "x-farm-deployment-id";
|
|
2
|
+
declare const FARM_DEPLOYMENT_MISMATCH_HEADER = "x-farm-deployment-mismatch";
|
|
3
|
+
declare const FARM_DEPLOYMENT_COOKIE = "__farm_deployment";
|
|
4
|
+
declare const FARM_DEPLOYMENT_MISMATCH_CODE = "FARM_DEPLOYMENT_MISMATCH";
|
|
5
|
+
declare const FARM_DEPLOYMENT_MISMATCH_STATUS = 409;
|
|
6
|
+
type FarmPresetRuntime = "node" | "edge" | "unknown";
|
|
7
|
+
declare function getFarmPresetRuntime(preset: string): FarmPresetRuntime;
|
|
8
|
+
interface FarmDeploymentMismatch {
|
|
9
|
+
clientDeploymentId: string;
|
|
10
|
+
serverDeploymentId: string;
|
|
11
|
+
}
|
|
12
|
+
interface FarmDeploymentResponseOptions {
|
|
13
|
+
setCookie?: boolean;
|
|
14
|
+
cookiePath?: string;
|
|
15
|
+
secureCookie?: boolean;
|
|
16
|
+
}
|
|
17
|
+
declare class FarmDeploymentMismatchError extends Error {
|
|
18
|
+
readonly clientDeploymentId: string;
|
|
19
|
+
readonly serverDeploymentId: string;
|
|
20
|
+
readonly name = "FarmDeploymentMismatchError";
|
|
21
|
+
readonly code = "FARM_DEPLOYMENT_MISMATCH";
|
|
22
|
+
readonly retryable = false;
|
|
23
|
+
constructor(clientDeploymentId: string, serverDeploymentId: string);
|
|
24
|
+
}
|
|
25
|
+
declare function normalizeFarmDeploymentId(value: unknown): string;
|
|
26
|
+
declare function createFarmDeploymentRequestHeaders(deploymentId: string | undefined, init?: HeadersInit): Headers;
|
|
27
|
+
declare function getFarmRequestDeploymentId(request: Pick<Request, "headers" | "method">): string | undefined;
|
|
28
|
+
declare function getFarmDeploymentMismatch(request: Pick<Request, "headers" | "method">, serverDeploymentId: string | undefined): FarmDeploymentMismatch | null;
|
|
29
|
+
declare function createFarmDeploymentMismatchResponse(mismatch: FarmDeploymentMismatch): Response;
|
|
30
|
+
declare function withFarmDeploymentResponse(response: Response, deploymentId: string | undefined, options?: FarmDeploymentResponseOptions): Response;
|
|
31
|
+
declare function getFarmResponseDeploymentId(response: Pick<Response, "headers">): string | undefined;
|
|
32
|
+
declare function isFarmDeploymentMismatchResponse(response: Pick<Response, "headers" | "status">, clientDeploymentId: string | undefined): boolean;
|
|
33
|
+
declare function createFarmDeploymentMismatchError(response: Pick<Response, "headers">, clientDeploymentId: string): FarmDeploymentMismatchError;
|
|
34
|
+
declare function createFarmDeploymentCookie(deploymentId: string, path?: string, secure?: boolean): string;
|
|
35
|
+
|
|
36
|
+
export { FARM_DEPLOYMENT_COOKIE, FARM_DEPLOYMENT_ID_HEADER, FARM_DEPLOYMENT_MISMATCH_CODE, FARM_DEPLOYMENT_MISMATCH_HEADER, FARM_DEPLOYMENT_MISMATCH_STATUS, type FarmDeploymentMismatch, FarmDeploymentMismatchError, type FarmDeploymentResponseOptions, type FarmPresetRuntime, createFarmDeploymentCookie, createFarmDeploymentMismatchError, createFarmDeploymentMismatchResponse, createFarmDeploymentRequestHeaders, getFarmDeploymentMismatch, getFarmPresetRuntime, getFarmRequestDeploymentId, getFarmResponseDeploymentId, isFarmDeploymentMismatchResponse, normalizeFarmDeploymentId, withFarmDeploymentResponse };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
declare const FARM_DEPLOYMENT_ID_HEADER = "x-farm-deployment-id";
|
|
2
|
+
declare const FARM_DEPLOYMENT_MISMATCH_HEADER = "x-farm-deployment-mismatch";
|
|
3
|
+
declare const FARM_DEPLOYMENT_COOKIE = "__farm_deployment";
|
|
4
|
+
declare const FARM_DEPLOYMENT_MISMATCH_CODE = "FARM_DEPLOYMENT_MISMATCH";
|
|
5
|
+
declare const FARM_DEPLOYMENT_MISMATCH_STATUS = 409;
|
|
6
|
+
type FarmPresetRuntime = "node" | "edge" | "unknown";
|
|
7
|
+
declare function getFarmPresetRuntime(preset: string): FarmPresetRuntime;
|
|
8
|
+
interface FarmDeploymentMismatch {
|
|
9
|
+
clientDeploymentId: string;
|
|
10
|
+
serverDeploymentId: string;
|
|
11
|
+
}
|
|
12
|
+
interface FarmDeploymentResponseOptions {
|
|
13
|
+
setCookie?: boolean;
|
|
14
|
+
cookiePath?: string;
|
|
15
|
+
secureCookie?: boolean;
|
|
16
|
+
}
|
|
17
|
+
declare class FarmDeploymentMismatchError extends Error {
|
|
18
|
+
readonly clientDeploymentId: string;
|
|
19
|
+
readonly serverDeploymentId: string;
|
|
20
|
+
readonly name = "FarmDeploymentMismatchError";
|
|
21
|
+
readonly code = "FARM_DEPLOYMENT_MISMATCH";
|
|
22
|
+
readonly retryable = false;
|
|
23
|
+
constructor(clientDeploymentId: string, serverDeploymentId: string);
|
|
24
|
+
}
|
|
25
|
+
declare function normalizeFarmDeploymentId(value: unknown): string;
|
|
26
|
+
declare function createFarmDeploymentRequestHeaders(deploymentId: string | undefined, init?: HeadersInit): Headers;
|
|
27
|
+
declare function getFarmRequestDeploymentId(request: Pick<Request, "headers" | "method">): string | undefined;
|
|
28
|
+
declare function getFarmDeploymentMismatch(request: Pick<Request, "headers" | "method">, serverDeploymentId: string | undefined): FarmDeploymentMismatch | null;
|
|
29
|
+
declare function createFarmDeploymentMismatchResponse(mismatch: FarmDeploymentMismatch): Response;
|
|
30
|
+
declare function withFarmDeploymentResponse(response: Response, deploymentId: string | undefined, options?: FarmDeploymentResponseOptions): Response;
|
|
31
|
+
declare function getFarmResponseDeploymentId(response: Pick<Response, "headers">): string | undefined;
|
|
32
|
+
declare function isFarmDeploymentMismatchResponse(response: Pick<Response, "headers" | "status">, clientDeploymentId: string | undefined): boolean;
|
|
33
|
+
declare function createFarmDeploymentMismatchError(response: Pick<Response, "headers">, clientDeploymentId: string): FarmDeploymentMismatchError;
|
|
34
|
+
declare function createFarmDeploymentCookie(deploymentId: string, path?: string, secure?: boolean): string;
|
|
35
|
+
|
|
36
|
+
export { FARM_DEPLOYMENT_COOKIE, FARM_DEPLOYMENT_ID_HEADER, FARM_DEPLOYMENT_MISMATCH_CODE, FARM_DEPLOYMENT_MISMATCH_HEADER, FARM_DEPLOYMENT_MISMATCH_STATUS, type FarmDeploymentMismatch, FarmDeploymentMismatchError, type FarmDeploymentResponseOptions, type FarmPresetRuntime, createFarmDeploymentCookie, createFarmDeploymentMismatchError, createFarmDeploymentMismatchResponse, createFarmDeploymentRequestHeaders, getFarmDeploymentMismatch, getFarmPresetRuntime, getFarmRequestDeploymentId, getFarmResponseDeploymentId, isFarmDeploymentMismatchResponse, normalizeFarmDeploymentId, withFarmDeploymentResponse };
|
package/dist/deployment.mjs
CHANGED
|
@@ -10,12 +10,13 @@ import {
|
|
|
10
10
|
createFarmDeploymentMismatchResponse,
|
|
11
11
|
createFarmDeploymentRequestHeaders,
|
|
12
12
|
getFarmDeploymentMismatch,
|
|
13
|
+
getFarmPresetRuntime,
|
|
13
14
|
getFarmRequestDeploymentId,
|
|
14
15
|
getFarmResponseDeploymentId,
|
|
15
16
|
isFarmDeploymentMismatchResponse,
|
|
16
17
|
normalizeFarmDeploymentId,
|
|
17
18
|
withFarmDeploymentResponse
|
|
18
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-3HIVDX7J.mjs";
|
|
19
20
|
import "./chunk-CGILA3WO.mjs";
|
|
20
21
|
export {
|
|
21
22
|
FARM_DEPLOYMENT_COOKIE,
|
|
@@ -29,6 +30,7 @@ export {
|
|
|
29
30
|
createFarmDeploymentMismatchResponse,
|
|
30
31
|
createFarmDeploymentRequestHeaders,
|
|
31
32
|
getFarmDeploymentMismatch,
|
|
33
|
+
getFarmPresetRuntime,
|
|
32
34
|
getFarmRequestDeploymentId,
|
|
33
35
|
getFarmResponseDeploymentId,
|
|
34
36
|
isFarmDeploymentMismatchResponse,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getDeployTargetForPreset
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PZXBQKCH.mjs";
|
|
4
4
|
import "./chunk-UVCIEUJC.mjs";
|
|
5
5
|
import "./chunk-RQ633A5I.mjs";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-E257KFBU.mjs";
|
|
7
7
|
import "./chunk-7MABZJIM.mjs";
|
|
8
8
|
import "./chunk-YW7OBE6Q.mjs";
|
|
9
9
|
import "./chunk-74YTBPTY.mjs";
|
|
10
10
|
import "./chunk-7ZVN3YZI.mjs";
|
|
11
11
|
import "./chunk-GY2STC2S.mjs";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-ZVMV3THA.mjs";
|
|
13
13
|
import "./chunk-ZVWA4ZQ3.mjs";
|
|
14
14
|
import "./chunk-7FBJLMQH.mjs";
|
|
15
15
|
import "./chunk-XIVV5IWN.mjs";
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
resolveFarmRouteRuleRuntimeConfig,
|
|
25
25
|
resolveFarmRouteRuntimeConfig
|
|
26
26
|
} from "./chunk-GQVGIUSN.mjs";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-3HIVDX7J.mjs";
|
|
28
28
|
import "./chunk-JK25YEN6.mjs";
|
|
29
29
|
import "./chunk-RBRLLZL5.mjs";
|
|
30
30
|
import {
|
|
@@ -369,4 +369,4 @@ __name(createFarmDevtoolsSnapshot, "createFarmDevtoolsSnapshot");
|
|
|
369
369
|
export {
|
|
370
370
|
createFarmDevtoolsSnapshot
|
|
371
371
|
};
|
|
372
|
-
//# sourceMappingURL=devtools-
|
|
372
|
+
//# sourceMappingURL=devtools-K2ERKGNI.mjs.map
|