@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.
@@ -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'>;
@@ -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":"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"}
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.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": "093d340c3fd67ff4375af3a471c7d044aee893c9"
59
+ "gitHead": "b17e98b25058c356a16e517cfe2b64198274c9b8"
60
60
  }