UNPKG

eslint_d

Version:

Speed up eslint to accelerate your development workflow

56 lines (49 loc) 1.14 kB
import fs from 'node:fs/promises'; /** * @import { Resolver} from './resolver.js' */ /** * @typedef {Object} Config * @property {string} token * @property {number} port * @property {number} pid * @property {string} hash */ /** * @param {Resolver} resolver * @returns {Promise<Config | null>} */ export async function loadConfig(resolver) { try { const raw = await fs.readFile(configFile(resolver), 'utf8'); const [token, port, pid, hash] = raw.split(' '); return { token, port: Number(port), pid: Number(pid), hash }; } catch { return null; } } /** * @param {Resolver} resolver * @param {Config} config */ export async function writeConfig(resolver, config) { const { token, port, pid, hash } = config; await fs.writeFile(configFile(resolver), `${token} ${port} ${pid} ${hash}`); } /** * @param {Resolver} resolver */ export async function removeConfig(resolver) { try { await fs.unlink(configFile(resolver)); } catch { // ignore } } /** * @param {Resolver} resolver * @returns {string} */ export function configFile(resolver) { return `${resolver.base}/.eslint_d`; }