@rnmapbox/maps 10.1.33 → 10.1.36
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/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterSource.kt +5 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterSourceManager.kt +31 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSource.kt +5 -1
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterSourceManagerDelegate.java +3 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterSourceManagerInterface.java +1 -0
- package/ios/RNMBX/RNMBXMapView.swift +17 -1
- package/ios/RNMBX/RNMBXMapViewComponentView.mm +9 -33
- package/ios/RNMBX/RNMBXRasterSource.swift +16 -10
- package/ios/RNMBX/RNMBXRasterSourceComponentView.mm +6 -2
- package/ios/RNMBX/RNMBXRasterSourceViewManager.m +1 -1
- package/ios/install.md +1 -1
- package/lib/commonjs/app.plugin.js +1 -0
- package/lib/commonjs/classes/index.d.js +0 -1
- package/lib/commonjs/classes/index.d.js.map +1 -1
- package/lib/commonjs/components/Annotation.js +6 -4
- package/lib/commonjs/components/Annotation.js.map +1 -1
- package/lib/commonjs/components/Atmosphere.js +4 -1
- package/lib/commonjs/components/Atmosphere.js.map +1 -1
- package/lib/commonjs/components/BackgroundLayer.js +6 -5
- package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
- package/lib/commonjs/components/Callout.js +22 -16
- package/lib/commonjs/components/Callout.js.map +1 -1
- package/lib/commonjs/components/Camera.js +2 -1
- package/lib/commonjs/components/Camera.js.map +1 -1
- package/lib/commonjs/components/CircleLayer.js +5 -4
- package/lib/commonjs/components/CircleLayer.js.map +1 -1
- package/lib/commonjs/components/CustomLocationProvider.js +4 -1
- package/lib/commonjs/components/CustomLocationProvider.js.map +1 -1
- package/lib/commonjs/components/FillExtrusionLayer.js +6 -5
- package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
- package/lib/commonjs/components/FillLayer.js +5 -4
- package/lib/commonjs/components/FillLayer.js.map +1 -1
- package/lib/commonjs/components/HeadingIndicator.js +16 -17
- package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
- package/lib/commonjs/components/HeatmapLayer.js +5 -4
- package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
- package/lib/commonjs/components/Image.js +4 -3
- package/lib/commonjs/components/Image.js.map +1 -1
- package/lib/commonjs/components/ImageSource.js +8 -6
- package/lib/commonjs/components/ImageSource.js.map +1 -1
- package/lib/commonjs/components/Images.js +5 -1
- package/lib/commonjs/components/Images.js.map +1 -1
- package/lib/commonjs/components/Light.js +6 -6
- package/lib/commonjs/components/Light.js.map +1 -1
- package/lib/commonjs/components/LineLayer.js +5 -4
- package/lib/commonjs/components/LineLayer.js.map +1 -1
- package/lib/commonjs/components/LocationPuck.js +4 -1
- package/lib/commonjs/components/LocationPuck.js.map +1 -1
- package/lib/commonjs/components/MapView.js +14 -6
- package/lib/commonjs/components/MapView.js.map +1 -1
- package/lib/commonjs/components/MarkerView.js +20 -17
- package/lib/commonjs/components/MarkerView.js.map +1 -1
- package/lib/commonjs/components/ModelLayer.js +5 -4
- package/lib/commonjs/components/ModelLayer.js.map +1 -1
- package/lib/commonjs/components/Models.js +4 -3
- package/lib/commonjs/components/Models.js.map +1 -1
- package/lib/commonjs/components/PointAnnotation.js +5 -1
- package/lib/commonjs/components/PointAnnotation.js.map +1 -1
- package/lib/commonjs/components/RasterDemSource.js +8 -6
- package/lib/commonjs/components/RasterDemSource.js.map +1 -1
- package/lib/commonjs/components/RasterLayer.js +5 -4
- package/lib/commonjs/components/RasterLayer.js.map +1 -1
- package/lib/commonjs/components/RasterSource.js +8 -6
- package/lib/commonjs/components/RasterSource.js.map +1 -1
- package/lib/commonjs/components/ShapeSource.js +7 -3
- package/lib/commonjs/components/ShapeSource.js.map +1 -1
- package/lib/commonjs/components/SkyLayer.js +6 -5
- package/lib/commonjs/components/SkyLayer.js.map +1 -1
- package/lib/commonjs/components/Style.js +24 -22
- package/lib/commonjs/components/Style.js.map +1 -1
- package/lib/commonjs/components/StyleImport.js +4 -1
- package/lib/commonjs/components/StyleImport.js.map +1 -1
- package/lib/commonjs/components/SymbolLayer.js +6 -4
- package/lib/commonjs/components/SymbolLayer.js.map +1 -1
- package/lib/commonjs/components/Terrain.js +4 -1
- package/lib/commonjs/components/Terrain.js.map +1 -1
- package/lib/commonjs/components/UserLocation.js +12 -11
- package/lib/commonjs/components/UserLocation.js.map +1 -1
- package/lib/commonjs/components/VectorSource.js +8 -6
- package/lib/commonjs/components/VectorSource.js.map +1 -1
- package/lib/commonjs/components/Viewport.js +4 -3
- package/lib/commonjs/components/Viewport.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/plugin/build/generateCode.d.ts +42 -0
- package/lib/commonjs/plugin/build/generateCode.js +107 -0
- package/lib/commonjs/plugin/build/withMapbox.d.ts +19 -0
- package/lib/commonjs/plugin/build/withMapbox.js +291 -0
- package/lib/commonjs/plugin/copy-plugin.ts +56 -0
- package/lib/commonjs/plugin/install.md +110 -0
- package/lib/commonjs/plugin/jest.config.js +1 -0
- package/lib/commonjs/plugin/src/generateCode.ts +155 -0
- package/lib/commonjs/plugin/src/withMapbox.ts +466 -0
- package/lib/commonjs/plugin/tsconfig.eslint.json +5 -0
- package/lib/commonjs/plugin/tsconfig.json +9 -0
- package/lib/commonjs/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
- package/lib/commonjs/utils/MapboxStyles.d.js +92 -0
- package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
- package/lib/commonjs/web/UnimplementedComponent.js +4 -1
- package/lib/commonjs/web/UnimplementedComponent.js.map +1 -1
- package/lib/commonjs/web/components/Camera.js +2 -1
- package/lib/commonjs/web/components/Camera.js.map +1 -1
- package/lib/commonjs/web/components/MapView.js +18 -13
- package/lib/commonjs/web/components/MapView.js.map +1 -1
- package/lib/module/Mapbox.js +2 -0
- package/lib/module/Mapbox.js.map +1 -1
- package/lib/module/RNMBXModule.js +2 -0
- package/lib/module/RNMBXModule.js.map +1 -1
- package/lib/module/classes/AnimatedCoordinatesArray.js +2 -0
- package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
- package/lib/module/classes/AnimatedExtractCoordinateFromArray.js +2 -0
- package/lib/module/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
- package/lib/module/classes/AnimatedPoint.js +2 -0
- package/lib/module/classes/AnimatedPoint.js.map +1 -1
- package/lib/module/classes/AnimatedRouteCoordinatesArray.js +2 -0
- package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
- package/lib/module/classes/AnimatedShape.js +2 -0
- package/lib/module/classes/AnimatedShape.js.map +1 -1
- package/lib/module/classes/index.d.js +2 -1
- package/lib/module/classes/index.d.js.map +1 -1
- package/lib/module/classes/index.js +2 -0
- package/lib/module/classes/index.js.map +1 -1
- package/lib/module/components/AbstractLayer.js +2 -0
- package/lib/module/components/AbstractLayer.js.map +1 -1
- package/lib/module/components/AbstractSource.js +2 -0
- package/lib/module/components/AbstractSource.js.map +1 -1
- package/lib/module/components/Annotation.js +8 -4
- package/lib/module/components/Annotation.js.map +1 -1
- package/lib/module/components/Atmosphere.js +6 -1
- package/lib/module/components/Atmosphere.js.map +1 -1
- package/lib/module/components/BackgroundLayer.js +8 -5
- package/lib/module/components/BackgroundLayer.js.map +1 -1
- package/lib/module/components/Callout.js +24 -16
- package/lib/module/components/Callout.js.map +1 -1
- package/lib/module/components/Camera.js +4 -1
- package/lib/module/components/Camera.js.map +1 -1
- package/lib/module/components/CircleLayer.js +7 -4
- package/lib/module/components/CircleLayer.js.map +1 -1
- package/lib/module/components/CustomLocationProvider.js +6 -1
- package/lib/module/components/CustomLocationProvider.js.map +1 -1
- package/lib/module/components/FillExtrusionLayer.js +8 -5
- package/lib/module/components/FillExtrusionLayer.js.map +1 -1
- package/lib/module/components/FillLayer.js +7 -4
- package/lib/module/components/FillLayer.js.map +1 -1
- package/lib/module/components/HeadingIndicator.js +18 -17
- package/lib/module/components/HeadingIndicator.js.map +1 -1
- package/lib/module/components/HeatmapLayer.js +7 -4
- package/lib/module/components/HeatmapLayer.js.map +1 -1
- package/lib/module/components/Image.js +6 -3
- package/lib/module/components/Image.js.map +1 -1
- package/lib/module/components/ImageSource.js +10 -6
- package/lib/module/components/ImageSource.js.map +1 -1
- package/lib/module/components/Images.js +7 -1
- package/lib/module/components/Images.js.map +1 -1
- package/lib/module/components/Light.js +8 -6
- package/lib/module/components/Light.js.map +1 -1
- package/lib/module/components/LineLayer.js +7 -4
- package/lib/module/components/LineLayer.js.map +1 -1
- package/lib/module/components/LocationPuck.js +6 -1
- package/lib/module/components/LocationPuck.js.map +1 -1
- package/lib/module/components/MapView.js +16 -6
- package/lib/module/components/MapView.js.map +1 -1
- package/lib/module/components/MarkerView.js +22 -17
- package/lib/module/components/MarkerView.js.map +1 -1
- package/lib/module/components/ModelLayer.js +7 -4
- package/lib/module/components/ModelLayer.js.map +1 -1
- package/lib/module/components/Models.js +6 -3
- package/lib/module/components/Models.js.map +1 -1
- package/lib/module/components/NativeBridgeComponent.js +2 -0
- package/lib/module/components/NativeBridgeComponent.js.map +1 -1
- package/lib/module/components/PointAnnotation.js +7 -1
- package/lib/module/components/PointAnnotation.js.map +1 -1
- package/lib/module/components/RasterDemSource.js +10 -6
- package/lib/module/components/RasterDemSource.js.map +1 -1
- package/lib/module/components/RasterLayer.js +7 -4
- package/lib/module/components/RasterLayer.js.map +1 -1
- package/lib/module/components/RasterSource.js +10 -6
- package/lib/module/components/RasterSource.js.map +1 -1
- package/lib/module/components/ShapeSource.js +9 -3
- package/lib/module/components/ShapeSource.js.map +1 -1
- package/lib/module/components/SkyLayer.js +8 -5
- package/lib/module/components/SkyLayer.js.map +1 -1
- package/lib/module/components/Style.js +26 -22
- package/lib/module/components/Style.js.map +1 -1
- package/lib/module/components/StyleImport.js +6 -1
- package/lib/module/components/StyleImport.js.map +1 -1
- package/lib/module/components/SymbolLayer.js +8 -4
- package/lib/module/components/SymbolLayer.js.map +1 -1
- package/lib/module/components/Terrain.js +6 -1
- package/lib/module/components/Terrain.js.map +1 -1
- package/lib/module/components/UserLocation.js +14 -11
- package/lib/module/components/UserLocation.js.map +1 -1
- package/lib/module/components/VectorSource.js +10 -6
- package/lib/module/components/VectorSource.js.map +1 -1
- package/lib/module/components/Viewport.js +6 -3
- package/lib/module/components/Viewport.js.map +1 -1
- package/lib/module/global.d.js +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +2 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/modules/location/locationManager.js +2 -0
- package/lib/module/modules/location/locationManager.js.map +1 -1
- package/lib/module/modules/offline/OfflineCreatePackOptions.js +2 -0
- package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -1
- package/lib/module/modules/offline/OfflinePack.js +2 -0
- package/lib/module/modules/offline/OfflinePack.js.map +1 -1
- package/lib/module/modules/offline/OfflinePackLegacy.js +2 -0
- package/lib/module/modules/offline/OfflinePackLegacy.js.map +1 -1
- package/lib/module/modules/offline/TileStore.js +2 -0
- package/lib/module/modules/offline/TileStore.js.map +1 -1
- package/lib/module/modules/offline/offlineManager.js +2 -0
- package/lib/module/modules/offline/offlineManager.js.map +1 -1
- package/lib/module/modules/offline/offlineManagerLegacy.js +2 -0
- package/lib/module/modules/offline/offlineManagerLegacy.js.map +1 -1
- package/lib/module/modules/snapshot/SnapshotOptions.js +2 -0
- package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
- package/lib/module/modules/snapshot/snapshotManager.js +2 -0
- package/lib/module/modules/snapshot/snapshotManager.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/requestAndroidLocationPermissions.js +2 -0
- package/lib/module/requestAndroidLocationPermissions.js.map +1 -1
- package/lib/module/shapeAnimators/ChangeLineOffsetsShapeAnimator.js +2 -0
- package/lib/module/shapeAnimators/ChangeLineOffsetsShapeAnimator.js.map +1 -1
- package/lib/module/shapeAnimators/MovePointShapeAnimator.js +2 -0
- package/lib/module/shapeAnimators/MovePointShapeAnimator.js.map +1 -1
- package/lib/module/shapeAnimators/ShapeAnimatorManager.js +2 -0
- package/lib/module/shapeAnimators/ShapeAnimatorManager.js.map +1 -1
- package/lib/module/shapeAnimators/index.js +1 -1
- package/lib/module/specs/NativeMapViewModule.js +2 -0
- package/lib/module/specs/NativeMapViewModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXCameraModule.js +2 -0
- package/lib/module/specs/NativeRNMBXCameraModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXChangeLineOffsetsShapeAnimatorModule.js +2 -0
- package/lib/module/specs/NativeRNMBXChangeLineOffsetsShapeAnimatorModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXImageModule.js +2 -0
- package/lib/module/specs/NativeRNMBXImageModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js +2 -0
- package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXPointAnnotationModule.js +2 -0
- package/lib/module/specs/NativeRNMBXPointAnnotationModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXShapeSourceModule.js +2 -0
- package/lib/module/specs/NativeRNMBXShapeSourceModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXTileStoreModule.js +2 -0
- package/lib/module/specs/NativeRNMBXTileStoreModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXViewportModule.js +2 -0
- package/lib/module/specs/NativeRNMBXViewportModule.js.map +1 -1
- package/lib/module/specs/RNMBXAtmosphereNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXAtmosphereNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXBackgroundLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXBackgroundLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXCalloutNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXCalloutNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXCameraNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXCameraNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXCircleLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXFillExtrusionLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXFillLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXImageNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXImageNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXImageSourceNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXImageSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXImagesNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXImagesNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXLightNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXLightNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXLineLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXMapViewNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXMapViewNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXMarkerViewContentNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXMarkerViewContentNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXMarkerViewNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXModelLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXModelLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXModelsNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXModelsNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXRasterLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXRasterSourceNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXShapeSourceNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXSkyLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXSkyLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXStyleImportNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXStyleImportNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXTerrainNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXTerrainNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXVectorSourceNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXVectorSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXViewportNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXViewportNativeComponent.js.map +1 -1
- package/lib/module/specs/codegenUtils.js +2 -0
- package/lib/module/types/BaseProps.js +1 -1
- package/lib/module/types/OnPressEvent.js +1 -1
- package/lib/module/types/Position.js +1 -1
- package/lib/module/types/index.js +2 -0
- package/lib/module/utils/BridgeValue.js +2 -0
- package/lib/module/utils/BridgeValue.js.map +1 -1
- package/lib/module/utils/Logger.js +2 -0
- package/lib/module/utils/Logger.js.map +1 -1
- package/lib/module/utils/MapboxStyles.d.js +94 -0
- package/lib/module/utils/MapboxStyles.d.js.map +1 -1
- package/lib/module/utils/NativeCommands.js +2 -0
- package/lib/module/utils/NativeCommands.js.map +1 -1
- package/lib/module/utils/StyleValue.js +2 -0
- package/lib/module/utils/StyleValue.js.map +1 -1
- package/lib/module/utils/animated/Animated.js +2 -0
- package/lib/module/utils/animated/Animated.js.map +1 -1
- package/lib/module/utils/checkRequiredProps.js +2 -0
- package/lib/module/utils/checkRequiredProps.js.map +1 -1
- package/lib/module/utils/deprecation.js +2 -0
- package/lib/module/utils/deprecation.js.map +1 -1
- package/lib/module/utils/filterUtils.js +2 -0
- package/lib/module/utils/filterUtils.js.map +1 -1
- package/lib/module/utils/geoUtils.js +2 -0
- package/lib/module/utils/geoUtils.js.map +1 -1
- package/lib/module/utils/getAnnotationsLayerID.js +2 -0
- package/lib/module/utils/getAnnotationsLayerID.js.map +1 -1
- package/lib/module/utils/index.js +2 -0
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/nativeRef.js +2 -0
- package/lib/module/utils/nativeRef.js.map +1 -1
- package/lib/module/utils/styleMap.js +2 -0
- package/lib/module/utils/styleMap.js.map +1 -1
- package/lib/module/web/MapContext.js +2 -0
- package/lib/module/web/MapContext.js.map +1 -1
- package/lib/module/web/MapboxModule.js +2 -0
- package/lib/module/web/MapboxModule.js.map +1 -1
- package/lib/module/web/UnimplementedComponent.js +6 -1
- package/lib/module/web/UnimplementedComponent.js.map +1 -1
- package/lib/module/web/components/Camera.js +4 -1
- package/lib/module/web/components/Camera.js.map +1 -1
- package/lib/module/web/components/MapView.js +19 -11
- package/lib/module/web/components/MapView.js.map +1 -1
- package/lib/module/web/components/MarkerView.js +2 -0
- package/lib/module/web/components/MarkerView.js.map +1 -1
- package/lib/module/web/index.js +2 -0
- package/lib/module/web/index.js.map +1 -1
- package/lib/module/web/utils/Logger.js +2 -0
- package/lib/module/web/utils/Logger.js.map +1 -1
- package/lib/typescript/src/components/RasterSource.d.ts +6 -0
- package/lib/typescript/src/components/RasterSource.d.ts.map +1 -1
- package/lib/typescript/src/components/SymbolLayer.d.ts +2 -2
- package/lib/typescript/src/components/SymbolLayer.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXRasterSourceNativeComponent.d.ts +1 -0
- package/lib/typescript/src/specs/RNMBXRasterSourceNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/web/components/MapView.d.ts +2 -2
- package/lib/typescript/src/web/components/MapView.d.ts.map +1 -1
- package/package.json +20 -24
- package/plugin/copy-plugin.ts +56 -0
- package/plugin/install.md +2 -2
- package/plugin/tsconfig.eslint.json +5 -0
- package/rnmapbox-maps.podspec +1 -1
- package/src/components/RasterSource.tsx +6 -0
- package/src/components/SymbolLayer.tsx +1 -1
- package/src/specs/RNMBXRasterSourceNativeComponent.ts +1 -0
- package/src/web/components/MapView.tsx +4 -2
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Taken from @expo/config-plugins
|
|
3
|
+
*
|
|
4
|
+
* Sourcecode: https://github.com/expo/expo/blob/59ece3cb1d5a7aaea42f4c7fe9d1f4f825b338f8/packages/@expo/config-plugins/src/utils/generateCode.ts
|
|
5
|
+
* LICENSE: https://github.com/expo/expo/blob/59ece3cb1d5a7aaea42f4c7fe9d1f4f825b338f8/packages/@expo/config-plugins/LICENSE
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Get line indexes for the generated section of a file.
|
|
10
|
+
*
|
|
11
|
+
* @param src
|
|
12
|
+
*/
|
|
13
|
+
import crypto from 'crypto';
|
|
14
|
+
|
|
15
|
+
function getGeneratedSectionIndexes(
|
|
16
|
+
src: string,
|
|
17
|
+
tag: string,
|
|
18
|
+
): { contents: string[]; start: number; end: number } {
|
|
19
|
+
const contents = src.split('\n');
|
|
20
|
+
const start = contents.findIndex((line) =>
|
|
21
|
+
line.includes(`@generated begin ${tag}`),
|
|
22
|
+
);
|
|
23
|
+
const end = contents.findIndex((line) =>
|
|
24
|
+
line.includes(`@generated end ${tag}`),
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
return { contents, start, end };
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type MergeResults = {
|
|
31
|
+
contents: string;
|
|
32
|
+
didClear: boolean;
|
|
33
|
+
didMerge: boolean;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Merge the contents of two files together and add a generated header.
|
|
38
|
+
*
|
|
39
|
+
* @param src contents of the original file
|
|
40
|
+
* @param newSrc new contents to merge into the original file
|
|
41
|
+
* @param identifier used to update and remove merges
|
|
42
|
+
* @param anchor regex to where the merge should begin
|
|
43
|
+
* @param offset line offset to start merging at (<1 for behind the anchor)
|
|
44
|
+
* @param comment comment style `//` or `#`
|
|
45
|
+
*/
|
|
46
|
+
export function mergeContents({
|
|
47
|
+
src,
|
|
48
|
+
newSrc,
|
|
49
|
+
tag,
|
|
50
|
+
anchor,
|
|
51
|
+
offset,
|
|
52
|
+
comment,
|
|
53
|
+
}: {
|
|
54
|
+
src: string;
|
|
55
|
+
newSrc: string;
|
|
56
|
+
tag: string;
|
|
57
|
+
anchor: string | RegExp;
|
|
58
|
+
offset: number;
|
|
59
|
+
comment: string;
|
|
60
|
+
}): MergeResults {
|
|
61
|
+
const header = createGeneratedHeaderComment(newSrc, tag, comment);
|
|
62
|
+
if (!src.includes(header)) {
|
|
63
|
+
// Ensure the old generated contents are removed.
|
|
64
|
+
const sanitizedTarget = removeGeneratedContents(src, tag);
|
|
65
|
+
return {
|
|
66
|
+
contents: addLines(sanitizedTarget ?? src, anchor, offset, [
|
|
67
|
+
header,
|
|
68
|
+
...newSrc.split('\n'),
|
|
69
|
+
`${comment} @generated end ${tag}`,
|
|
70
|
+
]),
|
|
71
|
+
didMerge: true,
|
|
72
|
+
didClear: !!sanitizedTarget,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return { contents: src, didClear: false, didMerge: false };
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function removeContents({
|
|
79
|
+
src,
|
|
80
|
+
tag,
|
|
81
|
+
}: {
|
|
82
|
+
src: string;
|
|
83
|
+
tag: string;
|
|
84
|
+
}): MergeResults {
|
|
85
|
+
// Ensure the old generated contents are removed.
|
|
86
|
+
const sanitizedTarget = removeGeneratedContents(src, tag);
|
|
87
|
+
return {
|
|
88
|
+
contents: sanitizedTarget ?? src,
|
|
89
|
+
didMerge: false,
|
|
90
|
+
didClear: !!sanitizedTarget,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function addLines(
|
|
95
|
+
content: string,
|
|
96
|
+
find: string | RegExp,
|
|
97
|
+
offset: number,
|
|
98
|
+
toAdd: string[],
|
|
99
|
+
) {
|
|
100
|
+
const lines = content.split('\n');
|
|
101
|
+
|
|
102
|
+
let lineIndex = lines.findIndex((line) => line.match(find));
|
|
103
|
+
if (lineIndex < 0) {
|
|
104
|
+
const error = new Error(
|
|
105
|
+
`Failed to match "${find}" in contents:\n${content}`,
|
|
106
|
+
);
|
|
107
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
108
|
+
// @ts-ignore
|
|
109
|
+
error.code = 'ERR_NO_MATCH';
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
for (const newLine of toAdd) {
|
|
113
|
+
lines.splice(lineIndex + offset, 0, newLine);
|
|
114
|
+
lineIndex++;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return lines.join('\n');
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Removes the generated section from a file, returns null when nothing can be removed.
|
|
122
|
+
* This sways heavily towards not removing lines unless it's certain that modifications were not made manually.
|
|
123
|
+
*
|
|
124
|
+
* @param src
|
|
125
|
+
*/
|
|
126
|
+
export function removeGeneratedContents(
|
|
127
|
+
src: string,
|
|
128
|
+
tag: string,
|
|
129
|
+
): string | null {
|
|
130
|
+
const { contents, start, end } = getGeneratedSectionIndexes(src, tag);
|
|
131
|
+
if (start > -1 && end > -1 && start < end) {
|
|
132
|
+
contents.splice(start, end - start + 1);
|
|
133
|
+
// TODO: We could in theory check that the contents we're removing match the hash used in the header,
|
|
134
|
+
// this would ensure that we don't accidentally remove lines that someone added or removed from the generated section.
|
|
135
|
+
return contents.join('\n');
|
|
136
|
+
}
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export function createGeneratedHeaderComment(
|
|
141
|
+
contents: string,
|
|
142
|
+
tag: string,
|
|
143
|
+
comment: string,
|
|
144
|
+
): string {
|
|
145
|
+
const hashKey = createHash(contents);
|
|
146
|
+
|
|
147
|
+
// Everything after the `${tag} ` is unversioned and can be freely modified without breaking changes.
|
|
148
|
+
return `${comment} @generated begin ${tag} - expo prebuild (DO NOT MODIFY) ${hashKey}`;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export function createHash(src: string): string {
|
|
152
|
+
// this doesn't need to be secure, the shorter the better.
|
|
153
|
+
const hash = crypto.createHash('sha1').update(src).digest('hex');
|
|
154
|
+
return `sync-${hash}`;
|
|
155
|
+
}
|
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
import { promises } from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
ConfigPlugin,
|
|
6
|
+
createRunOncePlugin,
|
|
7
|
+
withDangerousMod,
|
|
8
|
+
withGradleProperties,
|
|
9
|
+
WarningAggregator,
|
|
10
|
+
withProjectBuildGradle,
|
|
11
|
+
withAppBuildGradle,
|
|
12
|
+
} from 'expo/config-plugins';
|
|
13
|
+
|
|
14
|
+
import {
|
|
15
|
+
mergeContents,
|
|
16
|
+
createGeneratedHeaderComment,
|
|
17
|
+
removeGeneratedContents,
|
|
18
|
+
MergeResults,
|
|
19
|
+
} from './generateCode';
|
|
20
|
+
|
|
21
|
+
let pkg: { name: string; version?: string } = {
|
|
22
|
+
name: '@rnmapbox/maps',
|
|
23
|
+
};
|
|
24
|
+
try {
|
|
25
|
+
pkg = require('@rnmapbox/maps/package.json');
|
|
26
|
+
} catch {
|
|
27
|
+
// empty catch block
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
type InstallerBlockName = 'pre' | 'post';
|
|
31
|
+
|
|
32
|
+
export type MapboxPlugProps = {
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated
|
|
35
|
+
*/
|
|
36
|
+
RNMapboxMapsImpl?: 'mapbox';
|
|
37
|
+
|
|
38
|
+
RNMapboxMapsVersion?: string;
|
|
39
|
+
|
|
40
|
+
RNMapboxMapsDownloadToken?: string;
|
|
41
|
+
|
|
42
|
+
RNMapboxMapsUseV11?: boolean;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export const addInstallerBlock = (
|
|
46
|
+
src: string,
|
|
47
|
+
blockName: InstallerBlockName,
|
|
48
|
+
): string => {
|
|
49
|
+
const matchBlock = new RegExp(`${blockName}_install do \\|installer\\|`);
|
|
50
|
+
const tag = `${blockName}_installer`;
|
|
51
|
+
|
|
52
|
+
for (const line of src.split('\n')) {
|
|
53
|
+
const contents = line.trim();
|
|
54
|
+
// Ignore comments
|
|
55
|
+
if (!contents.startsWith('#')) {
|
|
56
|
+
// Prevent adding the block if it exists outside of comments.
|
|
57
|
+
if (contents.match(matchBlock)) {
|
|
58
|
+
// This helps to still allow revisions, since we enabled the block previously.
|
|
59
|
+
// Only continue if the generated block exists...
|
|
60
|
+
const modified = removeGeneratedContents(src, tag);
|
|
61
|
+
if (!modified) {
|
|
62
|
+
return src;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return mergeContents({
|
|
69
|
+
tag,
|
|
70
|
+
src,
|
|
71
|
+
newSrc: [` ${blockName}_install do |installer|`, ' end'].join('\n'),
|
|
72
|
+
anchor: /use_react_native/,
|
|
73
|
+
// 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).
|
|
74
|
+
offset: 0,
|
|
75
|
+
comment: '#',
|
|
76
|
+
}).contents;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export const addConstantBlock = (
|
|
80
|
+
src: string,
|
|
81
|
+
{
|
|
82
|
+
RNMapboxMapsImpl,
|
|
83
|
+
RNMapboxMapsVersion,
|
|
84
|
+
RNMapboxMapsDownloadToken,
|
|
85
|
+
RNMapboxMapsUseV11,
|
|
86
|
+
}: MapboxPlugProps,
|
|
87
|
+
): string => {
|
|
88
|
+
const tag = `@rnmapbox/maps-rnmapboxmapsimpl`;
|
|
89
|
+
|
|
90
|
+
if (
|
|
91
|
+
RNMapboxMapsVersion == null &&
|
|
92
|
+
RNMapboxMapsDownloadToken == null &&
|
|
93
|
+
RNMapboxMapsUseV11 == null
|
|
94
|
+
) {
|
|
95
|
+
const modified = removeGeneratedContents(src, tag);
|
|
96
|
+
if (!modified) {
|
|
97
|
+
return src;
|
|
98
|
+
} else {
|
|
99
|
+
return modified;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const newSrc = [];
|
|
104
|
+
|
|
105
|
+
if (RNMapboxMapsDownloadToken) {
|
|
106
|
+
newSrc.push(`$RNMapboxMapsDownloadToken = '${RNMapboxMapsDownloadToken}'`);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (RNMapboxMapsImpl) {
|
|
110
|
+
newSrc.push(`$RNMapboxMapsImpl = '${RNMapboxMapsImpl}'`);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (RNMapboxMapsVersion) {
|
|
114
|
+
newSrc.push(`$RNMapboxMapsVersion = '${RNMapboxMapsVersion}'`);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (RNMapboxMapsUseV11) {
|
|
118
|
+
newSrc.push(`$RNMapboxMapsUseV11 = true`);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return mergeContents({
|
|
122
|
+
tag,
|
|
123
|
+
src,
|
|
124
|
+
newSrc: newSrc.join('\n'),
|
|
125
|
+
anchor: /target .+ do/,
|
|
126
|
+
// 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).
|
|
127
|
+
offset: 0,
|
|
128
|
+
comment: '#',
|
|
129
|
+
}).contents;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
// Only the preinstaller block is required, the post installer block is
|
|
133
|
+
// used for spm (swift package manager) which Expo doesn't currently support.
|
|
134
|
+
export const applyCocoaPodsModifications = (
|
|
135
|
+
contents: string,
|
|
136
|
+
{
|
|
137
|
+
RNMapboxMapsImpl,
|
|
138
|
+
RNMapboxMapsVersion,
|
|
139
|
+
RNMapboxMapsDownloadToken,
|
|
140
|
+
RNMapboxMapsUseV11,
|
|
141
|
+
}: MapboxPlugProps,
|
|
142
|
+
): string => {
|
|
143
|
+
// Ensure installer blocks exist
|
|
144
|
+
let src = addConstantBlock(contents, {
|
|
145
|
+
RNMapboxMapsImpl,
|
|
146
|
+
RNMapboxMapsVersion,
|
|
147
|
+
RNMapboxMapsDownloadToken,
|
|
148
|
+
RNMapboxMapsUseV11,
|
|
149
|
+
});
|
|
150
|
+
src = addInstallerBlock(src, 'pre');
|
|
151
|
+
src = addInstallerBlock(src, 'post');
|
|
152
|
+
src = addMapboxInstallerBlock(src, 'pre');
|
|
153
|
+
src = addMapboxInstallerBlock(src, 'post');
|
|
154
|
+
|
|
155
|
+
return src;
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
export const addMapboxInstallerBlock = (
|
|
159
|
+
src: string,
|
|
160
|
+
blockName: InstallerBlockName,
|
|
161
|
+
): string =>
|
|
162
|
+
mergeContents({
|
|
163
|
+
tag: `@rnmapbox/maps-${blockName}_installer`,
|
|
164
|
+
src,
|
|
165
|
+
newSrc: ` $RNMapboxMaps.${blockName}_install(installer)`,
|
|
166
|
+
anchor: new RegExp(`^\\s*${blockName}_install do \\|installer\\|`),
|
|
167
|
+
offset: 1,
|
|
168
|
+
comment: '#',
|
|
169
|
+
}).contents;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Dangerously adds the custom installer hooks to the Podfile.
|
|
173
|
+
* In the future this should be removed in favor of some custom hooks provided by Expo autolinking.
|
|
174
|
+
*
|
|
175
|
+
* https://github.com/rnmapbox/maps/blob/main/ios/install.md#react-native--0600
|
|
176
|
+
*/
|
|
177
|
+
const withCocoaPodsInstallerBlocks: ConfigPlugin<MapboxPlugProps> = (
|
|
178
|
+
config,
|
|
179
|
+
{
|
|
180
|
+
RNMapboxMapsImpl,
|
|
181
|
+
RNMapboxMapsVersion,
|
|
182
|
+
RNMapboxMapsDownloadToken,
|
|
183
|
+
RNMapboxMapsUseV11,
|
|
184
|
+
},
|
|
185
|
+
) =>
|
|
186
|
+
withDangerousMod(config, [
|
|
187
|
+
'ios',
|
|
188
|
+
async (exportedConfig) => {
|
|
189
|
+
const file = path.join(
|
|
190
|
+
exportedConfig.modRequest.platformProjectRoot,
|
|
191
|
+
'Podfile',
|
|
192
|
+
);
|
|
193
|
+
|
|
194
|
+
const contents = await promises.readFile(file, 'utf8');
|
|
195
|
+
await promises.writeFile(
|
|
196
|
+
file,
|
|
197
|
+
applyCocoaPodsModifications(contents, {
|
|
198
|
+
RNMapboxMapsImpl,
|
|
199
|
+
RNMapboxMapsVersion,
|
|
200
|
+
RNMapboxMapsDownloadToken,
|
|
201
|
+
RNMapboxMapsUseV11,
|
|
202
|
+
}),
|
|
203
|
+
'utf-8',
|
|
204
|
+
);
|
|
205
|
+
|
|
206
|
+
return exportedConfig;
|
|
207
|
+
},
|
|
208
|
+
]);
|
|
209
|
+
|
|
210
|
+
const withAndroidPropertiesDownloadToken: ConfigPlugin<MapboxPlugProps> = (
|
|
211
|
+
config,
|
|
212
|
+
{ RNMapboxMapsDownloadToken },
|
|
213
|
+
) => {
|
|
214
|
+
const key = 'MAPBOX_DOWNLOADS_TOKEN';
|
|
215
|
+
|
|
216
|
+
if (RNMapboxMapsDownloadToken) {
|
|
217
|
+
return withGradleProperties(config, (exportedConfig) => {
|
|
218
|
+
exportedConfig.modResults = exportedConfig.modResults.filter(
|
|
219
|
+
(item) => !(item.type === 'property' && item.key === key),
|
|
220
|
+
);
|
|
221
|
+
exportedConfig.modResults.push({
|
|
222
|
+
type: 'property',
|
|
223
|
+
key,
|
|
224
|
+
value: RNMapboxMapsDownloadToken,
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
return exportedConfig;
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return config;
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
const withAndroidPropertiesImpl2: ConfigPlugin<MapboxPlugProps> = (
|
|
235
|
+
config,
|
|
236
|
+
{ RNMapboxMapsImpl, RNMapboxMapsVersion, RNMapboxMapsUseV11 },
|
|
237
|
+
) => {
|
|
238
|
+
const keyValues = {
|
|
239
|
+
expoRNMapboxMapsImpl: RNMapboxMapsImpl,
|
|
240
|
+
expoRNMapboxMapsVersion: RNMapboxMapsVersion,
|
|
241
|
+
expoRNMapboxMapsUseV11: RNMapboxMapsUseV11,
|
|
242
|
+
} as const;
|
|
243
|
+
type Keys = keyof typeof keyValues;
|
|
244
|
+
const keys = Object.keys(keyValues) as Keys[];
|
|
245
|
+
const values = Object.values(keyValues);
|
|
246
|
+
|
|
247
|
+
if (values.filter((v) => v).length > 0) {
|
|
248
|
+
return withGradleProperties(config, (exportedConfig) => {
|
|
249
|
+
exportedConfig.modResults = exportedConfig.modResults.filter(
|
|
250
|
+
(item) =>
|
|
251
|
+
!(item.type === 'property' && (keys as string[]).includes(item.key)),
|
|
252
|
+
);
|
|
253
|
+
keys.forEach((key) => {
|
|
254
|
+
const value = keyValues[key];
|
|
255
|
+
if (value != null) {
|
|
256
|
+
exportedConfig.modResults.push({
|
|
257
|
+
type: 'property',
|
|
258
|
+
key: key,
|
|
259
|
+
value: value.toString(),
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
return exportedConfig;
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
return config;
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
const withAndroidProperties: ConfigPlugin<MapboxPlugProps> = (
|
|
272
|
+
config,
|
|
273
|
+
{
|
|
274
|
+
RNMapboxMapsImpl,
|
|
275
|
+
RNMapboxMapsDownloadToken,
|
|
276
|
+
RNMapboxMapsVersion,
|
|
277
|
+
RNMapboxMapsUseV11,
|
|
278
|
+
},
|
|
279
|
+
) => {
|
|
280
|
+
config = withAndroidPropertiesDownloadToken(config, {
|
|
281
|
+
RNMapboxMapsDownloadToken,
|
|
282
|
+
});
|
|
283
|
+
config = withAndroidPropertiesImpl2(config, {
|
|
284
|
+
RNMapboxMapsImpl,
|
|
285
|
+
RNMapboxMapsVersion,
|
|
286
|
+
RNMapboxMapsUseV11,
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
return config;
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
const addLibCppFilter = (appBuildGradle: string): string => {
|
|
293
|
+
if (appBuildGradle.includes("pickFirst 'lib/x86/libc++_shared.so'")) {
|
|
294
|
+
return appBuildGradle;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
return mergeContents({
|
|
298
|
+
tag: `@rnmapbox/maps-libcpp`,
|
|
299
|
+
src: appBuildGradle,
|
|
300
|
+
newSrc: `packagingOptions {
|
|
301
|
+
pickFirst 'lib/x86/libc++_shared.so'
|
|
302
|
+
pickFirst 'lib/x86_64/libc++_shared.so'
|
|
303
|
+
pickFirst 'lib/arm64-v8a/libc++_shared.so'
|
|
304
|
+
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
|
|
305
|
+
}`,
|
|
306
|
+
anchor: new RegExp(`^\\s*android\\s*{`),
|
|
307
|
+
offset: 1,
|
|
308
|
+
comment: '//',
|
|
309
|
+
}).contents;
|
|
310
|
+
};
|
|
311
|
+
|
|
312
|
+
// Because we need the package to be added AFTER the React and Google maven packages, we create a new allprojects.
|
|
313
|
+
// It's ok to have multiple allprojects.repositories, so we create a new one since it's cheaper than tokenizing
|
|
314
|
+
// the existing block to find the correct place to insert our mapbox maven.
|
|
315
|
+
const gradleMaven = `
|
|
316
|
+
allprojects {
|
|
317
|
+
repositories {
|
|
318
|
+
maven {
|
|
319
|
+
url 'https://api.mapbox.com/downloads/v2/releases/maven'
|
|
320
|
+
authentication { basic(BasicAuthentication) }
|
|
321
|
+
credentials {
|
|
322
|
+
username = 'mapbox'
|
|
323
|
+
password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: ""
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
`;
|
|
329
|
+
|
|
330
|
+
// Fork of config-plugins mergeContents, but appends the contents to the end of the file.
|
|
331
|
+
const appendContents = ({
|
|
332
|
+
src,
|
|
333
|
+
newSrc,
|
|
334
|
+
tag,
|
|
335
|
+
comment,
|
|
336
|
+
}: {
|
|
337
|
+
src: string;
|
|
338
|
+
newSrc: string;
|
|
339
|
+
tag: string;
|
|
340
|
+
comment: string;
|
|
341
|
+
}): MergeResults => {
|
|
342
|
+
const header = createGeneratedHeaderComment(newSrc, tag, comment);
|
|
343
|
+
|
|
344
|
+
if (!src.includes(header)) {
|
|
345
|
+
// Ensure the old generated contents are removed.
|
|
346
|
+
const sanitizedTarget = removeGeneratedContents(src, tag);
|
|
347
|
+
const contentsToAdd = [
|
|
348
|
+
// @something
|
|
349
|
+
header,
|
|
350
|
+
// contents
|
|
351
|
+
newSrc,
|
|
352
|
+
// @end
|
|
353
|
+
`${comment} @generated end ${tag}`,
|
|
354
|
+
].join('\n');
|
|
355
|
+
|
|
356
|
+
return {
|
|
357
|
+
contents: sanitizedTarget ?? src + contentsToAdd,
|
|
358
|
+
didMerge: true,
|
|
359
|
+
didClear: !!sanitizedTarget,
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
return { contents: src, didClear: false, didMerge: false };
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
export const addMapboxMavenRepo = (src: string): string =>
|
|
367
|
+
appendContents({
|
|
368
|
+
tag: '@rnmapbox/maps-v2-maven',
|
|
369
|
+
src,
|
|
370
|
+
newSrc: gradleMaven,
|
|
371
|
+
comment: '//',
|
|
372
|
+
}).contents;
|
|
373
|
+
|
|
374
|
+
const withAndroidAppGradle: ConfigPlugin<MapboxPlugProps> = (config) =>
|
|
375
|
+
withAppBuildGradle(config, ({ modResults, ...exportedConfig }) => {
|
|
376
|
+
if (modResults.language !== 'groovy') {
|
|
377
|
+
WarningAggregator.addWarningAndroid(
|
|
378
|
+
'withMapbox',
|
|
379
|
+
`Cannot automatically configure app build.gradle if it's not groovy`,
|
|
380
|
+
);
|
|
381
|
+
|
|
382
|
+
return { modResults, ...exportedConfig };
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
modResults.contents = addLibCppFilter(modResults.contents);
|
|
386
|
+
|
|
387
|
+
return { modResults, ...exportedConfig };
|
|
388
|
+
});
|
|
389
|
+
|
|
390
|
+
const withAndroidProjectGradle: ConfigPlugin<MapboxPlugProps> = (config) =>
|
|
391
|
+
withProjectBuildGradle(config, ({ modResults, ...exportedConfig }) => {
|
|
392
|
+
if (modResults.language !== 'groovy') {
|
|
393
|
+
WarningAggregator.addWarningAndroid(
|
|
394
|
+
'withMapbox',
|
|
395
|
+
`Cannot automatically configure app build.gradle if it's not groovy`,
|
|
396
|
+
);
|
|
397
|
+
|
|
398
|
+
return { modResults, ...exportedConfig };
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
modResults.contents = addMapboxMavenRepo(modResults.contents);
|
|
402
|
+
|
|
403
|
+
return { modResults, ...exportedConfig };
|
|
404
|
+
});
|
|
405
|
+
|
|
406
|
+
const withMapboxAndroid: ConfigPlugin<MapboxPlugProps> = (
|
|
407
|
+
config,
|
|
408
|
+
{
|
|
409
|
+
RNMapboxMapsImpl,
|
|
410
|
+
RNMapboxMapsDownloadToken,
|
|
411
|
+
RNMapboxMapsVersion,
|
|
412
|
+
RNMapboxMapsUseV11,
|
|
413
|
+
},
|
|
414
|
+
) => {
|
|
415
|
+
config = withAndroidProperties(config, {
|
|
416
|
+
RNMapboxMapsImpl,
|
|
417
|
+
RNMapboxMapsDownloadToken,
|
|
418
|
+
RNMapboxMapsVersion,
|
|
419
|
+
RNMapboxMapsUseV11,
|
|
420
|
+
});
|
|
421
|
+
config = withAndroidProjectGradle(config, { RNMapboxMapsImpl });
|
|
422
|
+
config = withAndroidAppGradle(config, { RNMapboxMapsImpl });
|
|
423
|
+
|
|
424
|
+
return config;
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
const withMapbox: ConfigPlugin<MapboxPlugProps> = (
|
|
428
|
+
config,
|
|
429
|
+
{
|
|
430
|
+
RNMapboxMapsImpl,
|
|
431
|
+
RNMapboxMapsVersion,
|
|
432
|
+
RNMapboxMapsDownloadToken,
|
|
433
|
+
RNMapboxMapsUseV11,
|
|
434
|
+
},
|
|
435
|
+
) => {
|
|
436
|
+
config = withMapboxAndroid(config, {
|
|
437
|
+
RNMapboxMapsImpl,
|
|
438
|
+
RNMapboxMapsVersion,
|
|
439
|
+
RNMapboxMapsUseV11,
|
|
440
|
+
RNMapboxMapsDownloadToken,
|
|
441
|
+
});
|
|
442
|
+
config = withCocoaPodsInstallerBlocks(config, {
|
|
443
|
+
RNMapboxMapsImpl,
|
|
444
|
+
RNMapboxMapsVersion,
|
|
445
|
+
RNMapboxMapsDownloadToken,
|
|
446
|
+
RNMapboxMapsUseV11,
|
|
447
|
+
});
|
|
448
|
+
|
|
449
|
+
return config;
|
|
450
|
+
};
|
|
451
|
+
|
|
452
|
+
export default createRunOncePlugin(withMapbox, pkg.name, pkg.version);
|
|
453
|
+
|
|
454
|
+
// TODO: export internal functions for testing purposes
|
|
455
|
+
export {
|
|
456
|
+
// the following methods accept a string and return a string
|
|
457
|
+
addMapboxMavenRepo as _addMapboxMavenRepo,
|
|
458
|
+
// addLibCppFilter as _addLibCppFilter,
|
|
459
|
+
// Following methods accept a config object
|
|
460
|
+
// withAndroidProperties as _withAndroidProperties,
|
|
461
|
+
// withAndroidPropertiesDownloadToken as _withAndroidPropertiesDownloadToken,
|
|
462
|
+
// withAndroidPropertiesImpl2 as _withAndroidPropertiesImpl2,
|
|
463
|
+
// withAndroidAppGradle as _withAndroidAppGradle,
|
|
464
|
+
// withAndroidProjectGradle as _withAndroidProjectGradle,
|
|
465
|
+
// withMapboxAndroid as _withMapboxAndroid,
|
|
466
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/RNMBXRasterSourceNativeComponent.ts"],"mappings":";;;;;;AACA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,
|
|
1
|
+
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/RNMBXRasterSourceNativeComponent.ts"],"mappings":";;;;;;AACA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAkB9E,IAAAG,+BAAsB,EACnC,mBACF,CAAC","ignoreList":[]}
|