@rnmapbox/maps 10.0.0-beta.49 → 10.0.0-beta.53

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.
Files changed (416) hide show
  1. package/android/.gitignore +9 -0
  2. package/android/.npmignore +9 -0
  3. package/android/rctmgl/.gitignore +1 -0
  4. package/android/rctmgl/.npmignore +1 -0
  5. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/modules/RCTMGLModule.java +2 -1
  6. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/modules/RCTMGLModule.kt +3 -1
  7. package/index.d.ts +1 -1
  8. package/ios/RCTMGL/MGLModule.m +2 -1
  9. package/ios/RCTMGL-v10/MGLModule.m +3 -1
  10. package/ios/RCTMGL-v10/MGLModule.swift +15 -2
  11. package/javascript/components/AbstractLayer.tsx +2 -1
  12. package/javascript/components/Camera.tsx +1 -2
  13. package/javascript/index.js +2 -2
  14. package/javascript/requestAndroidLocationPermissions.ts +1 -2
  15. package/javascript/utils/{MapboxStyles.ts → MapboxStyles.d.ts} +0 -0
  16. package/javascript/utils/StyleValue.ts +3 -8
  17. package/lib/commonjs/classes/AnimatedCoordinatesArray.js +165 -0
  18. package/lib/commonjs/classes/AnimatedCoordinatesArray.js.map +1 -0
  19. package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js +44 -0
  20. package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js.map +1 -0
  21. package/lib/commonjs/classes/AnimatedPoint.js +117 -0
  22. package/lib/commonjs/classes/AnimatedPoint.js.map +1 -0
  23. package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js +155 -0
  24. package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js.map +1 -0
  25. package/lib/commonjs/classes/AnimatedShape.js +78 -0
  26. package/lib/commonjs/classes/AnimatedShape.js.map +1 -0
  27. package/lib/commonjs/classes/index.d.js +17 -0
  28. package/lib/commonjs/classes/index.d.js.map +1 -0
  29. package/lib/commonjs/classes/index.js +61 -0
  30. package/lib/commonjs/classes/index.js.map +1 -0
  31. package/lib/commonjs/components/AbstractLayer.js +61 -0
  32. package/lib/commonjs/components/AbstractLayer.js.map +1 -0
  33. package/lib/commonjs/components/AbstractSource.js +26 -0
  34. package/lib/commonjs/components/AbstractSource.js.map +1 -0
  35. package/lib/commonjs/components/Atmosphere.js +26 -0
  36. package/lib/commonjs/components/Atmosphere.js.map +1 -0
  37. package/lib/commonjs/components/BackgroundLayer.js +82 -0
  38. package/lib/commonjs/components/BackgroundLayer.js.map +1 -0
  39. package/lib/commonjs/components/Callout.js +119 -0
  40. package/lib/commonjs/components/Callout.js.map +1 -0
  41. package/lib/commonjs/components/Camera.js +336 -0
  42. package/lib/commonjs/components/Camera.js.map +1 -0
  43. package/lib/commonjs/components/CircleLayer.js +87 -0
  44. package/lib/commonjs/components/CircleLayer.js.map +1 -0
  45. package/lib/commonjs/components/FillExtrusionLayer.js +89 -0
  46. package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -0
  47. package/lib/commonjs/components/FillLayer.js +89 -0
  48. package/lib/commonjs/components/FillLayer.js.map +1 -0
  49. package/lib/commonjs/components/HeadingIndicator.js +33 -0
  50. package/lib/commonjs/components/HeadingIndicator.js.map +1 -0
  51. package/lib/commonjs/components/HeatmapLayer.js +90 -0
  52. package/lib/commonjs/components/HeatmapLayer.js.map +1 -0
  53. package/lib/commonjs/components/ImageSource.js +66 -0
  54. package/lib/commonjs/components/ImageSource.js.map +1 -0
  55. package/lib/commonjs/components/Images.js +98 -0
  56. package/lib/commonjs/components/Images.js.map +1 -0
  57. package/lib/commonjs/components/Light.js +51 -0
  58. package/lib/commonjs/components/Light.js.map +1 -0
  59. package/lib/commonjs/components/LineLayer.js +89 -0
  60. package/lib/commonjs/components/LineLayer.js.map +1 -0
  61. package/lib/commonjs/components/MapView.js +740 -0
  62. package/lib/commonjs/components/MapView.js.map +1 -0
  63. package/lib/commonjs/components/MarkerView.js +102 -0
  64. package/lib/commonjs/components/MarkerView.js.map +1 -0
  65. package/lib/commonjs/components/NativeBridgeComponent.js +85 -0
  66. package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -0
  67. package/lib/commonjs/components/NativeUserLocation.js +41 -0
  68. package/lib/commonjs/components/NativeUserLocation.js.map +1 -0
  69. package/lib/commonjs/components/PointAnnotation.js +121 -0
  70. package/lib/commonjs/components/PointAnnotation.js.map +1 -0
  71. package/lib/commonjs/components/RasterDemSource.js +95 -0
  72. package/lib/commonjs/components/RasterDemSource.js.map +1 -0
  73. package/lib/commonjs/components/RasterLayer.js +85 -0
  74. package/lib/commonjs/components/RasterLayer.js.map +1 -0
  75. package/lib/commonjs/components/RasterSource.js +112 -0
  76. package/lib/commonjs/components/RasterSource.js.map +1 -0
  77. package/lib/commonjs/components/ShapeSource.js +193 -0
  78. package/lib/commonjs/components/ShapeSource.js.map +1 -0
  79. package/lib/commonjs/components/SkyLayer.js +73 -0
  80. package/lib/commonjs/components/SkyLayer.js.map +1 -0
  81. package/lib/commonjs/components/Style.js +269 -0
  82. package/lib/commonjs/components/Style.js.map +1 -0
  83. package/lib/commonjs/components/SymbolLayer.js +49 -0
  84. package/lib/commonjs/components/SymbolLayer.js.map +1 -0
  85. package/lib/commonjs/components/Terrain.js +37 -0
  86. package/lib/commonjs/components/Terrain.js.map +1 -0
  87. package/lib/commonjs/components/UserLocation.js +255 -0
  88. package/lib/commonjs/components/UserLocation.js.map +1 -0
  89. package/lib/commonjs/components/VectorSource.js +175 -0
  90. package/lib/commonjs/components/VectorSource.js.map +1 -0
  91. package/lib/commonjs/components/annotations/Annotation.js +105 -0
  92. package/lib/commonjs/components/annotations/Annotation.js.map +1 -0
  93. package/lib/commonjs/global.d.js +2 -0
  94. package/lib/commonjs/global.d.js.map +1 -0
  95. package/lib/commonjs/index.js +331 -0
  96. package/lib/commonjs/index.js.map +1 -0
  97. package/lib/commonjs/index.web.js +27 -0
  98. package/lib/commonjs/index.web.js.map +1 -0
  99. package/lib/commonjs/modules/location/locationManager.js +85 -0
  100. package/lib/commonjs/modules/location/locationManager.js.map +1 -0
  101. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js +45 -0
  102. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +1 -0
  103. package/lib/commonjs/modules/offline/OfflinePack.js +41 -0
  104. package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -0
  105. package/lib/commonjs/modules/offline/offlineManager.js +356 -0
  106. package/lib/commonjs/modules/offline/offlineManager.js.map +1 -0
  107. package/lib/commonjs/modules/snapshot/SnapshotOptions.js +60 -0
  108. package/lib/commonjs/modules/snapshot/SnapshotOptions.js.map +1 -0
  109. package/lib/commonjs/modules/snapshot/snapshotManager.js +68 -0
  110. package/lib/commonjs/modules/snapshot/snapshotManager.js.map +1 -0
  111. package/lib/commonjs/requestAndroidLocationPermissions.js +25 -0
  112. package/lib/commonjs/requestAndroidLocationPermissions.js.map +1 -0
  113. package/lib/commonjs/types/index.js +6 -0
  114. package/lib/commonjs/types/index.js.map +1 -0
  115. package/lib/commonjs/utils/BridgeValue.js +66 -0
  116. package/lib/commonjs/utils/BridgeValue.js.map +1 -0
  117. package/lib/commonjs/utils/Logger.js +119 -0
  118. package/lib/commonjs/utils/Logger.js.map +1 -0
  119. package/lib/commonjs/utils/MapboxStyles.d.js +183 -0
  120. package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -0
  121. package/lib/commonjs/utils/StyleValue.js +41 -0
  122. package/lib/commonjs/utils/StyleValue.js.map +1 -0
  123. package/lib/commonjs/utils/animated/Animated.js +33 -0
  124. package/lib/commonjs/utils/animated/Animated.js.map +1 -0
  125. package/lib/commonjs/utils/deprecation.js +40 -0
  126. package/lib/commonjs/utils/deprecation.js.map +1 -0
  127. package/lib/commonjs/utils/filterUtils.js +13 -0
  128. package/lib/commonjs/utils/filterUtils.js.map +1 -0
  129. package/lib/commonjs/utils/geoUtils.d.js +2 -0
  130. package/lib/commonjs/utils/geoUtils.d.js.map +1 -0
  131. package/lib/commonjs/utils/geoUtils.js +65 -0
  132. package/lib/commonjs/utils/geoUtils.js.map +1 -0
  133. package/lib/commonjs/utils/index.d.js +2 -0
  134. package/lib/commonjs/utils/index.d.js.map +1 -0
  135. package/lib/commonjs/utils/index.js +122 -0
  136. package/lib/commonjs/utils/index.js.map +1 -0
  137. package/lib/commonjs/utils/styleMap.js +1530 -0
  138. package/lib/commonjs/utils/styleMap.js.map +1 -0
  139. package/lib/commonjs/web/MapContext.js +12 -0
  140. package/lib/commonjs/web/MapContext.js.map +1 -0
  141. package/lib/commonjs/web/MapboxModule.js +21 -0
  142. package/lib/commonjs/web/MapboxModule.js.map +1 -0
  143. package/lib/commonjs/web/UnimplementedComponent.js +16 -0
  144. package/lib/commonjs/web/UnimplementedComponent.js.map +1 -0
  145. package/lib/commonjs/web/components/Camera.js +48 -0
  146. package/lib/commonjs/web/components/Camera.js.map +1 -0
  147. package/lib/commonjs/web/components/MapView.js +67 -0
  148. package/lib/commonjs/web/components/MapView.js.map +1 -0
  149. package/lib/commonjs/web/index.js +41 -0
  150. package/lib/commonjs/web/index.js.map +1 -0
  151. package/lib/commonjs/web/utils/Logger.js +100 -0
  152. package/lib/commonjs/web/utils/Logger.js.map +1 -0
  153. package/lib/module/classes/AnimatedCoordinatesArray.js +158 -0
  154. package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -0
  155. package/lib/module/classes/AnimatedExtractCoordinateFromArray.js +37 -0
  156. package/lib/module/classes/AnimatedExtractCoordinateFromArray.js.map +1 -0
  157. package/lib/module/classes/AnimatedPoint.js +110 -0
  158. package/lib/module/classes/AnimatedPoint.js.map +1 -0
  159. package/lib/module/classes/AnimatedRouteCoordinatesArray.js +148 -0
  160. package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -0
  161. package/lib/module/classes/AnimatedShape.js +71 -0
  162. package/lib/module/classes/AnimatedShape.js.map +1 -0
  163. package/lib/module/classes/index.d.js +6 -0
  164. package/lib/module/classes/index.d.js.map +1 -0
  165. package/lib/module/classes/index.js +6 -0
  166. package/lib/module/classes/index.js.map +1 -0
  167. package/lib/module/components/AbstractLayer.js +54 -0
  168. package/lib/module/components/AbstractLayer.js.map +1 -0
  169. package/lib/module/components/AbstractSource.js +18 -0
  170. package/lib/module/components/AbstractSource.js.map +1 -0
  171. package/lib/module/components/Atmosphere.js +16 -0
  172. package/lib/module/components/Atmosphere.js.map +1 -0
  173. package/lib/module/components/BackgroundLayer.js +73 -0
  174. package/lib/module/components/BackgroundLayer.js.map +1 -0
  175. package/lib/module/components/Callout.js +110 -0
  176. package/lib/module/components/Callout.js.map +1 -0
  177. package/lib/module/components/Camera.js +326 -0
  178. package/lib/module/components/Camera.js.map +1 -0
  179. package/lib/module/components/CircleLayer.js +78 -0
  180. package/lib/module/components/CircleLayer.js.map +1 -0
  181. package/lib/module/components/FillExtrusionLayer.js +80 -0
  182. package/lib/module/components/FillExtrusionLayer.js.map +1 -0
  183. package/lib/module/components/FillLayer.js +80 -0
  184. package/lib/module/components/FillLayer.js.map +1 -0
  185. package/lib/module/components/HeadingIndicator.js +25 -0
  186. package/lib/module/components/HeadingIndicator.js.map +1 -0
  187. package/lib/module/components/HeatmapLayer.js +81 -0
  188. package/lib/module/components/HeatmapLayer.js.map +1 -0
  189. package/lib/module/components/ImageSource.js +57 -0
  190. package/lib/module/components/ImageSource.js.map +1 -0
  191. package/lib/module/components/Images.js +89 -0
  192. package/lib/module/components/Images.js.map +1 -0
  193. package/lib/module/components/Light.js +42 -0
  194. package/lib/module/components/Light.js.map +1 -0
  195. package/lib/module/components/LineLayer.js +80 -0
  196. package/lib/module/components/LineLayer.js.map +1 -0
  197. package/lib/module/components/MapView.js +730 -0
  198. package/lib/module/components/MapView.js.map +1 -0
  199. package/lib/module/components/MarkerView.js +93 -0
  200. package/lib/module/components/MarkerView.js.map +1 -0
  201. package/lib/module/components/NativeBridgeComponent.js +78 -0
  202. package/lib/module/components/NativeBridgeComponent.js.map +1 -0
  203. package/lib/module/components/NativeUserLocation.js +33 -0
  204. package/lib/module/components/NativeUserLocation.js.map +1 -0
  205. package/lib/module/components/PointAnnotation.js +112 -0
  206. package/lib/module/components/PointAnnotation.js.map +1 -0
  207. package/lib/module/components/RasterDemSource.js +86 -0
  208. package/lib/module/components/RasterDemSource.js.map +1 -0
  209. package/lib/module/components/RasterLayer.js +76 -0
  210. package/lib/module/components/RasterLayer.js.map +1 -0
  211. package/lib/module/components/RasterSource.js +103 -0
  212. package/lib/module/components/RasterSource.js.map +1 -0
  213. package/lib/module/components/ShapeSource.js +184 -0
  214. package/lib/module/components/ShapeSource.js.map +1 -0
  215. package/lib/module/components/SkyLayer.js +64 -0
  216. package/lib/module/components/SkyLayer.js.map +1 -0
  217. package/lib/module/components/Style.js +259 -0
  218. package/lib/module/components/Style.js.map +1 -0
  219. package/lib/module/components/SymbolLayer.js +40 -0
  220. package/lib/module/components/SymbolLayer.js.map +1 -0
  221. package/lib/module/components/Terrain.js +27 -0
  222. package/lib/module/components/Terrain.js.map +1 -0
  223. package/lib/module/components/UserLocation.js +246 -0
  224. package/lib/module/components/UserLocation.js.map +1 -0
  225. package/lib/module/components/VectorSource.js +166 -0
  226. package/lib/module/components/VectorSource.js.map +1 -0
  227. package/lib/module/components/annotations/Annotation.js +97 -0
  228. package/lib/module/components/annotations/Annotation.js.map +1 -0
  229. package/lib/module/global.d.js +2 -0
  230. package/lib/module/global.d.js.map +1 -0
  231. package/lib/module/index.js +105 -0
  232. package/lib/module/index.js.map +1 -0
  233. package/lib/module/index.web.js +3 -0
  234. package/lib/module/index.web.js.map +1 -0
  235. package/lib/module/modules/location/locationManager.js +77 -0
  236. package/lib/module/modules/location/locationManager.js.map +1 -0
  237. package/lib/module/modules/offline/OfflineCreatePackOptions.js +38 -0
  238. package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -0
  239. package/lib/module/modules/offline/OfflinePack.js +34 -0
  240. package/lib/module/modules/offline/OfflinePack.js.map +1 -0
  241. package/lib/module/modules/offline/offlineManager.js +347 -0
  242. package/lib/module/modules/offline/offlineManager.js.map +1 -0
  243. package/lib/module/modules/snapshot/SnapshotOptions.js +53 -0
  244. package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -0
  245. package/lib/module/modules/snapshot/snapshotManager.js +60 -0
  246. package/lib/module/modules/snapshot/snapshotManager.js.map +1 -0
  247. package/lib/module/requestAndroidLocationPermissions.js +19 -0
  248. package/lib/module/requestAndroidLocationPermissions.js.map +1 -0
  249. package/lib/module/types/index.js +2 -0
  250. package/lib/module/types/index.js.map +1 -0
  251. package/lib/module/utils/BridgeValue.js +59 -0
  252. package/lib/module/utils/BridgeValue.js.map +1 -0
  253. package/lib/module/utils/Logger.js +112 -0
  254. package/lib/module/utils/Logger.js.map +1 -0
  255. package/lib/module/utils/MapboxStyles.d.js +179 -0
  256. package/lib/module/utils/MapboxStyles.d.js.map +1 -0
  257. package/lib/module/utils/StyleValue.js +34 -0
  258. package/lib/module/utils/StyleValue.js.map +1 -0
  259. package/lib/module/utils/animated/Animated.js +25 -0
  260. package/lib/module/utils/animated/Animated.js.map +1 -0
  261. package/lib/module/utils/deprecation.js +33 -0
  262. package/lib/module/utils/deprecation.js.map +1 -0
  263. package/lib/module/utils/filterUtils.js +7 -0
  264. package/lib/module/utils/filterUtils.js.map +1 -0
  265. package/lib/module/utils/geoUtils.d.js +2 -0
  266. package/lib/module/utils/geoUtils.d.js.map +1 -0
  267. package/lib/module/utils/geoUtils.js +50 -0
  268. package/lib/module/utils/geoUtils.js.map +1 -0
  269. package/lib/module/utils/index.d.js +2 -0
  270. package/lib/module/utils/index.d.js.map +1 -0
  271. package/lib/module/utils/index.js +99 -0
  272. package/lib/module/utils/index.js.map +1 -0
  273. package/lib/module/utils/styleMap.js +1505 -0
  274. package/lib/module/utils/styleMap.js.map +1 -0
  275. package/lib/module/web/MapContext.js +4 -0
  276. package/lib/module/web/MapContext.js.map +1 -0
  277. package/lib/module/web/MapboxModule.js +13 -0
  278. package/lib/module/web/MapboxModule.js.map +1 -0
  279. package/lib/module/web/UnimplementedComponent.js +8 -0
  280. package/lib/module/web/UnimplementedComponent.js.map +1 -0
  281. package/lib/module/web/components/Camera.js +40 -0
  282. package/lib/module/web/components/Camera.js.map +1 -0
  283. package/lib/module/web/components/MapView.js +60 -0
  284. package/lib/module/web/components/MapView.js.map +1 -0
  285. package/lib/module/web/index.js +16 -0
  286. package/lib/module/web/index.js.map +1 -0
  287. package/lib/module/web/utils/Logger.js +93 -0
  288. package/lib/module/web/utils/Logger.js.map +1 -0
  289. package/lib/typescript/components/AbstractLayer.d.ts +28 -0
  290. package/lib/typescript/components/AbstractLayer.d.ts.map +1 -0
  291. package/lib/typescript/components/AbstractSource.d.ts +9 -0
  292. package/lib/typescript/components/AbstractSource.d.ts.map +1 -0
  293. package/lib/typescript/components/Atmosphere.d.ts +9 -0
  294. package/lib/typescript/components/Atmosphere.d.ts.map +1 -0
  295. package/lib/typescript/components/Camera.d.ts +119 -0
  296. package/lib/typescript/components/Camera.d.ts.map +1 -0
  297. package/lib/typescript/components/HeadingIndicator.d.ts +7 -0
  298. package/lib/typescript/components/HeadingIndicator.d.ts.map +1 -0
  299. package/lib/typescript/components/MarkerView.d.ts +52 -0
  300. package/lib/typescript/components/MarkerView.d.ts.map +1 -0
  301. package/lib/typescript/components/NativeBridgeComponent.d.ts +50 -0
  302. package/lib/typescript/components/NativeBridgeComponent.d.ts.map +1 -0
  303. package/lib/typescript/components/PointAnnotation.d.ts +162 -0
  304. package/lib/typescript/components/PointAnnotation.d.ts.map +1 -0
  305. package/lib/typescript/components/ShapeSource.d.ts +222 -0
  306. package/lib/typescript/components/ShapeSource.d.ts.map +1 -0
  307. package/lib/typescript/components/SymbolLayer.d.ts +65 -0
  308. package/lib/typescript/components/SymbolLayer.d.ts.map +1 -0
  309. package/lib/typescript/components/Terrain.d.ts +20 -0
  310. package/lib/typescript/components/Terrain.d.ts.map +1 -0
  311. package/lib/typescript/requestAndroidLocationPermissions.d.ts +2 -0
  312. package/lib/typescript/requestAndroidLocationPermissions.d.ts.map +1 -0
  313. package/lib/typescript/types/index.d.ts +16 -0
  314. package/lib/typescript/types/index.d.ts.map +1 -0
  315. package/lib/typescript/utils/BridgeValue.d.ts +46 -0
  316. package/lib/typescript/utils/BridgeValue.d.ts.map +1 -0
  317. package/lib/typescript/utils/StyleValue.d.ts +10 -0
  318. package/lib/typescript/utils/StyleValue.d.ts.map +1 -0
  319. package/lib/typescript/utils/deprecation.d.ts +12 -0
  320. package/lib/typescript/utils/deprecation.d.ts.map +1 -0
  321. package/lib/typescript/utils/filterUtils.d.ts +2 -0
  322. package/lib/typescript/utils/filterUtils.d.ts.map +1 -0
  323. package/lib/typescript/utils/styleMap.d.ts +1489 -0
  324. package/lib/typescript/utils/styleMap.d.ts.map +1 -0
  325. package/lib/typescript/web/MapContext.d.ts +7 -0
  326. package/lib/typescript/web/MapContext.d.ts.map +1 -0
  327. package/lib/typescript/web/components/Camera.d.ts +18 -0
  328. package/lib/typescript/web/components/Camera.d.ts.map +1 -0
  329. package/lib/typescript/web/components/MapView.d.ts +20 -0
  330. package/lib/typescript/web/components/MapView.d.ts.map +1 -0
  331. package/lib/typescript/web/utils/Logger.d.ts +48 -0
  332. package/lib/typescript/web/utils/Logger.d.ts.map +1 -0
  333. package/package.json +38 -6
  334. package/plugin/jest.config.js +1 -0
  335. package/plugin/src/withMapbox.ts +365 -0
  336. package/plugin/tsconfig.json +9 -0
  337. package/.eslintrc.js +0 -111
  338. package/.gitattributes +0 -1
  339. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -112
  340. package/.github/ISSUE_TEMPLATE/bug_setup.md +0 -23
  341. package/.github/ISSUE_TEMPLATE/feature.md +0 -15
  342. package/.github/dependabot.yml +0 -42
  343. package/.github/label-actions.yml +0 -26
  344. package/.github/pull_request_template.md +0 -27
  345. package/.github/stale.yml +0 -11
  346. package/.github/workflows/android-actions.yml +0 -56
  347. package/.github/workflows/bump-version.yml +0 -54
  348. package/.github/workflows/ios-actions.yml +0 -81
  349. package/.github/workflows/label-actions.yml +0 -17
  350. package/.github/workflows/on-push.yml +0 -131
  351. package/.github/workflows/publish.yml +0 -29
  352. package/.husky/pre-commit +0 -5
  353. package/.nvmrc +0 -2
  354. package/.prettierrc.js +0 -4
  355. package/.sonarcloud.properties +0 -15
  356. package/CONTRIBUTING.md +0 -30
  357. package/README-v10.md +0 -86
  358. package/RELEASE.md +0 -28
  359. package/app.plugin.js +0 -1
  360. package/babel.config.js +0 -9
  361. package/docs/Annotation.md +0 -39
  362. package/docs/Annotations.md +0 -20
  363. package/docs/Atmosphere.md +0 -265
  364. package/docs/BackgroundLayer.md +0 -166
  365. package/docs/Callout.md +0 -15
  366. package/docs/Camera.md +0 -152
  367. package/docs/CircleLayer.md +0 -470
  368. package/docs/CustomHttpHeaders.md +0 -89
  369. package/docs/FillExtrusionLayer.md +0 -346
  370. package/docs/FillLayer.md +0 -310
  371. package/docs/GettingStarted.md +0 -87
  372. package/docs/HeadingIndicator.md +0 -10
  373. package/docs/HeatmapLayer.md +0 -215
  374. package/docs/ImageSource.md +0 -13
  375. package/docs/Images.md +0 -12
  376. package/docs/Light.md +0 -159
  377. package/docs/LineLayer.md +0 -606
  378. package/docs/Logger.md +0 -22
  379. package/docs/MapView.md +0 -228
  380. package/docs/MapboxGL.md +0 -83
  381. package/docs/MarkerView.md +0 -26
  382. package/docs/NativeUserLocation.md +0 -11
  383. package/docs/OfflineManager.md +0 -264
  384. package/docs/PointAnnotation.md +0 -42
  385. package/docs/RasterDemSource.md +0 -15
  386. package/docs/RasterLayer.md +0 -357
  387. package/docs/RasterSource.md +0 -19
  388. package/docs/ShapeSource.md +0 -106
  389. package/docs/SkyLayer.md +0 -259
  390. package/docs/Style.md +0 -12
  391. package/docs/StyleSheet.md +0 -226
  392. package/docs/SymbolLayer.md +0 -1659
  393. package/docs/Terrain.md +0 -77
  394. package/docs/UserLocation.md +0 -39
  395. package/docs/VectorSource.md +0 -49
  396. package/docs/docs.json +0 -6571
  397. package/docs/snapshotManager.md +0 -55
  398. package/scripts/.eslintrc.js +0 -12
  399. package/scripts/autogenHelpers/DocJSONBuilder.js +0 -458
  400. package/scripts/autogenHelpers/JSDocNodeTree.js +0 -134
  401. package/scripts/autogenHelpers/MarkdownBuilder.js +0 -38
  402. package/scripts/autogenHelpers/globals.js +0 -518
  403. package/scripts/autogenerate.js +0 -545
  404. package/scripts/download-style-spec.sh +0 -15
  405. package/scripts/templates/MapboxStyles.ts.ejs +0 -97
  406. package/scripts/templates/RCTMGLStyle.h.ejs +0 -34
  407. package/scripts/templates/RCTMGLStyle.m.ejs +0 -106
  408. package/scripts/templates/RCTMGLStyle.swift.ejs +0 -116
  409. package/scripts/templates/RCTMGLStyleFactory.java.ejs +0 -108
  410. package/scripts/templates/RCTMGLStyleFactoryv10.java.ejs +0 -116
  411. package/scripts/templates/component.md.ejs +0 -122
  412. package/scripts/templates/index.d.ts.ejs +0 -56
  413. package/scripts/templates/styleMap.ts.ejs +0 -118
  414. package/setup-jest.js +0 -125
  415. package/style-spec/v8.json +0 -6727
  416. package/tsconfig.json +0 -24
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styleMap.d.ts","sourceRoot":"","sources":["../../../javascript/utils/styleMap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { Map } from 'mapbox-gl';
3
+ declare const MapContext: React.Context<{
4
+ map?: Map | undefined;
5
+ }>;
6
+ export default MapContext;
7
+ //# sourceMappingURL=MapContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapContext.d.ts","sourceRoot":"","sources":["../../../javascript/web/MapContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,QAAA,MAAM,UAAU;;EAAyC,CAAC;AAE1D,eAAe,UAAU,CAAC"}
@@ -0,0 +1,18 @@
1
+ /// <reference types="mapbox-gl" />
2
+ import React from 'react';
3
+ import MapContext from '../MapContext';
4
+ declare class Camera extends React.Component<{
5
+ centerCoordinate: [number, number] | null;
6
+ }> {
7
+ context: React.ContextType<typeof MapContext>;
8
+ static contextType: React.Context<{
9
+ map?: import("mapbox-gl").Map | undefined;
10
+ }>;
11
+ static UserTrackingModes: never[];
12
+ componentDidMount(): void;
13
+ fitBounds(northEastCoordinates: [number, number], southWestCoordinates: [number, number], padding?: number, animationDuration?: number): void;
14
+ render(): JSX.Element;
15
+ }
16
+ export { Camera };
17
+ export default Camera;
18
+ //# sourceMappingURL=Camera.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../javascript/web/components/Camera.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,UAAU,MAAM,eAAe,CAAC;AAEvC,cAAM,MAAO,SAAQ,KAAK,CAAC,SAAS,CAAC;IACnC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC3C,CAAC;IACA,OAAO,EAAG,KAAK,CAAC,WAAW,CAAC,OAAO,UAAU,CAAC,CAAC;IAE/C,MAAM,CAAC,WAAW;;OAAc;IAChC,MAAM,CAAC,iBAAiB,UAAM;IAE9B,iBAAiB;IAQjB,SAAS,CACP,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,OAAO,SAAI,EACX,iBAAiB,SAAM;IAQzB,MAAM;CAGP;AAED,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,eAAe,MAAM,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ /**
3
+ * MapView backed by Mapbox GL KS
4
+ */
5
+ declare class MapView extends React.Component<{
6
+ styleURL: string;
7
+ children: JSX.Element;
8
+ }, {
9
+ map?: object | null;
10
+ }> {
11
+ state: {
12
+ map: null;
13
+ };
14
+ mapContainer: HTMLElement | null;
15
+ map: object | null;
16
+ componentDidMount(): void;
17
+ render(): JSX.Element;
18
+ }
19
+ export default MapView;
20
+ //# sourceMappingURL=MapView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapView.d.ts","sourceRoot":"","sources":["../../../../javascript/web/components/MapView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B;;GAEG;AACH,cAAM,OAAQ,SAAQ,KAAK,CAAC,SAAS,CACnC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,EAC3C;IAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CACxB;IACC,KAAK;;MAAiB;IACtB,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE1B,iBAAiB;IAcjB,MAAM;CAkBP;AAED,eAAe,OAAO,CAAC"}
@@ -0,0 +1,48 @@
1
+ declare type LogMessage = {
2
+ level: LogLevel;
3
+ message: string;
4
+ tag: string;
5
+ };
6
+ declare type LogCallback = (log: LogMessage) => boolean;
7
+ declare type LogLevel = 'error' | 'warning' | 'info' | 'debug' | 'verbose';
8
+ declare class Logger {
9
+ static instance: Logger | null;
10
+ level: LogLevel;
11
+ logCallback: LogCallback | null;
12
+ startedCount: number;
13
+ static sharedInstance(): Logger;
14
+ constructor();
15
+ /**
16
+ * Set custom logger function.
17
+ * @param {Logger~logCallback} logCallback - callback taking a log object as param. If callback return falsy value then
18
+ * default logging will take place.
19
+ */
20
+ static setLogCallback(logCallback: LogCallback): void;
21
+ /**
22
+ * Set custom logger function.
23
+ * @param {Logger~logCallback} logCallback - callback taking a log object as param. If callback return falsy value then
24
+ * default logging will take place.
25
+ */
26
+ setLogCallback(logCallback: LogCallback): void;
27
+ /**
28
+ * This callback is displayed as part of the Requester class.
29
+ * @callback Logger~logCallback
30
+ * @param {object} log
31
+ * @param {string} log.message - the message of the log
32
+ * @param {string} log.level - log level
33
+ * @param {string} log.tag - optional tag used on android
34
+ */
35
+ /**
36
+ * setLogLevel
37
+ * @param {LogLevel} level
38
+ */
39
+ static setLogLevel(level: LogLevel): void;
40
+ start(): void;
41
+ stop(): void;
42
+ subscribe(): void;
43
+ unsubscribe(): void;
44
+ effectiveLevel(log: LogMessage): LogLevel;
45
+ onLog(log: LogMessage): void;
46
+ }
47
+ export default Logger;
48
+ //# sourceMappingURL=Logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../../../javascript/web/utils/Logger.ts"],"names":[],"mappings":"AACA,aAAK,UAAU,GAAG;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AACF,aAAK,WAAW,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC;AAChD,aAAK,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEnE,cAAM,MAAM;IACV,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEtC,KAAK,EAAE,QAAQ,CAAU;IACzB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,YAAY,SAAK;IAEjB,MAAM,CAAC,cAAc;;IAWrB;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW;IAI9C;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW;IAIvC;;;;;;;OAOG;IAEH;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ;IAIlC,KAAK;IAEL,IAAI;IAEJ,SAAS;IAIT,WAAW;IAIX,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,QAAQ;IAezC,KAAK,CAAC,GAAG,EAAE,UAAU;CAatB;AAID,eAAe,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@rnmapbox/maps",
3
3
  "description": "A Mapbox react native module for creating custom maps",
