import merge from 'lodash/merge' import { loadJson, loadJsonSync } from '../json' import { formatJson } from '../prettier' import { ComponentBuildJson, Obj, ProjectFileProcessor } from '../type' import { BUILD_JSON_FILE_NAME } from '../project' export const COMPONENT_BUILD_JSON_SCHEMA: ComponentBuildJson = { cone: { mobile: undefined, oneCode: undefined, lowcode: undefined, }, } export const updateComponentBuildJson: ProjectFileProcessor = async ({ obj, props, }) => { const { mobile, oneCode, lowcode } = props const buildJson = merge({}, COMPONENT_BUILD_JSON_SCHEMA, obj) // cone config if (buildJson.cone) { if (!mobile) { delete buildJson.cone.mobile } else { buildJson.cone.mobile = true } if (!oneCode) { delete buildJson.cone.oneCode } else { buildJson.cone.oneCode = true } // 低码 if (!lowcode) { delete buildJson.cone.lowcode } else { buildJson.cone.lowcode = true } } return buildJson }