diff --git a/.github/workflows/generate-repros-next.yml b/.github/workflows/generate-repros-next.yml index c6af28c1508b..42b36076d37b 100644 --- a/.github/workflows/generate-repros-next.yml +++ b/.github/workflows/generate-repros-next.yml @@ -14,6 +14,7 @@ jobs: runs-on: ubuntu-latest env: YARN_ENABLE_IMMUTABLE_INSTALLS: false + CLEANUP_REPRO_NODE_MODULES: true steps: - uses: actions/setup-node@v3 with: diff --git a/scripts/next-repro-generators/generate-repros.ts b/scripts/next-repro-generators/generate-repros.ts index 2f857086ea94..d857944d6ba9 100755 --- a/scripts/next-repro-generators/generate-repros.ts +++ b/scripts/next-repro-generators/generate-repros.ts @@ -6,7 +6,7 @@ import pLimit from 'p-limit'; import prettyTime from 'pretty-hrtime'; import { copy, emptyDir, ensureDir, move, remove, rename, writeFile } from 'fs-extra'; import { program } from 'commander'; -import { AbortController } from 'node-abort-controller'; +import type { AbortController } from 'node-abort-controller'; import { directory } from 'tempy'; import reproTemplates from '../../code/lib/cli/src/repro-templates'; @@ -16,9 +16,9 @@ import { JsPackageManagerFactory } from '../../code/lib/cli/src/js-package-manag import { maxConcurrentTasks } from '../utils/maxConcurrentTasks'; import { localizeYarnConfigFiles, setupYarn } from './utils/yarn'; -import { GeneratorConfig } from './utils/types'; +import type { GeneratorConfig } from './utils/types'; import { getStackblitzUrl, renderTemplate } from './utils/template'; -import { JsPackageManager } from '../../code/lib/cli/src/js-package-manager'; +import type { JsPackageManager } from '../../code/lib/cli/src/js-package-manager'; import { runRegistry } from '../tasks/run-registry'; const OUTPUT_DIRECTORY = join(__dirname, '..', '..', 'repros'); @@ -161,6 +161,13 @@ const runGenerators = async ( await addDocumentation(baseDir, { name, dirName }); + // Remove node_modules to save space and avoid GH actions failing + // They're not uploaded to the git repros repo anyway + if (process.env.CLEANUP_REPRO_NODE_MODULES) { + await remove(join(beforeDir, 'node_modules')); + await remove(join(baseDir, 'node_modules')); + } + console.log( `✅ Created ${dirName} in ./${relative( process.cwd(),