@vue/compiler-core 3.5.3 → 3.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compiler-core v3.5.
|
|
2
|
+
* @vue/compiler-core v3.5.5
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -636,7 +636,7 @@ class Tokenizer {
|
|
|
636
636
|
if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) {
|
|
637
637
|
if (c === 38) {
|
|
638
638
|
this.startEntity();
|
|
639
|
-
} else if (c === this.delimiterOpen[0]) {
|
|
639
|
+
} else if (!this.inVPre && c === this.delimiterOpen[0]) {
|
|
640
640
|
this.state = 2;
|
|
641
641
|
this.delimiterIndex = 0;
|
|
642
642
|
this.stateInterpolationOpen(c);
|
|
@@ -2227,6 +2227,7 @@ const defaultParserOptions = {
|
|
|
2227
2227
|
getNamespace: () => 0,
|
|
2228
2228
|
isVoidTag: shared.NO,
|
|
2229
2229
|
isPreTag: shared.NO,
|
|
2230
|
+
isIgnoreNewlineTag: shared.NO,
|
|
2230
2231
|
isCustomElement: shared.NO,
|
|
2231
2232
|
onError: defaultOnError,
|
|
2232
2233
|
onWarn: defaultOnWarn,
|
|
@@ -2666,7 +2667,7 @@ function onCloseTag(el, end, isImplied = false) {
|
|
|
2666
2667
|
el.innerLoc.end.offset
|
|
2667
2668
|
);
|
|
2668
2669
|
}
|
|
2669
|
-
const { tag, ns } = el;
|
|
2670
|
+
const { tag, ns, children } = el;
|
|
2670
2671
|
if (!inVPre) {
|
|
2671
2672
|
if (tag === "slot") {
|
|
2672
2673
|
el.tagType = 2;
|
|
@@ -2677,7 +2678,13 @@ function onCloseTag(el, end, isImplied = false) {
|
|
|
2677
2678
|
}
|
|
2678
2679
|
}
|
|
2679
2680
|
if (!tokenizer.inRCDATA) {
|
|
2680
|
-
el.children = condenseWhitespace(
|
|
2681
|
+
el.children = condenseWhitespace(children);
|
|
2682
|
+
}
|
|
2683
|
+
if (ns === 0 && currentOptions.isIgnoreNewlineTag(tag)) {
|
|
2684
|
+
const first = children[0];
|
|
2685
|
+
if (first && first.type === 2) {
|
|
2686
|
+
first.content = first.content.replace(/^\r?\n/, "");
|
|
2687
|
+
}
|
|
2681
2688
|
}
|
|
2682
2689
|
if (ns === 0 && currentOptions.isPreTag(tag)) {
|
|
2683
2690
|
inPre--;
|
|
@@ -2829,12 +2836,6 @@ function condenseWhitespace(nodes, tag) {
|
|
|
2829
2836
|
}
|
|
2830
2837
|
}
|
|
2831
2838
|
}
|
|
2832
|
-
if (inPre && tag && currentOptions.isPreTag(tag)) {
|
|
2833
|
-
const first = nodes[0];
|
|
2834
|
-
if (first && first.type === 2) {
|
|
2835
|
-
first.content = first.content.replace(/^\r?\n/, "");
|
|
2836
|
-
}
|
|
2837
|
-
}
|
|
2838
2839
|
return removedWhitespace ? nodes.filter(Boolean) : nodes;
|
|
2839
2840
|
}
|
|
2840
2841
|
function isAllWhitespace(str) {
|
|
@@ -3492,10 +3493,8 @@ function createRootCodegen(root, context) {
|
|
|
3492
3493
|
}
|
|
3493
3494
|
} else if (children.length > 1) {
|
|
3494
3495
|
let patchFlag = 64;
|
|
3495
|
-
let patchFlagText = shared.PatchFlagNames[64];
|
|
3496
3496
|
if (children.filter((c) => c.type !== 3).length === 1) {
|
|
3497
3497
|
patchFlag |= 2048;
|
|
3498
|
-
patchFlagText += `, ${shared.PatchFlagNames[2048]}`;
|
|
3499
3498
|
}
|
|
3500
3499
|
root.codegenNode = createVNodeCall(
|
|
3501
3500
|
context,
|
|
@@ -4757,10 +4756,8 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
|
|
|
4757
4756
|
return vnodeCall;
|
|
4758
4757
|
} else {
|
|
4759
4758
|
let patchFlag = 64;
|
|
4760
|
-
let patchFlagText = shared.PatchFlagNames[64];
|
|
4761
4759
|
if (!branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) {
|
|
4762
4760
|
patchFlag |= 2048;
|
|
4763
|
-
patchFlagText += `, ${shared.PatchFlagNames[2048]}`;
|
|
4764
4761
|
}
|
|
4765
4762
|
return createVNodeCall(
|
|
4766
4763
|
context,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compiler-core v3.5.
|
|
2
|
+
* @vue/compiler-core v3.5.5
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -636,7 +636,7 @@ class Tokenizer {
|
|
|
636
636
|
if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) {
|
|
637
637
|
if (c === 38) {
|
|
638
638
|
this.startEntity();
|
|
639
|
-
} else if (c === this.delimiterOpen[0]) {
|
|
639
|
+
} else if (!this.inVPre && c === this.delimiterOpen[0]) {
|
|
640
640
|
this.state = 2;
|
|
641
641
|
this.delimiterIndex = 0;
|
|
642
642
|
this.stateInterpolationOpen(c);
|
|
@@ -2223,6 +2223,7 @@ const defaultParserOptions = {
|
|
|
2223
2223
|
getNamespace: () => 0,
|
|
2224
2224
|
isVoidTag: shared.NO,
|
|
2225
2225
|
isPreTag: shared.NO,
|
|
2226
|
+
isIgnoreNewlineTag: shared.NO,
|
|
2226
2227
|
isCustomElement: shared.NO,
|
|
2227
2228
|
onError: defaultOnError,
|
|
2228
2229
|
onWarn: defaultOnWarn,
|
|
@@ -2662,7 +2663,7 @@ function onCloseTag(el, end, isImplied = false) {
|
|
|
2662
2663
|
el.innerLoc.end.offset
|
|
2663
2664
|
);
|
|
2664
2665
|
}
|
|
2665
|
-
const { tag, ns } = el;
|
|
2666
|
+
const { tag, ns, children } = el;
|
|
2666
2667
|
if (!inVPre) {
|
|
2667
2668
|
if (tag === "slot") {
|
|
2668
2669
|
el.tagType = 2;
|
|
@@ -2673,7 +2674,13 @@ function onCloseTag(el, end, isImplied = false) {
|
|
|
2673
2674
|
}
|
|
2674
2675
|
}
|
|
2675
2676
|
if (!tokenizer.inRCDATA) {
|
|
2676
|
-
el.children = condenseWhitespace(
|
|
2677
|
+
el.children = condenseWhitespace(children);
|
|
2678
|
+
}
|
|
2679
|
+
if (ns === 0 && currentOptions.isIgnoreNewlineTag(tag)) {
|
|
2680
|
+
const first = children[0];
|
|
2681
|
+
if (first && first.type === 2) {
|
|
2682
|
+
first.content = first.content.replace(/^\r?\n/, "");
|
|
2683
|
+
}
|
|
2677
2684
|
}
|
|
2678
2685
|
if (ns === 0 && currentOptions.isPreTag(tag)) {
|
|
2679
2686
|
inPre--;
|
|
@@ -2795,12 +2802,6 @@ function condenseWhitespace(nodes, tag) {
|
|
|
2795
2802
|
}
|
|
2796
2803
|
}
|
|
2797
2804
|
}
|
|
2798
|
-
if (inPre && tag && currentOptions.isPreTag(tag)) {
|
|
2799
|
-
const first = nodes[0];
|
|
2800
|
-
if (first && first.type === 2) {
|
|
2801
|
-
first.content = first.content.replace(/^\r?\n/, "");
|
|
2802
|
-
}
|
|
2803
|
-
}
|
|
2804
2805
|
return removedWhitespace ? nodes.filter(Boolean) : nodes;
|
|
2805
2806
|
}
|
|
2806
2807
|
function isAllWhitespace(str) {
|
|
@@ -3437,7 +3438,6 @@ function createRootCodegen(root, context) {
|
|
|
3437
3438
|
}
|
|
3438
3439
|
} else if (children.length > 1) {
|
|
3439
3440
|
let patchFlag = 64;
|
|
3440
|
-
shared.PatchFlagNames[64];
|
|
3441
3441
|
root.codegenNode = createVNodeCall(
|
|
3442
3442
|
context,
|
|
3443
3443
|
helper(FRAGMENT),
|
|
@@ -4674,7 +4674,6 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
|
|
|
4674
4674
|
return vnodeCall;
|
|
4675
4675
|
} else {
|
|
4676
4676
|
let patchFlag = 64;
|
|
4677
|
-
shared.PatchFlagNames[64];
|
|
4678
4677
|
return createVNodeCall(
|
|
4679
4678
|
context,
|
|
4680
4679
|
helper(FRAGMENT),
|
package/dist/compiler-core.d.ts
CHANGED
|
@@ -661,6 +661,11 @@ export interface ParserOptions extends ErrorHandlingOptions, CompilerCompatOptio
|
|
|
661
661
|
* e.g. elements that should preserve whitespace inside, e.g. `<pre>`
|
|
662
662
|
*/
|
|
663
663
|
isPreTag?: (tag: string) => boolean;
|
|
664
|
+
/**
|
|
665
|
+
* Elements that should ignore the first newline token per parinsg spec
|
|
666
|
+
* e.g. `<textarea>` and `<pre>`
|
|
667
|
+
*/
|
|
668
|
+
isIgnoreNewlineTag?: (tag: string) => boolean;
|
|
664
669
|
/**
|
|
665
670
|
* Platform-specific built-in components e.g. `<Transition>`
|
|
666
671
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compiler-core v3.5.
|
|
2
|
+
* @vue/compiler-core v3.5.5
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -619,7 +619,7 @@ class Tokenizer {
|
|
|
619
619
|
this.sequenceIndex += 1;
|
|
620
620
|
} else if (this.sequenceIndex === 0) {
|
|
621
621
|
if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) {
|
|
622
|
-
if (c === this.delimiterOpen[0]) {
|
|
622
|
+
if (!this.inVPre && c === this.delimiterOpen[0]) {
|
|
623
623
|
this.state = 2;
|
|
624
624
|
this.delimiterIndex = 0;
|
|
625
625
|
this.stateInterpolationOpen(c);
|
|
@@ -1910,6 +1910,7 @@ const defaultParserOptions = {
|
|
|
1910
1910
|
getNamespace: () => 0,
|
|
1911
1911
|
isVoidTag: NO,
|
|
1912
1912
|
isPreTag: NO,
|
|
1913
|
+
isIgnoreNewlineTag: NO,
|
|
1913
1914
|
isCustomElement: NO,
|
|
1914
1915
|
onError: defaultOnError,
|
|
1915
1916
|
onWarn: defaultOnWarn,
|
|
@@ -2352,7 +2353,7 @@ function onCloseTag(el, end, isImplied = false) {
|
|
|
2352
2353
|
el.innerLoc.end.offset
|
|
2353
2354
|
);
|
|
2354
2355
|
}
|
|
2355
|
-
const { tag, ns } = el;
|
|
2356
|
+
const { tag, ns, children } = el;
|
|
2356
2357
|
if (!inVPre) {
|
|
2357
2358
|
if (tag === "slot") {
|
|
2358
2359
|
el.tagType = 2;
|
|
@@ -2363,7 +2364,13 @@ function onCloseTag(el, end, isImplied = false) {
|
|
|
2363
2364
|
}
|
|
2364
2365
|
}
|
|
2365
2366
|
if (!tokenizer.inRCDATA) {
|
|
2366
|
-
el.children = condenseWhitespace(
|
|
2367
|
+
el.children = condenseWhitespace(children);
|
|
2368
|
+
}
|
|
2369
|
+
if (ns === 0 && currentOptions.isIgnoreNewlineTag(tag)) {
|
|
2370
|
+
const first = children[0];
|
|
2371
|
+
if (first && first.type === 2) {
|
|
2372
|
+
first.content = first.content.replace(/^\r?\n/, "");
|
|
2373
|
+
}
|
|
2367
2374
|
}
|
|
2368
2375
|
if (ns === 0 && currentOptions.isPreTag(tag)) {
|
|
2369
2376
|
inPre--;
|
|
@@ -2515,12 +2522,6 @@ function condenseWhitespace(nodes, tag) {
|
|
|
2515
2522
|
}
|
|
2516
2523
|
}
|
|
2517
2524
|
}
|
|
2518
|
-
if (inPre && tag && currentOptions.isPreTag(tag)) {
|
|
2519
|
-
const first = nodes[0];
|
|
2520
|
-
if (first && first.type === 2) {
|
|
2521
|
-
first.content = first.content.replace(/^\r?\n/, "");
|
|
2522
|
-
}
|
|
2523
|
-
}
|
|
2524
2525
|
return removedWhitespace ? nodes.filter(Boolean) : nodes;
|
|
2525
2526
|
}
|
|
2526
2527
|
function isAllWhitespace(str) {
|
|
@@ -3129,10 +3130,8 @@ function createRootCodegen(root, context) {
|
|
|
3129
3130
|
}
|
|
3130
3131
|
} else if (children.length > 1) {
|
|
3131
3132
|
let patchFlag = 64;
|
|
3132
|
-
let patchFlagText = PatchFlagNames[64];
|
|
3133
3133
|
if (!!(process.env.NODE_ENV !== "production") && children.filter((c) => c.type !== 3).length === 1) {
|
|
3134
3134
|
patchFlag |= 2048;
|
|
3135
|
-
patchFlagText += `, ${PatchFlagNames[2048]}`;
|
|
3136
3135
|
}
|
|
3137
3136
|
root.codegenNode = createVNodeCall(
|
|
3138
3137
|
context,
|
|
@@ -4051,10 +4050,8 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
|
|
|
4051
4050
|
return vnodeCall;
|
|
4052
4051
|
} else {
|
|
4053
4052
|
let patchFlag = 64;
|
|
4054
|
-
let patchFlagText = PatchFlagNames[64];
|
|
4055
4053
|
if (!!(process.env.NODE_ENV !== "production") && !branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) {
|
|
4056
4054
|
patchFlag |= 2048;
|
|
4057
|
-
patchFlagText += `, ${PatchFlagNames[2048]}`;
|
|
4058
4055
|
}
|
|
4059
4056
|
return createVNodeCall(
|
|
4060
4057
|
context,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vue/compiler-core",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.5",
|
|
4
4
|
"description": "@vue/compiler-core",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "dist/compiler-core.esm-bundler.js",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"entities": "^4.5.0",
|
|
51
51
|
"estree-walker": "^2.0.2",
|
|
52
52
|
"source-map-js": "^1.2.0",
|
|
53
|
-
"@vue/shared": "3.5.
|
|
53
|
+
"@vue/shared": "3.5.5"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@babel/types": "^7.25.2"
|