11#!/usr/bin/env zx
22import 'zx/globals'
33
4- // Vitest would otherwise enable watch mode by default.
5- process . env . CI = '1'
6-
74const playgroundDir = path . resolve ( __dirname , '../playground/' )
85let projects = fs
96. readdirSync ( playgroundDir , { withFileTypes :true } )
@@ -21,7 +18,13 @@ for (const projectName of projects) {
2118cd ( path . resolve ( playgroundDir , projectName ) )
2219const packageJSON = require ( path . resolve ( playgroundDir , projectName , 'package.json' ) )
2320
24- console . log ( `Building${ projectName } ` )
21+ console . log ( `
22+
23+ #####
24+ Building${ projectName }
25+ #####
26+
27+ ` )
2528await $ `pnpm build`
2629
2730if ( '@playwright/test' in packageJSON . devDependencies ) {
@@ -35,6 +38,16 @@ for (const projectName of projects) {
3538
3639if ( 'test:unit' in packageJSON . scripts ) {
3740console . log ( `Running unit tests in${ projectName } ` )
38- await $ `pnpm test:unit`
41+ if ( projectName . includes ( 'vitest' ) || projectName . includes ( 'with-tests' ) ) {
42+ // Vitest would otherwise enable watch mode by default.
43+ await $ `CI=1 pnpm test:unit`
44+ } else {
45+ await $ `pnpm test:unit`
46+ }
47+ }
48+
49+ if ( 'type-check' in packageJSON . scripts ) {
50+ console . log ( `Running type-check in${ projectName } ` )
51+ await $ `pnpm type-check`
3952}
4053}