1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-23 15:16:54 -05:00
denoland-deno/std/node
Ben Noordhuis 45eb2f9b37
feat(std/node): add os Symbol.toPrimitive methods (#4073)
Node's os module exports a number of methods that evaluate to themselves
when coerced to a primitive.

I.e., `"" + os.arch` and `os.arch()` evaluate to the same string, and
now Deno's shims do too.
2020-02-23 14:40:44 -05:00
..
testdata feat: std/node (#3319) 2019-11-12 15:51:14 -05:00
tests std/node: add some Node.js polyfill to require() (#3382) 2019-11-19 16:44:59 -05:00
_utils.ts feat: std/node (#3319) 2019-11-12 15:51:14 -05:00
events.ts Enable TS strict mode by default (#3899) 2020-02-19 15:36:18 -05:00
events_test.ts Enable TS strict mode by default (#3899) 2020-02-19 15:36:18 -05:00
fs.ts Add readlink, readlinkSync for std/node/fs.ts (#3926) 2020-02-10 03:38:05 -06:00
fs_test.ts refactor: rewrite tests in std/ to use Deno.test (#3930) 2020-02-11 17:24:27 +01:00
global.ts Enable TS strict mode by default (#3899) 2020-02-19 15:36:18 -05:00
module.ts refactor: remove unneeded ErrorKinds (#3936) 2020-02-21 10:36:13 -05:00
module_test.ts refactor: rewrite tests in std/ to use Deno.test (#3930) 2020-02-11 17:24:27 +01:00
os.ts feat(std/node): add os Symbol.toPrimitive methods (#4073) 2020-02-23 14:40:44 -05:00
os_test.ts feat(std/node): add os Symbol.toPrimitive methods (#4073) 2020-02-23 14:40:44 -05:00
path.ts std/node: add some Node.js polyfill to require() (#3382) 2019-11-19 16:44:59 -05:00
process.ts feat: std/node/process (#3368) 2019-11-18 18:30:24 -05:00
process_test.ts refactor: remove unneeded ErrorKinds (#3936) 2020-02-21 10:36:13 -05:00
README.md feat: Event emitter node polyfill (#3944) 2020-02-10 18:19:48 -05:00
timers.ts feat(std/node): Added node timers builtin (#3634) 2020-01-15 14:13:12 -05:00
util.ts feat: Event emitter node polyfill (#3944) 2020-02-10 18:19:48 -05:00
util_test.ts refactor: rewrite tests in std/ to use Deno.test (#3930) 2020-02-11 17:24:27 +01:00

Deno Node compatibility

This module is meant to have a compatibility layer for the NodeJS standard library.

Warning: Any function of this module should not be referred anywhere in the deno standard library as it's a compatiblity module.

Supported Builtins

  • assert
  • buffer
  • child_process
  • cluster
  • console
  • crypto
  • dgram
  • dns
  • events
  • fs partly
  • http
  • http2
  • https
  • module
  • net
  • os partly
  • path
  • perf_hooks
  • process partly
  • querystring
  • readline
  • repl
  • stream
  • string_decoder
  • sys
  • timers
  • tls
  • tty
  • url
  • util partly
  • v8 can't implement
  • vm
  • worker_threads
  • zlib
  • node globals partly

Deprecated

These builtins are deprecated in NodeJS v13 and will probably not be polyfilled:

  • constants
  • domain
  • freelist
  • punycode

Experimental

These builtins are experimental in NodeJS v13 and will not be polyfilled until they are stable:

  • async_hooks
  • inspector
  • policies
  • report
  • trace_events
  • wasi

CommonJS Module Loading

createRequire(...) is provided to create a require function for loading CJS modules.

import { createRequire } from "https://deno.land/std/node/module.ts";

const require_ = createRequire(import.meta.url);
// Loads native module polyfill.
const path = require_("path");
// Loads extensionless module.
const cjsModule = require_("./my_mod");
// Visits node_modules.
const leftPad = require_("left-pad");