4
- "version": "10.0.0-beta.49",
4
+ "version": "10.0.0-beta.53",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "author": "React Native Mapbox Team",
9
- "main": "./javascript/index.js",
9
+ "main": "lib/commonjs/index.js",
10
10
  "browser": "./javascript/index.web.js",
11
- "react-native": "./javascript/index.js",
11
+ "react-native": "javascript/index.js",
12
12
  "keywords": [
13
13
  "gl",
14
14
  "ios",
@@ -32,8 +32,9 @@
32
32
  "type:check": "npx tsc --noEmit",
33
33
  "test:plugin": "expo-module test plugin",
34
34
  "build:plugin": "npx tsc --build plugin",
35
+ "build": "bob build",
35
36
  "lint:plugin": "eslint plugin/src/*",
36
- "prepare": "husky install"
37
+ "prepare": "bob build && husky install"
37
38
  },
38
39
  "peerDependencies": {
39
40
  "expo": "*",
@@ -94,6 +95,7 @@
94
95
  "react": "17.0.2",
95
96
  "react-docgen": "rnmapbox/react-docgen#rnmapbox-dist",
96
97
  "react-native": "0.67.0",
98
+ "react-native-builder-bob": "^0.20.0",
97
99
  "react-test-renderer": "17.0.2",
98
100
  "typescript": "4.8.3"
99
101
  },
