Rocky_Mountain_Vending/lib/manuals-paths.ts

41 lines
1 KiB
TypeScript

import { existsSync } from "node:fs"
import { join } from "node:path"
const KNOWN_WORKSPACE_MANUALS_ROOT =
"/Users/matthewcall/Documents/VS Code Projects/Rocky Mountain Vending/manuals-data"
function resolveManualsDataRoot() {
const candidates = [
process.env.MANUALS_DATA_ROOT,
join(process.cwd(), "..", "manuals-data"),
KNOWN_WORKSPACE_MANUALS_ROOT,
].filter(Boolean) as string[]
for (const candidate of candidates) {
if (existsSync(candidate)) {
return candidate
}
}
return join(process.cwd(), "..", "manuals-data")
}
export function getManualsDataRoot() {
return resolveManualsDataRoot()
}
export function getManualsFilesRoot() {
return join(resolveManualsDataRoot(), "manuals")
}
export function getManualsThumbnailsRoot() {
return join(resolveManualsDataRoot(), "thumbnails")
}
export function getManualsMetadataRoot() {
return join(resolveManualsDataRoot(), "data")
}
export function getManualsManufacturerInfoRoot() {
return join(resolveManualsDataRoot(), "manufacturer-info")
}