UNPKG

@paroicms/internal-server-lib

Version:

Common utilitaries for the paroicms server.

33 lines 1.02 kB
import { accessSync, readFileSync, writeFileSync } from "node:fs"; import { readFile, writeFile } from "node:fs/promises"; import { pathExists } from "./fs-utils.js"; export function readOrCreateJwtSecretSync(file) { if (!pathExistsSync(file)) { writeFileSync(file, makeSecret(50), "utf8"); } return readFileSync(file, "utf8"); } export async function readOrCreateJwtSecret(file) { if (!(await pathExists(file))) { await writeFile(file, makeSecret(50), "utf8"); } return await readFile(file, "utf8"); } export function makeSecret(length) { const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; let result = ""; for (let i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } return result; } function pathExistsSync(path) { try { accessSync(path); return true; } catch { return false; } } //# sourceMappingURL=jwt-secret.helpers.js.map