From 91ef99f9e95f6014243deadbbdcc13aac24079f8 Mon Sep 17 00:00:00 2001 From: Moiri Gamboni Date: Tue, 30 Jul 2024 17:01:52 +0200 Subject: [PATCH] Fix typescript module declaration Resolve errors when importing markdown files as components --- .changeset/strong-toes-smile.md | 5 +++++ packages/mdsvex/globals.d.ts | 18 ++++++++---------- packages/site/src/routes/_docs.svtext | 11 +++++++++++ 3 files changed, 24 insertions(+), 10 deletions(-) create mode 100644 .changeset/strong-toes-smile.md diff --git a/.changeset/strong-toes-smile.md b/.changeset/strong-toes-smile.md new file mode 100644 index 00000000..a0ac2f09 --- /dev/null +++ b/.changeset/strong-toes-smile.md @@ -0,0 +1,5 @@ +--- +'mdsvex': patch +--- + +Fix typescript module declaration to resolve errors when importing markdown files as components diff --git a/packages/mdsvex/globals.d.ts b/packages/mdsvex/globals.d.ts index 4575d3a1..8683c39d 100644 --- a/packages/mdsvex/globals.d.ts +++ b/packages/mdsvex/globals.d.ts @@ -1,17 +1,15 @@ declare module '*.svx' { - import type { SvelteComponentDev } from 'svelte/internal'; + import type { SvelteComponent } from 'svelte' - export default class Comp extends SvelteComponentDev { - $$prop_def: {}; - } - export const metadata: Record; + export default class Comp extends SvelteComponent{} + + export const metadata: Record } declare module '*.svelte.md' { - import type { SvelteComponentDev } from 'svelte/internal'; + import type { SvelteComponent } from 'svelte' + + export default class Comp extends SvelteComponent{} - export default class Comp extends SvelteComponentDev { - $$prop_def: {}; - } - export const metadata: Record; + export const metadata: Record } diff --git a/packages/site/src/routes/_docs.svtext b/packages/site/src/routes/_docs.svtext index b560f72b..da5e442e 100644 --- a/packages/site/src/routes/_docs.svtext +++ b/packages/site/src/routes/_docs.svtext @@ -189,6 +189,17 @@ export default { } ``` +If you use TypeScript, you should also declare an ambient module: +```ts +declare module '*.md' { + import type { SvelteComponent } from 'svelte' + + export default class Comp extends SvelteComponent{} + + export const metadata: Record +} +``` + Then you can do: ```svx