Vigia

Memperbarui @vercel/build-utils dari 14.x ke 15.x

Perbandingan API publik @vercel/build-utils 14.23.0 dan 15.0.0, dihitung otomatis dari tipe TypeScript-nya. Tanda tangan yang berubah adalah kemungkinan perubahan tidak kompatibel, bukan kepastian.

Ringkasan

Jalur impor yang dihapus0
Ekspor yang dihapus61
Tanda tangan yang berubah2
Anggota kelas atau antarmuka yang dihapus0
Anggota kelas atau antarmuka yang berubah0
Baru ditandai usang0
Perubahan persyaratan (engines, dependensi peer)0
Ekspor baru0

Ekspor yang dihapus

importexportkindSebelum
@vercel/build-utilsmd5function(value: Buffer): string
@vercel/build-utilsTraceFntype<T>(name: string, fn: () => Promise<T>, tags?: Record<string, string> | undefined) => Promise<T>
@vercel/build-utilsPropertiestype{ [P in keyof T as T[P] extends (...args: any[]) => any ? never : P]: T[P]; }
@vercel/build-utilsCreateZipFntype(lambda: Lambda | NodejsLambda) => Promise<CreateZipResult>
@vercel/build-utilsmaybeReadJSONfunction<T = any>(path: string): Promise<T | undefined>
@vercel/build-utilsfinalizeLambdafunction(params: FinalizeLambdaParams): Promise<FinalizeLambdaResult>
@vercel/build-utilsgetContentTypefunction(path: string): string
@vercel/build-utilsBuildOutputFileinterfaceinterface
@vercel/build-utilsCreateZipResultinterfaceinterface
@vercel/build-utilsExtendedPayloadinterfaceinterface
@vercel/build-utilsMAX_LAMBDA_SIZEvariablenumber
@vercel/build-utilsgetEncryptedEnvfunction(envFilename: string | undefined, envContent: string | undefined): EncryptedEnvFile | undefined
@vercel/build-utilshydrateFilesMapfunction(files: Files, filesMap: Record<string, string>, repoRootPath: string, fileFsRefsCache: Map<string, FileFsRef>): Promise<void>
@vercel/build-utilsEncryptedEnvFiletype[string, FileBlob]
@vercel/build-utilsSerializedLambdatypeProperties<Omit<T, "files" | "zipBuffer">> & FilesMapProp
@vercel/build-utilsFunctionSizeErrorclassclass
@vercel/build-utilsdeserializeLambdafunction(files: Files, config: SerializedLambda | SerializedNodejsLambda, repoRootPath: string, fileFsRefsCache: Map<string, FileFsRef>, options?: DeserializeLambdaOptions | undefined): Promise<Lambda>
@vercel/build-utilsgetPrerenderChainfunction(prerender: Prerender): Chain | undefined
@vercel/build-utilsisRouteMiddlewarefunction(route: Route): route is any
@vercel/build-utilsvalidatePrerenderfunction(prerender: PrerenderLike): asserts prerender is { lambda: Lambda; }
@vercel/build-utilsvalidateLambdaSizefunction(outputPath: string, runtime: string, size: number): void
@vercel/build-utilsBuildResultMetadatainterfaceinterface
@vercel/build-utilsGroupLambdasOptionstype{ force: "all" | undefined; maxBundleSizeMb: number | undefined; debug: boolean | undefined; }
@vercel/build-utilsSerializedFileFsReftype{ type: "FileFsRef"; mode: number; fsPath: string; size?: number | undefined; contentType: string | undefined; }
@vercel/build-utilsSerializedPrerendertypeProperties<Omit<Prerender, "lambda" | "fallback">> & { fallback: Properties<FileFsRef> | null; }
@vercel/build-utilsvalidateBuildResultfunction({ allowInvalidRuntime, buildConfig, buildResponse, vercelBaseUrl, }: ValidateBuildResultParams): Promise<ValidateBuildResultResult>
@vercel/build-utilsvalidateRegularFilefunction(file: FileFsRef): Promise<Stats> | <T extends object>(file: T | FileLike): Promise<any>
@vercel/build-utilsFinalizeLambdaParamsinterfaceinterface
@vercel/build-utilsFinalizeLambdaResultinterfaceinterface
@vercel/build-utilsgetLambdaEnvironmentfunction(lambda: LambdaLike, buffer: { byteLength: number; }, options: BytecodeCachingOptions): Record<string, string>
@vercel/build-utilsvalidateDeploymentIdfunction(deploymentId?: string | undefined): void
@vercel/build-utilsfileToBuildOutputFilefunction(params: { buildResult: FileRef | FileFsRef | FileBlob; extendedBody?: { prefix: string; suffix: string; } | undefined; outputPath: string; }): Promise<{ output: BuildOutputFile; digest: FileDigest; }>
@vercel/build-utilsgetLambdaByOutputPathfunction(params: { buildOutputMap: Record<string, File | Lambda | Prerender | EdgeFunction>; outputPath: string; }): Lambda | undefined
@vercel/build-utilsBytecodeCachingOptionsinterfaceinterface
@vercel/build-utilsSerializedEdgeFunctiontypeProperties<Omit<EdgeFunction, "name" | "deploymentTarget" | "files">> & FilesMapProp
@vercel/build-utilsSerializedNodejsLambdatypeProperties<Omit<T, "files" | "zipBuffer">> & FilesMapProp
@vercel/build-utilsdeserializeBuildOutputfunction<TFlags = unknown, TMeta = unknown, TLambda extends Lambda = Lambda>(options: DeserializeBuildOutputOptions<TMeta, TLambda>): Promise<DeserializeBuildOutputResult<TFlags, TMeta>>
@vercel/build-utilsgetBuildResultMetadatafunction(params: { buildOutputMap: Record<string, File | Lambda | Prerender | EdgeFunction>; routes: Route[]; }): BuildResultMetadata
@vercel/build-utilscollectUncompressedSizevariable(files: Files, ignoreFn?: ((fileKey: string) => boolean) | undefined): Promise<number>
@vercel/build-utilscreateFunctionsIteratorfunction(dir: string, root?: string | undefined): AsyncIterable<string>
@vercel/build-utilsdeserializeEdgeFunctionfunction(files: Files, config: SerializedEdgeFunction, repoRootPath: string, fileFsRefsCache: Map<string, FileFsRef>): Promise<EdgeFunction>
@vercel/build-utilsgetLambdaPreloadScriptsfunction(lambda: LambdaLike, buffer: { byteLength: number; }, options: BytecodeCachingOptions): string[]
@vercel/build-utilsDeserializeLambdaOptionsinterfaceinterface
@vercel/build-utilsvalidateFrameworkVersionfunction(framework: FrameworkMeta | undefined): FrameworkMeta | undefined
@vercel/build-utilsSUPPORTED_AL2023_RUNTIMESvariablereadonly ["nodejs20.x", "nodejs22.x", "nodejs24.x", "nodejs26.x", "provided.al2023", "python3.12", "python3.13", "python3.14", "ruby3.3", "bun1.4.x", "bun1.x", "executable"]
@vercel/build-utilsValidateBuildResultParamsinterfaceinterface
@vercel/build-utilsValidateBuildResultResultinterfaceinterface
@vercel/build-utilsstreamWithExtendedPayloadfunction(stream: NodeJS.ReadableStream, data?: ExtendedBodyData | undefined): NodeJS.ReadableStream
@vercel/build-utilsvalidateEnvWrapperSupportfunction(encryptedEnvFilename: string | undefined, encryptedEnvContent: string | undefined, lambda: LambdaLikeForEnvWrapper): void
@vercel/build-utilsgetLambdaSupportsStreamingfunction(lambda: LambdaLike, forceStreamingRuntime: boolean): boolean | undefined
@vercel/build-utilsprerenderToBuildOutputFilefunction(params: { buildResult: Prerender; outputPath: string; }): Promise<PrerenderToBuildOutputFileResult | null>
@vercel/build-utilsDeserializeBuildOutputConfiginterfaceinterface
@vercel/build-utilsDeserializeBuildOutputResulttypeOmit<BuildResultV2Typical, "flags"> & { flags?: TFlags | undefined; meta?: TMeta | undefined; }
@vercel/build-utilsMAX_LAMBDA_UNCOMPRESSED_SIZEvariablenumber
@vercel/build-utilsDeserializeBuildOutputOptionsinterfaceinterface
@vercel/build-utilsENV_WRAPPER_SUPPORTED_FAMILIESvariablestring[]
@vercel/build-utilsvalidateUncompressedLambdaSizefunction(outputPath: string, uncompressedBytes: number): void
@vercel/build-utilsDeserializeBuildOutputPathOverrideinterfaceinterface
@vercel/build-utilsDeserializeBuildOutputLambdaOptionstype{ forceNodejsStreaming?: boolean | undefined; useOnlyStreamingLambda?: boolean | undefined; }
@vercel/build-utilsDeserializeBuildOutputSerializedConfigtypeSerializedLambda | SerializedNodejsLambda | SerializedEdgeFunction
@vercel/build-utilsDeserializeBuildOutputSerializedPrerendertypeProperties<Omit<Prerender, "lambda" | "fallback">> & { fallback: Properties<FileFsRef> | null; }

