@shipstatic/ship 2.2.0-beta.7 → 2.2.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -1
- package/SKILL.md +26 -1
- package/THIRD-PARTY-LICENSES.md +1 -57
- package/dist/browser.d.ts +182 -66
- package/dist/browser.js +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/cli.cjs +136 -147
- package/dist/cli.cjs.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +177 -59
- package/dist/index.d.ts +177 -59
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -6
- package/dist/metafile-cjs.json +0 -1
- package/dist/metafile-esm.json +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -671,6 +671,12 @@ declare const DEPLOY_FIELDS: {
|
|
|
671
671
|
readonly VIA: "via";
|
|
672
672
|
/** Plaintext password — the API hashes it server-side. */
|
|
673
673
|
readonly PASSWORD: "password";
|
|
674
|
+
/**
|
|
675
|
+
* Requested lifetime in SECONDS — a duration, never an instant. The API
|
|
676
|
+
* computes and stores the expiry, so the wire carries no client clock.
|
|
677
|
+
* See {@link validateTtl}.
|
|
678
|
+
*/
|
|
679
|
+
readonly TTL: "ttl";
|
|
674
680
|
/** @internal Server-processing flag — first-party `/upload` only. */
|
|
675
681
|
readonly BUILD: "build";
|
|
676
682
|
/** @internal Server-processing flag — first-party `/upload` only. */
|
|
@@ -1259,6 +1265,47 @@ declare function validateApiUrl(apiUrl: string): void;
|
|
|
1259
1265
|
* Example: "happy-cat-abc1234.shipstatic.com"
|
|
1260
1266
|
*/
|
|
1261
1267
|
declare function isDeployment(input: string): boolean;
|
|
1268
|
+
/**
|
|
1269
|
+
* The envelope a requested lifetime must fit — one word, one grammar, wherever
|
|
1270
|
+
* the platform lets a caller choose how long something lives.
|
|
1271
|
+
*
|
|
1272
|
+
* Two resources wear it: `TokenCreateOptions.ttl` and
|
|
1273
|
+
* `DeploymentUploadOptions.ttl`. It lives here rather than on the server by
|
|
1274
|
+
* the format-vs-policy rule — a client can decide offline whether a duration
|
|
1275
|
+
* is well-formed, and the API rejects the same value the same way. What is
|
|
1276
|
+
* NOT here is any per-plan ceiling: no such policy exists, and one delivered
|
|
1277
|
+
* speculatively through `/limits` would be an owner for a decision nobody has
|
|
1278
|
+
* made.
|
|
1279
|
+
*/
|
|
1280
|
+
declare const TTL_CONSTRAINTS: {
|
|
1281
|
+
/**
|
|
1282
|
+
* Shortest requestable lifetime, in seconds. One rather than zero: a
|
|
1283
|
+
* deployment that expires the instant it is created is not a shorter lease,
|
|
1284
|
+
* it is a deploy that was never live, and `0` is how an unset variable
|
|
1285
|
+
* arrives.
|
|
1286
|
+
*/
|
|
1287
|
+
readonly MIN_SECONDS: 1;
|
|
1288
|
+
/** Longest requestable lifetime, in seconds — one year. */
|
|
1289
|
+
readonly MAX_SECONDS: number;
|
|
1290
|
+
};
|
|
1291
|
+
/**
|
|
1292
|
+
* Validate a requested lifetime in SECONDS and return it, or `undefined` when
|
|
1293
|
+
* none was asked for.
|
|
1294
|
+
*
|
|
1295
|
+
* **A duration, never an instant.** The caller says how long; the server owns
|
|
1296
|
+
* what time it is and stamps the expiry — so a client's clock, however wrong,
|
|
1297
|
+
* cannot shorten or extend a lease. That is the tokens precedent, and it is
|
|
1298
|
+
* why this rule measures a count of seconds rather than checking a timestamp
|
|
1299
|
+
* against `now`.
|
|
1300
|
+
*
|
|
1301
|
+
* Fractions are refused rather than rounded: a caller who wrote `1.5` meant
|
|
1302
|
+
* something the wire cannot carry, and silently choosing `1` or `2` for them
|
|
1303
|
+
* is a decision the platform has no standing to make.
|
|
1304
|
+
*
|
|
1305
|
+
* Single source of truth shared by the API (the tokens route and the deploy
|
|
1306
|
+
* schema), the SDK's request boundary, and the CLI's parser.
|
|
1307
|
+
*/
|
|
1308
|
+
declare function validateTtl(value: unknown): number | undefined;
|
|
1262
1309
|
/**
|
|
1263
1310
|
* Request payload for SPA check endpoint
|
|
1264
1311
|
*/
|
|
@@ -1391,6 +1438,27 @@ interface DeploymentUploadOptions {
|
|
|
1391
1438
|
* into missing analytics rather than an error. See {@link DeploymentVia}.
|
|
1392
1439
|
*/
|
|
1393
1440
|
via?: DeploymentViaType;
|
|
1441
|
+
/**
|
|
1442
|
+
* Seconds until this deployment expires; omit for one that never does.
|
|
1443
|
+
*
|
|
1444
|
+
* The platform reclaims it when the time is up — an ephemeral deployment,
|
|
1445
|
+
* chosen by the deployer rather than by the identity. The same word and the
|
|
1446
|
+
* same grammar as {@link TokenCreateOptions.ttl}, bounded by
|
|
1447
|
+
* {@link TTL_CONSTRAINTS}.
|
|
1448
|
+
*
|
|
1449
|
+
* **Requires a credential.** An anonymous deploy has no deployer, and the
|
|
1450
|
+
* platform owns anonymous lifetime as policy
|
|
1451
|
+
* ({@link PUBLIC_DEPLOYMENT_TTL_SECONDS}) — so a ttl on one is refused
|
|
1452
|
+
* rather than honoured or ignored.
|
|
1453
|
+
*
|
|
1454
|
+
* **A deployment carrying one cannot be linked to a domain.** A domain is a
|
|
1455
|
+
* commitment and a deadline is its opposite; the API refuses the link, which
|
|
1456
|
+
* is what keeps the reaper from tearing a live domain's target away.
|
|
1457
|
+
*
|
|
1458
|
+
* Immutable, like every other field of a deployment: to keep something
|
|
1459
|
+
* longer, redeploy.
|
|
1460
|
+
*/
|
|
1461
|
+
ttl?: number;
|
|
1394
1462
|
/**
|
|
1395
1463
|
* Optional password that protects this deployment.
|
|
1396
1464
|
*
|
|
@@ -1829,14 +1897,6 @@ interface DeploymentOptions extends DeploymentUploadOptions {
|
|
|
1829
1897
|
spaDetect?: boolean;
|
|
1830
1898
|
}
|
|
1831
1899
|
type ApiDeployOptions = Omit<DeploymentOptions, 'pathDetect'>;
|
|
1832
|
-
/**
|
|
1833
|
-
* Prepared request body for deployment.
|
|
1834
|
-
* Created by platform-specific code, consumed by HTTP client.
|
|
1835
|
-
*/
|
|
1836
|
-
interface DeployBody {
|
|
1837
|
-
body: FormData | ArrayBuffer;
|
|
1838
|
-
headers: Record<string, string>;
|
|
1839
|
-
}
|
|
1840
1900
|
/**
|
|
1841
1901
|
* Context passed to the deploy body creator — everything that becomes a
|
|
1842
1902
|
* form field alongside the files themselves.
|
|
@@ -1860,6 +1920,11 @@ interface DeployBodyContext {
|
|
|
1860
1920
|
* characters. Whitespace is preserved verbatim — significant.
|
|
1861
1921
|
*/
|
|
1862
1922
|
password?: string;
|
|
1923
|
+
/**
|
|
1924
|
+
* Requested lifetime in SECONDS — a duration, never an instant, bounded by
|
|
1925
|
+
* `TTL_CONSTRAINTS`. The API stamps the expiry against its own clock.
|
|
1926
|
+
*/
|
|
1927
|
+
ttl?: number;
|
|
1863
1928
|
/** @internal Server-side processing flags. */
|
|
1864
1929
|
flags?: {
|
|
1865
1930
|
build?: boolean;
|
|
@@ -1869,11 +1934,6 @@ interface DeployBodyContext {
|
|
|
1869
1934
|
/** @internal reCAPTCHA proof for the anonymous human deploy channel (/upload). */
|
|
1870
1935
|
captcha?: string;
|
|
1871
1936
|
}
|
|
1872
|
-
/**
|
|
1873
|
-
* Function that creates a deploy request body from files.
|
|
1874
|
-
* Implemented differently for Node.js and Browser.
|
|
1875
|
-
*/
|
|
1876
|
-
type DeployBodyCreator = (files: StaticFile[], context?: DeployBodyContext) => Promise<DeployBody>;
|
|
1877
1937
|
/** Standard `fetch` signature — the type of the `fetch` client option. */
|
|
1878
1938
|
type Fetch = typeof fetch;
|
|
1879
1939
|
/**
|
|
@@ -2071,28 +2131,72 @@ declare class SimpleEvents {
|
|
|
2071
2131
|
emit<K extends keyof ShipEvents>(event: K, ...args: ShipEvents[K]): void;
|
|
2072
2132
|
}
|
|
2073
2133
|
|
|
2074
|
-
/**
|
|
2075
|
-
* @file HTTP client for Ship API.
|
|
2076
|
-
*/
|
|
2077
|
-
|
|
2078
2134
|
interface ApiHttpOptions extends ShipClientOptions {
|
|
2079
2135
|
/** Resolves the credential slot per request — async so token providers can mint/refresh. */
|
|
2080
2136
|
getAuthHeaders: () => Record<string, string> | Promise<Record<string, string>>;
|
|
2081
|
-
createDeployBody: DeployBodyCreator;
|
|
2082
2137
|
}
|
|
2083
|
-
|
|
2138
|
+
interface RequestResult<T> {
|
|
2139
|
+
data: T;
|
|
2140
|
+
status: number;
|
|
2141
|
+
}
|
|
2142
|
+
/**
|
|
2143
|
+
* The deploy's CARRIAGE — the two facts about a deploy that are transport's
|
|
2144
|
+
* rather than the deployment resource's.
|
|
2145
|
+
*
|
|
2146
|
+
* The numbers are transport's because a budget for how long to wait on a wire
|
|
2147
|
+
* is nothing else, and the endpoint is transport's because `deployEndpoint` is
|
|
2148
|
+
* a client option that redirects the route. The CHOICE between the two
|
|
2149
|
+
* ceilings is the resource's, because only it knows that `build`/`prerender`
|
|
2150
|
+
* wait on work the server does after the upload lands.
|
|
2151
|
+
*/
|
|
2152
|
+
interface DeployTransport {
|
|
2153
|
+
/** `/deployments`, or `/upload` where the `@internal` option redirects it. */
|
|
2154
|
+
readonly endpoint: string;
|
|
2155
|
+
/** The ordinary deploy ceiling. */
|
|
2156
|
+
readonly timeout: number;
|
|
2157
|
+
/** The ceiling when the server will also build. */
|
|
2158
|
+
readonly buildTimeout: number;
|
|
2159
|
+
}
|
|
2160
|
+
/**
|
|
2161
|
+
* What a resource may ask of the transport: carry this request, and tell me
|
|
2162
|
+
* what came back.
|
|
2163
|
+
*
|
|
2164
|
+
* This interface is the whole seam. `resources.ts` states WHICH request — the
|
|
2165
|
+
* path, the verb, the body, the response type — and hands it here; nothing
|
|
2166
|
+
* above this line knows the base URL, the credential, the retry policy or the
|
|
2167
|
+
* event vocabulary, and nothing below knows what a domain is.
|
|
2168
|
+
*/
|
|
2169
|
+
interface Transport {
|
|
2170
|
+
request<T>(path: string, options: ShipRequestInit, operationName: string, timeoutMs?: number): Promise<T>;
|
|
2171
|
+
requestWithStatus<T>(path: string, options: ShipRequestInit, operationName: string): Promise<RequestResult<T>>;
|
|
2172
|
+
readonly deploy: DeployTransport;
|
|
2173
|
+
}
|
|
2174
|
+
/**
|
|
2175
|
+
* A request as THIS client composes one.
|
|
2176
|
+
*
|
|
2177
|
+
* Identical to `RequestInit` but for the headers, which are narrowed from the
|
|
2178
|
+
* DOM's three-shaped `HeadersInit` to the one shape every call site here
|
|
2179
|
+
* actually builds. That narrowing is load-bearing twice over: `mergeHeaders`
|
|
2180
|
+
* used to reach its record through an `as` cast, and `hasIdempotencyKey` used
|
|
2181
|
+
* to walk all three shapes to find a key that only ever arrives in one of
|
|
2182
|
+
* them. Narrowing at RUNTIME instead would have turned an unreachable case
|
|
2183
|
+
* into a SILENT no-retry — a deploy that quietly stopped replaying because
|
|
2184
|
+
* someone handed the transport a `Headers`. Here that is a compile error.
|
|
2185
|
+
*/
|
|
2186
|
+
type ShipRequestInit = Omit<RequestInit, 'headers'> & {
|
|
2187
|
+
headers?: Record<string, string>;
|
|
2188
|
+
};
|
|
2189
|
+
declare class ApiHttp extends SimpleEvents implements Transport {
|
|
2084
2190
|
private readonly apiUrl;
|
|
2085
2191
|
private readonly getAuthHeadersCallback;
|
|
2086
2192
|
private readonly session;
|
|
2087
2193
|
private readonly caller;
|
|
2088
2194
|
private readonly timeout;
|
|
2089
2195
|
private readonly maxRetries;
|
|
2090
|
-
private readonly deployTimeout;
|
|
2091
|
-
private readonly deployBuildTimeout;
|
|
2092
2196
|
private readonly fetch;
|
|
2093
|
-
private readonly createDeployBody;
|
|
2094
|
-
private readonly deployEndpoint;
|
|
2095
2197
|
private globalHeaders;
|
|
2198
|
+
/** @see DeployTransport — the carriage facts the deployment resource reads. */
|
|
2199
|
+
readonly deploy: DeployTransport;
|
|
2096
2200
|
constructor(options: ApiHttpOptions);
|
|
2097
2201
|
/**
|
|
2098
2202
|
* Set global headers included in every request.
|
|
@@ -2131,7 +2235,13 @@ declare class ApiHttp extends SimpleEvents {
|
|
|
2131
2235
|
* is one that may be sent twice.
|
|
2132
2236
|
*/
|
|
2133
2237
|
private isRetryable;
|
|
2134
|
-
/**
|
|
2238
|
+
/**
|
|
2239
|
+
* Did this request carry the header that makes a repeat safe?
|
|
2240
|
+
*
|
|
2241
|
+
* Case-insensitively, because HTTP field names are — the CLI's env tier and
|
|
2242
|
+
* the SDK option both spell it canonically, but a caller composing headers
|
|
2243
|
+
* by hand is entitled not to.
|
|
2244
|
+
*/
|
|
2135
2245
|
private hasIdempotencyKey;
|
|
2136
2246
|
/**
|
|
2137
2247
|
* One attempt: headers, timeout signal, the `request`/`response` events, and
|
|
@@ -2143,51 +2253,56 @@ declare class ApiHttp extends SimpleEvents {
|
|
|
2143
2253
|
*/
|
|
2144
2254
|
private attemptOnce;
|
|
2145
2255
|
/**
|
|
2146
|
-
*
|
|
2256
|
+
* Send it; resolve what came back.
|
|
2257
|
+
*
|
|
2258
|
+
* Takes a PATH, not a URL: the base is this client's and nothing above needs
|
|
2259
|
+
* to know it. Twenty-two call sites wrote `${this.apiUrl}${API_PATHS.X}` by
|
|
2260
|
+
* hand before the endpoints moved out, which is twenty-two chances to
|
|
2261
|
+
* assemble it differently.
|
|
2147
2262
|
*/
|
|
2148
|
-
|
|
2263
|
+
request<T>(path: string, options: ShipRequestInit, operationName: string, timeoutMs?: number): Promise<T>;
|
|
2149
2264
|
/**
|
|
2150
|
-
*
|
|
2265
|
+
* The same, plus the HTTP status — for the one operation where the status IS
|
|
2266
|
+
* the answer: a domain upsert says create-or-update in its 201/200 and
|
|
2267
|
+
* nowhere else in the response.
|
|
2151
2268
|
*/
|
|
2152
|
-
|
|
2269
|
+
requestWithStatus<T>(path: string, options: ShipRequestInit, operationName: string): Promise<RequestResult<T>>;
|
|
2153
2270
|
private mergeHeaders;
|
|
2154
2271
|
private createTimeoutSignal;
|
|
2155
2272
|
private safeClone;
|
|
2156
2273
|
private parseResponse;
|
|
2157
|
-
deploy(files: StaticFile[], options?: ApiDeployOptions): Promise<DeploymentCreateResponse>;
|
|
2158
|
-
listDeployments(options?: ListOptions): Promise<DeploymentListResponse>;
|
|
2159
|
-
getDeployment(id: string): Promise<Deployment>;
|
|
2160
|
-
updateDeploymentLabels(id: string, labels: string[]): Promise<Deployment>;
|
|
2161
|
-
deleteDeployment(id: string): Promise<DeploymentDeleteResponse>;
|
|
2162
|
-
setDomain(name: string, deployment?: string, labels?: string[]): Promise<DomainSetResult>;
|
|
2163
|
-
listDomains(options?: ListOptions): Promise<DomainListResponse>;
|
|
2164
|
-
getDomain(name: string): Promise<Domain>;
|
|
2165
|
-
deleteDomain(name: string): Promise<DomainDeleteResponse>;
|
|
2166
|
-
verifyDomain(name: string): Promise<DomainVerifyResponse>;
|
|
2167
|
-
getDomainDns(name: string): Promise<DomainDnsResponse>;
|
|
2168
|
-
getDomainRecords(name: string): Promise<DomainRecordsResponse>;
|
|
2169
|
-
getDomainShare(name: string): Promise<DomainShareResponse>;
|
|
2170
|
-
validateDomain(name: string): Promise<DomainValidateResponse>;
|
|
2171
|
-
createToken(ttl?: number, labels?: string[]): Promise<TokenCreateResponse>;
|
|
2172
|
-
listTokens(options?: ListOptions): Promise<TokenListResponse>;
|
|
2173
|
-
deleteToken(token: string): Promise<TokenDeleteResponse>;
|
|
2174
|
-
getToken(token: string): Promise<Token>;
|
|
2175
|
-
getAccount(): Promise<AccountGetResponse>;
|
|
2176
|
-
getLimits(): Promise<PlatformLimits>;
|
|
2177
|
-
ping(): Promise<PingResponse>;
|
|
2178
|
-
checkSPA(files: StaticFile[], _options?: ApiDeployOptions): Promise<boolean>;
|
|
2179
2274
|
}
|
|
2180
2275
|
|
|
2181
2276
|
/**
|
|
2182
|
-
*
|
|
2277
|
+
* @file The SDK's vocabulary — every request it can make, stated once.
|
|
2278
|
+
*
|
|
2279
|
+
* A resource method IS its endpoint: the path, the verb, the body, the
|
|
2280
|
+
* response type. It hands that to the transport, which knows how to carry a
|
|
2281
|
+
* request and nothing about what one means.
|
|
2282
|
+
*
|
|
2283
|
+
* **These were two layers until 2026-08-12.** `ApiHttp` carried eighteen
|
|
2284
|
+
* endpoint methods and every factory below wrapped one of them 1:1 —
|
|
2285
|
+
* `get: async (name) => getApi().getDomain(name)` — because this SDK mirrors
|
|
2286
|
+
* the wire one method per endpoint BY DESIGN (see CLAUDE.md, "Recorded
|
|
2287
|
+
* absences"). That design is exactly what made the second layer a restatement
|
|
2288
|
+
* rather than an adapter: the two could not diverge without one of them being
|
|
2289
|
+
* wrong. Folding DOWN rather than up is what keeps the public grouping and the
|
|
2290
|
+
* transport separate, which was the whole point of having two files.
|
|
2291
|
+
*
|
|
2292
|
+
* The `*Resource` interfaces come from `@shipstatic/types` and did not move.
|
|
2293
|
+
* They are the published contract; this file is how it is met.
|
|
2183
2294
|
*/
|
|
2184
2295
|
|
|
2185
2296
|
/**
|
|
2186
2297
|
* Shared context for all resource factories.
|
|
2298
|
+
*
|
|
2299
|
+
* A factory receives the callbacks it needs and nothing else — which is what
|
|
2300
|
+
* lets `getApi()` be a THUNK rather than an instance: the transport is built
|
|
2301
|
+
* once in the constructor, but reading it lazily is what keeps the resources
|
|
2302
|
+
* constructible before it exists and swappable in tests.
|
|
2187
2303
|
*/
|
|
2188
2304
|
interface ResourceContext {
|
|
2189
|
-
getApi: () =>
|
|
2190
|
-
ensureInit: () => Promise<void>;
|
|
2305
|
+
getApi: () => Transport;
|
|
2191
2306
|
}
|
|
2192
2307
|
/**
|
|
2193
2308
|
* Extended context for deployment resource.
|
|
@@ -2236,7 +2351,6 @@ declare abstract class Ship$1 {
|
|
|
2236
2351
|
private credential;
|
|
2237
2352
|
constructor(options?: ShipClientOptions);
|
|
2238
2353
|
protected abstract processInput(input: DeployInput, options: DeploymentOptions): Promise<StaticFile[]>;
|
|
2239
|
-
protected abstract getDeployBodyCreator(): DeployBodyCreator;
|
|
2240
2354
|
/**
|
|
2241
2355
|
* Lazy initialization — fetches platform limits (file size / count caps) once,
|
|
2242
2356
|
* on the first API call. Subsequent calls reuse the resolved promise.
|
|
@@ -2601,8 +2715,13 @@ declare function validateDeployFile(input: FileRuleInput, limits: PlatformLimits
|
|
|
2601
2715
|
declare function pluralize(count: number, singular: string, plural: string, includeCount?: boolean): string;
|
|
2602
2716
|
|
|
2603
2717
|
/**
|
|
2604
|
-
* @file Node
|
|
2605
|
-
*
|
|
2718
|
+
* @file The Node half of the deploy pipeline: finding files on a filesystem.
|
|
2719
|
+
*
|
|
2720
|
+
* Everything after the finding is shared (`shared/core/deploy-files.ts`) —
|
|
2721
|
+
* path optimization, junk filtering, the platform's rules, the checksums.
|
|
2722
|
+
* What is genuinely Node here is a directory walk with symlink-cycle
|
|
2723
|
+
* protection, a content path computed against the upload root, and the fact
|
|
2724
|
+
* that a Node user can point at a project folder and mean `dist/`.
|
|
2606
2725
|
*/
|
|
2607
2726
|
|
|
2608
2727
|
/**
|
|
@@ -2617,7 +2736,7 @@ declare function pluralize(count: number, singular: string, plural: string, incl
|
|
|
2617
2736
|
* in rather than read from a module global so concurrent Ships against
|
|
2618
2737
|
* different API URLs cannot clobber each other's caps.
|
|
2619
2738
|
* @returns Promise resolving to an array of StaticFile objects.
|
|
2620
|
-
* @throws {
|
|
2739
|
+
* @throws {ShipError} If called outside Node.js or if fs/path modules fail.
|
|
2621
2740
|
*/
|
|
2622
2741
|
declare function processFilesForNode(paths: string[], options?: DeploymentOptions, platformLimits?: PlatformLimits): Promise<StaticFile[]>;
|
|
2623
2742
|
|
|
@@ -2667,10 +2786,9 @@ declare class Ship extends Ship$1 {
|
|
|
2667
2786
|
*/
|
|
2668
2787
|
deploy(input: string | string[], options?: DeploymentOptions): Promise<DeploymentCreateResponse>;
|
|
2669
2788
|
protected processInput(input: DeployInput, options: DeploymentOptions): Promise<StaticFile[]>;
|
|
2670
|
-
protected getDeployBodyCreator(): DeployBodyCreator;
|
|
2671
2789
|
}
|
|
2672
2790
|
|
|
2673
2791
|
declare namespace Ship {
|
|
2674
|
-
export { API_KEY, API_PATHS, AUTH_BASE_PATH, Account, AccountDeleteResponse, AccountGetResponse, AccountKeyResponse, AccountOverrides, AccountPlan, AccountPlanType, AccountResource, AccountUsage, Activity, ActivityEvent, ActivityListResponse, ActivityMeta, ApiDeployOptions, ApiHttp, ApiHttpOptions, AuthMethod, AuthMethodType, BillingCancelResponse, BillingStatus, CALLER, CheckoutSession, DEFAULT_API, DEPLOYMENT_CONFIG_FILENAME, DEPLOY_FIELDS, DEPLOY_TOKEN,
|
|
2792
|
+
export { API_KEY, API_PATHS, AUTH_BASE_PATH, Account, AccountDeleteResponse, AccountGetResponse, AccountKeyResponse, AccountOverrides, AccountPlan, AccountPlanType, AccountResource, AccountUsage, Activity, ActivityEvent, ActivityListResponse, ActivityMeta, ApiDeployOptions, ApiHttp, ApiHttpOptions, AuthMethod, AuthMethodType, BillingCancelResponse, BillingStatus, CALLER, CheckoutSession, DEFAULT_API, DEPLOYMENT_CONFIG_FILENAME, DEPLOY_FIELDS, DEPLOY_TOKEN, DeployBodyContext, DeployFile, DeployInput, DeployTransport, Deployment, DeploymentCreateResponse, DeploymentDeleteResponse, DeploymentListResponse, DeploymentOptions, DeploymentResource, DeploymentResourceContext, DeploymentSetOptions, DeploymentStatus, DeploymentStatusType, DeploymentUploadOptions, DeploymentVia, DeploymentViaType, DnsLookup, DnsProvider, DnsRecord, DnsRecordType, Domain, DomainDeleteResponse, DomainDnsResponse, DomainListResponse, DomainRecordsResponse, DomainResource, DomainSetOptions, DomainSetResult, DomainShareResponse, DomainStatus, DomainStatusType, DomainValidateResponse, DomainVerifyResponse, ErrorResponse, ErrorType, ExecutionEnvironment, FileValidationStatus as FILE_VALIDATION_STATUS, Fetch, FileValidationResult, FileValidationStatus, FileValidationStatusType, IDEMPOTENCY_KEY_CONSTRAINTS, JUNK_DIRECTORIES, LABEL_CONSTRAINTS, LABEL_PATTERN, LabelsResponse, ListOptions, ListResponse, MD5Result, MY_API_KEY_URL, OAuthScope, OAuthScopeType, PASSWORD_CONSTRAINTS, PUBLIC_DEPLOYMENT_TTL_SECONDS, PingResponse, PlatformLimits, RequestResult, ResourceContext, SHIP_ENV, SPACheckDebug, SPACheckRequest, SPACheckResponse, SPA_CHECK_CONSTRAINTS, SPA_DEFAULT_CONFIG, SetupInstructionsResponse, ShipClientOptions, ShipError, ShipEvents, ShipRequestInit, StaticFile, TTL_CONSTRAINTS, Token, TokenCreateOptions, TokenCreateResponse, TokenDeleteResponse, TokenKind, TokenKindType, TokenListResponse, TokenProvider, TokenResource, Transport, UNBUILT_PROJECT_MARKERS, UNSAFE_FILENAME_CHARS, UploadedFile, UserVisibleActivityEvent, ValidatableFile, ValidationIssue, WEB_FILE_ACCEPT, __setTestEnvironment, allValidFilesReady, assertShipJsonSyntax, calculateMD5, classifyToken, createAccountResource, createDeploymentResource, createDomainResource, createTokenResource, deserializeLabels, extractSubdomain, filterJunk, formatFileSize, generateDeploymentUrl, generateDomainUrl, getENV, getValidFiles, hasUnbuiltMarker, hasUnsafeChars, isBlockedExtension, isCustomDomain, isDeployment, isPlatformDomain, isShipError, normalizeVia, optimizeDeployPaths, pluralize, processFilesForNode, serializeLabels, validateApiKey, validateApiUrl, validateCaller, validateDeployFile, validateDeployPath, validateDeployToken, validateFileName, validateFiles, validateIdempotencyKey, validatePassword, validateToken, validateTtl };
|
|
2675
2793
|
}
|
|
2676
2794
|
export = Ship;
|