Skip to content

Commit 8306c39

Browse files
fix: fix type generation being faulty (#756)
* fix: fix type generation being faulty * chore: use module augmentation --------- Co-authored-by: Zoey <zoeykaiser8@gmail.com>
1 parent f2f3130 commit 8306c39

File tree

1 file changed

+18
-19
lines changed

1 file changed

+18
-19
lines changed

src/module.ts

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {
22
defineNuxtModule,
33
useLogger,
44
createResolver,
5-
addTemplate,
5+
addTypeTemplate,
66
addPlugin,
77
addServerPlugin,
88
addImports,
@@ -197,16 +197,13 @@ export default defineNuxtModule<ModuleOptions>({
197197
nitroConfig.alias['#auth'] = resolve('./runtime/server/services')
198198
})
199199

200-
addTemplate({
200+
addTypeTemplate({
201201
filename: 'types/auth.d.ts',
202202
getContents: () =>
203203
[
204204
'// AUTO-GENERATED BY @sidebase/nuxt-auth',
205205
"declare module '#auth' {",
206-
` import RuntimeServerServices from '${resolve('./runtime/server/services')}'`,
207-
' const getServerSession: RuntimeServerServices.getServerSession',
208-
' const getToken: RuntimeServerServices.getToken',
209-
' const NuxtAuthHandler: RuntimeServerServices.NuxtAuthHandler',
206+
` const { getServerSession, getToken, NuxtAuthHandler }: typeof import('${resolve('./runtime/server/services')}')`,
210207
...(options.provider.type === 'local'
211208
? [genInterface(
212209
'SessionData',
@@ -215,23 +212,25 @@ export default defineNuxtModule<ModuleOptions>({
215212
: []
216213
),
217214
'}',
218-
"declare module 'nitropack' {",
219-
` import { RouteOptions } from '${resolve('./runtime/types.ts')}'`,
220-
' interface NitroRouteRules {',
221-
' auth?: RouteOptions',
222-
' }',
223-
' interface NitroRouteConfig {',
224-
' auth?: RouteOptions',
225-
' }',
226-
'}',
227215
''
228216
].join('\n')
229217
})
230218

231-
nuxt.hook('prepare:types', (options) => {
232-
options.references.push({
233-
path: resolve(nuxt.options.buildDir, 'types/auth.d.ts')
234-
})
219+
addTypeTemplate({
220+
filename: 'types/auth-misc.d.ts',
221+
getContents: () => [
222+
'// AUTO-GENERATED BY @sidebase/nuxt-auth',
223+
`import { RouteOptions } from '${resolve('./runtime/types.ts')}'`,
224+
"declare module 'nitropack' {",
225+
' interface NitroRouteRules {',
226+
' auth?: RouteOptions',
227+
' }',
228+
' interface NitroRouteConfig {',
229+
' auth?: RouteOptions',
230+
' }',
231+
'}',
232+
''
233+
].join('\n')
235234
})
236235

237236
// 6. Register middleware for autocomplete in definePageMeta

0 commit comments

Comments
 (0)