From 46a688e9a15a01e183ed0342d3a7a97d582d5b24 Mon Sep 17 00:00:00 2001 From: pengbo43 Date: Wed, 19 Apr 2023 18:56:00 +0800 Subject: [PATCH] feat: expand build command --- packages/cli/src/commands/build.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/commands/build.ts b/packages/cli/src/commands/build.ts index fd82e80a89..bafea2ee7c 100644 --- a/packages/cli/src/commands/build.ts +++ b/packages/cli/src/commands/build.ts @@ -1,8 +1,12 @@ import { GluegunCommand, GluegunParameters } from 'gluegun'; import { MitosisConfig, Target } from '@builder.io/mitosis'; +import merge from 'lodash/merge'; +import pick from 'lodash/pick'; import { build } from '../build/build'; import { getMitosisConfig } from '../helpers/get-mitosis-config'; +const ConfigKeys = ['files']; + const getTargets = (mitosisConfig: MitosisConfig, cliOpts: GluegunParameters['options']) => { const targetsFromCli: Target[] = (cliOpts.targets || '').split(','); const excludeTargetsMap: Record = (cliOpts.excludeTargets || '') @@ -18,6 +22,14 @@ const getTargets = (mitosisConfig: MitosisConfig, cliOpts: GluegunParameters['op return targets; }; +const mergeConfig = ( + originConfig: MitosisConfig, + confgiPatch: Record, + configKeys: string[] = ConfigKeys, +): MitosisConfig => { + return merge(originConfig, pick(confgiPatch, configKeys)); +}; + const command: GluegunCommand = { name: 'build', alias: 'b', @@ -31,7 +43,7 @@ const command: GluegunCommand = { } const targets = getTargets(config, opts); await build({ - ...config, + ...mergeConfig(config, opts), targets, }); },