This commit is contained in:
2026-07-08 18:29:36 +08:00
parent ad51ced86c
commit 3af8ff9b80
1613 changed files with 701644 additions and 2 deletions
+33
View File
@@ -0,0 +1,33 @@
import * as unenv from 'unenv';
import { Preset } from 'unenv';
/**
* Creates the Cloudflare preset for the given compatibility date and compatibility flags
*
* @param compatibilityDate workerd compatibility date
* @param compatibilityFlags workerd compatibility flags
* @returns The cloudflare preset
*/
declare function getCloudflarePreset({ compatibilityDate, compatibilityFlags, }: Partial<Compatibility>): Preset;
type Compatibility = {
/** The compatibility date to be used when computing overrides. */
compatibilityDate: string;
/** The compatibility flags to be used when computing overrides. */
compatibilityFlags: string[];
};
/**
* List of the Node.js built-in modules without the `node:` prefix.
*
* Generated using `module.builtinModules` in Node.js 24.11.1
*
* Note: All new modules are expected to use the `node:` prefix.
* See https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md#introducing-new-modules
*/
declare const nonPrefixedNodeModules: string[];
/**
* @deprecated Use getCloudflarePreset instead.
*/
declare const cloudflare: unenv.Preset;
export { cloudflare, getCloudflarePreset, nonPrefixedNodeModules };
+33
View File
@@ -0,0 +1,33 @@
import * as unenv from 'unenv';
import { Preset } from 'unenv';
/**
* Creates the Cloudflare preset for the given compatibility date and compatibility flags
*
* @param compatibilityDate workerd compatibility date
* @param compatibilityFlags workerd compatibility flags
* @returns The cloudflare preset
*/
declare function getCloudflarePreset({ compatibilityDate, compatibilityFlags, }: Partial<Compatibility>): Preset;
type Compatibility = {
/** The compatibility date to be used when computing overrides. */
compatibilityDate: string;
/** The compatibility flags to be used when computing overrides. */
compatibilityFlags: string[];
};
/**
* List of the Node.js built-in modules without the `node:` prefix.
*
* Generated using `module.builtinModules` in Node.js 24.11.1
*
* Note: All new modules are expected to use the `node:` prefix.
* See https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md#introducing-new-modules
*/
declare const nonPrefixedNodeModules: string[];
/**
* @deprecated Use getCloudflarePreset instead.
*/
declare const cloudflare: unenv.Preset;
export { cloudflare, getCloudflarePreset, nonPrefixedNodeModules };
+703
View File
@@ -0,0 +1,703 @@
// -- Unbuild CommonJS Shims --
import __cjs_url__ from 'url';
import __cjs_path__ from 'path';
import __cjs_mod__ from 'module';
const __filename = __cjs_url__.fileURLToPath(import.meta.url);
const __dirname = __cjs_path__.dirname(__filename);
const require = __cjs_mod__.createRequire(import.meta.url);
const version = "2.16.1";
const defaultNativeModules = [
"_stream_duplex",
"_stream_passthrough",
"_stream_readable",
"_stream_transform",
"_stream_writable",
"_tls_common",
"_tls_wrap",
"assert",
"assert/strict",
"async_hooks",
"buffer",
"constants",
"crypto",
"diagnostics_channel",
"dns",
"dns/promises",
"events",
"net",
"path",
"path/posix",
"path/win32",
"querystring",
"module",
"stream",
"stream/consumers",
"stream/promises",
"stream/web",
"string_decoder",
"sys",
"timers",
"timers/promises",
"tls",
"url",
"util",
"util/types",
"zlib"
];
function getCloudflarePreset({
compatibilityDate = "2024-09-03",
compatibilityFlags = []
}) {
const compat = {
compatibilityDate,
compatibilityFlags
};
const overrides = [
getHttpOverrides(compat),
getHttp2Overrides(compat),
getOsOverrides(compat),
getFsOverrides(compat),
getPunycodeOverrides(compat),
getClusterOverrides(compat),
getTraceEventsOverrides(compat),
getDomainOverrides(compat),
getWasiOverrides(compat),
getConsoleOverrides(compat),
getVmOverrides(compat),
getInspectorOverrides(compat),
getSqliteOverrides(compat),
getDgramOverrides(compat),
getStreamWrapOverrides(compat),
getReplOverrides(compat),
getProcessOverrides(compat),
getV8Overrides(compat),
getTtyOverrides(compat),
getChildProcessOverrides(compat),
getWorkerThreadsOverrides(compat),
getReadlineOverrides(compat),
getPerfHooksOverrides(compat)
];
const nativeModules = [
...defaultNativeModules,
...overrides.flatMap((o) => o.nativeModules)
];
const hybridModules = overrides.flatMap((o) => o.hybridModules);
const injects = Object.assign({}, ...overrides.map((o) => o.inject ?? {}));
const polyfills = overrides.flatMap((o) => o.polyfills ?? []);
return {
meta: {
name: "unenv:cloudflare",
version,
url: __filename
},
alias: {
// Alias each native module (and its `node:...` equivalent) to itself to ensure we override any polyfills from the base unenv presets.
...Object.fromEntries(
nativeModules.flatMap((p) => [
[p, p],
[`node:${p}`, `node:${p}`]
])
),
// Alias each hybrid module (and its `node:...` equivalent) to its unenv polyfill implementation.
...Object.fromEntries(
hybridModules.flatMap((m) => [
[m, `@cloudflare/unenv-preset/node/${m}`],
[`node:${m}`, `@cloudflare/unenv-preset/node/${m}`]
])
)
},
inject: {
// Do not inject globals implemented natively by workerd. Setting the value to `false` ensures that any base preset inject is not used.
Buffer: false,
global: false,
clearImmediate: false,
setImmediate: false,
// Inject globals provided by unenv for the current compat date and flags.
...injects
},
polyfill: polyfills,
external: nativeModules.flatMap((p) => [p, `node:${p}`])
};
}
function getHttpOverrides({
compatibilityDate,
compatibilityFlags
}) {
const httpDisabledByFlag = compatibilityFlags.includes(
"disable_nodejs_http_modules"
);
const httpEnabledByFlag = compatibilityFlags.includes(
"enable_nodejs_http_modules"
);
const httpEnabledByDate = compatibilityDate >= "2025-08-15";
const httpEnabled = (httpEnabledByFlag || httpEnabledByDate) && !httpDisabledByFlag;
if (!httpEnabled) {
return { nativeModules: [], hybridModules: [] };
}
const httpServerEnabledByFlag = compatibilityFlags.includes(
"enable_nodejs_http_server_modules"
);
const httpServerDisabledByFlag = compatibilityFlags.includes(
"disable_nodejs_http_server_modules"
);
const httpServerEnabledByDate = compatibilityDate >= "2025-09-01";
const httpServerEnabled = (httpServerEnabledByFlag || httpServerEnabledByDate) && !httpServerDisabledByFlag;
return {
nativeModules: [
"_http_agent",
"_http_client",
"_http_common",
"_http_incoming",
"_http_outgoing",
// `_http_server` can only be imported when the server flag is set
// See https://github.com/cloudflare/workerd/blob/56efc04/src/workerd/api/node/node.h#L102-L106
...httpServerEnabled ? ["_http_server"] : [],
"http",
"https"
],
hybridModules: []
};
}
function getHttp2Overrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_http2_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_http2_module"
);
const enabledByDate = compatibilityDate >= "2025-09-01";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["http2"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getOsOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_os_module"
);
const enabledByFlag = compatibilityFlags.includes("enable_nodejs_os_module");
const enabledByDate = compatibilityDate >= "2025-09-15";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["os"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getFsOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_fs_module"
);
const enabledByFlag = compatibilityFlags.includes("enable_nodejs_fs_module");
const enabledByDate = compatibilityDate >= "2025-09-15";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["fs/promises", "fs"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getPunycodeOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_punycode_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_punycode_module"
);
const enabledByDate = compatibilityDate >= "2025-12-04";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["punycode"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getClusterOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_cluster_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_cluster_module"
);
const enabledByDate = compatibilityDate >= "2025-12-04";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["cluster"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getTraceEventsOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_trace_events_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_trace_events_module"
);
const enabledByDate = compatibilityDate >= "2025-12-04";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["trace_events"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getDomainOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_domain_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_domain_module"
);
const enabledByDate = compatibilityDate >= "2025-12-04";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["domain"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getWasiOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_wasi_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_wasi_module"
);
const enabledByDate = compatibilityDate >= "2025-12-04";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["wasi"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getConsoleOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_console_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_console_module"
);
const enabledByDate = compatibilityDate >= "2025-09-21";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["console"],
hybridModules: [],
inject: {}
} : {
nativeModules: [],
hybridModules: ["console"],
inject: { console: "@cloudflare/unenv-preset/node/console" }
};
}
function getVmOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_vm_module"
);
const enabledByFlag = compatibilityFlags.includes("enable_nodejs_vm_module");
const enabledByDate = compatibilityDate >= "2025-10-01";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["vm"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getInspectorOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_inspector_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_inspector_module"
);
const enabledByDate = compatibilityDate >= "2026-01-29";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["inspector/promises", "inspector"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getSqliteOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_sqlite_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_sqlite_module"
);
const enabledByDate = compatibilityDate >= "2026-01-29";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["sqlite"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getDgramOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_dgram_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_dgram_module"
);
const enabledByDate = compatibilityDate >= "2026-01-29";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["dgram"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getStreamWrapOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_stream_wrap_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_stream_wrap_module"
);
const enabledByDate = compatibilityDate >= "2026-01-29";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["_stream_wrap"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getReplOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_repl_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_repl_module"
);
const enabledByDate = compatibilityDate >= "2026-03-17";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["repl"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getProcessOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledV2ByFlag = compatibilityFlags.includes(
"disable_nodejs_process_v2"
);
const enabledV2ByFlag = compatibilityFlags.includes(
"enable_nodejs_process_v2"
);
const enabledV2ByDate = compatibilityDate >= "2025-09-15";
const hasFixes = hasFetchIterableFixes({
compatibilityDate,
compatibilityFlags
});
const useV2 = hasFixes && (enabledV2ByFlag || enabledV2ByDate) && !disabledV2ByFlag;
return useV2 ? {
nativeModules: ["process"],
hybridModules: [],
// We can use the native global, return `false` to drop the unenv default
inject: { process: false }
} : {
nativeModules: [],
hybridModules: ["process"],
// Use the module default export as the global `process`
inject: { process: "@cloudflare/unenv-preset/node/process" }
};
}
function hasFetchIterableFixes({
compatibilityDate,
compatibilityFlags
}) {
const supportEnabledByFlag = compatibilityFlags.includes(
"fetch_iterable_type_support"
);
const supportDisabledByFlag = compatibilityFlags.includes(
"no_fetch_iterable_type_support"
);
const supportEnabledByDate = compatibilityDate >= "2026-02-19";
const supportEnabled = (supportEnabledByDate || supportEnabledByFlag) && !supportDisabledByFlag;
if (!supportEnabled) {
return false;
}
const adjustmentEnabledByFlag = compatibilityFlags.includes(
"fetch_iterable_type_support_override_adjustment"
);
const adjustmentDisabledByFlag = compatibilityFlags.includes(
"no_fetch_iterable_type_support_override_adjustment"
);
const adjustmentImpliedBySupport = compatibilityDate >= "2026-01-15";
const adjustmentEnabled = (adjustmentEnabledByFlag || adjustmentImpliedBySupport) && !adjustmentDisabledByFlag;
return adjustmentEnabled;
}
function getV8Overrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_v8_module"
);
const enabledByFlag = compatibilityFlags.includes("enable_nodejs_v8_module");
const enabledByDate = compatibilityDate >= "2026-03-17";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["v8"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getTtyOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_tty_module"
);
const enabledByFlag = compatibilityFlags.includes("enable_nodejs_tty_module");
const enabledByDate = compatibilityDate >= "2026-03-17";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["tty"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getChildProcessOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_child_process_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_child_process_module"
);
const enabledByDate = compatibilityDate >= "2026-03-17";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["child_process"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getWorkerThreadsOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_worker_threads_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_worker_threads_module"
);
const enabledByDate = compatibilityDate >= "2026-03-17";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["worker_threads"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getReadlineOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_readline_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_readline_module"
);
const enabledByDate = compatibilityDate >= "2026-03-17";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["readline", "readline/promises"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: []
};
}
function getPerfHooksOverrides({
compatibilityDate,
compatibilityFlags
}) {
const disabledByFlag = compatibilityFlags.includes(
"disable_nodejs_perf_hooks_module"
);
const enabledByFlag = compatibilityFlags.includes(
"enable_nodejs_perf_hooks_module"
);
const enabledByDate = compatibilityDate >= "2026-03-17";
const enabled = (enabledByFlag || enabledByDate) && !disabledByFlag;
return enabled ? {
nativeModules: ["perf_hooks"],
hybridModules: []
} : {
nativeModules: [],
hybridModules: [],
polyfills: ["@cloudflare/unenv-preset/polyfill/performance"]
};
}
const nonPrefixedNodeModules = [
"_http_agent",
"_http_client",
"_http_common",
"_http_incoming",
"_http_outgoing",
"_http_server",
"_stream_duplex",
"_stream_passthrough",
"_stream_readable",
"_stream_transform",
"_stream_wrap",
"_stream_writable",
"_tls_common",
"_tls_wrap",
"assert",
"assert/strict",
"async_hooks",
"buffer",
"child_process",
"cluster",
"console",
"constants",
"crypto",
"dgram",
"diagnostics_channel",
"dns",
"dns/promises",
"domain",
"events",
"fs",
"fs/promises",
"http",
"http2",
"https",
"inspector",
"inspector/promises",
"module",
"net",
"os",
"path",
"path/posix",
"path/win32",
"perf_hooks",
"process",
"punycode",
"querystring",
"readline",
"readline/promises",
"repl",
"stream",
"stream/consumers",
"stream/promises",
"stream/web",
"string_decoder",
"sys",
"timers",
"timers/promises",
"tls",
"trace_events",
"tty",
"url",
"util",
"util/types",
"v8",
"vm",
"wasi",
"worker_threads",
"zlib"
];
const cloudflare = getCloudflarePreset({});
export { cloudflare, getCloudflarePreset, nonPrefixedNodeModules };
+4
View File
@@ -0,0 +1,4 @@
export { Console, _ignoreErrors, _stderr, _stderrErrorHandler, _stdout, _stdoutErrorHandler, _times, } from "unenv/node/console";
export declare const assert: any, clear: any, context: any, count: any, countReset: any, createTask: any, debug: any, dir: any, dirxml: any, error: any, group: any, groupCollapsed: any, groupEnd: any, info: any, log: any, profile: any, profileEnd: any, table: any, time: any, timeEnd: any, timeLog: any, timeStamp: any, trace: any, warn: any;
declare const _default: any;
export default _default;
+57
View File
@@ -0,0 +1,57 @@
import {
_ignoreErrors,
_stderr,
_stderrErrorHandler,
_stdout,
_stdoutErrorHandler,
_times,
Console
} from "unenv/node/console";
export {
Console,
_ignoreErrors,
_stderr,
_stderrErrorHandler,
_stdout,
_stdoutErrorHandler,
_times
} from "unenv/node/console";
const workerdConsole = globalThis["console"];
export const {
assert,
clear,
// @ts-expect-error undocumented public API
context,
count,
countReset,
// @ts-expect-error undocumented public API
createTask,
debug,
dir,
dirxml,
error,
group,
groupCollapsed,
groupEnd,
info,
log,
profile,
profileEnd,
table,
time,
timeEnd,
timeLog,
timeStamp,
trace,
warn
} = workerdConsole;
Object.assign(workerdConsole, {
Console,
_ignoreErrors,
_stderr,
_stderrErrorHandler,
_stdout,
_stdoutErrorHandler,
_times
});
export default workerdConsole;
+5
View File
@@ -0,0 +1,5 @@
export declare const getBuiltinModule: NodeJS.Process["getBuiltinModule"];
export declare const exit: (code?: number | string | null | undefined) => never, features: NodeJS.ProcessFeatures, platform: NodeJS.Platform;
export declare const _channel: any, _debugEnd: any, _debugProcess: any, _disconnect: any, _events: any, _eventsCount: any, _exiting: any, _fatalException: any, _getActiveHandles: any, _getActiveRequests: any, _handleQueue: any, _kill: any, _linkedBinding: any, _maxListeners: any, _pendingMessage: any, _preload_modules: any, _rawDebug: any, _send: any, _startProfilerIdleNotifier: any, _stopProfilerIdleNotifier: any, _tickCallback: any, abort: any, addListener: any, allowedNodeEnvironmentFlags: any, arch: any, argv: any, argv0: any, assert: any, availableMemory: any, binding: any, channel: any, chdir: any, config: any, connected: any, constrainedMemory: any, cpuUsage: any, cwd: any, debugPort: any, disconnect: any, dlopen: any, domain: any, emit: any, emitWarning: any, env: any, eventNames: any, execArgv: any, execPath: any, exitCode: any, finalization: any, getActiveResourcesInfo: any, getegid: any, geteuid: any, getgid: any, getgroups: any, getMaxListeners: any, getuid: any, hasUncaughtExceptionCaptureCallback: any, hrtime: any, initgroups: any, kill: any, listenerCount: any, listeners: any, loadEnvFile: any, mainModule: any, memoryUsage: any, moduleLoadList: any, nextTick: any, off: any, on: any, once: any, openStdin: any, permission: any, pid: any, ppid: any, prependListener: any, prependOnceListener: any, rawListeners: any, reallyExit: any, ref: any, release: any, removeAllListeners: any, removeListener: any, report: any, resourceUsage: any, send: any, setegid: any, seteuid: any, setgid: any, setgroups: any, setMaxListeners: any, setSourceMapsEnabled: any, setuid: any, setUncaughtExceptionCaptureCallback: any, sourceMapsEnabled: any, stderr: any, stdin: any, stdout: any, throwDeprecation: any, title: any, traceDeprecation: any, umask: any, unref: any, uptime: any, version: any, versions: any;
declare const _default: NodeJS.Process;
export default _default;
+230
View File
@@ -0,0 +1,230 @@
import { hrtime as UnenvHrTime } from "unenv/node/internal/process/hrtime";
import { Process as UnenvProcess } from "unenv/node/internal/process/process";
const globalProcess = globalThis["process"];
export const getBuiltinModule = globalProcess.getBuiltinModule;
const workerdProcess = getBuiltinModule("node:process");
const unenvProcess = new UnenvProcess({
env: globalProcess.env,
hrtime: UnenvHrTime,
// `nextTick` is available from workerd process v1
nextTick: workerdProcess.nextTick
});
export const { exit, features, platform } = workerdProcess;
export const {
_channel,
_debugEnd,
_debugProcess,
_disconnect,
_events,
_eventsCount,
_exiting,
_fatalException,
_getActiveHandles,
_getActiveRequests,
_handleQueue,
_kill,
_linkedBinding,
_maxListeners,
_pendingMessage,
_preload_modules,
_rawDebug,
_send,
_startProfilerIdleNotifier,
_stopProfilerIdleNotifier,
_tickCallback,
abort,
addListener,
allowedNodeEnvironmentFlags,
arch,
argv,
argv0,
assert,
availableMemory,
binding,
channel,
chdir,
config,
connected,
constrainedMemory,
cpuUsage,
cwd,
debugPort,
disconnect,
dlopen,
domain,
emit,
emitWarning,
env,
eventNames,
execArgv,
execPath,
exitCode,
finalization,
getActiveResourcesInfo,
getegid,
geteuid,
getgid,
getgroups,
getMaxListeners,
getuid,
hasUncaughtExceptionCaptureCallback,
hrtime,
initgroups,
kill,
listenerCount,
listeners,
loadEnvFile,
mainModule,
memoryUsage,
moduleLoadList,
nextTick,
off,
on,
once,
openStdin,
permission,
pid,
ppid,
prependListener,
prependOnceListener,
rawListeners,
reallyExit,
ref,
release,
removeAllListeners,
removeListener,
report,
resourceUsage,
send,
setegid,
seteuid,
setgid,
setgroups,
setMaxListeners,
setSourceMapsEnabled,
setuid,
setUncaughtExceptionCaptureCallback,
sourceMapsEnabled,
stderr,
stdin,
stdout,
throwDeprecation,
title,
traceDeprecation,
umask,
unref,
uptime,
version,
versions
} = unenvProcess;
const _process = {
abort,
addListener,
allowedNodeEnvironmentFlags,
hasUncaughtExceptionCaptureCallback,
setUncaughtExceptionCaptureCallback,
loadEnvFile,
sourceMapsEnabled,
arch,
argv,
argv0,
chdir,
config,
connected,
constrainedMemory,
availableMemory,
cpuUsage,
cwd,
debugPort,
dlopen,
disconnect,
emit,
emitWarning,
env,
eventNames,
execArgv,
execPath,
exit,
finalization,
features,
getBuiltinModule,
getActiveResourcesInfo,
getMaxListeners,
hrtime,
kill,
listeners,
listenerCount,
memoryUsage,
nextTick,
on,
off,
once,
pid,
platform,
ppid,
prependListener,
prependOnceListener,
rawListeners,
release,
removeAllListeners,
removeListener,
report,
resourceUsage,
setMaxListeners,
setSourceMapsEnabled,
stderr,
stdin,
stdout,
title,
throwDeprecation,
traceDeprecation,
umask,
uptime,
version,
versions,
// @ts-expect-error old API
domain,
initgroups,
moduleLoadList,
reallyExit,
openStdin,
assert,
binding,
send,
exitCode,
channel,
getegid,
geteuid,
getgid,
getgroups,
getuid,
setegid,
seteuid,
setgid,
setgroups,
setuid,
permission,
mainModule,
_events,
_eventsCount,
_exiting,
_maxListeners,
_debugEnd,
_debugProcess,
_fatalException,
_getActiveHandles,
_getActiveRequests,
_kill,
_preload_modules,
_rawDebug,
_startProfilerIdleNotifier,
_stopProfilerIdleNotifier,
_tickCallback,
_disconnect,
_handleQueue,
_pendingMessage,
_channel,
_send,
_linkedBinding
};
export default _process;
@@ -0,0 +1,3 @@
{
"sideEffects": true
}
@@ -0,0 +1 @@
export {};
@@ -0,0 +1,29 @@
import {
performance,
Performance,
PerformanceEntry,
PerformanceMark,
PerformanceMeasure,
PerformanceObserver,
PerformanceObserverEntryList,
PerformanceResourceTiming
} from "node:perf_hooks";
if (!("__unenv__" in performance)) {
const proto = Performance.prototype;
for (const key of Object.getOwnPropertyNames(proto)) {
if (key !== "constructor" && !(key in performance)) {
const desc = Object.getOwnPropertyDescriptor(proto, key);
if (desc) {
Object.defineProperty(performance, key, desc);
}
}
}
}
globalThis.performance = performance;
globalThis.Performance = Performance;
globalThis.PerformanceEntry = PerformanceEntry;
globalThis.PerformanceMark = PerformanceMark;
globalThis.PerformanceMeasure = PerformanceMeasure;
globalThis.PerformanceObserver = PerformanceObserver;
globalThis.PerformanceObserverEntryList = PerformanceObserverEntryList;
globalThis.PerformanceResourceTiming = PerformanceResourceTiming;