diff options
author | Marvin Hagemeister <hello@marvinh.dev> | 2023-05-18 21:42:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-18 15:42:27 -0400 |
commit | ff0daa2b9d8a149d36173e19ce8dc169921486c7 (patch) | |
tree | ec914a4e736cf797420f6390a7667e427c7f37b7 | |
parent | 877b38b37043c1f45577f1835119caa7df6169e3 (diff) |
fix(npm): `process` not defined in readline (#19184)
Issue was that we create node globals much later, so pulling `process`
via a module import is the way to go.
Fixes #19183
-rw-r--r-- | cli/tests/unit_node/readline_test.ts | 13 | ||||
-rw-r--r-- | ext/node/polyfills/internal/readline/interface.mjs | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/cli/tests/unit_node/readline_test.ts b/cli/tests/unit_node/readline_test.ts index bef9008dd..914d23e4a 100644 --- a/cli/tests/unit_node/readline_test.ts +++ b/cli/tests/unit_node/readline_test.ts @@ -12,3 +12,16 @@ Deno.test("[node/readline] createInstance", () => { // deno-lint-ignore no-explicit-any assertInstanceOf(rl, Interface as any); }); + +// Test for https://github.com/denoland/deno/issues/19183 +Deno.test("[node/readline] don't throw on rl.question()", () => { + const rli = createInterface({ + input: new Readable({ read() {} }), + output: new Writable({ write() {} }), + terminal: true, + }); + + // Calling this would throw + rli.question("foo", () => rli.close()); + rli.close(); +}); diff --git a/ext/node/polyfills/internal/readline/interface.mjs b/ext/node/polyfills/internal/readline/interface.mjs index 3d3f99cad..bbb453df0 100644 --- a/ext/node/polyfills/internal/readline/interface.mjs +++ b/ext/node/polyfills/internal/readline/interface.mjs @@ -44,6 +44,7 @@ import { } from "ext:deno_node/internal/readline/utils.mjs"; import { clearScreenDown, cursorTo, moveCursor } from "ext:deno_node/internal/readline/callbacks.mjs"; import { Readable } from "ext:deno_node/_stream.mjs"; +import process from "ext:deno_node/process.ts"; import { StringDecoder } from "ext:deno_node/string_decoder.ts"; import { |