From ac33fc2892f8faf9484c31c2aabfdc3744de0314 Mon Sep 17 00:00:00 2001 From: Asher Gomez Date: Wed, 4 Sep 2024 18:12:11 +1000 Subject: [PATCH] chore(tty): soft-remove `Deno.isatty()` (#25410) Towards #22079 --- cli/tsc/dts/lib.deno.ns.d.ts | 19 ------------------- runtime/js/40_tty.js | 9 +++------ tests/unit/tty_test.ts | 2 ++ 3 files changed, 5 insertions(+), 25 deletions(-) diff --git a/cli/tsc/dts/lib.deno.ns.d.ts b/cli/tsc/dts/lib.deno.ns.d.ts index 8ba41eae01..e861b876eb 100644 --- a/cli/tsc/dts/lib.deno.ns.d.ts +++ b/cli/tsc/dts/lib.deno.ns.d.ts @@ -2875,25 +2875,6 @@ declare namespace Deno { signal?: AbortSignal; } - /** - * Check if a given resource id (`rid`) is a TTY (a terminal). - * - * ```ts - * // This example is system and context specific - * const nonTTYRid = Deno.openSync("my_file.txt").rid; - * const ttyRid = Deno.openSync("/dev/tty6").rid; - * console.log(Deno.isatty(nonTTYRid)); // false - * console.log(Deno.isatty(ttyRid)); // true - * ``` - * - * @deprecated This will be soft-removed in Deno 2.0. See the - * {@link https://docs.deno.com/runtime/manual/advanced/migrate_deprecations | Deno 1.x to 2.x Migration Guide} - * for migration instructions. - * - * @category I/O - */ - export function isatty(rid: number): boolean; - /** * A variable-sized buffer of bytes with `read()` and `write()` methods. * diff --git a/runtime/js/40_tty.js b/runtime/js/40_tty.js index 7cf1e4f5d9..72e7b68846 100644 --- a/runtime/js/40_tty.js +++ b/runtime/js/40_tty.js @@ -1,5 +1,5 @@ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -import { core, internals, primordials } from "ext:core/mod.js"; +import { core, primordials } from "ext:core/mod.js"; import { op_console_size } from "ext:core/ops"; const { Uint32Array, @@ -15,12 +15,9 @@ function consoleSize() { return { columns: size[0], rows: size[1] }; } +// Note: This function was soft-removed in Deno 2. Its types have been removed, +// but its implementation has been kept to avoid breaking changes. function isatty(rid) { - internals.warnOnDeprecatedApi( - "Deno.isatty()", - new Error().stack, - "Use `Deno.stdin.isTerminal()`, `Deno.stdout.isTerminal()`, `Deno.stderr.isTerminal()` or `Deno.FsFile.isTerminal()` instead.", - ); return isTerminal(rid); } diff --git a/tests/unit/tty_test.ts b/tests/unit/tty_test.ts index 35e7dd7831..4183fe530e 100644 --- a/tests/unit/tty_test.ts +++ b/tests/unit/tty_test.ts @@ -20,6 +20,7 @@ Deno.test( function isatty() { // CI not under TTY, so cannot test stdin/stdout/stderr. const f = Deno.openSync("tests/testdata/assets/hello.txt"); + // @ts-ignore `Deno.isatty()` was soft-removed in Deno 2. assert(!Deno.isatty(f.rid)); f.close(); }, @@ -29,6 +30,7 @@ Deno.test(function isattyError() { let caught = false; try { // Absurdly large rid. + // @ts-ignore `Deno.isatty()` was soft-removed in Deno 2. Deno.isatty(0x7fffffff); } catch (e) { caught = true;