MCPcopy Create free account
hub / github.com/formkit/formkit / setupViteConfig

Function setupViteConfig

packages/cli/src/createApp.ts:426–466  ·  view source on GitHub ↗

* Sets up the Vite config with Tailwind CSS 4. * Creates the main.css file and modifies vite.config.ts.

(dirName: string, ts: boolean)

Source from the content-addressed store, hash-verified

424 * Creates the main.css file and modifies vite.config.ts.
425 */
426async function setupViteConfig(dirName: string, ts: boolean) {
427 const projectPath = resolve(cwd(), `./${dirName}`)
428
429 // Create src/assets/main.css with Tailwind 4 imports
430 const cssDir = resolve(projectPath, 'src/assets')
431 await mkdir(cssDir, { recursive: true })
432 await writeFile(
433 resolve(cssDir, 'main.css'),
434 `@import "tailwindcss";
435@source "../../formkit.theme.${ts ? 'ts' : 'mjs'}";
436@source "../../formkit.config.${ts ? 'ts' : 'mjs'}";
437
438body {
439 @apply bg-gray-100;
440}
441`
442 )
443
444 // Modify vite.config.ts to add tailwindcss plugin
445 const viteConfigPath = resolve(projectPath, `vite.config.${ts ? 'ts' : 'js'}`)
446 let config = await readFile(viteConfigPath, 'utf-8')
447
448 // Add tailwindcss import at the top if not present
449 if (!config.includes('@tailwindcss/vite')) {
450 config = `import tailwindcss from '@tailwindcss/vite'\n${config}`
451 }
452
453 // Add tailwindcss() to plugins array
454 config = config.replace(
455 /plugins:\s*\[([^\]]*)\]/,
456 (_match, plugins) => {
457 const existingPlugins = plugins.trim()
458 if (existingPlugins) {
459 return `plugins: [${existingPlugins}, tailwindcss()]`
460 }
461 return `plugins: [tailwindcss()]`
462 }
463 )
464
465 await writeFile(viteConfigPath, config)
466}
467
468function buildMain(ts: boolean) {
469 return `import { createApp } from 'vue'

Callers 1

createAppFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected