All files / src/lib/forge/hooks after-copy.js

0% Statements 0/16
100% Branches 0/0
0% Functions 0/7
0% Lines 0/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47                                                                                             
const fs = require("fs-extra");
const Path = require("path");
const glob = require("glob").sync;
 
const disallowedFiles = [".DS_Store"];
 
function fileFilter(src, dest) {
  const filename = Path.basename(src);
  return disallowedFiles.indexOf(filename) === -1;
}
 
function afterCopy(buildPath, electronVersion, platform, arch, callback) {
  // Called from packagerConfig in forge.config.js
  // Copies correct build Tools for architecture + dynamically loaded js/json files
  const copyPaths = [
    "/buildTools/" + platform + "-" + arch,
    "/appData/",
    "/src/lang",
    "/src/lib/events",
    "/src/assets",
  ];
 
  Promise.all(
    copyPaths.map((dir) => {
      return fs.copy(__dirname + "/../../../.." + dir, buildPath + dir, {
        filter: fileFilter,
      });
    })
  )
    .then(() => {
      const dynamicChunks = glob(__dirname + "/.webpack/renderer/[0-9]");
      return Promise.all(
        dynamicChunks.map((dynamicChunk) => {
          const outputPath =
            buildPath +
            "/.webpack/renderer/main_window/" +
            Path.basename(dynamicChunk);
          return fs.copy(dynamicChunk, outputPath, { filter: fileFilter });
        })
      );
    })
    .then(() => callback())
    .catch((err) => callback(err));
}
 
module.exports = afterCopy;