From 896645b089e092f7aee0ebd7db805ac22d82078c Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Sat, 6 Sep 2025 10:31:35 +0800 Subject: [PATCH] refactor: use `isBuiltin` to replace `isNodeBuiltin` (#7527) --- packages/mocker/src/node/redirect.ts | 8 ++++++-- packages/vite-node/src/utils.ts | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/mocker/src/node/redirect.ts b/packages/mocker/src/node/redirect.ts index e0d952e74..14b2f198a 100644 --- a/packages/mocker/src/node/redirect.ts +++ b/packages/mocker/src/node/redirect.ts @@ -1,5 +1,5 @@ import fs from 'node:fs' -import { builtinModules } from 'node:module' +import nodeModule from 'node:module' import { basename, dirname, extname, join, resolve } from 'pathe' const { existsSync, readdirSync, statSync } = fs @@ -55,7 +55,7 @@ export function findMockRedirect( } const builtins = new Set([ - ...builtinModules, + ...nodeModule.builtinModules, 'assert/strict', 'diagnostics_channel', 'dns/promises', @@ -80,6 +80,10 @@ const prefixedBuiltins = new Set([ ]) const NODE_BUILTIN_NAMESPACE = 'node:' function isNodeBuiltin(id: string): boolean { + // Added in v18.6.0 + if (nodeModule.isBuiltin) { + return nodeModule.isBuiltin(id) + } if (prefixedBuiltins.has(id)) { return true } diff --git a/packages/vite-node/src/utils.ts b/packages/vite-node/src/utils.ts index af0cfe7c1..ecfeac4ec 100644 --- a/packages/vite-node/src/utils.ts +++ b/packages/vite-node/src/utils.ts @@ -1,6 +1,6 @@ import type { Arrayable, Nullable } from './types' import { existsSync, promises as fsp } from 'node:fs' -import { builtinModules } from 'node:module' +import nodeModule from 'node:module' import { fileURLToPath, pathToFileURL } from 'node:url' import { dirname, join, resolve } from 'pathe' @@ -93,7 +93,7 @@ const prefixedBuiltins = new Set([ ]) const builtins = new Set([ - ...builtinModules, + ...nodeModule.builtinModules, 'assert/strict', 'diagnostics_channel', 'dns/promises', @@ -168,6 +168,10 @@ export function toFilePath( const NODE_BUILTIN_NAMESPACE = 'node:' export function isNodeBuiltin(id: string): boolean { + // Added in v18.6.0 + if (nodeModule.isBuiltin) { + return nodeModule.isBuiltin(id) + } if (prefixedBuiltins.has(id)) { return true } -- 2.51.2