From 1832a681026ac3db6e62aa90cb5ed75886ea69ac Mon Sep 17 00:00:00 2001
From: Patrick Kollitsch <davidsneighbourdev+gh@gmail.com>
Date: Sun, 27 Sep 2026 00:00:49 +0000
Subject: [PATCH] build(deps): onboard dnbhq configurations and linting fixes
---
.github/scripts/posterboy.mjs | 63 +++++++++++++++++--------------
1 files changed, 35 insertions(+), 28 deletions(-)
diff --git a/.github/scripts/posterboy.mjs b/.github/scripts/posterboy.mjs
index b55febd..a5f5808 100644
--- a/.github/scripts/posterboy.mjs
+++ b/.github/scripts/posterboy.mjs
@@ -1,14 +1,14 @@
-import { readFile, writeFile, access, mkdir } from 'node:fs/promises';
-import path from 'node:path';
-import fs from 'node:fs';
-import dotenv from 'dotenv';
-import { homedir } from 'node:os';
+import fs from "node:fs";
+import { access, mkdir, readFile, writeFile } from "node:fs/promises";
+import { homedir } from "node:os";
+import path from "node:path";
+import dotenv from "dotenv";
const userHomeDir = homedir();
// Load .env files
-const GLOBAL_ENV_PATH = path.join(userHomeDir, '.env');
-const LOCAL_ENV_PATH = path.resolve('.env');
+const GLOBAL_ENV_PATH = path.join(userHomeDir, ".env");
+const LOCAL_ENV_PATH = path.resolve(".env");
/**
* Load environment variables from a file if it exists.
@@ -28,13 +28,14 @@
process.env = { ...globalEnv, ...process.env, ...localEnv };
// Configurable values
-const DISCORD_WEBHOOK = process.env.DISCORD_WEBHOOK || '';
-const GITHUB_DEV_TOKEN = process.env.GITHUB_DEV_TOKEN || '';
-const GITHUB_REPO = process.env.GITHUB_REPO || 'gohugo-ananke/ananke';
-const DEFAULT_MESSAGE_TEMPLATE = 'New release: {{tag_name}} - {{html_url}}';
-const MESSAGE_TEMPLATE = process.env.MESSAGE_TEMPLATE || DEFAULT_MESSAGE_TEMPLATE;
-const CACHE_DIR = './cache';
-const CACHE_FILE = 'github-releases.json';
+const DISCORD_WEBHOOK = process.env.DISCORD_WEBHOOK || "";
+const GITHUB_DEV_TOKEN = process.env.GITHUB_DEV_TOKEN || "";
+const GITHUB_REPO = process.env.GITHUB_REPO || "gohugo-ananke/ananke";
+const DEFAULT_MESSAGE_TEMPLATE = "New release: {{tag_name}} - {{html_url}}";
+const MESSAGE_TEMPLATE =
+ process.env.MESSAGE_TEMPLATE || DEFAULT_MESSAGE_TEMPLATE;
+const CACHE_DIR = "./cache";
+const CACHE_FILE = "github-releases.json";
const CACHE_FILE_PATH = path.join(CACHE_DIR, CACHE_FILE);
/**
@@ -60,7 +61,7 @@
*/
async function readCache() {
try {
- const data = await readFile(CACHE_FILE_PATH, 'utf8');
+ const data = await readFile(CACHE_FILE_PATH, "utf8");
return JSON.parse(data) || [];
} catch {
return [];
@@ -81,11 +82,14 @@
*/
async function fetchLatestRelease() {
try {
- const response = await fetch('https://api.github.com/repos/' + GITHUB_REPO + '/releases', {
- headers: {
- Authorization: `token ${GITHUB_DEV_TOKEN}`,
+ const response = await fetch(
+ "https://api.github.com/repos/" + GITHUB_REPO + "/releases",
+ {
+ headers: {
+ Authorization: `token ${GITHUB_DEV_TOKEN}`,
+ },
},
- });
+ );
if (!response.ok) {
throw new Error(`GitHub API request failed: ${response.statusText}`);
@@ -93,13 +97,13 @@
const releases = await response.json();
if (!Array.isArray(releases) || releases.length === 0) {
- console.log('No releases found.');
+ console.log("No releases found.");
return null;
}
return releases[0];
} catch (err) {
- console.error('Failed to fetch releases:', err.message);
+ console.error("Failed to fetch releases:", err.message);
return null;
}
}
@@ -111,8 +115,8 @@
async function postToDiscord(message) {
try {
const response = await fetch(DISCORD_WEBHOOK, {
- method: 'POST',
- headers: { 'Content-Type': 'application/json' },
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
body: JSON.stringify({ content: message }),
});
@@ -120,9 +124,9 @@
throw new Error(`Failed to post to Discord: ${response.statusText}`);
}
- console.log('Posted to Discord successfully.');
+ console.log("Posted to Discord successfully.");
} catch (err) {
- console.error('Failed to post to Discord:', err.message);
+ console.error("Failed to post to Discord:", err.message);
}
}
@@ -132,7 +136,10 @@
* @returns {string}
*/
function formatMessage(releaseData) {
- return MESSAGE_TEMPLATE.replace(/{{\s*(\w+)\s*}}/g, (_, key) => releaseData[key] || '');
+ return MESSAGE_TEMPLATE.replace(
+ /{{\s*(\w+)\s*}}/g,
+ (_, key) => releaseData[key] || "",
+ );
}
/**
@@ -152,10 +159,10 @@
cachedIds.push(latestRelease.tag_name);
await writeCache(cachedIds);
} else {
- console.log('No new releases to post.');
+ console.log("No new releases to post.");
}
} catch (err) {
- console.error('Error:', err.message);
+ console.error("Error:", err.message);
}
}
--
Gitblit v1.10.0