windmill-labs/windmill · error · Error

Vue plugin not supported yet

Error message

Vue plugin not supported yet

What it means

Guard inside createFrameworkPlugins in the app bundler. detectFrameworks found Vue in the app's dependencies (vue in package.json), but the Vue esbuild plugin was never finished — the code throws immediately after logging 'Vue detected' and the actual plugin construction is commented out. The input at fault is the app's package.json declaring vue; the bundler supports Svelte but not Vue.

Source

Thrown at cli/src/commands/app/bundle.ts:261

    },
  };
}

/**
 * Creates framework-specific esbuild plugins based on detected dependencies
 */
export async function createFrameworkPlugins(appDir: string): Promise<any[]> {
  const frameworks = detectFrameworks(appDir);
  const plugins: any[] = [];

  if (frameworks.svelte) {
    log.info(colors.blue("🔧 Svelte detected, adding svelte plugin..."));
    plugins.push(createSveltePlugin(appDir));
  }

  if (frameworks.vue) {
    log.info(colors.blue("🔧 Vue detected, adding vue plugin..."));
    throw new Error("Vue plugin not supported yet");
    // try {
    //   const esbuildPluginVue = await import("esbuild-plugin-vue3");
    //   plugins.push(esbuildPluginVue.default());
    // } catch (error: any) {
    //   log.warn(colors.yellow(`Failed to load vue plugin: ${error.message}`));
    // }
  }

  return plugins;
}

/**
 * Ensures node_modules exists in the specified directory
 * Runs npm install if node_modules is missing
 * @param appDir Directory to check for node_modules (defaults to entry point directory)
 */
export async function ensureNodeModules(appDir?: string): Promise<void> {
  const targetDir = appDir ?? process.cwd();

View on GitHub (pinned to e474e8803c)

Solutions

  1. Remove the vue dependency from the app's package.json if it was pulled in accidentally (e.g. transitive or scaffold leftover) and re-bundle
  2. Port/write a Vue esbuild plugin (esbuild-plugin-vue) and wire it where the commented block expects it
  3. Use a Svelte or React-based app template until Vue support lands
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cli/src/commands/app/bundle.ts:261 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03). Data as JSON: /api/errors/150794ad87c77409. Report an issue: GitHub.