diff options
author | Divy Srivastava <dj.srivastava23@gmail.com> | 2023-10-31 04:54:43 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-31 17:24:43 +0530 |
commit | f62e22a6998bc4d0e2b2fc3df8d6a81aac264e7a (patch) | |
tree | 7fe0e954fb99e0457bf6bc94a4336b16952415c2 /ext/node/polyfills/tty.js | |
parent | 2d9298f5f5550c21ba218ff7095aa9afe80c7e02 (diff) |
fix(ext/node): tty streams extends net socket (#21026)
Workaround the circular references issue by using a initializer function
to give tty stream class to `initStdin`.
Fixes https://github.com/denoland/deno/issues/21024
Fixes https://github.com/denoland/deno/issues/20611
Fixes https://github.com/denoland/deno/issues/20890
Fixes https://github.com/denoland/deno/issues/20336
`create-svelte` works now:
```
divy@mini /t/a> ~/gh/deno/target/debug/deno run -A --unstable --reload npm:create-svelte@latest sveltekit-deno
create-svelte version 5.1.1
┌ Welcome to SvelteKit!
│
◇ Which Svelte app template?
│ Skeleton project
│
◇ Add type checking with TypeScript?
│ Yes, using JavaScript with JSDoc comments
│
◇ Select additional options (use arrow keys/space bar)
│ none
│
└ Your project is ready!
✔ Type-checked JavaScript
https://www.typescriptlang.org/tsconfig#checkJs
Install community-maintained integrations:
https://github.com/svelte-add/svelte-add
Next steps:
1: cd sveltekit-deno
2: npm install
3: git init && git add -A && git commit -m "Initial commit" (optional)
4: npm run dev -- --open
To close the dev server, hit Ctrl-C
Stuck? Visit us at https://svelte.dev/chat
```
---------
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
Diffstat (limited to 'ext/node/polyfills/tty.js')
-rw-r--r-- | ext/node/polyfills/tty.js | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ext/node/polyfills/tty.js b/ext/node/polyfills/tty.js index 54f8f6eae..79dd5b1d4 100644 --- a/ext/node/polyfills/tty.js +++ b/ext/node/polyfills/tty.js @@ -3,7 +3,8 @@ import { ERR_INVALID_FD } from "ext:deno_node/internal/errors.ts"; import { LibuvStreamWrap } from "ext:deno_node/internal_binding/stream_wrap.ts"; import { providerType } from "ext:deno_node/internal_binding/async_wrap.ts"; -import { Duplex } from "node:stream"; +import { Socket } from "node:net"; +import { setReadStream } from "ext:deno_node/_process/streams.mjs"; const { Error } = globalThis.__bootstrap.primordials; // Returns true when the given numeric fd is associated with a TTY and false otherwise. @@ -24,7 +25,7 @@ class TTY extends LibuvStreamWrap { } } -export class ReadStream extends Duplex { +export class ReadStream extends Socket { constructor(fd, options) { if (fd >> 0 !== fd || fd < 0) { throw new ERR_INVALID_FD(fd); @@ -54,7 +55,9 @@ export class ReadStream extends Duplex { } } -export class WriteStream extends Duplex { +setReadStream(ReadStream); + +export class WriteStream extends Socket { constructor(fd) { if (fd >> 0 !== fd || fd < 0) { throw new ERR_INVALID_FD(fd); |