Tanda tangan yang berubah

exportSebelumSesudah
@vercel/build-utils · staticFallbackRoutes(copied: Pick<StaticMount, "fallback" | "urlPath">[], discovered: Pick<StaticMount, "urlPath">[], opts?: StaticPromotionOptions | undefined): RouteWithSrc[](copied: Pick<StaticMount, "urlPath" | "fallback">[], discovered: Pick<StaticMount, "urlPath">[], opts?: StaticPromotionOptions | undefined): RouteWithSrc[]
@vercel/build-utils · VercelJsonScheduleDefinitionScheduleDefinition | (Pick<ScheduleDefinition, "schedule" | "timezone" | "jitter"> & { entrypoint: string; })ScheduleDefinition | (Pick<ScheduleDefinition, "schedule" | "timezone" | "jitter"> & { entrypoint: string; command?: string[] | undefined; root?: string | undefined; })

Anggota kelas atau antarmuka yang dihapus

Tidak ada yang terdeteksi.

Anggota kelas atau antarmuka yang berubah

Tidak ada yang terdeteksi.

Baru ditandai usang

Tidak ada yang terdeteksi.

Perubahan persyaratan (engines, dependensi peer)

Tidak ada yang terdeteksi.

Changelog di antara versi ini

Teks yang diterbitkan oleh penulis paket, ditampilkan apa adanya.

