2
0
Эх сурвалжийг харах

refactor(parser): remove ignoreSpaces option

Evan You 6 жил өмнө
parent
commit
f7a7e8d71d

+ 21 - 24
packages/compiler-core/src/parse.ts

@@ -36,7 +36,6 @@ export interface ParserOptions {
   getNamespace?: (tag: string, parent: ElementNode | undefined) => Namespace
   getTextMode?: (tag: string, ns: Namespace) => TextModes
   delimiters?: [string, string] // ['{{', '}}']
-  ignoreSpaces?: boolean
 
   // Map to HTML entities. E.g., `{ "amp;": "&" }`
   // The full set is https://html.spec.whatwg.org/multipage/named-characters.html#named-character-references
@@ -51,7 +50,6 @@ type MergedParserOptions = Omit<Required<ParserOptions>, 'isNativeTag'> &
 
 export const defaultParserOptions: MergedParserOptions = {
   delimiters: [`{{`, `}}`],
-  ignoreSpaces: true,
   getNamespace: () => Namespaces.HTML,
   getTextMode: () => TextModes.DATA,
   isVoidTag: NO,
@@ -219,30 +217,29 @@ function pushNode(
   if (!__DEV__ && node.type === NodeTypes.COMMENT) {
     return
   }
-  if (
-    context.options.ignoreSpaces &&
-    node.type === NodeTypes.TEXT &&
-    node.isEmpty
-  ) {
-    return
-  }
 
-  // Merge if both this and the previous node are text and those are consecutive.
-  // This happens on "a < b" or something like.
-  const prev = last(nodes)
-  if (
-    prev &&
-    prev.type === NodeTypes.TEXT &&
-    node.type === NodeTypes.TEXT &&
-    prev.loc.end.offset === node.loc.start.offset
-  ) {
-    prev.content += node.content
-    prev.isEmpty = prev.content.trim().length === 0
-    prev.loc.end = node.loc.end
-    prev.loc.source += node.loc.source
-  } else {
-    nodes.push(node)
+  if (node.type === NodeTypes.TEXT) {
+    if (node.isEmpty) {
+      return
+    }
+
+    // Merge if both this and the previous node are text and those are
+    // consecutive. This happens for cases like "a < b".
+    const prev = last(nodes)
+    if (
+      prev &&
+      prev.type === NodeTypes.TEXT &&
+      prev.loc.end.offset === node.loc.start.offset
+    ) {
+      prev.content += node.content
+      prev.isEmpty = prev.content.trim().length === 0
+      prev.loc.end = node.loc.end
+      prev.loc.source += node.loc.source
+      return
+    }
   }
+
+  nodes.push(node)
 }
 
 function parseCDATA(