From 4ac75fa2b637fa084986698bab01ae47571f0227 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 6 Dec 2022 16:02:23 -0800 Subject: [PATCH] Remove emitDeclarationOnly hack now that build mode supports it as a flag (#51795) --- Herebyfile.mjs | 35 ++--------------------------------- scripts/build/projects.mjs | 2 +- 2 files changed, 3 insertions(+), 34 deletions(-) diff --git a/Herebyfile.mjs b/Herebyfile.mjs index f4c8c8ac6ac..e40d0dd3c78 100644 --- a/Herebyfile.mjs +++ b/Herebyfile.mjs @@ -7,8 +7,8 @@ import _glob from "glob"; import util from "util"; import chalk from "chalk"; import { Debouncer, Deferred, exec, getDiffTool, getDirSize, memoize, needsUpdate, readJson } from "./scripts/build/utils.mjs"; -import { cleanTestDirs, localBaseline, localRwcBaseline, refBaseline, refRwcBaseline, runConsoleTests } from "./scripts/build/tests.mjs"; -import { cleanProject, buildProject as realBuildProject, watchProject } from "./scripts/build/projects.mjs"; +import { localBaseline, localRwcBaseline, refBaseline, refRwcBaseline, runConsoleTests } from "./scripts/build/tests.mjs"; +import { buildProject, cleanProject, watchProject } from "./scripts/build/projects.mjs"; import { localizationDirectories } from "./scripts/build/localization.mjs"; import cmdLineOptions from "./scripts/build/options.mjs"; import esbuild from "esbuild"; @@ -28,37 +28,6 @@ const copyright = memoize(async () => { }); -// TODO(jakebailey): This is really gross. If the build is cancelled (i.e. Ctrl+C), the modification will persist. -// Waiting on: https://github.com/microsoft/TypeScript/issues/51164 -let currentlyBuilding = 0; -let oldTsconfigBase; - -/** @type {typeof realBuildProject} */ -const buildProjectWithEmit = async (...args) => { - const tsconfigBasePath = "./src/tsconfig-base.json"; - - // Not using fs.promises here, to ensure we are synchronous until running the real build. - - if (currentlyBuilding === 0) { - oldTsconfigBase = fs.readFileSync(tsconfigBasePath, "utf-8"); - fs.writeFileSync(tsconfigBasePath, oldTsconfigBase.replace(`"emitDeclarationOnly": true,`, `"emitDeclarationOnly": false, // DO NOT COMMIT`)); - } - - currentlyBuilding++; - - await realBuildProject(...args); - - currentlyBuilding--; - - if (currentlyBuilding === 0) { - fs.writeFileSync(tsconfigBasePath, oldTsconfigBase); - } -}; - - -const buildProject = cmdLineOptions.bundle ? realBuildProject : buildProjectWithEmit; - - export const buildScripts = task({ name: "scripts", description: "Builds files in the 'scripts' folder.", diff --git a/scripts/build/projects.mjs b/scripts/build/projects.mjs index 6df499445c1..c40d583b313 100644 --- a/scripts/build/projects.mjs +++ b/scripts/build/projects.mjs @@ -35,7 +35,7 @@ const execTsc = (/** @type {string[]} */ ...args) => "-b", ...args], { hidePrompt: true }); -const projectBuilder = new ProjectQueue((projects) => execTsc(...projects)); +const projectBuilder = new ProjectQueue((projects) => execTsc(...(cmdLineOptions.bundle ? [] : ["--emitDeclarationOnly", "false"]), ...projects)); /** * @param {string} project