Gathering detailed insights and metrics for @vue/compiler-vue2
Gathering detailed insights and metrics for @vue/compiler-vue2
Gathering detailed insights and metrics for @vue/compiler-vue2
Gathering detailed insights and metrics for @vue/compiler-vue2
vue-inbrowser-compiler-demi
use this with vue-inbrowser-compiler to compile for vue2 or vue3
@morgul/snowpack-plugin-vue2
A snowpack vue2 compiler based on `@snowpack/plugin-vue`.
vue2-compiler-sfc-browser
compiler-sfc-esm-browser for Vue 2
vue-compiler-core
The vue component compile core support vue1 and vue2
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
npm install @vue/compiler-vue2
Typescript
Module System
Node Version
NPM Version
94.2
Supply Chain
99.5
Quality
83
Maintenance
100
Vulnerability
100
License
TypeScript (96.64%)
JavaScript (1.81%)
HTML (0.93%)
CSS (0.59%)
Shell (0.04%)
Total Downloads
49,241,623
Last Day
74,118
Last Week
1,792,694
Last Month
7,835,584
Last Year
49,241,623
MIT License
209,093 Stars
3,593 Commits
33,747 Forks
5,829 Watchers
15 Branches
403 Contributors
Updated on Jul 06, 2025
Minified
Minified + Gzipped
Latest Version
2.7.16
Package Id
@vue/compiler-vue2@2.7.16
Unpacked Size
568.82 kB
Size
152.84 kB
File Count
6
NPM Version
10.8.1
Node Version
22.3.0
Published on
Jul 25, 2024
Cumulative downloads
Total Downloads
Last Day
-2.5%
74,118
Compared to previous day
Last Week
-7.6%
1,792,694
Compared to previous week
Last Month
6.5%
7,835,584
Compared to previous month
Last Year
0%
49,241,623
Compared to previous year
This package is auto-generated. For pull requests please see src/platforms/web/entry-compiler.js.
This package can be used to pre-compile Vue 2.0 templates into render functions to avoid runtime-compilation overhead and CSP restrictions. In most cases you should be using it with vue-loader
, you will only need it separately if you are writing build tools with very specific needs.
1npm install vue-template-compiler
1const compiler = require('vue-template-compiler')
Compiles a template string and returns compiled JavaScript code. The returned result is an object of the following format:
1{ 2 ast: ?ASTElement, // parsed template elements to AST 3 render: string, // main render function code 4 staticRenderFns: Array<string>, // render code for static sub trees, if any 5 errors: Array<string> // template syntax errors, if any 6}
Note the returned function code uses with
and thus cannot be used in strict mode code.
outputSourceRange
new in 2.6
boolean
false
Set this to true will cause the errors
returned in the compiled result become objects in the form of { msg, start, end }
. The start
and end
properties are numbers that mark the code range of the error source in the template. This can be passed on to the compiler.generateCodeFrame
API to generate a code frame for the error.
whitespace
string
'preserve' | 'condense'
'preserve'
The default value 'preserve'
handles whitespaces as follows:
If set to 'condense'
:
Using condense mode will result in smaller compiled code size and slightly improved performance. However, it will produce minor visual layout differences compared to plain HTML in certain cases.
This option does not affect the <pre>
tag.
Example:
1<!-- source --> 2<div> 3 <span> 4 foo 5 </span> <span>bar</span> 6</div> 7 8<!-- whitespace: 'preserve' --> 9<div> <span> 10 foo 11 </span> <span>bar</span> </div> 12 13<!-- whitespace: 'condense' --> 14<div><span> foo </span> <span>bar</span></div>
modules
It's possible to hook into the compilation process to support custom template features. However, beware that by injecting custom compile-time modules, your templates will not work with other build tools built on standard built-in modules, e.g vue-loader
and vueify
.
An array of compiler modules. For details on compiler modules, refer to the ModuleOptions
type in flow declarations and the built-in modules.
directives
An object where the key is the directive name and the value is a function that transforms an template AST node. For example:
1compiler.compile('<div v-test></div>', { 2 directives: { 3 test (node, directiveMeta) { 4 // transform node based on directiveMeta 5 } 6 } 7})
By default, a compile-time directive will extract the directive and the directive will not be present at runtime. If you want the directive to also be handled by a runtime definition, return true
in the transform function.
Refer to the implementation of some built-in compile-time directives.
preserveWhitespace
Deprecated since 2.6
boolean
true
By default, the compiled render function preserves all whitespace characters between HTML tags. If set to false
, whitespace between tags will be ignored. This can result in slightly better performance but may affect layout for inline elements.
Similar to compiler.compile
, but directly returns instantiated functions:
1{ 2 render: Function, 3 staticRenderFns: Array<Function> 4}
This is only useful at runtime with pre-configured builds, so it doesn't accept any compile-time options. In addition, this method uses new Function()
so it is not CSP-compliant.
2.4.0+
Same as compiler.compile
but generates SSR-specific render function code by optimizing parts of the template into string concatenation in order to improve SSR performance.
This is used by default in vue-loader@>=12
and can be disabled using the optimizeSSR
option.
2.4.0+
Same as compiler.compileToFunction
but generates SSR-specific render function code by optimizing parts of the template into string concatenation in order to improve SSR performance.
Parse a SFC (single-file component, or *.vue
file) into a descriptor (refer to the SFCDescriptor
type in flow declarations). This is used in SFC build tools like vue-loader
and vueify
.
Generate a code frame that highlights the part in template
defined by start
and end
. Useful for error reporting in higher-level tooling.
pad
pad
is useful when you are piping the extracted content into other pre-processors, as you will get correct line numbers or character indices if there are any syntax errors.
{ pad: "line" }
, the extracted content for each block will be prefixed with one newline for each line in the leading content from the original file to ensure that the line numbers align with the original file.{ pad: "space" }
, the extracted content for each block will be prefixed with one space for each character in the leading content from the original file to ensure that the character count remains the same as the original file.No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
license file detected
Details
Reason
no binaries found in the repo
Reason
Found 8/30 approved changesets -- score normalized to 2
Reason
badge detected: InProgress
Reason
0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0
Reason
detected GitHub workflow tokens with excessive permissions
Details
Reason
security policy file not detected
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
Reason
project is not fuzzed
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Reason
25 existing vulnerabilities detected
Details
Score
Last Scanned on 2025-06-30
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More