Updates
This commit is contained in:
parent
619afc8303
commit
1e57cdbc1d
@ -31,6 +31,7 @@ function run() {
|
||||
redeploy_path,
|
||||
first_run,
|
||||
port,
|
||||
debounce,
|
||||
} = config;
|
||||
|
||||
let redeployFile: string | undefined;
|
||||
@ -64,6 +65,7 @@ function run() {
|
||||
first_run,
|
||||
port,
|
||||
postflight,
|
||||
debounce,
|
||||
});
|
||||
} catch (error: any) {
|
||||
console.log(
|
||||
|
3
dist/buncid.js
vendored
3
dist/buncid.js
vendored
@ -14,7 +14,7 @@ function run() {
|
||||
try {
|
||||
const configText = fs_1.default.readFileSync(path_1.default.join(WORK_DIR, "buncid.config.json"), "utf-8");
|
||||
const config = JSON.parse(configText);
|
||||
const { start, preflight, postflight, build, redeploy_path, first_run, port, } = config;
|
||||
const { start, preflight, postflight, build, redeploy_path, first_run, port, debounce, } = config;
|
||||
let redeployFile;
|
||||
if (!redeploy_path) {
|
||||
const defaultRedeployPath = path_1.default.join(WORK_DIR, "REDEPLOY");
|
||||
@ -38,6 +38,7 @@ function run() {
|
||||
first_run,
|
||||
port,
|
||||
postflight,
|
||||
debounce,
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
|
2
dist/tsconfig.tsbuildinfo
vendored
2
dist/tsconfig.tsbuildinfo
vendored
File diff suppressed because one or more lines are too long
1
dist/types.d.ts
vendored
1
dist/types.d.ts
vendored
@ -6,6 +6,7 @@ export interface NodeCIConfig {
|
||||
first_run?: boolean;
|
||||
port?: string | number | (string | number)[];
|
||||
build?: NodeCIBuild;
|
||||
debounce?: number;
|
||||
}
|
||||
export interface NodeCIBuild {
|
||||
paradigm: "Next.JS" | "Remix";
|
||||
|
3
dist/utils/start.d.ts
vendored
3
dist/utils/start.d.ts
vendored
@ -8,11 +8,12 @@
|
||||
* @param {string | number | (string | number)[]} [param0.port] - The port to kill on rebuild
|
||||
* @param {boolean} [param0.first_run] - Whether to run the preflight on first run. Default `false`
|
||||
*/
|
||||
export default function startProcess({ command, preflight, postflight, redeploy_file, port, first_run, }: {
|
||||
export default function startProcess({ command, preflight, postflight, redeploy_file, port, first_run, debounce, }: {
|
||||
command: string;
|
||||
preflight?: string[] | string;
|
||||
postflight?: string[] | string;
|
||||
redeploy_file: string;
|
||||
port?: string | number | (string | number)[];
|
||||
first_run?: boolean;
|
||||
debounce?: number;
|
||||
}): void;
|
||||
|
71
dist/utils/start.js
vendored
71
dist/utils/start.js
vendored
@ -12,6 +12,7 @@ const kill_child_1 = __importDefault(require("./kill-child"));
|
||||
let childProcess = null;
|
||||
const pTitle = "buncid";
|
||||
process.title = pTitle;
|
||||
let timeout;
|
||||
/**
|
||||
* # Start the process
|
||||
* @param {object} param0
|
||||
@ -22,7 +23,8 @@ process.title = pTitle;
|
||||
* @param {string | number | (string | number)[]} [param0.port] - The port to kill on rebuild
|
||||
* @param {boolean} [param0.first_run] - Whether to run the preflight on first run. Default `false`
|
||||
*/
|
||||
function startProcess({ command, preflight, postflight, redeploy_file, port, first_run, }) {
|
||||
function startProcess({ command, preflight, postflight, redeploy_file, port, first_run, debounce, }) {
|
||||
const DEBOUNCE = debounce || 1000;
|
||||
try {
|
||||
if (first_run) {
|
||||
console.log("First Run ...");
|
||||
@ -35,42 +37,45 @@ function startProcess({ command, preflight, postflight, redeploy_file, port, fir
|
||||
}
|
||||
console.log("Watching", redeploy_file);
|
||||
fs_1.default.watchFile(redeploy_file, { interval: 100 }, (curr, prev) => {
|
||||
console.log(`${console_colors_1.default.BgBlue}File Changed${console_colors_1.default.Reset}`);
|
||||
if (global.REDEPLOYMENTS == 0) {
|
||||
return;
|
||||
}
|
||||
if (childProcess) {
|
||||
console.log("******************************");
|
||||
console.log(`******** ${console_colors_1.default.FgBlue}Rebuilding ${console_colors_1.default.FgMagenta}${global.REDEPLOYMENTS}${console_colors_1.default.Reset} ********`);
|
||||
console.log("******************************");
|
||||
try {
|
||||
const runPreflight = (0, preflight_1.default)(preflight);
|
||||
if (!runPreflight) {
|
||||
console.log(`${console_colors_1.default.FgRed}Error:${console_colors_1.default.Reset} Preflight Failed.`);
|
||||
}
|
||||
else {
|
||||
(0, kill_child_1.default)(childProcess, port).then((kill) => {
|
||||
if (kill) {
|
||||
childProcess = (0, run_1.default)(command);
|
||||
if (postflight) {
|
||||
const runPostflight = (0, preflight_1.default)(postflight, true);
|
||||
if (!runPostflight) {
|
||||
// TODO: Action to take if postflight fails
|
||||
console.log(`${console_colors_1.default.FgRed}Error:${console_colors_1.default.Reset} Postflight Failed.`);
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(() => {
|
||||
console.log(`${console_colors_1.default.BgBlue}File Changed${console_colors_1.default.Reset}`);
|
||||
if (global.REDEPLOYMENTS == 0) {
|
||||
return;
|
||||
}
|
||||
if (childProcess) {
|
||||
console.log("******************************");
|
||||
console.log(`******** ${console_colors_1.default.FgBlue}Rebuilding ${console_colors_1.default.FgMagenta}${global.REDEPLOYMENTS}${console_colors_1.default.Reset} ********`);
|
||||
console.log("******************************");
|
||||
try {
|
||||
const runPreflight = (0, preflight_1.default)(preflight);
|
||||
if (!runPreflight) {
|
||||
console.log(`${console_colors_1.default.FgRed}Error:${console_colors_1.default.Reset} Preflight Failed.`);
|
||||
}
|
||||
else {
|
||||
(0, kill_child_1.default)(childProcess, port).then((kill) => {
|
||||
if (kill) {
|
||||
childProcess = (0, run_1.default)(command);
|
||||
if (postflight) {
|
||||
const runPostflight = (0, preflight_1.default)(postflight, true);
|
||||
if (!runPostflight) {
|
||||
// TODO: Action to take if postflight fails
|
||||
console.log(`${console_colors_1.default.FgRed}Error:${console_colors_1.default.Reset} Postflight Failed.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
else {
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.log(`${console_colors_1.default.FgRed}Error:${console_colors_1.default.Reset} killing child processes => ${error.message}`);
|
||||
process.exit();
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.log(`${console_colors_1.default.FgRed}Error:${console_colors_1.default.Reset} killing child processes => ${error.message}`);
|
||||
process.exit();
|
||||
}
|
||||
}
|
||||
}, DEBOUNCE);
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@moduletrace/buncid",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.5",
|
||||
"description": "Simple CI/CD process For Bun runtime",
|
||||
"main": "dist/index.js",
|
||||
"bin": {
|
||||
|
1
types.ts
1
types.ts
@ -6,6 +6,7 @@ export interface NodeCIConfig {
|
||||
first_run?: boolean;
|
||||
port?: string | number | (string | number)[];
|
||||
build?: NodeCIBuild;
|
||||
debounce?: number;
|
||||
}
|
||||
|
||||
export interface NodeCIBuild {
|
||||
|
106
utils/start.ts
106
utils/start.ts
@ -10,6 +10,8 @@ let childProcess: ChildProcess | null = null;
|
||||
const pTitle = "buncid";
|
||||
process.title = pTitle;
|
||||
|
||||
let timeout: any;
|
||||
|
||||
/**
|
||||
* # Start the process
|
||||
* @param {object} param0
|
||||
@ -27,6 +29,7 @@ export default function startProcess({
|
||||
redeploy_file,
|
||||
port,
|
||||
first_run,
|
||||
debounce,
|
||||
}: {
|
||||
command: string;
|
||||
preflight?: string[] | string;
|
||||
@ -34,7 +37,10 @@ export default function startProcess({
|
||||
redeploy_file: string;
|
||||
port?: string | number | (string | number)[];
|
||||
first_run?: boolean;
|
||||
debounce?: number;
|
||||
}) {
|
||||
const DEBOUNCE = debounce || 1000;
|
||||
|
||||
try {
|
||||
if (first_run) {
|
||||
console.log("First Run ...");
|
||||
@ -53,57 +59,61 @@ export default function startProcess({
|
||||
console.log("Watching", redeploy_file);
|
||||
|
||||
fs.watchFile(redeploy_file, { interval: 100 }, (curr, prev) => {
|
||||
console.log(`${colors.BgBlue}File Changed${colors.Reset}`);
|
||||
clearTimeout(timeout);
|
||||
|
||||
if (global.REDEPLOYMENTS == 0) {
|
||||
return;
|
||||
}
|
||||
timeout = setTimeout(() => {
|
||||
console.log(`${colors.BgBlue}File Changed${colors.Reset}`);
|
||||
|
||||
if (childProcess) {
|
||||
console.log("******************************");
|
||||
console.log(
|
||||
`******** ${colors.FgBlue}Rebuilding ${colors.FgMagenta}${global.REDEPLOYMENTS}${colors.Reset} ********`
|
||||
);
|
||||
console.log("******************************");
|
||||
|
||||
try {
|
||||
const runPreflight = preflightFn(preflight);
|
||||
|
||||
if (!runPreflight) {
|
||||
console.log(
|
||||
`${colors.FgRed}Error:${colors.Reset} Preflight Failed.`
|
||||
);
|
||||
} else {
|
||||
killChild(childProcess, port).then((kill) => {
|
||||
if (kill) {
|
||||
childProcess = run(command);
|
||||
|
||||
if (postflight) {
|
||||
const runPostflight = preflightFn(
|
||||
postflight,
|
||||
true
|
||||
);
|
||||
|
||||
if (!runPostflight) {
|
||||
// TODO: Action to take if postflight fails
|
||||
|
||||
console.log(
|
||||
`${colors.FgRed}Error:${colors.Reset} Postflight Failed.`
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (error: any) {
|
||||
console.log(
|
||||
`${colors.FgRed}Error:${colors.Reset} killing child processes => ${error.message}`
|
||||
);
|
||||
process.exit();
|
||||
if (global.REDEPLOYMENTS == 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (childProcess) {
|
||||
console.log("******************************");
|
||||
console.log(
|
||||
`******** ${colors.FgBlue}Rebuilding ${colors.FgMagenta}${global.REDEPLOYMENTS}${colors.Reset} ********`
|
||||
);
|
||||
console.log("******************************");
|
||||
|
||||
try {
|
||||
const runPreflight = preflightFn(preflight);
|
||||
|
||||
if (!runPreflight) {
|
||||
console.log(
|
||||
`${colors.FgRed}Error:${colors.Reset} Preflight Failed.`
|
||||
);
|
||||
} else {
|
||||
killChild(childProcess, port).then((kill) => {
|
||||
if (kill) {
|
||||
childProcess = run(command);
|
||||
|
||||
if (postflight) {
|
||||
const runPostflight = preflightFn(
|
||||
postflight,
|
||||
true
|
||||
);
|
||||
|
||||
if (!runPostflight) {
|
||||
// TODO: Action to take if postflight fails
|
||||
|
||||
console.log(
|
||||
`${colors.FgRed}Error:${colors.Reset} Postflight Failed.`
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (error: any) {
|
||||
console.log(
|
||||
`${colors.FgRed}Error:${colors.Reset} killing child processes => ${error.message}`
|
||||
);
|
||||
process.exit();
|
||||
}
|
||||
}
|
||||
}, DEBOUNCE);
|
||||
});
|
||||
} catch (error: any) {
|
||||
console.log(
|
||||
|
Loading…
Reference in New Issue
Block a user