createResolver
createResolver allows you to resolve paths relative to your integration’s location, eliminating the need to manage complex package.json exports for file references. It takes a base URL (typically import.meta.url) and returns a resolve function that can create absolute paths relative to that location:
We recommend calling createResolver in your integration’s setup function to easily access resolve in any hook.
-
Create the resolver
Always pass
import.meta.urltocreateResolver- this is the equivalent of the old__filenameand ensures paths work correctly regardless of installation location:const { resolve } = createResolver(import.meta.url); -
Use the resolve function
Use
resolve()with relative paths to reference files in your integration:integration/index.ts import type { AstroIntegration } from "astro";import { createResolver } from "astro-integration-kit";export default function myIntegration(): AstroIntegration {const { resolve } = createResolver(import.meta.url);return {name: "my-integration",hooks: {"astro:config:setup": ({ injectRoute }) => {injectRoute({pattern: "/my-route",entrypoint: resolve("./pages/my-route.astro")});}}}}