diff --git a/src/cli.js b/src/cli.js index 57dae024..f158c72c 100644 --- a/src/cli.js +++ b/src/cli.js @@ -67,6 +67,9 @@ module.exports = { if (args.osxSign === 'true') { warning('--osx-sign does not take any arguments, it only has sub-properties (see --help)') args.osxSign = true + } else if (typeof args.osxSign === 'object' && !Array.isArray(args.osxSign)) { + // Keep kebab case of sub properties + args.osxSign = args['osx-sign'] } if (args.osxNotarize) { diff --git a/test/cli.js b/test/cli.js index e8eb2800..891e0309 100644 --- a/test/cli.js +++ b/test/cli.js @@ -37,6 +37,17 @@ test('CLI argument: --osx-sign=true', t => { t.true(args.osxSign) }) +test('CLI argument: --osx-sign is object', t => { + const args = cli.parseArgs([ + '--osx-sign.identity=identity', + '--osx-sign.entitlements-inherit=path', + '--osx-sign.hardenedRuntime' + ]) + t.is(args.osxSign.identity, 'identity') + t.is(args.osxSign['entitlements-inherit'], 'path') + t.true(args.osxSign.hardenedRuntime) +}) + test('CLI argument: --osx-notarize=true', t => { const args = cli.parseArgs(['--osx-notarize=true']) t.falsy(args.osxNotarize, '')