1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-30 16:40:57 -05:00
denoland-deno/std/node
Benjamin Lupton 16038b8f82
fix(std/node/process): env, argv exports (#6455)
The promise approach still required permissions to be specified
at initialisation, rather than at request.

Using a Proxy instance solves this permission issue.

The Proxy instance approach also eliminates the need for the
await. Achieving direct compatibility with Node.js.

/ref pr #6392
/ref commit d16337cc9c
2020-06-25 07:18:01 -04:00
..
_fs fix(std/node): fix readFile types, add encoding types (#6451) 2020-06-23 22:32:43 -04:00
_util refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04:00
tests Update to Prettier 2 and use ES Private Fields (#4498) 2020-03-28 13:03:49 -04:00
_utils.ts make std deno-lint clean (#6240) 2020-06-12 09:19:29 -04:00
buffer.ts feat(std/node): support hex / base64 encoding in Buffer (#6414) 2020-06-21 09:47:03 -04:00
buffer_test.ts feat(std/node): support hex / base64 encoding in Buffer (#6414) 2020-06-21 09:47:03 -04:00
events.ts make std deno-lint clean (#6240) 2020-06-12 09:19:29 -04:00
events_test.ts refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04: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 make std deno-lint clean (#6240) 2020-06-12 09:19:29 -04:00
module_test.ts refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04:00
os.ts fix(std/node): global process should usable (#6392) 2020-06-23 16:00:47 -04:00
os_test.ts Remove Deno.dir and dirs dependency (#6385) 2020-06-20 23:49:27 -04:00
path.ts std/node: add some Node.js polyfill to require() (#3382) 2019-11-19 16:44:59 -05:00
process.ts fix(std/node/process): env, argv exports (#6455) 2020-06-25 07:18:01 -04:00
process_test.ts fix(std/node/process): env, argv exports (#6455) 2020-06-25 07:18:01 -04:00
querystring.ts feat(std/node): first pass at url module (#4700) 2020-05-20 10:37:30 -04:00
querystring_test.ts refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04:00
README.md Doc: Node buffer is now supported (#6274) 2020-06-13 09:58:08 -04: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 refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -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");