From 251b0b5c064e08ed16586d8e4e2e076aa164786f Mon Sep 17 00:00:00 2001 From: Nurettin Kaya Date: Wed, 16 Jun 2021 05:17:06 -0700 Subject: [PATCH] Less verbose HMR script (#457) * Less verbose HMR script * push changeset --- .changeset/breezy-carrots-clap.md | 5 +++++ packages/astro/src/compiler/transform/head.ts | 2 +- packages/astro/test/astro-basic.test.js | 4 ++-- packages/astro/test/astro-hmr.test.js | 6 +++--- 4 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 .changeset/breezy-carrots-clap.md diff --git a/.changeset/breezy-carrots-clap.md b/.changeset/breezy-carrots-clap.md new file mode 100644 index 0000000000..9a7065d3d6 --- /dev/null +++ b/.changeset/breezy-carrots-clap.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Less verbose HMR script diff --git a/packages/astro/src/compiler/transform/head.ts b/packages/astro/src/compiler/transform/head.ts index 6d008ffa4c..d7bba58571 100644 --- a/packages/astro/src/compiler/transform/head.ts +++ b/packages/astro/src/compiler/transform/head.ts @@ -62,7 +62,7 @@ export default function (opts: TransformOptions): Transformer { type: 'Element', name: 'script', attributes: [], - children: [{ type: 'Text', data: `window.HMR_WEBSOCKET_URL = window.HMR_WEBSOCKET_URL || 'ws://localhost:${hmrPort}';`, start: 0, end: 0 }], + children: [{ type: 'Text', data: `window.HMR_WEBSOCKET_PORT = ${hmrPort};`, start: 0, end: 0 }], start: 0, end: 0, }, diff --git a/packages/astro/test/astro-basic.test.js b/packages/astro/test/astro-basic.test.js index a93e5bac0b..3320123175 100644 --- a/packages/astro/test/astro-basic.test.js +++ b/packages/astro/test/astro-basic.test.js @@ -23,13 +23,13 @@ Basics('Can load page', async ({ runtime }) => { Basics('Sets the HMR port when dynamic components used', async ({ runtime }) => { const result = await runtime.load('/client'); const html = result.contents; - assert.ok(/HMR_WEBSOCKET_URL/.test(html), 'Sets the websocket port'); + assert.ok(/HMR_WEBSOCKET_PORT/.test(html), 'Sets the websocket port'); }); Basics('Does not set the HMR port when no dynamic component used', async ({ runtime }) => { const result = await runtime.load('/'); const html = result.contents; - assert.ok(!/HMR_WEBSOCKET_URL/.test(html), 'Does not set the websocket port'); + assert.ok(!/HMR_WEBSOCKET_PORT/.test(html), 'Does not set the websocket port'); }); Basics('Correctly serializes boolean attributes', async ({ runtime }) => { diff --git a/packages/astro/test/astro-hmr.test.js b/packages/astro/test/astro-hmr.test.js index ddee2fbf1f..5d4fb5f0ea 100644 --- a/packages/astro/test/astro-hmr.test.js +++ b/packages/astro/test/astro-hmr.test.js @@ -16,7 +16,7 @@ HMR('Honors the user provided port', async ({ runtime }) => { if (result.error) throw new Error(result.error); const html = result.contents; - assert.ok(/window\.HMR_WEBSOCKET_URL = window\.HMR_WEBSOCKET_URL || 'ws:\/\/localhost:5555'/.test(html), "Uses the user's websocket port"); + assert.ok(/window\.HMR_WEBSOCKET_PORT = 5555/.test(html), "Uses the user's websocket port"); }); HMR('Does not override script added by the user', async ({ runtime }) => { @@ -25,8 +25,8 @@ HMR('Does not override script added by the user', async ({ runtime }) => { const html = result.contents; - assert.ok(!/window\.HMR_WEBSOCKET_URL = 'ws:\/\/localhost:3333'/.test(html), 'Users script included'); - assert.ok(/window\.HMR_WEBSOCKET_URL = window\.HMR_WEBSOCKET_URL || 'ws:\/\/localhost:5555'/.test(html), 'Our script defers to the port already being set'); + assert.ok(/window\.HMR_WEBSOCKET_URL = 'wss:\/\/example.com:3333'/.test(html), "User's script included"); + assert.ok(/window\.HMR_WEBSOCKET_PORT = 5555/.test(html), 'Ignored when window.HMR_WEBSOCKET_URL set'); }); HMR.run();