diff --git a/packages/next/src/build/webpack-config.ts b/packages/next/src/build/webpack-config.ts index 65cf6777509cc..56c8349cfc07d 100644 --- a/packages/next/src/build/webpack-config.ts +++ b/packages/next/src/build/webpack-config.ts @@ -833,6 +833,8 @@ export default async function getBaseWebpackConfig( const aliasCodeConditionTest = [codeCondition.test, pageExtensionsRegex] + const builtinModules = require('module').builtinModules + let webpackConfig: webpack.Configuration = { parallelism: Number(process.env.NEXT_WEBPACK_PARALLELISM) || undefined, ...(isNodeServer ? { externalsPresets: { node: true } } : {}), @@ -856,6 +858,7 @@ export default async function getBaseWebpackConfig( : []), ] : [ + ...builtinModules, ({ context, request, diff --git a/test/development/basic/node-builtins/app/server-component/page.js b/test/development/basic/node-builtins/app/server-component/page.js index a995bd45e81f4..7ab8f00e5384a 100644 --- a/test/development/basic/node-builtins/app/server-component/page.js +++ b/test/development/basic/node-builtins/app/server-component/page.js @@ -18,6 +18,8 @@ import timers from 'timers' import tty from 'tty' import util from 'util' import zlib from 'zlib' + +import '_http_common' import 'setimmediate' async function getData() { diff --git a/turbopack/crates/turbopack-resolve/src/resolve.rs b/turbopack/crates/turbopack-resolve/src/resolve.rs index 9f65b51b9226a..f43e257b07418 100644 --- a/turbopack/crates/turbopack-resolve/src/resolve.rs +++ b/turbopack/crates/turbopack-resolve/src/resolve.rs @@ -15,7 +15,7 @@ use crate::{ typescript::{apply_tsconfig_resolve_options, tsconfig, tsconfig_resolve_options}, }; -const NODE_EXTERNALS: [&str; 51] = [ +const NODE_EXTERNALS: [&str; 63] = [ "assert", "async_hooks", "buffer", @@ -67,6 +67,18 @@ const NODE_EXTERNALS: [&str; 51] = [ "worker_threads", "zlib", "pnpapi", + "_http_agent", + "_http_client", + "_http_common", + "_http_incoming", + "_http_outgoing", + "_http_server", + "_stream_duplex", + "_stream_passthrough", + "_stream_readable", + "_stream_transform", + "_stream_wrap", + "_stream_writable", ]; const EDGE_NODE_EXTERNALS: [&str; 5] = ["buffer", "events", "assert", "util", "async_hooks"];