From 99b2b0f59b9959d85348689e4382d2748bce40cb Mon Sep 17 00:00:00 2001 From: Princesseuh <3019731+Princesseuh@users.noreply.github.com> Date: Mon, 5 Aug 2024 20:26:57 +0200 Subject: [PATCH] feat: disallow client directives on Astro components --- internal/printer/print-to-tsx.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/printer/print-to-tsx.go b/internal/printer/print-to-tsx.go index 95636b88..011dbee8 100644 --- a/internal/printer/print-to-tsx.go +++ b/internal/printer/print-to-tsx.go @@ -375,7 +375,9 @@ func renderTsx(p *printer, n *Node, o *TSXOptions) { } } - p.print(fmt.Sprintf("export default function %s%s(_props: %s%s): any {}\n", componentName, props.Statement, propsIdent, props.Generics)) + p.print(fmt.Sprintf("export default function %s%s(_props: %s%s%s): any {}\n", componentName, props.Statement, propsIdent, props.Generics, ` & { + [key in keyof (Omit & import("astro").AstroClientDirectives)]: never; +}`)) if hasGetStaticPaths { p.printf(`type ASTRO__ArrayElement = ArrayType extends readonly (infer ElementType)[] ? ElementType : never; type ASTRO__Flattened = T extends Array ? ASTRO__Flattened : T;