* feat: adds dev-cli * feat: adds dev-cli * fix: works with org package names * fix: medusa cli bin * hotfix(brightpearl): rounding errors + failing customer test (#199) * fix: verdacio publish * fix: update yarn lock * fix(CI): update node * fix: update yarn lock
20 lines
432 B
JavaScript
20 lines
432 B
JavaScript
const signalExit = require(`signal-exit`);
|
|
|
|
const cleanupTasks = new Set();
|
|
|
|
exports.registerCleanupTask = (taskFn) => {
|
|
cleanupTasks.add(taskFn);
|
|
return () => {
|
|
const result = taskFn();
|
|
cleanupTasks.delete(taskFn);
|
|
return result;
|
|
};
|
|
};
|
|
|
|
signalExit(() => {
|
|
if (cleanupTasks.size) {
|
|
console.log(`Process exitted in middle of publishing - cleaning up`);
|
|
cleanupTasks.forEach((taskFn) => taskFn());
|
|
}
|
|
});
|