27 lines
877 B
JavaScript
27 lines
877 B
JavaScript
![]() |
const patterns = require('@freesewing/pattern-info').list
|
||
|
const path = require('path')
|
||
|
const spawn = require('child_process').spawn
|
||
|
|
||
|
const dir = path.join(__dirname, '..')
|
||
|
|
||
|
const buildPatternWorkbenches = (patterns) => {
|
||
|
promises = []
|
||
|
for (pattern of patterns) {
|
||
|
let cwd = path.join(dir, 'packages', pattern, 'example')
|
||
|
promises.push(runScript(cwd, 'npm run build'))
|
||
|
promises.push(runScript(cwd, 'netlify deploy --prod'))
|
||
|
}
|
||
|
|
||
|
return Promise.all(promises)
|
||
|
}
|
||
|
|
||
|
const runScript = (cwd, command) =>
|
||
|
new Promise((resolve, reject) => {
|
||
|
const script = spawn(command, [], { cwd, shell: true })
|
||
|
script.stdout.on('data', (data) => process.stdout.write(data))
|
||
|
script.on('error', (data) => reject(`Error running ${command} in ${dir}: ${data}`))
|
||
|
script.on('exit', () => resolve())
|
||
|
}).catch((err) => console.log(err))
|
||
|
|
||
|
buildPatternWorkbenches(patterns)
|