deno/std/node
blairzhao111 6c21ba0575
fix(std/node): emitter.removeAllListeners (#5583)
When given a non-registered eventName to 
emitter.removeAllListeners(eventName), current code 
would remove all listeners instead of silently skip, 
which is not ideal.
2020-06-09 15:07:25 +02:00
..
_fs refactor(std): remove testing dependencies from non-test code (#5838) 2020-06-07 09:20:33 -04:00
_util feat(std/node) - Add util.promisify (#5540) 2020-06-08 19:26:52 +02:00
tests Update to Prettier 2 and use ES Private Fields (#4498) 2020-03-28 13:03:49 -04:00
_utils.ts feat(std/node): first pass at url module (#4700) 2020-05-20 10:37:30 -04:00
buffer.ts feat(std/node): Buffer (#5925) 2020-06-06 15:56:49 -04:00
events.ts fix(std/node): emitter.removeAllListeners (#5583) 2020-06-09 15:07:25 +02:00
events_test.ts fix(std/node): emitter.removeAllListeners (#5583) 2020-06-09 15:07:25 +02:00
fs.ts feat(std/node): fs.writeFileSync polyfill (#5414) 2020-05-15 09:50:27 -04:00
global.ts fix: Better use of @ts-expect-error (#6038) 2020-06-02 00:24:44 -04:00
module.ts refactor(std): remove testing dependencies from non-test code (#5838) 2020-06-07 09:20:33 -04:00
module_test.ts Rename abbreviated assertions in std/testing (#6118) 2020-06-05 23:43:00 -04:00
os.ts BREAKING: Use LLVM target triple for Deno.build (#4948) 2020-04-28 12:35:23 -04:00
os_test.ts Update to Prettier 2 and use ES Private Fields (#4498) 2020-03-28 13:03:49 -04:00
path.ts std/node: add some Node.js polyfill to require() (#3382) 2019-11-19 16:44:59 -05:00
process.ts std/node: toString for globals (#5013) 2020-04-30 13:58:40 -04:00
process_test.ts BREAKING: Map-like interface for Deno.env (#4942) 2020-04-29 14:48:19 -04:00
querystring.ts feat(std/node): first pass at url module (#4700) 2020-05-20 10:37:30 -04:00
querystring_test.ts Update to Prettier 2 and use ES Private Fields (#4498) 2020-03-28 13:03:49 -04:00
README.md doc: fix typo in std/node/README.md (#4819) 2020-05-11 15:13:06 +02:00
timers.ts fix: setTimeout and friends have too strict types (#5412) 2020-05-15 09:51:49 -04:00
url.ts refactor: remove duplicated code in std/node/module (#5778) 2020-05-23 12:55:15 +02:00
util.ts feat(std/node) - Add util.promisify (#5540) 2020-06-08 19:26:52 +02:00
util_test.ts feat(std/node): add util.type.isDate (#6029) 2020-06-01 18:43:43 -04: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 compatibility 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. It also sets supported globals.

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");