diff --git a/.changeset/smooth-kiwis-clean.md b/.changeset/smooth-kiwis-clean.md new file mode 100644 index 000000000000..6cdbe60bb6b0 --- /dev/null +++ b/.changeset/smooth-kiwis-clean.md @@ -0,0 +1,5 @@ +--- +"wrangler": patch +--- + +Fix `wrangler dev --remote --show-interactive-dev-session=false` by only enabling hotkeys after account selection if hotkeys were previously enabled diff --git a/packages/wrangler/e2e/__snapshots__/dev.test.ts.snap b/packages/wrangler/e2e/__snapshots__/dev.test.ts.snap index 12f6b973fa7f..af2fc4fe0968 100644 --- a/packages/wrangler/e2e/__snapshots__/dev.test.ts.snap +++ b/packages/wrangler/e2e/__snapshots__/dev.test.ts.snap @@ -4,14 +4,22 @@ exports[`basic js dev: 'wrangler dev --no-x-dev-env' > can modify worker during exports[`basic js dev: 'wrangler dev --no-x-dev-env' > can modify worker during wrangler dev --no-x-dev-env 2`] = `"Updated Worker! value"`; +exports[`basic js dev: 'wrangler dev --no-x-dev-env' > hotkeys can be disabled with wrangler dev --no-x-dev-env 1`] = `"Hello World!"`; + exports[`basic js dev: 'wrangler dev --remote --no-x-dev-env' > can modify worker during wrangler dev --remote --no-x-dev-env 1`] = `"Hello World!"`; exports[`basic js dev: 'wrangler dev --remote --no-x-dev-env' > can modify worker during wrangler dev --remote --no-x-dev-env 2`] = `"Updated Worker! value"`; +exports[`basic js dev: 'wrangler dev --remote --no-x-dev-env' > hotkeys can be disabled with wrangler dev --remote --no-x-dev-env 1`] = `"Hello World!"`; + exports[`basic js dev: 'wrangler dev --remote --x-dev-env' > can modify worker during wrangler dev --remote --x-dev-env 1`] = `"Hello World!"`; exports[`basic js dev: 'wrangler dev --remote --x-dev-env' > can modify worker during wrangler dev --remote --x-dev-env 2`] = `"Updated Worker! value"`; +exports[`basic js dev: 'wrangler dev --remote --x-dev-env' > hotkeys can be disabled with wrangler dev --remote --x-dev-env 1`] = `"Hello World!"`; + exports[`basic js dev: 'wrangler dev --x-dev-env' > can modify worker during wrangler dev --x-dev-env 1`] = `"Hello World!"`; exports[`basic js dev: 'wrangler dev --x-dev-env' > can modify worker during wrangler dev --x-dev-env 2`] = `"Updated Worker! value"`; + +exports[`basic js dev: 'wrangler dev --x-dev-env' > hotkeys can be disabled with wrangler dev --x-dev-env 1`] = `"Hello World!"`; diff --git a/packages/wrangler/e2e/dev.test.ts b/packages/wrangler/e2e/dev.test.ts index 6c6699d7b433..0c4fa66b5633 100644 --- a/packages/wrangler/e2e/dev.test.ts +++ b/packages/wrangler/e2e/dev.test.ts @@ -102,6 +102,43 @@ describe.each([ await expect(fetchText(url)).resolves.toMatchSnapshot(); }); + + it(`hotkeys can be disabled with ${cmd}`, async () => { + const helper = new WranglerE2ETestHelper(); + await helper.seed({ + "wrangler.toml": dedent` + name = "${workerName}" + main = "src/index.ts" + compatibility_date = "2023-01-01" + compatibility_flags = ["nodejs_compat"] + + [vars] + KEY = "value" + `, + "src/index.ts": dedent` + export default { + fetch(request) { + return new Response("Hello World!") + } + }`, + "package.json": dedent` + { + "name": "worker", + "version": "0.0.0", + "private": true + } + `, + }); + const worker = helper.runLongLived( + `${cmd} --show-interactive-dev-session=false` + ); + + const { url } = await worker.waitForReady(); + + await expect(fetch(url).then((r) => r.text())).resolves.toMatchSnapshot(); + + await expect(worker.currentOutput).not.toContain("[b] open a browser"); + }); }); // Skipping remote python tests because they consistently flake with timeouts diff --git a/packages/wrangler/src/dev.tsx b/packages/wrangler/src/dev.tsx index 75d7cdb8b902..5b6c9c879c47 100644 --- a/packages/wrangler/src/dev.tsx +++ b/packages/wrangler/src/dev.tsx @@ -711,11 +711,14 @@ export async function startDev(args: StartDevOptions) { }, dev: { auth: async (config) => { + const hotkeysDisplayed = !!unregisterHotKeys; let accountId = args.accountId; if (!accountId) { unregisterHotKeys?.(); accountId = await requireAuth(config); - unregisterHotKeys = registerDevHotKeys(devEnv, args); + if (hotkeysDisplayed) { + unregisterHotKeys = registerDevHotKeys(devEnv, args); + } } return { accountId,