From afcea643605fa34936ffe52ce5a3a4fdadef7802 Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Tue, 1 Apr 2025 09:08:59 +0200 Subject: [PATCH 1/5] process: return Node verion --- src/runtime/node/internal/process/process.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/runtime/node/internal/process/process.ts b/src/runtime/node/internal/process/process.ts index e24f7bb2..e38cbf7d 100644 --- a/src/runtime/node/internal/process/process.ts +++ b/src/runtime/node/internal/process/process.ts @@ -5,6 +5,8 @@ import { createNotImplementedError, } from "../../../_internal/utils.ts"; +const NODE_VERSION = "22.14.0"; + export class Process extends EventEmitter implements NodeJS.Process { env: NodeJS.ProcessEnv; hrtime: NodeJS.Process["hrtime"]; @@ -92,11 +94,11 @@ export class Process extends EventEmitter implements NodeJS.Process { ppid: number = 100; get version() { - return ""; + return `v${NODE_VERSION}`; } get versions() { - return {} as NodeJS.Process["versions"]; + return { node: NODE_VERSION } as NodeJS.Process["versions"]; } get allowedNodeEnvironmentFlags() { From a2dce1293de0f9414b10aaa35076bfc70945888c Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Tue, 1 Apr 2025 13:48:42 +0200 Subject: [PATCH 2/5] fixup! extract NODE_VERSION from .nvmrc --- .gitignore | 2 ++ scripts/build.ts | 9 +++++++++ src/runtime/node/internal/process/process.ts | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 120c48ed..e8225d7d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ dist .tmp .wrangler coverage +# Generated at build time +/src/runtime/node/internal/process/node-version.ts \ No newline at end of file diff --git a/scripts/build.ts b/scripts/build.ts index 095d6d3f..1fef01c6 100755 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -30,6 +30,7 @@ console.log(`Bundling src/index...`); await rolldownBuild(rootDir, "src/index.ts", "dist/index.mjs"); console.log(`Building src/runtime...`); +await generateNodeVersion(rootDir, "src/runtime/node/internal/process"); await transformDir(rootDir, "src/runtime", "dist/runtime"); console.log(`Build finished in ${Date.now() - start}ms`); @@ -206,3 +207,11 @@ function resolvePath(id: string, parent: string) { Error.captureStackTrace?.(error, resolvePath); throw error; } + +async function generateNodeVersion(rootDir: string, outPath: string) { + const m = (await readFile(join(rootDir, ".nvmrc"), "utf8")).match(/(?\d+\.\d+\.\d+)/); + if (!m?.groups?.version) { + throw new Error('.nvrmc does not contain a valid Node version'); + } + await writeFile(join(rootDir, outPath, 'node-version.ts'), `// Extracted from .nvmrc\nexport const NODE_VERSION = ${JSON.stringify(m.groups.version)};`, 'utf8'); +} \ No newline at end of file diff --git a/src/runtime/node/internal/process/process.ts b/src/runtime/node/internal/process/process.ts index e38cbf7d..701a7bb2 100644 --- a/src/runtime/node/internal/process/process.ts +++ b/src/runtime/node/internal/process/process.ts @@ -4,8 +4,8 @@ import { notImplemented, createNotImplementedError, } from "../../../_internal/utils.ts"; - -const NODE_VERSION = "22.14.0"; +// node-version.ts is generated at build time +import { NODE_VERSION } from "./node-version.ts"; export class Process extends EventEmitter implements NodeJS.Process { env: NodeJS.ProcessEnv; From 53722c1653b5388406f21a0a8b0d3e363ba7e84a Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Tue, 1 Apr 2025 13:52:25 +0200 Subject: [PATCH 3/5] fixup! do not ignore node-version.ts --- .gitignore | 2 -- src/runtime/node/internal/process/node-version.ts | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 src/runtime/node/internal/process/node-version.ts diff --git a/.gitignore b/.gitignore index e8225d7d..120c48ed 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,3 @@ dist .tmp .wrangler coverage -# Generated at build time -/src/runtime/node/internal/process/node-version.ts \ No newline at end of file diff --git a/src/runtime/node/internal/process/node-version.ts b/src/runtime/node/internal/process/node-version.ts new file mode 100644 index 00000000..94ffe1d3 --- /dev/null +++ b/src/runtime/node/internal/process/node-version.ts @@ -0,0 +1,2 @@ +// Extracted from .nvmrc +export const NODE_VERSION = "22.14.0"; \ No newline at end of file From 0df74981cc6d79bdf1adac5731b25fe70709673e Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 11:53:02 +0000 Subject: [PATCH 4/5] chore: apply automated updates --- src/runtime/node/internal/process/node-version.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/node/internal/process/node-version.ts b/src/runtime/node/internal/process/node-version.ts index 94ffe1d3..d14bbd1d 100644 --- a/src/runtime/node/internal/process/node-version.ts +++ b/src/runtime/node/internal/process/node-version.ts @@ -1,2 +1,2 @@ // Extracted from .nvmrc -export const NODE_VERSION = "22.14.0"; \ No newline at end of file +export const NODE_VERSION = "22.14.0"; From 9ae1056741fc1ce5c204b74f5b2fd6a1e0ef18ae Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Tue, 1 Apr 2025 13:58:38 +0200 Subject: [PATCH 5/5] fixup! generate formatted code --- scripts/build.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build.ts b/scripts/build.ts index 1fef01c6..5fb3724c 100755 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -213,5 +213,5 @@ async function generateNodeVersion(rootDir: string, outPath: string) { if (!m?.groups?.version) { throw new Error('.nvrmc does not contain a valid Node version'); } - await writeFile(join(rootDir, outPath, 'node-version.ts'), `// Extracted from .nvmrc\nexport const NODE_VERSION = ${JSON.stringify(m.groups.version)};`, 'utf8'); + await writeFile(join(rootDir, outPath, 'node-version.ts'), `// Extracted from .nvmrc\nexport const NODE_VERSION = ${JSON.stringify(m.groups.version)};\n`, 'utf8'); } \ No newline at end of file