17 lines · 566 B · TypeScript
RawDownload
import { promises as fs } from "node:fs";import path from "node:path"; export function serializeWrites(): (task: () => Promise<void>) => Promise<void> {  let chain: Promise<void> = Promise.resolve();  return (task) => {    chain = chain.then(task).catch(() => {});    return chain;  };} export async function writeJsonAtomic(file: string, data: unknown): Promise<void> {  await fs.mkdir(path.dirname(file), { recursive: true });  const tmp = `${file}.tmp`;  await fs.writeFile(tmp, JSON.stringify(data, null, 2), "utf8");  await fs.rename(tmp, file);}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t