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