#!/usr/bin/env node const { spawn } = require('child_process'); const { promisify } = require('util'); const { readdir: readdirRaw, readFile: readFileRaw, writeFile: writeFileRaw, statSync, } = require('fs'); const { join } = require('path'); const readdir = promisify(readdirRaw); const readFile = promisify(readFileRaw); const writeFile = promisify(writeFileRaw); const p = l => join(__dirname, '..', ...l); const logger = console; const exec = async (command, args = [], options = {}) => new Promise((resolve, reject) => { const child = spawn(command, args, { ...options, stdio: 'inherit', shell: true }); child .on('close', code => { if (code) { reject(); } else { resolve(); } }) .on('error', e => { logger.error(e); reject(); }); }); const hasBuildScript = async l => { const text = await readFile(l, 'utf8'); const json = JSON.parse(text); return !!json.scripts['build-storybook']; }; const createContent = deployables => { return `