@@ -3,7 +3,15 @@ import { eventHandler } from 'h3'
33import { useNuxt , createResolver , useNitro } from '@nuxt/kit'
44import type { NitroEventHandler , NitroDevEventHandler } from 'nitropack'
55
6- import type { ProviderSetup , ImageProviders } from './types'
6+ import type { ProviderSetup } from './types'
7+
8+ interface IPXRuntimeConfig {
9+ dir : string
10+ maxAge ?: any
11+ domains : string [ ]
12+ sharp : any
13+ alias : Record < string , string >
14+ }
715
816export const ipxSetup : ProviderSetup = async ( providerOptions , moduleOptions ) => {
917 const nitro = useNitro ( )
@@ -18,13 +26,13 @@ export const ipxSetup: ProviderSetup = async (providerOptions, moduleOptions) =>
1826 }
1927
2028 // Options
21- const ipxOptions : ImageProviders [ 'ipx' ] = {
29+ const ipxOptions = {
2230 dir : resolve ( nuxt . options . srcDir , moduleOptions . dir || nuxt . options . dir . public ) ,
2331 maxAge : providerOptions . options ?. maxAge ,
2432 domains : moduleOptions . domains ,
2533 sharp : moduleOptions . sharp ,
2634 alias : moduleOptions . alias
27- }
35+ } satisfies IPXRuntimeConfig
2836
2937 // Add handler for production
3038 if ( ! nuxt . options . dev ) {
@@ -68,3 +76,9 @@ export const ipxSetup: ProviderSetup = async (providerOptions, moduleOptions) =>
6876 // TODO: Workaround for prerender support
6977 nitro . options . _config . devHandlers ! . push ( devHandler )
7078}
79+
80+ declare module 'nitropack' {
81+ interface NitroRuntimeConfig {
82+ ipx ?: IPXRuntimeConfig
83+ }
84+ }
0 commit comments