summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/_util/os.ts
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-02-15 19:44:52 +0100
committerGitHub <noreply@github.com>2023-02-15 19:44:52 +0100
commit75209e12f19ca5d4a2a7c9008fba63a487ad8e6a (patch)
treec122feabbceeef070de4d4eb23667c6153ea7eb1 /ext/node/polyfills/_util/os.ts
parentc4b9a91e27a32c0949688034c2449936c01a44a9 (diff)
feat: wire up ext/node to the Node compatibility layer (#17785)
This PR changes Node.js/npm compatibility layer to use polyfills for built-in Node.js embedded in the snapshot (that are coming from "ext/node" extension). As a result loading `std/node`, either from "https://deno.land/std@<latest>/" or from "DENO_NODE_COMPAT_URL" env variable were removed. All code that is imported via "npm:" specifiers now uses code embedded in the snapshot. Several fixes were applied to various modules in "ext/node" to make tests pass. --------- Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com> Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
Diffstat (limited to 'ext/node/polyfills/_util/os.ts')
-rw-r--r--ext/node/polyfills/_util/os.ts18
1 files changed, 3 insertions, 15 deletions
diff --git a/ext/node/polyfills/_util/os.ts b/ext/node/polyfills/_util/os.ts
index 66d18534c..a3cb396bd 100644
--- a/ext/node/polyfills/_util/os.ts
+++ b/ext/node/polyfills/_util/os.ts
@@ -1,22 +1,10 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
-export type OSType = "windows" | "linux" | "darwin" | "freebsd";
-
-export const osType: OSType = (() => {
- // deno-lint-ignore no-explicit-any
- const { Deno } = globalThis as any;
- if (typeof Deno?.build?.os === "string") {
- return Deno.build.os;
- }
+const { ops } = globalThis.__bootstrap.core;
- // deno-lint-ignore no-explicit-any
- const { navigator } = globalThis as any;
- if (navigator?.appVersion?.includes?.("Win")) {
- return "windows";
- }
+export type OSType = "windows" | "linux" | "darwin" | "freebsd";
- return "linux";
-})();
+export const osType: OSType = ops.op_node_build_os();
export const isWindows = osType === "windows";
export const isLinux = osType === "linux";