diff --git a/README.md b/README.md index cde62139..d1f1f114 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ const envConfig = env(nodeless, vercel, {}); - [node:path/posix](https://nodejs.org/api/path.html) - ✅ polyfilled all exports - [node:path/win32](https://nodejs.org/api/path.html) - ✅ polyfilled all exports - [node:perf_hooks](https://nodejs.org/api/perf_hooks.html) - ✅ polyfilled all exports -- [node:process](https://nodejs.org/api/process.html) - ✅ polyfilled 84/92 exports +- [node:process](https://nodejs.org/api/process.html) - ✅ polyfilled all exports - [node:punycode](https://nodejs.org/api/punycode.html) - ✅ polyfilled all exports - [node:querystring](https://nodejs.org/api/querystring.html) - ✅ polyfilled all exports - [node:readline](https://nodejs.org/api/readline.html) - ✅ polyfilled all exports diff --git a/src/runtime/node/process/$cloudflare.ts b/src/runtime/node/process/$cloudflare.ts index 4c3cadbd..c469b3a1 100644 --- a/src/runtime/node/process/$cloudflare.ts +++ b/src/runtime/node/process/$cloudflare.ts @@ -56,28 +56,24 @@ export { getuid, hasUncaughtExceptionCaptureCallback, hrtime, - // TODO: implemented yet in unenv - //initgroups, + initgroups, kill, listenerCount, listeners, loadEnvFile, memoryUsage, - // TODO: implemented yet in unenv - //moduleLoadList, + moduleLoadList, off, on, once, - // TODO: implemented yet in unenv - //openStdin, + openStdin, pid, platform, ppid, prependListener, prependOnceListener, rawListeners, - // TODO: implemented yet in unenv - //reallyExit, + reallyExit, release, removeAllListeners, removeListener, diff --git a/src/runtime/node/process/index.ts b/src/runtime/node/process/index.ts index 6d13877c..2edda700 100644 --- a/src/runtime/node/process/index.ts +++ b/src/runtime/node/process/index.ts @@ -3,4 +3,6 @@ import type nodeProcess from "node:process"; import { process as unenvProcess } from "./internal/process"; +export * from "./internal/process"; + export default unenvProcess satisfies typeof nodeProcess; diff --git a/src/runtime/node/process/internal/process.ts b/src/runtime/node/process/internal/process.ts index 62feaf0d..a62c367b 100644 --- a/src/runtime/node/process/internal/process.ts +++ b/src/runtime/node/process/internal/process.ts @@ -6,7 +6,9 @@ import { notImplemented } from "../../../_internal/utils"; import { env } from "./env"; import { hrtime, nextTick } from "./time"; -export { hrtime } from "./time"; +export { hrtime, nextTick } from "./time"; + +export { env } from "./env"; type Process = NodeJS.Process; @@ -87,8 +89,10 @@ export const getgroups: Process["getgroups"] = function getgroups() { // ---- Unimplemented utils ---- export const abort = notImplemented("process.abort"); + export const allowedNodeEnvironmentFlags: Process["allowedNodeEnvironmentFlags"] = new Set(); + export const arch: Process["arch"] = "" as any; export const argv0: Process["argv0"] = ""; export const config: Process["config"] = empty; @@ -204,11 +208,9 @@ const throwDeprecation: Process["throwDeprecation"] = false; // --- Undocumented internals --- export const assert = notImplemented("process.assert"); -const openStdin = notImplemented("process.openStdin"); - +export const openStdin = notImplemented("process.openStdin"); export const _debugEnd = notImplemented("process._debugEnd"); export const _debugProcess = notImplemented("process._debugProcess"); -export const _eventsCount = 0; export const _fatalException = notImplemented("process._fatalException"); export const _getActiveHandles = notImplemented("process._getActiveHandles"); export const _getActiveRequests = notImplemented("process._getActiveRequests"); @@ -222,11 +224,25 @@ export const _stopProfilerIdleNotifier = notImplemented( "process.__stopProfilerIdleNotifier", ); export const _tickCallback = notImplemented("process._tickCallback"); +export const _linkedBinding = notImplemented("process._linkedBinding"); + +export const domain = mock.__createMock__("process.domain"); +export const initgroups = notImplemented("process.initgroups"); +export const moduleLoadList = [] as string[]; +export const reallyExit = noop; + +export const _exiting = false; +export const _events = []; +export const _eventsCount = 0; +export const _maxListeners = 0; export const process: Process & Record = { + _events, + _eventsCount, + _exiting, + _maxListeners, _debugEnd, _debugProcess, - _eventsCount, _fatalException, _getActiveHandles, _getActiveRequests, @@ -236,6 +252,10 @@ export const process: Process & Record = { _startProfilerIdleNotifier, _stopProfilerIdleNotifier, _tickCallback, + domain, + initgroups, + moduleLoadList, + reallyExit, exitCode, abort, addListener,