From 6582d7da2f1c9b455834108ef7cb6bbea10a7663 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 7 Nov 2020 12:37:58 +0100 Subject: [PATCH] feat: Added script for publishing pattern workbenches --- scripts/workbenches.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 scripts/workbenches.js diff --git a/scripts/workbenches.js b/scripts/workbenches.js new file mode 100644 index 00000000000..2a122e01ff9 --- /dev/null +++ b/scripts/workbenches.js @@ -0,0 +1,26 @@ +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)