Usage
Astro Integration Kit provides a suite of useful utilities to help you build your integrations. Some of them
are “global” (eg. defineIntegration), others are meant to be used in hooks (eg. addDts) and
plugins are available for more advanced usecases (eg. hasVitePluginPlugin).
Each utility is fully documented with examples and options!
Here we are using the addDts utility to add a TypeScript declaration file to the user’s project! This is useful for typing things like Virtual Modules!
1import { defineIntegration, addDts } from "astro-integration-kit"2import { z } from "astro/zod"3
4export default defineIntegration({5    name: "my-integration",6    optionsSchema: z.object({7        virtualModuleId: z.string()8    }),9    setup({ options, name }) {10        return {11            "astro:config:setup": (params) => {12                addDts(params, {13                    name,14                    content: `declare module ${JSON.stringify(options.virtualModuleId)} {}`15                })16            }17        }18    }19})