This is very confusing as seen in #12974 or #12906. My suggestion would be "legacy."
"botmakeref",
  gulp.series("testing-pre", "generic", "components", function (done) {
    makeRef(done, true);
  })
);
gulp.task(
  "typestest-pre",
  gulp.series("testing-pre", "generic", "types", function () {
    const [packageJsonSrc] = packageBowerJson();
    return merge([
      packageJsonSrc.pipe(gulp.dest(TYPESTEST_DIR)),
      gulp
        .src([
          GENERIC_DIR + "build/pdf.js",
          GENERIC_DIR + "build/pdf.worker.js",
          SRC_DIR + "pdf.worker.entry.js",
        ])
        .pipe(gulp.dest(TYPESTEST_DIR + "build/")),
      gulp
        .src(TYPES_DIR + "**/*", { base: TYPES_DIR })
        .pipe(gulp.dest(TYPESTEST_DIR + "types/")),
    ]);
  })
);
gulp.task(
  "typestest",
  gulp.series("typestest-pre", function (done) {
    exec('"node_modules/.bin/tsc" -p test/types', function (err, stdout) {
      if (err) {
        console.log(`Couldn't compile TypeScript test: ${stdout}`);