@@ -109,10 +111,40 @@
109
111
  "modulePathIgnorePatterns": [
110
112
  "example",
111
113
  "__tests__/__mocks__",
112
- "fixtures"
114
+ "fixtures",
115
+ "<rootDir>/lib/"
113
116
  ]
114
117
  },
115
118
  "lint-staged": {
116
119
  "*.{js,jsx,ts,tsx}": "eslint --fix"
117
- }
120
+ },
121
+ "module": "lib/module/index.js",
122
+ "types": "lib/typescript/javascript/index.d.ts",
123
+ "files": [
124
+ "javascript",
125
+ "lib",
126
+ "plugin",
127
+ "assets",
128
+ "index.d.ts",
129
+ "rnmapbox-maps.podspec",
130
+ "ios",
131
+ "android",
132
+ "react-native.config.js",
133
+ "!**/__tests__",
134
+ "!**/__fixtures__",
135
+ "!**/__mocks__"
136
+ ],
137
+ "react-native-builder-bob": {
138
+ "source": "javascript",
139
+ "output": "lib",
140
+ "targets": [
141
+ "commonjs",
142
+ "module",
143
+ "typescript"
144
+ ]
145
+ },
146
+ "eslintIgnore": [
147
+ "node_modules/",
148
+ "lib/"
149
+ ]
118
150
  }
