summaryrefslogtreecommitdiff
path: root/scripts/smoke/index.js
blob: e1e296a61f64b0aa243cde13080b291b1d37553e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import fs from 'fs';
import { execa } from 'execa';
import { fileURLToPath } from 'url';

// NOTE: Only needed for Windows, due to a Turbo bug.
// Once Turbo works on Windows, we can remove this script
// and update our CI to run through Turbo.

export default async function run() {
  const examplesUrl = new URL('../../examples/', import.meta.url);
  const examplesToTest = fs
    .readdirSync(examplesUrl)
    .map((filename) => new URL(filename, examplesUrl))
    .filter((fileUrl) => fs.statSync(fileUrl).isDirectory());
  const allProjectsToTest = [...examplesToTest, new URL('../../www', import.meta.url), new URL('../../docs', import.meta.url)];

  console.log('');
  for (const projectToTest of allProjectsToTest) {
    const filePath = fileURLToPath(projectToTest);
    console.log('  🤖 Testing', filePath, '\n');
    try {
      await execa('yarn', ['build'], { cwd: fileURLToPath(projectToTest), stdout: 'inherit', stderr: 'inherit' });
    } catch (err) {
      console.log(err);
      process.exit(1);
    }
    console.log('\n  🤖 Test complete.');
  }
}

run();