buncid/rebuilds/next-js/grabDist.ts

57 lines
1.6 KiB
TypeScript
Raw Normal View History

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;
}