Deploy.
This commit is contained in:
+33
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"sideEffects": true
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export {};
|
||||
+29
@@ -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;
|
||||
Reference in New Issue
Block a user