Nâng cấp @vercel/build-utils từ 14.x lên 15.x
So sánh API công khai của @vercel/build-utils 14.23.0 và 15.0.0, được tính tự động từ kiểu TypeScript. Chữ ký thay đổi là thay đổi có thể không tương thích, không phải điều chắc chắn.
Tóm tắt
| Đường dẫn import bị xóa | 0 |
|---|---|
| Export bị xóa | 61 |
| Chữ ký thay đổi | 2 |
| Thành viên lớp hoặc interface bị xóa | 0 |
| Thành viên lớp hoặc interface thay đổi | 0 |
| Mới bị ngừng hỗ trợ | 0 |
| Thay đổi yêu cầu (engines, phụ thuộc peer) | 0 |
| Export mới | 0 |
Export bị xóa
| import | export | kind | Trước |
|---|---|---|---|
@vercel/build-utils | md5 | function | (value: Buffer): string |
@vercel/build-utils | TraceFn | type | <T>(name: string, fn: () => Promise<T>, tags?: Record<string, string> | undefined) => Promise<T> |
@vercel/build-utils | Properties | type | { [P in keyof T as T[P] extends (...args: any[]) => any ? never : P]: T[P]; } |
@vercel/build-utils | CreateZipFn | type | (lambda: Lambda | NodejsLambda) => Promise<CreateZipResult> |
@vercel/build-utils | maybeReadJSON | function | <T = any>(path: string): Promise<T | undefined> |
@vercel/build-utils | finalizeLambda | function | (params: FinalizeLambdaParams): Promise<FinalizeLambdaResult> |
@vercel/build-utils | getContentType | function | (path: string): string |
@vercel/build-utils | BuildOutputFile | interface | interface |
@vercel/build-utils | CreateZipResult | interface | interface |
@vercel/build-utils | ExtendedPayload | interface | interface |
@vercel/build-utils | MAX_LAMBDA_SIZE | variable | number |
@vercel/build-utils | getEncryptedEnv | function | (envFilename: string | undefined, envContent: string | undefined): EncryptedEnvFile | undefined |
@vercel/build-utils | hydrateFilesMap | function | (files: Files, filesMap: Record<string, string>, repoRootPath: string, fileFsRefsCache: Map<string, FileFsRef>): Promise<void> |
@vercel/build-utils | EncryptedEnvFile | type | [string, FileBlob] |
@vercel/build-utils | SerializedLambda | type | Properties<Omit<T, "files" | "zipBuffer">> & FilesMapProp |
@vercel/build-utils | FunctionSizeError | class | class |
@vercel/build-utils | deserializeLambda | function | (files: Files, config: SerializedLambda | SerializedNodejsLambda, repoRootPath: string, fileFsRefsCache: Map<string, FileFsRef>, options?: DeserializeLambdaOptions | undefined): Promise<Lambda> |
@vercel/build-utils | getPrerenderChain | function | (prerender: Prerender): Chain | undefined |
@vercel/build-utils | isRouteMiddleware | function | (route: Route): route is any |
@vercel/build-utils | validatePrerender | function | (prerender: PrerenderLike): asserts prerender is { lambda: Lambda; } |
@vercel/build-utils | validateLambdaSize | function | (outputPath: string, runtime: string, size: number): void |
@vercel/build-utils | BuildResultMetadata | interface | interface |
@vercel/build-utils | GroupLambdasOptions | type | { force: "all" | undefined; maxBundleSizeMb: number | undefined; debug: boolean | undefined; } |
@vercel/build-utils | SerializedFileFsRef | type | { type: "FileFsRef"; mode: number; fsPath: string; size?: number | undefined; contentType: string | undefined; } |
@vercel/build-utils | SerializedPrerender | type | Properties<Omit<Prerender, "lambda" | "fallback">> & { fallback: Properties<FileFsRef> | null; } |
@vercel/build-utils | validateBuildResult | function | ({ allowInvalidRuntime, buildConfig, buildResponse, vercelBaseUrl, }: ValidateBuildResultParams): Promise<ValidateBuildResultResult> |
@vercel/build-utils | validateRegularFile | function | (file: FileFsRef): Promise<Stats> | <T extends object>(file: T | FileLike): Promise<any> |
@vercel/build-utils | FinalizeLambdaParams | interface | interface |
@vercel/build-utils | FinalizeLambdaResult | interface | interface |
@vercel/build-utils | getLambdaEnvironment | function | (lambda: LambdaLike, buffer: { byteLength: number; }, options: BytecodeCachingOptions): Record<string, string> |
@vercel/build-utils | validateDeploymentId | function | (deploymentId?: string | undefined): void |
@vercel/build-utils | fileToBuildOutputFile | function | (params: { buildResult: FileRef | FileFsRef | FileBlob; extendedBody?: { prefix: string; suffix: string; } | undefined; outputPath: string; }): Promise<{ output: BuildOutputFile; digest: FileDigest; }> |
@vercel/build-utils | getLambdaByOutputPath | function | (params: { buildOutputMap: Record<string, File | Lambda | Prerender | EdgeFunction>; outputPath: string; }): Lambda | undefined |
@vercel/build-utils | BytecodeCachingOptions | interface | interface |
@vercel/build-utils | SerializedEdgeFunction | type | Properties<Omit<EdgeFunction, "name" | "deploymentTarget" | "files">> & FilesMapProp |
@vercel/build-utils | SerializedNodejsLambda | type | Properties<Omit<T, "files" | "zipBuffer">> & FilesMapProp |
@vercel/build-utils | deserializeBuildOutput | function | <TFlags = unknown, TMeta = unknown, TLambda extends Lambda = Lambda>(options: DeserializeBuildOutputOptions<TMeta, TLambda>): Promise<DeserializeBuildOutputResult<TFlags, TMeta>> |
@vercel/build-utils | getBuildResultMetadata | function | (params: { buildOutputMap: Record<string, File | Lambda | Prerender | EdgeFunction>; routes: Route[]; }): BuildResultMetadata |
@vercel/build-utils | collectUncompressedSize | variable | (files: Files, ignoreFn?: ((fileKey: string) => boolean) | undefined): Promise<number> |
@vercel/build-utils | createFunctionsIterator | function | (dir: string, root?: string | undefined): AsyncIterable<string> |
@vercel/build-utils | deserializeEdgeFunction | function | (files: Files, config: SerializedEdgeFunction, repoRootPath: string, fileFsRefsCache: Map<string, FileFsRef>): Promise<EdgeFunction> |
@vercel/build-utils | getLambdaPreloadScripts | function | (lambda: LambdaLike, buffer: { byteLength: number; }, options: BytecodeCachingOptions): string[] |
@vercel/build-utils | DeserializeLambdaOptions | interface | interface |
@vercel/build-utils | validateFrameworkVersion | function | (framework: FrameworkMeta | undefined): FrameworkMeta | undefined |
@vercel/build-utils | SUPPORTED_AL2023_RUNTIMES | variable | readonly ["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-utils | ValidateBuildResultParams | interface | interface |
@vercel/build-utils | ValidateBuildResultResult | interface | interface |
@vercel/build-utils | streamWithExtendedPayload | function | (stream: NodeJS.ReadableStream, data?: ExtendedBodyData | undefined): NodeJS.ReadableStream |
@vercel/build-utils | validateEnvWrapperSupport | function | (encryptedEnvFilename: string | undefined, encryptedEnvContent: string | undefined, lambda: LambdaLikeForEnvWrapper): void |
@vercel/build-utils | getLambdaSupportsStreaming | function | (lambda: LambdaLike, forceStreamingRuntime: boolean): boolean | undefined |
@vercel/build-utils | prerenderToBuildOutputFile | function | (params: { buildResult: Prerender; outputPath: string; }): Promise<PrerenderToBuildOutputFileResult | null> |
@vercel/build-utils | DeserializeBuildOutputConfig | interface | interface |
@vercel/build-utils | DeserializeBuildOutputResult | type | Omit<BuildResultV2Typical, "flags"> & { flags?: TFlags | undefined; meta?: TMeta | undefined; } |
@vercel/build-utils | MAX_LAMBDA_UNCOMPRESSED_SIZE | variable | number |
@vercel/build-utils | DeserializeBuildOutputOptions | interface | interface |
@vercel/build-utils | ENV_WRAPPER_SUPPORTED_FAMILIES | variable | string[] |
@vercel/build-utils | validateUncompressedLambdaSize | function | (outputPath: string, uncompressedBytes: number): void |
@vercel/build-utils | DeserializeBuildOutputPathOverride | interface | interface |
@vercel/build-utils | DeserializeBuildOutputLambdaOptions | type | { forceNodejsStreaming?: boolean | undefined; useOnlyStreamingLambda?: boolean | undefined; } |
@vercel/build-utils | DeserializeBuildOutputSerializedConfig | type | SerializedLambda | SerializedNodejsLambda | SerializedEdgeFunction |
@vercel/build-utils | DeserializeBuildOutputSerializedPrerender | type | Properties<Omit<Prerender, "lambda" | "fallback">> & { fallback: Properties<FileFsRef> | null; } |
Chữ ký thay đổi
| export | Trước | Sau |
|---|---|---|
@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 · VercelJsonScheduleDefinition | ScheduleDefinition | (Pick<ScheduleDefinition, "schedule" | "timezone" | "jitter"> & { entrypoint: string; }) | ScheduleDefinition | (Pick<ScheduleDefinition, "schedule" | "timezone" | "jitter"> & { entrypoint: string; command?: string[] | undefined; root?: string | undefined; }) |
Thành viên lớp hoặc interface bị xóa
Không phát hiện.
Thành viên lớp hoặc interface thay đổi
Không phát hiện.
Mới bị ngừng hỗ trợ
Không phát hiện.
Thay đổi yêu cầu (engines, phụ thuộc peer)
Không phát hiện.
Changelog giữa các phiên bản này
Văn bản do tác giả gói công bố, hiển thị nguyên trạng.
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.Cung cấp dữ liệu này cho tác tử AI của bạn
Vigia là máy chủ MCP miễn phí: tác tử lập trình của bạn kiểm tra phiên bản, thay đổi phá vỡ tương thích và lỗ hổng trước khi viết mã. Không cần đăng ký, không cần khóa API.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Thêm vào CursorThêm vào VS Code★ Gắn sao trên GitHub
Mọi ứng dụng MCP khác
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Kỹ năng cho tác tử (SKILL.md): cho tác tử biết khi nào dùng Vigia · GitHub Action cho pull request
Câu hỏi thường gặp
Nâng cấp @vercel/build-utils từ 14 lên 15 có những thay đổi không tương thích nào?
Giữa @vercel/build-utils 14.23.0 và 15.0.0, Vigia tìm thấy 61 export bị xóa, 2 chữ ký thay đổi và 0 thành viên lớp hoặc interface bị xóa hay thay đổi.
Những gì bị ngừng hỗ trợ trong @vercel/build-utils 15?
0 export hoặc thành viên mới bị đánh dấu ngừng hỗ trợ trong @vercel/build-utils 15.0.0.
Dành cho tác tử
GET https://vigia.coredls.cloud/v1/packages/npm/@vercel/build-utils/upgrade?from=14.23.0&to=15.0.0