@@ -8,6 +8,11 @@ import { logger } from '../logger'
88// @ts -expect-error virtual template
99import { resolveTrigger } from '#build/nuxt-scripts-trigger-resolver'
1010
11+ type NuxtScriptsApp = ReturnType < typeof useNuxtApp > & {
12+ $scripts : Record < string , UseScriptContext < any > | undefined >
13+ _scripts : Record < string , NuxtDevToolsScriptInstance >
14+ }
15+
1116function useNuxtScriptRuntimeConfig ( ) {
1217 return useRuntimeConfig ( ) . public [ 'nuxt-scripts' ] as {
1318 defaultScriptOptions : NuxtUseScriptOptions
@@ -33,7 +38,7 @@ export function useScript<T extends Record<symbol | string, any> = Record<symbol
3338 script : [ { src, type : 'text/partytown' } ] ,
3439 } )
3540 // Register with nuxtApp.$scripts for DevTools visibility
36- const nuxtApp = useNuxtApp ( )
41+ const nuxtApp = useNuxtApp ( ) as NuxtScriptsApp
3742 nuxtApp . $scripts = nuxtApp . $scripts ! || reactive ( { } )
3843 const status = ref ( 'loaded' )
3944 const stub = {
@@ -63,8 +68,8 @@ export function useScript<T extends Record<symbol | string, any> = Record<symbol
6368 }
6469
6570 // browser hint optimizations
66- const id = String ( resolveScriptKey ( input ) as keyof typeof nuxtApp . _scripts )
67- const nuxtApp = useNuxtApp ( )
71+ const nuxtApp = useNuxtApp ( ) as NuxtScriptsApp
72+ const id = String ( resolveScriptKey ( input ) )
6873 options . head = options . head || injectHead ( )
6974 if ( ! options . head ) {
7075 throw new Error ( 'useScript() has been called without Nuxt context.' )
@@ -139,7 +144,7 @@ export function useScript<T extends Record<symbol | string, any> = Record<symbol
139144
140145 function syncScripts ( ) {
141146 nuxtApp . _scripts [ instance . id ] = payload
142- nuxtApp . hooks . callHook ( 'scripts:updated' , { scripts : nuxtApp . _scripts } )
147+ nuxtApp . hooks . callHook ( 'scripts:updated' as any , { scripts : nuxtApp . _scripts } )
143148 }
144149
145150 if ( ! nuxtApp . _scripts [ instance . id ] ) {
0 commit comments