diff --git a/.tazerc.json b/.tazerc.json
index e6e3c18a8..207e0d10c 100644
--- a/.tazerc.json
+++ b/.tazerc.json
@@ -1,6 +1,6 @@
{
"exclude": [
- "vite",
+ "vue",
"puppeteer",
"pretty-format",
"pathe"
diff --git a/examples/lit/package.json b/examples/lit/package.json
index 744e24cb6..54bb31465 100644
--- a/examples/lit/package.json
+++ b/examples/lit/package.json
@@ -16,7 +16,7 @@
},
"devDependencies": {
"@vitest/ui": "latest",
- "happy-dom": "latest",
+ "jsdom": "latest",
"vite": "latest",
"vitest": "latest"
},
diff --git a/examples/lit/test/basic.test.ts b/examples/lit/test/basic.test.ts
index f92c0b2c0..ae4eab061 100644
--- a/examples/lit/test/basic.test.ts
+++ b/examples/lit/test/basic.test.ts
@@ -1,26 +1,27 @@
-import type { IWindow } from 'happy-dom'
-import { beforeEach, describe, it, vi } from 'vitest'
+import { beforeEach, describe, expect, it, vi } from 'vitest'
import '../src/my-button'
-declare global {
- interface Window extends IWindow {}
-}
-
describe('Button with increment', async () => {
- beforeEach(async () => {
- document.body.innerHTML = ''
- await window.happyDOM.whenAsyncComplete()
- await new Promise(resolve => setTimeout(resolve, 0))
- })
-
function getInsideButton(): HTMLElement | null | undefined {
return document.body.querySelector('my-button')?.shadowRoot?.querySelector('button')
}
+ beforeEach(async () => {
+ document.body.innerHTML = ''
+ await new Promise((resolve) => {
+ const interval = setInterval(() => {
+ if (getInsideButton()) {
+ clearInterval(interval)
+ resolve()
+ }
+ })
+ })
+ })
+
it('should increment the count on each click', () => {
getInsideButton()?.click()
- expect(getInsideButton()?.innerText).toContain('1')
+ expect(getInsideButton()?.textContent).toContain('1')
})
it('should show name props', () => {
diff --git a/examples/lit/vite.config.ts b/examples/lit/vite.config.ts
index b84613935..e546d108f 100644
--- a/examples/lit/vite.config.ts
+++ b/examples/lit/vite.config.ts
@@ -6,6 +6,6 @@ import { defineConfig } from 'vite'
export default defineConfig({
test: {
globals: true,
- environment: 'happy-dom',
+ environment: 'jsdom',
},
})
diff --git a/packages/vite-node/package.json b/packages/vite-node/package.json
index a564e9b48..9d2c86086 100644
--- a/packages/vite-node/package.json
+++ b/packages/vite-node/package.json
@@ -73,7 +73,7 @@
"debug": "^4.3.4",
"mlly": "^0.5.16",
"pathe": "^0.2.0",
- "vite": "^2.9.12 || ^3.0.0-0"
+ "vite": "^3.0.0"
},
"devDependencies": {
"@types/debug": "^4.1.7",
diff --git a/packages/vitest/package.json b/packages/vitest/package.json
index 2ab09484e..38374ed52 100644
--- a/packages/vitest/package.json
+++ b/packages/vitest/package.json
@@ -113,7 +113,7 @@
"tinybench": "^2.2.1",
"tinypool": "^0.3.0",
"tinyspy": "^1.0.2",
- "vite": "^2.9.12 || ^3.0.0-0"
+ "vite": "^3.0.0"
},
"devDependencies": {
"@antfu/install-pkg": "^0.1.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index dcdf89529..d793b1a56 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -185,7 +185,7 @@ importers:
examples/lit:
specifiers:
'@vitest/ui': latest
- happy-dom: latest
+ jsdom: latest
lit: ^2.2.5
vite: ^3.1.0
vitest: workspace:*
@@ -193,7 +193,7 @@ importers:
lit: 2.3.1
devDependencies:
'@vitest/ui': link:../../packages/ui
- happy-dom: 6.0.4
+ jsdom: 20.0.1
vite: 3.1.0
vitest: link:../../packages/vitest
@@ -238,7 +238,7 @@ importers:
react-dom: 18.0.0_react@18.0.0
devDependencies:
'@testing-library/react': 13.3.0_zpnidt7m3osuk7shl3s4oenomq
- '@types/node': 18.8.0
+ '@types/node': 18.8.3
'@types/react': 18.0.21
'@vitejs/plugin-react': 2.1.0
jsdom: 20.0.1
@@ -290,7 +290,7 @@ importers:
'@types/react-test-renderer': 17.0.2
'@vitejs/plugin-react': 2.1.0_vite@3.1.0
'@vitest/ui': link:../../packages/ui
- happy-dom: 6.0.4
+ happy-dom: 7.3.0
jsdom: 20.0.1
react-test-renderer: 17.0.2_react@17.0.2
vite: 3.1.0
@@ -958,7 +958,7 @@ importers:
devDependencies:
'@vitejs/plugin-vue': 3.1.2_vite@3.1.0+vue@3.2.40
'@vue/test-utils': 2.1.0_vue@3.2.40
- happy-dom: 6.0.4
+ happy-dom: 7.3.0
vite: 3.1.0
vitest: link:../../packages/vitest
vue: 3.2.40
@@ -5635,7 +5635,7 @@ packages:
/@types/concat-stream/1.6.1:
resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==}
dependencies:
- '@types/node': 18.8.0
+ '@types/node': 18.8.3
dev: true
/@types/cookie/0.4.1:
@@ -5693,9 +5693,9 @@ packages:
dev: true
/@types/form-data/0.0.33:
- resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==}
+ resolution: {integrity: sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=}
dependencies:
- '@types/node': 18.8.0
+ '@types/node': 18.8.3
dev: true
/@types/fs-extra/9.0.13:
@@ -5854,6 +5854,10 @@ packages:
resolution: {integrity: sha512-u+h43R6U8xXDt2vzUaVP3VwjjLyOJk6uEciZS8OSyziUQGOwmk+l+4drxcsDboHXwyTaqS1INebghmWMRxq3LA==}
dev: true
+ /@types/node/18.8.3:
+ resolution: {integrity: sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w==}
+ dev: true
+
/@types/node/8.10.66:
resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==}
dev: true
@@ -11822,6 +11826,20 @@ packages:
- encoding
dev: true
+ /happy-dom/7.3.0:
+ resolution: {integrity: sha512-KJDR6CJ2S9MeOznLUU4iF98sh2yBmwEOTFcJHHZvNCYo8PsmgeeECZqUOr33VmNdSYBO+X9hSOTjeT533hwSXA==}
+ dependencies:
+ css.escape: 1.5.1
+ he: 1.2.0
+ node-fetch: 2.6.7
+ sync-request: 6.1.0
+ webidl-conversions: 7.0.0
+ whatwg-encoding: 2.0.0
+ whatwg-mimetype: 3.0.0
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
/has-ansi/2.0.0:
resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
engines: {node: '>=0.10.0'}