diff --git a/jest.config.js b/jest.config.js index cd1c54c3a9..98f2e38815 100644 --- a/jest.config.js +++ b/jest.config.js @@ -4,7 +4,7 @@ */ module.exports = { preset: 'ts-jest', - testEnvironment: 'jest-environment-jsdom', + testEnvironment: './src/tests/jsdom-structured-clone-env.js', moduleFileExtensions: [ 'js', 'jsx', diff --git a/package-lock.json b/package-lock.json index 93d6af7f79..2a1acfea7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -52,7 +52,7 @@ "@nextcloud/router": "^3.0.1", "@nextcloud/sharing": "^0.2.5", "@nextcloud/timezones": "^0.2.0", - "@nextcloud/vue": "^8.28.0", + "@nextcloud/vue": "^8.30.0", "@pinia/testing": "^0.1.7", "@riophae/vue-treeselect": "^0.4.0", "@vue/babel-preset-app": "^5.0.8", @@ -6128,9 +6128,9 @@ } }, "node_modules/@nextcloud/vue": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.28.0.tgz", - "integrity": "sha512-m0Ei6LpySq5OBb2zNqOx5vasDsmmiDTYtCoWb20ZBCT3+uk3D2m02US9g+1dS4v/Gb4BcwFLYm5mwlRH9zNERw==", + "version": "8.30.0", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.30.0.tgz", + "integrity": "sha512-/FurCDvPmgI/HDGKv6L0flBw9gg2WkvlDydlL8G+VNmEVwW/RWXJ4uvqDhXLb1iIwS8yQXnYheDpeOKZr7aVIQ==", "license": "AGPL-3.0-or-later", "dependencies": { "@floating-ui/dom": "^1.1.0", @@ -6182,8 +6182,7 @@ "vue2-datepicker": "^3.11.0" }, "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" + "node": "^20.0.0 || ^22.0.0 || ^24.0.0" } }, "node_modules/@nextcloud/vue-select": { diff --git a/package.json b/package.json index b2a89f860e..f094b24be4 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "@nextcloud/router": "^3.0.1", "@nextcloud/sharing": "^0.2.5", "@nextcloud/timezones": "^0.2.0", - "@nextcloud/vue": "^8.28.0", + "@nextcloud/vue": "^8.30.0", "@pinia/testing": "^0.1.7", "@riophae/vue-treeselect": "^0.4.0", "@vue/babel-preset-app": "^5.0.8", diff --git a/src/tests/jsdom-structured-clone-env.js b/src/tests/jsdom-structured-clone-env.js new file mode 100644 index 0000000000..c086f98363 --- /dev/null +++ b/src/tests/jsdom-structured-clone-env.js @@ -0,0 +1,17 @@ +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import JSDOMEnvironment from 'jest-environment-jsdom' + +export default class FixJSDOMEnvironment extends JSDOMEnvironment { + + constructor(...args) { + super(...args) + + // Fix missing support for structuredClone() in jsdom + // Ref https://github.com/jsdom/jsdom/issues/3363 + this.global.structuredClone = structuredClone + } +}