Skip to content

Commit

Permalink
fix: snapshot generation (vuejs#383)
Browse files Browse the repository at this point in the history
  • Loading branch information
cexbrayat authored Nov 24, 2023
1 parent b5ae765 commit 5ba8f64
Showing 1 changed file with 20 additions and 9 deletions.
29 changes: 20 additions & 9 deletions scripts/snapshot.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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.
Expand All @@ -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']}`
Expand Down

0 comments on commit 5ba8f64

Please sign in to comment.