summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.changeset/small-pens-knock.md6
-rw-r--r--packages/integrations/markdoc/src/index.ts21
-rw-r--r--packages/integrations/mdx/src/index.ts32
3 files changed, 24 insertions, 35 deletions
diff --git a/.changeset/small-pens-knock.md b/.changeset/small-pens-knock.md
new file mode 100644
index 000000000..dde86fc0c
--- /dev/null
+++ b/.changeset/small-pens-knock.md
@@ -0,0 +1,6 @@
+---
+'@astrojs/markdoc': patch
+'@astrojs/mdx': patch
+---
+
+Fix integration return type
diff --git a/packages/integrations/markdoc/src/index.ts b/packages/integrations/markdoc/src/index.ts
index 8543cf260..71e117de4 100644
--- a/packages/integrations/markdoc/src/index.ts
+++ b/packages/integrations/markdoc/src/index.ts
@@ -11,24 +11,19 @@ import {
prependForwardSlash,
} from './utils.js';
-type IntegrationWithPrivateHooks = {
- name: string;
- hooks: Omit<AstroIntegration['hooks'], 'astro:config:setup'> & {
- 'astro:config:setup': (
- params: HookParameters<'astro:config:setup'> & {
- // `contentEntryType` is not a public API
- // Add type defs here
- addContentEntryType: (contentEntryType: ContentEntryType) => void;
- }
- ) => void | Promise<void>;
- };
+type SetupHookParams = HookParameters<'astro:config:setup'> & {
+ // `contentEntryType` is not a public API
+ // Add type defs here
+ addContentEntryType: (contentEntryType: ContentEntryType) => void;
};
-export default function markdoc(markdocConfig: Config = {}): IntegrationWithPrivateHooks {
+export default function markdoc(markdocConfig: Config = {}): AstroIntegration {
return {
name: '@astrojs/markdoc',
hooks: {
- 'astro:config:setup': async ({ updateConfig, config, addContentEntryType }) => {
+ 'astro:config:setup': async (params) => {
+ const { updateConfig, config, addContentEntryType } = params as SetupHookParams;
+
function getEntryInfo({ fileUrl, contents }: { fileUrl: URL; contents: string }) {
const parsed = parseFrontmatter(contents, fileURLToPath(fileUrl));
return {
diff --git a/packages/integrations/mdx/src/index.ts b/packages/integrations/mdx/src/index.ts
index 1e64f5afa..bcbb0a47d 100644
--- a/packages/integrations/mdx/src/index.ts
+++ b/packages/integrations/mdx/src/index.ts
@@ -23,33 +23,21 @@ export type MdxOptions = Omit<typeof markdownConfigDefaults, 'remarkPlugins' | '
remarkRehype: RemarkRehypeOptions;
};
-type IntegrationWithPrivateHooks = {
- name: string;
- hooks: Omit<AstroIntegration['hooks'], 'astro:config:setup'> & {
- 'astro:config:setup': (
- params: HookParameters<'astro:config:setup'> & {
- // `addPageExtension` and `contentEntryType` are not a public APIs
- // Add type defs here
- addPageExtension: (extension: string) => void;
- addContentEntryType: (contentEntryType: ContentEntryType) => void;
- }
- ) => void | Promise<void>;
- };
+type SetupHookParams = HookParameters<'astro:config:setup'> & {
+ // `addPageExtension` and `contentEntryType` are not a public APIs
+ // Add type defs here
+ addPageExtension: (extension: string) => void;
+ addContentEntryType: (contentEntryType: ContentEntryType) => void;
};
-export default function mdx(
- partialMdxOptions: Partial<MdxOptions> = {}
-): IntegrationWithPrivateHooks {
+export default function mdx(partialMdxOptions: Partial<MdxOptions> = {}): AstroIntegration {
return {
name: '@astrojs/mdx',
hooks: {
- 'astro:config:setup': async ({
- updateConfig,
- config,
- addPageExtension,
- addContentEntryType,
- command,
- }) => {
+ 'astro:config:setup': async (params) => {
+ const { updateConfig, config, addPageExtension, addContentEntryType, command } =
+ params as SetupHookParams;
+
addPageExtension('.mdx');
addContentEntryType({
extensions: ['.mdx'],