createWebApp.js 940 B

12345678910111213141516171819202122232425262728293031
  1. const fs = require('fs-extra');
  2. const webApp = require('../dist/public.json');
  3. const ZipReader = require('./core/Zip/ZipReader');
  4. module.exports = async(config) => {
  5. const verFile = `${config.publicDir}/version.txt`;
  6. const zipFile = `${config.tempDir}/public.zip`;
  7. if (await fs.pathExists(verFile)) {
  8. const curPublicVersion = await fs.readFile(verFile, 'utf8');
  9. if (curPublicVersion == config.version + config.rootPathStatic)
  10. return;
  11. }
  12. await fs.remove(config.publicDir);
  13. //извлекаем новый webApp
  14. await fs.writeFile(zipFile, webApp.data, {encoding: 'base64'});
  15. const zipReader = new ZipReader();
  16. await zipReader.open(zipFile);
  17. try {
  18. await zipReader.extractAllToDir(config.publicDir);
  19. } finally {
  20. await zipReader.close();
  21. }
  22. await fs.writeFile(verFile, config.version + config.rootPathStatic);
  23. await fs.remove(zipFile);
  24. };