diff --git a/packages/core/src/__tests__/common.test.ts b/packages/core/src/__tests__/common.test.ts index ad8747a5d5..13bc0ee5f2 100644 --- a/packages/core/src/__tests__/common.test.ts +++ b/packages/core/src/__tests__/common.test.ts @@ -327,7 +327,7 @@ describe('Testing getAppVersionCode functions', () => { }, buildConfig: { common: { - versionCode: -1, + versionCode: '-1', }, }, }, @@ -337,4 +337,26 @@ describe('Testing getAppVersionCode functions', () => { expect(e).toEqual(Error(`'versionCode' should be a positive integer. Check your config`)); } }); + + it('should evaluate given versionCode 4.4.4 with 4.4.4 on ios', async () => { + const result = getAppVersionCode( + { + ...BUILD_CONF, + files: { + ...BUILD_CONF.files, + project: { + ...BUILD_CONF.files.project, + package: { version: '1' }, + }, + }, + buildConfig: { + common: { + versionCode: '4.4.4', + }, + }, + }, + 'ios' + ); + expect(result).toEqual('4.4.4'); + }); }); diff --git a/packages/core/src/common.ts b/packages/core/src/common.ts index bc0fab22d4..17007d54aa 100755 --- a/packages/core/src/common.ts +++ b/packages/core/src/common.ts @@ -355,14 +355,15 @@ const _androidLikePlatform = (platform: RnvPlatform) => export const getAppVersionCode = (c: RnvContext, platform: RnvPlatform) => { const versionCode = getConfigProp(c, platform, 'versionCode'); - // android platforms don't allow versionCode to be a string, only positive integer - if (_androidLikePlatform(platform)) { - const isValidVersionCode = Number.isInteger(Number(versionCode)) && Number(versionCode) > 0; - if (isValidVersionCode) { - return versionCode; - } else if (versionCode && !isValidVersionCode) { - throw new Error(`'versionCode' should be a positive integer. Check your config`); + if (versionCode) { + // android platforms don't allow versionCode to be a string, only positive integer + if (_androidLikePlatform(platform)) { + const isValidVersionCode = Number.isInteger(Number(versionCode)) && Number(versionCode) > 0; + if (!isValidVersionCode) { + throw new Error(`'versionCode' should be a positive integer. Check your config`); + } } + return versionCode; } const version = getConfigProp(c, platform, 'version') || c.files.project.package?.version;