From b536ed1a7498b8f1c7d46aa9a7ed745870a9e99e Mon Sep 17 00:00:00 2001 From: Asher Gomez Date: Sat, 31 Aug 2024 13:13:23 +1000 Subject: [PATCH] chore(fs): remove `Deno.futime[Sync]()` (#25252) --- cli/tools/test/fmt.rs | 1 - cli/tsc/dts/lib.deno.ns.d.ts | 44 ----------------------------------- ext/fs/30_fs.js | 42 ++++++++++----------------------- runtime/js/90_deno_ns.js | 16 ------------- tests/unit/utime_test.ts | 45 ------------------------------------ 5 files changed, 12 insertions(+), 136 deletions(-) diff --git a/cli/tools/test/fmt.rs b/cli/tools/test/fmt.rs index 1741550727..e1e7e1fbac 100644 --- a/cli/tools/test/fmt.rs +++ b/cli/tools/test/fmt.rs @@ -326,7 +326,6 @@ pub const OP_DETAILS: phf::Map<&'static str, [&'static str; 2]> = phf_map! { "op_fs_ftruncate_async" => ["truncate a file", "awaiting the result of a `Deno.ftruncate` or `Deno.FsFile.truncate` call"], "op_fs_funlock_async_unstable" => ["unlock a file", "awaiting the result of a `Deno.funlock` call"], "op_fs_funlock_async" => ["unlock a file", "awaiting the result of a `Deno.FsFile.unlock` call"], - "op_fs_futime_async" => ["change file timestamps", "awaiting the result of a `Deno.futime` or `Deno.FsFile.utime` call"], "op_fs_link_async" => ["create a hard link", "awaiting the result of a `Deno.link` call"], "op_fs_lstat_async" => ["get file metadata", "awaiting the result of a `Deno.lstat` call"], "op_fs_make_temp_dir_async" => ["create a temporary directory", "awaiting the result of a `Deno.makeTempDir` call"], diff --git a/cli/tsc/dts/lib.deno.ns.d.ts b/cli/tsc/dts/lib.deno.ns.d.ts index 5567997624..7a0146bf02 100644 --- a/cli/tsc/dts/lib.deno.ns.d.ts +++ b/cli/tsc/dts/lib.deno.ns.d.ts @@ -5439,50 +5439,6 @@ declare namespace Deno { */ export function ftruncateSync(rid: number, len?: number): void; - /** - * Synchronously changes the access (`atime`) and modification (`mtime`) times - * of a file stream resource referenced by `rid`. Given times are either in - * seconds (UNIX epoch time) or as `Date` objects. - * - * ```ts - * const file = Deno.openSync("file.txt", { create: true, write: true }); - * Deno.futimeSync(file.rid, 1556495550, new Date()); - * ``` - * - * @deprecated This will be 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 File System - */ - export function futimeSync( - rid: number, - atime: number | Date, - mtime: number | Date, - ): void; - - /** - * Changes the access (`atime`) and modification (`mtime`) times of a file - * stream resource referenced by `rid`. Given times are either in seconds - * (UNIX epoch time) or as `Date` objects. - * - * ```ts - * const file = await Deno.open("file.txt", { create: true, write: true }); - * await Deno.futime(file.rid, 1556495550, new Date()); - * ``` - * - * @deprecated This will be 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 File System - */ - export function futime( - rid: number, - atime: number | Date, - mtime: number | Date, - ): Promise; - /** * Returns a `Deno.FileInfo` for the given file stream. * diff --git a/ext/fs/30_fs.js b/ext/fs/30_fs.js index 767ed11f4f..6c09ae97aa 100644 --- a/ext/fs/30_fs.js +++ b/ext/fs/30_fs.js @@ -482,32 +482,6 @@ function toUnixTimeFromEpoch(value) { ]; } -function futimeSync( - rid, - atime, - mtime, -) { - const { 0: atimeSec, 1: atimeNsec } = toUnixTimeFromEpoch(atime); - const { 0: mtimeSec, 1: mtimeNsec } = toUnixTimeFromEpoch(mtime); - op_fs_futime_sync(rid, atimeSec, atimeNsec, mtimeSec, mtimeNsec); -} - -async function futime( - rid, - atime, - mtime, -) { - const { 0: atimeSec, 1: atimeNsec } = toUnixTimeFromEpoch(atime); - const { 0: mtimeSec, 1: mtimeNsec } = toUnixTimeFromEpoch(mtime); - await op_fs_futime_async( - rid, - atimeSec, - atimeNsec, - mtimeSec, - mtimeNsec, - ); -} - function utimeSync( path, atime, @@ -766,11 +740,21 @@ class FsFile { } async utime(atime, mtime) { - await futime(this.#rid, atime, mtime); + const { 0: atimeSec, 1: atimeNsec } = toUnixTimeFromEpoch(atime); + const { 0: mtimeSec, 1: mtimeNsec } = toUnixTimeFromEpoch(mtime); + await op_fs_futime_async( + this.#rid, + atimeSec, + atimeNsec, + mtimeSec, + mtimeNsec, + ); } utimeSync(atime, mtime) { - futimeSync(this.#rid, atime, mtime); + const { 0: atimeSec, 1: atimeNsec } = toUnixTimeFromEpoch(atime); + const { 0: mtimeSec, 1: mtimeNsec } = toUnixTimeFromEpoch(mtime); + op_fs_futime_sync(this.#rid, atimeSec, atimeNsec, mtimeSec, mtimeNsec); } isTerminal() { @@ -1004,8 +988,6 @@ export { ftruncateSync, funlock, funlockSync, - futime, - futimeSync, link, linkSync, lstat, diff --git a/runtime/js/90_deno_ns.js b/runtime/js/90_deno_ns.js index 1d44f30016..a958108a96 100644 --- a/runtime/js/90_deno_ns.js +++ b/runtime/js/90_deno_ns.js @@ -93,22 +93,6 @@ const denoNs = { ); return fs.ftruncate(rid, len); }, - async futime(rid, atime, mtime) { - internals.warnOnDeprecatedApi( - "Deno.futime()", - new Error().stack, - "Use `Deno.FsFile.utime()` instead.", - ); - await fs.futime(rid, atime, mtime); - }, - futimeSync(rid, atime, mtime) { - internals.warnOnDeprecatedApi( - "Deno.futimeSync()", - new Error().stack, - "Use `Deno.FsFile.utimeSync()` instead.", - ); - fs.futimeSync(rid, atime, mtime); - }, errors: errors.errors, inspect: console.inspect, env: os.env, diff --git a/tests/unit/utime_test.ts b/tests/unit/utime_test.ts index d5b4b92699..5bbb378ccb 100644 --- a/tests/unit/utime_test.ts +++ b/tests/unit/utime_test.ts @@ -1,36 +1,12 @@ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// deno-lint-ignore-file no-deprecated-deno-api - import { assertEquals, assertRejects, assertThrows, - DENO_FUTURE, pathToAbsoluteFileUrl, } from "./test_util.ts"; -Deno.test( - { ignore: DENO_FUTURE, permissions: { read: true, write: true } }, - async function futimeSyncSuccess() { - const testDir = await Deno.makeTempDir(); - const filename = testDir + "/file.txt"; - using file = await Deno.open(filename, { - create: true, - write: true, - }); - - const atime = 1000; - const mtime = 50000; - await Deno.futime(file.rid, atime, mtime); - await file.syncData(); - - const fileInfo = Deno.statSync(filename); - assertEquals(fileInfo.atime, new Date(atime * 1000)); - assertEquals(fileInfo.mtime, new Date(mtime * 1000)); - }, -); - Deno.test( { permissions: { read: true, write: true } }, async function fsFileUtimeSyncSuccess() { @@ -52,27 +28,6 @@ Deno.test( }, ); -Deno.test( - { ignore: DENO_FUTURE, permissions: { read: true, write: true } }, - function futimeSyncSuccess() { - const testDir = Deno.makeTempDirSync(); - const filename = testDir + "/file.txt"; - using file = Deno.openSync(filename, { - create: true, - write: true, - }); - - const atime = 1000; - const mtime = 50000; - Deno.futimeSync(file.rid, atime, mtime); - file.syncDataSync(); - - const fileInfo = Deno.statSync(filename); - assertEquals(fileInfo.atime, new Date(atime * 1000)); - assertEquals(fileInfo.mtime, new Date(mtime * 1000)); - }, -); - Deno.test( { permissions: { read: true, write: true } }, function futimeSyncSuccess() {