Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
"picocolors": "^1.1.1",
"playwright-chromium": "^1.59.0",
"simple-git-hooks": "^2.13.1",
"typescript": "^5.9.3",
"typescript": "^6.0.2",
"typescript-eslint": "^8.58.0",
"vite": "^8.0.3",
"vite-plugin-inspect": "^11.3.3",
Expand Down
2 changes: 1 addition & 1 deletion packages/plugin-react-swc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"fs-extra": "^11.3.4",
"prettier": "^3.0.3",
"tsdown": "^0.21.7",
"typescript": "^5.9.3"
"typescript": "^6.0.2"
},
"peerDependencies": {
"vite": "^4 || ^5 || ^6 || ^7 || ^8"
Expand Down
2 changes: 1 addition & 1 deletion playground/compiler-react-18/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
"@types/react-dom": "^18.3.7",
"@vitejs/plugin-react": "workspace:*",
"babel-plugin-react-compiler": "19.1.0-rc.3",
"typescript": "^5.9.3"
"typescript": "^6.0.2"
}
}
2 changes: 1 addition & 1 deletion playground/compiler/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "workspace:*",
"babel-plugin-react-compiler": "19.1.0-rc.3",
"typescript": "^5.9.3"
"typescript": "^6.0.2"
}
}
4 changes: 2 additions & 2 deletions playground/react-emotion/__tests__/react.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ test.runIf(isServe)('should hmr', async () => {
test('should update button style', async () => {
function getButtonBorderStyle() {
return page.evaluate(() => {
return window.getComputedStyle(document.querySelector('button')).border
return window.getComputedStyle(document.querySelector('button')!).border
})
}

await page.evaluate(() => {
return document.querySelector('button').style
return document.querySelector('button')!.style
})

expect(await getButtonBorderStyle()).toMatch('2px solid rgb(0, 0, 0)')
Expand Down
30 changes: 22 additions & 8 deletions playground/test-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ function rgbToHex(rgb: string): string {

async function toEl(el: string | ElementHandle): Promise<ElementHandle> {
if (typeof el === 'string') {
return await page.$(el)
return (await page.$(el))!
}
return el
}
Expand Down Expand Up @@ -117,14 +117,9 @@ async function untilBrowserLog(
target?: string | RegExp | Array<string | RegExp>,
expectOrder = true,
): Promise<string[]> {
let resolve: () => void
let reject: (reason: any) => void
const promise = new Promise<void>((_resolve, _reject) => {
resolve = _resolve
reject = _reject
})
const { promise, resolve, reject } = promiseWithResolvers<void>()

const logs = []
const logs: string[] = []

try {
const isMatch = (matcher: string | RegExp) => (text: string) =>
Expand All @@ -139,6 +134,9 @@ async function untilBrowserLog(
const remainingTargets = [...target]
processMsg = (text: string) => {
const nextTarget = remainingTargets.shift()
if (!nextTarget) {
expect.fail('Received more logs than expected. Extra log: ' + text)
}
expect(text).toMatch(nextTarget)
return remainingTargets.length === 0
}
Expand Down Expand Up @@ -186,6 +184,22 @@ export function escapeRegex(str: string): string {
return str.replace(escapeRegexRE, '\\$&')
}

// TODO: Replace with Promise.withResolvers when bumping to Node 22
export interface PromiseWithResolvers<T> {
promise: Promise<T>
resolve: (value: T | PromiseLike<T>) => void
reject: (reason?: any) => void
}
export function promiseWithResolvers<T>(): PromiseWithResolvers<T> {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without the function extraction it was generating a falsy "used before init"
Function with export copied from Vite core

let resolve: any
let reject: any
const promise = new Promise<T>((_resolve, _reject) => {
resolve = _resolve
reject = _reject
})
return { promise, resolve, reject }
}

/**
* Before implementing a new util, check if it's not available in core https://github.com/vitejs/vite/blob/main/playground/test-utils.ts
*/
1 change: 0 additions & 1 deletion playground/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
"target": "ES2023",
"module": "preserve",
"outDir": "dist",
"baseUrl": ".",
"allowJs": true,
"esModuleInterop": true,
"resolveJsonModule": true,
Expand Down
9 changes: 5 additions & 4 deletions playground/vitestSetup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,10 @@ export function setViteUrl(url: string): void {
// eslint-disable-next-line no-empty-pattern
beforeAll(async ({}, suite) => {
testPath = suite.file.filepath!
testName = slash(testPath).match(/playground\/([\w-]+)\//)?.[1]
const playgroundDir = slash(testPath).match(/playground\/([\w-]+)\//)?.[1]
testDir = dirname(testPath)
if (testName) {
if (playgroundDir) {
testName = playgroundDir
testDir = path.resolve(workspaceRoot, 'playground-temp', testName)
}

Expand Down Expand Up @@ -231,7 +232,7 @@ export async function startDefaultServe(): Promise<void> {
const config = await loadConfig({ command: 'serve', mode: 'development' })
viteServer = server = await (await createServer(config)).listen()
viteTestUrl = stripTrailingSlashIfNeeded(
server.resolvedUrls.local[0],
server.resolvedUrls!.local[0],
server.config.base,
)
await page.goto(viteTestUrl)
Expand Down Expand Up @@ -277,7 +278,7 @@ export async function startDefaultServe(): Promise<void> {
// prevent preview change NODE_ENV
process.env.NODE_ENV = _nodeEnv
viteTestUrl = stripTrailingSlashIfNeeded(
previewServer.resolvedUrls.local[0],
previewServer.resolvedUrls!.local[0],
previewServer.config.base,
)
await page.goto(viteTestUrl)
Expand Down
Loading
Loading