mackenzii/projects/manager/src/set-current.js

24 lines
880 B
JavaScript

import symlinkDir from 'symlink-dir';
import { existsSync } from 'fs';
import { mkdir, unlink, writeFile } from 'fs/promises';
export const setCurrent = async (site, ctx) => {
const managerPath = ctx?.managerPath || '../manager';
const frontendPath = ctx?.frontendPath || '../frontend';
if (!!site) {
await symlinkDir(`${managerPath}/sites/${site}`, `${frontendPath}/content`);
if (!existsSync(`${frontendPath}/dist`)) {
await mkdir(`${frontendPath}/dist`);
}
await symlinkDir(`${managerPath}/sites/${site}`, `${frontendPath}/dist/content`);
if (existsSync(`${managerPath}/sites/current.txt`)) {
await unlink(`${managerPath}/sites/current.txt`);
}
await writeFile(`${managerPath}/sites/current.txt`, site, { encoding: 'utf-8' });
console.log('done');
} else {
console.error('Parameter "site" was not provided!');
}
};