summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/build.ts15
-rw-r--r--js/main.ts4
-rw-r--r--js/os.ts3
-rw-r--r--js/process.ts12
4 files changed, 26 insertions, 8 deletions
diff --git a/js/build.ts b/js/build.ts
index 157de30bc..16640d793 100644
--- a/js/build.ts
+++ b/js/build.ts
@@ -14,14 +14,17 @@ export interface BuildInfo {
os: OperatingSystem;
}
-// 'build' is injected by rollup.config.js at compile time.
export const build: BuildInfo = {
- // These string will be replaced by rollup
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
- arch: `DENO_REPLACE_ARCH` as any,
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
- os: `DENO_REPLACE_OS` as any
+ arch: "" as Arch,
+ os: "" as OperatingSystem
};
+export function setBuildInfo(os: OperatingSystem, arch: Arch): void {
+ build.os = os;
+ build.arch = arch;
+
+ Object.freeze(build);
+}
+
// TODO(kevinkassimo): deprecate Deno.platform
export const platform = build;
diff --git a/js/main.ts b/js/main.ts
index 6ce3551ac..474fc74a4 100644
--- a/js/main.ts
+++ b/js/main.ts
@@ -10,10 +10,14 @@ import { xevalMain, XevalFunc } from "./xeval.ts";
import { setVersions } from "./version.ts";
import { window } from "./window.ts";
import { setLocation } from "./location.ts";
+import { setBuildInfo } from "./build.ts";
+import { setSignals } from "./process.ts";
function denoMain(preserveDenoNamespace: boolean = true, name?: string): void {
const s = os.start(preserveDenoNamespace, name);
+ setBuildInfo(s.os, s.arch);
+ setSignals();
setVersions(s.denoVersion, s.v8Version, s.tsVersion);
setPrepareStackTrace(Error);
diff --git a/js/os.ts b/js/os.ts
index b5392fc33..0e4d86917 100644
--- a/js/os.ts
+++ b/js/os.ts
@@ -5,6 +5,7 @@ import { sendSync } from "./dispatch_json.ts";
import { assert } from "./util.ts";
import * as util from "./util.ts";
import { window } from "./window.ts";
+import { OperatingSystem, Arch } from "./build.ts";
// builtin modules
import { _setGlobals } from "./deno.ts";
@@ -62,6 +63,8 @@ interface Start {
tsVersion: string;
noColor: boolean;
xevalDelim: string;
+ os: OperatingSystem;
+ arch: Arch;
}
// This function bootstraps an environment within Deno, it is shared both by
diff --git a/js/process.ts b/js/process.ts
index 4de9fe774..0c77929f9 100644
--- a/js/process.ts
+++ b/js/process.ts
@@ -5,7 +5,7 @@ import { File, close } from "./files.ts";
import { ReadCloser, WriteCloser } from "./io.ts";
import { readAll } from "./buffer.ts";
import { assert, unreachable } from "./util.ts";
-import { platform } from "./build.ts";
+import { build } from "./build.ts";
/** How to handle subprocess stdio.
*
@@ -296,4 +296,12 @@ enum MacOSSignal {
/** Signals numbers. This is platform dependent.
*/
-export const Signal = platform.os === "mac" ? MacOSSignal : LinuxSignal;
+export const Signal = {};
+
+export function setSignals(): void {
+ if (build.os === "mac") {
+ Object.assign(Signal, MacOSSignal);
+ } else {
+ Object.assign(Signal, LinuxSignal);
+ }
+}