Skip to content
Draft
Show file tree
Hide file tree
Changes from all 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
7 changes: 7 additions & 0 deletions .changeset/vite-8-rolldown.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@qwik.dev/core': minor
'@qwik.dev/router': minor
'@qwik.dev/react': minor
---

feat: support Vite 8 with the Rolldown bundler (Vite 8 is now required)
2 changes: 1 addition & 1 deletion e2e/adapters-e2e/adapters/bun/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default extendConfig(baseConfig, () => {
return {
build: {
ssr: true,
rollupOptions: {
rolldownOptions: {
input: ['src/entry.bun.tsx'],
},
},
Expand Down
2 changes: 1 addition & 1 deletion e2e/adapters-e2e/adapters/deno/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default extendConfig(baseConfig, () => {
return {
build: {
ssr: true,
rollupOptions: {
rolldownOptions: {
input: ['src/entry.deno.tsx'],
},
},
Expand Down
2 changes: 1 addition & 1 deletion e2e/adapters-e2e/adapters/express/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default extendConfig(baseConfig, () => {
return {
build: {
ssr: true,
rollupOptions: {
rolldownOptions: {
input: ['src/entry.express.tsx'],
},
},
Expand Down
2 changes: 1 addition & 1 deletion e2e/qwik-e2e/apps/preloader-test/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ export default defineConfig((): UserConfig => {
],
build: {
minify: false,
rollupOptions: {
rolldownOptions: {
output: {
manualChunks: (id) => {
// Put library code in separate chunks
Expand Down
2 changes: 1 addition & 1 deletion e2e/qwik-e2e/dev-server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ export { router }
getInlineConf({
build: {
minify: false,
rollupOptions: clientInput
rolldownOptions: clientInput
? {
input: {
'entry.dev': clientInput,
Expand Down
2 changes: 1 addition & 1 deletion e2e/qwik-e2e/tests/server-only-modules.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ async function buildFixtureApp(appDir: string, input = './src/root.tsx') {
plugins: [qwikRouter(), qwikVite()],
build: {
minify: false,
rollupOptions: input ? { input: resolve(appDir, input) } : undefined,
rolldownOptions: input ? { input: resolve(appDir, input) } : undefined,
},
};

Expand Down
3 changes: 2 additions & 1 deletion e2e/qwik-e2e/tests/style.e2e.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { test, expect } from '@playwright/test';

const USE_STYLES_DEDUPE_MARKER = '--use-styles-dedupe-marker: dedupe-ok';
// No space after the colon: the bundler minifies the inline CSS.
const USE_STYLES_DEDUPE_MARKER = '--use-styles-dedupe-marker:dedupe-ok';

test.describe('styles', () => {
test.beforeEach(async ({ page }) => {
Expand Down
2 changes: 1 addition & 1 deletion e2e/qwik-react-e2e/adapters/express/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default extendConfig(baseConfig, () => {
return {
build: {
ssr: true,
rollupOptions: {
rolldownOptions: {
input: ['src/entry.express.tsx'],
},
},
Expand Down
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@
"syncpack": {
"versionGroups": [
{
"label": "Be lenient in vite versions for prod. v4 is broken, v5 is good",
"label": "Vite 8 only",
"dependencyTypes": [
"prod",
"peer"
],
"dependencies": [
"vite"
],
"pinVersion": ">=6 <9"
"pinVersion": ">=8 <9"
},
{
"label": "optimizer needs exact workspace version",
Expand Down Expand Up @@ -129,7 +129,7 @@
"@types/semver": "7.7.1",
"@types/tmp": "0.2.6",
"@types/which-pm-runs": "1.0.2",
"@vitejs/plugin-basic-ssl": "2.1.4",
"@vitejs/plugin-basic-ssl": "2.3.0",
"@vitest/coverage-v8": "4.0.18",
"all-contributors-cli": "6.26.1",
"brotli": "1.3.3",
Expand Down Expand Up @@ -169,9 +169,9 @@
"typescript": "5.9.3",
"typescript-eslint": "8.56.1",
"vfile": "6.0.3",
"vite": "7.3.5",
"vite": "8.2.0",
"vite-imagetools": "10.0.0",
"vite-plugin-dts": "4.5.4",
"vite-plugin-dts": "5.0.3",
"vite-tsconfig-paths": "6.1.1",
"vitest": "4.1.10",
"watchlist": "0.3.1",
Expand Down
8 changes: 4 additions & 4 deletions packages/devtools/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
"dree": "^5.1.5",
"fast-glob": "^3.3.3",
"oxc-parser": "^0.120.0",
"rollup-plugin-visualizer": "^6.0.3",
"rollup-plugin-visualizer": "^7.0.1",
"superjson": "^2.2.6",
"vite-hot-client": "^2.1.0",
"vite-plugin-inspect": "^11.3.3",
"vite-plugin-inspect": "^12.0.2",
"yaml": "^2.8.2"
},
"devDependencies": {
Expand Down Expand Up @@ -46,7 +46,7 @@
"tsdown": "0.22.0",
"tsx": "4.21.0",
"typescript": "5.9.3",
"vite": "7.3.5",
"vite": "8.2.0",
"vite-tsconfig-paths": "6.1.1",
"vitest": "4.1.10"
},
Expand Down Expand Up @@ -87,7 +87,7 @@
"@tailwindcss/postcss": "^4.2.1",
"@tailwindcss/vite": "^4.2.1",
"tailwindcss": "^4.2.1",
"vite": ">=6 <9"
"vite": ">=8 <9"
},
"private": false,
"publishConfig": {
Expand Down
2 changes: 1 addition & 1 deletion packages/devtools/ui/vite.config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export default defineConfig(() => {
fileName: (format, entryName) => `${entryName}.qwik.mjs`,
cssFileName: 'styles',
},
rollupOptions: {
rolldownOptions: {
output: {
preserveModules: true,
preserveModulesRoot: 'src',
Expand Down
2 changes: 1 addition & 1 deletion packages/docs/adapters/cloudflare-pages/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default extendConfig(baseConfig, () => {
return {
build: {
ssr: true,
rollupOptions: {
rolldownOptions: {
input: ['src/entry.cloudflare-pages.tsx'],
},
minify: false,
Expand Down
4 changes: 2 additions & 2 deletions packages/docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"@qwik.dev/partytown": "0.13.2",
"@qwik.dev/react": "workspace:*",
"@qwik.dev/router": "workspace:*",
"@rolldown/browser": "1.0.0-beta.59",
"@rolldown/browser": "1.2.2",
"@shikijs/colorized-brackets": "3.21.0",
"@shikijs/langs": "3.21.0",
"@shikijs/rehype": "3.21.0",
Expand Down Expand Up @@ -56,7 +56,7 @@
"tsm": "2.3.0",
"typescript": "5.9.3",
"valibot": "1.4.2",
"vite": "7.3.5",
"vite": "8.2.0",
"vite-tsconfig-paths": "6.1.1",
"wrangler": "4.80.0"
},
Expand Down
6 changes: 3 additions & 3 deletions packages/docs/src/repl/bundler/repl-bundler-worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
replMinify,
replResolver,
replWorkerQrlChunks,
} from './rollup-plugins';
} from './rolldown-plugins';
import { QWIK_PKG_NAME_V1 } from '../repl-constants';

// Worker message types
Expand Down Expand Up @@ -179,7 +179,7 @@ async function performBundle(message: BundleMessage): Promise<ReplResult> {
plugins: [
definesPlugin(defines),
replCss({ srcInputs }),
qwikViteModule!.qwikRollup({
qwikViteModule!.qwikRolldown({
optimizerOptions: { binding, _optimizer: qwikOptimizerModule },
target: 'client',
buildMode,
Expand Down Expand Up @@ -226,7 +226,7 @@ async function performBundle(message: BundleMessage): Promise<ReplResult> {
plugins: [
definesPlugin(defines),
replCss({ srcInputs }),
qwikViteModule!.qwikRollup({
qwikViteModule!.qwikRolldown({
optimizerOptions: { binding, _optimizer: qwikOptimizerModule },
target: 'ssr',
buildMode,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { describe, expect, test } from 'vitest';
import type { QwikManifest } from '@qwik.dev/core/optimizer';
import { replWorkerQrlChunks } from './rollup-plugins';
import { replWorkerQrlChunks } from './rolldown-plugins';

describe('repl worker qrl chunk rewrites', () => {
test('rewrites worker qrl placeholders to repl client bundle paths', () => {
Expand Down
4 changes: 2 additions & 2 deletions packages/docs/src/repl/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import type { NoSerialize, Signal } from '@qwik.dev/core';
import type {
Diagnostic,
QwikManifest,
QwikRollupPluginOptions,
QwikRolldownPluginOptions,
TransformModule,
} from '@qwik.dev/core/optimizer';
import type { ReplInstance } from './repl-instance';
Expand All @@ -17,7 +17,7 @@ export interface ReplAppInput {
}

export type PkgUrls = { [pkgName: string]: { [path: string]: string; version: string } };
export interface ReplInputOptions extends Omit<QwikRollupPluginOptions, 'srcDir'> {
export interface ReplInputOptions extends Omit<QwikRolldownPluginOptions, 'srcDir'> {
replId: string;
srcInputs: ReplModuleInput[];
version: string;
Expand Down
42 changes: 35 additions & 7 deletions packages/docs/src/routes/api/qwik-optimizer/api.json
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,34 @@
"editUrl": "https://github.com/QwikDev/qwik/tree/main/packages/qwik-vite/src/types.ts",
"mdFile": "qwik-vite.qwikmanifest.md"
},
{
"name": "qwikRolldown",
"id": "qwikrolldown",
"hierarchy": [
{
"name": "qwikRolldown",
"id": "qwikrolldown"
}
],
"kind": "Function",
"content": "```typescript\nexport declare function qwikRolldown(qwikRolldownOpts?: QwikRolldownPluginOptions): any;\n```\n\n\n<table><thead><tr><th>\n\nParameter\n\n\n</th><th>\n\nType\n\n\n</th><th>\n\nDescription\n\n\n</th></tr></thead>\n<tbody><tr><td>\n\nqwikRolldownOpts\n\n\n</td><td>\n\n[QwikRolldownPluginOptions](#qwikrolldownpluginoptions)\n\n\n</td><td>\n\n_(Optional)_\n\n\n</td></tr>\n</tbody></table>\n\n**Returns:**\n\nany",
"editUrl": "https://github.com/QwikDev/qwik/tree/main/packages/qwik-vite/src/plugins/rolldown.ts",
"mdFile": "qwik-vite.qwikrolldown.md"
},
{
"name": "QwikRolldownPluginOptions",
"id": "qwikrolldownpluginoptions",
"hierarchy": [
{
"name": "QwikRolldownPluginOptions",
"id": "qwikrolldownpluginoptions"
}
],
"kind": "Interface",
"content": "```typescript\nexport interface QwikRolldownPluginOptions \n```\n\n\n<table><thead><tr><th>\n\nProperty\n\n\n</th><th>\n\nModifiers\n\n\n</th><th>\n\nType\n\n\n</th><th>\n\nDescription\n\n\n</th></tr></thead>\n<tbody><tr><td>\n\nbuildMode?\n\n\n</td><td>\n\n\n</td><td>\n\n[QwikBuildMode](#qwikbuildmode)\n\n\n</td><td>\n\n_(Optional)_ Build `production` or `development`<!-- -->.\n\nDefault `development`\n\n\n</td></tr>\n<tr><td>\n\ncsr?\n\n\n</td><td>\n\n\n</td><td>\n\nboolean\n\n\n</td><td>\n\n_(Optional)_\n\n\n</td></tr>\n<tr><td>\n\ndebug?\n\n\n</td><td>\n\n\n</td><td>\n\nboolean\n\n\n</td><td>\n\n_(Optional)_ Prints verbose Qwik plugin debug logs.\n\nDefault `false`\n\n\n</td></tr>\n<tr><td>\n\nentryStrategy?\n\n\n</td><td>\n\n\n</td><td>\n\nEntryStrategy\n\n\n</td><td>\n\n_(Optional)_ The Qwik entry strategy to use while building for production. During development the type is always `segment`<!-- -->.\n\nDefault `{ type: \"smart\" }`<!-- -->)\n\n\n</td></tr>\n<tr><td>\n\nexperimental?\n\n\n</td><td>\n\n\n</td><td>\n\n(keyof typeof [ExperimentalFeatures](#experimentalfeatures)<!-- -->)\\[\\]\n\n\n</td><td>\n\n_(Optional)_ Experimental features. These can come and go in patch releases, and their API is not guaranteed to be stable between releases.\n\n\n</td></tr>\n<tr><td>\n\nlint?\n\n\n</td><td>\n\n\n</td><td>\n\nboolean\n\n\n</td><td>\n\n_(Optional)_ Run eslint on the source files for the ssr build or dev server. This can slow down startup on large projects. Defaults to `true`\n\n\n</td></tr>\n<tr><td>\n\nmanifestInput?\n\n\n</td><td>\n\n\n</td><td>\n\n[QwikManifest](#qwikmanifest)\n\n\n</td><td>\n\n_(Optional)_ The SSR build requires the manifest generated during the client build. The `manifestInput` option can be used to manually provide a manifest.\n\nDefault `undefined`\n\n\n</td></tr>\n<tr><td>\n\nmanifestOutput?\n\n\n</td><td>\n\n\n</td><td>\n\n(manifest: [QwikManifest](#qwikmanifest)<!-- -->) =&gt; Promise&lt;void&gt; \\| void\n\n\n</td><td>\n\n_(Optional)_ The client build will create a manifest and this hook is called with the generated build data.\n\nDefault `undefined`\n\n\n</td></tr>\n<tr><td>\n\noptimizerOptions?\n\n\n</td><td>\n\n\n</td><td>\n\nOptimizerOptions\n\n\n</td><td>\n\n_(Optional)_\n\n\n</td></tr>\n<tr><td>\n\nrootDir?\n\n\n</td><td>\n\n\n</td><td>\n\nstring\n\n\n</td><td>\n\n_(Optional)_ The root of the application, which is commonly the same directory as `package.json` and `rollup.config.js`<!-- -->.\n\nDefault `process.cwd()`\n\n\n</td></tr>\n<tr><td>\n\nsrcDir?\n\n\n</td><td>\n\n\n</td><td>\n\nstring\n\n\n</td><td>\n\n_(Optional)_ The source directory to find all the Qwik components. Since Qwik does not have a single input, the `srcDir` is used to recursively find Qwik files.\n\nDefault `src`\n\n\n</td></tr>\n<tr><td>\n\nsrcInputs?\n\n\n</td><td>\n\n\n</td><td>\n\nTransformModuleInput\\[\\] \\| null\n\n\n</td><td>\n\n_(Optional)_ Alternative to `srcDir`<!-- -->, where `srcInputs` is able to provide the files manually. This option is useful for an environment without a file system, such as a webworker.\n\nDefault: `null`\n\n\n</td></tr>\n<tr><td>\n\ntarget?\n\n\n</td><td>\n\n\n</td><td>\n\n[QwikBuildTarget](#qwikbuildtarget)\n\n\n</td><td>\n\n_(Optional)_ Target `client` or `ssr`<!-- -->.\n\nDefault `client`\n\n\n</td></tr>\n<tr><td>\n\ntransformedModuleOutput?\n\n\n</td><td>\n\n\n</td><td>\n\n((transformedModules: TransformModule\\[\\]) =&gt; Promise&lt;void&gt; \\| void) \\| null\n\n\n</td><td>\n\n_(Optional)_ Hook that's called after the build and provides all of the transformed modules that were used before bundling.\n\n\n</td></tr>\n</tbody></table>",
"editUrl": "https://github.com/QwikDev/qwik/tree/main/packages/qwik-vite/src/plugins/rolldown.ts",
"mdFile": "qwik-vite.qwikrolldownpluginoptions.md"
},
{
"name": "qwikRollup",
"id": "qwikrollup",
Expand All @@ -205,9 +233,9 @@
"id": "qwikrollup"
}
],
"kind": "Function",
"content": "```typescript\nexport declare function qwikRollup(qwikRollupOpts?: QwikRollupPluginOptions): any;\n```\n\n\n<table><thead><tr><th>\n\nParameter\n\n\n</th><th>\n\nType\n\n\n</th><th>\n\nDescription\n\n\n</th></tr></thead>\n<tbody><tr><td>\n\nqwikRollupOpts\n\n\n</td><td>\n\n[QwikRollupPluginOptions](#qwikrolluppluginoptions)\n\n\n</td><td>\n\n_(Optional)_\n\n\n</td></tr>\n</tbody></table>\n\n**Returns:**\n\nany",
"editUrl": "https://github.com/QwikDev/qwik/tree/main/packages/qwik-vite/src/plugins/rollup.ts",
"kind": "Variable",
"content": "> Warning: This API is now obsolete.\n> \n> Use `qwikRolldown`<!-- -->.\n> \n\nRenamed to `qwikRolldown`<!-- -->.\n\n\n```typescript\nqwikRollup: typeof qwikRolldown\n```",
"editUrl": "https://github.com/QwikDev/qwik/tree/main/packages/qwik-vite/src/plugins/rolldown.ts",
"mdFile": "qwik-vite.qwikrollup.md"
},
{
Expand All @@ -219,9 +247,9 @@
"id": "qwikrolluppluginoptions"
}
],
"kind": "Interface",
"content": "```typescript\nexport interface QwikRollupPluginOptions \n```\n\n\n<table><thead><tr><th>\n\nProperty\n\n\n</th><th>\n\nModifiers\n\n\n</th><th>\n\nType\n\n\n</th><th>\n\nDescription\n\n\n</th></tr></thead>\n<tbody><tr><td>\n\nbuildMode?\n\n\n</td><td>\n\n\n</td><td>\n\n[QwikBuildMode](#qwikbuildmode)\n\n\n</td><td>\n\n_(Optional)_ Build `production` or `development`<!-- -->.\n\nDefault `development`\n\n\n</td></tr>\n<tr><td>\n\ncsr?\n\n\n</td><td>\n\n\n</td><td>\n\nboolean\n\n\n</td><td>\n\n_(Optional)_\n\n\n</td></tr>\n<tr><td>\n\ndebug?\n\n\n</td><td>\n\n\n</td><td>\n\nboolean\n\n\n</td><td>\n\n_(Optional)_ Prints verbose Qwik plugin debug logs.\n\nDefault `false`\n\n\n</td></tr>\n<tr><td>\n\nentryStrategy?\n\n\n</td><td>\n\n\n</td><td>\n\nEntryStrategy\n\n\n</td><td>\n\n_(Optional)_ The Qwik entry strategy to use while building for production. During development the type is always `segment`<!-- -->.\n\nDefault `{ type: \"smart\" }`<!-- -->)\n\n\n</td></tr>\n<tr><td>\n\nexperimental?\n\n\n</td><td>\n\n\n</td><td>\n\n(keyof typeof [ExperimentalFeatures](#experimentalfeatures)<!-- -->)\\[\\]\n\n\n</td><td>\n\n_(Optional)_ Experimental features. These can come and go in patch releases, and their API is not guaranteed to be stable between releases.\n\n\n</td></tr>\n<tr><td>\n\nlint?\n\n\n</td><td>\n\n\n</td><td>\n\nboolean\n\n\n</td><td>\n\n_(Optional)_ Run eslint on the source files for the ssr build or dev server. This can slow down startup on large projects. Defaults to `true`\n\n\n</td></tr>\n<tr><td>\n\nmanifestInput?\n\n\n</td><td>\n\n\n</td><td>\n\n[QwikManifest](#qwikmanifest)\n\n\n</td><td>\n\n_(Optional)_ The SSR build requires the manifest generated during the client build. The `manifestInput` option can be used to manually provide a manifest.\n\nDefault `undefined`\n\n\n</td></tr>\n<tr><td>\n\nmanifestOutput?\n\n\n</td><td>\n\n\n</td><td>\n\n(manifest: [QwikManifest](#qwikmanifest)<!-- -->) =&gt; Promise&lt;void&gt; \\| void\n\n\n</td><td>\n\n_(Optional)_ The client build will create a manifest and this hook is called with the generated build data.\n\nDefault `undefined`\n\n\n</td></tr>\n<tr><td>\n\noptimizerOptions?\n\n\n</td><td>\n\n\n</td><td>\n\nOptimizerOptions\n\n\n</td><td>\n\n_(Optional)_\n\n\n</td></tr>\n<tr><td>\n\nrootDir?\n\n\n</td><td>\n\n\n</td><td>\n\nstring\n\n\n</td><td>\n\n_(Optional)_ The root of the application, which is commonly the same directory as `package.json` and `rollup.config.js`<!-- -->.\n\nDefault `process.cwd()`\n\n\n</td></tr>\n<tr><td>\n\nsrcDir?\n\n\n</td><td>\n\n\n</td><td>\n\nstring\n\n\n</td><td>\n\n_(Optional)_ The source directory to find all the Qwik components. Since Qwik does not have a single input, the `srcDir` is used to recursively find Qwik files.\n\nDefault `src`\n\n\n</td></tr>\n<tr><td>\n\nsrcInputs?\n\n\n</td><td>\n\n\n</td><td>\n\nTransformModuleInput\\[\\] \\| null\n\n\n</td><td>\n\n_(Optional)_ Alternative to `srcDir`<!-- -->, where `srcInputs` is able to provide the files manually. This option is useful for an environment without a file system, such as a webworker.\n\nDefault: `null`\n\n\n</td></tr>\n<tr><td>\n\ntarget?\n\n\n</td><td>\n\n\n</td><td>\n\n[QwikBuildTarget](#qwikbuildtarget)\n\n\n</td><td>\n\n_(Optional)_ Target `client` or `ssr`<!-- -->.\n\nDefault `client`\n\n\n</td></tr>\n<tr><td>\n\ntransformedModuleOutput?\n\n\n</td><td>\n\n\n</td><td>\n\n((transformedModules: TransformModule\\[\\]) =&gt; Promise&lt;void&gt; \\| void) \\| null\n\n\n</td><td>\n\n_(Optional)_ Hook that's called after the build and provides all of the transformed modules that were used before bundling.\n\n\n</td></tr>\n</tbody></table>",
"editUrl": "https://github.com/QwikDev/qwik/tree/main/packages/qwik-vite/src/plugins/rollup.ts",
"kind": "TypeAlias",
"content": "> Warning: This API is now obsolete.\n> \n> Use `QwikRolldownPluginOptions`<!-- -->.\n> \n\nRenamed to `QwikRolldownPluginOptions`<!-- -->.\n\n\n```typescript\nexport type QwikRollupPluginOptions = QwikRolldownPluginOptions;\n```\n**References:** [QwikRolldownPluginOptions](#qwikrolldownpluginoptions)",
"editUrl": "https://github.com/QwikDev/qwik/tree/main/packages/qwik-vite/src/plugins/rolldown.ts",
"mdFile": "qwik-vite.qwikrolluppluginoptions.md"
},
{
Expand All @@ -248,7 +276,7 @@
}
],
"kind": "Function",
"content": "The types for Vite/Rollup don't allow us to be too specific about the return type. The correct return type is `[QwikVitePlugin, VitePlugin<never>]`<!-- -->, and if you search the plugin by name you'll get the `QwikVitePlugin`<!-- -->.\n\n\n```typescript\nexport declare function qwikVite(qwikViteOpts?: QwikVitePluginOptions): any;\n```\n\n\n<table><thead><tr><th>\n\nParameter\n\n\n</th><th>\n\nType\n\n\n</th><th>\n\nDescription\n\n\n</th></tr></thead>\n<tbody><tr><td>\n\nqwikViteOpts\n\n\n</td><td>\n\n[QwikVitePluginOptions](#qwikvitepluginoptions)\n\n\n</td><td>\n\n_(Optional)_\n\n\n</td></tr>\n</tbody></table>\n\n**Returns:**\n\nany",
"content": "The types for Vite/Rolldown don't allow us to be too specific about the return type. The correct return type is `[QwikVitePlugin, VitePlugin<never>]`<!-- -->, and if you search the plugin by name you'll get the `QwikVitePlugin`<!-- -->.\n\n\n```typescript\nexport declare function qwikVite(qwikViteOpts?: QwikVitePluginOptions): any;\n```\n\n\n<table><thead><tr><th>\n\nParameter\n\n\n</th><th>\n\nType\n\n\n</th><th>\n\nDescription\n\n\n</th></tr></thead>\n<tbody><tr><td>\n\nqwikViteOpts\n\n\n</td><td>\n\n[QwikVitePluginOptions](#qwikvitepluginoptions)\n\n\n</td><td>\n\n_(Optional)_\n\n\n</td></tr>\n</tbody></table>\n\n**Returns:**\n\nany",
"editUrl": "https://github.com/QwikDev/qwik/tree/main/packages/qwik-vite/src/plugins/vite.ts",
"mdFile": "qwik-vite.qwikvite.md"
},
Expand Down
Loading
Loading