@@ -25,7 +25,10 @@ export const transform: GlintExtensionTransform<PreprocessData> = (
2525 } else if ( isETIDefaultTemplate ( ts , node ) ) {
2626 // Annotate that this template is a default export
2727 setEmitMetadata ( node . expression , { prepend : 'export default ' } ) ;
28-
28+ return node ;
29+ } else if ( isETIDefaultSatisfiesTemplate ( ts , node ) ) {
30+ // Annotate that this template is a default export
31+ setEmitMetadata ( node . expression . expression , { prepend : 'export default ' } ) ;
2932 return node ;
3033 } else if ( isETITemplateExpression ( ts , node ) ) {
3134 // Convert '[__T`foo`]' as an expression to just '__T`foo`'
@@ -111,13 +114,13 @@ type ETITemplateProperty = ts.PropertyDeclaration & {
111114 name : ts . ComputedPropertyName & { expression : ETITemplateLiteral } ;
112115} ;
113116
114- type ETIDefaultTemplate =
115- | ( ts . ExpressionStatement & {
116- expression : ETITemplateLiteral ;
117- } )
118- | ( ts . SatisfiesExpression & {
119- expression : ETITemplateLiteral ;
120- } ) ;
117+ type ETIDefaultTemplate = ts . ExpressionStatement & {
118+ expression : ETITemplateLiteral ;
119+ } ;
120+
121+ type ETIDefaultSatisfiesTemplate = ts . ExpressionStatement & {
122+ expression : ts . SatisfiesExpression & { expression : ETITemplateLiteral } ;
123+ } ;
121124
122125/**
123126 * Implicit default export:
@@ -137,9 +140,17 @@ type ETIDefaultTemplate =
137140 * the parent node is not a variable Statement.
138141 */
139142function isETIDefaultTemplate ( ts : TSLib , node : ts . Node ) : node is ETIDefaultTemplate {
143+ return ts . isExpressionStatement ( node ) && isETITemplateLiteral ( ts , node . expression ) ;
144+ }
145+
146+ function isETIDefaultSatisfiesTemplate (
147+ ts : TSLib ,
148+ node : ts . Node ,
149+ ) : node is ETIDefaultSatisfiesTemplate {
140150 return (
141- ( ts . isExpressionStatement ( node ) || ( ts . isSatisfiesExpression ( node ) && ! ts . isPropertyDeclaration ( node . parent ) ) ) &&
142- isETITemplateLiteral ( ts , node . expression )
151+ ts . isExpressionStatement ( node ) &&
152+ ts . isSatisfiesExpression ( node . expression ) &&
153+ isETITemplateLiteral ( ts , node . expression . expression )
143154 ) ;
144155}
145156
0 commit comments