From ae41f25e10a3fb1e5ad72c979ebe27fe55071de3 Mon Sep 17 00:00:00 2001 From: Michael Rienstra Date: Thu, 10 Nov 2022 14:54:34 -0800 Subject: [PATCH] Consistent MD frontmatter typing (#5294) * consistent MD frontmatter typing * changeset --- .changeset/thin-trains-complain.md | 5 +++++ packages/astro/src/@types/astro.ts | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 .changeset/thin-trains-complain.md diff --git a/.changeset/thin-trains-complain.md b/.changeset/thin-trains-complain.md new file mode 100644 index 000000000..f7477f21a --- /dev/null +++ b/.changeset/thin-trains-complain.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Consistent Markdown frontmatter typing (`MarkdownAstroData["frontmatter"]` in particular was `object` before) diff --git a/packages/astro/src/@types/astro.ts b/packages/astro/src/@types/astro.ts index bf91d6e4d..d24b194c8 100644 --- a/packages/astro/src/@types/astro.ts +++ b/packages/astro/src/@types/astro.ts @@ -1005,6 +1005,8 @@ export interface MarkdownInstance> { default: AstroComponentFactory; } +type MD = MarkdownInstance>; + export interface MDXInstance> extends Omit, 'rawContent' | 'compiledContent'> { /** MDX does not support rawContent! If you need to read the Markdown contents to calculate values (ex. reading time), we suggest injecting frontmatter via remark plugins. Learn more on our docs: https://docs.astro.build/en/guides/integrations-guide/mdx/#inject-frontmatter-via-remark-or-rehype-plugins */ @@ -1083,9 +1085,7 @@ export interface ManifestData { } export interface MarkdownParserResponse extends MarkdownRenderingResult { - frontmatter: { - [key: string]: any; - }; + frontmatter: MD['frontmatter']; } /** @@ -1410,7 +1410,9 @@ export interface SSRResult { _metadata: SSRMetadata; } -export type MarkdownAstroData = { frontmatter: object }; +export type MarkdownAstroData = { + frontmatter: MD['frontmatter']; +}; /* Preview server stuff */ export interface PreviewServer {