Skip to content

Commit ce6e467

Browse files
committed
Simplify fs utils, and move terminal to improved moveFile method
1 parent 38660da commit ce6e467

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

src/interceptors/terminal/terminal-scripts.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as util from 'util';
44
import * as os from 'os';
55
import * as path from 'path';
66

7-
import { canAccess, writeFile, renameFile, readFile, getRealPath } from '../../util/fs';
7+
import { canAccess, writeFile, moveFile, readFile, getRealPath } from '../../util/fs';
88
import { logError } from '../../error-tracking';
99
import { OVERRIDE_BIN_PATH } from './terminal-env-overrides';
1010

@@ -228,7 +228,7 @@ const removeConfigSectionsFromFile = async (path: string) => {
228228
// as much as we reasonably can.
229229
const tempFile = targetPath + Date.now() + '.temp';
230230
await writeFile(tempFile, fileLines.join('\n'));
231-
return renameFile(tempFile, targetPath);
231+
return moveFile(tempFile, targetPath);
232232
};
233233

234234
// Cleanup: strip our extra config line from all config files

src/util/fs.ts

+12-14
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ import { lookpath } from 'lookpath';
77

88
import { isErrorLike } from './error';
99

10-
export const statFile = promisify(fs.stat);
11-
export const readFile = promisify(fs.readFile);
12-
export const readDir = promisify(fs.readdir);
13-
export const readLink = promisify(fs.readlink);
14-
export const deleteFile = promisify(fs.unlink);
15-
export const checkAccess = promisify(fs.access);
16-
export const chmod = promisify(fs.chmod);
17-
export const mkDir = promisify(fs.mkdir);
18-
export const writeFile = promisify(fs.writeFile);
19-
export const renameFile = promisify(fs.rename);
20-
export const copyFile = promisify(fs.copyFile);
10+
export const statFile = fs.promises.stat;
11+
export const readFile = fs.promises.readFile;
12+
export const readDir = fs.promises.readdir;
13+
export const readLink = fs.promises.readlink;
14+
export const deleteFile = fs.promises.unlink;
15+
export const deleteFolder = promisify(rimraf);
16+
export const checkAccess = fs.promises.access;
17+
export const chmod = fs.promises.chmod;
18+
export const mkDir = fs.promises.mkdir;
19+
export const writeFile = fs.promises.writeFile;
20+
export const copyFile = fs.promises.copyFile;
2121

2222
export const copyRecursive = async (from: string, to: string) => {
2323
// fs.cp is only available in Node 16.7.0+
@@ -51,8 +51,6 @@ export const getRealPath = async (targetPath: string): Promise<string | undefine
5151
}
5252
};
5353

54-
export const deleteFolder = promisify(rimraf);
55-
5654
export const ensureDirectoryExists = (path: string) =>
5755
checkAccess(path).catch(() => mkDir(path, { recursive: true }));
5856

@@ -75,7 +73,7 @@ export const createTmp = (options: tmp.Options = {}) => new Promise<{
7573

7674
export const moveFile = async (oldPath: string, newPath: string) => {
7775
try {
78-
await renameFile(oldPath, newPath);
76+
await fs.promises.rename(oldPath, newPath);
7977
} catch (e) {
8078
if (isErrorLike(e) && e.code === 'EXDEV') {
8179
// Cross-device - can't rename files across partions etc.

0 commit comments

Comments
 (0)