15.0.0
### Major Changes

- fec2df1: Remove the legacy BYOC extension's build-output collection and deserialization utilities, Lambda finalization and size validation, and serverless environment/streaming helpers. BYOC function preparation now uses `vercel deploy describe`.

  The removed exports include `deserializeBuildOutput`, `deserializeLambda`, `deserializeEdgeFunction`, `finalizeLambda`, `collectUncompressedSize`, the `validateBuildResult` and `validateLambdaSize` families, `getEncryptedEnv`, `getLambdaEnvironment`, `getLambdaPreloadScripts`, `getLambdaSupportsStreaming`, and the associated collection/deserialization and serverless types. Also remove the unused standalone `md5` helper. Preserve `streamToDigestAsync`, `sha256`, `FileDigest`, and `ExtendedBodyData`, which still have build-container consumers.

  Remove the Node builder's outdated reference to the shared streaming helper; its AWS custom-handler streaming behavior is unchanged.

### Minor Changes

- 9b1b587: Allow explicitly selecting Node.js 26 for local builds without an environment variable.

### Patch Changes

- d123652: Accept a command argument array and `root` with Dockerfile and Containerfile schedule entrypoints. This adds configuration support; building and executing these schedules will follow separately.

Berikan fakta ini ke agen AI Anda

Vigia adalah server MCP gratis: agen coding Anda memeriksa versi, perubahan yang merusak kompatibilitas, dan kerentanan sebelum menulis kode. Tanpa pendaftaran, tanpa kunci API.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Tambahkan ke CursorTambahkan ke VS Code★ Bintang di GitHub

Klien MCP lainnya
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Skill agen (SKILL.md): memberi tahu agen kapan memakai Vigia · GitHub Action untuk pull request

Pertanyaan umum

Apa saja perubahan tidak kompatibel saat memperbarui @vercel/build-utils dari 14 ke 15?

Antara @vercel/build-utils 14.23.0 dan 15.0.0, Vigia menemukan 61 ekspor yang dihapus, 2 tanda tangan yang berubah, dan 0 anggota kelas atau antarmuka yang dihapus atau berubah.

Apa yang ditandai usang di @vercel/build-utils 15?

0 ekspor atau anggota baru ditandai usang di @vercel/build-utils 15.0.0.

Untuk agen

GET https://vigia.coredls.cloud/v1/packages/npm/@vercel/build-utils/upgrade?from=14.23.0&to=15.0.0