"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 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() {
    const DIST_DIR = path_1.default.resolve(process.cwd(), "./.dist");
    if (isBuilding) {
        const distDir = (() => {
            try {
                const buildNumber = fs_1.default.readFileSync(`${DIST_DIR}/BUILD`, "utf-8");
                return `.dist/build-${buildNumber}`;
            }
            catch ( /** @type {*} */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 `.dist/build-${buildNumber}`;
            }
            catch ( /** @type {*} */error) {
                console.log("Build Number Parse Error =>", error.message);
                process.exit();
            }
        })();
        return distDir;
    }
    return undefined;
}