Skip to content

Commit e6db4d6

Browse files
committed
Hm
1 parent 096aa79 commit e6db4d6

File tree

1 file changed

+18
-1
lines changed
  • packages/environment-ember-template-imports/-private/environment

1 file changed

+18
-1
lines changed

packages/environment-ember-template-imports/-private/environment/transform.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,26 @@ type ETIDefaultTemplate =
119119
expression: ETITemplateLiteral;
120120
});
121121

122+
/**
123+
* Implicit default export:
124+
*
125+
* ( <template></template> )
126+
* ^ ExpressionStatement
127+
*
128+
* ( <template></template> satisfies ... )
129+
* ^ SatisfiesExpression
130+
*
131+
* But!
132+
*
133+
* ( const X = <template></template> satisfies ... )
134+
* ^ VariableStatement
135+
*
136+
* So when we check for a wrapping SatisfiesExpression, we need to also make sure
137+
* the parent node is not a variable Statement.
138+
*/
122139
function isETIDefaultTemplate(ts: TSLib, node: ts.Node): node is ETIDefaultTemplate {
123140
return (
124-
(ts.isExpressionStatement(node)) &&
141+
(ts.isExpressionStatement(node) || (ts.isSatisfiesExpression(node) && !ts.isPropertyDeclaration(node.parent))) &&
125142
isETITemplateLiteral(ts, node.expression)
126143
);
127144
}

0 commit comments

Comments
 (0)