Recently we upgraded to Gulp 4. However, the following things still need to be addressed in some way:

- If a task series is executed with an anonymous function inside it, we'll see `Starting '<anonymous>'` in the output, which isn't that great. We need to either suppress it or use named functions.
- If a task is private, it should be hidden in some way. For example, `gh-pages-prepare` is only used in the public `web` target and should not be used on its own, however currently it shows in the default `gulp` output since it's a regular task. Perhaps we should mark them with an underscore?
replaceInFile(
      GH_PAGES_DIR + "/getting_started/index.html",
      /HIDDEN_CLASS/g,
      hiddenClass
    );
    console.log("Done building with wintersmith.");
    done();
  });
});
gulp.task("gh-pages-git", function (done) {
  const VERSION = getVersionJSON().version;
  const reason = process.env.PDFJS_UPDATE_REASON;
  safeSpawnSync("git", ["init"], { cwd: GH_PAGES_DIR });
  safeSpawnSync("git", ["remote", "add", "origin", REPO], {
    cwd: GH_PAGES_DIR,
  });
  safeSpawnSync("git", ["add", "-A"], { cwd: GH_PAGES_DIR });
  safeSpawnSync(
    "git",
    [
      "commit",
      "-am",
      "gh-pages site created via gulpfile.js script",
      "-m",
      "PDF.js version " + VERSION + (reason ? " - " + reason : ""),
    ],
    { cwd: GH_PAGES_DIR }
  );
  safeSpawnSync("git", ["branch", "-m", "gh-pages"], { cwd: GH_PAGES_DIR });
  console.log();