@@ -0,0 +1 @@
1
+ module.exports = require('expo-module-scripts/jest-preset-plugin');
@@ -0,0 +1,365 @@
1
+ import { promises } from 'fs';
2
+ import path from 'path';
3
+
4
+ import {
5
+ ConfigPlugin,
6
+ createRunOncePlugin,
7
+ withDangerousMod,
8
+ withXcodeProject,
9
+ XcodeProject,
10
+ withGradleProperties,
11
+ WarningAggregator,
12
+ withProjectBuildGradle,
13
+ withAppBuildGradle,
14
+ } from '@expo/config-plugins';
15
+ import {
16
+ mergeContents,
17
+ removeGeneratedContents,
18
+ } from '@expo/config-plugins/build/utils/generateCode';
19
+
20
+ let pkg: { name: string; version?: string } = {
21
+ name: '@rnmapbox/maps',
22
+ };
23
+ try {
24
+ pkg = require('@rnmapbox/maps/package.json');
25
+ } catch {
26
+ // empty catch block
27
+ }
28
+
29
+ type InstallerBlockName = 'pre' | 'post';
30
+
31
+ export type MapboxPlugProps = {
32
+ RNMapboxMapsImpl?: string;
33
+ RNMapboxMapsDownloadToken?: string;
34
+ };
35
+
36
+ /**
37
+ * Dangerously adds the custom installer hooks to the Podfile.
38
+ * In the future this should be removed in favor of some custom hooks provided by Expo autolinking.
39
+ *
40
+ * https://github.com/rnmapbox/maps/blob/main/ios/install.md#react-native--0600
41
+ * @param config
42
+ * @returns
43
+ */
44
+ const withCocoaPodsInstallerBlocks: ConfigPlugin<MapboxPlugProps> = (
45
+ c,
46
+ { RNMapboxMapsImpl, RNMapboxMapsDownloadToken },
47
+ ) => {
48
+ return withDangerousMod(c, [
49
+ 'ios',
50
+ async (config) => {
51
+ const file = path.join(config.modRequest.platformProjectRoot, 'Podfile');
52
+
53
+ const contents = await promises.readFile(file, 'utf8');
54
+
55
+ await promises.writeFile(
56
+ file,
57
+ applyCocoaPodsModifications(contents, {
58
+ RNMapboxMapsImpl,
59
+ RNMapboxMapsDownloadToken,
60
+ }),
61
+ 'utf-8',
62
+ );
63
+ return config;
64
+ },
65
+ ]);
66
+ };
67
+
68
+ // Only the preinstaller block is required, the post installer block is
69
+ // used for spm (swift package manager) which Expo doesn't currently support.
70
+ export function applyCocoaPodsModifications(
71
+ contents: string,
72
+ { RNMapboxMapsImpl, RNMapboxMapsDownloadToken }: MapboxPlugProps,
73
+ ): string {
74
+ // Ensure installer blocks exist
75
+ let src = addConstantBlock(
76
+ contents,
77
+ RNMapboxMapsImpl,
78
+ RNMapboxMapsDownloadToken,
79
+ );
80
+ src = addInstallerBlock(src, 'pre');
81
+ src = addInstallerBlock(src, 'post');
82
+ src = addMapboxInstallerBlock(src, 'pre');
83
+ src = addMapboxInstallerBlock(src, 'post');
84
+ return src;
85
+ }
86
+
87
+ export function addConstantBlock(
88
+ src: string,
89
+ RNMapboxMapsImpl?: string,
90
+ RNMapboxMapsDownloadToken?: string,
91
+ ): string {
92
+ const tag = `@rnmapbox/maps-rnmapboxmapsimpl`;
93
+
94
+ if (RNMapboxMapsImpl == null) {
95
+ const modified = removeGeneratedContents(src, tag);
96
+ if (!modified) {
97
+ return src;
98
+ } else {
99
+ return modified;
100
+ }
101
+ }
102
+
103
+ return mergeContents({
104
+ tag,
105
+ src,
106
+ newSrc: [
107
+ `$RNMapboxMapsImpl = '${RNMapboxMapsImpl}'`,
108
+ `$RNMapboxMapsDownloadToken = '${RNMapboxMapsDownloadToken}'`,
109
+ ].join('\n'),
110
+ anchor: /target .+ do/,
111
+ // We can't go after the use_react_native block because it might have parameters, causing it to be multi-line (see react-native template).
112
+ offset: 0,
113
+ comment: '#',
114
+ }).contents;
115
+ }
116
+
117
+ export function addInstallerBlock(
118
+ src: string,
119
+ blockName: InstallerBlockName,
120
+ ): string {
121
+ const matchBlock = new RegExp(`${blockName}_install do \\|installer\\|`);
122
+ const tag = `${blockName}_installer`;
123
+ for (const line of src.split('\n')) {
124
+ const contents = line.trim();
125
+ // Ignore comments
126
+ if (!contents.startsWith('#')) {
127
+ // Prevent adding the block if it exists outside of comments.
128
+ if (contents.match(matchBlock)) {
129
+ // This helps to still allow revisions, since we enabled the block previously.
130
+ // Only continue if the generated block exists...
131
+ const modified = removeGeneratedContents(src, tag);
132
+ if (!modified) {
133
+ return src;
134
+ }
135
+ }
136
+ }
137
+ }
138
+
139
+ return mergeContents({
140
+ tag,
141
+ src,
142
+ newSrc: [` ${blockName}_install do |installer|`, ' end'].join('\n'),
143
+ anchor: /use_react_native/,
144
+ // We can't go after the use_react_native block because it might have parameters, causing it to be multi-line (see react-native template).
145
+ offset: 0,
146
+ comment: '#',
147
+ }).contents;
148
+ }
149
+
150
+ export function addMapboxInstallerBlock(
151
+ src: string,
152
+ blockName: InstallerBlockName,
153
+ ): string {
154
+ return mergeContents({
155
+ tag: `@rnmapbox/maps-${blockName}_installer`,
156
+ src,
157
+ newSrc: ` $RNMapboxMaps.${blockName}_install(installer)`,
158
+ anchor: new RegExp(`^\\s*${blockName}_install do \\|installer\\|`),
159
+ offset: 1,
160
+ comment: '#',
161
+ }).contents;
162
+ }
163
+
164
+ /**
165
+ * Exclude building for arm64 on simulator devices in the pbxproj project.
166
+ * Without this, production builds targeting simulators will fail.
167
+ */
168
+ export function setExcludedArchitectures(project: XcodeProject): XcodeProject {
169
+ const configurations = project.pbxXCBuildConfigurationSection();
170
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
171
+ // @ts-ignore
172
+ for (const { buildSettings } of Object.values(configurations || {})) {
173
+ // Guessing that this is the best way to emulate Xcode.
174
+ // Using `project.addToBuildSettings` modifies too many targets.
175
+ if (typeof buildSettings?.PRODUCT_NAME !== 'undefined') {
176
+ buildSettings['"EXCLUDED_ARCHS[sdk=iphonesimulator*]"'] = '"arm64"';
177
+ }
178
+ }
179
+
180
+ return project;
181
+ }
182
+
183
+ const withExcludedSimulatorArchitectures: ConfigPlugin = (c) => {
184
+ return withXcodeProject(c, (config) => {
185
+ config.modResults = setExcludedArchitectures(config.modResults);
186
+ return config;
187
+ });
188
+ };
189
+
190
+ const withAndroidPropertiesDownloadToken: ConfigPlugin<MapboxPlugProps> = (
191
+ config,
192
+ { RNMapboxMapsDownloadToken },
193
+ ) => {
194
+ const key = 'MAPBOX_DOWNLOADS_TOKEN';
195
+ if (RNMapboxMapsDownloadToken) {
196
+ return withGradleProperties(config, (config) => {
197
+ config.modResults = config.modResults.filter((item) => {
198
+ if (item.type === 'property' && item.key === key) {
199
+ return false;
200
+ }
201
+ return true;
202
+ });
203
+ config.modResults.push({
204
+ type: 'property',
205
+ key,
206
+ value: RNMapboxMapsDownloadToken,
207
+ });
208
+
209
+ return config;
210
+ });
211
+ } else {
212
+ return config;
213
+ }
214
+ };
215
+
216
+ const withAndroidPropertiesImpl2: ConfigPlugin<MapboxPlugProps> = (
217
+ config,
218
+ { RNMapboxMapsImpl },
219
+ ) => {
220
+ const key = 'expoRNMapboxMapsImpl';
221
+ if (RNMapboxMapsImpl) {
222
+ return withGradleProperties(config, (config) => {
223
+ config.modResults = config.modResults.filter((item) => {
224
+ if (item.type === 'property' && item.key === key) {
225
+ return false;
226
+ }
227
+ return true;
228
+ });
229
+ config.modResults.push({
230
+ type: 'property',
231
+ key: key,
232
+ value: RNMapboxMapsImpl,
233
+ });
234
+
235
+ return config;
236
+ });
237
+ } else {
238
+ return config;
239
+ }
240
+ };
241
+
242
+ const withAndroidProperties: ConfigPlugin<MapboxPlugProps> = (
243
+ config,
244
+ { RNMapboxMapsImpl, RNMapboxMapsDownloadToken },
245
+ ) => {
246
+ config = withAndroidPropertiesDownloadToken(config, {
247
+ RNMapboxMapsDownloadToken,
248
+ });
249
+ config = withAndroidPropertiesImpl2(config, { RNMapboxMapsImpl });
250
+ return config;
251
+ };
252
+
253
+ const addLibCppFilter = (appBuildGradle: string): string => {
254
+ if (appBuildGradle.includes("pickFirst 'lib/x86/libc++_shared.so'"))
255
+ return appBuildGradle;
256
+ return mergeContents({
257
+ tag: `@rnmapbox/maps-libcpp`,
258
+ src: appBuildGradle,
259
+ newSrc: `packagingOptions {
260
+ pickFirst 'lib/x86/libc++_shared.so'
261
+ pickFirst 'lib/x86_64/libc++_shared.so'
262
+ pickFirst 'lib/arm64-v8a/libc++_shared.so'
263
+ pickFirst 'lib/armeabi-v7a/libc++_shared.so'
264
+ }`,
265
+ anchor: new RegExp(`^\\s*android\\s*{`),
266
+ offset: 1,
267
+ comment: '//',
268
+ }).contents;
269
+ };
270
+
271
+ const addMapboxMavenRepo = (projectBuildGradle: string): string => {
272
+ if (projectBuildGradle.includes('api.mapbox.com/downloads/v2/releases/maven'))
273
+ return projectBuildGradle;
274
+
275
+ /*
276
+ return projectBuildGradle.replace(
277
+ /repositories \s?{/,
278
+ `repositories {
279
+ maven {
280
+ url 'https://api.mapbox.com/downloads/v2/releases/maven'
281
+ authentication { basic(BasicAuthentication) }
282
+ credentials {
283
+ username = 'mapbox'
284
+ password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: ""
285
+ }
286
+ }
287
+ `,
288
+ );*/
289
+
290
+ return mergeContents({
291
+ tag: `@rnmapbox/maps-v2-maven`,
292
+ src: projectBuildGradle,
293
+ newSrc: `maven {
294
+ url 'https://api.mapbox.com/downloads/v2/releases/maven'
295
+ authentication { basic(BasicAuthentication) }
296
+ credentials {
297
+ username = 'mapbox'
298
+ password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: ""
299
+ }
300
+ }`,
301
+ anchor: new RegExp(`^\\s*allprojects\\s*{`), // TODO repositories { is needed as well
302
+ offset: 2,
303
+ comment: '//',
304
+ }).contents;
305
+ };
306
+
307
+ const withAndroidAppGradle: ConfigPlugin<MapboxPlugProps> = (config) => {
308
+ return withAppBuildGradle(config, ({ modResults, ...config }) => {
309
+ if (modResults.language !== 'groovy') {
310
+ WarningAggregator.addWarningAndroid(
311
+ 'withMapbox',
312
+ `Cannot automatically configure app build.gradle if it's not groovy`,
313
+ );
314
+ return { modResults, ...config };
315
+ }
316
+
317
+ modResults.contents = addLibCppFilter(modResults.contents);
318
+ return { modResults, ...config };
319
+ });
320
+ };
321
+
322
+ const withAndroidProjectGradle: ConfigPlugin<MapboxPlugProps> = (config) => {
323
+ return withProjectBuildGradle(config, ({ modResults, ...config }) => {
324
+ if (modResults.language !== 'groovy') {
325
+ WarningAggregator.addWarningAndroid(
326
+ 'withMapbox',
327
+ `Cannot automatically configure app build.gradle if it's not groovy`,
328
+ );
329
+ return { modResults, ...config };
330
+ }
331
+
332
+ modResults.contents = addMapboxMavenRepo(modResults.contents);
333
+ return { modResults, ...config };
334
+ });
335
+ };
336
+
337
+ const withMapboxAndroid: ConfigPlugin<MapboxPlugProps> = (
338
+ config,
339
+ { RNMapboxMapsImpl, RNMapboxMapsDownloadToken },
340
+ ) => {
341
+ config = withAndroidProperties(config, {
342
+ RNMapboxMapsImpl,
343
+ RNMapboxMapsDownloadToken,
344
+ });
345
+ config = withAndroidProjectGradle(config, { RNMapboxMapsImpl });
346
+ config = withAndroidAppGradle(config, { RNMapboxMapsImpl });
347
+ return config;
348
+ };
349
+
350
+ const withMapbox: ConfigPlugin<MapboxPlugProps> = (
351
+ config,
352
+ { RNMapboxMapsImpl, RNMapboxMapsDownloadToken },
353
+ ) => {
354
+ config = withExcludedSimulatorArchitectures(config);
355
+ config = withMapboxAndroid(config, {
356
+ RNMapboxMapsImpl,
357
+ RNMapboxMapsDownloadToken,
358
+ });
359
+ return withCocoaPodsInstallerBlocks(config, {
360
+ RNMapboxMapsImpl,
361
+ RNMapboxMapsDownloadToken,
362
+ });
363
+ };
364
+
365
+ export default createRunOncePlugin(withMapbox, pkg.name, pkg.version);
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "expo-module-scripts/tsconfig.plugin",
3
+ "compilerOptions": {
4
+ "outDir": "build",
5
+ "rootDir": "src"
6
+ },
7
+ "include": ["./src"],
8
+ "exclude": ["**/__mocks__/*", "**/__tests__/*"]
9
+ }
package/.eslintrc.js DELETED
@@ -1,111 +0,0 @@
1
- module.exports = {
2
- root: true,
3
- parser: '@babel/eslint-parser',
4
- plugins: ['react', 'react-native', 'import'],
5
- env: {
6
- jest: true,
7
- },
8
- settings: {
9
- react: {
10
- version: require('./package.json').dependencies.react,
11
- pragma: 'React',
12
- },
13
- 'import/resolver': {
14
- node: {
15
- extensions: ['.js', '.jsx'],
16
- },
17
- },
18
- 'import/ignore': ['react-native'],
19
- parserOptions: {
20
- ecmaFeatures: {
21
- jsx: true,
22
- modules: true,
23
- },
24
- },
25
- },
26
- globals: {
27
- fetch: true,
28
- FormData: true,
29
- requestAnimationFrame: true,
30
- cancelAnimationFrame: true,
31
- WebSocket: true,
32
- __DEV__: true,
33
- window: true,
34
- document: true,
35
- navigator: true,
36
- XMLSerializer: true,
37
- },
38
- extends: [
39
- 'eslint:recommended',
40
- 'plugin:react/recommended',
41
- 'plugin:jest/recommended',
42
- '@react-native-community',
43
- 'prettier',
44
- ],
45
- rules: {
46
- 'react/no-deprecated': 'warn',
47
- 'react/no-string-refs': 'warn',
48
- 'import/named': [2],
49
- 'import/no-named-default': [0],
50
- 'import/order': [
51
- 'error',
52
- {
53
- groups: ['builtin', 'external', 'parent', 'sibling', 'index'],
54
- 'newlines-between': 'always',
55
- },
56
- ],
57
- 'import/exports-last': [0],
58
- 'import/no-useless-path-segments': [2],
59
- camelcase: [0],
60
- 'no-console': [0],
61
- 'import/prefer-default-export': 'off',
62
- 'jsx-a11y/href-no-hash': 'off',
63
- 'react/prop-types': [0],
64
- quotes: [2, 'single'],
65
- 'eol-last': [0],
66
- 'no-continue': [1],
67
- 'class-methods-use-this': [0],
68
- 'no-bitwise': [1],
69
- 'prefer-destructuring': [1],
70
- 'consistent-return': [0],
71
- 'no-warning-comments': [1],
72
- 'no-mixed-requires': [0],
73
- 'no-return-assign': 0,
74
- 'no-underscore-dangle': [0],
75
- 'no-await-in-loop': 0,
76
- 'no-restricted-syntax': 0,
77
- 'no-use-before-define': ['error', { functions: false }],
78
- 'no-unused-expressions': ['error', { allowTaggedTemplates: true }],
79
- 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }],
80
- 'react-native/no-inline-styles': 0,
81
- '@typescript-eslint/no-explicit-any': ['error', { ignoreRestArgs: true }],
82
- },
83
- ignorePatterns: ['**/rnmapbox.web.symlink', 'plugin/build/'],
84
- overrides: [
85
- {
86
- // Match TypeScript Files
87
- files: ['**/*.{ts,tsx}'],
88
-
89
- parserOptions: {
90
- project: [
91
- './tsconfig.json',
92
- './example/tsconfig.json',
93
- './plugin/src/__tests__/tsconfig.eslint.json',
94
- ],
95
- },
96
- plugins: ['@typescript-eslint'],
97
- extends: [
98
- 'eslint:recommended',
99
- 'plugin:react/recommended',
100
- '@react-native-community',
101
- 'plugin:@typescript-eslint/recommended',
102
- 'prettier',
103
- ],
104
- rules: {
105
- 'no-shadow': 'off',
106
- 'import/named': 'off',
107
- 'react-native/no-inline-styles': 0,
108
- },
109
- },
110
- ],
111
- };