diff --git a/.changeset/rich-rocks-own.md b/.changeset/rich-rocks-own.md new file mode 100644 index 000000000000..df609d429548 --- /dev/null +++ b/.changeset/rich-rocks-own.md @@ -0,0 +1,5 @@ +--- +"wrangler": patch +--- + +fix: fixed `wrangler versions upload` printing bindings twice diff --git a/packages/wrangler/src/__tests__/versions/versions.upload.test.ts b/packages/wrangler/src/__tests__/versions/versions.upload.test.ts new file mode 100644 index 000000000000..e36c0795348d --- /dev/null +++ b/packages/wrangler/src/__tests__/versions/versions.upload.test.ts @@ -0,0 +1,103 @@ +import * as fs from "node:fs"; +import { http, HttpResponse } from "msw"; +import { mockAccountId, mockApiToken } from "../helpers/mock-account-id"; +import { mockConsoleMethods } from "../helpers/mock-console"; +import { useMockIsTTY } from "../helpers/mock-istty"; +import { mockSubDomainRequest } from "../helpers/mock-workers-subdomain"; +import { msw } from "../helpers/msw"; +import { runWrangler } from "../helpers/run-wrangler"; +import { writeWorkerSource } from "../helpers/write-worker-source"; +import { writeWranglerToml } from "../helpers/write-wrangler-toml"; + +describe("versions upload", () => { + mockAccountId(); + mockApiToken(); + const { setIsTTY } = useMockIsTTY(); + const std = mockConsoleMethods(); + + test("should print bindings & startup time on versions upload", async () => { + msw.use( + http.get( + `*/accounts/:accountId/workers/services/:scriptName`, + ({ params }) => { + expect(params.scriptName).toEqual("test-worker"); + + return HttpResponse.json( + { + success: true, + errors: [], + messages: [], + result: { + default_environment: { + script: { + last_deployed_from: "wrangler", + }, + }, + }, + }, + { status: 200 } + ); + }, + { once: true } + ), + http.post( + `*/accounts/:accountId/workers/scripts/:scriptName/versions`, + ({ params }) => { + expect(params.scriptName).toEqual("test-worker"); + + return HttpResponse.json( + { + success: true, + errors: [], + messages: [], + result: { + id: "51e4886e-2db7-4900-8d38-fbfecfeab993", + startup_time_ms: 500, + }, + }, + { status: 200 } + ); + }, + { once: true } + ) + ); + mockSubDomainRequest(); + + // Setup + fs.mkdirSync("./versions-upload-test-worker", { recursive: true }); + writeWranglerToml({ + name: "test-worker", + main: "./index.js", + vars: { + TEST: "test-string", + JSON: { + abc: "def", + bool: true, + }, + }, + kv_namespaces: [{ binding: "KV", id: "xxxx-xxxx-xxxx-xxxx" }], + }); + writeWorkerSource(); + setIsTTY(false); + + const result = runWrangler("versions upload --x-versions"); + + await expect(result).resolves.toBeUndefined(); + + expect(std.out).toMatchInlineSnapshot(` + "Total Upload: xx KiB / gzip: xx KiB + Worker Startup Time: 500 ms + Your worker has access to the following bindings: + - KV Namespaces: + - KV: xxxx-xxxx-xxxx-xxxx + - Vars: + - TEST: \\"test-string\\" + - JSON: { + \\"abc\\": \\"def\\", + \\"bool\\": true + } + Worker Version ID: 51e4886e-2db7-4900-8d38-fbfecfeab993 + Uploaded test-worker (TIMINGS)" + `); + }); +}); diff --git a/packages/wrangler/src/versions/upload.ts b/packages/wrangler/src/versions/upload.ts index 94bb50c34ed4..cf9025d19db6 100644 --- a/packages/wrangler/src/versions/upload.ts +++ b/packages/wrangler/src/versions/upload.ts @@ -446,8 +446,6 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m } } - printBindings({ ...withoutStaticAssets, vars: maskedVars }); - if (props.dryRun) { printBindings({ ...withoutStaticAssets, vars: maskedVars }); } else {