@expo/prebuild-config 6.7.3 → 6.8.0
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/plugins/unversioned/expo-splash-screen/InterfaceBuilder.d.ts +0 -1
- package/build/plugins/unversioned/expo-splash-screen/InterfaceBuilder.js +0 -6
- package/build/plugins/unversioned/expo-splash-screen/InterfaceBuilder.js.map +1 -1
- package/build/plugins/withDefaultPlugins.js +1 -1
- package/build/plugins/withDefaultPlugins.js.map +1 -1
- package/package.json +3 -3
|
@@ -96,12 +96,6 @@ function applyImageToSplashScreenXML(xml, {
|
|
|
96
96
|
width,
|
|
97
97
|
height
|
|
98
98
|
}
|
|
99
|
-
}],
|
|
100
|
-
color: [{
|
|
101
|
-
$: {
|
|
102
|
-
key: 'backgroundColor',
|
|
103
|
-
systemColor: 'systemBackgroundColor'
|
|
104
|
-
}
|
|
105
99
|
}]
|
|
106
100
|
};
|
|
107
101
|
const mainView = xml.document.scenes[0].scene[0].objects[0].viewController[0].view[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InterfaceBuilder.js","names":["_crypto","data","_interopRequireDefault","require","_xml2js","obj","__esModule","default","debug","createConstraint","firstItem","firstAttribute","secondItem","secondAttribute","constant","$","id","createConstraintId","attributes","crypto","createHash","update","join","digest","IMAGE_ID","CONTAINER_ID","removeImageFromSplashScreen","xml","imageName","mainView","document","scenes","scene","objects","viewController","view","removeExisting","subviews","imageView","getAbsoluteConstraints","forEach","constraint","constrainsArray","constraints","imageSection","resources","image","existingImageIndex","findIndex","name","splice","childId","parentId","applyImageToSplashScreenXML","contentMode","width","height","userLabel","horizontalHuggingPriority","verticalHuggingPriority","clipsSubviews","userInteractionEnabled","translatesAutoresizingMaskIntoConstraints","rect","key","x","y","color","systemColor","ensureUniquePush","push","array","item","_item$$","existingItem","toString","builder","Builder","preserveChildrenOrder","xmldec","version","encoding","renderOpts","pretty","indent","buildObject","toObjectAsync","contents","Parser","parseStringPromise"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/InterfaceBuilder.ts"],"sourcesContent":["import crypto from 'crypto';\nimport { Builder, Parser } from 'xml2js';\n\nconst debug = require('debug')(\n 'expo:prebuild-config:expo-splash-screen:ios:InterfaceBuilder'\n) as typeof console.log;\n\nexport type IBBoolean = 'YES' | 'NO' | boolean;\n\nexport type IBItem<\n H extends Record<string, any>,\n B extends Record<string, any[]> = { [key: string]: any },\n> = {\n $: H;\n} & B;\n\nexport type Rect = {\n key: string;\n x: number;\n y: number;\n width: number;\n height: number;\n};\n\nexport type IBRect = IBItem<Rect>;\n\nexport type IBAutoresizingMask = IBItem<{\n /** @example `autoresizingMask` */\n key: string;\n flexibleMaxX: IBBoolean;\n flexibleMaxY: IBBoolean;\n}>;\n\n/** @example `<color key=\"textColor\" systemColor=\"linkColor\"/>` */\nexport type IBColor = IBItem<\n {\n /** @example `textColor` */\n key: string;\n } & (\n | /** Custom color */\n {\n /** @example `0.86584504117670746` */\n red: number;\n /** @example `0.26445041990630447` */\n green: number;\n /** @example `0.3248577810203549` */\n blue: number;\n /** @example `1` */\n alpha: number;\n colorSpace: 'custom' | string;\n customColorSpace: 'displayP3' | 'sRGB' | string;\n }\n /** Built-in color */\n | {\n systemColor: 'linkColor' | string;\n }\n )\n>;\n\nexport type IBFontDescription = IBItem<{\n /** @example `fontDescription` */\n key: string;\n /** Font size */\n pointSize: number;\n\n /** Custom font */\n name?: 'HelveticaNeue' | string;\n family?: 'Helvetica Neue' | string;\n\n /** Built-in font */\n type?: 'system' | 'boldSystem' | 'UICTFontTextStyleCallout' | 'UICTFontTextStyleBody' | string;\n}>;\n\nexport type ImageContentMode = 'scaleAspectFit' | 'scaleAspectFill';\n\nexport type ConstraintAttribute = 'top' | 'bottom' | 'trailing' | 'leading';\n\nexport type IBImageView = IBItem<\n {\n id: string;\n userLabel: string;\n image: string;\n clipsSubviews?: IBBoolean;\n userInteractionEnabled: IBBoolean;\n contentMode: IBContentMode;\n horizontalHuggingPriority: number;\n verticalHuggingPriority: number;\n insetsLayoutMarginsFromSafeArea?: IBBoolean;\n translatesAutoresizingMaskIntoConstraints?: IBBoolean;\n },\n {\n rect: IBRect[];\n color: IBColor[];\n }\n>;\n\nexport type IBLabel = IBItem<\n {\n id: string;\n /** The main value. */\n text: string;\n\n opaque: IBBoolean;\n fixedFrame: IBBoolean;\n textAlignment?: IBTextAlignment;\n lineBreakMode:\n | 'clip'\n | 'characterWrap'\n | 'wordWrap'\n | 'headTruncation'\n | 'middleTruncation'\n | 'tailTruncation';\n baselineAdjustment?: 'none' | 'alignBaselines';\n adjustsFontSizeToFit: IBBoolean;\n userInteractionEnabled: IBBoolean;\n contentMode: IBContentMode;\n horizontalHuggingPriority: number;\n verticalHuggingPriority: number;\n translatesAutoresizingMaskIntoConstraints?: IBBoolean;\n },\n {\n /** @example `<rect key=\"frame\" x=\"175\" y=\"670\" width=\"35\" height=\"17\"/>` */\n rect: IBRect[];\n /** @example `<autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>` */\n autoresizingMask?: IBAutoresizingMask[];\n /** @example `<fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"19\"/>` */\n fontDescription?: IBFontDescription[];\n /** @example `<color key=\"textColor\" red=\"0.0\" green=\"0.0\" blue=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>` */\n color?: IBColor[];\n nil?: IBItem<{\n /** @example `textColor` `highlightedColor` */\n key: string;\n }>[];\n }\n>;\n\nexport type IBTextAlignment = 'left' | 'center' | 'right' | 'justified' | 'natural';\n\nexport type IBContentMode = string | 'left' | 'scaleAspectFill';\n\nexport type IBConstraint = IBItem<{\n firstItem: string;\n firstAttribute: ConstraintAttribute;\n secondItem: string;\n secondAttribute: ConstraintAttribute;\n constant?: number;\n id: string;\n}>;\n\nexport type IBViewController = IBItem<\n {\n id: string;\n placeholderIdentifier?: string;\n userLabel: string;\n sceneMemberID: string;\n },\n {\n view: IBItem<\n {\n id: string;\n key: string;\n userInteractionEnabled: IBBoolean;\n contentMode: string | 'scaleToFill';\n insetsLayoutMarginsFromSafeArea: IBBoolean;\n userLabel: string;\n },\n {\n rect: IBRect[];\n autoresizingMask: IBItem<{\n key: string;\n flexibleMaxX: IBBoolean;\n flexibleMaxY: IBBoolean;\n }>[];\n\n subviews: IBItem<\n object,\n {\n imageView: IBImageView[];\n label: IBLabel[];\n }\n >[];\n color: IBItem<{\n key: string | 'backgroundColor';\n systemColor: string | 'systemBackgroundColor';\n }>[];\n constraints: IBItem<\n object,\n {\n constraint: IBConstraint[];\n }\n >[];\n viewLayoutGuide: IBItem<{\n id: string;\n key: string | 'safeArea';\n }>[];\n }\n >[];\n }\n>;\n\nexport type IBPoint = IBItem<{\n key: string | 'canvasLocation';\n x: number;\n y: number;\n}>;\n\nexport type IBScene = IBItem<\n { sceneID: string },\n {\n objects: {\n viewController: IBViewController[];\n placeholder: IBItem<{\n id: string;\n placeholderIdentifier?: string;\n userLabel: string;\n sceneMemberID: string;\n }>[];\n }[];\n point: IBPoint[];\n }\n>;\n\nexport type IBResourceImage = IBItem<{\n name: string;\n width: number;\n height: number;\n}>;\n\nexport type IBDevice = IBItem<{\n id: string;\n orientation: string | 'portrait';\n appearance: string | 'light';\n}>;\n\nexport type IBSplashScreenDocument = {\n document: IBItem<\n {\n type: 'com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB' | string;\n version: '3.0' | string;\n toolsVersion: number;\n targetRuntime: 'iOS.CocoaTouch' | string;\n propertyAccessControl: 'none' | string;\n useAutolayout: IBBoolean;\n launchScreen: IBBoolean;\n useTraitCollections: IBBoolean;\n useSafeAreas: IBBoolean;\n colorMatched: IBBoolean;\n initialViewController: string;\n },\n {\n device: IBDevice[];\n dependencies: unknown[];\n scenes: {\n scene: IBScene[];\n }[];\n resources: {\n image: IBResourceImage[];\n }[];\n }\n >;\n};\n\nexport function createConstraint(\n [firstItem, firstAttribute]: [string, ConstraintAttribute],\n [secondItem, secondAttribute]: [string, ConstraintAttribute],\n constant?: number\n): IBConstraint {\n return {\n $: {\n firstItem,\n firstAttribute,\n secondItem,\n secondAttribute,\n constant,\n // Prevent updating between runs\n id: createConstraintId(firstItem, firstAttribute, secondItem, secondAttribute),\n },\n };\n}\n\nexport function createConstraintId(...attributes: string[]) {\n return crypto.createHash('sha1').update(attributes.join('-')).digest('hex');\n}\n\nconst IMAGE_ID = 'EXPO-SplashScreen';\nconst CONTAINER_ID = 'EXPO-ContainerView';\n\nexport function removeImageFromSplashScreen(\n xml: IBSplashScreenDocument,\n { imageName }: { imageName: string }\n) {\n const mainView = xml.document.scenes[0].scene[0].objects[0].viewController[0].view[0];\n\n debug(`Remove all splash screen image elements`);\n\n removeExisting(mainView.subviews[0].imageView, IMAGE_ID);\n\n // Add Constraints\n getAbsoluteConstraints(IMAGE_ID, CONTAINER_ID).forEach((constraint) => {\n // <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"top\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"top\" id=\"2VS-Uz-0LU\"/>\n const constrainsArray = mainView.constraints[0].constraint;\n removeExisting(constrainsArray, constraint);\n });\n\n // Add resource\n const imageSection = xml.document.resources[0].image;\n\n const existingImageIndex = imageSection.findIndex((image) => image.$.name === imageName);\n if (existingImageIndex > -1) {\n imageSection.splice(existingImageIndex, 1);\n }\n return xml;\n}\n\nfunction getAbsoluteConstraints(childId: string, parentId: string) {\n return [\n createConstraint([childId, 'top'], [parentId, 'top']),\n createConstraint([childId, 'leading'], [parentId, 'leading']),\n createConstraint([childId, 'trailing'], [parentId, 'trailing']),\n createConstraint([childId, 'bottom'], [parentId, 'bottom']),\n ];\n}\n\nexport function applyImageToSplashScreenXML(\n xml: IBSplashScreenDocument,\n {\n imageName,\n contentMode,\n }: {\n imageName: string;\n contentMode: ImageContentMode;\n }\n): IBSplashScreenDocument {\n const width = 414;\n const height = 736;\n\n const imageView: IBImageView = {\n $: {\n id: IMAGE_ID,\n userLabel: imageName,\n image: imageName,\n contentMode,\n horizontalHuggingPriority: 251,\n verticalHuggingPriority: 251,\n clipsSubviews: true,\n userInteractionEnabled: false,\n translatesAutoresizingMaskIntoConstraints: false,\n },\n rect: [\n {\n $: {\n key: 'frame',\n x: 0.0,\n y: 0.0,\n width,\n height,\n },\n },\n ],\n color: [\n {\n $: {\n key: 'backgroundColor',\n systemColor: 'systemBackgroundColor',\n },\n },\n ],\n };\n\n const mainView = xml.document.scenes[0].scene[0].objects[0].viewController[0].view[0];\n\n // Add ImageView\n ensureUniquePush(mainView.subviews[0].imageView, imageView);\n\n // Add Constraints\n getAbsoluteConstraints(IMAGE_ID, CONTAINER_ID).forEach((constraint) => {\n // <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"top\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"top\" id=\"2VS-Uz-0LU\"/>\n const constrainsArray = mainView.constraints[0].constraint;\n ensureUniquePush(constrainsArray, constraint);\n });\n\n // Add resource\n const imageSection = xml.document.resources[0].image;\n\n const existingImageIndex = imageSection.findIndex((image) => image.$.name === imageName);\n if (existingImageIndex > -1) {\n debug(`Removing existing IB image asset at index ${existingImageIndex}`);\n imageSection.splice(existingImageIndex, 1);\n }\n imageSection.push({\n // <image name=\"SplashScreen\" width=\"414\" height=\"736\"/>\n $: {\n name: imageName,\n width,\n height,\n },\n });\n\n return xml;\n}\n\n/**\n * IB does not allow two items to have the same ID.\n * This method will add an item by first removing any existing item with the same `$.id`.\n */\nexport function ensureUniquePush<TItem extends { $: { id: string } }>(array: TItem[], item: TItem) {\n if (!array) return array;\n removeExisting(array, item);\n array.push(item);\n return array;\n}\n\nexport function removeExisting<TItem extends { $: { id: string } }>(\n array: TItem[],\n item: TItem | string\n) {\n const id = typeof item === 'string' ? item : item.$?.id;\n const existingItem = array?.findIndex((existingItem) => existingItem.$.id === id);\n if (existingItem > -1) {\n debug(`Removing existing IB item with id ${id}, from: %O`, array);\n array.splice(existingItem, 1);\n }\n return array;\n}\n\n// Attempt to copy Xcode formatting.\nexport function toString(xml: any): string {\n const builder = new Builder({\n // @ts-expect-error: untyped\n preserveChildrenOrder: true,\n xmldec: {\n version: '1.0',\n encoding: 'UTF-8',\n },\n renderOpts: {\n pretty: true,\n indent: ' ',\n },\n });\n return builder.buildObject(xml);\n}\n\n/** Parse string contents into an object. */\nexport function toObjectAsync(contents: string) {\n return new Parser().parseStringPromise(contents);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InterfaceBuilder.js","names":["_crypto","data","_interopRequireDefault","require","_xml2js","obj","__esModule","default","debug","createConstraint","firstItem","firstAttribute","secondItem","secondAttribute","constant","$","id","createConstraintId","attributes","crypto","createHash","update","join","digest","IMAGE_ID","CONTAINER_ID","removeImageFromSplashScreen","xml","imageName","mainView","document","scenes","scene","objects","viewController","view","removeExisting","subviews","imageView","getAbsoluteConstraints","forEach","constraint","constrainsArray","constraints","imageSection","resources","image","existingImageIndex","findIndex","name","splice","childId","parentId","applyImageToSplashScreenXML","contentMode","width","height","userLabel","horizontalHuggingPriority","verticalHuggingPriority","clipsSubviews","userInteractionEnabled","translatesAutoresizingMaskIntoConstraints","rect","key","x","y","ensureUniquePush","push","array","item","_item$$","existingItem","toString","builder","Builder","preserveChildrenOrder","xmldec","version","encoding","renderOpts","pretty","indent","buildObject","toObjectAsync","contents","Parser","parseStringPromise"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/InterfaceBuilder.ts"],"sourcesContent":["import crypto from 'crypto';\nimport { Builder, Parser } from 'xml2js';\n\nconst debug = require('debug')(\n 'expo:prebuild-config:expo-splash-screen:ios:InterfaceBuilder'\n) as typeof console.log;\n\nexport type IBBoolean = 'YES' | 'NO' | boolean;\n\nexport type IBItem<\n H extends Record<string, any>,\n B extends Record<string, any[]> = { [key: string]: any },\n> = {\n $: H;\n} & B;\n\nexport type Rect = {\n key: string;\n x: number;\n y: number;\n width: number;\n height: number;\n};\n\nexport type IBRect = IBItem<Rect>;\n\nexport type IBAutoresizingMask = IBItem<{\n /** @example `autoresizingMask` */\n key: string;\n flexibleMaxX: IBBoolean;\n flexibleMaxY: IBBoolean;\n}>;\n\n/** @example `<color key=\"textColor\" systemColor=\"linkColor\"/>` */\nexport type IBColor = IBItem<\n {\n /** @example `textColor` */\n key: string;\n } & (\n | /** Custom color */\n {\n /** @example `0.86584504117670746` */\n red: number;\n /** @example `0.26445041990630447` */\n green: number;\n /** @example `0.3248577810203549` */\n blue: number;\n /** @example `1` */\n alpha: number;\n colorSpace: 'custom' | string;\n customColorSpace: 'displayP3' | 'sRGB' | string;\n }\n /** Built-in color */\n | {\n systemColor: 'linkColor' | string;\n }\n )\n>;\n\nexport type IBFontDescription = IBItem<{\n /** @example `fontDescription` */\n key: string;\n /** Font size */\n pointSize: number;\n\n /** Custom font */\n name?: 'HelveticaNeue' | string;\n family?: 'Helvetica Neue' | string;\n\n /** Built-in font */\n type?: 'system' | 'boldSystem' | 'UICTFontTextStyleCallout' | 'UICTFontTextStyleBody' | string;\n}>;\n\nexport type ImageContentMode = 'scaleAspectFit' | 'scaleAspectFill';\n\nexport type ConstraintAttribute = 'top' | 'bottom' | 'trailing' | 'leading';\n\nexport type IBImageView = IBItem<\n {\n id: string;\n userLabel: string;\n image: string;\n clipsSubviews?: IBBoolean;\n userInteractionEnabled: IBBoolean;\n contentMode: IBContentMode;\n horizontalHuggingPriority: number;\n verticalHuggingPriority: number;\n insetsLayoutMarginsFromSafeArea?: IBBoolean;\n translatesAutoresizingMaskIntoConstraints?: IBBoolean;\n },\n {\n rect: IBRect[];\n }\n>;\n\nexport type IBLabel = IBItem<\n {\n id: string;\n /** The main value. */\n text: string;\n\n opaque: IBBoolean;\n fixedFrame: IBBoolean;\n textAlignment?: IBTextAlignment;\n lineBreakMode:\n | 'clip'\n | 'characterWrap'\n | 'wordWrap'\n | 'headTruncation'\n | 'middleTruncation'\n | 'tailTruncation';\n baselineAdjustment?: 'none' | 'alignBaselines';\n adjustsFontSizeToFit: IBBoolean;\n userInteractionEnabled: IBBoolean;\n contentMode: IBContentMode;\n horizontalHuggingPriority: number;\n verticalHuggingPriority: number;\n translatesAutoresizingMaskIntoConstraints?: IBBoolean;\n },\n {\n /** @example `<rect key=\"frame\" x=\"175\" y=\"670\" width=\"35\" height=\"17\"/>` */\n rect: IBRect[];\n /** @example `<autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>` */\n autoresizingMask?: IBAutoresizingMask[];\n /** @example `<fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"19\"/>` */\n fontDescription?: IBFontDescription[];\n /** @example `<color key=\"textColor\" red=\"0.0\" green=\"0.0\" blue=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>` */\n color?: IBColor[];\n nil?: IBItem<{\n /** @example `textColor` `highlightedColor` */\n key: string;\n }>[];\n }\n>;\n\nexport type IBTextAlignment = 'left' | 'center' | 'right' | 'justified' | 'natural';\n\nexport type IBContentMode = string | 'left' | 'scaleAspectFill';\n\nexport type IBConstraint = IBItem<{\n firstItem: string;\n firstAttribute: ConstraintAttribute;\n secondItem: string;\n secondAttribute: ConstraintAttribute;\n constant?: number;\n id: string;\n}>;\n\nexport type IBViewController = IBItem<\n {\n id: string;\n placeholderIdentifier?: string;\n userLabel: string;\n sceneMemberID: string;\n },\n {\n view: IBItem<\n {\n id: string;\n key: string;\n userInteractionEnabled: IBBoolean;\n contentMode: string | 'scaleToFill';\n insetsLayoutMarginsFromSafeArea: IBBoolean;\n userLabel: string;\n },\n {\n rect: IBRect[];\n autoresizingMask: IBItem<{\n key: string;\n flexibleMaxX: IBBoolean;\n flexibleMaxY: IBBoolean;\n }>[];\n\n subviews: IBItem<\n object,\n {\n imageView: IBImageView[];\n label: IBLabel[];\n }\n >[];\n color: IBItem<{\n key: string | 'backgroundColor';\n systemColor: string | 'systemBackgroundColor';\n }>[];\n constraints: IBItem<\n object,\n {\n constraint: IBConstraint[];\n }\n >[];\n viewLayoutGuide: IBItem<{\n id: string;\n key: string | 'safeArea';\n }>[];\n }\n >[];\n }\n>;\n\nexport type IBPoint = IBItem<{\n key: string | 'canvasLocation';\n x: number;\n y: number;\n}>;\n\nexport type IBScene = IBItem<\n { sceneID: string },\n {\n objects: {\n viewController: IBViewController[];\n placeholder: IBItem<{\n id: string;\n placeholderIdentifier?: string;\n userLabel: string;\n sceneMemberID: string;\n }>[];\n }[];\n point: IBPoint[];\n }\n>;\n\nexport type IBResourceImage = IBItem<{\n name: string;\n width: number;\n height: number;\n}>;\n\nexport type IBDevice = IBItem<{\n id: string;\n orientation: string | 'portrait';\n appearance: string | 'light';\n}>;\n\nexport type IBSplashScreenDocument = {\n document: IBItem<\n {\n type: 'com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB' | string;\n version: '3.0' | string;\n toolsVersion: number;\n targetRuntime: 'iOS.CocoaTouch' | string;\n propertyAccessControl: 'none' | string;\n useAutolayout: IBBoolean;\n launchScreen: IBBoolean;\n useTraitCollections: IBBoolean;\n useSafeAreas: IBBoolean;\n colorMatched: IBBoolean;\n initialViewController: string;\n },\n {\n device: IBDevice[];\n dependencies: unknown[];\n scenes: {\n scene: IBScene[];\n }[];\n resources: {\n image: IBResourceImage[];\n }[];\n }\n >;\n};\n\nexport function createConstraint(\n [firstItem, firstAttribute]: [string, ConstraintAttribute],\n [secondItem, secondAttribute]: [string, ConstraintAttribute],\n constant?: number\n): IBConstraint {\n return {\n $: {\n firstItem,\n firstAttribute,\n secondItem,\n secondAttribute,\n constant,\n // Prevent updating between runs\n id: createConstraintId(firstItem, firstAttribute, secondItem, secondAttribute),\n },\n };\n}\n\nexport function createConstraintId(...attributes: string[]) {\n return crypto.createHash('sha1').update(attributes.join('-')).digest('hex');\n}\n\nconst IMAGE_ID = 'EXPO-SplashScreen';\nconst CONTAINER_ID = 'EXPO-ContainerView';\n\nexport function removeImageFromSplashScreen(\n xml: IBSplashScreenDocument,\n { imageName }: { imageName: string }\n) {\n const mainView = xml.document.scenes[0].scene[0].objects[0].viewController[0].view[0];\n\n debug(`Remove all splash screen image elements`);\n\n removeExisting(mainView.subviews[0].imageView, IMAGE_ID);\n\n // Add Constraints\n getAbsoluteConstraints(IMAGE_ID, CONTAINER_ID).forEach((constraint) => {\n // <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"top\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"top\" id=\"2VS-Uz-0LU\"/>\n const constrainsArray = mainView.constraints[0].constraint;\n removeExisting(constrainsArray, constraint);\n });\n\n // Add resource\n const imageSection = xml.document.resources[0].image;\n\n const existingImageIndex = imageSection.findIndex((image) => image.$.name === imageName);\n if (existingImageIndex > -1) {\n imageSection.splice(existingImageIndex, 1);\n }\n return xml;\n}\n\nfunction getAbsoluteConstraints(childId: string, parentId: string) {\n return [\n createConstraint([childId, 'top'], [parentId, 'top']),\n createConstraint([childId, 'leading'], [parentId, 'leading']),\n createConstraint([childId, 'trailing'], [parentId, 'trailing']),\n createConstraint([childId, 'bottom'], [parentId, 'bottom']),\n ];\n}\n\nexport function applyImageToSplashScreenXML(\n xml: IBSplashScreenDocument,\n {\n imageName,\n contentMode,\n }: {\n imageName: string;\n contentMode: ImageContentMode;\n }\n): IBSplashScreenDocument {\n const width = 414;\n const height = 736;\n\n const imageView: IBImageView = {\n $: {\n id: IMAGE_ID,\n userLabel: imageName,\n image: imageName,\n contentMode,\n horizontalHuggingPriority: 251,\n verticalHuggingPriority: 251,\n clipsSubviews: true,\n userInteractionEnabled: false,\n translatesAutoresizingMaskIntoConstraints: false,\n },\n rect: [\n {\n $: {\n key: 'frame',\n x: 0.0,\n y: 0.0,\n width,\n height,\n },\n },\n ],\n };\n\n const mainView = xml.document.scenes[0].scene[0].objects[0].viewController[0].view[0];\n\n // Add ImageView\n ensureUniquePush(mainView.subviews[0].imageView, imageView);\n\n // Add Constraints\n getAbsoluteConstraints(IMAGE_ID, CONTAINER_ID).forEach((constraint) => {\n // <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"top\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"top\" id=\"2VS-Uz-0LU\"/>\n const constrainsArray = mainView.constraints[0].constraint;\n ensureUniquePush(constrainsArray, constraint);\n });\n\n // Add resource\n const imageSection = xml.document.resources[0].image;\n\n const existingImageIndex = imageSection.findIndex((image) => image.$.name === imageName);\n if (existingImageIndex > -1) {\n debug(`Removing existing IB image asset at index ${existingImageIndex}`);\n imageSection.splice(existingImageIndex, 1);\n }\n imageSection.push({\n // <image name=\"SplashScreen\" width=\"414\" height=\"736\"/>\n $: {\n name: imageName,\n width,\n height,\n },\n });\n\n return xml;\n}\n\n/**\n * IB does not allow two items to have the same ID.\n * This method will add an item by first removing any existing item with the same `$.id`.\n */\nexport function ensureUniquePush<TItem extends { $: { id: string } }>(array: TItem[], item: TItem) {\n if (!array) return array;\n removeExisting(array, item);\n array.push(item);\n return array;\n}\n\nexport function removeExisting<TItem extends { $: { id: string } }>(\n array: TItem[],\n item: TItem | string\n) {\n const id = typeof item === 'string' ? item : item.$?.id;\n const existingItem = array?.findIndex((existingItem) => existingItem.$.id === id);\n if (existingItem > -1) {\n debug(`Removing existing IB item with id ${id}, from: %O`, array);\n array.splice(existingItem, 1);\n }\n return array;\n}\n\n// Attempt to copy Xcode formatting.\nexport function toString(xml: any): string {\n const builder = new Builder({\n // @ts-expect-error: untyped\n preserveChildrenOrder: true,\n xmldec: {\n version: '1.0',\n encoding: 'UTF-8',\n },\n renderOpts: {\n pretty: true,\n indent: ' ',\n },\n });\n return builder.buildObject(xml);\n}\n\n/** Parse string contents into an object. */\nexport function toObjectAsync(contents: string) {\n return new Parser().parseStringPromise(contents);\n}\n"],"mappings":"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"}
|
|
@@ -138,7 +138,7 @@ const withIosExpoPlugins = (config, {
|
|
|
138
138
|
// XcodeProject
|
|
139
139
|
_configPlugins().IOSConfig.DeviceFamily.withDeviceFamily, _configPlugins().IOSConfig.Bitcode.withBitcode, _configPlugins().IOSConfig.Locales.withLocales,
|
|
140
140
|
// Dangerous
|
|
141
|
-
_withIosIcons().withIosIcons]);
|
|
141
|
+
_withIosIcons().withIosIcons, _configPlugins().IOSConfig.PrivacyInfo.withPrivacyInfo]);
|
|
142
142
|
};
|
|
143
143
|
|
|
144
144
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withDefaultPlugins.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_withAndroidIcons","_withIosIcons","_expoAdsAdmob","_expoAppleAuthentication","_expoContacts","_expoDocumentPicker","_expoNavigationBar","_expoNotifications","_expoSplashScreen","_expoSystemUi","_expoUpdates","_reactNativeMaps","_getAutolinkedPackages","obj","__esModule","default","debug","Debug","withIosExpoPlugins","config","bundleIdentifier","ios","withPlugins","IOSConfig","BundleIdentifier","withBundleIdentifier","Swift","withSwiftBridgingHeader","withNoopSwiftFile","Google","withGoogle","Name","withDisplayName","withProductName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","Scheme","withScheme","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","BuildProperties","withJsEnginePodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Bitcode","withBitcode","Locales","withLocales","withIosIcons","exports","withAndroidExpoPlugins","props","android","package","AndroidConfig","withJsEngineGradleProps","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","IntentFilters","withAndroidIntentFilters","Permissions","withInternalBlockedPermissions","withPermissions","withName","StatusBar","withStatusBar","PrimaryColor","withPrimaryColor","withAndroidIcons","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","withMaps","withAdMob","withAppleAuthentication","withContacts","withNotifications","withUpdates","withDocumentPicker","withSystemUI","withSplashScreen","withNavigationBar","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","shouldSkipAutoPlugin","withStaticPlugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"sources":["../../src/plugins/withDefaultPlugins.ts"],"sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport {\n AndroidConfig,\n ConfigPlugin,\n IOSConfig,\n StaticPlugin,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport withAdMob from './unversioned/expo-ads-admob/expo-ads-admob';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withNavigationBar from './unversioned/expo-navigation-bar/expo-navigation-bar';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSplashScreen from './unversioned/expo-splash-screen/expo-splash-screen';\nimport withSystemUI from './unversioned/expo-system-ui/expo-system-ui';\nimport withUpdates from './unversioned/expo-updates';\nimport withMaps from './unversioned/react-native-maps';\nimport { shouldSkipAutoPlugin } from '../getAutolinkedPackages';\n\nconst debug = Debug('expo:prebuild-config');\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withIosExpoPlugins: ConfigPlugin<{\n bundleIdentifier: string;\n}> = (config, { bundleIdentifier }) => {\n // Set the bundle ID ahead of time.\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier = bundleIdentifier;\n\n return withPlugins(config, [\n [IOSConfig.BundleIdentifier.withBundleIdentifier, { bundleIdentifier }],\n IOSConfig.Swift.withSwiftBridgingHeader,\n IOSConfig.Swift.withNoopSwiftFile,\n IOSConfig.Google.withGoogle,\n IOSConfig.Name.withDisplayName,\n IOSConfig.Name.withProductName,\n IOSConfig.Orientation.withOrientation,\n IOSConfig.RequiresFullScreen.withRequiresFullScreen,\n IOSConfig.Scheme.withScheme,\n IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption,\n IOSConfig.Version.withBuildNumber,\n IOSConfig.Version.withVersion,\n IOSConfig.Google.withGoogleServicesFile,\n IOSConfig.BuildProperties.withJsEnginePodfileProps,\n // Entitlements\n IOSConfig.Entitlements.withAssociatedDomains,\n // XcodeProject\n IOSConfig.DeviceFamily.withDeviceFamily,\n IOSConfig.Bitcode.withBitcode,\n IOSConfig.Locales.withLocales,\n // Dangerous\n withIosIcons,\n ]);\n};\n\n/**\n * Config plugin to apply all of the custom Expo Android config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withAndroidExpoPlugins: ConfigPlugin<{\n package: string;\n}> = (config, props) => {\n // Set the package name ahead of time.\n if (!config.android) config.android = {};\n config.android.package = props.package;\n\n return withPlugins(config, [\n // gradle.properties\n AndroidConfig.BuildProperties.withJsEngineGradleProps,\n\n // settings.gradle\n AndroidConfig.Name.withNameSettingsGradle,\n\n // project build.gradle\n AndroidConfig.GoogleServices.withClassPath,\n\n // app/build.gradle\n AndroidConfig.GoogleServices.withApplyPlugin,\n AndroidConfig.Package.withPackageGradle,\n AndroidConfig.Version.withVersion,\n\n // AndroidManifest.xml\n AndroidConfig.AllowBackup.withAllowBackup,\n AndroidConfig.WindowSoftInputMode.withWindowSoftInputMode,\n // Note: The withAndroidIntentFilters plugin must appear before the withScheme\n // plugin or withScheme will override the output of withAndroidIntentFilters.\n AndroidConfig.IntentFilters.withAndroidIntentFilters,\n AndroidConfig.Scheme.withScheme,\n AndroidConfig.Orientation.withOrientation,\n AndroidConfig.Permissions.withInternalBlockedPermissions,\n AndroidConfig.Permissions.withPermissions,\n\n // strings.xml\n AndroidConfig.Name.withName,\n\n // Dangerous -- these plugins run in reverse order.\n AndroidConfig.GoogleServices.withGoogleServicesFile,\n\n // Modify colors.xml and styles.xml\n AndroidConfig.StatusBar.withStatusBar,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n\n withAndroidIcons,\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-navigation-bar',\n 'expo-document-picker',\n 'expo-splash-screen',\n 'expo-system-ui',\n];\n\nexport const withVersionedExpoSDKPlugins: ConfigPlugin = (config) => {\n return withPlugins(config, [\n withMaps,\n withAdMob,\n withAppleAuthentication,\n withContacts,\n withNotifications,\n withUpdates,\n withDocumentPicker,\n // System UI must come before splash screen as they overlap\n // and splash screen will warn about conflicting rules.\n withSystemUI,\n withSplashScreen,\n withNavigationBar,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-barcode-scanner',\n 'expo-brightness',\n 'expo-calendar',\n 'expo-camera',\n 'expo-cellular',\n 'expo-dev-menu',\n 'expo-dev-launcher',\n 'expo-dev-client',\n 'expo-image-picker',\n 'expo-file-system',\n 'expo-location',\n 'expo-media-library',\n 'expo-screen-orientation',\n 'expo-sensors',\n 'expo-task-manager',\n 'expo-local-authentication',\n];\n\n// Plugins that need to be automatically applied, but also get applied by expo-cli if the versioned plugin isn't available.\n// These are split up because the user doesn't need to be prompted to setup these packages.\nconst expoManagedVersionedPlugins = [\n 'expo-firebase-analytics',\n 'expo-firebase-core',\n 'expo-google-sign-in',\n];\n\nconst withOptionalLegacyPlugins: ConfigPlugin<(StaticPlugin | string)[]> = (config, plugins) => {\n return plugins.reduce((prev, plugin) => {\n if (shouldSkipAutoPlugin(config, plugin)) {\n debug('Skipping unlinked auto plugin:', plugin);\n return prev;\n }\n\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: (config) => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"withDefaultPlugins.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_withAndroidIcons","_withIosIcons","_expoAdsAdmob","_expoAppleAuthentication","_expoContacts","_expoDocumentPicker","_expoNavigationBar","_expoNotifications","_expoSplashScreen","_expoSystemUi","_expoUpdates","_reactNativeMaps","_getAutolinkedPackages","obj","__esModule","default","debug","Debug","withIosExpoPlugins","config","bundleIdentifier","ios","withPlugins","IOSConfig","BundleIdentifier","withBundleIdentifier","Swift","withSwiftBridgingHeader","withNoopSwiftFile","Google","withGoogle","Name","withDisplayName","withProductName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","Scheme","withScheme","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","BuildProperties","withJsEnginePodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Bitcode","withBitcode","Locales","withLocales","withIosIcons","PrivacyInfo","withPrivacyInfo","exports","withAndroidExpoPlugins","props","android","package","AndroidConfig","withJsEngineGradleProps","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","IntentFilters","withAndroidIntentFilters","Permissions","withInternalBlockedPermissions","withPermissions","withName","StatusBar","withStatusBar","PrimaryColor","withPrimaryColor","withAndroidIcons","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","withMaps","withAdMob","withAppleAuthentication","withContacts","withNotifications","withUpdates","withDocumentPicker","withSystemUI","withSplashScreen","withNavigationBar","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","shouldSkipAutoPlugin","withStaticPlugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"sources":["../../src/plugins/withDefaultPlugins.ts"],"sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport {\n AndroidConfig,\n ConfigPlugin,\n IOSConfig,\n StaticPlugin,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport withAdMob from './unversioned/expo-ads-admob/expo-ads-admob';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withNavigationBar from './unversioned/expo-navigation-bar/expo-navigation-bar';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSplashScreen from './unversioned/expo-splash-screen/expo-splash-screen';\nimport withSystemUI from './unversioned/expo-system-ui/expo-system-ui';\nimport withUpdates from './unversioned/expo-updates';\nimport withMaps from './unversioned/react-native-maps';\nimport { shouldSkipAutoPlugin } from '../getAutolinkedPackages';\n\nconst debug = Debug('expo:prebuild-config');\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withIosExpoPlugins: ConfigPlugin<{\n bundleIdentifier: string;\n}> = (config, { bundleIdentifier }) => {\n // Set the bundle ID ahead of time.\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier = bundleIdentifier;\n\n return withPlugins(config, [\n [IOSConfig.BundleIdentifier.withBundleIdentifier, { bundleIdentifier }],\n IOSConfig.Swift.withSwiftBridgingHeader,\n IOSConfig.Swift.withNoopSwiftFile,\n IOSConfig.Google.withGoogle,\n IOSConfig.Name.withDisplayName,\n IOSConfig.Name.withProductName,\n IOSConfig.Orientation.withOrientation,\n IOSConfig.RequiresFullScreen.withRequiresFullScreen,\n IOSConfig.Scheme.withScheme,\n IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption,\n IOSConfig.Version.withBuildNumber,\n IOSConfig.Version.withVersion,\n IOSConfig.Google.withGoogleServicesFile,\n IOSConfig.BuildProperties.withJsEnginePodfileProps,\n // Entitlements\n IOSConfig.Entitlements.withAssociatedDomains,\n // XcodeProject\n IOSConfig.DeviceFamily.withDeviceFamily,\n IOSConfig.Bitcode.withBitcode,\n IOSConfig.Locales.withLocales,\n // Dangerous\n withIosIcons,\n IOSConfig.PrivacyInfo.withPrivacyInfo,\n ]);\n};\n\n/**\n * Config plugin to apply all of the custom Expo Android config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withAndroidExpoPlugins: ConfigPlugin<{\n package: string;\n}> = (config, props) => {\n // Set the package name ahead of time.\n if (!config.android) config.android = {};\n config.android.package = props.package;\n\n return withPlugins(config, [\n // gradle.properties\n AndroidConfig.BuildProperties.withJsEngineGradleProps,\n\n // settings.gradle\n AndroidConfig.Name.withNameSettingsGradle,\n\n // project build.gradle\n AndroidConfig.GoogleServices.withClassPath,\n\n // app/build.gradle\n AndroidConfig.GoogleServices.withApplyPlugin,\n AndroidConfig.Package.withPackageGradle,\n AndroidConfig.Version.withVersion,\n\n // AndroidManifest.xml\n AndroidConfig.AllowBackup.withAllowBackup,\n AndroidConfig.WindowSoftInputMode.withWindowSoftInputMode,\n // Note: The withAndroidIntentFilters plugin must appear before the withScheme\n // plugin or withScheme will override the output of withAndroidIntentFilters.\n AndroidConfig.IntentFilters.withAndroidIntentFilters,\n AndroidConfig.Scheme.withScheme,\n AndroidConfig.Orientation.withOrientation,\n AndroidConfig.Permissions.withInternalBlockedPermissions,\n AndroidConfig.Permissions.withPermissions,\n\n // strings.xml\n AndroidConfig.Name.withName,\n\n // Dangerous -- these plugins run in reverse order.\n AndroidConfig.GoogleServices.withGoogleServicesFile,\n\n // Modify colors.xml and styles.xml\n AndroidConfig.StatusBar.withStatusBar,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n\n withAndroidIcons,\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-navigation-bar',\n 'expo-document-picker',\n 'expo-splash-screen',\n 'expo-system-ui',\n];\n\nexport const withVersionedExpoSDKPlugins: ConfigPlugin = (config) => {\n return withPlugins(config, [\n withMaps,\n withAdMob,\n withAppleAuthentication,\n withContacts,\n withNotifications,\n withUpdates,\n withDocumentPicker,\n // System UI must come before splash screen as they overlap\n // and splash screen will warn about conflicting rules.\n withSystemUI,\n withSplashScreen,\n withNavigationBar,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-barcode-scanner',\n 'expo-brightness',\n 'expo-calendar',\n 'expo-camera',\n 'expo-cellular',\n 'expo-dev-menu',\n 'expo-dev-launcher',\n 'expo-dev-client',\n 'expo-image-picker',\n 'expo-file-system',\n 'expo-location',\n 'expo-media-library',\n 'expo-screen-orientation',\n 'expo-sensors',\n 'expo-task-manager',\n 'expo-local-authentication',\n];\n\n// Plugins that need to be automatically applied, but also get applied by expo-cli if the versioned plugin isn't available.\n// These are split up because the user doesn't need to be prompted to setup these packages.\nconst expoManagedVersionedPlugins = [\n 'expo-firebase-analytics',\n 'expo-firebase-core',\n 'expo-google-sign-in',\n];\n\nconst withOptionalLegacyPlugins: ConfigPlugin<(StaticPlugin | string)[]> = (config, plugins) => {\n return plugins.reduce((prev, plugin) => {\n if (shouldSkipAutoPlugin(config, plugin)) {\n debug('Skipping unlinked auto plugin:', plugin);\n return prev;\n }\n\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: (config) => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/prebuild-config",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.8.0",
|
|
4
4
|
"description": "Get the prebuild config",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@expo/config": "~8.5.0",
|
|
41
|
-
"@expo/config-plugins": "~7.
|
|
41
|
+
"@expo/config-plugins": "~7.9.0",
|
|
42
42
|
"@expo/config-types": "^50.0.0-alpha.1",
|
|
43
43
|
"@expo/image-utils": "^0.4.0",
|
|
44
44
|
"@expo/json-file": "^8.2.37",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "88a8226609b870c0635c39da43ac8306c4dc7031"
|
|
58
58
|
}
|