diff --git a/package.json b/package.json index 9b5f934..16c94bd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rolester", - "version": "0.5.1", + "version": "0.5.2", "private": false, "publishConfig": { "access": "public" diff --git a/scripts/backfill-interview-dossier.mjs b/scripts/backfill-interview-dossier.mjs index 9bcd3d8..3d047e9 100644 --- a/scripts/backfill-interview-dossier.mjs +++ b/scripts/backfill-interview-dossier.mjs @@ -28,7 +28,7 @@ const slugify = (value) => String(value == null ? "" : value) .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); const INTERVIEW_RE = /\b(interview|onsite|on-site|panel|loop|technical|hiring|hm|final|screen)\b/i; const isInterviewLike = (app) => { diff --git a/scripts/capture-search-sources.mjs b/scripts/capture-search-sources.mjs index b58d2ac..8e91749 100644 --- a/scripts/capture-search-sources.mjs +++ b/scripts/capture-search-sources.mjs @@ -631,7 +631,7 @@ function leverCompanySlug(source) { return String(source.company) .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); } if (source.url) { try { @@ -702,7 +702,7 @@ function slug(value) { String(value || "search-sources") .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, "") || "search-sources" + .replace(/^-|-$/g, "") || "search-sources" ); } diff --git a/src/core/comms/threads.mjs b/src/core/comms/threads.mjs index 345507d..c2d5471 100644 --- a/src/core/comms/threads.mjs +++ b/src/core/comms/threads.mjs @@ -25,7 +25,7 @@ export function slugifyThreadId({ company = "", role = "", channel = "" }) { String(s) .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, "") + .replace(/^-|-$/g, "") .replace(/-{2,}/g, "-"); const parts = [slugify(company), slugify(role), slugify(channel)].filter(Boolean); diff --git a/src/core/interview/story-bank.mjs b/src/core/interview/story-bank.mjs index df83b8b..9f57afe 100644 --- a/src/core/interview/story-bank.mjs +++ b/src/core/interview/story-bank.mjs @@ -77,7 +77,7 @@ export function slugifyStoryId(name) { .trim() .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); return s || "story"; } diff --git a/src/core/profile/evidence-writer.mjs b/src/core/profile/evidence-writer.mjs index 062d2ef..685a9d2 100644 --- a/src/core/profile/evidence-writer.mjs +++ b/src/core/profile/evidence-writer.mjs @@ -62,7 +62,7 @@ export function slugifyClaimId(name) { .trim() .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); return s || "claim"; } diff --git a/src/core/profile/learnings.mjs b/src/core/profile/learnings.mjs index 8176d90..7ffefa6 100644 --- a/src/core/profile/learnings.mjs +++ b/src/core/profile/learnings.mjs @@ -64,7 +64,7 @@ export function slugifyFamily(name) { .trim() .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); return s || "uncategorized"; } diff --git a/src/core/providers/lever.mjs b/src/core/providers/lever.mjs index 41fef86..b940574 100644 --- a/src/core/providers/lever.mjs +++ b/src/core/providers/lever.mjs @@ -15,7 +15,7 @@ function slug(s) { return String(s) .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); } /** diff --git a/src/core/providers/rss.mjs b/src/core/providers/rss.mjs index 2d42e80..74b2a9a 100644 --- a/src/core/providers/rss.mjs +++ b/src/core/providers/rss.mjs @@ -327,7 +327,7 @@ function slug(value) { .toLowerCase() .replace(/https?:\/\//g, "") .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, "") + .replace(/^-|-$/g, "") .slice(0, 64); } diff --git a/src/core/providers/search-sources.mjs b/src/core/providers/search-sources.mjs index fe590ac..54e0182 100644 --- a/src/core/providers/search-sources.mjs +++ b/src/core/providers/search-sources.mjs @@ -10,7 +10,7 @@ function slug(s) { return String(s) .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); } // Map a hostname to the automation platform an authenticated search source binds diff --git a/src/core/providers/wellfound.mjs b/src/core/providers/wellfound.mjs index e4045e5..53a49a3 100644 --- a/src/core/providers/wellfound.mjs +++ b/src/core/providers/wellfound.mjs @@ -19,7 +19,7 @@ function slug(s) { return String(s) .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); } /** diff --git a/src/core/research/research-store.mjs b/src/core/research/research-store.mjs index aac32df..30664a8 100644 --- a/src/core/research/research-store.mjs +++ b/src/core/research/research-store.mjs @@ -65,7 +65,7 @@ export function slugifyCompany(name) { .trim() .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); return s || "unknown"; } diff --git a/src/core/tracker/dashboard-data.js b/src/core/tracker/dashboard-data.js index 07558ed..250da8c 100644 --- a/src/core/tracker/dashboard-data.js +++ b/src/core/tracker/dashboard-data.js @@ -1652,7 +1652,7 @@ function calendarSlug(value) { const slug = String(value || "") .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); return slug || "calendar"; } @@ -2914,7 +2914,7 @@ function classifyRoleFamilyLocal(role, targeting) { return trimmed .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); } // The tracker.json#strategyReview stamp the reevaluate-strategy skill writes on diff --git a/src/core/tracker/outcome-analysis.mjs b/src/core/tracker/outcome-analysis.mjs index 14cf180..abe8d14 100644 --- a/src/core/tracker/outcome-analysis.mjs +++ b/src/core/tracker/outcome-analysis.mjs @@ -55,7 +55,7 @@ export function classifyRoleFamily(role = "", targeting) { return trimmed .toLowerCase() .replace(/[^a-z0-9]+/g, "-") - .replace(/^-+|-+$/g, ""); + .replace(/^-|-$/g, ""); } export function buildOutcomeSummary({ apps = [], sourced = [], prospects, targeting } = {}) {