Улучшение createWebApp

This commit is contained in:
Book Pauk
2022-10-07 15:05:37 +07:00
parent 9c72651804
commit e14c8823d2

View File

@@ -4,20 +4,41 @@ const webApp = require('../dist/public.json');
const ZipReader = require('./core/ZipReader');
module.exports = async(config) => {
const verFile = `${config.publicDir}/version.txt`;
const zipFile = `${config.tempDir}/public.zip`;
await fs.writeFile(zipFile, webApp.data, {encoding: 'base64'});
if (await fs.pathExists(verFile)) {
const curPublicVersion = await fs.readFile(verFile, 'utf8');
if (curPublicVersion == config.version)
return;
}
const zipReader = new ZipReader();
await zipReader.open(zipFile);
//сохраним files
const filesDir = `${config.publicDir}/files`;
let tmpFilesDir = '';
if (await fs.pathExists(filesDir)) {
tmpFilesDir = `${config.dataDir}/files`;
if (!await fs.pathExists(tmpFilesDir))
await fs.move(filesDir, tmpFilesDir);
}
await fs.remove(config.publicDir);
//извлекаем новый webApp
await fs.writeFile(zipFile, webApp.data, {encoding: 'base64'});
const zipReader = new ZipReader();
await zipReader.open(zipFile);
try {
await zipReader.extractAllToDir(config.publicDir);
} finally {
await zipReader.close();
}
//восстановим files
if (tmpFilesDir)
await fs.move(tmpFilesDir, filesDir);
await fs.writeFile(verFile, config.version);
await fs.remove(zipFile);
};