@expo/config-plugins 56.0.9 → 56.0.11
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/Plugin.types.js +3 -9
- package/build/Plugin.types.js.map +1 -1
- package/build/android/AllowBackup.js +1 -3
- package/build/android/AllowBackup.js.map +1 -1
- package/build/android/BuildProperties.js +1 -3
- package/build/android/BuildProperties.js.map +1 -1
- package/build/android/Colors.js +1 -3
- package/build/android/Colors.js.map +1 -1
- package/build/android/EasBuild.js +1 -3
- package/build/android/EasBuild.js.map +1 -1
- package/build/android/EasBuildGradleScript.js +1 -3
- package/build/android/EasBuildGradleScript.js.map +1 -1
- package/build/android/GoogleMapsApiKey.js +1 -3
- package/build/android/GoogleMapsApiKey.js.map +1 -1
- package/build/android/GoogleServices.js +1 -3
- package/build/android/GoogleServices.js.map +1 -1
- package/build/android/IntentFilters.js +1 -3
- package/build/android/IntentFilters.js.map +1 -1
- package/build/android/Locales.js +13 -8
- package/build/android/Locales.js.map +1 -1
- package/build/android/Manifest.js +1 -3
- package/build/android/Manifest.js.map +1 -1
- package/build/android/Name.js +1 -3
- package/build/android/Name.js.map +1 -1
- package/build/android/Orientation.js +1 -3
- package/build/android/Orientation.js.map +1 -1
- package/build/android/Package.js +1 -3
- package/build/android/Package.js.map +1 -1
- package/build/android/Paths.js +1 -3
- package/build/android/Paths.js.map +1 -1
- package/build/android/Permissions.js +1 -3
- package/build/android/Permissions.js.map +1 -1
- package/build/android/PredictiveBackGesture.js +1 -3
- package/build/android/PredictiveBackGesture.js.map +1 -1
- package/build/android/PrimaryColor.js +1 -3
- package/build/android/PrimaryColor.js.map +1 -1
- package/build/android/Properties.js +1 -3
- package/build/android/Properties.js.map +1 -1
- package/build/android/Resources.js +1 -3
- package/build/android/Resources.js.map +1 -1
- package/build/android/Scheme.js +1 -3
- package/build/android/Scheme.js.map +1 -1
- package/build/android/Strings.js +1 -3
- package/build/android/Strings.js.map +1 -1
- package/build/android/Styles.js +1 -3
- package/build/android/Styles.js.map +1 -1
- package/build/android/SystemBars.js +1 -3
- package/build/android/SystemBars.js.map +1 -1
- package/build/android/Updates.js +1 -3
- package/build/android/Updates.js.map +1 -1
- package/build/android/Version.js +1 -3
- package/build/android/Version.js.map +1 -1
- package/build/android/WindowSoftInputMode.js +1 -3
- package/build/android/WindowSoftInputMode.js.map +1 -1
- package/build/android/codeMod.js +1 -3
- package/build/android/codeMod.js.map +1 -1
- package/build/android/index.js +1 -3
- package/build/android/index.js.map +1 -1
- package/build/index.js +44 -212
- package/build/index.js.map +1 -1
- package/build/ios/Bitcode.js +1 -3
- package/build/ios/Bitcode.js.map +1 -1
- package/build/ios/BuildProperties.js +1 -3
- package/build/ios/BuildProperties.js.map +1 -1
- package/build/ios/BuildScheme.js +1 -3
- package/build/ios/BuildScheme.js.map +1 -1
- package/build/ios/BundleIdentifier.js +1 -3
- package/build/ios/BundleIdentifier.js.map +1 -1
- package/build/ios/DeploymentTarget.js +1 -3
- package/build/ios/DeploymentTarget.js.map +1 -1
- package/build/ios/DevelopmentTeam.js +1 -3
- package/build/ios/DevelopmentTeam.js.map +1 -1
- package/build/ios/DeviceFamily.js +1 -3
- package/build/ios/DeviceFamily.js.map +1 -1
- package/build/ios/Entitlements.js +1 -3
- package/build/ios/Entitlements.js.map +1 -1
- package/build/ios/Google.js +1 -3
- package/build/ios/Google.js.map +1 -1
- package/build/ios/Locales.js +1 -3
- package/build/ios/Locales.js.map +1 -1
- package/build/ios/Maps.js +1 -3
- package/build/ios/Maps.js.map +1 -1
- package/build/ios/Name.js +1 -3
- package/build/ios/Name.js.map +1 -1
- package/build/ios/Orientation.js +1 -3
- package/build/ios/Orientation.js.map +1 -1
- package/build/ios/Paths.js +1 -3
- package/build/ios/Paths.js.map +1 -1
- package/build/ios/Permissions.js +1 -3
- package/build/ios/Permissions.js.map +1 -1
- package/build/ios/PrivacyInfo.js +1 -3
- package/build/ios/PrivacyInfo.js.map +1 -1
- package/build/ios/ProvisioningProfile.js +1 -3
- package/build/ios/ProvisioningProfile.js.map +1 -1
- package/build/ios/RequiresFullScreen.js +1 -3
- package/build/ios/RequiresFullScreen.js.map +1 -1
- package/build/ios/Scheme.js +1 -3
- package/build/ios/Scheme.js.map +1 -1
- package/build/ios/Target.js +1 -3
- package/build/ios/Target.js.map +1 -1
- package/build/ios/Updates.js +1 -3
- package/build/ios/Updates.js.map +1 -1
- package/build/ios/UsesNonExemptEncryption.js +1 -3
- package/build/ios/UsesNonExemptEncryption.js.map +1 -1
- package/build/ios/Version.js +1 -3
- package/build/ios/Version.js.map +1 -1
- package/build/ios/XcodeProjectFile.js +1 -3
- package/build/ios/XcodeProjectFile.js.map +1 -1
- package/build/ios/codeMod.js +1 -3
- package/build/ios/codeMod.js.map +1 -1
- package/build/ios/index.js +1 -3
- package/build/ios/utils/Xcodeproj.js +1 -3
- package/build/ios/utils/Xcodeproj.js.map +1 -1
- package/build/ios/utils/getInfoPlistPath.js +1 -3
- package/build/ios/utils/getInfoPlistPath.js.map +1 -1
- package/build/ios/utils/string.js +1 -3
- package/build/ios/utils/string.js.map +1 -1
- package/build/plugins/android-plugins.js +1 -3
- package/build/plugins/android-plugins.js.map +1 -1
- package/build/plugins/createBaseMod.js +1 -3
- package/build/plugins/createBaseMod.js.map +1 -1
- package/build/plugins/ios-plugins.js +1 -3
- package/build/plugins/ios-plugins.js.map +1 -1
- package/build/plugins/mod-compiler.js +1 -3
- package/build/plugins/mod-compiler.js.map +1 -1
- package/build/plugins/withAndroidBaseMods.js +1 -3
- package/build/plugins/withAndroidBaseMods.js.map +1 -1
- package/build/plugins/withDangerousMod.js +1 -3
- package/build/plugins/withDangerousMod.js.map +1 -1
- package/build/plugins/withFinalizedMod.js +1 -3
- package/build/plugins/withFinalizedMod.js.map +1 -1
- package/build/plugins/withIosBaseMods.js +1 -3
- package/build/plugins/withIosBaseMods.js.map +1 -1
- package/build/plugins/withMod.js +1 -3
- package/build/plugins/withMod.js.map +1 -1
- package/build/plugins/withPlugins.js +1 -3
- package/build/plugins/withPlugins.js.map +1 -1
- package/build/plugins/withRunOnce.js +1 -3
- package/build/plugins/withRunOnce.js.map +1 -1
- package/build/plugins/withStaticPlugin.js +1 -3
- package/build/plugins/withStaticPlugin.js.map +1 -1
- package/build/utils/Updates.js +1 -3
- package/build/utils/Updates.js.map +1 -1
- package/build/utils/XML.js +1 -3
- package/build/utils/XML.js.map +1 -1
- package/build/utils/commonCodeMod.js +1 -3
- package/build/utils/commonCodeMod.js.map +1 -1
- package/build/utils/errors.js +1 -3
- package/build/utils/errors.js.map +1 -1
- package/build/utils/fs.js +1 -3
- package/build/utils/fs.js.map +1 -1
- package/build/utils/generateCode.js +1 -3
- package/build/utils/generateCode.js.map +1 -1
- package/build/utils/glob.js +1 -3
- package/build/utils/glob.js.map +1 -1
- package/build/utils/history.js +1 -3
- package/build/utils/history.js.map +1 -1
- package/build/utils/locales.js +1 -3
- package/build/utils/locales.js.map +1 -1
- package/build/utils/matchBrackets.js +1 -3
- package/build/utils/matchBrackets.js.map +1 -1
- package/build/utils/modules.js +1 -3
- package/build/utils/modules.js.map +1 -1
- package/build/utils/obj.js +1 -3
- package/build/utils/obj.js.map +1 -1
- package/build/utils/plugin-resolver.js +1 -3
- package/build/utils/plugin-resolver.js.map +1 -1
- package/build/utils/sortObject.js +1 -3
- package/build/utils/sortObject.js.map +1 -1
- package/build/utils/validations.js +1 -3
- package/build/utils/validations.js.map +1 -1
- package/build/utils/warnings.js +1 -3
- package/build/utils/warnings.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resources.js","names":["_XML","data","require","fallbackResourceString","readResourcesXMLAsync","path","fallback","xml","readXMLAsync","resources","ensureDefaultResourceXML","buildResourceItem","name","value","targetApi","translatable","item","$","_","undefined","String","buildResourceGroup","parent","items","findResourceGroup","group","app","filter","head","matches","getResourceItemsAsObject","reduce","prev","curr","getObjectAsResourceItems","obj","Object","entries","map","getObjectAsResourceGroup"],"sources":["../../src/android/Resources.ts"],"sourcesContent":["import { readXMLAsync, type XMLObject } from '../utils/XML';\n\nexport type ResourceGroupXML = {\n $: {\n name: string;\n parent: string;\n };\n item: ResourceItemXML[];\n};\n\nexport type ResourceXML = {\n resources: {\n $?: {\n 'xmlns:tools'?: string;\n };\n color?: ResourceItemXML[];\n string?: ResourceItemXML[];\n style?: ResourceGroupXML[];\n // Add more if needed...\n };\n};\n\nexport type ResourceItemXML = {\n _: string;\n $: {\n name: string;\n 'tools:targetApi'?: string;\n translatable?: string;\n };\n};\n/**\n * Name of the resource folder.\n */\nexport type ResourceKind =\n | 'values'\n | 'values-night'\n | 'values-v23'\n | 'values-night-v23'\n | 'drawable';\n\nconst fallbackResourceString = `<?xml version=\"1.0\" encoding=\"utf-8\"?><resources></resources>`;\n\n/**\n * Read an XML file while providing a default fallback for resource files.\n *\n * @param options path to the XML file, returns a fallback XML if the path doesn't exist.\n */\nexport async function readResourcesXMLAsync({\n path,\n fallback = fallbackResourceString,\n}: {\n path: string;\n fallback?: string | null;\n}): Promise<ResourceXML> {\n const xml = await readXMLAsync({ path, fallback });\n // Ensure the type is expected.\n if (!xml.resources) {\n xml.resources = {};\n }\n return xml as ResourceXML;\n}\n\n/**\n * Ensure the provided xml has a `resources` object (the expected shape).\n *\n * @param xml\n */\nexport function ensureDefaultResourceXML(xml: XMLObject): ResourceXML {\n if (!xml) {\n xml = { resources: {} };\n }\n if (!xml.resources) {\n xml.resources = {};\n }\n\n return xml as ResourceXML;\n}\n\n/**\n * Build a `ResourceItemXML` given its `name` and `value`. This makes things a bit more readable.\n *\n * - JSON: `{ $: { name }, _: value }`\n * - XML: `<item name=\"NAME\">VALUE</item>`\n *\n * @param props name and value strings.\n */\nexport function buildResourceItem({\n name,\n value,\n targetApi,\n translatable,\n}: {\n name: string;\n value: string;\n targetApi?: string;\n translatable?: boolean;\n}): ResourceItemXML {\n const item: ResourceItemXML = { $: { name }, _: value };\n if (targetApi) {\n item.$['tools:targetApi'] = targetApi;\n }\n if (translatable !== undefined) {\n item.$['translatable'] = String(translatable);\n }\n return item;\n}\n\nexport function buildResourceGroup(parent: {\n name: string;\n parent: string;\n items?: ResourceItemXML[];\n}): ResourceGroupXML {\n return {\n $: { name: parent.name, parent: parent.parent },\n item: parent.items ?? [],\n };\n}\n\nexport function findResourceGroup(\n xml: ResourceGroupXML[] | undefined,\n group: { name: string; parent?: string }\n): ResourceGroupXML | null {\n const app = xml?.filter?.(({ $: head }) => {\n let matches = head.name === group.name;\n if (group.parent != null && matches) {\n matches = head.parent === group.parent;\n }\n return matches;\n })?.[0];\n return app ?? null;\n}\n\n/**\n * Helper to convert a basic XML object into a simple k/v pair.\n *\n * @param xml\n * @returns\n */\nexport function getResourceItemsAsObject(xml: ResourceItemXML[]): Record<string, string> | null {\n return xml.reduce(\n (prev, curr) => ({\n ...prev,\n [curr.$.name]: curr._,\n }),\n {}\n );\n}\n\n/**\n * Helper to convert a basic k/v object to a ResourceItemXML array.\n *\n * @param xml\n * @returns\n */\nexport function getObjectAsResourceItems(obj: Record<string, string>): ResourceItemXML[] {\n return Object.entries(obj).map(([name, value]) => ({\n $: { name },\n _: value,\n }));\n}\n\nexport function getObjectAsResourceGroup(group: {\n name: string;\n parent: string;\n item: Record<string, string>;\n}): ResourceGroupXML {\n return {\n $: {\n name: group.name,\n parent: group.parent,\n },\n item: getObjectAsResourceItems(group.item),\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Resources.js","names":["_XML","data","require","fallbackResourceString","readResourcesXMLAsync","path","fallback","xml","readXMLAsync","resources","ensureDefaultResourceXML","buildResourceItem","name","value","targetApi","translatable","item","$","_","undefined","String","buildResourceGroup","parent","items","findResourceGroup","group","app","filter","head","matches","getResourceItemsAsObject","reduce","prev","curr","getObjectAsResourceItems","obj","Object","entries","map","getObjectAsResourceGroup"],"sources":["../../src/android/Resources.ts"],"sourcesContent":["import { readXMLAsync, type XMLObject } from '../utils/XML';\n\nexport type ResourceGroupXML = {\n $: {\n name: string;\n parent: string;\n };\n item: ResourceItemXML[];\n};\n\nexport type ResourceXML = {\n resources: {\n $?: {\n 'xmlns:tools'?: string;\n };\n color?: ResourceItemXML[];\n string?: ResourceItemXML[];\n style?: ResourceGroupXML[];\n // Add more if needed...\n };\n};\n\nexport type ResourceItemXML = {\n _: string;\n $: {\n name: string;\n 'tools:targetApi'?: string;\n translatable?: string;\n };\n};\n/**\n * Name of the resource folder.\n */\nexport type ResourceKind =\n | 'values'\n | 'values-night'\n | 'values-v23'\n | 'values-night-v23'\n | 'drawable';\n\nconst fallbackResourceString = `<?xml version=\"1.0\" encoding=\"utf-8\"?><resources></resources>`;\n\n/**\n * Read an XML file while providing a default fallback for resource files.\n *\n * @param options path to the XML file, returns a fallback XML if the path doesn't exist.\n */\nexport async function readResourcesXMLAsync({\n path,\n fallback = fallbackResourceString,\n}: {\n path: string;\n fallback?: string | null;\n}): Promise<ResourceXML> {\n const xml = await readXMLAsync({ path, fallback });\n // Ensure the type is expected.\n if (!xml.resources) {\n xml.resources = {};\n }\n return xml as ResourceXML;\n}\n\n/**\n * Ensure the provided xml has a `resources` object (the expected shape).\n *\n * @param xml\n */\nexport function ensureDefaultResourceXML(xml: XMLObject): ResourceXML {\n if (!xml) {\n xml = { resources: {} };\n }\n if (!xml.resources) {\n xml.resources = {};\n }\n\n return xml as ResourceXML;\n}\n\n/**\n * Build a `ResourceItemXML` given its `name` and `value`. This makes things a bit more readable.\n *\n * - JSON: `{ $: { name }, _: value }`\n * - XML: `<item name=\"NAME\">VALUE</item>`\n *\n * @param props name and value strings.\n */\nexport function buildResourceItem({\n name,\n value,\n targetApi,\n translatable,\n}: {\n name: string;\n value: string;\n targetApi?: string;\n translatable?: boolean;\n}): ResourceItemXML {\n const item: ResourceItemXML = { $: { name }, _: value };\n if (targetApi) {\n item.$['tools:targetApi'] = targetApi;\n }\n if (translatable !== undefined) {\n item.$['translatable'] = String(translatable);\n }\n return item;\n}\n\nexport function buildResourceGroup(parent: {\n name: string;\n parent: string;\n items?: ResourceItemXML[];\n}): ResourceGroupXML {\n return {\n $: { name: parent.name, parent: parent.parent },\n item: parent.items ?? [],\n };\n}\n\nexport function findResourceGroup(\n xml: ResourceGroupXML[] | undefined,\n group: { name: string; parent?: string }\n): ResourceGroupXML | null {\n const app = xml?.filter?.(({ $: head }) => {\n let matches = head.name === group.name;\n if (group.parent != null && matches) {\n matches = head.parent === group.parent;\n }\n return matches;\n })?.[0];\n return app ?? null;\n}\n\n/**\n * Helper to convert a basic XML object into a simple k/v pair.\n *\n * @param xml\n * @returns\n */\nexport function getResourceItemsAsObject(xml: ResourceItemXML[]): Record<string, string> | null {\n return xml.reduce(\n (prev, curr) => ({\n ...prev,\n [curr.$.name]: curr._,\n }),\n {}\n );\n}\n\n/**\n * Helper to convert a basic k/v object to a ResourceItemXML array.\n *\n * @param xml\n * @returns\n */\nexport function getObjectAsResourceItems(obj: Record<string, string>): ResourceItemXML[] {\n return Object.entries(obj).map(([name, value]) => ({\n $: { name },\n _: value,\n }));\n}\n\nexport function getObjectAsResourceGroup(group: {\n name: string;\n parent: string;\n item: Record<string, string>;\n}): ResourceGroupXML {\n return {\n $: {\n name: group.name,\n parent: group.parent,\n },\n item: getObjectAsResourceItems(group.item),\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/android/Scheme.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
3
|
+
exports.__esModule = true;
|
|
6
4
|
exports.appendScheme = appendScheme;
|
|
7
5
|
exports.ensureManifestHasValidIntentFilter = ensureManifestHasValidIntentFilter;
|
|
8
6
|
exports.getScheme = getScheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scheme.js","names":["_androidPlugins","data","require","_warnings","withScheme","exports","createAndroidManifestPlugin","setScheme","getScheme","config","Array","isArray","scheme","validate","value","filter","androidManifest","schemes","android","length","ensureManifestHasValidIntentFilter","addWarningAndroid","currentSchemes","getSchemesFromManifest","uri","index","indexOf","splice","appendScheme","isValidRedirectIntentFilter","actions","categories","includes","propertiesFromIntentFilter","intentFilter","action","map","$","category","host","getSingleTaskIntentFilters","manifest","application","outputSchemes","activity","activities","singleTaskActivities","intentFilters","concat","requestedHost","singleTaskIntentFilters","properties","push","hasScheme","removeScheme","dataKey"],"sources":["../../src/android/Scheme.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config-types';\n\nimport type { AndroidManifest, ManifestActivity } from './Manifest';\nimport { createAndroidManifestPlugin } from '../plugins/android-plugins';\nimport { addWarningAndroid } from '../utils/warnings';\n\nexport type IntentFilterProps = {\n actions: string[];\n categories: string[];\n data: {\n scheme: string;\n host?: string;\n }[];\n};\n\nexport const withScheme = createAndroidManifestPlugin(setScheme, 'withScheme');\n\nexport function getScheme(config: { scheme?: string | string[] }): string[] {\n if (Array.isArray(config.scheme)) {\n const validate = (value: any): value is string => typeof value === 'string';\n\n return config.scheme.filter<string>(validate);\n } else if (typeof config.scheme === 'string') {\n return [config.scheme];\n }\n return [];\n}\n\n// This plugin used to remove the unused schemes but this is unpredictable because other plugins could add schemes.\n// The only way to reliably remove schemes from the project is to nuke the file and regenerate the code (`npx expo prebuild --clean`).\n// Regardless, having extra schemes isn't a fatal issue and therefore a tolerable compromise is to just add new schemes that aren't currently present.\nexport function setScheme(\n config: Pick<ExpoConfig, 'scheme' | 'android'>,\n androidManifest: AndroidManifest\n) {\n const schemes = [...getScheme(config), ...getScheme(config.android ?? {})];\n if (schemes.length === 0) {\n return androidManifest;\n }\n\n if (!ensureManifestHasValidIntentFilter(androidManifest)) {\n addWarningAndroid(\n 'scheme',\n `Cannot add schemes because the provided manifest does not have a valid Activity with \\`android:launchMode=\"singleTask\"\\``,\n 'https://expo.fyi/setup-android-uri-scheme'\n );\n return androidManifest;\n }\n\n // Get the current schemes and remove them from the list of schemes to add.\n const currentSchemes = getSchemesFromManifest(androidManifest);\n for (const uri of currentSchemes) {\n const index = schemes.indexOf(uri);\n if (index > -1) schemes.splice(index, 1);\n }\n\n // Now add all of the remaining schemes.\n for (const uri of schemes) {\n androidManifest = appendScheme(uri, androidManifest);\n }\n\n return androidManifest;\n}\n\nfunction isValidRedirectIntentFilter({ actions, categories }: IntentFilterProps): boolean {\n return (\n actions.includes('android.intent.action.VIEW') &&\n !categories.includes('android.intent.category.LAUNCHER')\n );\n}\n\nfunction propertiesFromIntentFilter(intentFilter: any): IntentFilterProps {\n const actions = intentFilter?.action?.map((data: any) => data?.$?.['android:name']) ?? [];\n const categories = intentFilter?.category?.map((data: any) => data?.$?.['android:name']) ?? [];\n const data =\n intentFilter?.data\n ?.filter((data: any) => data?.$?.['android:scheme'])\n ?.map((data: any) => ({\n scheme: data?.$?.['android:scheme'],\n host: data?.$?.['android:host'],\n })) ?? [];\n return {\n actions,\n categories,\n data,\n };\n}\n\nfunction getSingleTaskIntentFilters(androidManifest: AndroidManifest): any[] {\n if (!Array.isArray(androidManifest.manifest.application)) return [];\n\n let outputSchemes: any[] = [];\n for (const application of androidManifest.manifest.application) {\n const { activity } = application;\n // @ts-ignore\n const activities = Array.isArray(activity) ? activity : [activity];\n const singleTaskActivities = (activities as ManifestActivity[]).filter(\n (activity) => activity?.$?.['android:launchMode'] === 'singleTask'\n );\n for (const activity of singleTaskActivities) {\n const intentFilters = activity['intent-filter'];\n outputSchemes = outputSchemes.concat(intentFilters);\n }\n }\n return outputSchemes;\n}\n\nexport function getSchemesFromManifest(\n androidManifest: AndroidManifest,\n requestedHost: string | null = null\n): string[] {\n const outputSchemes: string[] = [];\n\n const singleTaskIntentFilters = getSingleTaskIntentFilters(androidManifest);\n for (const intentFilter of singleTaskIntentFilters) {\n const properties = propertiesFromIntentFilter(intentFilter);\n if (isValidRedirectIntentFilter(properties) && properties.data) {\n for (const { scheme, host } of properties.data) {\n if (requestedHost === null || !host || host === requestedHost) {\n outputSchemes.push(scheme);\n }\n }\n }\n }\n\n return outputSchemes;\n}\n\nexport function ensureManifestHasValidIntentFilter(androidManifest: AndroidManifest): boolean {\n if (!Array.isArray(androidManifest.manifest.application)) {\n return false;\n }\n\n for (const application of androidManifest.manifest.application) {\n for (const activity of application.activity || []) {\n if (activity?.$?.['android:launchMode'] === 'singleTask') {\n for (const intentFilter of activity['intent-filter'] || []) {\n // Parse valid intent filters...\n const properties = propertiesFromIntentFilter(intentFilter);\n if (isValidRedirectIntentFilter(properties)) {\n return true;\n }\n }\n if (!activity['intent-filter']) {\n activity['intent-filter'] = [];\n }\n\n activity['intent-filter'].push({\n action: [{ $: { 'android:name': 'android.intent.action.VIEW' } }],\n category: [\n { $: { 'android:name': 'android.intent.category.DEFAULT' } },\n { $: { 'android:name': 'android.intent.category.BROWSABLE' } },\n ],\n });\n return true;\n }\n }\n }\n return false;\n}\n\nexport function hasScheme(scheme: string, androidManifest: AndroidManifest): boolean {\n const schemes = getSchemesFromManifest(androidManifest);\n return schemes.includes(scheme);\n}\n\nexport function appendScheme(scheme: string, androidManifest: AndroidManifest): AndroidManifest {\n if (!Array.isArray(androidManifest.manifest.application)) {\n return androidManifest;\n }\n\n if (!ensureManifestHasValidIntentFilter(androidManifest)) {\n addWarningAndroid(\n 'scheme',\n `Cannot add schemes because the provided manifest does not have a valid Activity with \\`android:launchMode=\"singleTask\"\\``,\n 'https://expo.fyi/setup-android-uri-scheme'\n );\n return androidManifest;\n }\n\n for (const application of androidManifest.manifest.application) {\n for (const activity of application.activity || []) {\n if (activity?.$?.['android:launchMode'] === 'singleTask') {\n for (const intentFilter of activity['intent-filter'] || []) {\n const properties = propertiesFromIntentFilter(intentFilter);\n if (isValidRedirectIntentFilter(properties)) {\n if (!intentFilter.data) intentFilter.data = [];\n intentFilter.data.push({\n $: { 'android:scheme': scheme },\n });\n }\n }\n break;\n }\n }\n }\n return androidManifest;\n}\n\nexport function removeScheme(scheme: string, androidManifest: AndroidManifest): AndroidManifest {\n if (!Array.isArray(androidManifest.manifest.application)) {\n return androidManifest;\n }\n\n for (const application of androidManifest.manifest.application) {\n for (const activity of application.activity || []) {\n if (activity?.$?.['android:launchMode'] === 'singleTask') {\n for (const intentFilter of activity['intent-filter'] || []) {\n // Parse valid intent filters...\n const properties = propertiesFromIntentFilter(intentFilter);\n if (isValidRedirectIntentFilter(properties)) {\n for (const dataKey in intentFilter?.data || []) {\n const data = intentFilter.data?.[dataKey];\n if (data?.$?.['android:scheme'] === scheme) {\n delete intentFilter.data?.[dataKey];\n }\n }\n }\n }\n break;\n }\n }\n }\n\n return androidManifest;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Scheme.js","names":["_androidPlugins","data","require","_warnings","withScheme","exports","createAndroidManifestPlugin","setScheme","getScheme","config","Array","isArray","scheme","validate","value","filter","androidManifest","schemes","android","length","ensureManifestHasValidIntentFilter","addWarningAndroid","currentSchemes","getSchemesFromManifest","uri","index","indexOf","splice","appendScheme","isValidRedirectIntentFilter","actions","categories","includes","propertiesFromIntentFilter","intentFilter","action","map","$","category","host","getSingleTaskIntentFilters","manifest","application","outputSchemes","activity","activities","singleTaskActivities","intentFilters","concat","requestedHost","singleTaskIntentFilters","properties","push","hasScheme","removeScheme","dataKey"],"sources":["../../src/android/Scheme.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config-types';\n\nimport type { AndroidManifest, ManifestActivity } from './Manifest';\nimport { createAndroidManifestPlugin } from '../plugins/android-plugins';\nimport { addWarningAndroid } from '../utils/warnings';\n\nexport type IntentFilterProps = {\n actions: string[];\n categories: string[];\n data: {\n scheme: string;\n host?: string;\n }[];\n};\n\nexport const withScheme = createAndroidManifestPlugin(setScheme, 'withScheme');\n\nexport function getScheme(config: { scheme?: string | string[] }): string[] {\n if (Array.isArray(config.scheme)) {\n const validate = (value: any): value is string => typeof value === 'string';\n\n return config.scheme.filter<string>(validate);\n } else if (typeof config.scheme === 'string') {\n return [config.scheme];\n }\n return [];\n}\n\n// This plugin used to remove the unused schemes but this is unpredictable because other plugins could add schemes.\n// The only way to reliably remove schemes from the project is to nuke the file and regenerate the code (`npx expo prebuild --clean`).\n// Regardless, having extra schemes isn't a fatal issue and therefore a tolerable compromise is to just add new schemes that aren't currently present.\nexport function setScheme(\n config: Pick<ExpoConfig, 'scheme' | 'android'>,\n androidManifest: AndroidManifest\n) {\n const schemes = [...getScheme(config), ...getScheme(config.android ?? {})];\n if (schemes.length === 0) {\n return androidManifest;\n }\n\n if (!ensureManifestHasValidIntentFilter(androidManifest)) {\n addWarningAndroid(\n 'scheme',\n `Cannot add schemes because the provided manifest does not have a valid Activity with \\`android:launchMode=\"singleTask\"\\``,\n 'https://expo.fyi/setup-android-uri-scheme'\n );\n return androidManifest;\n }\n\n // Get the current schemes and remove them from the list of schemes to add.\n const currentSchemes = getSchemesFromManifest(androidManifest);\n for (const uri of currentSchemes) {\n const index = schemes.indexOf(uri);\n if (index > -1) schemes.splice(index, 1);\n }\n\n // Now add all of the remaining schemes.\n for (const uri of schemes) {\n androidManifest = appendScheme(uri, androidManifest);\n }\n\n return androidManifest;\n}\n\nfunction isValidRedirectIntentFilter({ actions, categories }: IntentFilterProps): boolean {\n return (\n actions.includes('android.intent.action.VIEW') &&\n !categories.includes('android.intent.category.LAUNCHER')\n );\n}\n\nfunction propertiesFromIntentFilter(intentFilter: any): IntentFilterProps {\n const actions = intentFilter?.action?.map((data: any) => data?.$?.['android:name']) ?? [];\n const categories = intentFilter?.category?.map((data: any) => data?.$?.['android:name']) ?? [];\n const data =\n intentFilter?.data\n ?.filter((data: any) => data?.$?.['android:scheme'])\n ?.map((data: any) => ({\n scheme: data?.$?.['android:scheme'],\n host: data?.$?.['android:host'],\n })) ?? [];\n return {\n actions,\n categories,\n data,\n };\n}\n\nfunction getSingleTaskIntentFilters(androidManifest: AndroidManifest): any[] {\n if (!Array.isArray(androidManifest.manifest.application)) return [];\n\n let outputSchemes: any[] = [];\n for (const application of androidManifest.manifest.application) {\n const { activity } = application;\n // @ts-ignore\n const activities = Array.isArray(activity) ? activity : [activity];\n const singleTaskActivities = (activities as ManifestActivity[]).filter(\n (activity) => activity?.$?.['android:launchMode'] === 'singleTask'\n );\n for (const activity of singleTaskActivities) {\n const intentFilters = activity['intent-filter'];\n outputSchemes = outputSchemes.concat(intentFilters);\n }\n }\n return outputSchemes;\n}\n\nexport function getSchemesFromManifest(\n androidManifest: AndroidManifest,\n requestedHost: string | null = null\n): string[] {\n const outputSchemes: string[] = [];\n\n const singleTaskIntentFilters = getSingleTaskIntentFilters(androidManifest);\n for (const intentFilter of singleTaskIntentFilters) {\n const properties = propertiesFromIntentFilter(intentFilter);\n if (isValidRedirectIntentFilter(properties) && properties.data) {\n for (const { scheme, host } of properties.data) {\n if (requestedHost === null || !host || host === requestedHost) {\n outputSchemes.push(scheme);\n }\n }\n }\n }\n\n return outputSchemes;\n}\n\nexport function ensureManifestHasValidIntentFilter(androidManifest: AndroidManifest): boolean {\n if (!Array.isArray(androidManifest.manifest.application)) {\n return false;\n }\n\n for (const application of androidManifest.manifest.application) {\n for (const activity of application.activity || []) {\n if (activity?.$?.['android:launchMode'] === 'singleTask') {\n for (const intentFilter of activity['intent-filter'] || []) {\n // Parse valid intent filters...\n const properties = propertiesFromIntentFilter(intentFilter);\n if (isValidRedirectIntentFilter(properties)) {\n return true;\n }\n }\n if (!activity['intent-filter']) {\n activity['intent-filter'] = [];\n }\n\n activity['intent-filter'].push({\n action: [{ $: { 'android:name': 'android.intent.action.VIEW' } }],\n category: [\n { $: { 'android:name': 'android.intent.category.DEFAULT' } },\n { $: { 'android:name': 'android.intent.category.BROWSABLE' } },\n ],\n });\n return true;\n }\n }\n }\n return false;\n}\n\nexport function hasScheme(scheme: string, androidManifest: AndroidManifest): boolean {\n const schemes = getSchemesFromManifest(androidManifest);\n return schemes.includes(scheme);\n}\n\nexport function appendScheme(scheme: string, androidManifest: AndroidManifest): AndroidManifest {\n if (!Array.isArray(androidManifest.manifest.application)) {\n return androidManifest;\n }\n\n if (!ensureManifestHasValidIntentFilter(androidManifest)) {\n addWarningAndroid(\n 'scheme',\n `Cannot add schemes because the provided manifest does not have a valid Activity with \\`android:launchMode=\"singleTask\"\\``,\n 'https://expo.fyi/setup-android-uri-scheme'\n );\n return androidManifest;\n }\n\n for (const application of androidManifest.manifest.application) {\n for (const activity of application.activity || []) {\n if (activity?.$?.['android:launchMode'] === 'singleTask') {\n for (const intentFilter of activity['intent-filter'] || []) {\n const properties = propertiesFromIntentFilter(intentFilter);\n if (isValidRedirectIntentFilter(properties)) {\n if (!intentFilter.data) intentFilter.data = [];\n intentFilter.data.push({\n $: { 'android:scheme': scheme },\n });\n }\n }\n break;\n }\n }\n }\n return androidManifest;\n}\n\nexport function removeScheme(scheme: string, androidManifest: AndroidManifest): AndroidManifest {\n if (!Array.isArray(androidManifest.manifest.application)) {\n return androidManifest;\n }\n\n for (const application of androidManifest.manifest.application) {\n for (const activity of application.activity || []) {\n if (activity?.$?.['android:launchMode'] === 'singleTask') {\n for (const intentFilter of activity['intent-filter'] || []) {\n // Parse valid intent filters...\n const properties = propertiesFromIntentFilter(intentFilter);\n if (isValidRedirectIntentFilter(properties)) {\n for (const dataKey in intentFilter?.data || []) {\n const data = intentFilter.data?.[dataKey];\n if (data?.$?.['android:scheme'] === scheme) {\n delete intentFilter.data?.[dataKey];\n }\n }\n }\n }\n break;\n }\n }\n }\n\n return androidManifest;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/android/Strings.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
3
|
+
exports.__esModule = true;
|
|
6
4
|
exports.getProjectStringsXMLPathAsync = getProjectStringsXMLPathAsync;
|
|
7
5
|
exports.removeStringItem = removeStringItem;
|
|
8
6
|
exports.setStringItem = setStringItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Strings.js","names":["_Paths","data","require","getProjectStringsXMLPathAsync","projectRoot","kind","getResourceXMLPathAsync","name","setStringItem","itemToAdd","stringFileContentsJSON","resources","string","newItem","stringNameExists","findIndex","e","$","concat","removeStringItem","named","splice"],"sources":["../../src/android/Strings.ts"],"sourcesContent":["import { getResourceXMLPathAsync } from './Paths';\nimport type { ResourceItemXML, ResourceKind, ResourceXML } from './Resources';\n\nexport async function getProjectStringsXMLPathAsync(\n projectRoot: string,\n { kind }: { kind?: ResourceKind } = {}\n): Promise<string> {\n return getResourceXMLPathAsync(projectRoot, { kind, name: 'strings' });\n}\n\nexport function setStringItem(\n itemToAdd: ResourceItemXML[],\n stringFileContentsJSON: ResourceXML\n): ResourceXML {\n if (!stringFileContentsJSON?.resources?.string) {\n if (!stringFileContentsJSON.resources || typeof stringFileContentsJSON.resources === 'string') {\n // file was empty and JSON is `{resources : ''}`\n stringFileContentsJSON.resources = {};\n }\n stringFileContentsJSON.resources.string = itemToAdd;\n return stringFileContentsJSON;\n }\n\n for (const newItem of itemToAdd) {\n const stringNameExists = stringFileContentsJSON.resources.string.findIndex(\n (e: ResourceItemXML) => e.$.name === newItem.$.name\n );\n if (stringNameExists > -1) {\n // replace the previous item\n stringFileContentsJSON.resources.string[stringNameExists] = newItem;\n } else {\n stringFileContentsJSON.resources.string =\n stringFileContentsJSON.resources.string.concat(newItem);\n }\n }\n return stringFileContentsJSON;\n}\n\nexport function removeStringItem(named: string, stringFileContentsJSON: ResourceXML): ResourceXML {\n if (stringFileContentsJSON?.resources?.string) {\n const stringNameExists = stringFileContentsJSON.resources.string.findIndex(\n (e: ResourceItemXML) => e.$.name === named\n );\n if (stringNameExists > -1) {\n // replace the previous value\n stringFileContentsJSON.resources.string.splice(stringNameExists, 1);\n }\n }\n return stringFileContentsJSON;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Strings.js","names":["_Paths","data","require","getProjectStringsXMLPathAsync","projectRoot","kind","getResourceXMLPathAsync","name","setStringItem","itemToAdd","stringFileContentsJSON","resources","string","newItem","stringNameExists","findIndex","e","$","concat","removeStringItem","named","splice"],"sources":["../../src/android/Strings.ts"],"sourcesContent":["import { getResourceXMLPathAsync } from './Paths';\nimport type { ResourceItemXML, ResourceKind, ResourceXML } from './Resources';\n\nexport async function getProjectStringsXMLPathAsync(\n projectRoot: string,\n { kind }: { kind?: ResourceKind } = {}\n): Promise<string> {\n return getResourceXMLPathAsync(projectRoot, { kind, name: 'strings' });\n}\n\nexport function setStringItem(\n itemToAdd: ResourceItemXML[],\n stringFileContentsJSON: ResourceXML\n): ResourceXML {\n if (!stringFileContentsJSON?.resources?.string) {\n if (!stringFileContentsJSON.resources || typeof stringFileContentsJSON.resources === 'string') {\n // file was empty and JSON is `{resources : ''}`\n stringFileContentsJSON.resources = {};\n }\n stringFileContentsJSON.resources.string = itemToAdd;\n return stringFileContentsJSON;\n }\n\n for (const newItem of itemToAdd) {\n const stringNameExists = stringFileContentsJSON.resources.string.findIndex(\n (e: ResourceItemXML) => e.$.name === newItem.$.name\n );\n if (stringNameExists > -1) {\n // replace the previous item\n stringFileContentsJSON.resources.string[stringNameExists] = newItem;\n } else {\n stringFileContentsJSON.resources.string =\n stringFileContentsJSON.resources.string.concat(newItem);\n }\n }\n return stringFileContentsJSON;\n}\n\nexport function removeStringItem(named: string, stringFileContentsJSON: ResourceXML): ResourceXML {\n if (stringFileContentsJSON?.resources?.string) {\n const stringNameExists = stringFileContentsJSON.resources.string.findIndex(\n (e: ResourceItemXML) => e.$.name === named\n );\n if (stringNameExists > -1) {\n // replace the previous value\n stringFileContentsJSON.resources.string.splice(stringNameExists, 1);\n }\n }\n return stringFileContentsJSON;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,eAAeE,6BAA6BA,CACjDC,WAAmB,EACnB;EAAEC;AAA8B,CAAC,GAAG,CAAC,CAAC,EACrB;EACjB,OAAO,IAAAC,gCAAuB,EAACF,WAAW,EAAE;IAAEC,IAAI;IAAEE,IAAI,EAAE;EAAU,CAAC,CAAC;AACxE;AAEO,SAASC,aAAaA,CAC3BC,SAA4B,EAC5BC,sBAAmC,EACtB;EACb,IAAI,CAACA,sBAAsB,EAAEC,SAAS,EAAEC,MAAM,EAAE;IAC9C,IAAI,CAACF,sBAAsB,CAACC,SAAS,IAAI,OAAOD,sBAAsB,CAACC,SAAS,KAAK,QAAQ,EAAE;MAC7F;MACAD,sBAAsB,CAACC,SAAS,GAAG,CAAC,CAAC;IACvC;IACAD,sBAAsB,CAACC,SAAS,CAACC,MAAM,GAAGH,SAAS;IACnD,OAAOC,sBAAsB;EAC/B;EAEA,KAAK,MAAMG,OAAO,IAAIJ,SAAS,EAAE;IAC/B,MAAMK,gBAAgB,GAAGJ,sBAAsB,CAACC,SAAS,CAACC,MAAM,CAACG,SAAS,CACvEC,CAAkB,IAAKA,CAAC,CAACC,CAAC,CAACV,IAAI,KAAKM,OAAO,CAACI,CAAC,CAACV,IACjD,CAAC;IACD,IAAIO,gBAAgB,GAAG,CAAC,CAAC,EAAE;MACzB;MACAJ,sBAAsB,CAACC,SAAS,CAACC,MAAM,CAACE,gBAAgB,CAAC,GAAGD,OAAO;IACrE,CAAC,MAAM;MACLH,sBAAsB,CAACC,SAAS,CAACC,MAAM,GACrCF,sBAAsB,CAACC,SAAS,CAACC,MAAM,CAACM,MAAM,CAACL,OAAO,CAAC;IAC3D;EACF;EACA,OAAOH,sBAAsB;AAC/B;AAEO,SAASS,gBAAgBA,CAACC,KAAa,EAAEV,sBAAmC,EAAe;EAChG,IAAIA,sBAAsB,EAAEC,SAAS,EAAEC,MAAM,EAAE;IAC7C,MAAME,gBAAgB,GAAGJ,sBAAsB,CAACC,SAAS,CAACC,MAAM,CAACG,SAAS,CACvEC,CAAkB,IAAKA,CAAC,CAACC,CAAC,CAACV,IAAI,KAAKa,KACvC,CAAC;IACD,IAAIN,gBAAgB,GAAG,CAAC,CAAC,EAAE;MACzB;MACAJ,sBAAsB,CAACC,SAAS,CAACC,MAAM,CAACS,MAAM,CAACP,gBAAgB,EAAE,CAAC,CAAC;IACrE;EACF;EACA,OAAOJ,sBAAsB;AAC/B","ignoreList":[]}
|
package/build/android/Styles.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
3
|
+
exports.__esModule = true;
|
|
6
4
|
exports.assignStylesValue = assignStylesValue;
|
|
7
5
|
exports.getAppThemeGroup = getAppThemeGroup;
|
|
8
6
|
exports.getAppThemeLightNoActionBarGroup = getAppThemeLightNoActionBarGroup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["_Paths","data","require","_Resources","fallbackResourceString","readStylesXMLAsync","path","fallback","readResourcesXMLAsync","getProjectStylesXMLPathAsync","projectRoot","kind","getResourceXMLPathAsync","name","ensureDefaultStyleResourceXML","xml","ensureDefaultResourceXML","Array","isArray","resources","style","getStyleParent","group","findResourceGroup","getStylesItem","parent","appTheme","item","existingItem","filter","$","head","setStylesItem","buildResourceGroup","push","_","removeStylesItem","index","findIndex","splice","getAppThemeLightNoActionBarGroup","getAppThemeGroup","assignStylesValue","add","value","targetApi","buildResourceItem","getStylesGroupAsObject","xmlGroup","getResourceItemsAsObject"],"sources":["../../src/android/Styles.ts"],"sourcesContent":["import { getResourceXMLPathAsync } from './Paths';\nimport type { ResourceGroupXML, ResourceItemXML, ResourceKind, ResourceXML } from './Resources';\nimport {\n buildResourceGroup,\n buildResourceItem,\n ensureDefaultResourceXML,\n findResourceGroup,\n getResourceItemsAsObject,\n readResourcesXMLAsync,\n} from './Resources';\n\n// Adds support for `tools:x`\nconst fallbackResourceString = `<?xml version=\"1.0\" encoding=\"utf-8\"?><resources xmlns:tools=\"http://schemas.android.com/tools\"></resources>`;\n\nexport async function readStylesXMLAsync({\n path,\n fallback = fallbackResourceString,\n}: {\n path: string;\n fallback?: string | null;\n}): Promise<ResourceXML> {\n return readResourcesXMLAsync({ path, fallback });\n}\n\nexport async function getProjectStylesXMLPathAsync(\n projectRoot: string,\n { kind }: { kind?: ResourceKind } = {}\n): Promise<string> {\n return getResourceXMLPathAsync(projectRoot, { kind, name: 'styles' });\n}\n\nfunction ensureDefaultStyleResourceXML(xml: ResourceXML): ResourceXML {\n xml = ensureDefaultResourceXML(xml);\n if (!Array.isArray(xml?.resources?.style)) {\n xml.resources.style = [];\n }\n return xml;\n}\n\nexport function getStyleParent(\n xml: ResourceXML,\n group: { name: string; parent?: string }\n): ResourceGroupXML | null {\n return findResourceGroup(xml.resources.style, group);\n}\n\nexport function getStylesItem({\n name,\n xml,\n parent,\n}: {\n name: string;\n xml: ResourceXML;\n parent: { name: string; parent?: string };\n}): ResourceItemXML | null {\n xml = ensureDefaultStyleResourceXML(xml);\n\n const appTheme = getStyleParent(xml, parent);\n\n if (!appTheme) {\n return null;\n }\n\n if (appTheme.item) {\n const existingItem = appTheme.item.filter(({ $: head }) => head.name === name)[0];\n\n // Don't want to 2 of the same item, so if one exists, we overwrite it\n if (existingItem) {\n return existingItem;\n }\n }\n return null;\n}\n\nexport function setStylesItem({\n item,\n xml,\n parent,\n}: {\n item: ResourceItemXML;\n xml: ResourceXML;\n parent: { name: string; parent?: string };\n}): ResourceXML {\n xml = ensureDefaultStyleResourceXML(xml);\n\n let appTheme = getStyleParent(xml, parent);\n\n if (!appTheme) {\n appTheme = buildResourceGroup({\n parent: 'Theme.AppCompat.Light.NoActionBar', // Default AppTheme parent\n ...parent,\n });\n\n xml.resources!.style!.push(appTheme);\n }\n\n if (appTheme.item) {\n const existingItem = appTheme.item.filter(({ $: head }) => head.name === item.$.name)[0];\n\n // Don't want to 2 of the same item, so if one exists, we overwrite it\n if (existingItem) {\n existingItem._ = item._;\n existingItem.$ = item.$;\n } else {\n appTheme.item.push(item);\n }\n } else {\n appTheme.item = [item];\n }\n return xml;\n}\n\nexport function removeStylesItem({\n name,\n xml,\n parent,\n}: {\n name: string;\n xml: ResourceXML;\n parent: { name: string; parent?: string };\n}): ResourceXML {\n xml = ensureDefaultStyleResourceXML(xml);\n const appTheme = getStyleParent(xml, parent);\n if (appTheme?.item) {\n const index = appTheme.item.findIndex(({ $: head }: ResourceItemXML) => head.name === name);\n if (index > -1) {\n appTheme.item.splice(index, 1);\n }\n }\n return xml;\n}\n\n/**\n * @deprecated Use `getAppThemeGroup` instead.\n * Matching on both style name and parent leads to prebuild issues, as `AppTheme`\n * style parent might be changed (when edge-to-edge is enabled, for example).\n */\nexport function getAppThemeLightNoActionBarGroup() {\n return { name: 'AppTheme', parent: 'Theme.AppCompat.Light.NoActionBar' };\n}\n\n// This is a very common theme so make it reusable.\nexport function getAppThemeGroup() {\n return { name: 'AppTheme' };\n}\n\nexport function assignStylesValue(\n xml: ResourceXML,\n {\n add,\n value,\n targetApi,\n name,\n parent,\n }: {\n add: boolean;\n value: string;\n targetApi?: string;\n name: string;\n parent: { name: string; parent?: string };\n }\n): ResourceXML {\n if (add) {\n return setStylesItem({\n xml,\n parent,\n item: buildResourceItem({\n name,\n targetApi,\n value,\n }),\n });\n }\n return removeStylesItem({\n xml,\n parent,\n name,\n });\n}\n\n/**\n * Helper to convert a styles.xml parent's children into a simple k/v pair.\n * Added for testing purposes.\n *\n * @param xml\n * @returns\n */\nexport function getStylesGroupAsObject(\n xml: ResourceXML,\n group: { name: string; parent?: string }\n): Record<string, string> | null {\n const xmlGroup = getStyleParent(xml, group);\n return xmlGroup?.item ? getResourceItemsAsObject(xmlGroup.item) : null;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["_Paths","data","require","_Resources","fallbackResourceString","readStylesXMLAsync","path","fallback","readResourcesXMLAsync","getProjectStylesXMLPathAsync","projectRoot","kind","getResourceXMLPathAsync","name","ensureDefaultStyleResourceXML","xml","ensureDefaultResourceXML","Array","isArray","resources","style","getStyleParent","group","findResourceGroup","getStylesItem","parent","appTheme","item","existingItem","filter","$","head","setStylesItem","buildResourceGroup","push","_","removeStylesItem","index","findIndex","splice","getAppThemeLightNoActionBarGroup","getAppThemeGroup","assignStylesValue","add","value","targetApi","buildResourceItem","getStylesGroupAsObject","xmlGroup","getResourceItemsAsObject"],"sources":["../../src/android/Styles.ts"],"sourcesContent":["import { getResourceXMLPathAsync } from './Paths';\nimport type { ResourceGroupXML, ResourceItemXML, ResourceKind, ResourceXML } from './Resources';\nimport {\n buildResourceGroup,\n buildResourceItem,\n ensureDefaultResourceXML,\n findResourceGroup,\n getResourceItemsAsObject,\n readResourcesXMLAsync,\n} from './Resources';\n\n// Adds support for `tools:x`\nconst fallbackResourceString = `<?xml version=\"1.0\" encoding=\"utf-8\"?><resources xmlns:tools=\"http://schemas.android.com/tools\"></resources>`;\n\nexport async function readStylesXMLAsync({\n path,\n fallback = fallbackResourceString,\n}: {\n path: string;\n fallback?: string | null;\n}): Promise<ResourceXML> {\n return readResourcesXMLAsync({ path, fallback });\n}\n\nexport async function getProjectStylesXMLPathAsync(\n projectRoot: string,\n { kind }: { kind?: ResourceKind } = {}\n): Promise<string> {\n return getResourceXMLPathAsync(projectRoot, { kind, name: 'styles' });\n}\n\nfunction ensureDefaultStyleResourceXML(xml: ResourceXML): ResourceXML {\n xml = ensureDefaultResourceXML(xml);\n if (!Array.isArray(xml?.resources?.style)) {\n xml.resources.style = [];\n }\n return xml;\n}\n\nexport function getStyleParent(\n xml: ResourceXML,\n group: { name: string; parent?: string }\n): ResourceGroupXML | null {\n return findResourceGroup(xml.resources.style, group);\n}\n\nexport function getStylesItem({\n name,\n xml,\n parent,\n}: {\n name: string;\n xml: ResourceXML;\n parent: { name: string; parent?: string };\n}): ResourceItemXML | null {\n xml = ensureDefaultStyleResourceXML(xml);\n\n const appTheme = getStyleParent(xml, parent);\n\n if (!appTheme) {\n return null;\n }\n\n if (appTheme.item) {\n const existingItem = appTheme.item.filter(({ $: head }) => head.name === name)[0];\n\n // Don't want to 2 of the same item, so if one exists, we overwrite it\n if (existingItem) {\n return existingItem;\n }\n }\n return null;\n}\n\nexport function setStylesItem({\n item,\n xml,\n parent,\n}: {\n item: ResourceItemXML;\n xml: ResourceXML;\n parent: { name: string; parent?: string };\n}): ResourceXML {\n xml = ensureDefaultStyleResourceXML(xml);\n\n let appTheme = getStyleParent(xml, parent);\n\n if (!appTheme) {\n appTheme = buildResourceGroup({\n parent: 'Theme.AppCompat.Light.NoActionBar', // Default AppTheme parent\n ...parent,\n });\n\n xml.resources!.style!.push(appTheme);\n }\n\n if (appTheme.item) {\n const existingItem = appTheme.item.filter(({ $: head }) => head.name === item.$.name)[0];\n\n // Don't want to 2 of the same item, so if one exists, we overwrite it\n if (existingItem) {\n existingItem._ = item._;\n existingItem.$ = item.$;\n } else {\n appTheme.item.push(item);\n }\n } else {\n appTheme.item = [item];\n }\n return xml;\n}\n\nexport function removeStylesItem({\n name,\n xml,\n parent,\n}: {\n name: string;\n xml: ResourceXML;\n parent: { name: string; parent?: string };\n}): ResourceXML {\n xml = ensureDefaultStyleResourceXML(xml);\n const appTheme = getStyleParent(xml, parent);\n if (appTheme?.item) {\n const index = appTheme.item.findIndex(({ $: head }: ResourceItemXML) => head.name === name);\n if (index > -1) {\n appTheme.item.splice(index, 1);\n }\n }\n return xml;\n}\n\n/**\n * @deprecated Use `getAppThemeGroup` instead.\n * Matching on both style name and parent leads to prebuild issues, as `AppTheme`\n * style parent might be changed (when edge-to-edge is enabled, for example).\n */\nexport function getAppThemeLightNoActionBarGroup() {\n return { name: 'AppTheme', parent: 'Theme.AppCompat.Light.NoActionBar' };\n}\n\n// This is a very common theme so make it reusable.\nexport function getAppThemeGroup() {\n return { name: 'AppTheme' };\n}\n\nexport function assignStylesValue(\n xml: ResourceXML,\n {\n add,\n value,\n targetApi,\n name,\n parent,\n }: {\n add: boolean;\n value: string;\n targetApi?: string;\n name: string;\n parent: { name: string; parent?: string };\n }\n): ResourceXML {\n if (add) {\n return setStylesItem({\n xml,\n parent,\n item: buildResourceItem({\n name,\n targetApi,\n value,\n }),\n });\n }\n return removeStylesItem({\n xml,\n parent,\n name,\n });\n}\n\n/**\n * Helper to convert a styles.xml parent's children into a simple k/v pair.\n * Added for testing purposes.\n *\n * @param xml\n * @returns\n */\nexport function getStylesGroupAsObject(\n xml: ResourceXML,\n group: { name: string; parent?: string }\n): Record<string, string> | null {\n const xmlGroup = getStyleParent(xml, group);\n return xmlGroup?.item ? getResourceItemsAsObject(xmlGroup.item) : null;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemBars.js","names":["_Styles","data","require","_androidPlugins","WarningAggregator","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TAG","setSystemBarsStyles","styles","assignStylesValue","add","parent","getAppThemeGroup","name","value","exports","withSystemBars","config","addWarningAndroid","withAndroidStyles","modResults"],"sources":["../../src/android/SystemBars.ts"],"sourcesContent":["import type { ResourceXML } from './Resources';\nimport { assignStylesValue, getAppThemeGroup } from './Styles';\nimport type { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidStyles } from '../plugins/android-plugins';\nimport * as WarningAggregator from '../utils/warnings';\n\nconst TAG = 'SYSTEM_BARS_PLUGIN';\n\nexport const setSystemBarsStyles = (styles: ResourceXML): ResourceXML => {\n styles = assignStylesValue(styles, {\n add: true,\n parent: getAppThemeGroup(),\n name: 'android:statusBarColor',\n value: '@android:color/transparent',\n });\n\n styles = assignStylesValue(styles, {\n add: true,\n parent: getAppThemeGroup(),\n name: 'android:navigationBarColor',\n value: '@android:color/transparent',\n });\n\n return styles;\n};\n\nexport const withSystemBars: ConfigPlugin = (config) => {\n if ('androidStatusBar' in config) {\n WarningAggregator.addWarningAndroid(\n TAG,\n '`androidStatusBar` is deprecated and has no effect. Use the `expo-status-bar` plugin configuration instead.'\n );\n }\n if ('androidNavigationBar' in config) {\n WarningAggregator.addWarningAndroid(\n TAG,\n '`androidNavigationBar` is deprecated and has no effect. Use the `expo-navigation-bar` plugin configuration instead.'\n );\n }\n\n return withAndroidStyles(config, (config) => {\n config.modResults = setSystemBarsStyles(config.modResults);\n return config;\n });\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SystemBars.js","names":["_Styles","data","require","_androidPlugins","WarningAggregator","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TAG","setSystemBarsStyles","styles","assignStylesValue","add","parent","getAppThemeGroup","name","value","exports","withSystemBars","config","addWarningAndroid","withAndroidStyles","modResults"],"sources":["../../src/android/SystemBars.ts"],"sourcesContent":["import type { ResourceXML } from './Resources';\nimport { assignStylesValue, getAppThemeGroup } from './Styles';\nimport type { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidStyles } from '../plugins/android-plugins';\nimport * as WarningAggregator from '../utils/warnings';\n\nconst TAG = 'SYSTEM_BARS_PLUGIN';\n\nexport const setSystemBarsStyles = (styles: ResourceXML): ResourceXML => {\n styles = assignStylesValue(styles, {\n add: true,\n parent: getAppThemeGroup(),\n name: 'android:statusBarColor',\n value: '@android:color/transparent',\n });\n\n styles = assignStylesValue(styles, {\n add: true,\n parent: getAppThemeGroup(),\n name: 'android:navigationBarColor',\n value: '@android:color/transparent',\n });\n\n return styles;\n};\n\nexport const withSystemBars: ConfigPlugin = (config) => {\n if ('androidStatusBar' in config) {\n WarningAggregator.addWarningAndroid(\n TAG,\n '`androidStatusBar` is deprecated and has no effect. Use the `expo-status-bar` plugin configuration instead.'\n );\n }\n if ('androidNavigationBar' in config) {\n WarningAggregator.addWarningAndroid(\n TAG,\n '`androidNavigationBar` is deprecated and has no effect. Use the `expo-navigation-bar` plugin configuration instead.'\n );\n }\n\n return withAndroidStyles(config, (config) => {\n config.modResults = setSystemBarsStyles(config.modResults);\n return config;\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
package/build/android/Updates.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
3
|
+
exports.__esModule = true;
|
|
6
4
|
exports.Config = void 0;
|
|
7
5
|
exports.applyRuntimeVersionFromConfigAsync = applyRuntimeVersionFromConfigAsync;
|
|
8
6
|
exports.applyRuntimeVersionFromConfigForProjectRootAsync = applyRuntimeVersionFromConfigForProjectRootAsync;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Updates.js","names":["_BuildProperties","data","require","_Manifest","_Resources","_Strings","_androidPlugins","_withPlugins","_Updates","_warnings","Config","exports","withUpdates","config","withPlugins","withUpdatesManifest","withRuntimeVersionResource","withUpdatesNativeDebugGradleProps","createBuildGradlePropsConfigPlugin","propName","propValueGetter","updates","useNativeDebug","undefined","withAndroidManifest","projectRoot","modRequest","expoUpdatesPackageVersion","getExpoUpdatesPackageVersion","modResults","setUpdatesConfigAsync","createStringsXmlPlugin","applyRuntimeVersionFromConfigAsync","stringsJSON","applyRuntimeVersionFromConfigForProjectRootAsync","runtimeVersion","getRuntimeVersionNullableAsync","setStringItem","buildResourceItem","name","value","removeStringItem","androidManifest","mainApplication","getMainApplicationOrThrow","addMetaDataItemToMainApplication","ENABLED","String","getUpdatesEnabled","checkOnLaunch","getUpdatesCheckOnLaunch","CHECK_ON_LAUNCH","timeout","getUpdatesTimeout","LAUNCH_WAIT_MS","useEmbeddedUpdate","getUpdatesUseEmbeddedUpdate","removeMetaDataItemFromMainApplication","UPDATES_HAS_EMBEDDED_UPDATE","addWarningAndroid","updateUrl","getUpdateUrl","UPDATE_URL","codeSigningCertificate","getUpdatesCodeSigningCertificate","CODE_SIGNING_CERTIFICATE","codeSigningMetadata","getUpdatesCodeSigningMetadataStringified","CODE_SIGNING_METADATA","requestHeaders","getUpdatesRequestHeadersStringified","UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY","disableAntiBrickingMeasures","getDisableAntiBrickingMeasures","DISABLE_ANTI_BRICKING_MEASURES","BSDIFF_PATCH_SUPPORT","getUpdatesBsdiffPatchSupportEnabled","setVersionsConfigAsync","findMetaDataItem","RUNTIME_VERSION","Error"],"sources":["../../src/android/Updates.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config-types';\n\nimport { createBuildGradlePropsConfigPlugin } from './BuildProperties';\nimport type { AndroidManifest } from './Manifest';\nimport {\n addMetaDataItemToMainApplication,\n findMetaDataItem,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} from './Manifest';\nimport { buildResourceItem, type ResourceXML } from './Resources';\nimport { removeStringItem, setStringItem } from './Strings';\nimport type { ConfigPlugin, ExportedConfigWithProps } from '../Plugin.types';\nimport { createStringsXmlPlugin, withAndroidManifest } from '../plugins/android-plugins';\nimport { withPlugins } from '../plugins/withPlugins';\nimport type { ExpoConfigUpdates } from '../utils/Updates';\nimport {\n getDisableAntiBrickingMeasures,\n getExpoUpdatesPackageVersion,\n getRuntimeVersionNullableAsync,\n getUpdatesCheckOnLaunch,\n getUpdatesCodeSigningCertificate,\n getUpdatesCodeSigningMetadataStringified,\n getUpdatesRequestHeadersStringified,\n getUpdatesEnabled,\n getUpdatesTimeout,\n getUpdateUrl,\n getUpdatesBsdiffPatchSupportEnabled,\n getUpdatesUseEmbeddedUpdate,\n} from '../utils/Updates';\nimport { addWarningAndroid } from '../utils/warnings';\n\nexport enum Config {\n ENABLED = 'expo.modules.updates.ENABLED',\n CHECK_ON_LAUNCH = 'expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH',\n LAUNCH_WAIT_MS = 'expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS',\n RUNTIME_VERSION = 'expo.modules.updates.EXPO_RUNTIME_VERSION',\n UPDATE_URL = 'expo.modules.updates.EXPO_UPDATE_URL',\n UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY = 'expo.modules.updates.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY',\n UPDATES_HAS_EMBEDDED_UPDATE = 'expo.modules.updates.HAS_EMBEDDED_UPDATE',\n CODE_SIGNING_CERTIFICATE = 'expo.modules.updates.CODE_SIGNING_CERTIFICATE',\n CODE_SIGNING_METADATA = 'expo.modules.updates.CODE_SIGNING_METADATA',\n DISABLE_ANTI_BRICKING_MEASURES = 'expo.modules.updates.DISABLE_ANTI_BRICKING_MEASURES',\n BSDIFF_PATCH_SUPPORT = 'expo.modules.updates.ENABLE_BSDIFF_PATCH_SUPPORT',\n}\n\n// when making changes to this config plugin, ensure the same changes are also made in eas-cli and build-tools\n// Also ensure the docs are up-to-date: https://docs.expo.dev/bare/installing-updates/\n\nexport const withUpdates: ConfigPlugin = (config) => {\n return withPlugins(config, [\n withUpdatesManifest,\n withRuntimeVersionResource,\n withUpdatesNativeDebugGradleProps,\n ]);\n};\n\n/**\n * A config-plugin to update `android/gradle.properties` from the `updates.useNativeDebug` in expo config\n */\nconst withUpdatesNativeDebugGradleProps = createBuildGradlePropsConfigPlugin<ExpoConfig>(\n [\n {\n propName: 'EX_UPDATES_NATIVE_DEBUG',\n propValueGetter: (config) => (config?.updates?.useNativeDebug === true ? 'true' : undefined),\n },\n ],\n 'withUpdatesNativeDebugGradleProps'\n);\n\nconst withUpdatesManifest: ConfigPlugin = (config) => {\n return withAndroidManifest(config, async (config) => {\n const projectRoot = config.modRequest.projectRoot;\n const expoUpdatesPackageVersion = getExpoUpdatesPackageVersion(projectRoot);\n config.modResults = await setUpdatesConfigAsync(\n projectRoot,\n config,\n config.modResults,\n expoUpdatesPackageVersion\n );\n return config;\n });\n};\n\nconst withRuntimeVersionResource = createStringsXmlPlugin(\n applyRuntimeVersionFromConfigAsync,\n 'withRuntimeVersionResource'\n);\n\nexport async function applyRuntimeVersionFromConfigAsync(\n config: ExportedConfigWithProps<ResourceXML>,\n stringsJSON: ResourceXML\n): Promise<ResourceXML> {\n const projectRoot = config.modRequest.projectRoot;\n return await applyRuntimeVersionFromConfigForProjectRootAsync(projectRoot, config, stringsJSON);\n}\n\nexport async function applyRuntimeVersionFromConfigForProjectRootAsync(\n projectRoot: string,\n config: ExpoConfigUpdates,\n stringsJSON: ResourceXML\n): Promise<ResourceXML> {\n const runtimeVersion = await getRuntimeVersionNullableAsync(projectRoot, config, 'android');\n if (runtimeVersion) {\n return setStringItem(\n [buildResourceItem({ name: 'expo_runtime_version', value: runtimeVersion })],\n stringsJSON\n );\n }\n return removeStringItem('expo_runtime_version', stringsJSON);\n}\n\nexport async function setUpdatesConfigAsync(\n projectRoot: string,\n config: ExpoConfigUpdates,\n androidManifest: AndroidManifest,\n expoUpdatesPackageVersion?: string | null\n): Promise<AndroidManifest> {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.ENABLED,\n String(getUpdatesEnabled(config))\n );\n const checkOnLaunch = getUpdatesCheckOnLaunch(config, expoUpdatesPackageVersion);\n addMetaDataItemToMainApplication(mainApplication, Config.CHECK_ON_LAUNCH, checkOnLaunch);\n\n const timeout = getUpdatesTimeout(config);\n addMetaDataItemToMainApplication(mainApplication, Config.LAUNCH_WAIT_MS, String(timeout));\n\n const useEmbeddedUpdate = getUpdatesUseEmbeddedUpdate(config);\n if (useEmbeddedUpdate) {\n removeMetaDataItemFromMainApplication(mainApplication, Config.UPDATES_HAS_EMBEDDED_UPDATE);\n } else {\n // TODO: is there a better place for this validation?\n if (timeout === 0 && checkOnLaunch !== 'ALWAYS') {\n addWarningAndroid(\n 'updates.useEmbeddedUpdate',\n `updates.checkOnLaunch should be set to \"ON_LOAD\" and updates.fallbackToCacheTimeout should be set to a non-zero value when updates.useEmbeddedUpdate is set to false. This is because an update must be fetched on the initial launch, when no embedded update is available.`\n );\n }\n addMetaDataItemToMainApplication(mainApplication, Config.UPDATES_HAS_EMBEDDED_UPDATE, 'false');\n }\n\n const updateUrl = getUpdateUrl(config);\n if (updateUrl) {\n addMetaDataItemToMainApplication(mainApplication, Config.UPDATE_URL, updateUrl);\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.UPDATE_URL);\n }\n\n const codeSigningCertificate = getUpdatesCodeSigningCertificate(projectRoot, config);\n if (codeSigningCertificate) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CODE_SIGNING_CERTIFICATE,\n codeSigningCertificate\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.CODE_SIGNING_CERTIFICATE);\n }\n\n const codeSigningMetadata = getUpdatesCodeSigningMetadataStringified(config);\n if (codeSigningMetadata) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CODE_SIGNING_METADATA,\n codeSigningMetadata\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.CODE_SIGNING_METADATA);\n }\n\n const requestHeaders = getUpdatesRequestHeadersStringified(config);\n if (requestHeaders) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY,\n requestHeaders\n );\n } else {\n removeMetaDataItemFromMainApplication(\n mainApplication,\n Config.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY\n );\n }\n\n const disableAntiBrickingMeasures = getDisableAntiBrickingMeasures(config);\n if (disableAntiBrickingMeasures) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.DISABLE_ANTI_BRICKING_MEASURES,\n 'true'\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.DISABLE_ANTI_BRICKING_MEASURES);\n }\n\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.BSDIFF_PATCH_SUPPORT,\n getUpdatesBsdiffPatchSupportEnabled(config) ? 'true' : 'false'\n );\n\n return await setVersionsConfigAsync(projectRoot, config, androidManifest);\n}\n\nexport async function setVersionsConfigAsync(\n projectRoot: string,\n config: Pick<ExpoConfigUpdates, 'sdkVersion' | 'runtimeVersion'>,\n androidManifest: AndroidManifest\n): Promise<AndroidManifest> {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n const runtimeVersion = await getRuntimeVersionNullableAsync(projectRoot, config, 'android');\n if (!runtimeVersion && findMetaDataItem(mainApplication, Config.RUNTIME_VERSION) > -1) {\n throw new Error(\n 'A runtime version is set in your AndroidManifest.xml, but is missing from your Expo app config (app.json/app.config.js). Either set runtimeVersion in your Expo app config or remove expo.modules.updates.EXPO_RUNTIME_VERSION from your AndroidManifest.xml.'\n );\n }\n if (runtimeVersion) {\n removeMetaDataItemFromMainApplication(mainApplication, 'expo.modules.updates.EXPO_SDK_VERSION');\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.RUNTIME_VERSION,\n '@string/expo_runtime_version'\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.RUNTIME_VERSION);\n removeMetaDataItemFromMainApplication(mainApplication, 'expo.modules.updates.EXPO_SDK_VERSION');\n }\n\n return androidManifest;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Updates.js","names":["_BuildProperties","data","require","_Manifest","_Resources","_Strings","_androidPlugins","_withPlugins","_Updates","_warnings","Config","exports","withUpdates","config","withPlugins","withUpdatesManifest","withRuntimeVersionResource","withUpdatesNativeDebugGradleProps","createBuildGradlePropsConfigPlugin","propName","propValueGetter","updates","useNativeDebug","undefined","withAndroidManifest","projectRoot","modRequest","expoUpdatesPackageVersion","getExpoUpdatesPackageVersion","modResults","setUpdatesConfigAsync","createStringsXmlPlugin","applyRuntimeVersionFromConfigAsync","stringsJSON","applyRuntimeVersionFromConfigForProjectRootAsync","runtimeVersion","getRuntimeVersionNullableAsync","setStringItem","buildResourceItem","name","value","removeStringItem","androidManifest","mainApplication","getMainApplicationOrThrow","addMetaDataItemToMainApplication","ENABLED","String","getUpdatesEnabled","checkOnLaunch","getUpdatesCheckOnLaunch","CHECK_ON_LAUNCH","timeout","getUpdatesTimeout","LAUNCH_WAIT_MS","useEmbeddedUpdate","getUpdatesUseEmbeddedUpdate","removeMetaDataItemFromMainApplication","UPDATES_HAS_EMBEDDED_UPDATE","addWarningAndroid","updateUrl","getUpdateUrl","UPDATE_URL","codeSigningCertificate","getUpdatesCodeSigningCertificate","CODE_SIGNING_CERTIFICATE","codeSigningMetadata","getUpdatesCodeSigningMetadataStringified","CODE_SIGNING_METADATA","requestHeaders","getUpdatesRequestHeadersStringified","UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY","disableAntiBrickingMeasures","getDisableAntiBrickingMeasures","DISABLE_ANTI_BRICKING_MEASURES","BSDIFF_PATCH_SUPPORT","getUpdatesBsdiffPatchSupportEnabled","setVersionsConfigAsync","findMetaDataItem","RUNTIME_VERSION","Error"],"sources":["../../src/android/Updates.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config-types';\n\nimport { createBuildGradlePropsConfigPlugin } from './BuildProperties';\nimport type { AndroidManifest } from './Manifest';\nimport {\n addMetaDataItemToMainApplication,\n findMetaDataItem,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} from './Manifest';\nimport { buildResourceItem, type ResourceXML } from './Resources';\nimport { removeStringItem, setStringItem } from './Strings';\nimport type { ConfigPlugin, ExportedConfigWithProps } from '../Plugin.types';\nimport { createStringsXmlPlugin, withAndroidManifest } from '../plugins/android-plugins';\nimport { withPlugins } from '../plugins/withPlugins';\nimport type { ExpoConfigUpdates } from '../utils/Updates';\nimport {\n getDisableAntiBrickingMeasures,\n getExpoUpdatesPackageVersion,\n getRuntimeVersionNullableAsync,\n getUpdatesCheckOnLaunch,\n getUpdatesCodeSigningCertificate,\n getUpdatesCodeSigningMetadataStringified,\n getUpdatesRequestHeadersStringified,\n getUpdatesEnabled,\n getUpdatesTimeout,\n getUpdateUrl,\n getUpdatesBsdiffPatchSupportEnabled,\n getUpdatesUseEmbeddedUpdate,\n} from '../utils/Updates';\nimport { addWarningAndroid } from '../utils/warnings';\n\nexport enum Config {\n ENABLED = 'expo.modules.updates.ENABLED',\n CHECK_ON_LAUNCH = 'expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH',\n LAUNCH_WAIT_MS = 'expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS',\n RUNTIME_VERSION = 'expo.modules.updates.EXPO_RUNTIME_VERSION',\n UPDATE_URL = 'expo.modules.updates.EXPO_UPDATE_URL',\n UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY = 'expo.modules.updates.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY',\n UPDATES_HAS_EMBEDDED_UPDATE = 'expo.modules.updates.HAS_EMBEDDED_UPDATE',\n CODE_SIGNING_CERTIFICATE = 'expo.modules.updates.CODE_SIGNING_CERTIFICATE',\n CODE_SIGNING_METADATA = 'expo.modules.updates.CODE_SIGNING_METADATA',\n DISABLE_ANTI_BRICKING_MEASURES = 'expo.modules.updates.DISABLE_ANTI_BRICKING_MEASURES',\n BSDIFF_PATCH_SUPPORT = 'expo.modules.updates.ENABLE_BSDIFF_PATCH_SUPPORT',\n}\n\n// when making changes to this config plugin, ensure the same changes are also made in eas-cli and build-tools\n// Also ensure the docs are up-to-date: https://docs.expo.dev/bare/installing-updates/\n\nexport const withUpdates: ConfigPlugin = (config) => {\n return withPlugins(config, [\n withUpdatesManifest,\n withRuntimeVersionResource,\n withUpdatesNativeDebugGradleProps,\n ]);\n};\n\n/**\n * A config-plugin to update `android/gradle.properties` from the `updates.useNativeDebug` in expo config\n */\nconst withUpdatesNativeDebugGradleProps = createBuildGradlePropsConfigPlugin<ExpoConfig>(\n [\n {\n propName: 'EX_UPDATES_NATIVE_DEBUG',\n propValueGetter: (config) => (config?.updates?.useNativeDebug === true ? 'true' : undefined),\n },\n ],\n 'withUpdatesNativeDebugGradleProps'\n);\n\nconst withUpdatesManifest: ConfigPlugin = (config) => {\n return withAndroidManifest(config, async (config) => {\n const projectRoot = config.modRequest.projectRoot;\n const expoUpdatesPackageVersion = getExpoUpdatesPackageVersion(projectRoot);\n config.modResults = await setUpdatesConfigAsync(\n projectRoot,\n config,\n config.modResults,\n expoUpdatesPackageVersion\n );\n return config;\n });\n};\n\nconst withRuntimeVersionResource = createStringsXmlPlugin(\n applyRuntimeVersionFromConfigAsync,\n 'withRuntimeVersionResource'\n);\n\nexport async function applyRuntimeVersionFromConfigAsync(\n config: ExportedConfigWithProps<ResourceXML>,\n stringsJSON: ResourceXML\n): Promise<ResourceXML> {\n const projectRoot = config.modRequest.projectRoot;\n return await applyRuntimeVersionFromConfigForProjectRootAsync(projectRoot, config, stringsJSON);\n}\n\nexport async function applyRuntimeVersionFromConfigForProjectRootAsync(\n projectRoot: string,\n config: ExpoConfigUpdates,\n stringsJSON: ResourceXML\n): Promise<ResourceXML> {\n const runtimeVersion = await getRuntimeVersionNullableAsync(projectRoot, config, 'android');\n if (runtimeVersion) {\n return setStringItem(\n [buildResourceItem({ name: 'expo_runtime_version', value: runtimeVersion })],\n stringsJSON\n );\n }\n return removeStringItem('expo_runtime_version', stringsJSON);\n}\n\nexport async function setUpdatesConfigAsync(\n projectRoot: string,\n config: ExpoConfigUpdates,\n androidManifest: AndroidManifest,\n expoUpdatesPackageVersion?: string | null\n): Promise<AndroidManifest> {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.ENABLED,\n String(getUpdatesEnabled(config))\n );\n const checkOnLaunch = getUpdatesCheckOnLaunch(config, expoUpdatesPackageVersion);\n addMetaDataItemToMainApplication(mainApplication, Config.CHECK_ON_LAUNCH, checkOnLaunch);\n\n const timeout = getUpdatesTimeout(config);\n addMetaDataItemToMainApplication(mainApplication, Config.LAUNCH_WAIT_MS, String(timeout));\n\n const useEmbeddedUpdate = getUpdatesUseEmbeddedUpdate(config);\n if (useEmbeddedUpdate) {\n removeMetaDataItemFromMainApplication(mainApplication, Config.UPDATES_HAS_EMBEDDED_UPDATE);\n } else {\n // TODO: is there a better place for this validation?\n if (timeout === 0 && checkOnLaunch !== 'ALWAYS') {\n addWarningAndroid(\n 'updates.useEmbeddedUpdate',\n `updates.checkOnLaunch should be set to \"ON_LOAD\" and updates.fallbackToCacheTimeout should be set to a non-zero value when updates.useEmbeddedUpdate is set to false. This is because an update must be fetched on the initial launch, when no embedded update is available.`\n );\n }\n addMetaDataItemToMainApplication(mainApplication, Config.UPDATES_HAS_EMBEDDED_UPDATE, 'false');\n }\n\n const updateUrl = getUpdateUrl(config);\n if (updateUrl) {\n addMetaDataItemToMainApplication(mainApplication, Config.UPDATE_URL, updateUrl);\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.UPDATE_URL);\n }\n\n const codeSigningCertificate = getUpdatesCodeSigningCertificate(projectRoot, config);\n if (codeSigningCertificate) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CODE_SIGNING_CERTIFICATE,\n codeSigningCertificate\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.CODE_SIGNING_CERTIFICATE);\n }\n\n const codeSigningMetadata = getUpdatesCodeSigningMetadataStringified(config);\n if (codeSigningMetadata) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CODE_SIGNING_METADATA,\n codeSigningMetadata\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.CODE_SIGNING_METADATA);\n }\n\n const requestHeaders = getUpdatesRequestHeadersStringified(config);\n if (requestHeaders) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY,\n requestHeaders\n );\n } else {\n removeMetaDataItemFromMainApplication(\n mainApplication,\n Config.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY\n );\n }\n\n const disableAntiBrickingMeasures = getDisableAntiBrickingMeasures(config);\n if (disableAntiBrickingMeasures) {\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.DISABLE_ANTI_BRICKING_MEASURES,\n 'true'\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.DISABLE_ANTI_BRICKING_MEASURES);\n }\n\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.BSDIFF_PATCH_SUPPORT,\n getUpdatesBsdiffPatchSupportEnabled(config) ? 'true' : 'false'\n );\n\n return await setVersionsConfigAsync(projectRoot, config, androidManifest);\n}\n\nexport async function setVersionsConfigAsync(\n projectRoot: string,\n config: Pick<ExpoConfigUpdates, 'sdkVersion' | 'runtimeVersion'>,\n androidManifest: AndroidManifest\n): Promise<AndroidManifest> {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n const runtimeVersion = await getRuntimeVersionNullableAsync(projectRoot, config, 'android');\n if (!runtimeVersion && findMetaDataItem(mainApplication, Config.RUNTIME_VERSION) > -1) {\n throw new Error(\n 'A runtime version is set in your AndroidManifest.xml, but is missing from your Expo app config (app.json/app.config.js). Either set runtimeVersion in your Expo app config or remove expo.modules.updates.EXPO_RUNTIME_VERSION from your AndroidManifest.xml.'\n );\n }\n if (runtimeVersion) {\n removeMetaDataItemFromMainApplication(mainApplication, 'expo.modules.updates.EXPO_SDK_VERSION');\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.RUNTIME_VERSION,\n '@string/expo_runtime_version'\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.RUNTIME_VERSION);\n removeMetaDataItemFromMainApplication(mainApplication, 'expo.modules.updates.EXPO_SDK_VERSION');\n }\n\n return androidManifest;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/android/Version.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
3
|
+
exports.__esModule = true;
|
|
6
4
|
exports.getVersionCode = getVersionCode;
|
|
7
5
|
exports.getVersionName = getVersionName;
|
|
8
6
|
exports.setMinBuildScriptExtVersion = setMinBuildScriptExtVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Version.js","names":["_androidPlugins","data","require","_warnings","withVersion","config","withAppBuildGradle","modResults","language","contents","setVersionCode","setVersionName","addWarningAndroid","exports","withBuildScriptExtMinimumVersion","props","withProjectBuildGradle","setMinBuildScriptExtVersion","buildGradle","name","minVersion","regex","RegExp","currentVersion","match","currentVersionNum","Number","replace","Math","max","getVersionName","android","version","versionName","pattern","getVersionCode","versionCode"],"sources":["../../src/android/Version.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config-types';\n\nimport type { ConfigPlugin } from '../Plugin.types';\nimport { withAppBuildGradle, withProjectBuildGradle } from '../plugins/android-plugins';\nimport { addWarningAndroid } from '../utils/warnings';\n\nexport const withVersion: ConfigPlugin = (config) => {\n return withAppBuildGradle(config, (config) => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = setVersionCode(config, config.modResults.contents);\n config.modResults.contents = setVersionName(config, config.modResults.contents);\n } else {\n addWarningAndroid(\n 'android.versionCode',\n `Cannot automatically configure app build.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\n/** Sets a numeric version for a value in the project.gradle buildscript.ext object to be at least the provided props.minVersion, if the existing value is greater then no change will be made. */\nexport const withBuildScriptExtMinimumVersion: ConfigPlugin<{\n name: string;\n minVersion: number;\n}> = (config, props) => {\n return withProjectBuildGradle(config, (config) => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = setMinBuildScriptExtVersion(config.modResults.contents, props);\n } else {\n addWarningAndroid(\n 'withBuildScriptExtVersion',\n `Cannot automatically configure project build.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\nexport function setMinBuildScriptExtVersion(\n buildGradle: string,\n { name, minVersion }: { name: string; minVersion: number }\n) {\n const regex = new RegExp(`(${name}\\\\s?=\\\\s?)(\\\\d+(?:\\\\.\\\\d+)?)`);\n const currentVersion = buildGradle.match(regex)?.[2];\n if (!currentVersion) {\n addWarningAndroid(\n 'withBuildScriptExtVersion',\n `Cannot set minimum buildscript.ext.${name} version because the property \"${name}\" cannot be found or does not have a numeric value.`\n );\n // TODO: Maybe just add the property...\n return buildGradle;\n }\n\n const currentVersionNum = Number(currentVersion);\n return buildGradle.replace(regex, `$1${Math.max(minVersion, currentVersionNum)}`);\n}\n\nexport function getVersionName(config: Pick<ExpoConfig, 'version' | 'android'>) {\n return config.android?.version ?? config.version ?? null;\n}\n\nexport function setVersionName(\n config: Pick<ExpoConfig, 'version' | 'android'>,\n buildGradle: string\n) {\n const versionName = getVersionName(config);\n if (versionName === null) {\n return buildGradle;\n }\n\n const pattern = new RegExp(`versionName \".*\"`);\n return buildGradle.replace(pattern, `versionName \"${versionName}\"`);\n}\n\nexport function getVersionCode(config: Pick<ExpoConfig, 'android'>) {\n return config.android?.versionCode ?? 1;\n}\n\nexport function setVersionCode(config: Pick<ExpoConfig, 'android'>, buildGradle: string) {\n const versionCode = getVersionCode(config);\n if (versionCode === null) {\n return buildGradle;\n }\n\n const pattern = new RegExp(`versionCode.*`);\n return buildGradle.replace(pattern, `versionCode ${versionCode}`);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Version.js","names":["_androidPlugins","data","require","_warnings","withVersion","config","withAppBuildGradle","modResults","language","contents","setVersionCode","setVersionName","addWarningAndroid","exports","withBuildScriptExtMinimumVersion","props","withProjectBuildGradle","setMinBuildScriptExtVersion","buildGradle","name","minVersion","regex","RegExp","currentVersion","match","currentVersionNum","Number","replace","Math","max","getVersionName","android","version","versionName","pattern","getVersionCode","versionCode"],"sources":["../../src/android/Version.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config-types';\n\nimport type { ConfigPlugin } from '../Plugin.types';\nimport { withAppBuildGradle, withProjectBuildGradle } from '../plugins/android-plugins';\nimport { addWarningAndroid } from '../utils/warnings';\n\nexport const withVersion: ConfigPlugin = (config) => {\n return withAppBuildGradle(config, (config) => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = setVersionCode(config, config.modResults.contents);\n config.modResults.contents = setVersionName(config, config.modResults.contents);\n } else {\n addWarningAndroid(\n 'android.versionCode',\n `Cannot automatically configure app build.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\n/** Sets a numeric version for a value in the project.gradle buildscript.ext object to be at least the provided props.minVersion, if the existing value is greater then no change will be made. */\nexport const withBuildScriptExtMinimumVersion: ConfigPlugin<{\n name: string;\n minVersion: number;\n}> = (config, props) => {\n return withProjectBuildGradle(config, (config) => {\n if (config.modResults.language === 'groovy') {\n config.modResults.contents = setMinBuildScriptExtVersion(config.modResults.contents, props);\n } else {\n addWarningAndroid(\n 'withBuildScriptExtVersion',\n `Cannot automatically configure project build.gradle if it's not groovy`\n );\n }\n return config;\n });\n};\n\nexport function setMinBuildScriptExtVersion(\n buildGradle: string,\n { name, minVersion }: { name: string; minVersion: number }\n) {\n const regex = new RegExp(`(${name}\\\\s?=\\\\s?)(\\\\d+(?:\\\\.\\\\d+)?)`);\n const currentVersion = buildGradle.match(regex)?.[2];\n if (!currentVersion) {\n addWarningAndroid(\n 'withBuildScriptExtVersion',\n `Cannot set minimum buildscript.ext.${name} version because the property \"${name}\" cannot be found or does not have a numeric value.`\n );\n // TODO: Maybe just add the property...\n return buildGradle;\n }\n\n const currentVersionNum = Number(currentVersion);\n return buildGradle.replace(regex, `$1${Math.max(minVersion, currentVersionNum)}`);\n}\n\nexport function getVersionName(config: Pick<ExpoConfig, 'version' | 'android'>) {\n return config.android?.version ?? config.version ?? null;\n}\n\nexport function setVersionName(\n config: Pick<ExpoConfig, 'version' | 'android'>,\n buildGradle: string\n) {\n const versionName = getVersionName(config);\n if (versionName === null) {\n return buildGradle;\n }\n\n const pattern = new RegExp(`versionName \".*\"`);\n return buildGradle.replace(pattern, `versionName \"${versionName}\"`);\n}\n\nexport function getVersionCode(config: Pick<ExpoConfig, 'android'>) {\n return config.android?.versionCode ?? 1;\n}\n\nexport function setVersionCode(config: Pick<ExpoConfig, 'android'>, buildGradle: string) {\n const versionCode = getVersionCode(config);\n if (versionCode === null) {\n return buildGradle;\n }\n\n const pattern = new RegExp(`versionCode.*`);\n return buildGradle.replace(pattern, `versionCode ${versionCode}`);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
3
|
+
exports.__esModule = true;
|
|
6
4
|
exports.getWindowSoftInputModeMode = getWindowSoftInputModeMode;
|
|
7
5
|
exports.setWindowSoftInputModeMode = setWindowSoftInputModeMode;
|
|
8
6
|
exports.withWindowSoftInputMode = void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowSoftInputMode.js","names":["_Manifest","data","require","_androidPlugins","ANDROID_WINDOW_SOFT_INPUT_MODE","MAPPING","pan","resize","withWindowSoftInputMode","config","withAndroidManifest","modResults","setWindowSoftInputModeMode","exports","androidManifest","app","getMainActivityOrThrow","$","getWindowSoftInputModeMode","value","android","softwareKeyboardLayoutMode"],"sources":["../../src/android/WindowSoftInputMode.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config-types';\n\nimport type { AndroidManifest } from './Manifest';\nimport { getMainActivityOrThrow } from './Manifest';\nimport type { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidManifest } from '../plugins/android-plugins';\n\nconst ANDROID_WINDOW_SOFT_INPUT_MODE = 'android:windowSoftInputMode';\n\nconst MAPPING: Record<string, string> = {\n pan: 'adjustPan',\n resize: 'adjustResize',\n};\n\nexport const withWindowSoftInputMode: ConfigPlugin = (config) => {\n return withAndroidManifest(config, async (config) => {\n config.modResults = setWindowSoftInputModeMode(config, config.modResults);\n return config;\n });\n};\n\nexport function setWindowSoftInputModeMode(\n config: Pick<ExpoConfig, 'android' | 'userInterfaceStyle'>,\n androidManifest: AndroidManifest\n) {\n const app = getMainActivityOrThrow(androidManifest);\n app.$[ANDROID_WINDOW_SOFT_INPUT_MODE] = getWindowSoftInputModeMode(config);\n return androidManifest;\n}\n\nexport function getWindowSoftInputModeMode(config: Pick<ExpoConfig, 'android'>) {\n const value = config.android?.softwareKeyboardLayoutMode;\n\n if (!value) {\n // Default to `adjustResize` or `resize`.\n return 'adjustResize';\n }\n return MAPPING[value] ?? value;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"WindowSoftInputMode.js","names":["_Manifest","data","require","_androidPlugins","ANDROID_WINDOW_SOFT_INPUT_MODE","MAPPING","pan","resize","withWindowSoftInputMode","config","withAndroidManifest","modResults","setWindowSoftInputModeMode","exports","androidManifest","app","getMainActivityOrThrow","$","getWindowSoftInputModeMode","value","android","softwareKeyboardLayoutMode"],"sources":["../../src/android/WindowSoftInputMode.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config-types';\n\nimport type { AndroidManifest } from './Manifest';\nimport { getMainActivityOrThrow } from './Manifest';\nimport type { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidManifest } from '../plugins/android-plugins';\n\nconst ANDROID_WINDOW_SOFT_INPUT_MODE = 'android:windowSoftInputMode';\n\nconst MAPPING: Record<string, string> = {\n pan: 'adjustPan',\n resize: 'adjustResize',\n};\n\nexport const withWindowSoftInputMode: ConfigPlugin = (config) => {\n return withAndroidManifest(config, async (config) => {\n config.modResults = setWindowSoftInputModeMode(config, config.modResults);\n return config;\n });\n};\n\nexport function setWindowSoftInputModeMode(\n config: Pick<ExpoConfig, 'android' | 'userInterfaceStyle'>,\n androidManifest: AndroidManifest\n) {\n const app = getMainActivityOrThrow(androidManifest);\n app.$[ANDROID_WINDOW_SOFT_INPUT_MODE] = getWindowSoftInputModeMode(config);\n return androidManifest;\n}\n\nexport function getWindowSoftInputModeMode(config: Pick<ExpoConfig, 'android'>) {\n const value = config.android?.softwareKeyboardLayoutMode;\n\n if (!value) {\n // Default to `adjustResize` or `resize`.\n return 'adjustResize';\n }\n return MAPPING[value] ?? value;\n}\n"],"mappings":";;;;;;AAGA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,gBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,8BAA8B,GAAG,6BAA6B;AAEpE,MAAMC,OAA+B,GAAG;EACtCC,GAAG,EAAE,WAAW;EAChBC,MAAM,EAAE;AACV,CAAC;AAEM,MAAMC,uBAAqC,GAAIC,MAAM,IAAK;EAC/D,OAAO,IAAAC,qCAAmB,EAACD,MAAM,EAAE,MAAOA,MAAM,IAAK;IACnDA,MAAM,CAACE,UAAU,GAAGC,0BAA0B,CAACH,MAAM,EAAEA,MAAM,CAACE,UAAU,CAAC;IACzE,OAAOF,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACI,OAAA,CAAAL,uBAAA,GAAAA,uBAAA;AAEK,SAASI,0BAA0BA,CACxCH,MAA0D,EAC1DK,eAAgC,EAChC;EACA,MAAMC,GAAG,GAAG,IAAAC,kCAAsB,EAACF,eAAe,CAAC;EACnDC,GAAG,CAACE,CAAC,CAACb,8BAA8B,CAAC,GAAGc,0BAA0B,CAACT,MAAM,CAAC;EAC1E,OAAOK,eAAe;AACxB;AAEO,SAASI,0BAA0BA,CAACT,MAAmC,EAAE;EAC9E,MAAMU,KAAK,GAAGV,MAAM,CAACW,OAAO,EAAEC,0BAA0B;EAExD,IAAI,CAACF,KAAK,EAAE;IACV;IACA,OAAO,cAAc;EACvB;EACA,OAAOd,OAAO,CAACc,KAAK,CAAC,IAAIA,KAAK;AAChC","ignoreList":[]}
|
package/build/android/codeMod.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
3
|
+
exports.__esModule = true;
|
|
6
4
|
exports.addImports = addImports;
|
|
7
5
|
exports.appendContentsInsideDeclarationBlock = appendContentsInsideDeclarationBlock;
|
|
8
6
|
exports.appendContentsInsideGradlePluginBlock = appendContentsInsideGradlePluginBlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeMod.js","names":["_commonCodeMod","data","require","_matchBrackets","findNewInstanceCodeBlock","contents","classDeclaration","language","isJava","start","indexOf","search","RegExp","end","findMatchingBracketPosition","nextBrace","isAnonymousClass","substring","match","code","appendContentsInsideDeclarationBlock","srcContents","declaration","insertion","Error","insertContentsAtOffset","addImports","source","imports","lines","split","lineIndexWithPackageDeclaration","findIndex","line","javaImport","includes","importStatement","splice","join","findGradlePluginCodeBlock","plugin","pluginStart","codeBlockStart","codeBlockEnd","codeBlock","appendContentsInsideGradlePluginBlock"],"sources":["../../src/android/codeMod.ts"],"sourcesContent":["import type { CodeBlock } from '../utils/commonCodeMod';\nimport { insertContentsAtOffset } from '../utils/commonCodeMod';\nimport { findMatchingBracketPosition } from '../utils/matchBrackets';\n\n/**\n * Find java or kotlin new class instance code block\n *\n * @param contents source contents\n * @param classDeclaration class declaration or just a class name\n * @param language 'java' | 'kt'\n * @returns `CodeBlock` for start/end offset and code block contents\n */\nexport function findNewInstanceCodeBlock(\n contents: string,\n classDeclaration: string,\n language: 'java' | 'kt'\n): CodeBlock | null {\n const isJava = language === 'java';\n let start = isJava\n ? contents.indexOf(` new ${classDeclaration}(`)\n : contents.search(new RegExp(` (object\\\\s*:\\\\s*)?${classDeclaration}\\\\(`));\n if (start < 0) {\n return null;\n }\n // `+ 1` for the prefix space\n start += 1;\n let end = findMatchingBracketPosition(contents, '(', start);\n\n // For anonymous class, should search further to the {} block.\n // ```java\n // new Foo() {\n // @Override\n // protected void interfaceMethod {}\n // };\n // ```\n //\n // ```kotlin\n // object : Foo() {\n // override fun interfaceMethod {}\n // }\n // ```\n const nextBrace = contents.indexOf('{', end + 1);\n const isAnonymousClass =\n nextBrace >= end && !!contents.substring(end + 1, nextBrace).match(/^\\s*$/);\n if (isAnonymousClass) {\n end = findMatchingBracketPosition(contents, '{', end);\n }\n\n return {\n start,\n end,\n code: contents.substring(start, end + 1),\n };\n}\n\n/**\n * Append contents to the end of code declaration block, support class or method declarations.\n *\n * @param srcContents source contents\n * @param declaration class declaration or method declaration\n * @param insertion code to append\n * @returns updated contents\n */\nexport function appendContentsInsideDeclarationBlock(\n srcContents: string,\n declaration: string,\n insertion: string\n): string {\n const start = srcContents.search(new RegExp(`\\\\s*${declaration}.*?[\\\\(\\\\{]`));\n if (start < 0) {\n throw new Error(`Unable to find code block - declaration[${declaration}]`);\n }\n const end = findMatchingBracketPosition(srcContents, '{', start);\n return insertContentsAtOffset(srcContents, insertion, end);\n}\n\nexport function addImports(source: string, imports: string[], isJava: boolean): string {\n const lines = source.split('\\n');\n const lineIndexWithPackageDeclaration = lines.findIndex((line) => line.match(/^package .*;?$/));\n for (const javaImport of imports) {\n if (!source.includes(javaImport)) {\n const importStatement = `import ${javaImport}${isJava ? ';' : ''}`;\n lines.splice(lineIndexWithPackageDeclaration + 1, 0, importStatement);\n }\n }\n return lines.join('\\n');\n}\n\n/**\n * Find code block of Gradle plugin block, will return only {} part\n *\n * @param contents source contents\n * @param plugin plugin declaration name, e.g. `plugins` or `pluginManagement`\n * @returns found CodeBlock, or null if not found.\n */\nexport function findGradlePluginCodeBlock(contents: string, plugin: string): CodeBlock | null {\n const pluginStart = contents.search(new RegExp(`${plugin}\\\\s*\\\\{`, 'm'));\n if (pluginStart < 0) {\n return null;\n }\n const codeBlockStart = contents.indexOf('{', pluginStart);\n const codeBlockEnd = findMatchingBracketPosition(contents, '{', codeBlockStart);\n const codeBlock = contents.substring(codeBlockStart, codeBlockEnd + 1);\n return {\n start: codeBlockStart,\n end: codeBlockEnd,\n code: codeBlock,\n };\n}\n\n/**\n * Append contents to the end of Gradle plugin block\n * @param srcContents source contents\n * @param plugin plugin declaration name, e.g. `plugins` or `pluginManagement`\n * @param insertion code to append\n * @returns updated contents\n */\nexport function appendContentsInsideGradlePluginBlock(\n srcContents: string,\n plugin: string,\n insertion: string\n): string {\n const codeBlock = findGradlePluginCodeBlock(srcContents, plugin);\n if (!codeBlock) {\n throw new Error(`Unable to find Gradle plugin block - plugin[${plugin}]`);\n }\n return insertContentsAtOffset(srcContents, insertion, codeBlock.end);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"codeMod.js","names":["_commonCodeMod","data","require","_matchBrackets","findNewInstanceCodeBlock","contents","classDeclaration","language","isJava","start","indexOf","search","RegExp","end","findMatchingBracketPosition","nextBrace","isAnonymousClass","substring","match","code","appendContentsInsideDeclarationBlock","srcContents","declaration","insertion","Error","insertContentsAtOffset","addImports","source","imports","lines","split","lineIndexWithPackageDeclaration","findIndex","line","javaImport","includes","importStatement","splice","join","findGradlePluginCodeBlock","plugin","pluginStart","codeBlockStart","codeBlockEnd","codeBlock","appendContentsInsideGradlePluginBlock"],"sources":["../../src/android/codeMod.ts"],"sourcesContent":["import type { CodeBlock } from '../utils/commonCodeMod';\nimport { insertContentsAtOffset } from '../utils/commonCodeMod';\nimport { findMatchingBracketPosition } from '../utils/matchBrackets';\n\n/**\n * Find java or kotlin new class instance code block\n *\n * @param contents source contents\n * @param classDeclaration class declaration or just a class name\n * @param language 'java' | 'kt'\n * @returns `CodeBlock` for start/end offset and code block contents\n */\nexport function findNewInstanceCodeBlock(\n contents: string,\n classDeclaration: string,\n language: 'java' | 'kt'\n): CodeBlock | null {\n const isJava = language === 'java';\n let start = isJava\n ? contents.indexOf(` new ${classDeclaration}(`)\n : contents.search(new RegExp(` (object\\\\s*:\\\\s*)?${classDeclaration}\\\\(`));\n if (start < 0) {\n return null;\n }\n // `+ 1` for the prefix space\n start += 1;\n let end = findMatchingBracketPosition(contents, '(', start);\n\n // For anonymous class, should search further to the {} block.\n // ```java\n // new Foo() {\n // @Override\n // protected void interfaceMethod {}\n // };\n // ```\n //\n // ```kotlin\n // object : Foo() {\n // override fun interfaceMethod {}\n // }\n // ```\n const nextBrace = contents.indexOf('{', end + 1);\n const isAnonymousClass =\n nextBrace >= end && !!contents.substring(end + 1, nextBrace).match(/^\\s*$/);\n if (isAnonymousClass) {\n end = findMatchingBracketPosition(contents, '{', end);\n }\n\n return {\n start,\n end,\n code: contents.substring(start, end + 1),\n };\n}\n\n/**\n * Append contents to the end of code declaration block, support class or method declarations.\n *\n * @param srcContents source contents\n * @param declaration class declaration or method declaration\n * @param insertion code to append\n * @returns updated contents\n */\nexport function appendContentsInsideDeclarationBlock(\n srcContents: string,\n declaration: string,\n insertion: string\n): string {\n const start = srcContents.search(new RegExp(`\\\\s*${declaration}.*?[\\\\(\\\\{]`));\n if (start < 0) {\n throw new Error(`Unable to find code block - declaration[${declaration}]`);\n }\n const end = findMatchingBracketPosition(srcContents, '{', start);\n return insertContentsAtOffset(srcContents, insertion, end);\n}\n\nexport function addImports(source: string, imports: string[], isJava: boolean): string {\n const lines = source.split('\\n');\n const lineIndexWithPackageDeclaration = lines.findIndex((line) => line.match(/^package .*;?$/));\n for (const javaImport of imports) {\n if (!source.includes(javaImport)) {\n const importStatement = `import ${javaImport}${isJava ? ';' : ''}`;\n lines.splice(lineIndexWithPackageDeclaration + 1, 0, importStatement);\n }\n }\n return lines.join('\\n');\n}\n\n/**\n * Find code block of Gradle plugin block, will return only {} part\n *\n * @param contents source contents\n * @param plugin plugin declaration name, e.g. `plugins` or `pluginManagement`\n * @returns found CodeBlock, or null if not found.\n */\nexport function findGradlePluginCodeBlock(contents: string, plugin: string): CodeBlock | null {\n const pluginStart = contents.search(new RegExp(`${plugin}\\\\s*\\\\{`, 'm'));\n if (pluginStart < 0) {\n return null;\n }\n const codeBlockStart = contents.indexOf('{', pluginStart);\n const codeBlockEnd = findMatchingBracketPosition(contents, '{', codeBlockStart);\n const codeBlock = contents.substring(codeBlockStart, codeBlockEnd + 1);\n return {\n start: codeBlockStart,\n end: codeBlockEnd,\n code: codeBlock,\n };\n}\n\n/**\n * Append contents to the end of Gradle plugin block\n * @param srcContents source contents\n * @param plugin plugin declaration name, e.g. `plugins` or `pluginManagement`\n * @param insertion code to append\n * @returns updated contents\n */\nexport function appendContentsInsideGradlePluginBlock(\n srcContents: string,\n plugin: string,\n insertion: string\n): string {\n const codeBlock = findGradlePluginCodeBlock(srcContents, plugin);\n if (!codeBlock) {\n throw new Error(`Unable to find Gradle plugin block - plugin[${plugin}]`);\n }\n return insertContentsAtOffset(srcContents, insertion, codeBlock.end);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/android/index.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
3
|
+
exports.__esModule = true;
|
|
6
4
|
exports.WindowSoftInputMode = exports.Version = exports.Updates = exports.SystemBars = exports.Styles = exports.Strings = exports.Scheme = exports.Resources = exports.Properties = exports.PrimaryColor = exports.PredictiveBackGesture = exports.Permissions = exports.Paths = exports.Package = exports.Orientation = exports.Name = exports.Manifest = exports.Locales = exports.IntentFilters = exports.GoogleServices = exports.GoogleMapsApiKey = exports.EasBuild = exports.Colors = exports.CodeMod = exports.BuildProperties = exports.AllowBackup = void 0;
|
|
7
5
|
function AllowBackup() {
|
|
8
6
|
const data = _interopRequireWildcard(require("./AllowBackup"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["AllowBackup","data","_interopRequireWildcard","require","Object","defineProperty","exports","enumerable","get","BuildProperties","Colors","EasBuild","GoogleMapsApiKey","GoogleServices","IntentFilters","Locales","Manifest","Name","Orientation","Package","Paths","Permissions","PredictiveBackGesture","PrimaryColor","Properties","Resources","Scheme","Strings","Styles","SystemBars","Updates","Version","WindowSoftInputMode","CodeMod","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","set","hasOwnProperty","call","getOwnPropertyDescriptor"],"sources":["../../src/android/index.ts"],"sourcesContent":["import * as AllowBackup from './AllowBackup';\nimport * as BuildProperties from './BuildProperties';\nimport * as Colors from './Colors';\nimport * as EasBuild from './EasBuild';\nimport * as GoogleMapsApiKey from './GoogleMapsApiKey';\nimport * as GoogleServices from './GoogleServices';\nimport * as IntentFilters from './IntentFilters';\nimport * as Locales from './Locales';\nimport * as Manifest from './Manifest';\nimport * as Name from './Name';\nimport * as Orientation from './Orientation';\nimport * as Package from './Package';\nimport * as Paths from './Paths';\nimport * as Permissions from './Permissions';\nimport * as PredictiveBackGesture from './PredictiveBackGesture';\nimport * as PrimaryColor from './PrimaryColor';\nimport * as Properties from './Properties';\nimport * as Resources from './Resources';\nimport * as Scheme from './Scheme';\nimport * as Strings from './Strings';\nimport * as Styles from './Styles';\nimport * as SystemBars from './SystemBars';\nimport * as Updates from './Updates';\nimport * as Version from './Version';\nimport * as WindowSoftInputMode from './WindowSoftInputMode';\nimport * as CodeMod from './codeMod';\n\nexport { Manifest, Colors, Paths, Permissions, Properties, Resources, Scheme, Strings, Styles };\n\nexport {\n AllowBackup,\n BuildProperties,\n EasBuild,\n GoogleMapsApiKey,\n GoogleServices,\n IntentFilters,\n Name,\n Locales,\n Orientation,\n Package,\n PrimaryColor,\n SystemBars,\n Updates,\n Version,\n WindowSoftInputMode,\n PredictiveBackGesture,\n CodeMod,\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["AllowBackup","data","_interopRequireWildcard","require","Object","defineProperty","exports","enumerable","get","BuildProperties","Colors","EasBuild","GoogleMapsApiKey","GoogleServices","IntentFilters","Locales","Manifest","Name","Orientation","Package","Paths","Permissions","PredictiveBackGesture","PrimaryColor","Properties","Resources","Scheme","Strings","Styles","SystemBars","Updates","Version","WindowSoftInputMode","CodeMod","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","set","hasOwnProperty","call","getOwnPropertyDescriptor"],"sources":["../../src/android/index.ts"],"sourcesContent":["import * as AllowBackup from './AllowBackup';\nimport * as BuildProperties from './BuildProperties';\nimport * as Colors from './Colors';\nimport * as EasBuild from './EasBuild';\nimport * as GoogleMapsApiKey from './GoogleMapsApiKey';\nimport * as GoogleServices from './GoogleServices';\nimport * as IntentFilters from './IntentFilters';\nimport * as Locales from './Locales';\nimport * as Manifest from './Manifest';\nimport * as Name from './Name';\nimport * as Orientation from './Orientation';\nimport * as Package from './Package';\nimport * as Paths from './Paths';\nimport * as Permissions from './Permissions';\nimport * as PredictiveBackGesture from './PredictiveBackGesture';\nimport * as PrimaryColor from './PrimaryColor';\nimport * as Properties from './Properties';\nimport * as Resources from './Resources';\nimport * as Scheme from './Scheme';\nimport * as Strings from './Strings';\nimport * as Styles from './Styles';\nimport * as SystemBars from './SystemBars';\nimport * as Updates from './Updates';\nimport * as Version from './Version';\nimport * as WindowSoftInputMode from './WindowSoftInputMode';\nimport * as CodeMod from './codeMod';\n\nexport { Manifest, Colors, Paths, Permissions, Properties, Resources, Scheme, Strings, Styles };\n\nexport {\n AllowBackup,\n BuildProperties,\n EasBuild,\n GoogleMapsApiKey,\n GoogleServices,\n IntentFilters,\n Name,\n Locales,\n Orientation,\n Package,\n PrimaryColor,\n SystemBars,\n Updates,\n Version,\n WindowSoftInputMode,\n PredictiveBackGesture,\n CodeMod,\n};\n"],"mappings":"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","ignoreList":[]}
|