diff --git a/Makefile b/Makefile index 530398a9365a..114387c86255 100644 --- a/Makefile +++ b/Makefile @@ -146,9 +146,10 @@ clean: test-clean clean-tsconfig: rm -f tsconfig.json - rm -f packages/*/tsconfig.{tsbuildinfo,json} - rm -f codemods/*/tsconfig.{tsbuildinfo,json} - rm -f eslint/*/tsconfig.{tsbuildinfo,json} + git clean packages/*/tsconfig.json -xfq + git clean codemods/*/tsconfig.json -xfq + git clean eslint/*/tsconfig.json -xfq + rm -f */*/tsconfig.tsbuildinfo test-clean: $(foreach source, $(SOURCES), \ diff --git a/scripts/generators/tsconfig.js b/scripts/generators/tsconfig.js index 968f36f0ae01..1409cac9ac45 100644 --- a/scripts/generators/tsconfig.js +++ b/scripts/generators/tsconfig.js @@ -5,21 +5,29 @@ const fs = require("fs"); const root = path.resolve(__dirname, "../../"); -const tsPkgs = fs - .readdirSync(path.join(root, "packages")) - .filter(name => name.startsWith("babel-")) - .map(name => ({ - name: name.replace(/^babel-/, "@babel/"), - dir: path.resolve(root, "packages", name), - })) - .filter(({ dir }) => { - try { - fs.statSync(path.join(dir, "src", "index.ts")); - return true; - } catch { - return false; - } - }); +function getTsPkgs(subRoot) { + return fs + .readdirSync(path.join(root, subRoot)) + .filter(name => name.startsWith("babel-")) + .map(name => ({ + name: name.replace(/^babel-/, "@babel/"), + dir: path.resolve(root, subRoot, name), + })) + .filter(({ dir }) => { + try { + fs.statSync(path.join(dir, "src", "index.ts")); + return true; + } catch { + return false; + } + }); +} + +const tsPkgs = [ + ...getTsPkgs("packages"), + ...getTsPkgs("eslint"), + ...getTsPkgs("codemods"), +]; for (const { dir } of tsPkgs) { const pkg = require(`${dir}/package.json`);