directory cleanup on startup

This commit is contained in:
Jan Prochazka
2020-11-07 17:54:43 +01:00
parent 307aaa2801
commit c65806fd89
4 changed files with 37 additions and 8 deletions

View File

@@ -0,0 +1,11 @@
const findRemoveSync = require('find-remove');
function cleanDirectory(directory) {
findRemoveSync(directory, {
age: { seconds: 3600 },
files: '*.*',
dir: '*',
});
}
module.exports = cleanDirectory;

View File

@@ -1,11 +1,15 @@
const os = require('os');
const path = require('path');
const fs = require('fs');
const cleanDirectory = require('./cleanDirectory');
const createDirectories = {};
const ensureDirectory = (dir) => {
const ensureDirectory = (dir, clean) => {
if (!createDirectories[dir]) {
if (clean && fs.existsSync(dir)) {
console.log(`Cleaning directory ${dir}`);
cleanDirectory(dir);
}
if (!fs.existsSync(dir)) {
console.log(`Creating directory ${dir}`);
fs.mkdirSync(dir);
@@ -21,16 +25,16 @@ function datadir() {
return dir;
}
const dirFunc = (dirname) => () => {
const dirFunc = (dirname, clean = false) => () => {
const dir = path.join(datadir(), dirname);
ensureDirectory(dir);
ensureDirectory(dir, clean);
return dir;
};
const jsldir = dirFunc('jsl');
const rundir = dirFunc('run');
const uploadsdir = dirFunc('uploads');
const jsldir = dirFunc('jsl', true);
const rundir = dirFunc('run', true);
const uploadsdir = dirFunc('uploads', true);
const archivedir = dirFunc('archive');
module.exports = {