summaryrefslogtreecommitdiff
path: root/scripts/smoke/index.js
blob: d5412adc0e56b78f17d1e977bbdc4b1e1ee4a156 (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();