@paroicms/internal-server-lib
Version:
Common utilitaries for the paroicms server.
33 lines • 1.02 kB
JavaScript
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