From 83f9c3c6c857eef2ad703b7890381ec5be6748d2 Mon Sep 17 00:00:00 2001 From: Lukasz Gawrys Date: Mon, 10 Oct 2022 21:38:13 +0200 Subject: [PATCH] fix(core): serialize properly override with object arg for command line Avoid outputting object args as [object Object]. Is related to #10808 --- packages/nx/src/utils/command-line-utils.spec.ts | 7 ++++++- .../nx/src/utils/serialize-overrides-into-command-line.ts | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/nx/src/utils/command-line-utils.spec.ts b/packages/nx/src/utils/command-line-utils.spec.ts index e2e10c8a99315..36700527f2c46 100644 --- a/packages/nx/src/utils/command-line-utils.spec.ts +++ b/packages/nx/src/utils/command-line-utils.spec.ts @@ -99,6 +99,7 @@ describe('splitArgs', () => { { files: [''], notNxArg: true, + notNxArgObject: { objectKey: 'my value' }, __positional_overrides__: [], $0: '', }, @@ -107,8 +108,12 @@ describe('splitArgs', () => { {} as any ).overrides ).toEqual({ - __overrides_unparsed__: ['--notNxArg=true'], + __overrides_unparsed__: [ + '--notNxArg=true', + '--notNxArgObject={"objectKey":"my value"}', + ], notNxArg: true, + notNxArgObject: { objectKey: 'my value' }, }); }); diff --git a/packages/nx/src/utils/serialize-overrides-into-command-line.ts b/packages/nx/src/utils/serialize-overrides-into-command-line.ts index 1a583a594da09..47bb912c23f99 100644 --- a/packages/nx/src/utils/serialize-overrides-into-command-line.ts +++ b/packages/nx/src/utils/serialize-overrides-into-command-line.ts @@ -7,7 +7,9 @@ export function serializeOverridesIntoCommandLine(args: { r.push( typeof args[a] === 'string' && args[a].includes(' ') ? `--${a}="${args[a].replace(/"/g, '"')}"` - : `--${a}=${args[a]}` + : `--${a}=${ + typeof args[a] === 'object' ? JSON.stringify(args[a]) : args[a] + }` ); } });