From 7e5185f74a87a7d1f9553b29de1a624d500d1c6a Mon Sep 17 00:00:00 2001 From: Pavel Jacko Date: Fri, 20 Oct 2023 10:58:13 +0200 Subject: [PATCH 1/2] add support for extend platform --- packages/core/src/configs/buildConfig.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/core/src/configs/buildConfig.ts b/packages/core/src/configs/buildConfig.ts index 696355a114..562f27ecf0 100644 --- a/packages/core/src/configs/buildConfig.ts +++ b/packages/core/src/configs/buildConfig.ts @@ -14,6 +14,7 @@ import { getContext } from '../context/provider'; import type { RnvContext } from '../context/types'; import { ConfigFileBuildConfig } from '../schema/configFiles/buildConfig'; import { FileUtilsPropConfig } from '../system/types'; +import { PlatformKey } from '../schema/types'; const _arrayMergeOverride = (_destinationArray: Array, sourceArray: Array) => sourceArray; @@ -150,6 +151,18 @@ export const generateBuildConfig = (_c?: RnvContext) => { }; c.buildConfig = sanitizeDynamicProps(c.buildConfig, propConfig); + //Merge extendPlatform + const platforms = c.buildConfig.platforms || {}; + (Object.keys(platforms) as PlatformKey[]).forEach((k) => { + const plat = platforms[k]; + if (plat?.extendPlatform) { + const extPlat = platforms[plat?.extendPlatform]; + if (extPlat) { + platforms[k] = merge(plat, extPlat); + } + } + }); + logDebug('BUILD_CONFIG', Object.keys(c.buildConfig)); if (c.runtime.appId) { From ba6b7fccc795f2930dace6c62f9f2ad7f474eb81 Mon Sep 17 00:00:00 2001 From: Pavel Jacko Date: Fri, 20 Oct 2023 11:01:54 +0200 Subject: [PATCH 2/2] add current template, make isNew optional --- packages/core/jsonSchema/rnv.project.json | 3 +-- packages/core/src/schema/configFiles/project.ts | 1 + packages/template-starter/renative.json | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/core/jsonSchema/rnv.project.json b/packages/core/jsonSchema/rnv.project.json index 331084bcae..9f8c065f02 100644 --- a/packages/core/jsonSchema/rnv.project.json +++ b/packages/core/jsonSchema/rnv.project.json @@ -3814,8 +3814,7 @@ "workspaceID", "projectName", "templates", - "currentTemplate", - "isNew" + "currentTemplate" ], "additionalProperties": false } diff --git a/packages/core/src/schema/configFiles/project.ts b/packages/core/src/schema/configFiles/project.ts index f1b1d8cf8a..5730ddbf6b 100644 --- a/packages/core/src/schema/configFiles/project.ts +++ b/packages/core/src/schema/configFiles/project.ts @@ -248,6 +248,7 @@ const RootProjectBaseFragment = { ), isNew: z .string() + .optional() .describe('Marker indicating that this project has just been bootstrapped. this prop is managed by rnv'), }; diff --git a/packages/template-starter/renative.json b/packages/template-starter/renative.json index 7f938f2e4a..f17a3aa726 100644 --- a/packages/template-starter/renative.json +++ b/packages/template-starter/renative.json @@ -71,6 +71,7 @@ "version": "^1.0.0-canary.7" } }, + "currentTemplate": "@rnv/template-starter", "platforms": { "android": { "minSdkVersion": 26,