UNPKG

netlify-cli

Version:

Netlify command line tool

59 lines 2.77 kB
import type { ExtendedRoute, Route } from '@netlify/zip-it-and-ship-it'; import type { BuildCommandCache } from '../memoized-build.js'; import type NetlifyFunction from '../netlify-function.js'; import type { NormalizedCachedConfigConfig } from '../../../utils/command-helpers.js'; import * as go from './go/index.js'; import type { GoInvokeFunctionResult } from './go/index.js'; import * as js from './js/index.js'; import type { JsInvokeFunctionResult } from './js/index.js'; import * as rust from './rust/index.js'; import type { RustInvokeFunctionResult } from './rust/index.js'; export type BaseBuildResult = { includedFiles?: undefined | string[]; mainFile?: undefined | string; outputModuleFormat?: undefined | string; schedule?: undefined | string; srcFiles: string[]; excludedRoutes?: Route[] | undefined; routes?: ExtendedRoute[] | undefined; runtimeAPIVersion?: number | undefined; }; export type GetBuildFunctionOpts<BuildResult extends BaseBuildResult> = { config: NormalizedCachedConfigConfig; context?: Record<string, unknown>; directory?: string; errorExit: (msg: string) => void; func: NetlifyFunction<BuildResult>; functionsDirectory?: string; projectRoot: string; }; export type BuildFunction<BuildResult extends BaseBuildResult, CacheEntry extends Record<string, unknown> = Record<string, unknown>> = ({ cache }: { cache?: BuildCommandCache<CacheEntry>; }) => Promise<BuildResult>; export type GetBuildFunction<BuildResult extends BaseBuildResult, CacheEntry extends Record<string, unknown> = Record<string, unknown>> = (params: GetBuildFunctionOpts<BuildResult>) => Promise<BuildFunction<BuildResult, CacheEntry>>; export type InvokeFunctionResult = JsInvokeFunctionResult | GoInvokeFunctionResult | RustInvokeFunctionResult; export type InvokeFunction<BuildResult extends BaseBuildResult> = (params: { context: Record<string, unknown>; environment: Record<string, unknown>; event: Record<string, unknown>; func: NetlifyFunction<BuildResult>; timeout: number; }) => Promise<InvokeFunctionResult>; export type OnDirectoryScanFunction = (params: { directory: string; }) => Promise<void>; export type OnRegisterFunction<BuildResult extends BaseBuildResult> = (func: NetlifyFunction<BuildResult>) => NetlifyFunction<BuildResult> | null; export interface Runtime<BuildResult extends BaseBuildResult> { getBuildFunction: GetBuildFunction<BuildResult>; invokeFunction: InvokeFunction<BuildResult>; onDirectoryScan?: OnDirectoryScanFunction; onRegister?: OnRegisterFunction<BuildResult>; name: string; } declare const runtimes: { go: typeof go; js: typeof js; rs: typeof rust; }; export default runtimes; //# sourceMappingURL=index.d.ts.map