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] + }` ); } });