expo-dev-menu 2.0.2 → 2.1.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/CHANGELOG.md CHANGED
@@ -10,14 +10,25 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
- ## 2.0.22022-11-21
13
+ ## 2.1.0 — 2023-02-03
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - Added React Native 0.71 support. ([#20470](https://github.com/expo/expo/pull/20470) by [@kudo](https://github.com/kudo))
18
+ - Added support for React Native 0.71.x. ([#20799](https://github.com/expo/expo/pull/20799) [#20832](https://github.com/expo/expo/pull/20832) by [@kudo](https://github.com/kudo))
19
+
20
+ ### 💡 Others
21
+
22
+ - On Android bump `compileSdkVersion` and `targetSdkVersion` to `33`. ([#20721](https://github.com/expo/expo/pull/20721) by [@lukmccall](https://github.com/lukmccall))
23
+
24
+ ## 2.0.2 - 2022-11-21
14
25
 
15
26
  ### 🐛 Bug fixes
16
27
 
17
28
  - Fixed `RCTStatusBarManager` module requires that the `UIViewControllerBasedStatusBarAppearance` to be false on iOS. ([#20104](https://github.com/expo/expo/pull/20104) by [@lukmccall](https://github.com/lukmccall))
18
29
  - Fixed writing 'r' into text input reloading the app on iOS. ([#20107](https://github.com/expo/expo/pull/20107) by [@lukmccall](https://github.com/lukmccall))
19
30
 
20
- ## 2.0.1 2022-11-08
31
+ ## 2.0.1 - 2022-11-08
21
32
 
22
33
  ### 🐛 Bug fixes
23
34
 
@@ -33,6 +44,7 @@
33
44
  ### 💡 Others
34
45
 
35
46
  - [plugin] Migrate import from @expo/config-plugins to expo/config-plugins and @expo/config-types to expo/config. ([#18855](https://github.com/expo/expo/pull/18855) by [@brentvatne](https://github.com/brentvatne))
47
+ - Locked `layoutDirection` to LTR to prevent incorrect rendering when used together with a RTL enabled app. ([#19634](https://github.com/expo/expo/pull/19634) by [@aleqsio](https://github.com/aleqsio))
36
48
 
37
49
  ### ⚠️ Notices
38
50
 
@@ -7,17 +7,13 @@ apply plugin: 'kotlin-android'
7
7
  apply plugin: 'maven-publish'
8
8
 
9
9
  group = 'host.exp.exponent'
10
- version = '2.0.2'
10
+ version = '2.1.0'
11
11
 
12
12
  // reanimated v2
13
13
  def reactNativeFilePath = ["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()
14
14
  def inputFile = new File(reactNativeFilePath)
15
15
  def json = new JsonSlurper().parseText(inputFile.text)
16
- def reactNativeVersion = json.version as String
17
- if (reactNativeVersion.startsWith('0.0.0-')) {
18
- // react-native nightly build published as `0.0.0-20221002-2027-2319f75c8` form, but its semantic is latest
19
- reactNativeVersion = '9999.9999.9999'
20
- }
16
+ def reactNativeVersion = System.getenv("REACT_NATIVE_OVERRIDE_VERSION") ?: json.version as String
21
17
  def (major, minor, patch) = reactNativeVersion.tokenize('.')
22
18
 
23
19
  def engine = "jsc"
@@ -196,7 +192,7 @@ afterEvaluate {
196
192
  }
197
193
 
198
194
  android {
199
- compileSdkVersion safeExtGet("compileSdkVersion", 31)
195
+ compileSdkVersion safeExtGet("compileSdkVersion", 33)
200
196
 
201
197
  compileOptions {
202
198
  sourceCompatibility JavaVersion.VERSION_11
@@ -209,9 +205,9 @@ android {
209
205
 
210
206
  defaultConfig {
211
207
  minSdkVersion safeExtGet("minSdkVersion", 21)
212
- targetSdkVersion safeExtGet("targetSdkVersion", 31)
208
+ targetSdkVersion safeExtGet("targetSdkVersion", 33)
213
209
  versionCode 10
214
- versionName '2.0.2'
210
+ versionName '2.1.0'
215
211
  }
216
212
  lintOptions {
217
213
  abortOnError false
package/app/App.tsx CHANGED
@@ -24,7 +24,7 @@ export function App({
24
24
  registeredCallbacks,
25
25
  }: DevMenuInitialProps) {
26
26
  return (
27
- <GestureHandlerRootView style={{ flex: 1 }}>
27
+ <GestureHandlerRootView style={{ flex: 1, direction: 'ltr' }}>
28
28
  <AppProviders appInfo={appInfo} devSettings={devSettings} menuPreferences={menuPreferences}>
29
29
  <LoadInitialData loader={<Splash />}>
30
30
  <Main registeredCallbacks={registeredCallbacks} />
@@ -385,7 +385,7 @@ __d(function(e,r,t,s,i,n,a){i.exports={name:"react-native",version:"0.70.5",bin:
385
385
  __d(function(g,r,i,a,m,e,d){function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).createContext(void 0);e.default=n},379,[125]);
386
386
  __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=n.useContext(o.default);if(void 0===t)throw new Error("Couldn't find values for transition progress. Are you inside a screen in Native Stack?");return t};var n=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=t[l]}f.default=t,o&&o.set(t,f);return f})(r(d[1])),o=t(r(d[2]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}},380,[5,125,379]);
387
387
  __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.executeNativeBackPress=function(){return t.BackHandler.exitApp(),!0},e.isSearchBarAvailableForCurrentPlatform=void 0;var t=r(d[0]),o=['ios','android'].includes(t.Platform.OS);e.isSearchBarAvailableForCurrentPlatform=o},381,[1]);
388
- __d(function(g,r,i,a,m,e,d){var n=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.App=function(n){var f=n.devSettings,u=n.appInfo,j=n.menuPreferences,x=n.isDevice,b=n.registeredCallbacks;return(0,v.jsx)(s.GestureHandlerRootView,{style:{flex:1},children:(0,v.jsx)(t.AppProviders,{appInfo:u,devSettings:f,menuPreferences:j,children:(0,v.jsxs)(l.LoadInitialData,{loader:(0,v.jsx)(p.Splash,{}),children:[(0,v.jsx)(c.Main,{registeredCallbacks:b}),(0,v.jsx)(o.Onboarding,{isDevice:x})]})})})};n(r(d[1]));var s=r(d[2]),t=r(d[3]),l=r(d[4]),c=r(d[5]),o=r(d[6]),p=r(d[7]),v=r(d[8])},382,[5,125,383,662,1061,1063,1065,1062,180]);
388
+ __d(function(g,r,i,a,m,e,d){var n=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.App=function(n){var f=n.devSettings,u=n.appInfo,j=n.menuPreferences,x=n.isDevice,b=n.registeredCallbacks;return(0,v.jsx)(s.GestureHandlerRootView,{style:{flex:1,direction:'ltr'},children:(0,v.jsx)(t.AppProviders,{appInfo:u,devSettings:f,menuPreferences:j,children:(0,v.jsxs)(l.LoadInitialData,{loader:(0,v.jsx)(p.Splash,{}),children:[(0,v.jsx)(c.Main,{registeredCallbacks:b}),(0,v.jsx)(o.Onboarding,{isDevice:x})]})})})};n(r(d[1]));var s=r(d[2]),t=r(d[3]),l=r(d[4]),c=r(d[5]),o=r(d[6]),p=r(d[7]),v=r(d[8])},382,[5,125,383,662,1061,1063,1065,1062,180]);
389
389
  __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"BaseButton",{enumerable:!0,get:function(){return V.BaseButton}}),Object.defineProperty(e,"BorderlessButton",{enumerable:!0,get:function(){return V.BorderlessButton}}),Object.defineProperty(e,"ComposedGesture",{enumerable:!0,get:function(){return D.ComposedGestureType}}),Object.defineProperty(e,"Directions",{enumerable:!0,get:function(){return u.Directions}}),Object.defineProperty(e,"DrawerLayout",{enumerable:!0,get:function(){return C.default}}),Object.defineProperty(e,"DrawerLayoutAndroid",{enumerable:!0,get:function(){return x.DrawerLayoutAndroid}}),Object.defineProperty(e,"ExclusiveGesture",{enumerable:!0,get:function(){return D.ExclusiveGestureType}}),Object.defineProperty(e,"FlatList",{enumerable:!0,get:function(){return x.FlatList}}),Object.defineProperty(e,"FlingGesture",{enumerable:!0,get:function(){return F.FlingGestureType}}),Object.defineProperty(e,"FlingGestureHandler",{enumerable:!0,get:function(){return G.FlingGestureHandler}}),Object.defineProperty(e,"ForceTouchGesture",{enumerable:!0,get:function(){return R.ForceTouchGestureType}}),Object.defineProperty(e,"ForceTouchGestureHandler",{enumerable:!0,get:function(){return f.ForceTouchGestureHandler}}),Object.defineProperty(e,"Gesture",{enumerable:!0,get:function(){return T.GestureObjects}}),Object.defineProperty(e,"GestureDetector",{enumerable:!0,get:function(){return j.GestureDetector}}),Object.defineProperty(e,"GestureHandlerRootView",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(e,"GestureStateManager",{enumerable:!0,get:function(){return N.GestureStateManagerType}}),Object.defineProperty(e,"LongPressGesture",{enumerable:!0,get:function(){return w.LongPressGestureType}}),Object.defineProperty(e,"LongPressGestureHandler",{enumerable:!0,get:function(){return s.LongPressGestureHandler}}),Object.defineProperty(e,"ManualGesture",{enumerable:!0,get:function(){return L.ManualGestureType}}),Object.defineProperty(e,"NativeGesture",{enumerable:!0,get:function(){return S.NativeGestureType}}),Object.defineProperty(e,"NativeViewGestureHandler",{enumerable:!0,get:function(){return M.NativeViewGestureHandler}}),Object.defineProperty(e,"PanGesture",{enumerable:!0,get:function(){return H.PanGestureType}}),Object.defineProperty(e,"PanGestureHandler",{enumerable:!0,get:function(){return p.PanGestureHandler}}),Object.defineProperty(e,"PinchGesture",{enumerable:!0,get:function(){return v.PinchGestureType}}),Object.defineProperty(e,"PinchGestureHandler",{enumerable:!0,get:function(){return y.PinchGestureHandler}}),Object.defineProperty(e,"RaceGesture",{enumerable:!0,get:function(){return D.RaceGestureType}}),Object.defineProperty(e,"RawButton",{enumerable:!0,get:function(){return V.RawButton}}),Object.defineProperty(e,"RectButton",{enumerable:!0,get:function(){return V.RectButton}}),Object.defineProperty(e,"RotationGesture",{enumerable:!0,get:function(){return B.RotationGestureType}}),Object.defineProperty(e,"RotationGestureHandler",{enumerable:!0,get:function(){return P.RotationGestureHandler}}),Object.defineProperty(e,"ScrollView",{enumerable:!0,get:function(){return x.ScrollView}}),Object.defineProperty(e,"SimultaneousGesture",{enumerable:!0,get:function(){return D.SimultaneousGestureType}}),Object.defineProperty(e,"State",{enumerable:!0,get:function(){return o.State}}),Object.defineProperty(e,"Swipeable",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(e,"Switch",{enumerable:!0,get:function(){return x.Switch}}),Object.defineProperty(e,"TapGesture",{enumerable:!0,get:function(){return h.TapGestureType}}),Object.defineProperty(e,"TapGestureHandler",{enumerable:!0,get:function(){return l.TapGestureHandler}}),Object.defineProperty(e,"TextInput",{enumerable:!0,get:function(){return x.TextInput}}),Object.defineProperty(e,"TouchableHighlight",{enumerable:!0,get:function(){return k.TouchableHighlight}}),Object.defineProperty(e,"TouchableNativeFeedback",{enumerable:!0,get:function(){return k.TouchableNativeFeedback}}),Object.defineProperty(e,"TouchableOpacity",{enumerable:!0,get:function(){return k.TouchableOpacity}}),Object.defineProperty(e,"TouchableWithoutFeedback",{enumerable:!0,get:function(){return k.TouchableWithoutFeedback}}),Object.defineProperty(e,"createNativeWrapper",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(e,"gestureHandlerRootHOC",{enumerable:!0,get:function(){return c.default}});var n=r(d[1]),u=r(d[2]),o=r(d[3]),c=t(r(d[4])),b=t(r(d[5])),l=r(d[6]),f=r(d[7]),s=r(d[8]),p=r(d[9]),y=r(d[10]),P=r(d[11]),G=r(d[12]),O=t(r(d[13])),j=r(d[14]),T=r(d[15]),h=r(d[16]),H=r(d[17]),F=r(d[18]),w=r(d[19]),v=r(d[20]),B=r(d[21]),R=r(d[22]),S=r(d[23]),L=r(d[24]),D=r(d[25]),N=r(d[26]),M=r(d[27]),V=r(d[28]),k=r(d[29]),x=r(d[30]),_=t(r(d[31])),C=t(r(d[32]));(0,n.initialize)()},383,[5,384,389,386,390,394,395,489,491,492,493,494,495,496,498,640,648,645,641,644,646,647,642,649,650,643,639,497,651,653,659,660,661]);
390
390
  __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=function(){(0,n.startListening)()};var n=r(d[0])},384,[385]);
391
391
  __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.startListening=function(){S(),s=n.DeviceEventEmitter.addListener('onGestureHandlerEvent',T),u=n.DeviceEventEmitter.addListener('onGestureHandlerStateChange',T)},e.stopListening=S;var n=r(d[0]),t=r(d[1]),l=r(d[2]),o=r(d[3]),s=null,u=null,h={begin:function(){console.warn('You have to use react-native-reanimated in order to control the state of the gesture.')},activate:function(){console.warn('You have to use react-native-reanimated in order to control the state of the gesture.')},end:function(){console.warn('You have to use react-native-reanimated in order to control the state of the gesture.')},fail:function(){console.warn('You have to use react-native-reanimated in order to control the state of the gesture.')}},c=[];function E(n){return null!=n.oldState}function v(n){return null!=n.eventType}function T(n){var s,u,T,S,f=(0,o.findHandler)(n.handlerTag);if(f)if(E(n))n.oldState===t.State.UNDETERMINED&&n.state===t.State.BEGAN?null==f.handlers.onBegin||f.handlers.onBegin(n):n.oldState!==t.State.BEGAN&&n.oldState!==t.State.UNDETERMINED||n.state!==t.State.ACTIVE?n.oldState!==n.state&&n.state===t.State.END?(n.oldState===t.State.ACTIVE&&(null==f.handlers.onEnd||f.handlers.onEnd(n,!0)),null==f.handlers.onFinalize||f.handlers.onFinalize(n,!0),c[f.handlers.handlerTag]=void 0):n.state!==t.State.FAILED&&n.state!==t.State.CANCELLED||n.oldState===n.state||(n.oldState===t.State.ACTIVE&&(null==f.handlers.onEnd||f.handlers.onEnd(n,!1)),null==f.handlers.onFinalize||f.handlers.onFinalize(n,!1),c[f.handlers.handlerTag]=void 0):(null==f.handlers.onStart||f.handlers.onStart(n),c[f.handlers.handlerTag]=n);else if(v(n))switch(n.eventType){case l.EventType.TOUCHES_DOWN:null==(s=f.handlers)||null==s.onTouchesDown||s.onTouchesDown(n,h);break;case l.EventType.TOUCHES_MOVE:null==(u=f.handlers)||null==u.onTouchesMove||u.onTouchesMove(n,h);break;case l.EventType.TOUCHES_UP:null==(T=f.handlers)||null==T.onTouchesUp||T.onTouchesUp(n,h);break;case l.EventType.TOUCHES_CANCELLED:null==(S=f.handlers)||null==S.onTouchesCancelled||S.onTouchesCancelled(n,h)}else null==f.handlers.onUpdate||f.handlers.onUpdate(n),f.handlers.onChange&&f.handlers.changeEventCalculator&&(null==f.handlers.onChange||f.handlers.onChange(null==f.handlers.changeEventCalculator?void 0:f.handlers.changeEventCalculator(n,c[f.handlers.handlerTag])),c[f.handlers.handlerTag]=n)}function S(){s&&(n.DeviceEventEmitter.removeSubscription(s),s=null),u&&(n.DeviceEventEmitter.removeSubscription(u),u=null)}},385,[1,386,387,388]);
@@ -384,7 +384,7 @@ __d(function(e,r,t,s,i,n,a){i.exports={name:"react-native",version:"0.70.5",bin:
384
384
  __d(function(g,r,i,a,m,e,d){function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).createContext(void 0);e.default=n},378,[126]);
385
385
  __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=n.useContext(o.default);if(void 0===t)throw new Error("Couldn't find values for transition progress. Are you inside a screen in Native Stack?");return t};var n=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=t[l]}f.default=t,o&&o.set(t,f);return f})(r(d[1])),o=t(r(d[2]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}},379,[5,126,378]);
386
386
  __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.executeNativeBackPress=function(){return t.BackHandler.exitApp(),!0},e.isSearchBarAvailableForCurrentPlatform=void 0;var t=r(d[0]),o=['ios','android'].includes(t.Platform.OS);e.isSearchBarAvailableForCurrentPlatform=o},380,[1]);
387
- __d(function(g,r,i,a,m,e,d){var n=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.App=function(n){var f=n.devSettings,u=n.appInfo,j=n.menuPreferences,x=n.isDevice,b=n.registeredCallbacks;return(0,v.jsx)(s.GestureHandlerRootView,{style:{flex:1},children:(0,v.jsx)(t.AppProviders,{appInfo:u,devSettings:f,menuPreferences:j,children:(0,v.jsxs)(l.LoadInitialData,{loader:(0,v.jsx)(p.Splash,{}),children:[(0,v.jsx)(c.Main,{registeredCallbacks:b}),(0,v.jsx)(o.Onboarding,{isDevice:x})]})})})};n(r(d[1]));var s=r(d[2]),t=r(d[3]),l=r(d[4]),c=r(d[5]),o=r(d[6]),p=r(d[7]),v=r(d[8])},381,[5,126,382,661,1060,1062,1064,1061,181]);
387
+ __d(function(g,r,i,a,m,e,d){var n=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.App=function(n){var f=n.devSettings,u=n.appInfo,j=n.menuPreferences,x=n.isDevice,b=n.registeredCallbacks;return(0,v.jsx)(s.GestureHandlerRootView,{style:{flex:1,direction:'ltr'},children:(0,v.jsx)(t.AppProviders,{appInfo:u,devSettings:f,menuPreferences:j,children:(0,v.jsxs)(l.LoadInitialData,{loader:(0,v.jsx)(p.Splash,{}),children:[(0,v.jsx)(c.Main,{registeredCallbacks:b}),(0,v.jsx)(o.Onboarding,{isDevice:x})]})})})};n(r(d[1]));var s=r(d[2]),t=r(d[3]),l=r(d[4]),c=r(d[5]),o=r(d[6]),p=r(d[7]),v=r(d[8])},381,[5,126,382,661,1060,1062,1064,1061,181]);
388
388
  __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"BaseButton",{enumerable:!0,get:function(){return V.BaseButton}}),Object.defineProperty(e,"BorderlessButton",{enumerable:!0,get:function(){return V.BorderlessButton}}),Object.defineProperty(e,"ComposedGesture",{enumerable:!0,get:function(){return D.ComposedGestureType}}),Object.defineProperty(e,"Directions",{enumerable:!0,get:function(){return u.Directions}}),Object.defineProperty(e,"DrawerLayout",{enumerable:!0,get:function(){return C.default}}),Object.defineProperty(e,"DrawerLayoutAndroid",{enumerable:!0,get:function(){return x.DrawerLayoutAndroid}}),Object.defineProperty(e,"ExclusiveGesture",{enumerable:!0,get:function(){return D.ExclusiveGestureType}}),Object.defineProperty(e,"FlatList",{enumerable:!0,get:function(){return x.FlatList}}),Object.defineProperty(e,"FlingGesture",{enumerable:!0,get:function(){return F.FlingGestureType}}),Object.defineProperty(e,"FlingGestureHandler",{enumerable:!0,get:function(){return G.FlingGestureHandler}}),Object.defineProperty(e,"ForceTouchGesture",{enumerable:!0,get:function(){return R.ForceTouchGestureType}}),Object.defineProperty(e,"ForceTouchGestureHandler",{enumerable:!0,get:function(){return f.ForceTouchGestureHandler}}),Object.defineProperty(e,"Gesture",{enumerable:!0,get:function(){return T.GestureObjects}}),Object.defineProperty(e,"GestureDetector",{enumerable:!0,get:function(){return j.GestureDetector}}),Object.defineProperty(e,"GestureHandlerRootView",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(e,"GestureStateManager",{enumerable:!0,get:function(){return N.GestureStateManagerType}}),Object.defineProperty(e,"LongPressGesture",{enumerable:!0,get:function(){return w.LongPressGestureType}}),Object.defineProperty(e,"LongPressGestureHandler",{enumerable:!0,get:function(){return s.LongPressGestureHandler}}),Object.defineProperty(e,"ManualGesture",{enumerable:!0,get:function(){return L.ManualGestureType}}),Object.defineProperty(e,"NativeGesture",{enumerable:!0,get:function(){return S.NativeGestureType}}),Object.defineProperty(e,"NativeViewGestureHandler",{enumerable:!0,get:function(){return M.NativeViewGestureHandler}}),Object.defineProperty(e,"PanGesture",{enumerable:!0,get:function(){return H.PanGestureType}}),Object.defineProperty(e,"PanGestureHandler",{enumerable:!0,get:function(){return p.PanGestureHandler}}),Object.defineProperty(e,"PinchGesture",{enumerable:!0,get:function(){return v.PinchGestureType}}),Object.defineProperty(e,"PinchGestureHandler",{enumerable:!0,get:function(){return y.PinchGestureHandler}}),Object.defineProperty(e,"RaceGesture",{enumerable:!0,get:function(){return D.RaceGestureType}}),Object.defineProperty(e,"RawButton",{enumerable:!0,get:function(){return V.RawButton}}),Object.defineProperty(e,"RectButton",{enumerable:!0,get:function(){return V.RectButton}}),Object.defineProperty(e,"RotationGesture",{enumerable:!0,get:function(){return B.RotationGestureType}}),Object.defineProperty(e,"RotationGestureHandler",{enumerable:!0,get:function(){return P.RotationGestureHandler}}),Object.defineProperty(e,"ScrollView",{enumerable:!0,get:function(){return x.ScrollView}}),Object.defineProperty(e,"SimultaneousGesture",{enumerable:!0,get:function(){return D.SimultaneousGestureType}}),Object.defineProperty(e,"State",{enumerable:!0,get:function(){return o.State}}),Object.defineProperty(e,"Swipeable",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(e,"Switch",{enumerable:!0,get:function(){return x.Switch}}),Object.defineProperty(e,"TapGesture",{enumerable:!0,get:function(){return h.TapGestureType}}),Object.defineProperty(e,"TapGestureHandler",{enumerable:!0,get:function(){return l.TapGestureHandler}}),Object.defineProperty(e,"TextInput",{enumerable:!0,get:function(){return x.TextInput}}),Object.defineProperty(e,"TouchableHighlight",{enumerable:!0,get:function(){return k.TouchableHighlight}}),Object.defineProperty(e,"TouchableNativeFeedback",{enumerable:!0,get:function(){return k.TouchableNativeFeedback}}),Object.defineProperty(e,"TouchableOpacity",{enumerable:!0,get:function(){return k.TouchableOpacity}}),Object.defineProperty(e,"TouchableWithoutFeedback",{enumerable:!0,get:function(){return k.TouchableWithoutFeedback}}),Object.defineProperty(e,"createNativeWrapper",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(e,"gestureHandlerRootHOC",{enumerable:!0,get:function(){return c.default}});var n=r(d[1]),u=r(d[2]),o=r(d[3]),c=t(r(d[4])),b=t(r(d[5])),l=r(d[6]),f=r(d[7]),s=r(d[8]),p=r(d[9]),y=r(d[10]),P=r(d[11]),G=r(d[12]),O=t(r(d[13])),j=r(d[14]),T=r(d[15]),h=r(d[16]),H=r(d[17]),F=r(d[18]),w=r(d[19]),v=r(d[20]),B=r(d[21]),R=r(d[22]),S=r(d[23]),L=r(d[24]),D=r(d[25]),N=r(d[26]),M=r(d[27]),V=r(d[28]),k=r(d[29]),x=r(d[30]),_=t(r(d[31])),C=t(r(d[32]));(0,n.initialize)()},382,[5,383,388,385,389,393,394,488,490,491,492,493,494,495,497,639,647,644,640,643,645,646,641,648,649,642,638,496,650,652,658,659,660]);
389
389
  __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=function(){(0,n.startListening)()};var n=r(d[0])},383,[384]);
390
390
  __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.startListening=function(){S(),s=n.DeviceEventEmitter.addListener('onGestureHandlerEvent',T),u=n.DeviceEventEmitter.addListener('onGestureHandlerStateChange',T)},e.stopListening=S;var n=r(d[0]),t=r(d[1]),l=r(d[2]),o=r(d[3]),s=null,u=null,h={begin:function(){console.warn('You have to use react-native-reanimated in order to control the state of the gesture.')},activate:function(){console.warn('You have to use react-native-reanimated in order to control the state of the gesture.')},end:function(){console.warn('You have to use react-native-reanimated in order to control the state of the gesture.')},fail:function(){console.warn('You have to use react-native-reanimated in order to control the state of the gesture.')}},c=[];function E(n){return null!=n.oldState}function v(n){return null!=n.eventType}function T(n){var s,u,T,S,f=(0,o.findHandler)(n.handlerTag);if(f)if(E(n))n.oldState===t.State.UNDETERMINED&&n.state===t.State.BEGAN?null==f.handlers.onBegin||f.handlers.onBegin(n):n.oldState!==t.State.BEGAN&&n.oldState!==t.State.UNDETERMINED||n.state!==t.State.ACTIVE?n.oldState!==n.state&&n.state===t.State.END?(n.oldState===t.State.ACTIVE&&(null==f.handlers.onEnd||f.handlers.onEnd(n,!0)),null==f.handlers.onFinalize||f.handlers.onFinalize(n,!0),c[f.handlers.handlerTag]=void 0):n.state!==t.State.FAILED&&n.state!==t.State.CANCELLED||n.oldState===n.state||(n.oldState===t.State.ACTIVE&&(null==f.handlers.onEnd||f.handlers.onEnd(n,!1)),null==f.handlers.onFinalize||f.handlers.onFinalize(n,!1),c[f.handlers.handlerTag]=void 0):(null==f.handlers.onStart||f.handlers.onStart(n),c[f.handlers.handlerTag]=n);else if(v(n))switch(n.eventType){case l.EventType.TOUCHES_DOWN:null==(s=f.handlers)||null==s.onTouchesDown||s.onTouchesDown(n,h);break;case l.EventType.TOUCHES_MOVE:null==(u=f.handlers)||null==u.onTouchesMove||u.onTouchesMove(n,h);break;case l.EventType.TOUCHES_UP:null==(T=f.handlers)||null==T.onTouchesUp||T.onTouchesUp(n,h);break;case l.EventType.TOUCHES_CANCELLED:null==(S=f.handlers)||null==S.onTouchesCancelled||S.onTouchesCancelled(n,h)}else null==f.handlers.onUpdate||f.handlers.onUpdate(n),f.handlers.onChange&&f.handlers.changeEventCalculator&&(null==f.handlers.onChange||f.handlers.onChange(null==f.handlers.changeEventCalculator?void 0:f.handlers.changeEventCalculator(n,c[f.handlers.handlerTag])),c[f.handlers.handlerTag]=n)}function S(){s&&(n.DeviceEventEmitter.removeSubscription(s),s=null),u&&(n.DeviceEventEmitter.removeSubscription(u),u=null)}},384,[1,385,386,387]);
@@ -1,8 +1,8 @@
1
- export declare type ExpoDevMenuItem = {
1
+ export type ExpoDevMenuItem = {
2
2
  name: string;
3
3
  callback: () => void;
4
4
  };
5
- export declare type ExpoDevMenu = {
5
+ export type ExpoDevMenu = {
6
6
  openMenu(): any;
7
7
  addDevMenuCallbacks(names: string[]): any;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoDevMenu.types.d.ts","sourceRoot":"","sources":["../src/ExpoDevMenu.types.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,QAAQ,QAAG;IACX,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAE;CACtC,CAAC"}
1
+ {"version":3,"file":"ExpoDevMenu.types.d.ts","sourceRoot":"","sources":["../src/ExpoDevMenu.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,QAAG;IACX,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAE;CACtC,CAAC"}
@@ -10,8 +10,10 @@ rescue
10
10
  reactVersion = '0.66.0'
11
11
  end
12
12
 
13
- # react-native nightly build published as `0.0.0-20221002-2027-2319f75c8` form, but its semantic is latest
14
- reactVersion = '9999.9999.9999' if reactVersion.start_with?('0.0.0-')
13
+ if ENV["REACT_NATIVE_OVERRIDE_VERSION"]
14
+ reactVersion = ENV["REACT_NATIVE_OVERRIDE_VERSION"]
15
+ end
16
+
15
17
  splitedReactVersion = reactVersion.split('.')
16
18
  rnVersion = splitedReactVersion[1]
17
19
  rnPatchVersion = splitedReactVersion[2]
@@ -57,6 +59,10 @@ Pod::Spec.new do |s|
57
59
 
58
60
  s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'EX_DEV_MENU_ENABLED=1', 'OTHER_SWIFT_FLAGS' => '-DEX_DEV_MENU_ENABLED' }
59
61
 
62
+ s.user_target_xcconfig = {
63
+ "HEADER_SEARCH_PATHS" => "\"${PODS_CONFIGURATION_BUILD_DIR}/expo-dev-menu/Swift Compatibility Header\"",
64
+ }
65
+
60
66
  # Swift/Objective-C compatibility
61
67
  s.pod_target_xcconfig = { "DEFINES_MODULE" => "YES" }
62
68
 
@@ -80,11 +86,11 @@ Pod::Spec.new do |s|
80
86
  reanimated.preserve_paths = 'vendored/react-native-reanimated/Common/cpp/hidden_headers/**'
81
87
  reanimated.pod_target_xcconfig = {
82
88
  "USE_HEADERMAP" => "YES",
83
- "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/#{folly_prefix}Folly\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Headers/Private/React-Core\" "
89
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/#{folly_prefix}Folly\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Headers/Private/React-Core\" ",
90
+ 'CLANG_CXX_LIBRARY' => 'libc++',
91
+ "CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
84
92
  }
85
93
  reanimated.xcconfig = {
86
- 'CLANG_CXX_LIBRARY' => 'libc++',
87
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
88
94
  "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/glog\" \"$(PODS_ROOT)/#{folly_prefix}Folly\" \"${PODS_ROOT}/Headers/Public/React-hermes\" \"${PODS_ROOT}/Headers/Public/hermes-engine\"",
89
95
  "OTHER_CFLAGS" => "$(inherited)" + " " + folly_flags
90
96
  }
@@ -162,6 +168,8 @@ Pod::Spec.new do |s|
162
168
  test_spec.dependency 'Quick'
163
169
  test_spec.dependency 'Nimble'
164
170
  test_spec.dependency 'React-CoreModules'
171
+ # ExpoModulesCore requires React-hermes or React-jsc in tests, add ExpoModulesTestCore for the underlying dependencies
172
+ test_spec.dependency 'ExpoModulesTestCore'
165
173
  test_spec.platform = :ios, '13.0'
166
174
  end
167
175
 
@@ -40,7 +40,7 @@ extension UIResponder: DevMenuUIResponderExtensionProtocol {
40
40
 
41
41
  @objc
42
42
  var EXDevMenu_keyCommands: [UIKeyCommand] {
43
- if self is UITextField || self is UITextView {
43
+ if self is UITextField || self is UITextView || String(describing: type(of: self)) == "WKContentView" {
44
44
  return []
45
45
  }
46
46
  let actions = DevMenuManager.shared.devMenuCallable.filter { $0 is DevMenuExportedAction } as! [DevMenuExportedAction]
@@ -3,13 +3,15 @@
3
3
  import React
4
4
  import ExpoModulesCore
5
5
 
6
+ @objc
6
7
  public class ExpoDevMenuReactDelegateHandler: ExpoReactDelegateHandler {
7
- public static var enableAutoSetup: Bool?
8
+ @objc
9
+ public static var enableAutoSetup: Bool = true
8
10
 
9
11
  private static var shouldEnableAutoSetup: Bool = {
10
12
  // if someone else has set this explicitly, use that value
11
- if enableAutoSetup != nil {
12
- return enableAutoSetup!
13
+ if !enableAutoSetup {
14
+ return false
13
15
  }
14
16
 
15
17
  if !EXAppDefines.APP_DEBUG {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-dev-menu",
3
- "version": "2.0.2",
3
+ "version": "2.1.0",
4
4
  "description": "Expo/React Native module with the developer menu.",
5
5
  "main": "build/DevMenu.js",
6
6
  "types": "build/DevMenu.d.ts",
@@ -43,10 +43,12 @@
43
43
  "@testing-library/jest-native/extend-expect",
44
44
  "./setupTests.ts"
45
45
  ],
46
- "transformIgnorePatterns": []
46
+ "transformIgnorePatterns": [
47
+ "/node_modules/(?!@?react-native(-reanimated)?)"
48
+ ]
47
49
  },
48
50
  "dependencies": {
49
- "expo-dev-menu-interface": "1.0.0",
51
+ "expo-dev-menu-interface": "1.1.0",
50
52
  "semver": "^7.3.5"
51
53
  },
52
54
  "devDependencies": {
@@ -55,19 +57,19 @@
55
57
  "@testing-library/jest-native": "^4.0.4",
56
58
  "@testing-library/react-native": "^8.0.0",
57
59
  "babel-plugin-module-resolver": "^4.1.0",
58
- "babel-preset-expo": "~9.2.0",
59
- "expo-dev-client-components": "1.2.2",
60
+ "babel-preset-expo": "~9.3.0",
61
+ "expo-dev-client-components": "1.3.0",
60
62
  "expo-module-scripts": "^3.0.0",
61
63
  "fuse.js": "^6.4.6",
62
64
  "graphql": "^15.3.0",
63
65
  "graphql-tag": "^2.10.1",
64
- "react": "18.1.0",
65
- "react-native": "0.70.5",
66
+ "react": "18.2.0",
67
+ "react-native": "0.71.2",
66
68
  "use-subscription": "^1.8.0",
67
69
  "url": "^0.11.0"
68
70
  },
69
71
  "peerDependencies": {
70
72
  "expo": "*"
71
73
  },
72
- "gitHead": "102e7738d4cda97454070db470e7970e7dbc89f8"
74
+ "gitHead": "1815e2eaad8c753588c7b1eb74420174a28e01f4"
73
75
  }
@@ -22,6 +22,8 @@
22
22
  #import <reacthermes/HermesExecutorFactory.h>
23
23
  #elif __has_include(<hermes/hermes.h>)
24
24
  #import <hermes/hermes.h>
25
+ #elif __has_include(<React-jsc/JSCRuntime.h>)
26
+ #import <React-jsc/JSCRuntime.h>
25
27
  #else
26
28
  #import <jsi/JSCRuntime.h>
27
29
  #endif