Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/nuxtPublic

Commita4fda91

Browse files
committed
refactor(nitro): add explicit return types for runtime utils
1 parentf89d447 commita4fda91

File tree

6 files changed

+33
-12
lines changed

6 files changed

+33
-12
lines changed

‎packages/nitro-server/src/runtime/utils/app-config.ts‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
importtype{H3Event}from'h3'
22
import{klona}from'klona'
3+
importtype{AppConfig}from'@nuxt/schema'
34

45
//@ts-expect-error virtual file
56
import_inlineAppConfigfrom'#internal/nuxt/app-config'
67

78
// App config
89
const_sharedAppConfig=_deepFreeze(klona(_inlineAppConfig))
9-
exportfunctionuseAppConfig(event?:H3Event){
10+
exportfunctionuseAppConfig(event?:H3Event):AppConfig{
1011
// Backwards compatibility with ambient context
1112
if(!event){
1213
return_sharedAppConfig

‎packages/nitro-server/src/runtime/utils/error.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import type { H3Event } from 'h3'
55
* Nitro internal functions extracted from https://github.com/nitrojs/nitro/blob/v2/src/runtime/internal/utils.ts
66
*/
77

8-
exportfunctionisJsonRequest(event:H3Event){
8+
exportfunctionisJsonRequest(event:H3Event):boolean{
99
// If the client specifically requests HTML, then avoid classifying as JSON.
1010
if(hasReqHeader(event,'accept','text/html')){
1111
returnfalse

‎packages/nitro-server/src/runtime/utils/renderer/app.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export function createSSRContext (event: H3Event): NuxtSSRContext {
3333
returnssrContext
3434
}
3535

36-
exportfunctionsetSSRError(ssrContext:NuxtSSRContext,error:NuxtPayload['error']&{url:string}){
36+
exportfunctionsetSSRError(ssrContext:NuxtSSRContext,error:NuxtPayload['error']&{url:string}):void{
3737
ssrContext.error=true
3838
ssrContext.payload={ error}
3939
ssrContext.url=error.url

‎packages/nitro-server/src/runtime/utils/renderer/build-files.ts‎

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
importprocessfrom'node:process'
2+
importtype{RendererContext}from'vue-bundle-renderer/runtime'
23
import{createRenderer}from'vue-bundle-renderer/runtime'
34
importtype{Manifest,PrecomputedData}from'vue-bundle-renderer'
45
import{renderToStringas_renderToString}from'vue/server-renderer'
@@ -27,8 +28,19 @@ const getPrecomputedDependencies: () => Promise<PrecomputedData> = () => import(
2728
.then(r=>r.default||r)
2829
.then(r=>typeofr==='function' ?r() :r)asPromise<PrecomputedData>
2930

31+
interfaceRenderer{
32+
rendererContext:RendererContext
33+
renderToString(ssrContext:NuxtSSRContext):Promise<{
34+
html:string
35+
renderResourceHeaders:()=>Record<string,string>
36+
renderResourceHints:()=>string
37+
renderStyles:()=>string
38+
renderScripts:()=>string
39+
}>
40+
}
41+
3042
// -- SSR Renderer --
31-
exportconstgetSSRRenderer=lazyCachedFunction(async()=>{
43+
exportconstgetSSRRenderer=lazyCachedFunction(async():Promise<Renderer>=>{
3244
// Load server bundle
3345
constcreateSSRApp=awaitgetServerEntry()
3446
if(!createSSRApp){thrownewError('Server bundle is not available')}
@@ -58,7 +70,7 @@ export const getSSRRenderer = lazyCachedFunction(async () => {
5870
})
5971

6072
// -- SPA Renderer --
61-
constgetSPARenderer=lazyCachedFunction(async()=>{
73+
constgetSPARenderer=lazyCachedFunction(async():Promise<Renderer>=>{
6274
constprecomputed=import.meta.dev ?undefined :awaitgetPrecomputedDependencies()
6375

6476
//@ts-expect-error virtual file
@@ -111,7 +123,7 @@ function lazyCachedFunction<T> (fn: () => Promise<T>): () => Promise<T> {
111123
}
112124
}
113125

114-
exportfunctiongetRenderer(ssrContext:NuxtSSRContext){
126+
exportfunctiongetRenderer(ssrContext:NuxtSSRContext):Promise<Renderer>{
115127
return(process.env.NUXT_NO_SSR||ssrContext.noSSR) ?getSPARenderer() :getSSRRenderer()
116128
}
117129

‎packages/nitro-server/src/runtime/utils/renderer/islands.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export function getClientIslandResponse (ssrContext: NuxtSSRContext): NuxtIsland
4444
returnresponse
4545
}
4646

47-
exportfunctiongetComponentSlotTeleport(clientUid:string,teleports:Record<string,string>){
47+
exportfunctiongetComponentSlotTeleport(clientUid:string,teleports:Record<string,string>):Record<string,string>{
4848
constentries=Object.entries(teleports)
4949
constslots:Record<string,string>={}
5050

@@ -59,7 +59,7 @@ export function getComponentSlotTeleport (clientUid: string, teleports: Record<s
5959
returnslots
6060
}
6161

62-
exportfunctionreplaceIslandTeleports(ssrContext:NuxtSSRContext,html:string){
62+
exportfunctionreplaceIslandTeleports(ssrContext:NuxtSSRContext,html:string):string{
6363
const{ teleports, islandContext}=ssrContext
6464

6565
if(islandContext||!teleports){returnhtml}

‎packages/nitro-server/src/runtime/utils/renderer/payload.ts‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ import devalue from '@nuxt/devalue'
55
import{stringify,uneval}from'devalue'
66
importtype{Script}from'@unhead/vue'
77

8-
importtype{NuxtSSRContext}from'nuxt/app'
8+
importtype{NuxtPayload,NuxtSSRContext}from'nuxt/app'
99

1010
//@ts-expect-error virtual file
1111
import{appId,multiApp}from'#internal/nuxt.config.mjs'
1212

13-
exportfunctionrenderPayloadResponse(ssrContext:NuxtSSRContext){
13+
exportfunctionrenderPayloadResponse(ssrContext:NuxtSSRContext):RenderResponse{
1414
return{
1515
body:process.env.NUXT_JSON_PAYLOADS
1616
?stringify(splitPayload(ssrContext).payload,ssrContext['~payloadReducers'])
@@ -21,7 +21,7 @@ export function renderPayloadResponse (ssrContext: NuxtSSRContext) {
2121
'content-type':process.env.NUXT_JSON_PAYLOADS ?'application/json;charset=utf-8' :'text/javascript;charset=utf-8',
2222
'x-powered-by':'Nuxt',
2323
},
24-
}satisfiesRenderResponse
24+
}
2525
}
2626

2727
exportfunctionrenderPayloadJsonScript(opts:{ssrContext:NuxtSSRContext,data?:any,src?:string}):Script[]{
@@ -72,7 +72,15 @@ export function renderPayloadScript (opts: { ssrContext: NuxtSSRContext, data?:
7272
]
7373
}
7474

75-
exportfunctionsplitPayload(ssrContext:NuxtSSRContext){
75+
interfaceSplitPayload{
76+
initial:Omit<NuxtPayload,'data'>
77+
payload:{
78+
data?:NuxtPayload['data']
79+
prerenderedAt?:NuxtPayload['prerenderedAt']
80+
}
81+
}
82+
83+
exportfunctionsplitPayload(ssrContext:NuxtSSRContext):SplitPayload{
7684
const{ data, prerenderedAt, ...initial}=ssrContext.payload
7785
return{
7886
initial:{ ...initial, prerenderedAt},

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp