#!/usr/bin/env node const argv = require('yargs').argv; const forEach = require('apr-for-each'); const main = require('apr-main'); const intercept = require('apr-intercept'); const execa = require('execa'); const path = require('path'); const ROOT = process.cwd(); if (!argv.cmd) { throw new Error('Missing --cmd argument'); } const run = () => forEach(argv._, async file => { const cwd = path.dirname(path.join(ROOT, file)); const [err] = await intercept( execa('yarn', ['run', argv.cmd], { stdio: 'inherit', cwd }) ); if (err) { console.error(`cmd: ${argv.cmd} | cwd: ${cwd}`); console.error(err); throw err; } }); main(run());