refactor: js output

This commit is contained in:
Tiara Rodney 2026-03-15 05:11:59 +01:00
parent 1aa28c2a34
commit c6704c3a04
No known key found for this signature in database
GPG key ID: 5CD8EC1D46106723
96 changed files with 3816 additions and 147 deletions

43
src/bugzilla/config.ts Normal file
View file

@ -0,0 +1,43 @@
// Bugzilla configuration — loads from .bugzilla.json or environment variables
import * as fs from "fs"
import * as path from "path"
export interface BugzillaConfig {
baseUrl: string
apiKey: string
product: string
component: string
}
const CONFIG_FILE = ".bugzilla.json"
export function loadConfig(cwd = process.cwd()): BugzillaConfig {
const filePath = path.join(cwd, CONFIG_FILE)
if (fs.existsSync(filePath)) {
const raw = fs.readFileSync(filePath, "utf-8")
const json = JSON.parse(raw)
return {
baseUrl: json.baseUrl ?? json.base_url ?? "",
apiKey: json.apiKey ?? json.api_key,
product: json.product ?? "",
component: json.component ?? "",
}
}
const baseUrl = process.env.BUGZILLA_URL
const apiKey = process.env.BUGZILLA_API_KEY
if (!baseUrl || !apiKey) {
throw new Error(
`Bugzilla config not found. Create ${CONFIG_FILE} or set BUGZILLA_URL and BUGZILLA_API_KEY`
)
}
return {
baseUrl: baseUrl.replace(/\/+$/, ""),
apiKey,
product: process.env.BUGZILLA_PRODUCT ?? "",
component: process.env.BUGZILLA_COMPONENT ?? "",
}
}