Skip to content

Commit 8fb80db

Browse files
SSR support for complex template expressions (#5511)
* feat: added ability to toggle experimentalComplexExpressions in ssr fixtures * chore: disable * feat: ssr cte support * fix: ssr coverage * chore: revert test change * fix: additional testing around ssr specific codepaths * fix: additional testing around ssr specific codepaths
1 parent 9e4d8af commit 8fb80db

File tree

46 files changed

+345
-153
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+345
-153
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"entry": "x/attribute-dynamic-complex",
3+
"experimentalComplexExpressions": true,
4+
"ssrFiles": {
5+
"expected": "expected-ssr.html",
6+
"error": "error-ssr.txt"
7+
}
8+
}

packages/@lwc/engine-server/src/__tests__/fixtures/attribute-dynamic-complex/error-ssr.txt

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LWC1034: Ambiguous attribute value class="{bar() + foo()}". If you want to make it a valid identifier you should remove the surrounding quotes class={bar() + foo()}. If you want to make it a string you should escape it class="\{bar() + foo()}".
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<fixture-test>
2+
<template shadowrootmode="open">
3+
<div class="foobar">
4+
</div>
5+
</template>
6+
</fixture-test>

packages/@lwc/engine-server/src/__tests__/fixtures/attribute-dynamic-complex/expected.html

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<template>
2+
<div class="{bar() + foo()}"></div>
3+
</template>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { LightningElement } from 'lwc';
2+
3+
export default class AttributeDynamicComplex extends LightningElement {
4+
bar() {
5+
return 'foo';
6+
}
7+
foo() {
8+
return 'bar';
9+
}
10+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"entry": "x/for-each-block",
3+
"experimentalComplexExpressions": true,
4+
"ssrFiles": {
5+
"expected": "expected-ssr.html",
6+
"error": "error-ssr.txt"
7+
}
8+
}

packages/@lwc/engine-server/src/__tests__/fixtures/for-each-block/complex/error-ssr.txt

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LWC1034: Ambiguous attribute value for:each="{list()}". If you want to make it a valid identifier you should remove the surrounding quotes for:each={list()}. If you want to make it a string you should escape it for:each="\{list()}".

0 commit comments

Comments
 (0)