@expo/config-plugins 5.0.0 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/utils/Updates.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Android, ExpoConfig, IOS } from '@expo/config-types';
|
|
|
2
2
|
export declare type ExpoConfigUpdates = Pick<ExpoConfig, 'sdkVersion' | 'owner' | 'runtimeVersion' | 'updates' | 'slug'>;
|
|
3
3
|
export declare function getExpoUpdatesPackageVersion(projectRoot: string): string | null;
|
|
4
4
|
export declare function getUpdateUrl(config: Pick<ExpoConfigUpdates, 'owner' | 'slug' | 'updates'>, username: string | null): string | null;
|
|
5
|
+
export declare function getAppVersion(config: Pick<ExpoConfig, 'version'>): string;
|
|
5
6
|
export declare function getNativeVersion(config: Pick<ExpoConfig, 'version'> & {
|
|
6
7
|
android?: Pick<Android, 'versionCode'>;
|
|
7
8
|
ios?: Pick<IOS, 'buildNumber'>;
|
package/build/utils/Updates.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.getAppVersion = getAppVersion;
|
|
6
7
|
exports.getExpoUpdatesPackageVersion = getExpoUpdatesPackageVersion;
|
|
7
8
|
exports.getNativeVersion = getNativeVersion;
|
|
8
9
|
exports.getRuntimeVersion = getRuntimeVersion;
|
|
@@ -118,6 +119,12 @@ function getUpdateUrl(config, username) {
|
|
|
118
119
|
return `https://exp.host/@${user}/${config.slug}`;
|
|
119
120
|
}
|
|
120
121
|
|
|
122
|
+
function getAppVersion(config) {
|
|
123
|
+
var _config$version;
|
|
124
|
+
|
|
125
|
+
return (_config$version = config.version) !== null && _config$version !== void 0 ? _config$version : '1.0.0';
|
|
126
|
+
}
|
|
127
|
+
|
|
121
128
|
function getNativeVersion(config, platform) {
|
|
122
129
|
const version = _().IOSConfig.Version.getVersion(config);
|
|
123
130
|
|
|
@@ -200,6 +207,8 @@ function getRuntimeVersion(config, platform) {
|
|
|
200
207
|
|
|
201
208
|
if (typeof runtimeVersion === 'string') {
|
|
202
209
|
return runtimeVersion;
|
|
210
|
+
} else if (runtimeVersion.policy === 'appVersion') {
|
|
211
|
+
return getAppVersion(config);
|
|
203
212
|
} else if (runtimeVersion.policy === 'nativeVersion') {
|
|
204
213
|
return getNativeVersion(config, platform);
|
|
205
214
|
} else if (runtimeVersion.policy === 'sdkVersion') {
|
|
@@ -210,7 +219,7 @@ function getRuntimeVersion(config, platform) {
|
|
|
210
219
|
return (0, _sdkRuntimeVersions().getRuntimeVersionForSDKVersion)(config.sdkVersion);
|
|
211
220
|
}
|
|
212
221
|
|
|
213
|
-
throw new Error(`"${typeof runtimeVersion === 'object' ? JSON.stringify(runtimeVersion) : runtimeVersion}" is not a valid runtime version. getRuntimeVersion only supports a string, "sdkVersion", or "nativeVersion" policy.`);
|
|
222
|
+
throw new Error(`"${typeof runtimeVersion === 'object' ? JSON.stringify(runtimeVersion) : runtimeVersion}" is not a valid runtime version. getRuntimeVersion only supports a string, "sdkVersion", "appVersion", or "nativeVersion" policy.`);
|
|
214
223
|
}
|
|
215
224
|
|
|
216
225
|
function getSDKVersion(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Updates.js","names":["getExpoUpdatesPackageVersion","projectRoot","expoUpdatesPackageJsonPath","resolveFrom","silent","fs","existsSync","packageJson","JSON","parse","readFileSync","version","getUpdateUrl","config","username","updates","url","user","owner","slug","getNativeVersion","platform","IOSConfig","Version","getVersion","buildNumber","getBuildNumber","versionCode","AndroidConfig","getVersionCode","Error","withRuntimeVersion","ios","runtimeVersion","getRuntimeVersion","android","getRuntimeVersionNullable","e","boolish","console","log","policy","sdkVersion","getRuntimeVersionForSDKVersion","stringify","getSDKVersion","getUpdatesEnabled","enabled","getUpdatesTimeout","fallbackToCacheTimeout","getUpdatesCheckOnLaunch","expoUpdatesPackageVersion","checkAutomatically","semver","gte","getUpdatesCodeSigningCertificate","codeSigningCertificatePath","codeSigningCertificate","undefined","finalPath","path","join","getUpdatesCodeSigningMetadata","codeSigningMetadata","getUpdatesCodeSigningMetadataStringified","metadata"],"sources":["../../src/utils/Updates.ts"],"sourcesContent":["import { Android, ExpoConfig, IOS } from '@expo/config-types';\nimport { getRuntimeVersionForSDKVersion } from '@expo/sdk-runtime-versions';\nimport fs from 'fs';\nimport { boolish } from 'getenv';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\nimport semver from 'semver';\n\nimport { AndroidConfig, IOSConfig } from '..';\n\nexport type ExpoConfigUpdates = Pick<\n ExpoConfig,\n 'sdkVersion' | 'owner' | 'runtimeVersion' | 'updates' | 'slug'\n>;\n\nexport function getExpoUpdatesPackageVersion(projectRoot: string): string | null {\n const expoUpdatesPackageJsonPath = resolveFrom.silent(projectRoot, 'expo-updates/package.json');\n if (!expoUpdatesPackageJsonPath || !fs.existsSync(expoUpdatesPackageJsonPath)) {\n return null;\n }\n const packageJson = JSON.parse(fs.readFileSync(expoUpdatesPackageJsonPath, 'utf8'));\n return packageJson.version;\n}\n\nexport function getUpdateUrl(\n config: Pick<ExpoConfigUpdates, 'owner' | 'slug' | 'updates'>,\n username: string | null\n): string | null {\n if (config.updates?.url) {\n return config.updates?.url;\n }\n\n const user = typeof config.owner === 'string' ? config.owner : username;\n if (!user) {\n return null;\n }\n return `https://exp.host/@${user}/${config.slug}`;\n}\n\nexport function getNativeVersion(\n config: Pick<ExpoConfig, 'version'> & {\n android?: Pick<Android, 'versionCode'>;\n ios?: Pick<IOS, 'buildNumber'>;\n },\n platform: 'android' | 'ios'\n): string {\n const version = IOSConfig.Version.getVersion(config);\n switch (platform) {\n case 'ios': {\n const buildNumber = IOSConfig.Version.getBuildNumber(config);\n return `${version}(${buildNumber})`;\n }\n case 'android': {\n const versionCode = AndroidConfig.Version.getVersionCode(config);\n return `${version}(${versionCode})`;\n }\n default: {\n throw new Error(\n `\"${platform}\" is not a supported platform. Choose either \"ios\" or \"android\".`\n );\n }\n }\n}\n\n/**\n * Compute runtime version policies.\n * @return an expoConfig with only string valued platform specific runtime versions.\n */\nexport const withRuntimeVersion: (config: ExpoConfig) => ExpoConfig = (config) => {\n if (config.ios?.runtimeVersion || config.runtimeVersion) {\n const runtimeVersion = getRuntimeVersion(config, 'ios');\n if (runtimeVersion) {\n config.ios = {\n ...config.ios,\n runtimeVersion,\n };\n }\n }\n if (config.android?.runtimeVersion || config.runtimeVersion) {\n const runtimeVersion = getRuntimeVersion(config, 'android');\n if (runtimeVersion) {\n config.android = {\n ...config.android,\n runtimeVersion,\n };\n }\n }\n delete config.runtimeVersion;\n return config;\n};\n\nexport function getRuntimeVersionNullable(\n ...[config, platform]: Parameters<typeof getRuntimeVersion>\n): string | null {\n try {\n return getRuntimeVersion(config, platform);\n } catch (e) {\n if (boolish('EXPO_DEBUG', false)) {\n console.log(e);\n }\n return null;\n }\n}\n\nexport function getRuntimeVersion(\n config: Pick<ExpoConfig, 'version' | 'runtimeVersion' | 'sdkVersion'> & {\n android?: Pick<Android, 'versionCode' | 'runtimeVersion'>;\n ios?: Pick<IOS, 'buildNumber' | 'runtimeVersion'>;\n },\n platform: 'android' | 'ios'\n): string | null {\n const runtimeVersion = config[platform]?.runtimeVersion ?? config.runtimeVersion;\n if (!runtimeVersion) {\n return null;\n }\n\n if (typeof runtimeVersion === 'string') {\n return runtimeVersion;\n } else if (runtimeVersion.policy === 'nativeVersion') {\n return getNativeVersion(config, platform);\n } else if (runtimeVersion.policy === 'sdkVersion') {\n if (!config.sdkVersion) {\n throw new Error(\"An SDK version must be defined when using the 'sdkVersion' runtime policy.\");\n }\n return getRuntimeVersionForSDKVersion(config.sdkVersion);\n }\n\n throw new Error(\n `\"${\n typeof runtimeVersion === 'object' ? JSON.stringify(runtimeVersion) : runtimeVersion\n }\" is not a valid runtime version. getRuntimeVersion only supports a string, \"sdkVersion\", or \"nativeVersion\" policy.`\n );\n}\n\nexport function getSDKVersion(config: Pick<ExpoConfigUpdates, 'sdkVersion'>): string | null {\n return typeof config.sdkVersion === 'string' ? config.sdkVersion : null;\n}\n\nexport function getUpdatesEnabled(config: Pick<ExpoConfigUpdates, 'updates'>): boolean {\n return config.updates?.enabled !== false;\n}\n\nexport function getUpdatesTimeout(config: Pick<ExpoConfigUpdates, 'updates'>): number {\n return config.updates?.fallbackToCacheTimeout ?? 0;\n}\n\nexport function getUpdatesCheckOnLaunch(\n config: Pick<ExpoConfigUpdates, 'updates'>,\n expoUpdatesPackageVersion?: string | null\n): 'NEVER' | 'ERROR_RECOVERY_ONLY' | 'ALWAYS' {\n if (config.updates?.checkAutomatically === 'ON_ERROR_RECOVERY') {\n // native 'ERROR_RECOVERY_ONLY' option was only introduced in 0.11.x\n if (expoUpdatesPackageVersion && semver.gte(expoUpdatesPackageVersion, '0.11.0')) {\n return 'ERROR_RECOVERY_ONLY';\n }\n return 'NEVER';\n } else if (config.updates?.checkAutomatically === 'ON_LOAD') {\n return 'ALWAYS';\n }\n return 'ALWAYS';\n}\n\nexport function getUpdatesCodeSigningCertificate(\n projectRoot: string,\n config: Pick<ExpoConfigUpdates, 'updates'>\n): string | undefined {\n const codeSigningCertificatePath = config.updates?.codeSigningCertificate;\n if (!codeSigningCertificatePath) {\n return undefined;\n }\n\n const finalPath = path.join(projectRoot, codeSigningCertificatePath);\n if (!fs.existsSync(finalPath)) {\n throw new Error(`File not found at \\`updates.codeSigningCertificate\\` path: ${finalPath}`);\n }\n\n return fs.readFileSync(finalPath, 'utf8');\n}\n\nexport function getUpdatesCodeSigningMetadata(\n config: Pick<ExpoConfigUpdates, 'updates'>\n): NonNullable<ExpoConfigUpdates['updates']>['codeSigningMetadata'] {\n return config.updates?.codeSigningMetadata;\n}\n\nexport function getUpdatesCodeSigningMetadataStringified(\n config: Pick<ExpoConfigUpdates, 'updates'>\n): string | undefined {\n const metadata = getUpdatesCodeSigningMetadata(config);\n if (!metadata) {\n return undefined;\n }\n\n return JSON.stringify(metadata);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;;;AAOO,SAASA,4BAAT,CAAsCC,WAAtC,EAA0E;EAC/E,MAAMC,0BAA0B,GAAGC,sBAAA,CAAYC,MAAZ,CAAmBH,WAAnB,EAAgC,2BAAhC,CAAnC;;EACA,IAAI,CAACC,0BAAD,IAA+B,CAACG,aAAA,CAAGC,UAAH,CAAcJ,0BAAd,CAApC,EAA+E;IAC7E,OAAO,IAAP;EACD;;EACD,MAAMK,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWJ,aAAA,CAAGK,YAAH,CAAgBR,0BAAhB,EAA4C,MAA5C,CAAX,CAApB;EACA,OAAOK,WAAW,CAACI,OAAnB;AACD;;AAEM,SAASC,YAAT,CACLC,MADK,EAELC,QAFK,EAGU;EAAA;;EACf,uBAAID,MAAM,CAACE,OAAX,4CAAI,gBAAgBC,GAApB,EAAyB;IAAA;;IACvB,2BAAOH,MAAM,CAACE,OAAd,qDAAO,iBAAgBC,GAAvB;EACD;;EAED,MAAMC,IAAI,GAAG,OAAOJ,MAAM,CAACK,KAAd,KAAwB,QAAxB,GAAmCL,MAAM,CAACK,KAA1C,GAAkDJ,QAA/D;;EACA,IAAI,CAACG,IAAL,EAAW;IACT,OAAO,IAAP;EACD;;EACD,OAAQ,qBAAoBA,IAAK,IAAGJ,MAAM,CAACM,IAAK,EAAhD;AACD;;AAEM,SAASC,gBAAT,CACLP,MADK,EAKLQ,QALK,EAMG;EACR,MAAMV,OAAO,GAAGW,aAAA,CAAUC,OAAV,CAAkBC,UAAlB,CAA6BX,MAA7B,CAAhB;;EACA,QAAQQ,QAAR;IACE,KAAK,KAAL;MAAY;QACV,MAAMI,WAAW,GAAGH,aAAA,CAAUC,OAAV,CAAkBG,cAAlB,CAAiCb,MAAjC,CAApB;;QACA,OAAQ,GAAEF,OAAQ,IAAGc,WAAY,GAAjC;MACD;;IACD,KAAK,SAAL;MAAgB;QACd,MAAME,WAAW,GAAGC,iBAAA,CAAcL,OAAd,CAAsBM,cAAtB,CAAqChB,MAArC,CAApB;;QACA,OAAQ,GAAEF,OAAQ,IAAGgB,WAAY,GAAjC;MACD;;IACD;MAAS;QACP,MAAM,IAAIG,KAAJ,CACH,IAAGT,QAAS,kEADT,CAAN;MAGD;EAbH;AAeD;AAED;AACA;AACA;AACA;;;AACO,MAAMU,kBAAsD,GAAIlB,MAAD,IAAY;EAAA;;EAChF,IAAI,eAAAA,MAAM,CAACmB,GAAP,oDAAYC,cAAZ,IAA8BpB,MAAM,CAACoB,cAAzC,EAAyD;IACvD,MAAMA,cAAc,GAAGC,iBAAiB,CAACrB,MAAD,EAAS,KAAT,CAAxC;;IACA,IAAIoB,cAAJ,EAAoB;MAClBpB,MAAM,CAACmB,GAAP,GAAa,EACX,GAAGnB,MAAM,CAACmB,GADC;QAEXC;MAFW,CAAb;IAID;EACF;;EACD,IAAI,mBAAApB,MAAM,CAACsB,OAAP,4DAAgBF,cAAhB,IAAkCpB,MAAM,CAACoB,cAA7C,EAA6D;IAC3D,MAAMA,cAAc,GAAGC,iBAAiB,CAACrB,MAAD,EAAS,SAAT,CAAxC;;IACA,IAAIoB,cAAJ,EAAoB;MAClBpB,MAAM,CAACsB,OAAP,GAAiB,EACf,GAAGtB,MAAM,CAACsB,OADK;QAEfF;MAFe,CAAjB;IAID;EACF;;EACD,OAAOpB,MAAM,CAACoB,cAAd;EACA,OAAOpB,MAAP;AACD,CArBM;;;;AAuBA,SAASuB,yBAAT,CACL,GAAG,CAACvB,MAAD,EAASQ,QAAT,CADE,EAEU;EACf,IAAI;IACF,OAAOa,iBAAiB,CAACrB,MAAD,EAASQ,QAAT,CAAxB;EACD,CAFD,CAEE,OAAOgB,CAAP,EAAU;IACV,IAAI,IAAAC,iBAAA,EAAQ,YAAR,EAAsB,KAAtB,CAAJ,EAAkC;MAChCC,OAAO,CAACC,GAAR,CAAYH,CAAZ;IACD;;IACD,OAAO,IAAP;EACD;AACF;;AAEM,SAASH,iBAAT,CACLrB,MADK,EAKLQ,QALK,EAMU;EAAA;;EACf,MAAMY,cAAc,gDAAGpB,MAAM,CAACQ,QAAD,CAAT,qDAAG,iBAAkBY,cAArB,yEAAuCpB,MAAM,CAACoB,cAAlE;;EACA,IAAI,CAACA,cAAL,EAAqB;IACnB,OAAO,IAAP;EACD;;EAED,IAAI,OAAOA,cAAP,KAA0B,QAA9B,EAAwC;IACtC,OAAOA,cAAP;EACD,CAFD,MAEO,IAAIA,cAAc,CAACQ,MAAf,KAA0B,eAA9B,EAA+C;IACpD,OAAOrB,gBAAgB,CAACP,MAAD,EAASQ,QAAT,CAAvB;EACD,CAFM,MAEA,IAAIY,cAAc,CAACQ,MAAf,KAA0B,YAA9B,EAA4C;IACjD,IAAI,CAAC5B,MAAM,CAAC6B,UAAZ,EAAwB;MACtB,MAAM,IAAIZ,KAAJ,CAAU,4EAAV,CAAN;IACD;;IACD,OAAO,IAAAa,oDAAA,EAA+B9B,MAAM,CAAC6B,UAAtC,CAAP;EACD;;EAED,MAAM,IAAIZ,KAAJ,CACH,IACC,OAAOG,cAAP,KAA0B,QAA1B,GAAqCzB,IAAI,CAACoC,SAAL,CAAeX,cAAf,CAArC,GAAsEA,cACvE,sHAHG,CAAN;AAKD;;AAEM,SAASY,aAAT,CAAuBhC,MAAvB,EAAqF;EAC1F,OAAO,OAAOA,MAAM,CAAC6B,UAAd,KAA6B,QAA7B,GAAwC7B,MAAM,CAAC6B,UAA/C,GAA4D,IAAnE;AACD;;AAEM,SAASI,iBAAT,CAA2BjC,MAA3B,EAAgF;EAAA;;EACrF,OAAO,qBAAAA,MAAM,CAACE,OAAP,sEAAgBgC,OAAhB,MAA4B,KAAnC;AACD;;AAEM,SAASC,iBAAT,CAA2BnC,MAA3B,EAA+E;EAAA;;EACpF,oDAAOA,MAAM,CAACE,OAAd,qDAAO,iBAAgBkC,sBAAvB,yEAAiD,CAAjD;AACD;;AAEM,SAASC,uBAAT,CACLrC,MADK,EAELsC,yBAFK,EAGuC;EAAA;;EAC5C,IAAI,qBAAAtC,MAAM,CAACE,OAAP,sEAAgBqC,kBAAhB,MAAuC,mBAA3C,EAAgE;IAC9D;IACA,IAAID,yBAAyB,IAAIE,iBAAA,CAAOC,GAAP,CAAWH,yBAAX,EAAsC,QAAtC,CAAjC,EAAkF;MAChF,OAAO,qBAAP;IACD;;IACD,OAAO,OAAP;EACD,CAND,MAMO,IAAI,qBAAAtC,MAAM,CAACE,OAAP,sEAAgBqC,kBAAhB,MAAuC,SAA3C,EAAsD;IAC3D,OAAO,QAAP;EACD;;EACD,OAAO,QAAP;AACD;;AAEM,SAASG,gCAAT,CACLtD,WADK,EAELY,MAFK,EAGe;EAAA;;EACpB,MAAM2C,0BAA0B,uBAAG3C,MAAM,CAACE,OAAV,qDAAG,iBAAgB0C,sBAAnD;;EACA,IAAI,CAACD,0BAAL,EAAiC;IAC/B,OAAOE,SAAP;EACD;;EAED,MAAMC,SAAS,GAAGC,eAAA,CAAKC,IAAL,CAAU5D,WAAV,EAAuBuD,0BAAvB,CAAlB;;EACA,IAAI,CAACnD,aAAA,CAAGC,UAAH,CAAcqD,SAAd,CAAL,EAA+B;IAC7B,MAAM,IAAI7B,KAAJ,CAAW,8DAA6D6B,SAAU,EAAlF,CAAN;EACD;;EAED,OAAOtD,aAAA,CAAGK,YAAH,CAAgBiD,SAAhB,EAA2B,MAA3B,CAAP;AACD;;AAEM,SAASG,6BAAT,CACLjD,MADK,EAE6D;EAAA;;EAClE,2BAAOA,MAAM,CAACE,OAAd,qDAAO,iBAAgBgD,mBAAvB;AACD;;AAEM,SAASC,wCAAT,CACLnD,MADK,EAEe;EACpB,MAAMoD,QAAQ,GAAGH,6BAA6B,CAACjD,MAAD,CAA9C;;EACA,IAAI,CAACoD,QAAL,EAAe;IACb,OAAOP,SAAP;EACD;;EAED,OAAOlD,IAAI,CAACoC,SAAL,CAAeqB,QAAf,CAAP;AACD"}
|
|
1
|
+
{"version":3,"file":"Updates.js","names":["getExpoUpdatesPackageVersion","projectRoot","expoUpdatesPackageJsonPath","resolveFrom","silent","fs","existsSync","packageJson","JSON","parse","readFileSync","version","getUpdateUrl","config","username","updates","url","user","owner","slug","getAppVersion","getNativeVersion","platform","IOSConfig","Version","getVersion","buildNumber","getBuildNumber","versionCode","AndroidConfig","getVersionCode","Error","withRuntimeVersion","ios","runtimeVersion","getRuntimeVersion","android","getRuntimeVersionNullable","e","boolish","console","log","policy","sdkVersion","getRuntimeVersionForSDKVersion","stringify","getSDKVersion","getUpdatesEnabled","enabled","getUpdatesTimeout","fallbackToCacheTimeout","getUpdatesCheckOnLaunch","expoUpdatesPackageVersion","checkAutomatically","semver","gte","getUpdatesCodeSigningCertificate","codeSigningCertificatePath","codeSigningCertificate","undefined","finalPath","path","join","getUpdatesCodeSigningMetadata","codeSigningMetadata","getUpdatesCodeSigningMetadataStringified","metadata"],"sources":["../../src/utils/Updates.ts"],"sourcesContent":["import { Android, ExpoConfig, IOS } from '@expo/config-types';\nimport { getRuntimeVersionForSDKVersion } from '@expo/sdk-runtime-versions';\nimport fs from 'fs';\nimport { boolish } from 'getenv';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\nimport semver from 'semver';\n\nimport { AndroidConfig, IOSConfig } from '..';\n\nexport type ExpoConfigUpdates = Pick<\n ExpoConfig,\n 'sdkVersion' | 'owner' | 'runtimeVersion' | 'updates' | 'slug'\n>;\n\nexport function getExpoUpdatesPackageVersion(projectRoot: string): string | null {\n const expoUpdatesPackageJsonPath = resolveFrom.silent(projectRoot, 'expo-updates/package.json');\n if (!expoUpdatesPackageJsonPath || !fs.existsSync(expoUpdatesPackageJsonPath)) {\n return null;\n }\n const packageJson = JSON.parse(fs.readFileSync(expoUpdatesPackageJsonPath, 'utf8'));\n return packageJson.version;\n}\n\nexport function getUpdateUrl(\n config: Pick<ExpoConfigUpdates, 'owner' | 'slug' | 'updates'>,\n username: string | null\n): string | null {\n if (config.updates?.url) {\n return config.updates?.url;\n }\n\n const user = typeof config.owner === 'string' ? config.owner : username;\n if (!user) {\n return null;\n }\n return `https://exp.host/@${user}/${config.slug}`;\n}\n\nexport function getAppVersion(config: Pick<ExpoConfig, 'version'>): string {\n return config.version ?? '1.0.0';\n}\n\nexport function getNativeVersion(\n config: Pick<ExpoConfig, 'version'> & {\n android?: Pick<Android, 'versionCode'>;\n ios?: Pick<IOS, 'buildNumber'>;\n },\n platform: 'android' | 'ios'\n): string {\n const version = IOSConfig.Version.getVersion(config);\n switch (platform) {\n case 'ios': {\n const buildNumber = IOSConfig.Version.getBuildNumber(config);\n return `${version}(${buildNumber})`;\n }\n case 'android': {\n const versionCode = AndroidConfig.Version.getVersionCode(config);\n return `${version}(${versionCode})`;\n }\n default: {\n throw new Error(\n `\"${platform}\" is not a supported platform. Choose either \"ios\" or \"android\".`\n );\n }\n }\n}\n\n/**\n * Compute runtime version policies.\n * @return an expoConfig with only string valued platform specific runtime versions.\n */\nexport const withRuntimeVersion: (config: ExpoConfig) => ExpoConfig = (config) => {\n if (config.ios?.runtimeVersion || config.runtimeVersion) {\n const runtimeVersion = getRuntimeVersion(config, 'ios');\n if (runtimeVersion) {\n config.ios = {\n ...config.ios,\n runtimeVersion,\n };\n }\n }\n if (config.android?.runtimeVersion || config.runtimeVersion) {\n const runtimeVersion = getRuntimeVersion(config, 'android');\n if (runtimeVersion) {\n config.android = {\n ...config.android,\n runtimeVersion,\n };\n }\n }\n delete config.runtimeVersion;\n return config;\n};\n\nexport function getRuntimeVersionNullable(\n ...[config, platform]: Parameters<typeof getRuntimeVersion>\n): string | null {\n try {\n return getRuntimeVersion(config, platform);\n } catch (e) {\n if (boolish('EXPO_DEBUG', false)) {\n console.log(e);\n }\n return null;\n }\n}\n\nexport function getRuntimeVersion(\n config: Pick<ExpoConfig, 'version' | 'runtimeVersion' | 'sdkVersion'> & {\n android?: Pick<Android, 'versionCode' | 'runtimeVersion'>;\n ios?: Pick<IOS, 'buildNumber' | 'runtimeVersion'>;\n },\n platform: 'android' | 'ios'\n): string | null {\n const runtimeVersion = config[platform]?.runtimeVersion ?? config.runtimeVersion;\n if (!runtimeVersion) {\n return null;\n }\n\n if (typeof runtimeVersion === 'string') {\n return runtimeVersion;\n } else if (runtimeVersion.policy === 'appVersion') {\n return getAppVersion(config);\n } else if (runtimeVersion.policy === 'nativeVersion') {\n return getNativeVersion(config, platform);\n } else if (runtimeVersion.policy === 'sdkVersion') {\n if (!config.sdkVersion) {\n throw new Error(\"An SDK version must be defined when using the 'sdkVersion' runtime policy.\");\n }\n return getRuntimeVersionForSDKVersion(config.sdkVersion);\n }\n\n throw new Error(\n `\"${\n typeof runtimeVersion === 'object' ? JSON.stringify(runtimeVersion) : runtimeVersion\n }\" is not a valid runtime version. getRuntimeVersion only supports a string, \"sdkVersion\", \"appVersion\", or \"nativeVersion\" policy.`\n );\n}\n\nexport function getSDKVersion(config: Pick<ExpoConfigUpdates, 'sdkVersion'>): string | null {\n return typeof config.sdkVersion === 'string' ? config.sdkVersion : null;\n}\n\nexport function getUpdatesEnabled(config: Pick<ExpoConfigUpdates, 'updates'>): boolean {\n return config.updates?.enabled !== false;\n}\n\nexport function getUpdatesTimeout(config: Pick<ExpoConfigUpdates, 'updates'>): number {\n return config.updates?.fallbackToCacheTimeout ?? 0;\n}\n\nexport function getUpdatesCheckOnLaunch(\n config: Pick<ExpoConfigUpdates, 'updates'>,\n expoUpdatesPackageVersion?: string | null\n): 'NEVER' | 'ERROR_RECOVERY_ONLY' | 'ALWAYS' {\n if (config.updates?.checkAutomatically === 'ON_ERROR_RECOVERY') {\n // native 'ERROR_RECOVERY_ONLY' option was only introduced in 0.11.x\n if (expoUpdatesPackageVersion && semver.gte(expoUpdatesPackageVersion, '0.11.0')) {\n return 'ERROR_RECOVERY_ONLY';\n }\n return 'NEVER';\n } else if (config.updates?.checkAutomatically === 'ON_LOAD') {\n return 'ALWAYS';\n }\n return 'ALWAYS';\n}\n\nexport function getUpdatesCodeSigningCertificate(\n projectRoot: string,\n config: Pick<ExpoConfigUpdates, 'updates'>\n): string | undefined {\n const codeSigningCertificatePath = config.updates?.codeSigningCertificate;\n if (!codeSigningCertificatePath) {\n return undefined;\n }\n\n const finalPath = path.join(projectRoot, codeSigningCertificatePath);\n if (!fs.existsSync(finalPath)) {\n throw new Error(`File not found at \\`updates.codeSigningCertificate\\` path: ${finalPath}`);\n }\n\n return fs.readFileSync(finalPath, 'utf8');\n}\n\nexport function getUpdatesCodeSigningMetadata(\n config: Pick<ExpoConfigUpdates, 'updates'>\n): NonNullable<ExpoConfigUpdates['updates']>['codeSigningMetadata'] {\n return config.updates?.codeSigningMetadata;\n}\n\nexport function getUpdatesCodeSigningMetadataStringified(\n config: Pick<ExpoConfigUpdates, 'updates'>\n): string | undefined {\n const metadata = getUpdatesCodeSigningMetadata(config);\n if (!metadata) {\n return undefined;\n }\n\n return JSON.stringify(metadata);\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/config-plugins",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "A library for Expo config plugins",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"publishConfig": {
|
|
57
57
|
"access": "public"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "b17e98b25058c356a16e517cfe2b64198274c9b8"
|
|
60
60
|
}
|