@@ -3,15 +3,11 @@ export type { ConfigBuiltIn }
3
3
export type { ConfigNameBuiltIn }
4
4
export type { ConfigMeta }
5
5
export type { HookName }
6
- export type { ConfigInterface }
7
- export type { ConfigVikeReact }
8
- export type { ConfigVikeVue }
9
- export type { ConfigVikeSolid }
10
- export type { ConfigVikeSvelte }
11
6
12
7
import type { PrefetchStaticAssets } from '../../client/client-routing-runtime/prefetch/getPrefetchSettings.js'
13
8
import type { ConfigDefinition } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js'
14
9
import type { ConfigVpsUserProvided } from '../ConfigVps.js'
10
+ import type { Vike , VikePackages } from '../VikeNamespace.js'
15
11
16
12
type HookName =
17
13
| 'onHydrationEnd'
@@ -34,7 +30,14 @@ type ConfigNameBuiltInPublic =
34
30
type ConfigNameBuiltInInternal = 'isClientSideRenderable' | 'onBeforeRenderEnv'
35
31
type ConfigNameBuiltIn = ConfigNameBuiltInPublic | ConfigNameBuiltInInternal
36
32
37
- type Config = ConfigBuiltIn & ConfigInterface & ( ConfigVikeReact | ConfigVikeVue | ConfigVikeSolid | ConfigVikeSvelte )
33
+ type Config = ConfigBuiltIn &
34
+ Vike . Config &
35
+ (
36
+ | VikePackages . ConfigVikeReact
37
+ | VikePackages . ConfigVikeVue
38
+ | VikePackages . ConfigVikeSolid
39
+ | VikePackages . ConfigVikeSvelte
40
+ )
38
41
39
42
// TODO: write docs of links below
40
43
@@ -168,16 +171,3 @@ type ConfigBuiltIn = {
168
171
}
169
172
type ConfigMeta = Record < string , ConfigDefinition >
170
173
type ImportString = `import:${string } `
171
-
172
- // Enable users and vike-* packages to extend the type Config, for example:
173
- // - The user can set Config['Page'] over ConfigInterface['Page']
174
- // - vike-vercel can add Config['isr'] over ConfigInterface['isr']
175
- interface ConfigInterface { }
176
-
177
- // Enable vike-{react/vue/solid/svelte} to extend the type Config.
178
- // - We need a different interface for each vike-{react/vue/solid/svelte} package because of conflicts.
179
- // - E.g. the config 'Page' can be a React/Vue/Solid/Svelte componenent depending on which vike-{react/vue/solid/svelte} packages the user installed.
180
- interface ConfigVikeReact { } // For vike-react
181
- interface ConfigVikeVue { } // For vike-vue
182
- interface ConfigVikeSolid { } // For vike-solid
183
- interface ConfigVikeSvelte { } // For vike-svelte (the vike-svelte package doesn't exist yet)
0 commit comments