Skip to content

上传未打包的文件

js
const { join } = require("path");
const { readdir, stat, readJSON, writeJSON, readFile } = require("fs-extra");

const putObject = require("./put-object");

let a = 0;

// unpacked 首次提交使用这个方法
const putUnpacked = async (dir) => {
  const dirs = await readdir(dir);

  for (let i = 0, l = dirs.length; i < l; i++) {
    const _dir = join(dir, dirs[i]);

    if ((await stat(_dir)).isFile()) {
      try {
        const stream = await readFile(_dir);
        const key = _dir.slice(unpackedBase.length + 1).replace(/\\/g, "/");
        putObject(_dir, "sharp-unpacked", stream, key).then(() => {
          console.log(a++);
        });
      } catch (error) {
        console.log(error);
        const unuploadFiles = await readJSON(
          join(__dirname, "./unupload-files.json")
        );
        unuploadFiles.push(_dir);
        writeJSON(unuploadFiles);
      }
    } else {
      putUnpacked(_dir);
    }
  }
};

const unpackedBase = join(__dirname, "../../dist-electron/win-unpacked");
putUnpacked(unpackedBase);