{"record":{"id":"150794ad87c77409","repo":"windmill-labs/windmill","slug":"vue-plugin-not-supported-yet","errorCode":null,"errorMessage":"Vue plugin not supported yet","messagePattern":"Vue plugin not supported yet","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"cli/src/commands/app/bundle.ts","lineNumber":261,"sourceCode":"    },\n  };\n}\n\n/**\n * Creates framework-specific esbuild plugins based on detected dependencies\n */\nexport async function createFrameworkPlugins(appDir: string): Promise<any[]> {\n  const frameworks = detectFrameworks(appDir);\n  const plugins: any[] = [];\n\n  if (frameworks.svelte) {\n    log.info(colors.blue(\"🔧 Svelte detected, adding svelte plugin...\"));\n    plugins.push(createSveltePlugin(appDir));\n  }\n\n  if (frameworks.vue) {\n    log.info(colors.blue(\"🔧 Vue detected, adding vue plugin...\"));\n    throw new Error(\"Vue plugin not supported yet\");\n    // try {\n    //   const esbuildPluginVue = await import(\"esbuild-plugin-vue3\");\n    //   plugins.push(esbuildPluginVue.default());\n    // } catch (error: any) {\n    //   log.warn(colors.yellow(`Failed to load vue plugin: ${error.message}`));\n    // }\n  }\n\n  return plugins;\n}\n\n/**\n * Ensures node_modules exists in the specified directory\n * Runs npm install if node_modules is missing\n * @param appDir Directory to check for node_modules (defaults to entry point directory)\n */\nexport async function ensureNodeModules(appDir?: string): Promise<void> {\n  const targetDir = appDir ?? process.cwd();","sourceCodeStart":243,"sourceCodeEnd":279,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/app/bundle.ts#L243-L279","documentation":"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.","triggerScenarios":"Thrown at cli/src/commands/app/bundle.ts:261 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["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","Port/write a Vue esbuild plugin (esbuild-plugin-vue) and wire it where the commented block expects it","Use a Svelte or React-based app template until Vue support lands"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}