diff --git a/changelog_unreleased/angular/15887.md b/changelog_unreleased/angular/15887.md new file mode 100644 index 000000000..e1e40cde7 --- /dev/null +++ b/changelog_unreleased/angular/15887.md @@ -0,0 +1,13 @@ +#### Avoid adding colon for `track` in 3rd expression of `for` blocks (#15887 by @sosukesuzuki) + + +```html + +@for (item of items; let i = $index; track block) {} + + +@for (item of items; let i = $index; track: block) {} + + +@for (item of items; let i = $index; track block) {} +``` diff --git a/src/language-js/print/angular.js b/src/language-js/print/angular.js index b3ab1f0da..aaa90fa2f 100644 --- a/src/language-js/print/angular.js +++ b/src/language-js/print/angular.js @@ -66,7 +66,7 @@ function printAngular(path, options, print) { (node.key.name === "then" || node.key.name === "else" || node.key.name === "as")) || - (index === 2 && + ((index === 2 || index === 3) && ((node.key.name === "else" && parent.body[index - 1].type === "NGMicrosyntaxKeyedExpression" && parent.body[index - 1].key.name === "then") || diff --git a/tests/format/angular/control-flow/__snapshots__/jsfmt.spec.js.snap b/tests/format/angular/control-flow/__snapshots__/jsfmt.spec.js.snap index b2f530176..9aff6695f 100644 --- a/tests/format/angular/control-flow/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/angular/control-flow/__snapshots__/jsfmt.spec.js.snap @@ -285,6 +285,12 @@ item of
+