summaryrefslogtreecommitdiff
path: root/std/node/process.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/node/process.ts')
-rw-r--r--std/node/process.ts42
1 files changed, 42 insertions, 0 deletions
diff --git a/std/node/process.ts b/std/node/process.ts
new file mode 100644
index 000000000..35de23b88
--- /dev/null
+++ b/std/node/process.ts
@@ -0,0 +1,42 @@
+import { notImplemented } from "./_utils.ts";
+
+const version = `v${Deno.version.deno}`;
+
+const versions = {
+ node: Deno.version.deno,
+ ...Deno.version
+};
+
+const osToPlatform = (os: Deno.OperatingSystem): string =>
+ os === "win" ? "win32" : os === "mac" ? "darwin" : os;
+
+const platform = osToPlatform(Deno.build.os);
+
+const { arch } = Deno.build;
+
+const { pid, cwd, chdir, exit } = Deno;
+
+function on(_event: string, _callback: Function): void {
+ // TODO(rsp): to be implemented
+ notImplemented();
+}
+
+export const process = {
+ version,
+ versions,
+ platform,
+ arch,
+ pid,
+ cwd,
+ chdir,
+ exit,
+ on,
+ get env(): { [index: string]: string } {
+ // using getter to avoid --allow-env unless it's used
+ return Deno.env();
+ },
+ get argv(): string[] {
+ // Deno.execPath() also requires --allow-env
+ return [Deno.execPath(), ...Deno.args];
+ }
+};