From f8be15bdc0adcd321b3b5d02fee6d9adb787e6f4 Mon Sep 17 00:00:00 2001 From: coder <65393795+coderdifference@users.noreply.github.com> Date: Thu, 5 Jan 2023 08:07:03 +1100 Subject: [PATCH] Pass full set of options arguments Quick hack to pass everything after the --opt switch to the yarn command. --- yarn-recursive.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/yarn-recursive.js b/yarn-recursive.js index 0c03c84..813b2eb 100755 --- a/yarn-recursive.js +++ b/yarn-recursive.js @@ -2,7 +2,7 @@ const path = require('path'); const shell = require('shelljs'); -const argv = require('yargs').argv; +const yargs = require('yargs'); const clc = require('cli-color'); function packageJsonLocations(dirname) { @@ -14,11 +14,14 @@ function packageJsonLocations(dirname) { function yarn(directoryName) { let command = 'yarn'; - if (argv.cmd) - command += ' ' + argv.cmd; + if (yargs.argv.cmd) + command += ' ' + yargs.argv.cmd; - if (argv.opt) - command += ' ' + argv.opt; + if (yargs.argv.opt) { + const index = process.argv.indexOf('--opt'); + command += ' ' + process.argv.slice(index + 1).join(' '); + } + console.log(clc.blueBright('Current yarn path: ' + directoryName + path.sep + 'package.json...')); @@ -37,7 +40,7 @@ function filterRoot(directoryName) { if (require.main === module) { let exitCode = packageJsonLocations(process.cwd()) - .filter(argv.skipRoot ? filterRoot : filtered => filtered) + .filter(yargs.argv.skipRoot ? filterRoot : filtered => filtered) .map(yarn) .reduce((code, result) =>result.exitCode > code ? result.exitCode : code, 0);