{"id":22932,"library":"vite-plugin-windmill","title":"vite-plugin-windmill","description":"Vite plugin and deploy tooling for Windmill raw apps. Current stable version is 1.691.0, tracking Windmill minor releases. Provides Vite integration for developing and deploying Windmill raw apps with features like automatic path inference from `.raw_app` directories, virtual `wmill` runtime injection, authenticated `/api` proxying, and optional post-build deployment. Released in sync with Windmill minor versions; each major Windmill release gets a corresponding package version line (e.g., 1.691.x). Key differentiators: seamless Vite integration, automatic base path and proxy configuration, and direct deploy capabilities. Requires Node.js 22+ and Vite ^8.0.8.","status":"active","version":"1.691.0","language":"javascript","source_language":"en","source_url":"https://github.com/jkker/vite-plugin-windmill","tags":["javascript","raw-app","spa","vite","vite-plugin","windmill","typescript"],"install":[{"cmd":"npm install vite-plugin-windmill","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-windmill","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-windmill","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required for plugin functionality","package":"vite","optional":false},{"reason":"bundled runtime dependency for Windmill API interactions","package":"windmill-client","optional":false},{"reason":"bundled runtime dependency for parsing raw_app.yaml","package":"yaml","optional":false}],"imports":[{"note":"Default export only; named import will fail","wrong":"import { windmill } from 'vite-plugin-windmill'","symbol":"windmill","correct":"import windmill from 'vite-plugin-windmill'"},{"note":"TypeScript type import for option types","wrong":"import { WindmillOptions } from 'vite-plugin-windmill'","symbol":"WindmillOptions","correct":"import type { WindmillOptions } from 'vite-plugin-windmill'"},{"note":"defineConfig comes from vite package, not the plugin","wrong":"import { defineConfig } from 'vite-plugin-windmill'","symbol":"defineConfig","correct":"import { defineConfig } from 'vite'"}],"quickstart":{"code":"import { defineConfig } from 'vite';\nimport windmill from 'vite-plugin-windmill';\n\nexport default defineConfig({\n  plugins: [\n    windmill({\n      entry: 'src/main.tsx',\n    }),\n  ],\n});\n\n// Expected project structure:\n// f/example/app.raw_app/\n//   raw_app.yaml\n//   index.tsx\n//   backend/\n//     hello.py\n//     hello.yaml\n//\n// Environment variables (optional):\n// WM_WORKSPACE, WM_TOKEN, BASE_INTERNAL_URL, BASE_URL, WM_DEPLOY","lang":"typescript","description":"Basic Vite configuration using vite-plugin-windmill with raw app entry point and project structure example."},"warnings":[{"fix":"Upgrade Node.js to version 22 or later.","message":"Requires Node.js >=22.0.0. Older Node versions will fail to install or run.","severity":"breaking","affected_versions":"<1.691.0"},{"fix":"Update Vite to version 8.0.8 or newer.","message":"Requires Vite ^8.0.8 as a peer dependency. Older Vite versions (6.x, 7.x) are incompatible.","severity":"breaking","affected_versions":"<1.691.0"},{"fix":"Use exact version pinning, e.g., 'vite-plugin-windmill@1.684.0'.","message":"NPM dist-tags like 'windmill-1.686' may not be published for all historical versions. Pin to exact version instead.","severity":"deprecated","affected_versions":"all"},{"fix":"Use `import windmill from 'vite-plugin-windmill'` (without curly braces).","message":"The `windmill` function is a default export. Attempting named import { windmill } will result in undefined.","severity":"gotcha","affected_versions":"all"},{"fix":"Create a directory named `<name>.raw_app` or `<name>__raw_app` with a raw_app.yaml file inside.","message":"The plugin expects the project to contain a `.raw_app` or `__raw_app` directory. Without it, the plugin will throw or behave unexpectedly.","severity":"gotcha","affected_versions":"all"},{"fix":"Set `url` option or `BASE_INTERNAL_URL`/`BASE_URL` environment variables.","message":"Environment variables `BASE_INTERNAL_URL` and `BASE_URL` are fallbacks for the Windmill base URL. If both are unset and url option is not provided, proxying and deploy may fail.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `pnpm add -D vite-plugin-windmill` (or npm/bun equivalent).","cause":"Package not installed or not in node_modules.","error":"Error: Cannot find module 'vite-plugin-windmill'"},{"fix":"Change `import { windmill } from 'vite-plugin-windmill'` to `import windmill from 'vite-plugin-windmill'`.","cause":"Using named import instead of default import.","error":"TypeError: windmill is not a function"},{"fix":"Ensure your project has a directory like `app.raw_app/` containing `raw_app.yaml`.","cause":"Plugin cannot find a `.raw_app` or `__raw_app` directory.","error":"Error: Cannot read properties of undefined (reading 'raw_app')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}