/
githubmirror
/
tailwindcss
Обзор
Документация
Войти
/
githubmirror
/
tailwindcss
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
integrations/vite/qwik.test.ts
100 строк
3 KB
Philipp Spiess
Vite: Don't register the current CSS file as a dependency on itself (#17533)
03 апр 2025, 19:50
Не верифицирован
03 апр 2025, 19:50
3f434a6
Код
Авторство
О чём код?
import { candidate, css, fetchStyles, json, retryAssertion, test, ts } from '../utils' test( 'dev mode', { fs: { 'package.json': json` { "type": "module", "dependencies": { "@builder.io/qwik": "^1", "@builder.io/qwik-city": "^1", "vite": "^5", "@tailwindcss/vite": "workspace:^", "tailwindcss": "workspace:^" } } `, 'vite.config.ts': ts` import { defineConfig } from 'vite' import { qwikVite } from '@builder.io/qwik/optimizer' import { qwikCity } from '@builder.io/qwik-city/vite' import tailwindcss from '@tailwindcss/vite' export default defineConfig(() => { return { plugins: [tailwindcss(), qwikCity(), qwikVite()], } }) `, 'src/root.tsx': ts` import { component$ } from '@builder.io/qwik' import { QwikCityProvider, RouterOutlet } from '@builder.io/qwik-city' import './global.css' export default component$(() => { return ( <QwikCityProvider> <head></head> <body> <RouterOutlet /> </body> </QwikCityProvider> ) }) `, 'src/global.css': css`@import 'tailwindcss/utilities.css';`, 'src/entry.ssr.tsx': ts` import { renderToStream, type RenderToStreamOptions } from '@builder.io/qwik/server' import Root from './root' export default function (opts: RenderToStreamOptions) { return renderToStream(<Root />, opts) } `, 'src/routes/index.tsx': ts` import { component$ } from '@builder.io/qwik' export default component$(() => { return <h1 class="underline">Hello World!</h1> }) `, }, }, async ({ fs, spawn, expect }) => { let process = await spawn('pnpm vite --mode ssr') await process.onStdout((m) => m.includes('ready in')) let url = '' await process.onStdout((m) => { console.log(m) let match = /Local:\s*(http.*)\//.exec(m) if (match) url = match[1] return Boolean(url) }) await retryAssertion(async () => { let css = await fetchStyles(url) expect(css).toContain(candidate`underline`) }) await retryAssertion(async () => { await fs.write( 'src/routes/index.tsx', ts` import { component$ } from '@builder.io/qwik' export default component$(() => { return <h1 class="underline flex">Hello World!</h1> }) `, ) let css = await fetchStyles(url) expect(css).toContain(candidate`underline`) expect(css).toContain(candidate`flex`) }) }, )