UNPKG

@rocksky/cli

Version:

Command-line interface for Rocksky – scrobble tracks, view stats, and manage your listening history

57 lines (51 loc) 1.51 kB
import fs from "fs"; import path from "path"; import os from "os"; import { logger } from "logger"; export function cleanUpSyncLockOnExit(did: string) { process.on("exit", async () => { try { await fs.promises.unlink(path.join(os.tmpdir(), `rocksky-${did}.lock`)); process.exit(0); } catch (error) { logger.error`Error cleaning up Sync lock: ${error}`; process.exit(1); } }); process.on("SIGINT", async () => { try { await fs.promises.unlink(path.join(os.tmpdir(), `rocksky-${did}.lock`)); process.exit(0); } catch (error) { logger.error`Error cleaning up Sync lock: ${error}`; process.exit(1); } }); process.on("SIGTERM", async () => { try { await fs.promises.unlink(path.join(os.tmpdir(), `rocksky-${did}.lock`)); process.exit(0); } catch (error) { logger.error`Error cleaning up Sync lock: ${error}`; process.exit(1); } }); process.on("uncaughtException", async () => { try { await fs.promises.unlink(path.join(os.tmpdir(), `rocksky-${did}.lock`)); process.exit(1); } catch (error) { logger.error`Error cleaning up Sync lock: ${error}`; process.exit(1); } }); process.on("unhandledRejection", async () => { try { await fs.promises.unlink(path.join(os.tmpdir(), `rocksky-${did}.lock`)); process.exit(1); } catch (error) { logger.error`Error cleaning up Sync lock: ${error}`; process.exit(1); } }); }