import fs from "fs"; import path from "path"; import grabDefaultDistName from "./(utils)/grab-default-dist-name"; const production = process.env.NODE_ENV == "production"; const isBuilding = process.env.BUILDING_APP; type Param = { distDir?: string; }; /** * # Grab the current distribution directory * @description This returns the relative path from the CWD. Eg `./.dist/build-1` * @returns {string | undefined} */ export default function grabDist(params?: Param): string | undefined { const distDirName = params?.distDir || grabDefaultDistName(); const DIST_DIR = path.join(process.cwd(), distDirName); if (isBuilding) { const distDir = (() => { try { const buildNumber = fs.readFileSync( `${DIST_DIR}/BUILD`, "utf-8" ); return `${distDirName}/build-${buildNumber}`; } catch (error: any) { console.log("Build Number Generation Error =>", error.message); process.exit(); } })(); return distDir; } if (production) { const distDir = (() => { try { const buildNumber = fs.readFileSync( `${DIST_DIR}/BUILD`, "utf-8" ); return `${distDirName}/build-${buildNumber}`; } catch (error: any) { console.log("Build Number Parse Error =>", error.message); process.exit(); } })(); return distDir; } return undefined; }