Switch to happy-dom for testing (#29948)

Use `happy-dom` again in vitest as it has caught up recently to `jsdom`
in terms of features and it is a much more lightweight solution.

I encountered [one
bug](https://github.com/capricorn86/happy-dom/issues/1342), but it's an
easy workaround until fixed.

I regenerated the lockfile to get rid of the transitive dependencies so
that's why the diff also has some upgrades in it.

In total, this change removes 39 npm dependencies.
This commit is contained in:
silverwind authored and GitHub committed 2024-03-21 14:05:24 +00:00
1 parent 62f8174aa2
commit 82979588f4
4 files changed
+323 -1066

No files matched your search

+320 -1063
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -84,7 +84,7 @@
"eslint-plugin-vue": "9.23.0",
"eslint-plugin-vue-scoped-css": "2.7.2",
"eslint-plugin-wc": "2.0.4",
"jsdom": "24.0.0",
"happy-dom": "14.2.0",
"markdownlint-cli": "0.39.0",
"postcss-html": "1.6.0",
"stylelint": "16.2.1",
+1 -1
View File
@@ -6,7 +6,7 @@ export default defineConfig({
test: {
include: ['web_src/**/*.test.js'],
setupFiles: ['web_src/js/vitest.setup.js'],
environment: 'jsdom',
environment: 'happy-dom',
testTimeout: 20000,
open: false,
allowOnly: true,
+1 -1
View File
@@ -205,7 +205,7 @@ export const SvgIcon = {
// make the <SvgIcon class="foo" class-name="bar"> classes work together
const classes = [];
for (const cls of svgOuter.classList) {
for (const cls of svgOuter.classList.values()) {
classes.push(cls);
}
// TODO: drop the `className/class-name` prop in the future, only use "class" prop