Commit 7e5862c3 authored by Evan You's avatar Evan You

refactor: remove vue-template-compiler from peer dep

parent a6028e65
...@@ -14,6 +14,17 @@ const { NS } = require('./plugin') ...@@ -14,6 +14,17 @@ const { NS } = require('./plugin')
let errorEmitted = false let errorEmitted = false
function loadTemplateCompiler () {
try {
return require('vue-template-compiler')
} catch (e) {
throw new Error(
`[vue-loader] vue-template-compiler must be installed as a peer dependency, ` +
`or a compatible compiler implementation must be passed via options.`
)
}
}
module.exports = function (source) { module.exports = function (source) {
const loaderContext = this const loaderContext = this
...@@ -51,7 +62,7 @@ module.exports = function (source) { ...@@ -51,7 +62,7 @@ module.exports = function (source) {
const descriptor = parse({ const descriptor = parse({
source, source,
compiler: options.compiler || require('vue-template-compiler'), compiler: options.compiler || loadTemplateCompiler(),
filename, filename,
sourceRoot, sourceRoot,
needMap: sourceMap needMap: sourceMap
......
...@@ -33,8 +33,7 @@ ...@@ -33,8 +33,7 @@
] ]
}, },
"peerDependencies": { "peerDependencies": {
"css-loader": "*", "css-loader": "*"
"vue-template-compiler": "^2.0.0"
}, },
"dependencies": { "dependencies": {
"@vue/component-compiler-utils": "^2.0.0", "@vue/component-compiler-utils": "^2.0.0",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment