From 0896344c7e03e7b9160a5d6ea0c8597519d383bf Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Fri, 7 Oct 2022 19:44:10 +0800 Subject: [PATCH] fix!: drop support for Vite 2 (#1928) * fix: drop support for Vite 2 * chore: lock * chore: fix lit test * chore: fix lit test Co-authored-by: Vladimir Sheremet --- .tazerc.json | 2 +- examples/lit/package.json | 2 +- examples/lit/test/basic.test.ts | 27 +++++++++++++------------- examples/lit/vite.config.ts | 2 +- packages/vite-node/package.json | 2 +- packages/vitest/package.json | 2 +- pnpm-lock.yaml | 34 +++++++++++++++++++++++++-------- 7 files changed, 45 insertions(+), 26 deletions(-) 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'} -- 2.51.2