diff --git a/src/options.js b/src/options.js
index a02d3a4..bd726f3 100644
--- a/src/options.js
+++ b/src/options.js
@@ -17,6 +17,7 @@ export default {
caseSensitive: true,
customAttrSurround: [[/@/, new RegExp('')], [/:/, new RegExp('')]],
collapseWhitespace: true,
+ conservativeCollapse: true,
removeComments: true
},
diff --git a/src/vueTransform.js b/src/vueTransform.js
index b22050e..b0ef5b7 100644
--- a/src/vueTransform.js
+++ b/src/vueTransform.js
@@ -52,7 +52,7 @@ async function processTemplate (source, id, content, options, nodes, modules) {
debug(`Process template: ${id}`)
const extras = { modules, id, lang: source.attrs.lang }
- const code = deIndent(source.code)
+ const code = deIndent(source.code).trim()
const template = await (
options.disableCssModuleStaticReplacement !== true
? templateProcessor(code, extras, options)
diff --git a/test/expects/basic.js b/test/expects/basic.js
index fb57293..007fa37 100755
--- a/test/expects/basic.js
+++ b/test/expects/basic.js
@@ -1,6 +1,6 @@
var evens = [2,4,6,8];
var odds = evens.map(v => v + 1);
-var basic = { template: "
hello
",
+var basic = { template: "hello
",
data() {
return odds
}
diff --git a/test/expects/imports.js b/test/expects/imports.js
index 7fbac11..2c8f346 100644
--- a/test/expects/imports.js
+++ b/test/expects/imports.js
@@ -1,12 +1,12 @@
var evens = [2,4,6,8];
var odds = evens.map(v => v + 1);
-var Basic = { template: "hello
",
+var Basic = { template: "hello
",
data() {
return odds
}
};
-var imports = { template: "",
+var imports = { template: " ",
components: {
Basic
}
diff --git a/test/expects/slot.js b/test/expects/slot.js
index 011c321..fc2c9a2 100644
--- a/test/expects/slot.js
+++ b/test/expects/slot.js
@@ -1,6 +1,6 @@
var TableComponent = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',[_c('tr',[_c('td',[_vm._t("default")],2)])])},staticRenderFns: [],};
-var slot = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table-component',[_vm._v("Hello! World")])},staticRenderFns: [],
+var slot = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table-component',[_vm._v(" Hello! World ")])},staticRenderFns: [],
components: { TableComponent },
};
diff --git a/test/expects/style.js b/test/expects/style.js
index 47c9178..adb6149 100755
--- a/test/expects/style.js
+++ b/test/expects/style.js
@@ -1,6 +1,6 @@
var evens = [2,4,6,8];
var odds = evens.map(v => v + 1);
-var style = { template: "hello
",
+var style = { template: "hello
",
data() {
return odds
}
diff --git a/test/expects/typescript-export-obj.js b/test/expects/typescript-export-obj.js
index 8e3e669..ab6622d 100644
--- a/test/expects/typescript-export-obj.js
+++ b/test/expects/typescript-export-obj.js
@@ -1,7 +1,7 @@
var app = {
};
-var __$app = Object.assign(app, { template: "hello
",});
+var __$app = Object.assign(app, { template: " hello
",});
__$app.prototype = app.prototype;
export default __$app;
diff --git a/test/expects/typescript.js b/test/expects/typescript.js
index 97361f6..7744da7 100644
--- a/test/expects/typescript.js
+++ b/test/expects/typescript.js
@@ -1,4 +1,4 @@
-var component = { template: "hello
",
+var component = { template: " hello
",
data: function () { return ({
hello: 'world!'
}); },