From 5ba8f64e484accc865f761397f5c68b395d38c55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Exbrayat?= Date: Fri, 24 Nov 2023 08:31:08 +0100 Subject: [PATCH] fix: snapshot generation (#383) --- scripts/snapshot.mjs | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/scripts/snapshot.mjs b/scripts/snapshot.mjs index 6b0b9ff0..5e0224c2 100644 --- a/scripts/snapshot.mjs +++ b/scripts/snapshot.mjs @@ -17,7 +17,12 @@ const featureFlags = [ 'playwright', 'nightwatch' ] -const featureFlagsDenylist = [['cypress', 'playwright', 'nightwatch']] +const featureFlagsDenylist = [ + ['cypress', 'playwright'], + ['playwright', 'nightwatch'], + ['cypress', 'nightwatch'], + ['cypress', 'playwright', 'nightwatch'] +] // The following code & comments are generated by GitHub CoPilot. function fullCombination(arr) { @@ -51,12 +56,6 @@ function fullCombination(arr) { let flagCombinations = fullCombination(featureFlags) flagCombinations.push(['default']) -// Filter out combinations that are not allowed -flagCombinations = flagCombinations.filter( - (combination) => - !featureFlagsDenylist.some((denylist) => denylist.every((flag) => combination.includes(flag))) -) - // `--with-tests` are equivalent of `--vitest --cypress` // Previously it means `--cypress` without `--vitest`. // Here we generate the snapshots only for the sake of easier comparison with older templates. @@ -70,14 +69,26 @@ withTestsFlags.push(['with-tests']) flagCombinations.push(...withTestsFlags) const playgroundDir = path.resolve(__dirname, '../playground/') -const bin = path.posix.relative('../playground/', '../outfile.cjs') - cd(playgroundDir) + +// remove all previous combinations for (const flags of flagCombinations) { const projectName = flags.join('-') console.log(`Removing previously generated project ${projectName}`) fs.rmSync(projectName, { recursive: true, force: true }) +} + +// Filter out combinations that are not allowed +flagCombinations = flagCombinations.filter( + (combination) => + !featureFlagsDenylist.some((denylist) => denylist.every((flag) => combination.includes(flag))) +) + +const bin = path.posix.relative('../playground/', '../outfile.cjs') + +for (const flags of flagCombinations) { + const projectName = flags.join('-') console.log(`Creating project ${projectName}`) await $`node ${[bin, projectName, ...flags.map((flag) => `--${flag}`), '--force']}`