{"id":27532,"library":"vue-compiler","title":"vue-compiler","description":"A standalone Vue single-file component (SFC) compiler for projects that cannot use webpack. Current stable version is 4.2.1, released on an irregular cadence by a community maintainer. Unlike official vue-loader, this package compiles .vue files directly to CommonJS modules without requiring webpack, supporting both async (compile) and sync (compileSync) APIs. It includes template compilation (via vue-template-compiler), style processing, and custom compiler hooks. However, the package is not actively maintained by the Vue core team and relies on an outdated peer dependency of vue-template-compiler ^2.6.10, meaning it only supports Vue 2.x. For Vue 3, use @vue/compiler-sfc instead.","status":"active","version":"4.2.1","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install vue-compiler","lang":"bash","label":"npm"},{"cmd":"yarn add vue-compiler","lang":"bash","label":"yarn"},{"cmd":"pnpm add vue-compiler","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for compiling Vue 2 templates","package":"vue-template-compiler","optional":false}],"imports":[{"note":"The default export is the async compile function. Named exports are also available.","wrong":"const compile = require('vue-compiler').compile","symbol":"compile (default)","correct":"import compile from 'vue-compiler'"},{"note":"Only available as named export, not as a default property.","wrong":"const compileSync = require('vue-compiler').compileSync","symbol":"compileSync","correct":"import { compileSync } from 'vue-compiler'"},{"note":"Exported as a named function for parsing SFC descriptors.","wrong":null,"symbol":"parse","correct":"import { parse } from 'vue-compiler'"},{"note":"Used to combine compiled parts into a final module.","wrong":null,"symbol":"assemble","correct":"import { assemble } from 'vue-compiler'"}],"quickstart":{"code":"import compile from 'vue-compiler';\n\nconst source = `<template><div>{{ msg }}</div></template><script>export default { data() { return { msg: 'Hello' } } }</script><style scoped>div { color: red }</style>`;\n\nconst result = await compile(source, { filename: 'App.vue' });\nconsole.log(result.code);\n","lang":"javascript","description":"Demonstrates async compilation of a Vue single-file component string to a CommonJS module."},"warnings":[{"fix":"Use @vue/compiler-sfc for Vue 3 projects.","message":"Vue 2 only; does not support Vue 3 SFC syntax.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Update your project's vue-template-compiler to a newer patch within 2.6.x, or migrate to Vue 3.","message":"The peer dependency vue-template-compiler ^2.6.10 is outdated and may have security vulnerabilities.","severity":"deprecated","affected_versions":">=4.0.0"},{"fix":"Use `import compile from 'vue-compiler'` for the async function.","message":"The default export is the async compile function. Importing as `import { compile }` will not work.","severity":"gotcha","affected_versions":">=4.0.0"},{"fix":"Add a .d.ts file: `declare module 'vue-compiler'` or use @types/vue-compiler if available.","message":"When using TypeScript, the package does not ship its own type definitions. You may need to create a declaration file.","severity":"gotcha","affected_versions":">=4.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npm install vue-template-compiler@^2.6.10` in your project.","cause":"Missing peer dependency.","error":"Cannot find module 'vue-template-compiler'"},{"fix":"Use `import compile from 'vue-compiler'` instead of `import { compile } from 'vue-compiler'`.","cause":"Improper import: using named import for default export.","error":"TypeError: (0 , _vueCompiler.default) is not a function"},{"fix":"Ensure you have vue-template-compiler@^2.6.10 installed, not @vue/compiler-sfc.","cause":"Incompatible version of vue-template-compiler (e.g., Vue 3 version installed).","error":"Expected vue-template-compiler to be a function, got object"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}