forked from react-static/react-static
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtestExamplesBuild.js
More file actions
34 lines (28 loc) · 899 Bytes
/
testExamplesBuild.js
File metadata and controls
34 lines (28 loc) · 899 Bytes
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
32
33
const { execSync } = require('child_process')
const fs = require('fs')
const chalk = require('chalk')
const exampleToError = new Map()
fs.readdirSync('./examples').forEach(
file => {
process.chdir(`./examples/${file}`)
try {
console.log(`${chalk.green(`Building ${file}`)}`)
execSync('yarn install')
execSync('rm -rf node_modules/react-static')
execSync('ln -s -f ../../../ ./node_modules/react-static')
execSync('../../bin/react-static build')
} catch (er) {
console.log(`${chalk.red(`Failed ${file}`)}`)
exampleToError.set(file, er.stdout.toString('utf-8'))
} finally {
process.chdir('../../')
}
}
)
for (const [example, errorMessage] of exampleToError.entries()) {
console.log(`${chalk.bold.black.bgRed(`Error building ${example}`)}`)
console.log(errorMessage)
}
if (exampleToError.size > 0) {
process.exit(1)
}