From dac2a7bc49f5816eba4279f4ee12c42e5bdc3ae0 Mon Sep 17 00:00:00 2001 From: Cornelius Roemer Date: Wed, 11 Sep 2024 21:05:13 +0200 Subject: [PATCH 1/2] deps(website): update headlessui and add jsdom polyfill see: - https://github.com/tailwindlabs/headlessui/pull/3473 - https://github.com/tailwindlabs/headlessui/issues/3469 --- website/package-lock.json | 38 ++++++++++++++++++++++++++++++++++---- website/package.json | 3 ++- website/vitest.setup.ts | 5 +++++ 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 96b93d643..67be40fde 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -11,7 +11,7 @@ "@astrojs/mdx": "^3.1.5", "@astrojs/node": "^8.3.3", "@emotion/react": "^11.13.3", - "@headlessui/react": "^2.1.4", + "@headlessui/react": "^2.1.7", "@mui/material": "~5.14.20", "@svgr/core": "^8.1.0", "@svgr/plugin-jsx": "^8.1.0", @@ -72,6 +72,7 @@ "eslint-plugin-react": "^7.35.2", "eslint-plugin-react-hooks": "^4.6.2", "jsdom": "^25.0.0", + "jsdom-testing-mocks": "^1.13.1", "msw": "^2.4.1", "prettier": "3.3.3", "prettier-plugin-astro": "^0.14.1", @@ -1521,9 +1522,10 @@ "license": "MIT" }, "node_modules/@headlessui/react": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.1.4.tgz", - "integrity": "sha512-tqxvLFJ2Cx0FWfHKSR0ENM3oa+ATvpGZR5OUswtMNRA7KbkNr4sE+oYM7HQS7zqaIoTu7OVBeQV/JO3pnez9JQ==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.1.7.tgz", + "integrity": "sha512-3mZkkpFK2lK0Xvl9LcdgyN+mQQQ/bZU7lLhy63isqZ+OaYug7DQGTSPQd/TM0nUayvk+8pHSiaYuSRw/mTHUTg==", + "license": "MIT", "dependencies": { "@floating-ui/react": "^0.26.16", "@react-aria/focus": "^3.17.1", @@ -5277,6 +5279,13 @@ "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", "license": "MIT" }, + "node_modules/bezier-easing": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", + "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==", + "dev": true, + "license": "MIT" + }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -6027,6 +6036,13 @@ "node": ">= 8" } }, + "node_modules/css-mediaquery": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", + "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==", + "dev": true, + "license": "BSD" + }, "node_modules/css-selector-tokenizer": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", @@ -9643,6 +9659,20 @@ } } }, + "node_modules/jsdom-testing-mocks": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/jsdom-testing-mocks/-/jsdom-testing-mocks-1.13.1.tgz", + "integrity": "sha512-8BAsnuoO4DLGTf7LDbSm8fcx5CUHSv4h+bdUbwyt6rMYAXWjeHLRx9f8sYiSxoOTXy3S1e06pe87KER39o1ckA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bezier-easing": "^2.1.0", + "css-mediaquery": "^0.1.2" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", diff --git a/website/package.json b/website/package.json index 6b65b3cf9..28d211bbc 100644 --- a/website/package.json +++ b/website/package.json @@ -24,7 +24,7 @@ "@astrojs/mdx": "^3.1.5", "@astrojs/node": "^8.3.3", "@emotion/react": "^11.13.3", - "@headlessui/react": "^2.1.4", + "@headlessui/react": "^2.1.7", "@mui/material": "~5.14.20", "@svgr/core": "^8.1.0", "@svgr/plugin-jsx": "^8.1.0", @@ -85,6 +85,7 @@ "eslint-plugin-react": "^7.35.2", "eslint-plugin-react-hooks": "^4.6.2", "jsdom": "^25.0.0", + "jsdom-testing-mocks": "^1.13.1", "msw": "^2.4.1", "prettier": "3.3.3", "prettier-plugin-astro": "^0.14.1", diff --git a/website/vitest.setup.ts b/website/vitest.setup.ts index 7eee3f5c8..fca37f668 100755 --- a/website/vitest.setup.ts +++ b/website/vitest.setup.ts @@ -2,6 +2,7 @@ import '@testing-library/jest-dom'; import { HttpStatusCode } from 'axios'; +import { mockAnimationsApi } from 'jsdom-testing-mocks'; import { http } from 'msw'; import { setupServer } from 'msw/node'; import ResizeObserver from 'resize-observer-polyfill'; @@ -38,6 +39,10 @@ export const testConfig = { // See https://github.com/tailwindlabs/headlessui/issues/3268 vi.stubGlobal('ResizeObserver', ResizeObserver); +// Mocking necessary since headlessui v2.1.5 +// See https://github.com/tailwindlabs/headlessui/issues/3469 +mockAnimationsApi(); + export const metadataKey = 'originalMetaDataField'; export const editableEntry = 'originalMetaDataValue'; export const defaultReviewData: SequenceEntryToEdit = { From 2aacc73d6c042e52528a77e6cbcbd9b6d4a4af20 Mon Sep 17 00:00:00 2001 From: Cornelius Roemer Date: Wed, 11 Sep 2024 21:25:33 +0200 Subject: [PATCH 2/2] Update msw, pinning transitive dep msw interceptors to 0.33.3 for the time being --- website/package-lock.json | 25 ++++++++++--------------- website/package.json | 2 +- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 67be40fde..ef695924a 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -73,7 +73,7 @@ "eslint-plugin-react-hooks": "^4.6.2", "jsdom": "^25.0.0", "jsdom-testing-mocks": "^1.13.1", - "msw": "^2.4.1", + "msw": "^2.4.5", "prettier": "3.3.3", "prettier-plugin-astro": "^0.14.1", "resize-observer-polyfill": "^1.5.1", @@ -2391,9 +2391,8 @@ } }, "node_modules/@mswjs/interceptors": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.29.1.tgz", - "integrity": "sha512-3rDakgJZ77+RiQUuSK69t1F0m8BQKA8Vh5DCS5V0DWvNY67zob2JhhQrhCO0AKLGINTRSFd1tBaHcJTkhefoSw==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.33.3.tgz", "dev": true, "license": "MIT", "dependencies": { @@ -8319,8 +8318,6 @@ "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } @@ -11448,21 +11445,23 @@ "license": "MIT" }, "node_modules/msw": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/msw/-/msw-2.4.1.tgz", - "integrity": "sha512-HXcoQPzYTwEmVk+BGIcRa0vLabBT+J20SSSeYh/QfajaK5ceA6dlD4ZZjfz2dqGEq4vRNCPLP6eXsB94KllPFg==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.4.5.tgz", + "integrity": "sha512-lX7knS9us1EKs1Y/ihB4eYEJ9VCq+ZGezrPSspbRw0iEaoOn1q0vZkR0joZ6w1S4u46ZD+VLJ522EQihIIkRCg==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "@bundled-es-modules/cookie": "^2.0.0", "@bundled-es-modules/statuses": "^1.0.1", "@bundled-es-modules/tough-cookie": "^0.1.6", "@inquirer/confirm": "^3.0.0", - "@mswjs/interceptors": "^0.29.0", + "@mswjs/interceptors": "^0.33.3", "@open-draft/until": "^2.1.0", "@types/cookie": "^0.6.0", "@types/statuses": "^2.0.4", "chalk": "^4.1.2", + "graphql": "^16.8.1", "headers-polyfill": "^4.0.2", "is-node-process": "^1.2.0", "outvariant": "^1.4.2", @@ -11481,13 +11480,9 @@ "url": "https://github.com/sponsors/mswjs" }, "peerDependencies": { - "graphql": ">= 16.8.x", - "typescript": ">= 4.7.x" + "typescript": ">= 4.8.x" }, "peerDependenciesMeta": { - "graphql": { - "optional": true - }, "typescript": { "optional": true } diff --git a/website/package.json b/website/package.json index 28d211bbc..403ef54f3 100644 --- a/website/package.json +++ b/website/package.json @@ -86,7 +86,7 @@ "eslint-plugin-react-hooks": "^4.6.2", "jsdom": "^25.0.0", "jsdom-testing-mocks": "^1.13.1", - "msw": "^2.4.1", + "msw": "^2.4.5", "prettier": "3.3.3", "prettier-plugin-astro": "^0.14.1", "resize-observer-polyfill": "^1.5.1",