summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.changeset/olive-queens-drum.md5
-rw-r--r--packages/astro/src/@types/astro.ts8
2 files changed, 10 insertions, 3 deletions
diff --git a/.changeset/olive-queens-drum.md b/.changeset/olive-queens-drum.md
new file mode 100644
index 000000000..258d9c726
--- /dev/null
+++ b/.changeset/olive-queens-drum.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Add second type argument to the AstroGlobal type to type Astro.self. This change will ultimately allow our editor tooling to provide props completions and intellisense for `<Astro.self />`
diff --git a/packages/astro/src/@types/astro.ts b/packages/astro/src/@types/astro.ts
index c2a7c3823..fd809e846 100644
--- a/packages/astro/src/@types/astro.ts
+++ b/packages/astro/src/@types/astro.ts
@@ -139,8 +139,10 @@ export interface CLIFlags {
*
* [Astro reference](https://docs.astro.build/reference/api-reference/#astro-global)
*/
-export interface AstroGlobal<Props extends Record<string, any> = Record<string, any>>
- extends AstroGlobalPartial,
+export interface AstroGlobal<
+ Props extends Record<string, any> = Record<string, any>,
+ Self = AstroComponentFactory
+> extends AstroGlobalPartial,
AstroSharedContext<Props> {
/**
* A full URL object of the request URL.
@@ -217,7 +219,7 @@ export interface AstroGlobal<Props extends Record<string, any> = Record<string,
*
* [Astro reference](https://docs.astro.build/en/guides/api-reference/#astroself)
*/
- self: AstroComponentFactory;
+ self: Self;
/** Utility functions for modifying an Astro component’s slotted children
*
* [Astro reference](https://docs.astro.build/en/reference/api-reference/#astroslots)