From 2a666ad2c4984f2d1dc606d7762219a75bd91310 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 29 Oct 2024 09:15:23 -0700 Subject: [PATCH 1/5] fix: allow testing browser code in node --- packages/svelte/package.json | 2 +- packages/svelte/src/internal/client/timing.js | 5 +++-- pnpm-lock.yaml | 16 ++++++++-------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/svelte/package.json b/packages/svelte/package.json index 4dd788fd9139..580b26c3851a 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -139,7 +139,7 @@ "acorn-typescript": "^1.4.13", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", - "esm-env": "^1.0.0", + "esm-env": "^1.1.1", "esrap": "^1.2.2", "is-reference": "^3.0.2", "locate-character": "^3.0.0", diff --git a/packages/svelte/src/internal/client/timing.js b/packages/svelte/src/internal/client/timing.js index dc7d2ce4edf0..adc1aa213ebe 100644 --- a/packages/svelte/src/internal/client/timing.js +++ b/packages/svelte/src/internal/client/timing.js @@ -1,9 +1,10 @@ /** @import { Raf } from '#client' */ import { noop } from '../shared/utils.js'; -import { BROWSER } from 'esm-env'; +import { BROWSER, NODE } from 'esm-env'; -const request_animation_frame = BROWSER ? requestAnimationFrame : noop; +// we check both conditions here to allow running browser code in Node for testing +const request_animation_frame = BROWSER && !NODE ? requestAnimationFrame : noop; const now = BROWSER ? () => performance.now() : () => Date.now(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 90a2bf2e6797..d4cb2bed5233 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,8 +84,8 @@ importers: specifier: ^4.1.0 version: 4.1.0 esm-env: - specifier: ^1.0.0 - version: 1.0.0 + specifier: ^1.1.1 + version: 1.1.1 esrap: specifier: ^1.2.2 version: 1.2.2 @@ -230,7 +230,7 @@ importers: version: 6.0.1(@lezer/common@1.2.1) esm-env: specifier: ^1.0.0 - version: 1.0.0 + version: 1.1.1 marked: specifier: ^7.0.2 version: 7.0.5 @@ -1445,8 +1445,8 @@ packages: jiti: optional: true - esm-env@1.0.0: - resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} + esm-env@1.1.1: + resolution: {integrity: sha512-5HLucDhz5yhDlMHqEedMyD4XjyV7+4vZhUS7zXNiBdSXFrViQCIeRmf7Gcs33USDcX0aGdCH+C6ZWbxzXy3ZGg==} espree@10.1.0: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} @@ -3560,7 +3560,7 @@ snapshots: '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 - esm-env: 1.0.0 + esm-env: 1.1.1 import-meta-resolve: 4.1.0 kleur: 4.1.5 magic-string: 0.30.11 @@ -3575,7 +3575,7 @@ snapshots: '@sveltejs/site-kit@6.0.0-next.64(@sveltejs/kit@2.5.24(@sveltejs/vite-plugin-svelte@4.0.0-next.6(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)': dependencies: '@sveltejs/kit': 2.5.24(@sveltejs/vite-plugin-svelte@4.0.0-next.6(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)) - esm-env: 1.0.0 + esm-env: 1.1.1 svelte: link:packages/svelte svelte-persisted-store: 0.9.2(svelte@packages+svelte) @@ -4223,7 +4223,7 @@ snapshots: transitivePeerDependencies: - supports-color - esm-env@1.0.0: {} + esm-env@1.1.1: {} espree@10.1.0: dependencies: From e7919b62ca7812fef4bec71bb2847e0f9b104b0a Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 29 Oct 2024 10:26:13 -0700 Subject: [PATCH 2/5] Create short-donuts-watch.md --- .changeset/short-donuts-watch.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/short-donuts-watch.md diff --git a/.changeset/short-donuts-watch.md b/.changeset/short-donuts-watch.md new file mode 100644 index 000000000000..0843e6d7bded --- /dev/null +++ b/.changeset/short-donuts-watch.md @@ -0,0 +1,5 @@ +--- +"svelte": patch +--- + +fix: allow testing browser code in Node From afb21c0e34845ba2912d3620cc5ba315ed3c5aaa Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:11:13 -0700 Subject: [PATCH 3/5] esm-env 1.1.2 --- packages/svelte/package.json | 2 +- pnpm-lock.yaml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/svelte/package.json b/packages/svelte/package.json index 580b26c3851a..ed7015cfec70 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -139,7 +139,7 @@ "acorn-typescript": "^1.4.13", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", - "esm-env": "^1.1.1", + "esm-env": "^1.1.2", "esrap": "^1.2.2", "is-reference": "^3.0.2", "locate-character": "^3.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d4cb2bed5233..5f5055335769 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,8 +84,8 @@ importers: specifier: ^4.1.0 version: 4.1.0 esm-env: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 esrap: specifier: ^1.2.2 version: 1.2.2 @@ -230,7 +230,7 @@ importers: version: 6.0.1(@lezer/common@1.2.1) esm-env: specifier: ^1.0.0 - version: 1.1.1 + version: 1.1.2 marked: specifier: ^7.0.2 version: 7.0.5 @@ -1445,8 +1445,8 @@ packages: jiti: optional: true - esm-env@1.1.1: - resolution: {integrity: sha512-5HLucDhz5yhDlMHqEedMyD4XjyV7+4vZhUS7zXNiBdSXFrViQCIeRmf7Gcs33USDcX0aGdCH+C6ZWbxzXy3ZGg==} + esm-env@1.1.2: + resolution: {integrity: sha512-LZFnf3QT8hjKd8ZqNRuMMnFPSSmzScu5zZttHHFEN3bqZdGbc90FiFYDtsr7T/vsSQdEiLI64FXHfF4MHTHDQw==} espree@10.1.0: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} @@ -3560,7 +3560,7 @@ snapshots: '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 - esm-env: 1.1.1 + esm-env: 1.1.2 import-meta-resolve: 4.1.0 kleur: 4.1.5 magic-string: 0.30.11 @@ -3575,7 +3575,7 @@ snapshots: '@sveltejs/site-kit@6.0.0-next.64(@sveltejs/kit@2.5.24(@sveltejs/vite-plugin-svelte@4.0.0-next.6(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)': dependencies: '@sveltejs/kit': 2.5.24(@sveltejs/vite-plugin-svelte@4.0.0-next.6(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)) - esm-env: 1.1.1 + esm-env: 1.1.2 svelte: link:packages/svelte svelte-persisted-store: 0.9.2(svelte@packages+svelte) @@ -4223,7 +4223,7 @@ snapshots: transitivePeerDependencies: - supports-color - esm-env@1.1.1: {} + esm-env@1.1.2: {} espree@10.1.0: dependencies: From 0f533e57cddc04287ea8d614225158c2b7d6f9f7 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:40:39 -0700 Subject: [PATCH 4/5] bump esm-env --- packages/svelte/package.json | 2 +- pnpm-lock.yaml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/svelte/package.json b/packages/svelte/package.json index ed7015cfec70..3a0ccfb4cabd 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -139,7 +139,7 @@ "acorn-typescript": "^1.4.13", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", - "esm-env": "^1.1.2", + "esm-env": "^1.1.3", "esrap": "^1.2.2", "is-reference": "^3.0.2", "locate-character": "^3.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5f5055335769..16431c1a43e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,8 +84,8 @@ importers: specifier: ^4.1.0 version: 4.1.0 esm-env: - specifier: ^1.1.2 - version: 1.1.2 + specifier: ^1.1.3 + version: 1.1.3 esrap: specifier: ^1.2.2 version: 1.2.2 @@ -230,7 +230,7 @@ importers: version: 6.0.1(@lezer/common@1.2.1) esm-env: specifier: ^1.0.0 - version: 1.1.2 + version: 1.1.3 marked: specifier: ^7.0.2 version: 7.0.5 @@ -1445,8 +1445,8 @@ packages: jiti: optional: true - esm-env@1.1.2: - resolution: {integrity: sha512-LZFnf3QT8hjKd8ZqNRuMMnFPSSmzScu5zZttHHFEN3bqZdGbc90FiFYDtsr7T/vsSQdEiLI64FXHfF4MHTHDQw==} + esm-env@1.1.3: + resolution: {integrity: sha512-AbD2I2oWdBqJJLBpUuLIQsn8jCaxT/9Ygc1RILLt4KEvD48u0SKTSzrg0Re4yBiINF2U3zMcUCjkUqzyXz46kg==} espree@10.1.0: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} @@ -3560,7 +3560,7 @@ snapshots: '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 - esm-env: 1.1.2 + esm-env: 1.1.3 import-meta-resolve: 4.1.0 kleur: 4.1.5 magic-string: 0.30.11 @@ -3575,7 +3575,7 @@ snapshots: '@sveltejs/site-kit@6.0.0-next.64(@sveltejs/kit@2.5.24(@sveltejs/vite-plugin-svelte@4.0.0-next.6(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)': dependencies: '@sveltejs/kit': 2.5.24(@sveltejs/vite-plugin-svelte@4.0.0-next.6(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)) - esm-env: 1.1.2 + esm-env: 1.1.3 svelte: link:packages/svelte svelte-persisted-store: 0.9.2(svelte@packages+svelte) @@ -4223,7 +4223,7 @@ snapshots: transitivePeerDependencies: - supports-color - esm-env@1.1.2: {} + esm-env@1.1.3: {} espree@10.1.0: dependencies: From 29b0141d5c8d1511ccbd3da022b7c68b5cca10c7 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:51:11 -0700 Subject: [PATCH 5/5] esm-env 1.1.4 --- packages/svelte/package.json | 2 +- pnpm-lock.yaml | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/svelte/package.json b/packages/svelte/package.json index 3a0ccfb4cabd..0589a3580f96 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -139,7 +139,7 @@ "acorn-typescript": "^1.4.13", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", - "esm-env": "^1.1.3", + "esm-env": "^1.1.4", "esrap": "^1.2.2", "is-reference": "^3.0.2", "locate-character": "^3.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16431c1a43e1..b552a878ed3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,8 +84,8 @@ importers: specifier: ^4.1.0 version: 4.1.0 esm-env: - specifier: ^1.1.3 - version: 1.1.3 + specifier: ^1.1.4 + version: 1.1.4 esrap: specifier: ^1.2.2 version: 1.2.2 @@ -230,7 +230,7 @@ importers: version: 6.0.1(@lezer/common@1.2.1) esm-env: specifier: ^1.0.0 - version: 1.1.3 + version: 1.1.4 marked: specifier: ^7.0.2 version: 7.0.5 @@ -1239,7 +1239,7 @@ packages: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} @@ -1445,8 +1445,8 @@ packages: jiti: optional: true - esm-env@1.1.3: - resolution: {integrity: sha512-AbD2I2oWdBqJJLBpUuLIQsn8jCaxT/9Ygc1RILLt4KEvD48u0SKTSzrg0Re4yBiINF2U3zMcUCjkUqzyXz46kg==} + esm-env@1.1.4: + resolution: {integrity: sha512-oO82nKPHKkzIj/hbtuDYy/JHqBHFlMIW36SDiPCVsj87ntDLcWN+sJ1erdVryd4NxODacFTsdrIE3b7IamqbOg==} espree@10.1.0: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} @@ -3560,7 +3560,7 @@ snapshots: '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 - esm-env: 1.1.3 + esm-env: 1.1.4 import-meta-resolve: 4.1.0 kleur: 4.1.5 magic-string: 0.30.11 @@ -3575,7 +3575,7 @@ snapshots: '@sveltejs/site-kit@6.0.0-next.64(@sveltejs/kit@2.5.24(@sveltejs/vite-plugin-svelte@4.0.0-next.6(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)': dependencies: '@sveltejs/kit': 2.5.24(@sveltejs/vite-plugin-svelte@4.0.0-next.6(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)))(svelte@packages+svelte)(vite@5.4.6(@types/node@20.12.7)(lightningcss@1.23.0)(sass@1.70.0)(terser@5.27.0)) - esm-env: 1.1.3 + esm-env: 1.1.4 svelte: link:packages/svelte svelte-persisted-store: 0.9.2(svelte@packages+svelte) @@ -4223,7 +4223,7 @@ snapshots: transitivePeerDependencies: - supports-color - esm-env@1.1.3: {} + esm-env@1.1.4: {} espree@10.1.0: dependencies: