feat(FN-3921): align dashboard githubTracking with core REPO_OVERRIDE_RE ex

Restored the `REPO_OVERRIDE_RE` regex export from core and aligned the dashboard's `githubTracking` component to consume it, fixing the export contract that was broken in FN-3921. Added tests in both core and dashboard packages to cover the regex behavior.

Fusion-Task-Id: FN-3921
This commit is contained in:
Fusion
2026-05-10 05:25:26 -07:00
committed by gsxdsm
parent 860d18382d
commit 0fa5af3cfe
6 changed files with 21 additions and 22 deletions

View File

@@ -1,13 +1,12 @@
import { describe, expect, it, vi } from "vitest";
vi.mock("@fusion/core", () => ({
REPO_OVERRIDE_RE: /^[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+$/,
}));
import { REPO_OVERRIDE_RE } from "@fusion/core";
import { resolveEffectiveGithubRepoDefault } from "../githubTracking";
import { REPO_OVERRIDE_RE as CORE_REPO_OVERRIDE_RE } from "@fusion/core";
import { describe, expect, it } from "vitest";
import { REPO_OVERRIDE_RE, resolveEffectiveGithubRepoDefault } from "../githubTracking";
describe("githubTracking helper", () => {
it("reuses the shared core regex export", () => {
expect(REPO_OVERRIDE_RE).toBe(CORE_REPO_OVERRIDE_RE);
});
it("accepts valid owner/repo values and rejects malformed values", () => {
expect(REPO_OVERRIDE_RE.test("owner/repo")).toBe(true);
expect(REPO_OVERRIDE_RE.test("org.name/repo_name-1")).toBe(true);

View File

@@ -1,6 +1,6 @@
import type { GlobalSettings, ProjectSettings } from "@fusion/core";
import { REPO_OVERRIDE_RE, type GlobalSettings, type ProjectSettings } from "@fusion/core";
export const REPO_OVERRIDE_RE = /^[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+$/;
export { REPO_OVERRIDE_RE };
function normalizeRepoValue(value: string | null | undefined): string {
const trimmed = value?.trim() ?? "";