11import type { Nuxt } from '@nuxt/schema'
22import type { Resolver } from '@nuxt/kit'
33import {
4- addDevServerHandler ,
5- addServerHandler ,
4+ // addDevServerHandler,
5+ // addServerHandler,
66 // addServerImportsDir,
77 addPlugin ,
88 addPluginTemplate ,
9+ addServerPlugin ,
910} from '@nuxt/kit'
10- import defu from 'defu'
11+ // import defu from 'defu'
1112import type { HttpClientHintsOptions } from '../types'
1213import type { ResolvedHttpClientHintsOptions } from '../runtime/shared-types/types'
1314
@@ -62,7 +63,7 @@ export function configure(ctx: HttpClientHintsContext, nuxt: Nuxt) {
6263 const clientOnly = nuxt . options . _generate || ! nuxt . options . ssr
6364
6465 // we register the client detector only if needed and not in SSR mode
65- if ( ( options . detectBrowser || options . detectOS || resolvedOptions . userAgent . length ) && clientOnly ) {
66+ if ( ( resolvedOptions . detectBrowser || resolvedOptions . detectOS || resolvedOptions . userAgent . length ) && clientOnly ) {
6667 nuxt . options . build . transpile . push ( runtimeDir )
6768 nuxt . hook ( 'prepare:types' , ( { references } ) => {
6869 references . push ( { path : resolver . resolve ( runtimeDir , 'plugins/types' ) } )
@@ -128,7 +129,7 @@ export function configure(ctx: HttpClientHintsContext, nuxt: Nuxt) {
128129
129130 addPlugin ( resolver . resolve ( runtimeDir , 'plugins/init.server' ) )
130131
131- if ( options . detectBrowser || options . detectOS || resolvedOptions . userAgent . length ) {
132+ if ( resolvedOptions . detectBrowser || resolvedOptions . detectOS || resolvedOptions . userAgent . length ) {
132133 clientDependsOn . push ( 'detect' )
133134 serverDependsOn . push ( 'detect' )
134135 addPlugin ( resolver . resolve ( runtimeDir , 'plugins/detect.client' ) )
@@ -148,17 +149,17 @@ export function configure(ctx: HttpClientHintsContext, nuxt: Nuxt) {
148149 }
149150
150151 // Add utils to nitro config
151- nuxt . hook ( 'nitro:config' , ( nitroConfig ) => {
152+ /* nuxt.hook('nitro:config', (nitroConfig) => {
152153 nitroConfig.alias = nitroConfig.alias || {}
153154
154155 // Inline module runtime in Nitro bundle
155156 nitroConfig.externals = defu(
156157 typeof nitroConfig.externals === 'object' ? nitroConfig.externals : {},
157158 {
158- inline : [ resolver . resolve ( './runtime/server/utils/index.js ' ) ] ,
159+ inline: [resolver.resolve('./runtime/server/utils/index')],
159160 },
160161 )
161- } )
162+ }) */
162163
163164 resolvedOptions . serverImages = serverImages
164165 ? serverImages === true
@@ -169,24 +170,41 @@ export function configure(ctx: HttpClientHintsContext, nuxt: Nuxt) {
169170 : undefined
170171
171172 if ( resolvedOptions . serverImages ?. length ) {
173+ addServerPlugin ( resolver . resolve ( runtimeDir , 'server/plugin' ) )
174+ const { serverImages, ...rest } = resolvedOptions
175+ nuxt . options . appConfig . httpClientHints = {
176+ ...rest ,
177+ serverImages : serverImages . map ( r => r . source ) ,
178+ }
179+ /* nuxt.hook('nitro:init', (nitro) => {
180+ nitro.options.appConfig.public ??= {}
181+ nitro.options.appConfig.public.httpClientHints = resolvedOptions
182+ })
183+ nuxt.hook('nitro:config', (nitroConfig) => {
184+ nitroConfig.runtimeConfig ??= {}
185+ nitroConfig.runtimeConfig.public ??= {}
186+ nitroConfig.runtimeConfig.public.httpClientHints = resolvedOptions
187+ }) */
172188 // Add utils to server imports
173189 // addServerImportsDir(resolver.resolve('./runtime/utils'))
174190 // addServerImportsDir(resolver.resolve('./runtime/server'))
175191 if ( nuxt . options . dev ) {
176- addDevServerHandler ( {
192+ /* addDevServerHandler({
177193 method: 'get',
178194 handler: resolver.resolve(runtimeDir, 'server/index'),
179- } )
195+ }) */
180196 /* nuxt.hook('nitro:init', (nitro) => {
181197 nitro.options.devHandlers.unshift({
182198 route: '',
183199 handler: resolver.resolve(runtimeDir, 'server/index'),
184200 })
185201 }) */
186- /* nuxt.options.devServerHandlers.push({
187- route: '',
202+ /* nuxt.options.devServerHandlers.unshift({
203+ // route: '',
204+ method: 'get',
188205 handler: resolver.resolve(runtimeDir, 'server/index'),
189- })
206+ }) */
207+ /*
190208 addDevServerHandler({
191209 route: '',
192210 handler: defineEventHandler(async (event) => {
@@ -195,18 +213,18 @@ export function configure(ctx: HttpClientHintsContext, nuxt: Nuxt) {
195213 }) */
196214 }
197215 else {
198- addServerHandler ( {
216+ /* addServerHandler({
199217 method: 'get',
200218 handler: resolver.resolve(runtimeDir, 'server/index'),
201- } )
219+ }) */
202220 /* nuxt.hook('nitro:init', (nitro) => {
203221 nitro.options.handlers.unshift({
204222 route: '',
205223 handler: resolver.resolve(runtimeDir, 'server/index'),
206224 })
207225 }) */
208- /* nuxt.options.serverHandlers.push ({
209- route: '',
226+ /* nuxt.options.serverHandlers.unshift ({
227+ // route: '',
210228 handler: resolver.resolve(runtimeDir, 'server/index'),
211229 }) */
212230 /* addServerHandler({
0 commit comments