admin管理员组

文章数量:1405578

Using the following custom Next.js 15 server:

import { DotenvPopulateInput } from "@/utilities/dotenv"
import { createServer, Server } from "http"
import next from "next"

let server: null | Server

export const startServer = async (env?: DotenvPopulateInput) => {
  const app = next({})
  await app.prepare()
  Object.assign(process.env, env)
  server = createServer(app.getRequestHandler()).listen(
    parseInt(process.env.PORT || "3000")
  )
}

export const stopServer = async (): Promise<void> => {
  return new Promise((resolve, reject) => {
    if (server) {
      server.close((error) => {
        if (error) {
          reject(error)
        } else {
          resolve()
        }
      })
      server = null
    } else {
      resolve()
    }
  })
}

export const restartServer = async (env?: DotenvPopulateInput) => {
  await stopServer()
  await startServer(env)
}

All Jest tests pass but getting the following open handle error:

Jest has detected the following 1 open handle potentially keeping Jest from exiting:

  ●  CustomGC

      at Runtime._loadModule (node_modules/jest-runtime/build/index.js:1018:29)
      at loadNative (node_modules/next/src/build/swc/index.ts:1149:20)
      at node_modules/next/src/build/swc/index.ts:242:22
      at loadBindings (node_modules/next/src/build/swc/index.ts:196:21)
      at transform (node_modules/next/src/build/swc/index.ts:1284:24)
      at transpileConfig (node_modules/next/src/build/next-config-ts/transpile-config.ts:60:28)
      at async loadConfig (node_modules/next/src/server/config.ts:1156:28)
      at async initialize (node_modules/next/src/server/lib/router-server.ts:91:18)
      at async NextCustomServer.prepare (node_modules/next/src/server/next.ts:351:24)

How can I fix or troubleshoot this?

本文标签: jestjsNextjs 15 custom server Jest CustomGC open handleStack Overflow