"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = grabDist;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const grab_default_dist_name_1 = __importDefault(require("./(utils)/grab-default-dist-name"));
const production = process.env.NODE_ENV == "production";
const isBuilding = process.env.BUILDING_APP;
/**
 * # Grab the current distribution directory
 * @description This returns the relative path from the CWD. Eg `./.dist/build-1`
 * @returns {string | undefined}
 */
function grabDist(params) {
    const distDirName = (params === null || params === void 0 ? void 0 : params.distDir) || (0, grab_default_dist_name_1.default)();
    const DIST_DIR = path_1.default.join(process.cwd(), distDirName);
    if (isBuilding) {
        const distDir = (() => {
            try {
                const buildNumber = fs_1.default.readFileSync(`${DIST_DIR}/BUILD`, "utf-8");
                return `${distDirName}/build-${buildNumber}`;
            }
            catch (error) {
                console.log("Build Number Generation Error =>", error.message);
                process.exit();
            }
        })();
        return distDir;
    }
    if (production) {
        const distDir = (() => {
            try {
                const buildNumber = fs_1.default.readFileSync(`${DIST_DIR}/BUILD`, "utf-8");
                return `${distDirName}/build-${buildNumber}`;
            }
            catch (error) {
                console.log("Build Number Parse Error =>", error.message);
                process.exit();
            }
        })();
        return distDir;
    }
    return undefined;
}