From 26825a2690beec348f7003cbea43c9af196574d0 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Sat, 16 Nov 2024 15:29:55 +0100 Subject: [PATCH 01/22] refactor: rename javascript to src --- CONTRIBUTING.md | 2 +- __tests__/components/BackgroundLayer.test.js | 2 +- __tests__/components/Callout.test.js | 2 +- __tests__/components/Camera.test.tsx | 6 +- __tests__/components/CircleLayer.test.js | 2 +- __tests__/components/HeatmapLayer.test.js | 2 +- __tests__/components/Light.test.js | 2 +- __tests__/components/MapView.test.js | 2 +- __tests__/components/Style.test.js | 26 ++++----- __tests__/components/SymbolLayer.test.js | 2 +- __tests__/components/UserLocation.test.js | 8 +-- __tests__/interface.test.js | 2 +- .../modules/location/locationManager.test.js | 2 +- .../offline/OfflineCreatePackOptions.test.js | 2 +- __tests__/modules/offline/OfflinePack.test.js | 2 +- .../modules/offline/offlineManager.test.js | 4 +- .../modules/snapshot/SnapshotOptions.test.js | 2 +- .../modules/snapshot/snapshotManager.test.js | 2 +- __tests__/utils/BridgeValue.test.js | 2 +- .../animated/AnimatedCoordinatesArray.test.js | 6 +- __tests__/utils/filterUtils.test.js | 4 +- docs/Annotation.md | 2 +- docs/BackgroundLayer.md | 2 +- docs/Callout.md | 2 +- docs/Camera.md | 2 +- docs/CircleLayer.md | 2 +- docs/FillExtrusionLayer.md | 2 +- docs/FillLayer.md | 2 +- docs/HeadingIndicator.md | 2 +- docs/HeatmapLayer.md | 2 +- docs/ImageSource.md | 2 +- docs/Images.md | 2 +- docs/Light.md | 2 +- docs/LineLayer.md | 2 +- docs/MapView.md | 2 +- docs/MarkerView.md | 2 +- docs/NativeUserLocation.md | 2 +- docs/PointAnnotation.md | 2 +- docs/RasterLayer.md | 2 +- docs/RasterSource.md | 2 +- docs/ShapeSource.md | 2 +- docs/Style.md | 2 +- docs/SymbolLayer.md | 2 +- docs/UserLocation.md | 2 +- docs/VectorSource.md | 2 +- docs/coordinates.md | 2 +- docs/docs.json | 56 +++++++++---------- docs/location.md | 2 +- docs/offlineManager.md | 2 +- docs/snapshotManager.md | 2 +- jest.config.js | 2 +- package.json | 2 +- .../FillRasterLayer/IndoorBuilding.tsx | 3 +- .../SymbolCircleLayer/EarthQuakes.tsx | 13 ++--- .../src/examples/common/PulseCircleLayer.tsx | 2 +- scripts/codegen.ts | 2 +- scripts/utils/DocJSONBuilder.ts | 8 +-- {javascript => src}/MLNModule.ts | 0 {javascript => src}/Maplibre.ts | 0 {javascript => src}/components/Annotation.tsx | 0 .../components/BackgroundLayer.tsx | 0 {javascript => src}/components/Callout.tsx | 0 {javascript => src}/components/Camera.tsx | 0 .../components/CircleLayer.tsx | 0 .../components/FillExtrusionLayer.tsx | 0 {javascript => src}/components/FillLayer.tsx | 0 .../components/HeadingIndicator.tsx | 0 .../components/HeatmapLayer.tsx | 0 .../components/ImageSource.tsx | 0 {javascript => src}/components/Images.tsx | 0 {javascript => src}/components/Light.tsx | 0 {javascript => src}/components/LineLayer.tsx | 0 {javascript => src}/components/MapView.tsx | 0 {javascript => src}/components/MarkerView.tsx | 0 .../components/NativeUserLocation.tsx | 0 .../components/PointAnnotation.tsx | 0 .../components/RasterLayer.tsx | 0 .../components/RasterSource.tsx | 0 .../components/ShapeSource.tsx | 0 {javascript => src}/components/Style.tsx | 0 .../components/SymbolLayer.tsx | 0 .../components/UserLocation.tsx | 0 .../components/VectorSource.tsx | 0 {javascript => src}/hooks/useAbstractLayer.ts | 0 .../hooks/useAbstractSource.ts | 0 {javascript => src}/hooks/useNativeBridge.ts | 0 {javascript => src}/hooks/useNativeRef.ts | 0 {javascript => src}/hooks/useOnce.ts | 0 {javascript => src}/index.ts | 0 .../modules/location/locationManager.ts | 0 .../offline/OfflineCreatePackOptions.ts | 0 .../modules/offline/OfflinePack.ts | 0 .../modules/offline/offlineManager.ts | 0 .../modules/snapshot/SnapshotOptions.ts | 0 .../modules/snapshot/snapshotManager.ts | 0 .../requestAndroidLocationPermissions.ts | 0 {javascript => src}/types/BaseProps.ts | 0 {javascript => src}/types/CameraMode.ts | 0 {javascript => src}/types/OnPressEvent.ts | 0 {javascript => src}/types/index.ts | 0 {javascript => src}/utils/BridgeValue.ts | 0 {javascript => src}/utils/Logger.ts | 0 {javascript => src}/utils/MaplibreStyles.d.ts | 0 {javascript => src}/utils/StyleValue.ts | 0 .../animated/AbstractAnimatedCoordinates.ts | 0 .../utils/animated/Animated.ts | 0 .../animated/AnimatedCoordinatesArray.ts | 0 .../AnimatedExtractCoordinateFromArray.ts | 0 .../utils/animated/AnimatedPoint.ts | 0 .../animated/AnimatedRouteCoordinatesArray.ts | 0 .../utils/animated/AnimatedShape.ts | 0 {javascript => src}/utils/deprecation.ts | 0 {javascript => src}/utils/filterUtils.ts | 0 {javascript => src}/utils/index.ts | 0 {javascript => src}/utils/makeNativeBounds.ts | 0 {javascript => src}/utils/styleMap.ts | 0 tsconfig.json | 2 +- 117 files changed, 110 insertions(+), 120 deletions(-) rename {javascript => src}/MLNModule.ts (100%) rename {javascript => src}/Maplibre.ts (100%) rename {javascript => src}/components/Annotation.tsx (100%) rename {javascript => src}/components/BackgroundLayer.tsx (100%) rename {javascript => src}/components/Callout.tsx (100%) rename {javascript => src}/components/Camera.tsx (100%) rename {javascript => src}/components/CircleLayer.tsx (100%) rename {javascript => src}/components/FillExtrusionLayer.tsx (100%) rename {javascript => src}/components/FillLayer.tsx (100%) rename {javascript => src}/components/HeadingIndicator.tsx (100%) rename {javascript => src}/components/HeatmapLayer.tsx (100%) rename {javascript => src}/components/ImageSource.tsx (100%) rename {javascript => src}/components/Images.tsx (100%) rename {javascript => src}/components/Light.tsx (100%) rename {javascript => src}/components/LineLayer.tsx (100%) rename {javascript => src}/components/MapView.tsx (100%) rename {javascript => src}/components/MarkerView.tsx (100%) rename {javascript => src}/components/NativeUserLocation.tsx (100%) rename {javascript => src}/components/PointAnnotation.tsx (100%) rename {javascript => src}/components/RasterLayer.tsx (100%) rename {javascript => src}/components/RasterSource.tsx (100%) rename {javascript => src}/components/ShapeSource.tsx (100%) rename {javascript => src}/components/Style.tsx (100%) rename {javascript => src}/components/SymbolLayer.tsx (100%) rename {javascript => src}/components/UserLocation.tsx (100%) rename {javascript => src}/components/VectorSource.tsx (100%) rename {javascript => src}/hooks/useAbstractLayer.ts (100%) rename {javascript => src}/hooks/useAbstractSource.ts (100%) rename {javascript => src}/hooks/useNativeBridge.ts (100%) rename {javascript => src}/hooks/useNativeRef.ts (100%) rename {javascript => src}/hooks/useOnce.ts (100%) rename {javascript => src}/index.ts (100%) rename {javascript => src}/modules/location/locationManager.ts (100%) rename {javascript => src}/modules/offline/OfflineCreatePackOptions.ts (100%) rename {javascript => src}/modules/offline/OfflinePack.ts (100%) rename {javascript => src}/modules/offline/offlineManager.ts (100%) rename {javascript => src}/modules/snapshot/SnapshotOptions.ts (100%) rename {javascript => src}/modules/snapshot/snapshotManager.ts (100%) rename {javascript => src}/requestAndroidLocationPermissions.ts (100%) rename {javascript => src}/types/BaseProps.ts (100%) rename {javascript => src}/types/CameraMode.ts (100%) rename {javascript => src}/types/OnPressEvent.ts (100%) rename {javascript => src}/types/index.ts (100%) rename {javascript => src}/utils/BridgeValue.ts (100%) rename {javascript => src}/utils/Logger.ts (100%) rename {javascript => src}/utils/MaplibreStyles.d.ts (100%) rename {javascript => src}/utils/StyleValue.ts (100%) rename {javascript => src}/utils/animated/AbstractAnimatedCoordinates.ts (100%) rename {javascript => src}/utils/animated/Animated.ts (100%) rename {javascript => src}/utils/animated/AnimatedCoordinatesArray.ts (100%) rename {javascript => src}/utils/animated/AnimatedExtractCoordinateFromArray.ts (100%) rename {javascript => src}/utils/animated/AnimatedPoint.ts (100%) rename {javascript => src}/utils/animated/AnimatedRouteCoordinatesArray.ts (100%) rename {javascript => src}/utils/animated/AnimatedShape.ts (100%) rename {javascript => src}/utils/deprecation.ts (100%) rename {javascript => src}/utils/filterUtils.ts (100%) rename {javascript => src}/utils/index.ts (100%) rename {javascript => src}/utils/makeNativeBounds.ts (100%) rename {javascript => src}/utils/styleMap.ts (100%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ea5eedf00..ea372b624 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,7 +28,7 @@ Make sure to correctly configure your Editor following [this docs](https://yarnp The metro bundlers under [`/packages/react-native-app`](/packages/react-native-app) and [ `/packages/expo-app`](/packages/expo-app) is set up to use the libraries files under root. Which means, when you change something within [ -`/javascript/components/UserLocation.tsx`](/javascript/components/UserLocation.tsx) +`/src/components/UserLocation.tsx`](/src/components/UserLocation.tsx) it will be reflected in any scene in example that uses that component. TODO: A better overview of how we use jest, detox, etc. (issue #22) diff --git a/__tests__/components/BackgroundLayer.test.js b/__tests__/components/BackgroundLayer.test.js index 2c5dfa3b1..48c764500 100644 --- a/__tests__/components/BackgroundLayer.test.js +++ b/__tests__/components/BackgroundLayer.test.js @@ -1,7 +1,7 @@ import { render } from "@testing-library/react-native"; import React from "react"; -import BackgroundLayer from "../../javascript/components/BackgroundLayer"; +import BackgroundLayer from "../../src/components/BackgroundLayer"; describe("BackgroundLayer", () => { test("renders correctly with default props", () => { diff --git a/__tests__/components/Callout.test.js b/__tests__/components/Callout.test.js index ca1a55df7..9f27809dc 100644 --- a/__tests__/components/Callout.test.js +++ b/__tests__/components/Callout.test.js @@ -2,7 +2,7 @@ import { render } from "@testing-library/react-native"; import React from "react"; import { View } from "react-native"; -import Callout from "../../javascript/components/Callout"; +import Callout from "../../src/components/Callout"; describe("Callout", () => { test("renders with custom title", () => { diff --git a/__tests__/components/Camera.test.tsx b/__tests__/components/Camera.test.tsx index f03cfc3cc..588791e68 100644 --- a/__tests__/components/Camera.test.tsx +++ b/__tests__/components/Camera.test.tsx @@ -10,11 +10,11 @@ import Camera, { getNativeCameraMode, NativeCameraProps, UserTrackingMode, -} from "../../javascript/components/Camera"; -import { NativeRef } from "../../javascript/hooks/useNativeRef"; +} from "../../src/components/Camera"; +import { NativeRef } from "../../src/hooks/useNativeRef"; const mockCameraNativeRef = React.createRef>(); -jest.mock("../../javascript/hooks/useNativeRef", () => ({ +jest.mock("../../src/hooks/useNativeRef", () => ({ useNativeRef: () => { return mockCameraNativeRef; }, diff --git a/__tests__/components/CircleLayer.test.js b/__tests__/components/CircleLayer.test.js index 86746e7b1..e76952cdc 100644 --- a/__tests__/components/CircleLayer.test.js +++ b/__tests__/components/CircleLayer.test.js @@ -1,7 +1,7 @@ import { render } from "@testing-library/react-native"; import React from "react"; -import CircleLayer from "../../javascript/components/CircleLayer"; +import CircleLayer from "../../src/components/CircleLayer"; describe("CircleLayer", () => { test("renders correctly with default props", () => { diff --git a/__tests__/components/HeatmapLayer.test.js b/__tests__/components/HeatmapLayer.test.js index 7b3388ec9..e866c010b 100644 --- a/__tests__/components/HeatmapLayer.test.js +++ b/__tests__/components/HeatmapLayer.test.js @@ -1,7 +1,7 @@ import { render } from "@testing-library/react-native"; import React from "react"; -import HeatmapLayer from "../../javascript/components/HeatmapLayer"; +import HeatmapLayer from "../../src/components/HeatmapLayer"; describe("HeatmapLayer", () => { test("renders correctly with default props", () => { diff --git a/__tests__/components/Light.test.js b/__tests__/components/Light.test.js index 6e567a66b..79d22854c 100644 --- a/__tests__/components/Light.test.js +++ b/__tests__/components/Light.test.js @@ -1,7 +1,7 @@ import { render } from "@testing-library/react-native"; import React from "react"; -import Light from "../../javascript/components/Light"; +import Light from "../../src/components/Light"; describe("Light", () => { test("renders correctly", () => { diff --git a/__tests__/components/MapView.test.js b/__tests__/components/MapView.test.js index 0877e49e8..3e9b972dc 100644 --- a/__tests__/components/MapView.test.js +++ b/__tests__/components/MapView.test.js @@ -1,7 +1,7 @@ import { render } from "@testing-library/react-native"; import * as React from "react"; -import MapView from "../../javascript/components/MapView"; +import MapView from "../../src/components/MapView"; describe("MapView", () => { test("renders with testID", () => { diff --git a/__tests__/components/Style.test.js b/__tests__/components/Style.test.js index fd204912d..72beb79ba 100644 --- a/__tests__/components/Style.test.js +++ b/__tests__/components/Style.test.js @@ -1,19 +1,19 @@ import { render } from "@testing-library/react-native"; import React from "react"; -import BackgroundLayer from "../../javascript/components/BackgroundLayer"; -import CircleLayer from "../../javascript/components/CircleLayer"; -import FillExtrusionLayer from "../../javascript/components/FillExtrusionLayer"; -import FillLayer from "../../javascript/components/FillLayer"; -import HeatmapLayer from "../../javascript/components/HeatmapLayer"; -import ImageSource from "../../javascript/components/ImageSource"; -import LineLayer from "../../javascript/components/LineLayer"; -import RasterLayer from "../../javascript/components/RasterLayer"; -import RasterSource from "../../javascript/components/RasterSource"; -import ShapeSource from "../../javascript/components/ShapeSource"; -import Style from "../../javascript/components/Style"; -import SymbolLayer from "../../javascript/components/SymbolLayer"; -import VectorSource from "../../javascript/components/VectorSource"; +import BackgroundLayer from "../../src/components/BackgroundLayer"; +import CircleLayer from "../../src/components/CircleLayer"; +import FillExtrusionLayer from "../../src/components/FillExtrusionLayer"; +import FillLayer from "../../src/components/FillLayer"; +import HeatmapLayer from "../../src/components/HeatmapLayer"; +import ImageSource from "../../src/components/ImageSource"; +import LineLayer from "../../src/components/LineLayer"; +import RasterLayer from "../../src/components/RasterLayer"; +import RasterSource from "../../src/components/RasterSource"; +import ShapeSource from "../../src/components/ShapeSource"; +import Style from "../../src/components/Style"; +import SymbolLayer from "../../src/components/SymbolLayer"; +import VectorSource from "../../src/components/VectorSource"; describe("Style", () => { test("renders vectory source correctly", () => { diff --git a/__tests__/components/SymbolLayer.test.js b/__tests__/components/SymbolLayer.test.js index b669fffc1..56e1c743c 100644 --- a/__tests__/components/SymbolLayer.test.js +++ b/__tests__/components/SymbolLayer.test.js @@ -3,7 +3,7 @@ import React from "react"; import SymbolLayer, { NATIVE_MODULE_NAME, -} from "../../javascript/components/SymbolLayer"; +} from "../../src/components/SymbolLayer"; describe("SymbolLayer", () => { test("renders correctly with default props", () => { diff --git a/__tests__/components/UserLocation.test.js b/__tests__/components/UserLocation.test.js index 2cf9fd1b1..413f4a1e5 100644 --- a/__tests__/components/UserLocation.test.js +++ b/__tests__/components/UserLocation.test.js @@ -1,10 +1,10 @@ import { render, fireEvent, waitFor } from "@testing-library/react-native"; import React from "react"; -import CircleLayer from "../../javascript/components/CircleLayer"; -import ShapeSource from "../../javascript/components/ShapeSource"; -import UserLocation from "../../javascript/components/UserLocation"; -import locationManager from "../../javascript/modules/location/locationManager"; +import CircleLayer from "../../src/components/CircleLayer"; +import ShapeSource from "../../src/components/ShapeSource"; +import UserLocation from "../../src/components/UserLocation"; +import locationManager from "../../src/modules/location/locationManager"; const position = { coords: { diff --git a/__tests__/interface.test.js b/__tests__/interface.test.js index e179547cc..71fe35f2d 100644 --- a/__tests__/interface.test.js +++ b/__tests__/interface.test.js @@ -1,4 +1,4 @@ -import MapLibreGL from "../javascript"; +import MapLibreGL from "../src"; // Assert that all required Maplibre modules are accessible and exported describe("Public Interface", () => { diff --git a/__tests__/modules/location/locationManager.test.js b/__tests__/modules/location/locationManager.test.js index f7395f76d..befe8822c 100644 --- a/__tests__/modules/location/locationManager.test.js +++ b/__tests__/modules/location/locationManager.test.js @@ -2,7 +2,7 @@ import { NativeModules } from "react-native"; import LocationManager, { LocationModuleEventEmitter, -} from "../../../javascript/modules/location/locationManager"; +} from "../../../src/modules/location/locationManager"; const MapLibreGL = NativeModules.MLNModule; const MapLibreGLLocationManager = NativeModules.MLNLocationModule; diff --git a/__tests__/modules/offline/OfflineCreatePackOptions.test.js b/__tests__/modules/offline/OfflineCreatePackOptions.test.js index 82c85fe0f..f533bdf23 100644 --- a/__tests__/modules/offline/OfflineCreatePackOptions.test.js +++ b/__tests__/modules/offline/OfflineCreatePackOptions.test.js @@ -1,6 +1,6 @@ import { featureCollection, point } from "@turf/helpers"; -import OfflineCreatePackOptions from "../../../javascript/modules/offline/OfflineCreatePackOptions"; +import OfflineCreatePackOptions from "../../../src/modules/offline/OfflineCreatePackOptions"; describe("OfflineCreatePackOptions", () => { const options = { diff --git a/__tests__/modules/offline/OfflinePack.test.js b/__tests__/modules/offline/OfflinePack.test.js index 5ebd9b59c..effc9695e 100644 --- a/__tests__/modules/offline/OfflinePack.test.js +++ b/__tests__/modules/offline/OfflinePack.test.js @@ -1,6 +1,6 @@ import { NativeModules } from "react-native"; -import OfflinePack from "../../../javascript/modules/offline/OfflinePack"; +import OfflinePack from "../../../src/modules/offline/OfflinePack"; describe("OfflinePack", () => { const fakeNativePack = { diff --git a/__tests__/modules/offline/offlineManager.test.js b/__tests__/modules/offline/offlineManager.test.js index b13ca7087..93cb294af 100644 --- a/__tests__/modules/offline/offlineManager.test.js +++ b/__tests__/modules/offline/offlineManager.test.js @@ -1,7 +1,7 @@ import { NativeModules, Platform } from "react-native"; -import MapLibreGL from "../../../javascript"; -import { OfflineModuleEventEmitter } from "../../../javascript/modules/offline/offlineManager"; +import MapLibreGL from "../../../src"; +import { OfflineModuleEventEmitter } from "../../../src/modules/offline/offlineManager"; describe("offlineManager", () => { const packOptions = { diff --git a/__tests__/modules/snapshot/SnapshotOptions.test.js b/__tests__/modules/snapshot/SnapshotOptions.test.js index 68fd1c75e..fab768d91 100644 --- a/__tests__/modules/snapshot/SnapshotOptions.test.js +++ b/__tests__/modules/snapshot/SnapshotOptions.test.js @@ -1,7 +1,7 @@ import { featureCollection, point } from "@turf/helpers"; import { NativeModules } from "react-native"; -import SnapshotOptions from "../../../javascript/modules/snapshot/SnapshotOptions"; +import SnapshotOptions from "../../../src/modules/snapshot/SnapshotOptions"; describe("SnapshotOptions", () => { it("should throw error if no centerCoordinate or bounds are provided", () => { diff --git a/__tests__/modules/snapshot/snapshotManager.test.js b/__tests__/modules/snapshot/snapshotManager.test.js index 6b95f7cd9..076db9794 100644 --- a/__tests__/modules/snapshot/snapshotManager.test.js +++ b/__tests__/modules/snapshot/snapshotManager.test.js @@ -1,4 +1,4 @@ -import MapLibreGL from "../../../javascript"; +import MapLibreGL from "../../../src"; describe("snapshotManager", () => { it("should resolve uri", async () => { diff --git a/__tests__/utils/BridgeValue.test.js b/__tests__/utils/BridgeValue.test.js index 63b88ead1..99e3516b4 100644 --- a/__tests__/utils/BridgeValue.test.js +++ b/__tests__/utils/BridgeValue.test.js @@ -1,4 +1,4 @@ -import BridgeValue from "../../javascript/utils/BridgeValue"; +import BridgeValue from "../../src/utils/BridgeValue"; describe("BridgeValue", () => { it("should convert to array of numbers", () => { diff --git a/__tests__/utils/animated/AnimatedCoordinatesArray.test.js b/__tests__/utils/animated/AnimatedCoordinatesArray.test.js index 1a28a0e9d..fd48f6836 100644 --- a/__tests__/utils/animated/AnimatedCoordinatesArray.test.js +++ b/__tests__/utils/animated/AnimatedCoordinatesArray.test.js @@ -3,9 +3,9 @@ import React from "react"; import { Animated, Easing } from "react-native"; import TestRenderer from "react-test-renderer"; -import ShapeSource from "../../../javascript/components/ShapeSource"; -import AnimatedCoordinatesArray from "../../../javascript/utils/animated/AnimatedCoordinatesArray"; -import AnimatedShape from "../../../javascript/utils/animated/AnimatedShape"; +import ShapeSource from "../../../src/components/ShapeSource"; +import AnimatedCoordinatesArray from "../../../src/utils/animated/AnimatedCoordinatesArray"; +import AnimatedShape from "../../../src/utils/animated/AnimatedShape"; let clock = null; let oldNodeEnv = null; diff --git a/__tests__/utils/filterUtils.test.js b/__tests__/utils/filterUtils.test.js index c00301da1..91f02c131 100644 --- a/__tests__/utils/filterUtils.test.js +++ b/__tests__/utils/filterUtils.test.js @@ -1,5 +1,5 @@ -import BridgeValue from "../../javascript/utils/BridgeValue"; -import { getFilter } from "../../javascript/utils/filterUtils"; +import BridgeValue from "../../src/utils/BridgeValue"; +import { getFilter } from "../../src/utils/filterUtils"; const FilterItem = BridgeValue; diff --git a/docs/Annotation.md b/docs/Annotation.md index 04b9f0274..35044f9e0 100644 --- a/docs/Annotation.md +++ b/docs/Annotation.md @@ -1,5 +1,5 @@ - + # `` diff --git a/docs/BackgroundLayer.md b/docs/BackgroundLayer.md index 7e9763acc..7dc6b6a4a 100644 --- a/docs/BackgroundLayer.md +++ b/docs/BackgroundLayer.md @@ -1,5 +1,5 @@ - + # `` diff --git a/docs/Callout.md b/docs/Callout.md index 8ae784a1b..28a6c34a1 100644 --- a/docs/Callout.md +++ b/docs/Callout.md @@ -1,5 +1,5 @@ - + # `` Callout that displays information about a selected annotation near the annotation. diff --git a/docs/Camera.md b/docs/Camera.md index fe924a6b4..18d86e6c1 100644 --- a/docs/Camera.md +++ b/docs/Camera.md @@ -1,5 +1,5 @@ - + # `` diff --git a/docs/CircleLayer.md b/docs/CircleLayer.md index 2710899cd..be10f5a44 100644 --- a/docs/CircleLayer.md +++ b/docs/CircleLayer.md @@ -1,5 +1,5 @@ - + # `` CircleLayer is a style layer that renders one or more filled circles on the map. diff --git a/docs/FillExtrusionLayer.md b/docs/FillExtrusionLayer.md index 972426841..a15517e2d 100644 --- a/docs/FillExtrusionLayer.md +++ b/docs/FillExtrusionLayer.md @@ -1,5 +1,5 @@ - + # `` FillExtrusionLayer is a style layer that renders one or more 3D extruded polygons on the map. diff --git a/docs/FillLayer.md b/docs/FillLayer.md index c691bb2be..25a86f4ba 100644 --- a/docs/FillLayer.md +++ b/docs/FillLayer.md @@ -1,5 +1,5 @@ - + # `` FillLayer is a style layer that renders one or more filled (and optionally stroked) polygons on the map. diff --git a/docs/HeadingIndicator.md b/docs/HeadingIndicator.md index 0f29abe4b..9aa8d5661 100644 --- a/docs/HeadingIndicator.md +++ b/docs/HeadingIndicator.md @@ -1,5 +1,5 @@ - + # `` diff --git a/docs/HeatmapLayer.md b/docs/HeatmapLayer.md index e1b6a8fc5..41735e2de 100644 --- a/docs/HeatmapLayer.md +++ b/docs/HeatmapLayer.md @@ -1,5 +1,5 @@ - + # `` HeatmapLayer is a style layer that renders one or more filled circles on the map. diff --git a/docs/ImageSource.md b/docs/ImageSource.md index 7b57a6a06..da1d2227b 100644 --- a/docs/ImageSource.md +++ b/docs/ImageSource.md @@ -1,5 +1,5 @@ - + # `` ImageSource is a content source that is used for a georeferenced raster image to be shown on the map.
The georeferenced image scales and rotates as the user zooms and rotates the map diff --git a/docs/Images.md b/docs/Images.md index 8406e5adc..355b212db 100644 --- a/docs/Images.md +++ b/docs/Images.md @@ -1,5 +1,5 @@ - + # `` Images defines the images used in Symbol etc layers diff --git a/docs/Light.md b/docs/Light.md index f2db63601..6cd125a07 100644 --- a/docs/Light.md +++ b/docs/Light.md @@ -1,5 +1,5 @@ - + # `` Light represents the light source for extruded geometries diff --git a/docs/LineLayer.md b/docs/LineLayer.md index b2c7fd078..a29318a6e 100644 --- a/docs/LineLayer.md +++ b/docs/LineLayer.md @@ -1,5 +1,5 @@ - + # `` LineLayer is a style layer that renders one or more stroked polylines on the map. diff --git a/docs/MapView.md b/docs/MapView.md index 9c8bda275..f2a631b95 100644 --- a/docs/MapView.md +++ b/docs/MapView.md @@ -1,5 +1,5 @@ - + # `` MapView backed by MapLibre Native diff --git a/docs/MarkerView.md b/docs/MarkerView.md index eb93e0af4..e4d026c97 100644 --- a/docs/MarkerView.md +++ b/docs/MarkerView.md @@ -1,5 +1,5 @@ - + # `` MarkerView allows you to place a interactive react native marker to the map.

If you have static view consider using PointAnnotation or SymbolLayer they'll offer much better performance
.
This is based on [MakerView plugin](https://docs.mapbox.com/android/plugins/overview/markerview/) on Android
and PointAnnotation on iOS. diff --git a/docs/NativeUserLocation.md b/docs/NativeUserLocation.md index a25195ca0..9253fcc6c 100644 --- a/docs/NativeUserLocation.md +++ b/docs/NativeUserLocation.md @@ -1,5 +1,5 @@ - + # `` diff --git a/docs/PointAnnotation.md b/docs/PointAnnotation.md index 903b97b06..d2b34b467 100644 --- a/docs/PointAnnotation.md +++ b/docs/PointAnnotation.md @@ -1,5 +1,5 @@ - + # `` PointAnnotation represents a one-dimensional shape located at a single geographical coordinate.

Consider using ShapeSource and SymbolLayer instead, if you have many points and you have static images,
they'll offer much better performance

.
If you need interctive views please use MarkerView,
as with PointAnnotation on Android child views are rendered onto a bitmap for better performance. diff --git a/docs/RasterLayer.md b/docs/RasterLayer.md index 458dcbbb0..68fd1c086 100644 --- a/docs/RasterLayer.md +++ b/docs/RasterLayer.md @@ -1,5 +1,5 @@ - + # `` diff --git a/docs/RasterSource.md b/docs/RasterSource.md index 90dbc4828..b2777017b 100644 --- a/docs/RasterSource.md +++ b/docs/RasterSource.md @@ -1,5 +1,5 @@ - + # `` RasterSource is a map content source that supplies raster image tiles to be shown on the map.
The location of and metadata about the tiles are defined either by an option dictionary
or by an external file that conforms to the TileJSON specification. diff --git a/docs/ShapeSource.md b/docs/ShapeSource.md index 285cafd70..f72b5bce7 100644 --- a/docs/ShapeSource.md +++ b/docs/ShapeSource.md @@ -1,5 +1,5 @@ - + # `` ShapeSource is a map content source that supplies vector shapes to be shown on the map.
The shape may be a url or a GeoJSON object diff --git a/docs/Style.md b/docs/Style.md index 4a1a77217..69686edf8 100644 --- a/docs/Style.md +++ b/docs/Style.md @@ -1,5 +1,5 @@ - + # `` Style is a component that automatically adds sources / layers to the map using MapLibre Style Spec.
Only [`sources`](https://maplibre.org/maplibre-gl-js-docs/style-spec/sources/) & [`layers`](https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/) are supported.
Other fields such as `sprites`, `glyphs` etc. will be ignored. Not all layer / source attributes from the style spec are supported, in general the supported attributes will be mentioned under https://github.com/maplibre/maplibre-react-native/tree/main/docs.

TODO: Maintainer forking this project does not understand the above comment regarding what is supported. diff --git a/docs/SymbolLayer.md b/docs/SymbolLayer.md index 6772aacf5..07f02bc00 100644 --- a/docs/SymbolLayer.md +++ b/docs/SymbolLayer.md @@ -1,5 +1,5 @@ - + # `` SymbolLayer is a style layer that renders icon and text labels at points or along lines on the map. diff --git a/docs/UserLocation.md b/docs/UserLocation.md index 2b4fd9a79..aa23b777e 100644 --- a/docs/UserLocation.md +++ b/docs/UserLocation.md @@ -1,5 +1,5 @@ - + # `` diff --git a/docs/VectorSource.md b/docs/VectorSource.md index 16393244d..80548e682 100644 --- a/docs/VectorSource.md +++ b/docs/VectorSource.md @@ -1,5 +1,5 @@ - + # `` VectorSource is a map content source that supplies tiled vector data in Mapbox Vector Tile format to be shown on the map.
The location of and metadata about the tiles are defined either by an option dictionary or by an external file that conforms to the TileJSON specification. diff --git a/docs/coordinates.md b/docs/coordinates.md index 36c9b04f2..a39d32557 100644 --- a/docs/coordinates.md +++ b/docs/coordinates.md @@ -1,5 +1,5 @@ - + # `` Coorinates sent by locationManager diff --git a/docs/docs.json b/docs/docs.json index 9eb698217..779d92ee7 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -81,7 +81,7 @@ "description": "FIX ME NO DESCRIPTION" } ], - "filePath": "javascript/components/Annotation.tsx", + "filePath": "src/components/Annotation.tsx", "name": "Annotation" }, "BackgroundLayer": { @@ -108,7 +108,7 @@ "BaseProps", "BaseLayerProps" ], - "filePath": "javascript/components/BackgroundLayer.tsx", + "filePath": "src/components/BackgroundLayer.tsx", "name": "BackgroundLayer", "styles": [ { @@ -237,7 +237,7 @@ "composes": [ "Omit" ], - "filePath": "javascript/components/Callout.tsx", + "filePath": "src/components/Callout.tsx", "name": "Callout" }, "Camera": { @@ -547,7 +547,7 @@ "composes": [ "BaseProps" ], - "filePath": "javascript/components/Camera.tsx", + "filePath": "src/components/Camera.tsx", "name": "Camera" }, "CircleLayer": { @@ -574,7 +574,7 @@ "BaseProps", "BaseLayerProps" ], - "filePath": "javascript/components/CircleLayer.tsx", + "filePath": "src/components/CircleLayer.tsx", "name": "CircleLayer", "styles": [ { @@ -877,7 +877,7 @@ "BaseProps", "BaseLayerProps" ], - "filePath": "javascript/components/FillExtrusionLayer.tsx", + "filePath": "src/components/FillExtrusionLayer.tsx", "name": "FillExtrusionLayer", "styles": [ { @@ -1091,7 +1091,7 @@ "BaseProps", "BaseLayerProps" ], - "filePath": "javascript/components/FillLayer.tsx", + "filePath": "src/components/FillLayer.tsx", "name": "FillLayer", "styles": [ { @@ -1290,7 +1290,7 @@ "composes": [ "BaseProps" ], - "filePath": "javascript/components/HeadingIndicator.tsx", + "filePath": "src/components/HeadingIndicator.tsx", "name": "HeadingIndicator" }, "HeatmapLayer": { @@ -1317,7 +1317,7 @@ "BaseProps", "BaseLayerProps" ], - "filePath": "javascript/components/HeatmapLayer.tsx", + "filePath": "src/components/HeatmapLayer.tsx", "name": "HeatmapLayer", "styles": [ { @@ -1493,7 +1493,7 @@ "composes": [ "BaseProps" ], - "filePath": "javascript/components/ImageSource.tsx", + "filePath": "src/components/ImageSource.tsx", "name": "ImageSource" }, "Images": { @@ -1546,7 +1546,7 @@ "composes": [ "BaseProps" ], - "filePath": "javascript/components/Images.tsx", + "filePath": "src/components/Images.tsx", "name": "Images" }, "Light": { @@ -1566,7 +1566,7 @@ "BaseProps", "BaseLayerProps" ], - "filePath": "javascript/components/Light.tsx", + "filePath": "src/components/Light.tsx", "name": "Light", "styles": [ { @@ -1678,7 +1678,7 @@ "BaseProps", "BaseLayerProps" ], - "filePath": "javascript/components/LineLayer.tsx", + "filePath": "src/components/LineLayer.tsx", "name": "LineLayer", "styles": [ { @@ -2558,7 +2558,7 @@ "composes": [ "BaseProps" ], - "filePath": "javascript/components/MapView.tsx", + "filePath": "src/components/MapView.tsx", "name": "MapView" }, "MarkerView": { @@ -2623,7 +2623,7 @@ "composes": [ "ViewProps" ], - "filePath": "javascript/components/MarkerView.tsx", + "filePath": "src/components/MarkerView.tsx", "name": "MarkerView" }, "NativeUserLocation": { @@ -2653,7 +2653,7 @@ "description": "Android only. Set max FPS at which location animators can output updates. Use this setting to limit animation rate of the location puck on higher zoom levels to decrease the stress on the device's CPU which can directly improve battery life, without sacrificing UX." } ], - "filePath": "javascript/components/NativeUserLocation.tsx", + "filePath": "src/components/NativeUserLocation.tsx", "name": "NativeUserLocation" }, "PointAnnotation": { @@ -2757,7 +2757,7 @@ "description": "FIX ME NO DESCRIPTION" } ], - "filePath": "javascript/components/PointAnnotation.tsx", + "filePath": "src/components/PointAnnotation.tsx", "name": "PointAnnotation" }, "RasterLayer": { @@ -2784,7 +2784,7 @@ "BaseProps", "BaseLayerProps" ], - "filePath": "javascript/components/RasterLayer.tsx", + "filePath": "src/components/RasterLayer.tsx", "name": "RasterLayer", "styles": [ { @@ -3037,7 +3037,7 @@ "composes": [ "BaseProps" ], - "filePath": "javascript/components/RasterSource.tsx", + "filePath": "src/components/RasterSource.tsx", "name": "RasterSource" }, "ShapeSource": { @@ -3345,7 +3345,7 @@ "composes": [ "BaseProps" ], - "filePath": "javascript/components/ShapeSource.tsx", + "filePath": "src/components/ShapeSource.tsx", "name": "ShapeSource" }, "Style": { @@ -3361,7 +3361,7 @@ "description": "A JSON object conforming to the schema described in the MapLibre Style Specification, or a URL to such JSON." } ], - "filePath": "javascript/components/Style.tsx", + "filePath": "src/components/Style.tsx", "name": "Style" }, "SymbolLayer": { @@ -3395,7 +3395,7 @@ "BaseProps", "BaseLayerProps" ], - "filePath": "javascript/components/SymbolLayer.tsx", + "filePath": "src/components/SymbolLayer.tsx", "name": "SymbolLayer", "styles": [ { @@ -4846,7 +4846,7 @@ "description": "Custom location icon of type mapbox-gl-native components\n\nNOTE: Forking maintainer does not understand the above comment." } ], - "filePath": "javascript/components/UserLocation.tsx", + "filePath": "src/components/UserLocation.tsx", "name": "UserLocation" }, "VectorSource": { @@ -5009,12 +5009,12 @@ "composes": [ "BaseProps" ], - "filePath": "javascript/components/VectorSource.tsx", + "filePath": "src/components/VectorSource.tsx", "name": "VectorSource" }, "coordinates": { "name": "coordinates", - "filePath": "javascript/modules/location/locationManager.ts", + "filePath": "src/modules/location/locationManager.ts", "description": "Coorinates sent by locationManager", "props": [], "styles": [], @@ -5022,7 +5022,7 @@ }, "location": { "name": "location", - "filePath": "javascript/modules/location/locationManager.ts", + "filePath": "src/modules/location/locationManager.ts", "description": "Location sent by locationManager", "props": [], "styles": [], @@ -5030,7 +5030,7 @@ }, "offlineManager": { "name": "offlineManager", - "filePath": "javascript/modules/offline/offlineManager.ts", + "filePath": "src/modules/offline/offlineManager.ts", "description": "OfflineManager implements a singleton (shared object) that manages offline packs.\nAll of this class’s instance methods are asynchronous, reflecting the fact that offline resources are stored in a database.\nThe shared object maintains a canonical collection of offline packs.", "props": [], "styles": [], @@ -5357,7 +5357,7 @@ }, "snapshotManager": { "name": "snapshotManager", - "filePath": "javascript/modules/snapshot/snapshotManager.ts", + "filePath": "src/modules/snapshot/snapshotManager.ts", "description": "The snapshotManager generates static raster images of the map.\nEach snapshot image depicts a portion of a map defined by an SnapshotOptions object you provide.\nThe snapshotter generates the snapshot asynchronous.", "props": [], "styles": [], diff --git a/docs/location.md b/docs/location.md index ba2258c12..96b59b368 100644 --- a/docs/location.md +++ b/docs/location.md @@ -1,5 +1,5 @@ - + # `` Location sent by locationManager diff --git a/docs/offlineManager.md b/docs/offlineManager.md index 9da6dde4f..5b6f74bf3 100644 --- a/docs/offlineManager.md +++ b/docs/offlineManager.md @@ -1,5 +1,5 @@ - + # `` OfflineManager implements a singleton (shared object) that manages offline packs.
All of this class’s instance methods are asynchronous, reflecting the fact that offline resources are stored in a database.
The shared object maintains a canonical collection of offline packs. diff --git a/docs/snapshotManager.md b/docs/snapshotManager.md index d343b869e..4b55e6213 100644 --- a/docs/snapshotManager.md +++ b/docs/snapshotManager.md @@ -1,5 +1,5 @@ - + # `` The snapshotManager generates static raster images of the map.
Each snapshot image depicts a portion of a map defined by an SnapshotOptions object you provide.
The snapshotter generates the snapshot asynchronous. diff --git a/jest.config.js b/jest.config.js index b735c7cba..13ffaa08c 100644 --- a/jest.config.js +++ b/jest.config.js @@ -4,5 +4,5 @@ module.exports = { setupFilesAfterEnv: ["./jest-setup.ts"], setupFiles: ["./__tests__/__mocks__/react-native.mock.js"], modulePathIgnorePatterns: ["__tests__/__mocks__", "fixtures"], - collectCoverageFrom: ["javascript/**/*.{ts,tsx,js,jsx}"], + collectCoverageFrom: ["src/**/*.{ts,tsx,js,jsx}"], }; diff --git a/package.json b/package.json index bdfd5c817..85d3ec1ec 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "access": "public" }, "author": "MapLibre", - "main": "./javascript/index.ts", + "main": "src/index.ts", "keywords": [ "maps", "ios", diff --git a/packages/examples/src/examples/FillRasterLayer/IndoorBuilding.tsx b/packages/examples/src/examples/FillRasterLayer/IndoorBuilding.tsx index ed6fc8d3e..9f00c735b 100755 --- a/packages/examples/src/examples/FillRasterLayer/IndoorBuilding.tsx +++ b/packages/examples/src/examples/FillRasterLayer/IndoorBuilding.tsx @@ -1,14 +1,13 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; import React, { useState } from "react"; -import { FillExtrusionLayerStyle } from "../../../../../javascript"; import indoorMapGeoJSON from "../../assets/indoor_3d_map.json"; import sheet from "../../styles/sheet"; import TabBarPage from "../common/TabBarPage"; const OPTIONS = [-180, -90, 0, 90, 180]; -const layerStyles: { building: FillExtrusionLayerStyle } = { +const layerStyles: { building: MapLibreGL.FillExtrusionLayerStyle } = { building: { fillExtrusionOpacity: 0.5, fillExtrusionHeight: ["get", "height"], diff --git a/packages/examples/src/examples/SymbolCircleLayer/EarthQuakes.tsx b/packages/examples/src/examples/SymbolCircleLayer/EarthQuakes.tsx index 41c028638..09952ca60 100755 --- a/packages/examples/src/examples/SymbolCircleLayer/EarthQuakes.tsx +++ b/packages/examples/src/examples/SymbolCircleLayer/EarthQuakes.tsx @@ -12,11 +12,6 @@ import { } from "react-native"; import { SafeAreaProvider, SafeAreaView } from "react-native-safe-area-context"; -import { - CircleLayerStyle, - ShapeSourceRef, - SymbolLayerStyle, -} from "../../../../../javascript"; import earthQuakesJSON from "../../assets/earthquakes.json"; import colors from "../../styles/colors"; import sheet from "../../styles/sheet"; @@ -24,9 +19,9 @@ import { SF_OFFICE_COORDINATE } from "../../utils"; import Page from "../common/Page"; const layerStyles: { - singlePoint: CircleLayerStyle; - clusteredPoints: CircleLayerStyle; - clusterCount: SymbolLayerStyle; + singlePoint: MapLibreGL.CircleLayerStyle; + clusteredPoints: MapLibreGL.CircleLayerStyle; + clusterCount: MapLibreGL.SymbolLayerStyle; } = { singlePoint: { circleColor: "green", @@ -122,7 +117,7 @@ const mag4 = ["all", [">=", ["get", "mag"], 4], ["<", ["get", "mag"], 5]]; const mag5 = [">=", ["get", "mag"], 5]; export default function EarthQuakes() { - const shapeSource = useRef(null); + const shapeSource = useRef(null); const [cluster, setCluster] = useState(); return ( diff --git a/packages/examples/src/examples/common/PulseCircleLayer.tsx b/packages/examples/src/examples/common/PulseCircleLayer.tsx index dfcd0b807..7d1e2a8db 100755 --- a/packages/examples/src/examples/common/PulseCircleLayer.tsx +++ b/packages/examples/src/examples/common/PulseCircleLayer.tsx @@ -1,5 +1,5 @@ import MapLibreGL, { CircleLayerStyle } from "@maplibre/maplibre-react-native"; -import { ShapeSourceProps } from "@maplibre/maplibre-react-native/javascript/components/ShapeSource"; +import { ShapeSourceProps } from "@maplibre/maplibre-react-native/src/components/ShapeSource"; import React, { useEffect, useRef } from "react"; import { Animated } from "react-native"; diff --git a/scripts/codegen.ts b/scripts/codegen.ts index db2416d46..1869fa437 100644 --- a/scripts/codegen.ts +++ b/scripts/codegen.ts @@ -32,7 +32,7 @@ const ANDROID_OUTPUT_PATH = path.join( "styles", ); -const JS_OUTPUT_PATH = path.join(__dirname, "..", "javascript", "utils"); +const JS_OUTPUT_PATH = path.join(__dirname, "..", "src", "utils"); const TEMPLATE_MAPPINGS = [ { diff --git a/scripts/utils/DocJSONBuilder.ts b/scripts/utils/DocJSONBuilder.ts index d9801c5d8..d40f4ca65 100644 --- a/scripts/utils/DocJSONBuilder.ts +++ b/scripts/utils/DocJSONBuilder.ts @@ -9,12 +9,8 @@ import { pascalCase } from "./TemplateHelpers"; const WORKSPACE_ROOT = path.join(__dirname, "..", ".."); -const COMPONENT_DIRECTORY = path.join( - WORKSPACE_ROOT, - "javascript", - "components", -); -const MODULES_DIRECTORY = path.join(WORKSPACE_ROOT, "javascript", "modules"); +const COMPONENT_DIRECTORY = path.join(WORKSPACE_ROOT, "src", "components"); +const MODULES_DIRECTORY = path.join(WORKSPACE_ROOT, "src", "modules"); const OUTPUT_PATH = path.join(WORKSPACE_ROOT, "docs", "docs.json"); const IGNORE_METHODS = ["setNativeProps"]; diff --git a/javascript/MLNModule.ts b/src/MLNModule.ts similarity index 100% rename from javascript/MLNModule.ts rename to src/MLNModule.ts diff --git a/javascript/Maplibre.ts b/src/Maplibre.ts similarity index 100% rename from javascript/Maplibre.ts rename to src/Maplibre.ts diff --git a/javascript/components/Annotation.tsx b/src/components/Annotation.tsx similarity index 100% rename from javascript/components/Annotation.tsx rename to src/components/Annotation.tsx diff --git a/javascript/components/BackgroundLayer.tsx b/src/components/BackgroundLayer.tsx similarity index 100% rename from javascript/components/BackgroundLayer.tsx rename to src/components/BackgroundLayer.tsx diff --git a/javascript/components/Callout.tsx b/src/components/Callout.tsx similarity index 100% rename from javascript/components/Callout.tsx rename to src/components/Callout.tsx diff --git a/javascript/components/Camera.tsx b/src/components/Camera.tsx similarity index 100% rename from javascript/components/Camera.tsx rename to src/components/Camera.tsx diff --git a/javascript/components/CircleLayer.tsx b/src/components/CircleLayer.tsx similarity index 100% rename from javascript/components/CircleLayer.tsx rename to src/components/CircleLayer.tsx diff --git a/javascript/components/FillExtrusionLayer.tsx b/src/components/FillExtrusionLayer.tsx similarity index 100% rename from javascript/components/FillExtrusionLayer.tsx rename to src/components/FillExtrusionLayer.tsx diff --git a/javascript/components/FillLayer.tsx b/src/components/FillLayer.tsx similarity index 100% rename from javascript/components/FillLayer.tsx rename to src/components/FillLayer.tsx diff --git a/javascript/components/HeadingIndicator.tsx b/src/components/HeadingIndicator.tsx similarity index 100% rename from javascript/components/HeadingIndicator.tsx rename to src/components/HeadingIndicator.tsx diff --git a/javascript/components/HeatmapLayer.tsx b/src/components/HeatmapLayer.tsx similarity index 100% rename from javascript/components/HeatmapLayer.tsx rename to src/components/HeatmapLayer.tsx diff --git a/javascript/components/ImageSource.tsx b/src/components/ImageSource.tsx similarity index 100% rename from javascript/components/ImageSource.tsx rename to src/components/ImageSource.tsx diff --git a/javascript/components/Images.tsx b/src/components/Images.tsx similarity index 100% rename from javascript/components/Images.tsx rename to src/components/Images.tsx diff --git a/javascript/components/Light.tsx b/src/components/Light.tsx similarity index 100% rename from javascript/components/Light.tsx rename to src/components/Light.tsx diff --git a/javascript/components/LineLayer.tsx b/src/components/LineLayer.tsx similarity index 100% rename from javascript/components/LineLayer.tsx rename to src/components/LineLayer.tsx diff --git a/javascript/components/MapView.tsx b/src/components/MapView.tsx similarity index 100% rename from javascript/components/MapView.tsx rename to src/components/MapView.tsx diff --git a/javascript/components/MarkerView.tsx b/src/components/MarkerView.tsx similarity index 100% rename from javascript/components/MarkerView.tsx rename to src/components/MarkerView.tsx diff --git a/javascript/components/NativeUserLocation.tsx b/src/components/NativeUserLocation.tsx similarity index 100% rename from javascript/components/NativeUserLocation.tsx rename to src/components/NativeUserLocation.tsx diff --git a/javascript/components/PointAnnotation.tsx b/src/components/PointAnnotation.tsx similarity index 100% rename from javascript/components/PointAnnotation.tsx rename to src/components/PointAnnotation.tsx diff --git a/javascript/components/RasterLayer.tsx b/src/components/RasterLayer.tsx similarity index 100% rename from javascript/components/RasterLayer.tsx rename to src/components/RasterLayer.tsx diff --git a/javascript/components/RasterSource.tsx b/src/components/RasterSource.tsx similarity index 100% rename from javascript/components/RasterSource.tsx rename to src/components/RasterSource.tsx diff --git a/javascript/components/ShapeSource.tsx b/src/components/ShapeSource.tsx similarity index 100% rename from javascript/components/ShapeSource.tsx rename to src/components/ShapeSource.tsx diff --git a/javascript/components/Style.tsx b/src/components/Style.tsx similarity index 100% rename from javascript/components/Style.tsx rename to src/components/Style.tsx diff --git a/javascript/components/SymbolLayer.tsx b/src/components/SymbolLayer.tsx similarity index 100% rename from javascript/components/SymbolLayer.tsx rename to src/components/SymbolLayer.tsx diff --git a/javascript/components/UserLocation.tsx b/src/components/UserLocation.tsx similarity index 100% rename from javascript/components/UserLocation.tsx rename to src/components/UserLocation.tsx diff --git a/javascript/components/VectorSource.tsx b/src/components/VectorSource.tsx similarity index 100% rename from javascript/components/VectorSource.tsx rename to src/components/VectorSource.tsx diff --git a/javascript/hooks/useAbstractLayer.ts b/src/hooks/useAbstractLayer.ts similarity index 100% rename from javascript/hooks/useAbstractLayer.ts rename to src/hooks/useAbstractLayer.ts diff --git a/javascript/hooks/useAbstractSource.ts b/src/hooks/useAbstractSource.ts similarity index 100% rename from javascript/hooks/useAbstractSource.ts rename to src/hooks/useAbstractSource.ts diff --git a/javascript/hooks/useNativeBridge.ts b/src/hooks/useNativeBridge.ts similarity index 100% rename from javascript/hooks/useNativeBridge.ts rename to src/hooks/useNativeBridge.ts diff --git a/javascript/hooks/useNativeRef.ts b/src/hooks/useNativeRef.ts similarity index 100% rename from javascript/hooks/useNativeRef.ts rename to src/hooks/useNativeRef.ts diff --git a/javascript/hooks/useOnce.ts b/src/hooks/useOnce.ts similarity index 100% rename from javascript/hooks/useOnce.ts rename to src/hooks/useOnce.ts diff --git a/javascript/index.ts b/src/index.ts similarity index 100% rename from javascript/index.ts rename to src/index.ts diff --git a/javascript/modules/location/locationManager.ts b/src/modules/location/locationManager.ts similarity index 100% rename from javascript/modules/location/locationManager.ts rename to src/modules/location/locationManager.ts diff --git a/javascript/modules/offline/OfflineCreatePackOptions.ts b/src/modules/offline/OfflineCreatePackOptions.ts similarity index 100% rename from javascript/modules/offline/OfflineCreatePackOptions.ts rename to src/modules/offline/OfflineCreatePackOptions.ts diff --git a/javascript/modules/offline/OfflinePack.ts b/src/modules/offline/OfflinePack.ts similarity index 100% rename from javascript/modules/offline/OfflinePack.ts rename to src/modules/offline/OfflinePack.ts diff --git a/javascript/modules/offline/offlineManager.ts b/src/modules/offline/offlineManager.ts similarity index 100% rename from javascript/modules/offline/offlineManager.ts rename to src/modules/offline/offlineManager.ts diff --git a/javascript/modules/snapshot/SnapshotOptions.ts b/src/modules/snapshot/SnapshotOptions.ts similarity index 100% rename from javascript/modules/snapshot/SnapshotOptions.ts rename to src/modules/snapshot/SnapshotOptions.ts diff --git a/javascript/modules/snapshot/snapshotManager.ts b/src/modules/snapshot/snapshotManager.ts similarity index 100% rename from javascript/modules/snapshot/snapshotManager.ts rename to src/modules/snapshot/snapshotManager.ts diff --git a/javascript/requestAndroidLocationPermissions.ts b/src/requestAndroidLocationPermissions.ts similarity index 100% rename from javascript/requestAndroidLocationPermissions.ts rename to src/requestAndroidLocationPermissions.ts diff --git a/javascript/types/BaseProps.ts b/src/types/BaseProps.ts similarity index 100% rename from javascript/types/BaseProps.ts rename to src/types/BaseProps.ts diff --git a/javascript/types/CameraMode.ts b/src/types/CameraMode.ts similarity index 100% rename from javascript/types/CameraMode.ts rename to src/types/CameraMode.ts diff --git a/javascript/types/OnPressEvent.ts b/src/types/OnPressEvent.ts similarity index 100% rename from javascript/types/OnPressEvent.ts rename to src/types/OnPressEvent.ts diff --git a/javascript/types/index.ts b/src/types/index.ts similarity index 100% rename from javascript/types/index.ts rename to src/types/index.ts diff --git a/javascript/utils/BridgeValue.ts b/src/utils/BridgeValue.ts similarity index 100% rename from javascript/utils/BridgeValue.ts rename to src/utils/BridgeValue.ts diff --git a/javascript/utils/Logger.ts b/src/utils/Logger.ts similarity index 100% rename from javascript/utils/Logger.ts rename to src/utils/Logger.ts diff --git a/javascript/utils/MaplibreStyles.d.ts b/src/utils/MaplibreStyles.d.ts similarity index 100% rename from javascript/utils/MaplibreStyles.d.ts rename to src/utils/MaplibreStyles.d.ts diff --git a/javascript/utils/StyleValue.ts b/src/utils/StyleValue.ts similarity index 100% rename from javascript/utils/StyleValue.ts rename to src/utils/StyleValue.ts diff --git a/javascript/utils/animated/AbstractAnimatedCoordinates.ts b/src/utils/animated/AbstractAnimatedCoordinates.ts similarity index 100% rename from javascript/utils/animated/AbstractAnimatedCoordinates.ts rename to src/utils/animated/AbstractAnimatedCoordinates.ts diff --git a/javascript/utils/animated/Animated.ts b/src/utils/animated/Animated.ts similarity index 100% rename from javascript/utils/animated/Animated.ts rename to src/utils/animated/Animated.ts diff --git a/javascript/utils/animated/AnimatedCoordinatesArray.ts b/src/utils/animated/AnimatedCoordinatesArray.ts similarity index 100% rename from javascript/utils/animated/AnimatedCoordinatesArray.ts rename to src/utils/animated/AnimatedCoordinatesArray.ts diff --git a/javascript/utils/animated/AnimatedExtractCoordinateFromArray.ts b/src/utils/animated/AnimatedExtractCoordinateFromArray.ts similarity index 100% rename from javascript/utils/animated/AnimatedExtractCoordinateFromArray.ts rename to src/utils/animated/AnimatedExtractCoordinateFromArray.ts diff --git a/javascript/utils/animated/AnimatedPoint.ts b/src/utils/animated/AnimatedPoint.ts similarity index 100% rename from javascript/utils/animated/AnimatedPoint.ts rename to src/utils/animated/AnimatedPoint.ts diff --git a/javascript/utils/animated/AnimatedRouteCoordinatesArray.ts b/src/utils/animated/AnimatedRouteCoordinatesArray.ts similarity index 100% rename from javascript/utils/animated/AnimatedRouteCoordinatesArray.ts rename to src/utils/animated/AnimatedRouteCoordinatesArray.ts diff --git a/javascript/utils/animated/AnimatedShape.ts b/src/utils/animated/AnimatedShape.ts similarity index 100% rename from javascript/utils/animated/AnimatedShape.ts rename to src/utils/animated/AnimatedShape.ts diff --git a/javascript/utils/deprecation.ts b/src/utils/deprecation.ts similarity index 100% rename from javascript/utils/deprecation.ts rename to src/utils/deprecation.ts diff --git a/javascript/utils/filterUtils.ts b/src/utils/filterUtils.ts similarity index 100% rename from javascript/utils/filterUtils.ts rename to src/utils/filterUtils.ts diff --git a/javascript/utils/index.ts b/src/utils/index.ts similarity index 100% rename from javascript/utils/index.ts rename to src/utils/index.ts diff --git a/javascript/utils/makeNativeBounds.ts b/src/utils/makeNativeBounds.ts similarity index 100% rename from javascript/utils/makeNativeBounds.ts rename to src/utils/makeNativeBounds.ts diff --git a/javascript/utils/styleMap.ts b/src/utils/styleMap.ts similarity index 100% rename from javascript/utils/styleMap.ts rename to src/utils/styleMap.ts diff --git a/tsconfig.json b/tsconfig.json index f0a251295..4846b2257 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,5 +18,5 @@ "noUnusedLocals": true, "noImplicitReturns": true }, - "include": ["javascript/**/*", "index.ts"] + "include": ["src/**/*", "index.ts"] } From 430f54a6ce4f0515b6cfedd556bdace194c55d52 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Sat, 16 Nov 2024 22:15:18 +0100 Subject: [PATCH 02/22] refactor: rename MapLibreRN.ts --- src/{Maplibre.ts => MapLibreRN.ts} | 0 src/index.ts | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) rename src/{Maplibre.ts => MapLibreRN.ts} (100%) diff --git a/src/Maplibre.ts b/src/MapLibreRN.ts similarity index 100% rename from src/Maplibre.ts rename to src/MapLibreRN.ts diff --git a/src/index.ts b/src/index.ts index 120af94d2..429fc66c7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,4 @@ -import * as Maplibre from "./Maplibre"; -export * from "./Maplibre"; +import * as MapLibreRN from "./MapLibreRN"; +export * from "./MapLibreRN"; -export default Maplibre; +export default MapLibreRN; From a375f8b49279fdbd63979e150bbc6da9410b31d9 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Mon, 18 Nov 2024 08:29:36 +0100 Subject: [PATCH 03/22] feat: setup react-native-builder-bob --- .eslintignore | 1 + .gitignore | 47 +- jest.config.js | 2 +- package.json | 65 ++- tsconfig.build.json | 4 + tsconfig.json | 41 +- yarn.lock | 1127 +++++++++++++++++++++++++++++++++++++++++-- 7 files changed, 1196 insertions(+), 91 deletions(-) create mode 100644 .eslintignore create mode 100644 tsconfig.build.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000..a65b41774 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +lib diff --git a/.gitignore b/.gitignore index b5426661e..409981788 100644 --- a/.gitignore +++ b/.gitignore @@ -21,14 +21,6 @@ DerivedData *.xcuserstate project.xcworkspace -# Gradle -/build/ -/RNTester/android/app/build/ -/RNTester/android/app/gradle/ -/RNTester/android/app/gradlew -/RNTester/android/app/gradlew.bat -/ReactAndroid/build/ - # Watchman .watchmanconfig @@ -40,7 +32,6 @@ local.properties node_modules *.log .nvm -/bots/node_modules/ # Yarn .yarn/* @@ -58,35 +49,11 @@ package.tgz .DS_Store # Test generated files -/ReactAndroid/src/androidTest/assets/AndroidTestBundle.js *.js.meta -/coverage -/third-party - # Root dir shouldn't have Xcode project /*.xcodeproj -# ReactCommon subdir shouldn't have Xcode project -/ReactCommon/**/*.xcodeproj -RNTester/build - -# Libs that shouldn't have Xcode project -/Libraries/FBLazyVector/**/*.xcodeproj -/Libraries/FBReactNativeSpec/**/*.xcodeproj -/Libraries/RCTRequired/**/*.xcodeproj -/React/CoreModules/**/*.xcodeproj -/packages/react-native-codegen/**/*.xcodeproj - -# CocoaPods -/template/ios/Pods/ -/template/ios/Podfile.lock -/RNTester/Gemfile.lock - -# Ignore RNTester specific Pods, but keep the __offline_mirrors__ here. -RNTester/Pods/* -!RNTester/Pods/__offline_mirrors - # react-native-codegen /ReactCommon/fabric/components/rncore/ /schema-rncore.json @@ -110,19 +77,19 @@ android/gradle/ android/gradlew android/gradlew.bat android/local.properties - .idea coverage .project *.core.prefs *.iml - -# Config plugin -/plugin/build - .env -.yarn # Expo packages/expo-app/ios -packages/expo-app/android \ No newline at end of file +packages/expo-app/android + +# Build by config plugin +/plugin/build + +# Build by bob +lib/ diff --git a/jest.config.js b/jest.config.js index 13ffaa08c..44283f0d7 100644 --- a/jest.config.js +++ b/jest.config.js @@ -3,6 +3,6 @@ module.exports = { moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json"], setupFilesAfterEnv: ["./jest-setup.ts"], setupFiles: ["./__tests__/__mocks__/react-native.mock.js"], - modulePathIgnorePatterns: ["__tests__/__mocks__", "fixtures"], + modulePathIgnorePatterns: ["./lib", "__tests__/__mocks__", "fixtures"], collectCoverageFrom: ["src/**/*.{ts,tsx,js,jsx}"], }; diff --git a/package.json b/package.json index 85d3ec1ec..4e7f68a7f 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "access": "public" }, "author": "MapLibre", - "main": "src/index.ts", "keywords": [ "maps", "ios", @@ -23,20 +22,79 @@ "scripts": { "codegen": "tsx scripts/codegen.ts", "test": "jest", - "lint": "yarn lint:eslint && yarn lint:tsc", + "lint": "yarn lint:tsc && yarn lint:eslint", "lint:eslint": "eslint .", "lint:eslint:fix": "eslint . --fix", "lint:tsc": "tsc --project . --noEmit && tsc --project ./packages/examples", "plugin:build": "tsc --build plugin", "plugin:lint": "eslint plugin/src/*", "plugin:test": "jest plugin", - "prepack": "yarn plugin:build" + "prepack": "bob build && yarn plugin:build" }, "workspaces": [ "apps/*", "packages/*" ], "packageManager": "yarn@4.1.0", + "main": "./lib/commonjs/index.js", + "source": "./src/index.ts", + "module": "./lib/module/index.js", + "types": "./lib/typescript/commonjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./lib/typescript/module/src/index.d.ts", + "default": "./lib/module/index.js" + }, + "require": { + "types": "./lib/typescript/commonjs/src/index.d.ts", + "default": "./lib/commonjs/index.js" + } + } + }, + "files": [ + "src", + "lib", + "android", + "ios", + "cpp", + "*.podspec", + "react-native.config.json", + "!ios/build", + "!android/build", + "!android/gradle", + "!android/gradlew", + "!android/gradlew.bat", + "!android/local.properties", + "!**/__tests__", + "!**/__fixtures__", + "!**/__mocks__", + "!**/.*" + ], + "react-native-builder-bob": { + "source": "src", + "output": "lib", + "targets": [ + [ + "commonjs", + { + "esm": true + } + ], + [ + "module", + { + "esm": true + } + ], + [ + "typescript", + { + "esm": true + } + ] + ] + }, "peerDependenciesMeta": { "@expo/config-plugins": { "optional": true @@ -87,6 +145,7 @@ "react": "18.2.0", "react-docgen": "^7.1.0", "react-native": "^0.74.6", + "react-native-builder-bob": "^0.32.0", "react-test-renderer": "18.2.0", "tsx": "^4.19.2", "typescript": "^5.3.3" diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 000000000..03cfc9a82 --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig", + "exclude": ["lib", "packages", "plugin", "scripts"] +} diff --git a/tsconfig.json b/tsconfig.json index 4846b2257..739b366e1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,22 +1,29 @@ { "compilerOptions": { - "declaration": true, - "preserveSymlinks": true, - "target": "es6", - "module": "es6", - "lib": ["es6"], - "allowJs": true, - "jsx": "react-native", - "isolatedModules": true, - "skipLibCheck": true, - "strict": true, - "strictNullChecks": true, - "types": ["node", "react-native", "geojson", "jest"], - "moduleResolution": "node", - "allowSyntheticDefaultImports": true, + "rootDir": ".", + "paths": { + "@maplibre/maplibre-react-native": ["./src/index"] + }, + "allowUnreachableCode": false, + "allowUnusedLabels": false, "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "jsx": "react-jsx", + "lib": ["ESNext"], + "module": "ESNext", + "moduleResolution": "Bundler", + "noEmit": true, + "noFallthroughCasesInSwitch": true, + "noImplicitReturns": true, + "noImplicitUseStrict": false, + "noStrictGenericChecks": false, + "noUncheckedIndexedAccess": true, "noUnusedLocals": true, - "noImplicitReturns": true - }, - "include": ["src/**/*", "index.ts"] + "noUnusedParameters": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true, + "target": "ESNext", + "verbatimModuleSyntax": true + } } diff --git a/yarn.lock b/yarn.lock index 3bb9a3f74..814ef93aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -125,6 +125,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.26.0": + version: 7.26.2 + resolution: "@babel/compat-data@npm:7.26.2" + checksum: 10/ed9eed6b62ce803ef4a320b1dac76b0302abbb29c49dddf96f3e3207d9717eb34e299a8651bb1582e9c3346ead74b6d595ffced5b3dae718afa08b18741f8402 + languageName: node + linkType: hard + "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.18.10, @babel/core@npm:^7.18.9, @babel/core@npm:^7.20.0, @babel/core@npm:^7.20.5, @babel/core@npm:^7.23.9": version: 7.25.2 resolution: "@babel/core@npm:7.25.2" @@ -308,6 +315,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10/e1bb465b3b0155702d82cfef09e3813e87a6d777cdd2c513796861eac14953340491eafea1d4109278bf4ceb48b54074c45758f042c0544d00c498090bee5a6f + languageName: node + linkType: hard + "@babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7, @babel/helper-compilation-targets@npm:^7.24.8, @babel/helper-compilation-targets@npm:^7.25.2": version: 7.25.2 resolution: "@babel/helper-compilation-targets@npm:7.25.2" @@ -394,6 +411,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-regexp-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + regexpu-core: "npm:^6.1.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/bc2b6a365ddf490c416661833dbf4430ae0c66132acccb5ce257e82026dd9db54da788bfbdcb7e0032aa0cba965cb1be169b1e1fb2c8c029b81625da4963f6b9 + languageName: node + linkType: hard + "@babel/helper-define-polyfill-provider@npm:^0.6.2": version: 0.6.2 resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" @@ -568,6 +598,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-remap-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-wrap-function": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/ea37ad9f8f7bcc27c109963b8ebb9d22bac7a5db2a51de199cb560e251d5593fe721e46aab2ca7d3e7a24b0aa4aff0eaf9c7307af9c2fd3a1d84268579073052 + languageName: node + linkType: hard + "@babel/helper-replace-supers@npm:^7.24.7, @babel/helper-replace-supers@npm:^7.25.0": version: 7.25.0 resolution: "@babel/helper-replace-supers@npm:7.25.0" @@ -718,6 +761,17 @@ __metadata: languageName: node linkType: hard +"@babel/helper-wrap-function@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-wrap-function@npm:7.25.9" + dependencies: + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10/988dcf49159f1c920d6b9486762a93767a6e84b5e593a6342bc235f3e47cc1cb0c048d8fca531a48143e6b7fce1ff12ddbf735cf5f62cb2f07192cf7c27b89cf + languageName: node + linkType: hard + "@babel/helpers@npm:^7.25.0": version: 7.25.6 resolution: "@babel/helpers@npm:7.25.6" @@ -850,6 +904,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/3c23ef34e3fd7da3578428cb488180ab6b7b96c9c141438374b6d87fa814d87de099f28098e5fc64726c19193a1da397e4d2351d40b459bcd2489993557e2c74 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.0" @@ -861,6 +927,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/d3e14ab1cb9cb50246d20cab9539f2fbd1e7ef1ded73980c8ad7c0561b4d5e0b144d362225f0976d47898e04cbd40f2000e208b0913bd788346cf7791b96af91 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.0" @@ -872,6 +949,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/a9d1ee3fd100d3eb6799a2f2bbd785296f356c531d75c9369f71541811fa324270258a374db103ce159156d006da2f33370330558d0133e6f7584152c34997ca + languageName: node + linkType: hard + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.7" @@ -885,6 +973,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10/5b298b28e156f64de51cdb03a2c5b80c7f978815ef1026f3ae8b9fc48d28bf0a83817d8fbecb61ef8fb94a7201f62cca5103cc6e7b9e8f28e38f766d7905b378 + languageName: node + linkType: hard + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.0" @@ -897,6 +998,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/cb893e5deb9312a0120a399835b6614a016c036714de7123c8edabccc56a09c4455016e083c5c4dd485248546d4e5e55fc0e9132b3c3a9bd16abf534138fe3f2 + languageName: node + linkType: hard + "@babel/plugin-proposal-async-generator-functions@npm:^7.0.0": version: 7.20.7 resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.20.7" @@ -1165,6 +1278,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-import-assertions@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b58f2306df4a690ca90b763d832ec05202c50af787158ff8b50cdf3354359710bce2e1eb2b5135fcabf284756ac8eadf09ca74764aa7e76d12a5cac5f6b21e67 + languageName: node + linkType: hard + "@babel/plugin-syntax-import-attributes@npm:^7.24.7": version: 7.25.6 resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.6" @@ -1176,6 +1300,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-import-attributes@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c122aa577166c80ee67f75aebebeef4150a132c4d3109d25d7fc058bf802946f883e330f20b78c1d3e3a5ada631c8780c263d2d01b5dbaecc69efefeedd42916 + languageName: node + linkType: hard + "@babel/plugin-syntax-import-meta@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" @@ -1353,6 +1488,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-arrow-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c29f081224859483accf55fb4d091db2aac0dcd0d7954bac5ca889030cc498d3f771aa20eb2e9cd8310084ec394d85fa084b97faf09298b6bc9541182b3eb5bb + languageName: node + linkType: hard + "@babel/plugin-transform-async-generator-functions@npm:^7.24.3, @babel/plugin-transform-async-generator-functions@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.4" @@ -1367,6 +1513,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-async-generator-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/99306c44a4a791abd51a56d89fa61c4cfe805a58e070c7fb1cbf950886778a6c8c4f25a92d231f91da1746d14a338436073fd83038e607f03a2a98ac5340406b + languageName: node + linkType: hard + "@babel/plugin-transform-async-to-generator@npm:^7.20.0, @babel/plugin-transform-async-to-generator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.7" @@ -1380,6 +1539,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b3ad50fb93c171644d501864620ed23952a46648c4df10dc9c62cc9ad08031b66bd272cfdd708faeee07c23b6251b16f29ce0350473e4c79f0c32178d38ce3a6 + languageName: node + linkType: hard + "@babel/plugin-transform-block-scoped-functions@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.7" @@ -1391,6 +1563,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bf31896556b33a80f017af3d445ceb532ec0f5ca9d69bc211a963ac92514d172d5c24c5ac319f384d9dfa7f1a4d8dc23032c2fe3e74f98a59467ecd86f7033ae + languageName: node + linkType: hard + "@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-block-scoping@npm:7.25.0" @@ -1402,6 +1585,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-block-scoping@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/89dcdd7edb1e0c2f44e3c568a8ad8202e2574a8a8308248550a9391540bc3f5c9fbd8352c60ae90769d46f58d3ab36f2c3a0fbc1c3620813d92ff6fccdfa79c8 + languageName: node + linkType: hard + "@babel/plugin-transform-class-properties@npm:^7.24.1, @babel/plugin-transform-class-properties@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-class-properties@npm:7.25.4" @@ -1414,6 +1608,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-class-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a8d69e2c285486b63f49193cbcf7a15e1d3a5f632c1c07d7a97f65306df7f554b30270b7378dde143f8b557d1f8f6336c643377943dec8ec405e4cd11e90b9ea + languageName: node + linkType: hard + "@babel/plugin-transform-class-static-block@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-class-static-block@npm:7.24.7" @@ -1427,6 +1633,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-class-static-block@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10/60cba3f125a7bc4f90706af0a011697c7ffd2eddfba336ed6f84c5f358c44c3161af18b0202475241a96dee7964d96dd3a342f46dbf85b75b38bb789326e1766 + languageName: node + linkType: hard + "@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-classes@npm:7.25.4" @@ -1443,6 +1661,22 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-classes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/1914ebe152f35c667fba7bf17ce0d9d0f33df2fb4491990ce9bb1f9ec5ae8cbd11d95b0dc371f7a4cc5e7ce4cf89467c3e34857302911fc6bfb6494a77f7b37e + languageName: node + linkType: hard + "@babel/plugin-transform-computed-properties@npm:^7.0.0, @babel/plugin-transform-computed-properties@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-computed-properties@npm:7.24.7" @@ -1455,6 +1689,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-computed-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aa1a9064d6a9d3b569b8cae6972437315a38a8f6553ee618406da5122500a06c2f20b9fa93aeed04dd895923bf6f529c09fc79d4be987ec41785ceb7d2203122 + languageName: node + linkType: hard + "@babel/plugin-transform-destructuring@npm:^7.20.0, @babel/plugin-transform-destructuring@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-destructuring@npm:7.24.8" @@ -1466,6 +1712,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-destructuring@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/51b24fbead910ad0547463b2d214dd08076b22a66234b9f878b8bac117603dd23e05090ff86e9ffc373214de23d3e5bf1b095fe54cce2ca16b010264d90cf4f5 + languageName: node + linkType: hard + "@babel/plugin-transform-dotall-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.7" @@ -1478,6 +1735,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-dotall-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8bdf1bb9e6e3a2cc8154ae88a3872faa6dc346d6901994505fb43ac85f858728781f1219f40b67f7bb0687c507450236cb7838ac68d457e65637f98500aa161b + languageName: node + linkType: hard + "@babel/plugin-transform-duplicate-keys@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.7" @@ -1489,6 +1758,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/10dbb87bc09582416f9f97ca6c40563655abf33e3fd0fee25eeaeff28e946a06651192112a2bc2b18c314a638fa15c55b8365a677ef67aa490848cefdc57e1d8 + languageName: node + linkType: hard + "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.0" @@ -1501,6 +1781,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/f7233cf596be8c6843d31951afaf2464a62a610cb89c72c818c044765827fab78403ab8a7d3a6386f838c8df574668e2a48f6c206b1d7da965aff9c6886cb8e6 + languageName: node + linkType: hard + "@babel/plugin-transform-dynamic-import@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.7" @@ -1513,6 +1805,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-dynamic-import@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aaca1ccda819be9b2b85af47ba08ddd2210ff2dbea222f26e4cd33f97ab020884bf81a66197e50872721e9daf36ceb5659502c82199884ea74d5d75ecda5c58b + languageName: node + linkType: hard + "@babel/plugin-transform-exponentiation-operator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.7" @@ -1525,6 +1828,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-exponentiation-operator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.9" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/57e1bb4135dd16782fe84b49dd360cce8f9bf5f62eb10424dcdaf221e54a8bacdf50f2541c5ac01dea9f833a6c628613d71be915290938a93454389cba4de06b + languageName: node + linkType: hard + "@babel/plugin-transform-export-namespace-from@npm:^7.22.11, @babel/plugin-transform-export-namespace-from@npm:^7.23.4, @babel/plugin-transform-export-namespace-from@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.7" @@ -1537,6 +1852,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/4dfe8df86c5b1d085d591290874bb2d78a9063090d71567ed657a418010ad333c3f48af2c974b865f53bbb718987a065f89828d43279a7751db1a56c9229078d + languageName: node + linkType: hard + "@babel/plugin-transform-flow-strip-types@npm:^7.20.0, @babel/plugin-transform-flow-strip-types@npm:^7.24.7": version: 7.25.2 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.2" @@ -1549,7 +1875,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.25.2": +"@babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.9" dependencies: @@ -1573,6 +1899,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-for-of@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-for-of@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/63a2db7fe06c2e3f5fc1926f478dac66a5f7b3eaeb4a0ffae577e6f3cb3d822cb1ed2ed3798f70f5cb1aa06bc2ad8bcd1f557342f5c425fd83c37a8fc1cfd2ba + languageName: node + linkType: hard + "@babel/plugin-transform-function-name@npm:^7.0.0, @babel/plugin-transform-function-name@npm:^7.25.1": version: 7.25.1 resolution: "@babel/plugin-transform-function-name@npm:7.25.1" @@ -1586,6 +1924,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-function-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-function-name@npm:7.25.9" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a8d7c8d019a6eb57eab5ca1be3e3236f175557d55b1f3b11f8ad7999e3fbb1cf37905fd8cb3a349bffb4163a558e9f33b63f631597fdc97c858757deac1b2fd7 + languageName: node + linkType: hard + "@babel/plugin-transform-json-strings@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-json-strings@npm:7.24.7" @@ -1598,6 +1949,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-json-strings@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/e2498d84761cfd05aaea53799933d55af309c9d6204e66b38778792d171e4d1311ad34f334259a3aa3407dd0446f6bd3e390a1fcb8ce2e42fe5aabed0e41bee1 + languageName: node + linkType: hard + "@babel/plugin-transform-literals@npm:^7.0.0, @babel/plugin-transform-literals@npm:^7.25.2": version: 7.25.2 resolution: "@babel/plugin-transform-literals@npm:7.25.2" @@ -1609,6 +1971,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3cca75823a38aab599bc151b0fa4d816b5e1b62d6e49c156aa90436deb6e13649f5505973151a10418b64f3f9d1c3da53e38a186402e0ed7ad98e482e70c0c14 + languageName: node + linkType: hard + "@babel/plugin-transform-logical-assignment-operators@npm:^7.24.1, @babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.7" @@ -1621,6 +1994,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8c6febb4ac53852314d28b5e2c23d5dbbff7bf1e57d61f9672e0d97531ef7778b3f0ad698dcf1179f5486e626c77127508916a65eb846a89e98a92f70ed3537b + languageName: node + linkType: hard + "@babel/plugin-transform-member-expression-literals@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.7" @@ -1632,6 +2016,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/db92041ae87b8f59f98b50359e0bb172480f6ba22e5e76b13bdfe07122cbf0daa9cd8ad2e78dcb47939938fed88ad57ab5989346f64b3a16953fc73dea3a9b1f + languageName: node + linkType: hard + "@babel/plugin-transform-modules-amd@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-modules-amd@npm:7.24.7" @@ -1644,6 +2039,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-amd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/75d34c6e709a23bcfa0e06f722c9a72b1d9ac3e7d72a07ef54a943d32f65f97cbbf0e387d874eb9d9b4c8d33045edfa8e8441d0f8794f3c2b9f1d71b928acf2c + languageName: node + linkType: hard + "@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" @@ -1657,6 +2064,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-commonjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-simple-access": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a7390ca999373ccdef91075f274d1ace3a5cb79f9b9118ed6f76e94867ed454cf798a6f312ce2c4cdc1e035a25d810d754e4cb2e4d866acb4219490f3585de60 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-systemjs@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.0" @@ -1671,6 +2091,20 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/03145aa89b7c867941a03755216cfb503df6d475a78df84849a157fa5f2fcc17ba114a968d0579ae34e7c61403f35d1ba5d188fdfb9ad05f19354eb7605792f9 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-umd@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-modules-umd@npm:7.24.7" @@ -1683,6 +2117,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-umd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/47d03485fedac828832d9fee33b3b982a6db8197e8651ceb5d001890e276150b5a7ee3e9780749e1ba76453c471af907a159108832c24f93453dd45221788e97 + languageName: node + linkType: hard + "@babel/plugin-transform-named-capturing-groups-regex@npm:^7.0.0, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.7" @@ -1695,6 +2141,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/434346ba05cf74e3f4704b3bdd439287b95cd2a8676afcdc607810b8c38b6f4798cd69c1419726b2e4c7204e62e4a04d31b0360e91ca57a930521c9211e07789 + languageName: node + linkType: hard + "@babel/plugin-transform-new-target@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-new-target@npm:7.24.7" @@ -1706,6 +2164,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-new-target@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-new-target@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/07bb3a09028ee7b8e8ede6e6390e3b3aecc5cf9adb2fc5475ff58036c552b8a3f8e63d4c43211a60545f3307cdc15919f0e54cb5455d9546daed162dc54ff94e + languageName: node + linkType: hard + "@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.1, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" @@ -1718,6 +2187,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/26e03b1c2c0408cc300e46d8f8cb639653ff3a7b03456d0d8afbb53c44f33a89323f51d99991dade3a5676921119bbdf869728bb7911799b5ef99ffafa2cdd24 + languageName: node + linkType: hard + "@babel/plugin-transform-numeric-separator@npm:^7.24.1, @babel/plugin-transform-numeric-separator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.7" @@ -1730,6 +2210,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-numeric-separator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/0528ef041ed88e8c3f51624ee87b8182a7f246fe4013f0572788e0727d20795b558f2b82e3989b5dd416cbd339500f0d88857de41b6d3b6fdacb1d5344bcc5b1 + languageName: node + linkType: hard + "@babel/plugin-transform-object-rest-spread@npm:^7.12.13, @babel/plugin-transform-object-rest-spread@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.7" @@ -1744,7 +2235,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.5": +"@babel/plugin-transform-object-rest-spread@npm:^7.24.5, @babel/plugin-transform-object-rest-spread@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" dependencies: @@ -1769,6 +2260,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-object-super@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-super@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/1817b5d8b80e451ae1ad9080cca884f4f16df75880a158947df76a2ed8ab404d567a7dce71dd8051ef95f90fbe3513154086a32aba55cc76027f6cbabfbd7f98 + languageName: node + linkType: hard + "@babel/plugin-transform-optional-catch-binding@npm:^7.24.1, @babel/plugin-transform-optional-catch-binding@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.7" @@ -1781,6 +2284,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b46a8d1e91829f3db5c252583eb00d05a779b4660abeea5500fda0f8ffa3584fd18299443c22f7fddf0ed9dfdb73c782c43b445dc468d4f89803f2356963b406 + languageName: node + linkType: hard + "@babel/plugin-transform-optional-chaining@npm:^7.24.5, @babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" @@ -1794,6 +2308,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bc838a499fd9892e163b8bc9bfbc4bf0b28cc3232ee0a6406ae078257c8096518f871d09b4a32c11f4a2d6953c3bc1984619ef748f7ad45aed0b0d9689a8eb36 + languageName: node + linkType: hard + "@babel/plugin-transform-parameters@npm:^7.0.0, @babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.22.15, @babel/plugin-transform-parameters@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-parameters@npm:7.24.7" @@ -1828,7 +2354,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.24.7": +"@babel/plugin-transform-private-methods@npm:^7.24.7, @babel/plugin-transform-private-methods@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" dependencies: @@ -1854,6 +2380,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aa45bb5669b610afa763d774a4b5583bb60ce7d38e4fd2dedfd0703e73e25aa560e6c6124e155aa90b101601743b127d9e5d3eb00989a7e4b4ab9c2eb88475ba + languageName: node + linkType: hard + "@babel/plugin-transform-property-literals@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-property-literals@npm:7.24.7" @@ -1865,6 +2404,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-property-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/436046ab07d54a9b44a384eeffec701d4e959a37a7547dda72e069e751ca7ff753d1782a8339e354b97c78a868b49ea97bf41bf5a44c6d7a3c0a05ad40eeb49c + languageName: node + linkType: hard + "@babel/plugin-transform-react-display-name@npm:^7.0.0, @babel/plugin-transform-react-display-name@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-react-display-name@npm:7.24.7" @@ -1876,6 +2426,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-display-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-display-name@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/dc7affde0ed98e40f629ee92a2fc44fbd8008aabda1ddb3f5bd2632699d3289b08dff65b26cf3b89dab46397ec440f453d19856bbb3a9a83df5b4ac6157c5c39 + languageName: node + linkType: hard + "@babel/plugin-transform-react-jsx-development@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-react-jsx-development@npm:7.24.7" @@ -1887,6 +2448,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-jsx-development@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.9" + dependencies: + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/537d38369537f1eb56041c4b770bc0733fde1801a7f5ffef40a1217ea448f33ee2fa8e6098a58a82fd00e432c1b9426a66849496da419020c9eca3b1b1a23779 + languageName: node + linkType: hard + "@babel/plugin-transform-react-jsx-self@npm:^7.0.0": version: 7.24.7 resolution: "@babel/plugin-transform-react-jsx-self@npm:7.24.7" @@ -1946,7 +2518,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.25.2": +"@babel/plugin-transform-react-jsx@npm:^7.25.2, @babel/plugin-transform-react-jsx@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-react-jsx@npm:7.25.9" dependencies: @@ -1973,6 +2545,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-pure-annotations@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/9995c0fc7c25d3aaaa0ce84233de02eab2564ea111d0813ec5baa538eb21520402879cc787ad1ad4c2061b99cebc3beb09910e64c9592e8ccb42ae62d9e4fd9a + languageName: node + linkType: hard + "@babel/plugin-transform-regenerator@npm:^7.20.0, @babel/plugin-transform-regenerator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-regenerator@npm:7.24.7" @@ -1985,6 +2569,30 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-regenerator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + regenerator-transform: "npm:^0.15.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/1c09e8087b476c5967282c9790fb8710e065eda77c60f6cb5da541edd59ded9d003d96f8ef640928faab4a0b35bf997673499a194973da4f0c97f0935807a482 + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/726deca486bbd4b176f8a966eb0f4aabc19d9def3b8dabb8b3a656778eca0df1fda3f3c92b213aa5a184232fdafd5b7bd73b4e24ca4345c498ef6baff2bda4e1 + languageName: node + linkType: hard + "@babel/plugin-transform-reserved-words@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-reserved-words@npm:7.24.7" @@ -1996,6 +2604,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-reserved-words@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8beda04481b25767acbd1f6b9ef7b3a9c12fbd9dcb24df45a6ad120e1dc4b247c073db60ac742f9093657d6d8c050501fc0606af042f81a3bb6a3ff862cddc47 + languageName: node + linkType: hard + "@babel/plugin-transform-runtime@npm:^7.0.0": version: 7.25.4 resolution: "@babel/plugin-transform-runtime@npm:7.25.4" @@ -2039,6 +2658,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f774995d58d4e3a992b732cf3a9b8823552d471040e280264dd15e0735433d51b468fef04d75853d061309389c66bda10ce1b298297ce83999220eb0ad62741d + languageName: node + linkType: hard + "@babel/plugin-transform-spread@npm:^7.0.0, @babel/plugin-transform-spread@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-spread@npm:7.24.7" @@ -2051,6 +2681,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-spread@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/fe72c6545267176cdc9b6f32f30f9ced37c1cafa1290e4436b83b8f377b4f1c175dad404228c96e3efdec75da692f15bfb9db2108fcd9ad260bc9968778ee41e + languageName: node + linkType: hard + "@babel/plugin-transform-sticky-regex@npm:^7.0.0, @babel/plugin-transform-sticky-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.7" @@ -2062,6 +2704,28 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-sticky-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/7454b00844dbe924030dd15e2b3615b36e196500c4c47e98dabc6b37a054c5b1038ecd437e910aabf0e43bf56b973cb148d3437d50f6e2332d8309568e3e979b + languageName: node + linkType: hard + +"@babel/plugin-transform-strict-mode@npm:^7.24.7": + version: 7.25.9 + resolution: "@babel/plugin-transform-strict-mode@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/87b4a937b7c6f9cc4ed557ce1e2037898ec9c2af18f5523a5200f714cfd4101b0e278c732418b59a779e912cdf5574e35db01714d5b4e6fff2e31584501e4364 + languageName: node + linkType: hard + "@babel/plugin-transform-template-literals@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" @@ -2073,6 +2737,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-template-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/92eb1d6e2d95bd24abbb74fa7640d02b66ff6214e0bb616d7fda298a7821ce15132a4265d576a3502a347a3c9e94b6c69ed265bb0784664592fa076785a3d16a + languageName: node + linkType: hard + "@babel/plugin-transform-typeof-symbol@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.8" @@ -2084,6 +2759,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-typeof-symbol@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3ae240358f0b0cd59f8610d6c59d395c216fd1bab407f7de58b86d592f030fb42b4d18e2456a29bee4a2ff014c4c1e3404c8ae64462b1155d1c053b2f9d73438 + languageName: node + linkType: hard + "@babel/plugin-transform-typescript@npm:^7.24.7, @babel/plugin-transform-typescript@npm:^7.5.0": version: 7.25.2 resolution: "@babel/plugin-transform-typescript@npm:7.25.2" @@ -2099,7 +2785,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.25.2": +"@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-typescript@npm:7.25.9" dependencies: @@ -2125,6 +2811,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f138cbee539963fb3da13f684e6f33c9f7495220369ae12a682b358f1e25ac68936825562c38eae87f01ac9992b2129208b35ec18533567fc805ce5ed0ffd775 + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-property-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.7" @@ -2137,6 +2834,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/201f6f46c1beb399e79aa208b94c5d54412047511795ce1e790edcd189cef73752e6a099fdfc01b3ad12205f139ae344143b62f21f44bbe02338a95e8506a911 + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-regex@npm:^7.0.0, @babel/plugin-transform-unicode-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.7" @@ -2149,6 +2858,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/e8baae867526e179467c6ef5280d70390fa7388f8763a19a27c21302dd59b121032568be080749514b097097ceb9af716bf4b90638f1b3cf689aa837ba20150f + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-sets-regex@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.4" @@ -2161,6 +2882,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/4445ef20de687cb4dcc95169742a8d9013d680aa5eee9186d8e25875bbfa7ee5e2de26a91177ccf70b1db518e36886abcd44750d28db5d7a9539f0efa6839f4b + languageName: node + linkType: hard + "@babel/preset-env@npm:^7.23.8": version: 7.25.4 resolution: "@babel/preset-env@npm:7.25.4" @@ -2254,6 +2987,85 @@ __metadata: languageName: node linkType: hard +"@babel/preset-env@npm:^7.25.2": + version: 7.26.0 + resolution: "@babel/preset-env@npm:7.26.0" + dependencies: + "@babel/compat-data": "npm:^7.26.0" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9" + "@babel/plugin-transform-block-scoping": "npm:^7.25.9" + "@babel/plugin-transform-class-properties": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.26.0" + "@babel/plugin-transform-classes": "npm:^7.25.9" + "@babel/plugin-transform-computed-properties": "npm:^7.25.9" + "@babel/plugin-transform-destructuring": "npm:^7.25.9" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.9" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-for-of": "npm:^7.25.9" + "@babel/plugin-transform-function-name": "npm:^7.25.9" + "@babel/plugin-transform-json-strings": "npm:^7.25.9" + "@babel/plugin-transform-literals": "npm:^7.25.9" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" + "@babel/plugin-transform-modules-amd": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-umd": "npm:^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-new-target": "npm:^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.9" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" + "@babel/plugin-transform-object-super": "npm:^7.25.9" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/plugin-transform-private-methods": "npm:^7.25.9" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" + "@babel/plugin-transform-property-literals": "npm:^7.25.9" + "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" + "@babel/plugin-transform-reserved-words": "npm:^7.25.9" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" + "@babel/plugin-transform-spread": "npm:^7.25.9" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" + "@babel/plugin-transform-template-literals": "npm:^7.25.9" + "@babel/plugin-transform-typeof-symbol": "npm:^7.25.9" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.10.6" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + core-js-compat: "npm:^3.38.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a7a80314f845deea713985a6316361c476621c76cfe5c6c28e8b9558f01634b49bbfdd3581ef94b5d6cff5c2b8830468aa53a73f5b5c1224db2dfea5db7e676f + languageName: node + linkType: hard + "@babel/preset-flow@npm:^7.13.13": version: 7.24.7 resolution: "@babel/preset-flow@npm:7.24.7" @@ -2267,6 +3079,19 @@ __metadata: languageName: node linkType: hard +"@babel/preset-flow@npm:^7.24.7": + version: 7.25.9 + resolution: "@babel/preset-flow@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b1591ea63a7ace7e34bcefa6deba9e2814d7f082e3c074e2648efb68a1a49016ccefbea024156ba28bd3042a4e768e3eb8b5ecfe433978144fdaaadd36203ba2 + languageName: node + linkType: hard + "@babel/preset-modules@npm:0.1.6-no-external-plugins": version: 0.1.6-no-external-plugins resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" @@ -2296,6 +3121,22 @@ __metadata: languageName: node linkType: hard +"@babel/preset-react@npm:^7.24.7": + version: 7.25.9 + resolution: "@babel/preset-react@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-transform-react-display-name": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx-development": "npm:^7.25.9" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3c9daf47cf51568d96984d21b9f83992590c0e91f16a333f999100bb3c2c200730cde6806ed37fd2c999e0a63becefc881740b8f765b5a4aff4efc674e3e4197 + languageName: node + linkType: hard + "@babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.23.0, @babel/preset-typescript@npm:^7.23.3": version: 7.24.7 resolution: "@babel/preset-typescript@npm:7.24.7" @@ -2311,6 +3152,21 @@ __metadata: languageName: node linkType: hard +"@babel/preset-typescript@npm:^7.24.7": + version: 7.26.0 + resolution: "@babel/preset-typescript@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-typescript": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/81a60826160163a3daae017709f42147744757b725b50c9024ef3ee5a402ee45fd2e93eaecdaaa22c81be91f7940916249cfb7711366431cfcacc69c95878c03 + languageName: node + linkType: hard + "@babel/register@npm:^7.13.16": version: 7.24.6 resolution: "@babel/register@npm:7.24.6" @@ -3639,6 +4495,7 @@ __metadata: react: "npm:18.2.0" react-docgen: "npm:^7.1.0" react-native: "npm:^0.74.6" + react-native-builder-bob: "npm:^0.32.0" react-test-renderer: "npm:18.2.0" tsx: "npm:^4.19.2" typescript: "npm:^5.3.3" @@ -6221,6 +7078,19 @@ __metadata: languageName: node linkType: hard +"babel-plugin-module-resolver@npm:^5.0.2": + version: 5.0.2 + resolution: "babel-plugin-module-resolver@npm:5.0.2" + dependencies: + find-babel-config: "npm:^2.1.1" + glob: "npm:^9.3.3" + pkg-up: "npm:^3.1.0" + reselect: "npm:^4.1.7" + resolve: "npm:^1.22.8" + checksum: 10/8084fa8a4cd96aaa861e5fe765a6cd03accef64d21d4108e314029bcd5f3a7fd96faf0c877c575a6a24d4fe0d87458d49748ca56faa4c77b2b812e4ed6023768 + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs2@npm:^0.4.10": version: 0.4.11 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11" @@ -6468,31 +7338,31 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.23.1, browserslist@npm:^4.23.3": - version: 4.23.3 - resolution: "browserslist@npm:4.23.3" +"browserslist@npm:^4.20.4, browserslist@npm:^4.24.0, browserslist@npm:^4.24.2": + version: 4.24.2 + resolution: "browserslist@npm:4.24.2" dependencies: - caniuse-lite: "npm:^1.0.30001646" - electron-to-chromium: "npm:^1.5.4" + caniuse-lite: "npm:^1.0.30001669" + electron-to-chromium: "npm:^1.5.41" node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.0" + update-browserslist-db: "npm:^1.1.1" bin: browserslist: cli.js - checksum: 10/e266d18c6c6c5becf9a1a7aa264477677b9796387972e8fce34854bb33dc1666194dc28389780e5dc6566e68a95e87ece2ce222e1c4ca93c2b75b61dfebd5f1c + checksum: 10/f8a9d78bbabe466c57ffd5c50a9e5582a5df9aa68f43078ca62a9f6d0d6c70ba72eca72d0a574dbf177cf55cdca85a46f7eb474917a47ae5398c66f8b76f7d1c languageName: node linkType: hard -"browserslist@npm:^4.24.0": - version: 4.24.2 - resolution: "browserslist@npm:4.24.2" +"browserslist@npm:^4.23.1, browserslist@npm:^4.23.3": + version: 4.23.3 + resolution: "browserslist@npm:4.23.3" dependencies: - caniuse-lite: "npm:^1.0.30001669" - electron-to-chromium: "npm:^1.5.41" + caniuse-lite: "npm:^1.0.30001646" + electron-to-chromium: "npm:^1.5.4" node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.1" + update-browserslist-db: "npm:^1.1.0" bin: browserslist: cli.js - checksum: 10/f8a9d78bbabe466c57ffd5c50a9e5582a5df9aa68f43078ca62a9f6d0d6c70ba72eca72d0a574dbf177cf55cdca85a46f7eb474917a47ae5398c66f8b76f7d1c + checksum: 10/e266d18c6c6c5becf9a1a7aa264477677b9796387972e8fce34854bb33dc1666194dc28389780e5dc6566e68a95e87ece2ce222e1c4ca93c2b75b61dfebd5f1c languageName: node linkType: hard @@ -7225,6 +8095,15 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.38.1": + version: 3.39.0 + resolution: "core-js-compat@npm:3.39.0" + dependencies: + browserslist: "npm:^4.24.2" + checksum: 10/82d5fcb54087f1fc174283c2d30b62908edc828537574f95bb49a5b7f235bcc88ba43f37dbe470c47e17fd9bc01cbc1db905062fd96ba65ff1a03c235f288aca + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -7497,6 +8376,13 @@ __metadata: languageName: node linkType: hard +"dedent@npm:^0.7.0": + version: 0.7.0 + resolution: "dedent@npm:0.7.0" + checksum: 10/87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 + languageName: node + linkType: hard + "dedent@npm:^1.0.0": version: 1.5.3 resolution: "dedent@npm:1.5.3" @@ -7578,7 +8464,7 @@ __metadata: languageName: node linkType: hard -"del@npm:^6.0.0": +"del@npm:^6.0.0, del@npm:^6.1.1": version: 6.1.1 resolution: "del@npm:6.1.1" dependencies: @@ -8784,6 +9670,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^4.0.3": + version: 4.1.0 + resolution: "execa@npm:4.1.0" + dependencies: + cross-spawn: "npm:^7.0.0" + get-stream: "npm:^5.0.0" + human-signals: "npm:^1.1.1" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.0" + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + strip-final-newline: "npm:^2.0.0" + checksum: 10/ed58e41fe424797f3d837c8fb622548eeb72fa03324f2676af95f806568904eb55f196127a097f87d4517cab524c169ece13e6c9e201867de57b089584864b8f + languageName: node + linkType: hard + "execa@npm:^5.0.0, execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" @@ -9270,6 +10173,15 @@ __metadata: languageName: node linkType: hard +"find-babel-config@npm:^2.1.1": + version: 2.1.2 + resolution: "find-babel-config@npm:2.1.2" + dependencies: + json5: "npm:^2.2.3" + checksum: 10/f0fae1a9125a379cf660fc1b5ca7c1fc1edac5f47e521a89e4c2b92865c8e57101a9152ee503eef9f33e16f196182f2cff03d7768b7caf5eef81c80f1c124a2f + languageName: node + linkType: hard + "find-cache-dir@npm:^2.0.0": version: 2.1.0 resolution: "find-cache-dir@npm:2.1.0" @@ -9444,6 +10356,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^10.1.0": + version: 10.1.0 + resolution: "fs-extra@npm:10.1.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10/05ce2c3b59049bcb7b52001acd000e44b3c4af4ec1f8839f383ef41ec0048e3cfa7fd8a637b1bddfefad319145db89be91f4b7c1db2908205d38bf91e7d1d3b7 + languageName: node + linkType: hard + "fs-extra@npm:^11.0.0": version: 11.2.0 resolution: "fs-extra@npm:11.2.0" @@ -9612,6 +10535,15 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^5.0.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: "npm:^3.0.0" + checksum: 10/13a73148dca795e41421013da6e3ebff8ccb7fba4d2f023fd0c6da2c166ec4e789bec9774a73a7b49c08daf2cae552f8a3e914042ac23b5f59dd278cc8f9cbfb + languageName: node + linkType: hard + "get-stream@npm:^6.0.0": version: 6.0.1 resolution: "get-stream@npm:6.0.1" @@ -9753,6 +10685,18 @@ __metadata: languageName: node linkType: hard +"glob@npm:^9.3.3": + version: 9.3.5 + resolution: "glob@npm:9.3.5" + dependencies: + fs.realpath: "npm:^1.0.0" + minimatch: "npm:^8.0.2" + minipass: "npm:^4.2.4" + path-scurry: "npm:^1.6.1" + checksum: 10/e5fa8a58adf53525bca42d82a1fad9e6800032b7e4d372209b80cfdca524dd9a7dbe7d01a92d7ed20d89c572457f12c250092bc8817cb4f1c63efefdf9b658c0 + languageName: node + linkType: hard + "globals-docs@npm:^2.4.1": version: 2.4.1 resolution: "globals-docs@npm:2.4.1" @@ -10212,6 +11156,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^1.1.1": + version: 1.1.1 + resolution: "human-signals@npm:1.1.1" + checksum: 10/6a58224dffcef5588910b1028bda8623c9a7053460a1fe3367e61921a6b5f6b93aba30f323868a958f968d7de3f5f78421f11d4d9f7e9563b1bd2b00ed9a4deb + languageName: node + linkType: hard + "human-signals@npm:^2.1.0": version: 2.1.0 resolution: "human-signals@npm:2.1.0" @@ -10565,6 +11516,26 @@ __metadata: languageName: node linkType: hard +"is-git-dirty@npm:^2.0.1": + version: 2.0.2 + resolution: "is-git-dirty@npm:2.0.2" + dependencies: + execa: "npm:^4.0.3" + is-git-repository: "npm:^2.0.0" + checksum: 10/13c8f58600e1ea0874703c1fa0ca87825119cf05347bb3b0bbbd331eec42b6a0e89519be4dcb173ac8eda84d1ade97fe187df8af10df599f1df8d0267680abdd + languageName: node + linkType: hard + +"is-git-repository@npm:^2.0.0": + version: 2.0.0 + resolution: "is-git-repository@npm:2.0.0" + dependencies: + execa: "npm:^4.0.3" + is-absolute: "npm:^1.0.0" + checksum: 10/9eba76437998b3239adc6e87ceb9b81f8ef00d6209f8700f2ba523e61359d5b068d11f8f94474bc90f92b39fd3c8261c4d60feb3cd62d18e1838480b0b135b88 + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -11698,7 +12669,7 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^3.0.2": +"jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": version: 3.0.2 resolution: "jsesc@npm:3.0.2" bin: @@ -11783,7 +12754,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -11852,7 +12823,7 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^4.0.3": +"kleur@npm:^4.0.3, kleur@npm:^4.1.4": version: 4.1.5 resolution: "kleur@npm:4.1.5" checksum: 10/44d84cc4eedd4311099402ef6d4acd9b2d16e08e499d6ef3bb92389bd4692d7ef09e35248c26e27f98acac532122acb12a1bfee645994ae3af4f0a37996da7df @@ -12557,7 +13528,7 @@ __metadata: languageName: node linkType: hard -"metro-config@npm:0.80.12, metro-config@npm:^0.80.3": +"metro-config@npm:0.80.12, metro-config@npm:^0.80.3, metro-config@npm:^0.80.9": version: 0.80.12 resolution: "metro-config@npm:0.80.12" dependencies: @@ -13377,6 +14348,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^8.0.2": + version: 8.0.4 + resolution: "minimatch@npm:8.0.4" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10/aef05598ee565e1013bc8a10f53410ac681561f901c1a084b8ecfd016c9ed919f58f4bbd5b63e05643189dfb26e8106a84f0e1ff12e4a263aa37e1cae7ce9828 + languageName: node + linkType: hard + "minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" @@ -13453,6 +14433,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^4.2.4": + version: 4.2.8 + resolution: "minipass@npm:4.2.8" + checksum: 10/e148eb6dcb85c980234cad889139ef8ddf9d5bdac534f4f0268446c8792dd4c74f4502479be48de3c1cce2f6450f6da4d0d4a86405a8a12be04c1c36b339569a + languageName: node + linkType: hard + "minipass@npm:^5.0.0": version: 5.0.0 resolution: "minipass@npm:5.0.0" @@ -13799,7 +14786,7 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^4.0.1": +"npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" dependencies: @@ -14329,7 +15316,7 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.11.1": +"path-scurry@npm:^1.11.1, path-scurry@npm:^1.6.1": version: 1.11.1 resolution: "path-scurry@npm:1.11.1" dependencies: @@ -14413,6 +15400,15 @@ __metadata: languageName: node linkType: hard +"pkg-up@npm:^3.1.0": + version: 3.1.0 + resolution: "pkg-up@npm:3.1.0" + dependencies: + find-up: "npm:^3.0.0" + checksum: 10/5bac346b7c7c903613c057ae3ab722f320716199d753f4a7d053d38f2b5955460f3e6ab73b4762c62fd3e947f58e04f1343e92089e7bb6091c90877406fcd8c8 + languageName: node + linkType: hard + "plist@npm:^3.0.5": version: 3.1.0 resolution: "plist@npm:3.1.0" @@ -14791,6 +15787,38 @@ __metadata: languageName: node linkType: hard +"react-native-builder-bob@npm:^0.32.0": + version: 0.32.0 + resolution: "react-native-builder-bob@npm:0.32.0" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/plugin-transform-strict-mode": "npm:^7.24.7" + "@babel/preset-env": "npm:^7.25.2" + "@babel/preset-flow": "npm:^7.24.7" + "@babel/preset-react": "npm:^7.24.7" + "@babel/preset-typescript": "npm:^7.24.7" + babel-plugin-module-resolver: "npm:^5.0.2" + browserslist: "npm:^4.20.4" + cosmiconfig: "npm:^9.0.0" + cross-spawn: "npm:^7.0.3" + dedent: "npm:^0.7.0" + del: "npm:^6.1.1" + escape-string-regexp: "npm:^4.0.0" + fs-extra: "npm:^10.1.0" + glob: "npm:^8.0.3" + is-git-dirty: "npm:^2.0.1" + json5: "npm:^2.2.1" + kleur: "npm:^4.1.4" + metro-config: "npm:^0.80.9" + prompts: "npm:^2.4.2" + which: "npm:^2.0.2" + yargs: "npm:^17.5.1" + bin: + bob: bin/bob + checksum: 10/485dfb1236737bb720b547c6482cf8afd7f6c798a83928e25da68aa6bcac46ada89d447fd65cb6505d9dd86183e39d7f1481e964e152a43476cff861aa42a0f0 + languageName: node + linkType: hard + "react-native-gesture-handler@npm:^2.20.0": version: 2.20.0 resolution: "react-native-gesture-handler@npm:2.20.0" @@ -15231,7 +16259,7 @@ __metadata: languageName: node linkType: hard -"regenerate-unicode-properties@npm:^10.1.0": +"regenerate-unicode-properties@npm:^10.1.0, regenerate-unicode-properties@npm:^10.2.0": version: 10.2.0 resolution: "regenerate-unicode-properties@npm:10.2.0" dependencies: @@ -15303,6 +16331,38 @@ __metadata: languageName: node linkType: hard +"regexpu-core@npm:^6.1.1": + version: 6.1.1 + resolution: "regexpu-core@npm:6.1.1" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.0" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.11.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10/6a7ffb42781cacedd7df3c47c72e2d725401a699855be94a37ece5e29d3f25ab3abdd81d73f2d9d32ebc4d41bd25e3c3cc21e5284203faf19e60943adc55252d + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10/b930f03347e4123c917d7b40436b4f87f625b8dd3e705b447ddd44804e4616c3addb7453f0902d6e914ab0446c30e816e445089bb641a4714237fe8141a0ef9d + languageName: node + linkType: hard + +"regjsparser@npm:^0.11.0": + version: 0.11.2 + resolution: "regjsparser@npm:0.11.2" + dependencies: + jsesc: "npm:~3.0.2" + bin: + regjsparser: bin/parser + checksum: 10/8075eb76d6cde8a3f188696eb18ebf229376944d35e3043f73b889a15156cf539f2801941a5630433060512cbcb2f92f6a194fac44f2e0f1497517e12aa565b3 + languageName: node + linkType: hard + "regjsparser@npm:^0.9.1": version: 0.9.1 resolution: "regjsparser@npm:0.9.1" @@ -15441,6 +16501,13 @@ __metadata: languageName: node linkType: hard +"reselect@npm:^4.1.7": + version: 4.1.8 + resolution: "reselect@npm:4.1.8" + checksum: 10/199984d9872f71cd207f4aa6e6fd2bd48d95154f7aa9b3aee3398335f39f5491059e732f28c12e9031d5d434adab2c458dc8af5afb6564d0ad37e1644445e09c + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -15492,7 +16559,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.4": +"resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.4, resolve@npm:^1.22.8": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -15527,7 +16594,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -17823,7 +18890,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^2.0.1": +"which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" dependencies: From a77ac3becf28363f2ae6ee2979f2c01eb556cea6 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Mon, 18 Nov 2024 08:29:46 +0100 Subject: [PATCH 04/22] fix: apply strict tsconfig --- __tests__/components/Camera.test.tsx | 14 +- packages/examples/src/App.tsx | 2 +- .../Animations/AnimateCircleAlongLine.tsx | 8 +- .../examples/Annotations/CustomCallout.tsx | 16 +- .../src/examples/Annotations/MarkerView.tsx | 3 +- .../Annotations/ShowPointAnnotation.tsx | 10 +- .../FillRasterLayer/IndoorBuilding.tsx | 4 +- .../FillRasterLayer/WatercolorRasterTiles.tsx | 4 +- .../src/examples/Map/CreateOfflineRegion.tsx | 6 +- .../src/examples/Map/SetTintColor.tsx | 6 +- .../examples/src/examples/Map/ShowMap.tsx | 6 +- .../src/examples/Map/ShowMapLocalStyle.tsx | 4 +- .../SymbolCircleLayer/EarthQuakes.tsx | 13 +- .../FollowUserLocationAlignment.tsx | 4 +- .../FollowUserLocationRenderMode.tsx | 8 +- .../SetAndroidPreferredFramesPerSecond.tsx | 6 +- .../UserLocation/UserLocationDisplacement.tsx | 6 +- .../UserLocation/UserLocationUpdate.tsx | 2 +- .../examples/src/examples/common/Bubble.tsx | 8 +- .../examples/src/examples/common/Page.tsx | 2 +- .../src/examples/common/PulseCircleLayer.tsx | 9 +- .../src/examples/common/TabBarPage.tsx | 4 +- packages/examples/src/examples/index.ts | 1 + packages/examples/src/scenes/Examples.tsx | 1 - packages/examples/src/utils/RouteSimulator.js | 113 ------------- packages/examples/src/utils/RouteSimulator.ts | 155 ++++++++++++++++++ .../examples/src/utils/{index.js => index.ts} | 2 +- packages/examples/tsconfig.json | 7 +- packages/expo-app/app.config.ts | 2 +- .../react-native-app/android/app/build.gradle | 2 +- plugin/src/withMapLibre.ts | 4 +- scripts/codegen.ts | 2 +- scripts/utils/TemplateHelpers.ts | 5 +- scripts/utils/getNativeVersion.ts | 2 +- src/components/Annotation.tsx | 16 +- src/components/BackgroundLayer.tsx | 8 +- src/components/Callout.tsx | 10 +- src/components/Camera.tsx | 8 +- src/components/CircleLayer.tsx | 8 +- src/components/FillExtrusionLayer.tsx | 8 +- src/components/FillLayer.tsx | 8 +- src/components/HeadingIndicator.tsx | 4 +- src/components/HeatmapLayer.tsx | 8 +- src/components/ImageSource.tsx | 4 +- src/components/Images.tsx | 14 +- src/components/Light.tsx | 10 +- src/components/LineLayer.tsx | 8 +- src/components/MapView.tsx | 23 +-- src/components/MarkerView.tsx | 4 +- src/components/NativeUserLocation.tsx | 2 +- src/components/PointAnnotation.tsx | 10 +- src/components/RasterLayer.tsx | 8 +- src/components/RasterSource.tsx | 2 +- src/components/ShapeSource.tsx | 22 ++- src/components/Style.tsx | 31 ++-- src/components/SymbolLayer.tsx | 12 +- src/components/UserLocation.tsx | 26 ++- src/components/VectorSource.tsx | 12 +- src/hooks/useAbstractLayer.ts | 16 +- src/hooks/useAbstractSource.ts | 4 +- src/hooks/useNativeBridge.ts | 4 +- src/hooks/useNativeRef.ts | 4 +- src/modules/location/locationManager.ts | 2 +- src/modules/offline/offlineManager.ts | 31 ++-- src/modules/snapshot/snapshotManager.ts | 2 +- src/requestAndroidLocationPermissions.ts | 6 +- src/types/BaseProps.ts | 4 +- src/types/OnPressEvent.ts | 4 +- src/types/index.ts | 3 +- src/utils/BridgeValue.ts | 16 +- src/utils/Logger.ts | 2 +- src/utils/StyleValue.ts | 4 +- src/utils/animated/Animated.ts | 4 +- .../animated/AnimatedCoordinatesArray.ts | 43 ++--- src/utils/animated/AnimatedPoint.ts | 8 +- .../animated/AnimatedRouteCoordinatesArray.ts | 23 ++- src/utils/filterUtils.ts | 2 +- src/utils/index.ts | 10 +- 78 files changed, 488 insertions(+), 411 deletions(-) delete mode 100755 packages/examples/src/utils/RouteSimulator.js create mode 100755 packages/examples/src/utils/RouteSimulator.ts rename packages/examples/src/utils/{index.js => index.ts} (81%) diff --git a/__tests__/components/Camera.test.tsx b/__tests__/components/Camera.test.tsx index 588791e68..81df8726d 100644 --- a/__tests__/components/Camera.test.tsx +++ b/__tests__/components/Camera.test.tsx @@ -2,16 +2,16 @@ import { render } from "@testing-library/react-native"; import React from "react"; import Camera, { - CameraBounds, - CameraProps, - CameraRef, - CameraStop, - CameraStops, + type CameraBounds, + type CameraProps, + type CameraRef, + type CameraStop, + type CameraStops, getNativeCameraMode, - NativeCameraProps, + type NativeCameraProps, UserTrackingMode, } from "../../src/components/Camera"; -import { NativeRef } from "../../src/hooks/useNativeRef"; +import { type NativeRef } from "../../src/hooks/useNativeRef"; const mockCameraNativeRef = React.createRef>(); jest.mock("../../src/hooks/useNativeRef", () => ({ diff --git a/packages/examples/src/App.tsx b/packages/examples/src/App.tsx index b4cba5f19..f6683a0da 100755 --- a/packages/examples/src/App.tsx +++ b/packages/examples/src/App.tsx @@ -1,5 +1,5 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import React, { useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import { StyleSheet, Text, View, LogBox } from "react-native"; import { SafeAreaView, SafeAreaProvider } from "react-native-safe-area-context"; import "react-native-gesture-handler"; diff --git a/packages/examples/src/examples/Animations/AnimateCircleAlongLine.tsx b/packages/examples/src/examples/Animations/AnimateCircleAlongLine.tsx index d78d3007c..136cde8a2 100755 --- a/packages/examples/src/examples/Animations/AnimateCircleAlongLine.tsx +++ b/packages/examples/src/examples/Animations/AnimateCircleAlongLine.tsx @@ -1,5 +1,7 @@ -import MapLibreGL, { LineLayerStyle } from "@maplibre/maplibre-react-native"; -import React, { useEffect, useState } from "react"; +import MapLibreGL, { + type LineLayerStyle, +} from "@maplibre/maplibre-react-native"; +import { useEffect, useState } from "react"; import sheet from "../../styles/sheet"; import RouteSimulator from "../../utils/RouteSimulator"; @@ -71,7 +73,7 @@ export default function AnimateCircleAlongLine() { const { nearestIndex } = currentPoint.properties; const coords = ROUTE_FEATURE.geometry.coordinates.filter( - (c, i) => i <= nearestIndex, + (_coordinates, index) => index <= nearestIndex, ); coords.push(currentPoint.geometry.coordinates); diff --git a/packages/examples/src/examples/Annotations/CustomCallout.tsx b/packages/examples/src/examples/Annotations/CustomCallout.tsx index 20d2d0604..b253e0904 100644 --- a/packages/examples/src/examples/Annotations/CustomCallout.tsx +++ b/packages/examples/src/examples/Annotations/CustomCallout.tsx @@ -1,6 +1,14 @@ -import MapLibreGL, { SymbolLayerStyle } from "@maplibre/maplibre-react-native"; -import React, { FC, ReactElement, useState } from "react"; -import { StyleProp, Text, TextStyle, View, ViewStyle } from "react-native"; +import MapLibreGL, { + type SymbolLayerStyle, +} from "@maplibre/maplibre-react-native"; +import { type ReactElement, useState } from "react"; +import { + type StyleProp, + Text, + type TextStyle, + View, + type ViewStyle, +} from "react-native"; import exampleIcon from "../../assets/pin.png"; import sheet from "../../styles/sheet"; @@ -33,7 +41,7 @@ type CustomCalloutViewProps = { message: string; }; -const CustomCalloutView: FC = ({ message }) => { +const CustomCalloutView = ({ message }: CustomCalloutViewProps) => { return ( {message} diff --git a/packages/examples/src/examples/Annotations/MarkerView.tsx b/packages/examples/src/examples/Annotations/MarkerView.tsx index e7fd96570..85ea52ee9 100644 --- a/packages/examples/src/examples/Annotations/MarkerView.tsx +++ b/packages/examples/src/examples/Annotations/MarkerView.tsx @@ -1,5 +1,4 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import React from "react"; import { StyleSheet, Text, TouchableOpacity, View } from "react-native"; import sheet from "../../styles/sheet"; @@ -43,7 +42,7 @@ function AnnotationContent({ title }: AnnotationContentProps) { const COORDINATES = [ [-73.99155, 40.73581], [-73.99155, 40.73681], -]; +] as [GeoJSON.Position, GeoJSON.Position]; export default function MarkerView() { return ( diff --git a/packages/examples/src/examples/Annotations/ShowPointAnnotation.tsx b/packages/examples/src/examples/Annotations/ShowPointAnnotation.tsx index db8db0172..0a6632f66 100755 --- a/packages/examples/src/examples/Annotations/ShowPointAnnotation.tsx +++ b/packages/examples/src/examples/Annotations/ShowPointAnnotation.tsx @@ -1,5 +1,5 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import React, { useRef, useState } from "react"; +import { useRef, useState, type ReactNode } from "react"; import { View, Text, @@ -83,11 +83,9 @@ const ShowPointAnnotation = () => { ); const renderAnnotations = () => { - const items = []; - - for (let i = 0; i < coordinates.length; i++) { - const coordinate = coordinates[i]; + const items: ReactNode[] = []; + coordinates.forEach((coordinate, i) => { const title = `Lon: ${coordinate[0]} Lat: ${coordinate[1]}`; const id = `pointAnnotation${i}`; @@ -115,7 +113,7 @@ const ShowPointAnnotation = () => {
, ); } - } + }); return items; }; diff --git a/packages/examples/src/examples/FillRasterLayer/IndoorBuilding.tsx b/packages/examples/src/examples/FillRasterLayer/IndoorBuilding.tsx index 9f00c735b..6e924a926 100755 --- a/packages/examples/src/examples/FillRasterLayer/IndoorBuilding.tsx +++ b/packages/examples/src/examples/FillRasterLayer/IndoorBuilding.tsx @@ -1,5 +1,5 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import React, { useState } from "react"; +import { useState } from "react"; import indoorMapGeoJSON from "../../assets/indoor_3d_map.json"; import sheet from "../../styles/sheet"; @@ -27,7 +27,7 @@ export default function IndoorBuilding() { label: option.toString(), data: option, }))} - onOptionPress={(index, data) => setValue(data)} + onOptionPress={(_index, data) => setValue(data)} > setValue(data)} + onOptionPress={(_index, data) => setValue(data)} > ({ })); export default function SetTintColor() { - const [tintColor, setTintColor] = useState(OPTIONS[0].data); + const [tintColor, setTintColor] = useState(OPTIONS[0]!.data); return ( { + onOptionPress={(_index, data) => { setTintColor(data); }} > diff --git a/packages/examples/src/examples/Map/ShowMap.tsx b/packages/examples/src/examples/Map/ShowMap.tsx index 90bf34e2b..d4167d1ef 100755 --- a/packages/examples/src/examples/Map/ShowMap.tsx +++ b/packages/examples/src/examples/Map/ShowMap.tsx @@ -1,5 +1,5 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import React, { useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import { Alert } from "react-native"; import sheet from "../../styles/sheet"; @@ -16,7 +16,7 @@ const OPTIONS = Object.keys(MapLibreGL.StyleURL) .sort(onSortOptions); export default function ShowMap() { - const [styleURL, setStyleURL] = useState(OPTIONS[0].data); + const [styleURL, setStyleURL] = useState(OPTIONS[0]!.data); useEffect(() => { MapLibreGL.locationManager.start(); @@ -30,7 +30,7 @@ export default function ShowMap() { { + onOptionPress={(_index, data): void => { setStyleURL(data); }} > diff --git a/packages/examples/src/examples/Map/ShowMapLocalStyle.tsx b/packages/examples/src/examples/Map/ShowMapLocalStyle.tsx index 23c136000..b971fe666 100644 --- a/packages/examples/src/examples/Map/ShowMapLocalStyle.tsx +++ b/packages/examples/src/examples/Map/ShowMapLocalStyle.tsx @@ -1,5 +1,5 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import React, { FC, useEffect } from "react"; +import { useEffect } from "react"; import { Alert } from "react-native"; import sheet from "../../styles/sheet"; @@ -8,7 +8,7 @@ import Page from "../common/Page"; // eslint-disable-next-line @typescript-eslint/no-var-requires const style = JSON.stringify(require("../../assets/map-styleURL-style.json")); -const ShowMap: FC = (props) => { +const ShowMap = () => { useEffect(() => { MapLibreGL.locationManager.start(); diff --git a/packages/examples/src/examples/SymbolCircleLayer/EarthQuakes.tsx b/packages/examples/src/examples/SymbolCircleLayer/EarthQuakes.tsx index 09952ca60..93c2e74fa 100755 --- a/packages/examples/src/examples/SymbolCircleLayer/EarthQuakes.tsx +++ b/packages/examples/src/examples/SymbolCircleLayer/EarthQuakes.tsx @@ -1,7 +1,6 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import { FeatureCollection } from "geojson"; import moment from "moment"; -import React, { useRef, useState } from "react"; +import { useRef, useState } from "react"; import { FlatList, Modal, @@ -189,21 +188,19 @@ export default function EarthQuakes() { { const cluster = event.features[0]; - console.log(cluster.type); - if (cluster.type === "Feature") { + console.log(cluster?.type); + if (cluster?.type === "Feature") { const collection = await shapeSource.current?.getClusterLeaves( - // TODO: improve once GeoJSON types are aligned - // @ts-ignore cluster, 999, 0, ); - setCluster(collection as FeatureCollection); + setCluster(collection as GeoJSON.FeatureCollection); } }} cluster diff --git a/packages/examples/src/examples/UserLocation/FollowUserLocationAlignment.tsx b/packages/examples/src/examples/UserLocation/FollowUserLocationAlignment.tsx index 98957bd4c..5e533f8f9 100755 --- a/packages/examples/src/examples/UserLocation/FollowUserLocationAlignment.tsx +++ b/packages/examples/src/examples/UserLocation/FollowUserLocationAlignment.tsx @@ -1,5 +1,5 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import React, { useState } from "react"; +import { useState } from "react"; import sheet from "../../styles/sheet"; import TabBarPage from "../common/TabBarPage"; @@ -25,7 +25,7 @@ export default function FollowUserLocationAlignment() { label: alignmentValue, data: alignmentValue, }))} - onOptionPress={(index, data) => { + onOptionPress={(_index, data) => { setAlignment(data); }} > diff --git a/packages/examples/src/examples/UserLocation/FollowUserLocationRenderMode.tsx b/packages/examples/src/examples/UserLocation/FollowUserLocationRenderMode.tsx index cdf783590..2ab3b8caa 100755 --- a/packages/examples/src/examples/UserLocation/FollowUserLocationRenderMode.tsx +++ b/packages/examples/src/examples/UserLocation/FollowUserLocationRenderMode.tsx @@ -2,7 +2,7 @@ import MapLibreGL, { UserLocationRenderMode, UserTrackingMode, } from "@maplibre/maplibre-react-native"; -import React, { ReactNode, useState } from "react"; +import { type ReactNode, useState } from "react"; import { Button, Platform, Text, View } from "react-native"; import { ButtonGroup } from "../../components/ButtonGroup"; @@ -79,7 +79,7 @@ export default function FollowUserLocationRenderMode() { options={Object.values(UserTrackingMode)} value={Object.values(UserTrackingMode).indexOf(followUserMode)} onPress={(index) => { - setFollowUserMode(Object.values(UserTrackingMode)[index]); + setFollowUserMode(Object.values(UserTrackingMode)[index]!); }} /> @@ -91,7 +91,7 @@ export default function FollowUserLocationRenderMode() { options={ANDROID_RENDER_MODES} value={ANDROID_RENDER_MODES.indexOf(androidRenderMode)} onPress={(index) => { - setAndroidRenderMode(ANDROID_RENDER_MODES[index]); + setAndroidRenderMode(ANDROID_RENDER_MODES[index]!); }} /> @@ -146,7 +146,7 @@ export default function FollowUserLocationRenderMode() { value={Object.values(ExampleRenderMode).indexOf(renderMode)} options={Object.values(ExampleRenderMode).map(humanize)} onPress={(index: number) => { - setRenderMode(Object.values(ExampleRenderMode)[index]); + setRenderMode(Object.values(ExampleRenderMode)[index]!); }} /> diff --git a/packages/examples/src/examples/UserLocation/SetAndroidPreferredFramesPerSecond.tsx b/packages/examples/src/examples/UserLocation/SetAndroidPreferredFramesPerSecond.tsx index 0f00aaacd..134782248 100644 --- a/packages/examples/src/examples/UserLocation/SetAndroidPreferredFramesPerSecond.tsx +++ b/packages/examples/src/examples/UserLocation/SetAndroidPreferredFramesPerSecond.tsx @@ -1,5 +1,5 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import React, { useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import sheet from "../../styles/sheet"; import TabBarPage from "../common/TabBarPage"; @@ -8,7 +8,7 @@ const OPTIONS = [5, 10, 15].map((data) => ({ label: data + " FPS", data })); export default function SetAndroidPreferredFramesPerSecond() { const [androidPreferredFramesPerSecond, setAndroidPreferredFramesPerSecond] = - useState(OPTIONS[0].data); + useState(OPTIONS[0]?.data); useEffect(() => { MapLibreGL.locationManager.start(); @@ -21,7 +21,7 @@ export default function SetAndroidPreferredFramesPerSecond() { return ( { + onOptionPress={(_index, data) => { setAndroidPreferredFramesPerSecond(data); }} > diff --git a/packages/examples/src/examples/UserLocation/UserLocationDisplacement.tsx b/packages/examples/src/examples/UserLocation/UserLocationDisplacement.tsx index 2b0c77b59..17584ecc9 100644 --- a/packages/examples/src/examples/UserLocation/UserLocationDisplacement.tsx +++ b/packages/examples/src/examples/UserLocation/UserLocationDisplacement.tsx @@ -1,5 +1,5 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import React, { useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import sheet from "../../styles/sheet"; import TabBarPage from "../common/TabBarPage"; @@ -7,7 +7,7 @@ import TabBarPage from "../common/TabBarPage"; const OPTIONS = [0, 5, 10].map((data) => ({ label: data + " Meter", data })); export default function UserLocationDisplacement() { - const [minDisplacement, setMinDisplacement] = useState(OPTIONS[0].data); + const [minDisplacement, setMinDisplacement] = useState(OPTIONS[0]!.data); useEffect(() => { MapLibreGL.locationManager.start(); @@ -20,7 +20,7 @@ export default function UserLocationDisplacement() { return ( { + onOptionPress={(_index, data) => { setMinDisplacement(data); }} > diff --git a/packages/examples/src/examples/UserLocation/UserLocationUpdate.tsx b/packages/examples/src/examples/UserLocation/UserLocationUpdate.tsx index 3fd13939a..0ec090c50 100755 --- a/packages/examples/src/examples/UserLocation/UserLocationUpdate.tsx +++ b/packages/examples/src/examples/UserLocation/UserLocationUpdate.tsx @@ -1,5 +1,5 @@ import MapLibreGL from "@maplibre/maplibre-react-native"; -import React, { useState } from "react"; +import { useState } from "react"; import { Text } from "react-native"; import sheet from "../../styles/sheet"; diff --git a/packages/examples/src/examples/common/Bubble.tsx b/packages/examples/src/examples/common/Bubble.tsx index 22b74fe69..7867be09e 100755 --- a/packages/examples/src/examples/common/Bubble.tsx +++ b/packages/examples/src/examples/common/Bubble.tsx @@ -1,12 +1,12 @@ -import React, { ReactNode } from "react"; +import { type ReactNode } from "react"; import { - StyleProp, + type StyleProp, StyleSheet, TouchableOpacity, View, - ViewStyle, + type ViewStyle, } from "react-native"; -import { GestureResponderEvent } from "react-native/Libraries/Types/CoreEventTypes"; +import { type GestureResponderEvent } from "react-native/Libraries/Types/CoreEventTypes"; const styles = StyleSheet.create({ container: { diff --git a/packages/examples/src/examples/common/Page.tsx b/packages/examples/src/examples/common/Page.tsx index 8bda4168b..1f4060a1d 100755 --- a/packages/examples/src/examples/common/Page.tsx +++ b/packages/examples/src/examples/common/Page.tsx @@ -1,4 +1,4 @@ -import React, { ReactNode } from "react"; +import { type ReactNode } from "react"; import { SafeAreaView } from "react-native-safe-area-context"; import sheet from "../../styles/sheet"; diff --git a/packages/examples/src/examples/common/PulseCircleLayer.tsx b/packages/examples/src/examples/common/PulseCircleLayer.tsx index 7d1e2a8db..e336c9c97 100755 --- a/packages/examples/src/examples/common/PulseCircleLayer.tsx +++ b/packages/examples/src/examples/common/PulseCircleLayer.tsx @@ -1,6 +1,7 @@ -import MapLibreGL, { CircleLayerStyle } from "@maplibre/maplibre-react-native"; -import { ShapeSourceProps } from "@maplibre/maplibre-react-native/src/components/ShapeSource"; -import React, { useEffect, useRef } from "react"; +import MapLibreGL, { + type CircleLayerStyle, +} from "@maplibre/maplibre-react-native"; +import { useEffect, useRef } from "react"; import { Animated } from "react-native"; const styles: { @@ -28,7 +29,7 @@ interface PulseCircleLayerProps { radius?: number; pulseRadius?: number; duration?: number; - shape?: ShapeSourceProps["shape"]; + shape?: GeoJSON.Feature | GeoJSON.Point; aboveLayerID?: string; } diff --git a/packages/examples/src/examples/common/TabBarPage.tsx b/packages/examples/src/examples/common/TabBarPage.tsx index 658945f87..963eb5452 100755 --- a/packages/examples/src/examples/common/TabBarPage.tsx +++ b/packages/examples/src/examples/common/TabBarPage.tsx @@ -1,4 +1,4 @@ -import React, { ReactNode, useState } from "react"; +import { type ReactNode, useState } from "react"; import Page from "./Page"; import { ButtonGroup } from "../../components/ButtonGroup"; @@ -28,7 +28,7 @@ function TabBarPage({ options={options.map((option) => option.label)} onPress={(index: number) => { setValue(index); - onOptionPress(index, options[index].data); + onOptionPress(index, options[index]!.data); }} scrollable={scrollable} /> diff --git a/packages/examples/src/examples/index.ts b/packages/examples/src/examples/index.ts index de5888ae2..19f41fd07 100644 --- a/packages/examples/src/examples/index.ts +++ b/packages/examples/src/examples/index.ts @@ -1,3 +1,4 @@ +// @ts-nocheck // ANIMATIONS export { default as AnimatedLine } from "./Animations/AnimatedLine"; export { default as AnimateCircleAlongLine } from "./Animations/AnimateCircleAlongLine"; diff --git a/packages/examples/src/scenes/Examples.tsx b/packages/examples/src/scenes/Examples.tsx index b9c9744c6..faa049685 100644 --- a/packages/examples/src/scenes/Examples.tsx +++ b/packages/examples/src/scenes/Examples.tsx @@ -1,6 +1,5 @@ import { DefaultTheme, NavigationContainer } from "@react-navigation/native"; import { createStackNavigator } from "@react-navigation/stack"; -import React from "react"; import { FlatList, StyleSheet, diff --git a/packages/examples/src/utils/RouteSimulator.js b/packages/examples/src/utils/RouteSimulator.js deleted file mode 100755 index b338b5234..000000000 --- a/packages/examples/src/utils/RouteSimulator.js +++ /dev/null @@ -1,113 +0,0 @@ -import along from "@turf/along"; -import findDistance from "@turf/distance"; -import { point } from "@turf/helpers"; -import { Animated } from "react-native"; - -class Polyline { - constructor(lineStringFeature) { - this._coordinates = lineStringFeature.geometry.coordinates; - this._lineStringFeature = lineStringFeature; - - this._totalDistance = 0; - for (let i = 1; i < this._coordinates.length; i++) { - this._totalDistance += findDistance(this.get(i - 1), this.get(i)); - } - } - - coordinateFromStart(distance) { - const pointAlong = along(this._lineStringFeature, distance); - pointAlong.properties.distance = distance; - pointAlong.properties.nearestIndex = this.findNearestFloorIndex(distance); - return pointAlong; - } - - findNearestFloorIndex(currentDistance) { - let runningDistance = 0; - - for (let i = 1; i < this._coordinates.length; i++) { - runningDistance += findDistance(this.get(i - 1), this.get(i)); - - if (runningDistance >= currentDistance) { - return i - 1; - } - } - - return -1; - } - - get(index) { - return point(this._coordinates[index]); - } - - get totalDistance() { - return this._totalDistance; - } -} - -class RouteSimulator { - constructor(lineString, speed = 0.04) { - this._polyline = new Polyline(lineString); - this._previousDistance = 0; - this._currentDistance = 0; - this._speed = speed; - } - - addListener(listener) { - this._listener = listener; - } - - start() { - this.tick(); - } - - reset() { - this._previousDistance = 0; - this._currentDistance = 0; - this.start(); - } - - stop() { - if (this._anim) { - this._anim.stop(); - } - } - - tick() { - requestAnimationFrame(() => { - this._previousDistance = this._currentDistance; - this._currentDistance += this._speed; - - // interpolate between previous to current distance - const listener = (step) => { - const currentPosition = this._polyline.coordinateFromStart(step.value); - this.emit(currentPosition); - }; - - this._animatedValue = new Animated.Value(this._previousDistance); - this._animatedValue.addListener(listener); - - this._anim = Animated.timing(this._animatedValue, { - toValue: this._currentDistance, - duration: 5, - useNativeDriver: false, - }); - - this._anim.start(() => { - this._animatedValue.removeListener(listener); - - if (this._currentDistance > this._polyline.totalDistance) { - this.reset(); - return; - } - - this.tick(); - }); - }); - } - - emit(pointFeature) { - this._listener(pointFeature); - } -} - -export default RouteSimulator; diff --git a/packages/examples/src/utils/RouteSimulator.ts b/packages/examples/src/utils/RouteSimulator.ts new file mode 100755 index 000000000..33c6e5aef --- /dev/null +++ b/packages/examples/src/utils/RouteSimulator.ts @@ -0,0 +1,155 @@ +import along from "@turf/along"; +import findDistance from "@turf/distance"; +import { point } from "@turf/helpers"; +import { Animated } from "react-native"; + +type RouteSimulatorFeature = GeoJSON.Feature< + GeoJSON.Point, + { distance: number; nearestIndex: number } +>; + +class Polyline { + private readonly coordinates: GeoJSON.Position[]; + private readonly lineStringFeature: GeoJSON.Feature; + public readonly totalDistance: number; + + constructor(lineStringFeature: GeoJSON.Feature) { + this.coordinates = lineStringFeature.geometry.coordinates; + this.lineStringFeature = lineStringFeature; + + this.totalDistance = 0; + for (let i = 1; i < this.coordinates.length; i++) { + this.totalDistance += findDistance(this.get(i - 1), this.get(i)); + } + } + + coordinateFromStart(distance: number): RouteSimulatorFeature { + const pointAlong = along(this.lineStringFeature, distance); + + return { + ...pointAlong, + properties: { + ...pointAlong.properties, + distance, + nearestIndex: this.findNearestFloorIndex(distance), + }, + }; + } + + findNearestFloorIndex(currentDistance: number) { + let runningDistance = 0; + + for (let i = 1; i < this.coordinates.length; i++) { + runningDistance += findDistance(this.get(i - 1), this.get(i)); + + if (runningDistance >= currentDistance) { + return i - 1; + } + } + + return -1; + } + + get(index: number) { + const coordinates = this.coordinates[index]; + + if (!coordinates) { + throw new Error("RouteSimulator coordinates not found"); + } + + return point(coordinates); + } +} + +class RouteSimulator { + private readonly polyline: Polyline; + private previousDistance: number; + private currentDistance: number; + private readonly speed: number; + + private animatedValue: Animated.Value | undefined; + private anim: Animated.CompositeAnimation | undefined; + private listener: + | (( + point: GeoJSON.Feature< + GeoJSON.Point, + { distance: number; nearestIndex: number } + >, + ) => void) + | undefined; + + constructor(lineString: GeoJSON.Feature, speed = 0.04) { + this.polyline = new Polyline(lineString); + this.previousDistance = 0; + this.currentDistance = 0; + this.speed = speed; + } + + addListener( + listener: ( + point: GeoJSON.Feature< + GeoJSON.Point, + { distance: number; nearestIndex: number } + >, + ) => void, + ) { + this.listener = listener; + } + + start() { + this.tick(); + } + + reset() { + this.previousDistance = 0; + this.currentDistance = 0; + this.start(); + } + + stop() { + if (this.anim) { + this.anim.stop(); + } + } + + tick() { + requestAnimationFrame(() => { + this.previousDistance = this.currentDistance; + this.currentDistance += this.speed; + + // interpolate between previous to current distance + const listener: Animated.ValueListenerCallback = (step) => { + const currentPosition = this.polyline.coordinateFromStart(step.value); + this.emit(currentPosition); + }; + + this.animatedValue = new Animated.Value( + this.previousDistance, + ) as Animated.Value; + const listenerId = this.animatedValue.addListener(listener); + + this.anim = Animated.timing(this.animatedValue, { + toValue: this.currentDistance, + duration: 5, + useNativeDriver: false, + }); + + this.anim.start(() => { + this.animatedValue?.removeListener(listenerId); + + if (this.currentDistance > this.polyline.totalDistance) { + this.reset(); + return; + } + + this.tick(); + }); + }); + } + + emit(pointFeature: RouteSimulatorFeature) { + this.listener?.(pointFeature); + } +} + +export default RouteSimulator; diff --git a/packages/examples/src/utils/index.js b/packages/examples/src/utils/index.ts similarity index 81% rename from packages/examples/src/utils/index.js rename to packages/examples/src/utils/index.ts index 24e8f3c7b..1a71d9474 100755 --- a/packages/examples/src/utils/index.js +++ b/packages/examples/src/utils/index.ts @@ -4,7 +4,7 @@ export const IS_ANDROID = Platform.OS === "android"; export const DEFAULT_CENTER_COORDINATE = [-77.036086, 38.910233]; export const SF_OFFICE_COORDINATE = [-122.400021, 37.789085]; -export function onSortOptions(a, b) { +export function onSortOptions(a: { label: string }, b: { label: string }) { if (a.label < b.label) { return -1; } diff --git a/packages/examples/tsconfig.json b/packages/examples/tsconfig.json index 1c8ae81f4..e3a3ad6ea 100644 --- a/packages/examples/tsconfig.json +++ b/packages/examples/tsconfig.json @@ -1,9 +1,6 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "strict": true, - "noEmit": true, - "resolveJsonModule": true - }, - "include": ["**/*.ts", "**/*.tsx"] + "strict": true + } } diff --git a/packages/expo-app/app.config.ts b/packages/expo-app/app.config.ts index 2fe52e424..92fc5b56f 100644 --- a/packages/expo-app/app.config.ts +++ b/packages/expo-app/app.config.ts @@ -1,4 +1,4 @@ -import { ExpoConfig, ConfigContext } from "expo/config"; +import { type ExpoConfig, type ConfigContext } from "expo/config"; export default ({ config }: ConfigContext): ExpoConfig => ({ ...config, diff --git a/packages/react-native-app/android/app/build.gradle b/packages/react-native-app/android/app/build.gradle index 667fcecee..f30f8846f 100644 --- a/packages/react-native-app/android/app/build.gradle +++ b/packages/react-native-app/android/app/build.gradle @@ -36,7 +36,7 @@ react { // The name of the generated asset file containing your JS bundle // bundleAssetName = "MyApplication.android.bundle" // - // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' + // The entry file for bundle generation. Default is 'index.android.js' or 'index.ts' // entryFile = file("../js/MyApplication.android.js") // // A list of extra flags to pass to the 'bundle' commands. diff --git a/plugin/src/withMapLibre.ts b/plugin/src/withMapLibre.ts index f7ea3ff5d..cb4451189 100644 --- a/plugin/src/withMapLibre.ts +++ b/plugin/src/withMapLibre.ts @@ -1,9 +1,9 @@ import { - ConfigPlugin, + type ConfigPlugin, createRunOncePlugin, withDangerousMod, withXcodeProject, - XcodeProject, + type XcodeProject, } from "@expo/config-plugins"; import { mergeContents, diff --git a/scripts/codegen.ts b/scripts/codegen.ts index 1869fa437..b8d50bb93 100644 --- a/scripts/codegen.ts +++ b/scripts/codegen.ts @@ -180,7 +180,7 @@ async function generate() { for (let i = 0; i < words.length; i++) { const word = words[i]; - if (word.includes("-")) { + if (word?.includes("-")) { words[i] = camelCase(word); } } diff --git a/scripts/utils/TemplateHelpers.ts b/scripts/utils/TemplateHelpers.ts index b0eec63bc..6733f55ec 100644 --- a/scripts/utils/TemplateHelpers.ts +++ b/scripts/utils/TemplateHelpers.ts @@ -230,7 +230,7 @@ export function jsStyleType(prop: any) { export function jsDocPropRequires(prop: any) { if (!prop.doc.requires) { - return; + return undefined; } let desc = ""; @@ -493,7 +493,8 @@ export function getStyleDefaultValue(style: any) { Object.keys(iosSpecOverrides).forEach((propName) => { const camelCasePropName = camelCase(propName); + iosPropNameOverrides[camelCasePropName] = camelCase( - iosSpecOverrides[propName], + iosSpecOverrides[propName]!, ); }); diff --git a/scripts/utils/getNativeVersion.ts b/scripts/utils/getNativeVersion.ts index d6449bab7..ac02f5806 100644 --- a/scripts/utils/getNativeVersion.ts +++ b/scripts/utils/getNativeVersion.ts @@ -5,7 +5,7 @@ async function getNativeVersion(pathSegments: string[], regex: RegExp) { const resolvedFilePath = path.join(__dirname, "..", "..", ...pathSegments); const lines = (await fs.readFile(resolvedFilePath, "utf8")).split("\n"); const line = lines.filter((i) => regex.exec(i))[0]; - const version = regex.exec(line)?.[1]; + const version = line && regex.exec(line)?.[1]; if (!version) { throw new Error("Could not find native version from " + resolvedFilePath); diff --git a/src/components/Annotation.tsx b/src/components/Annotation.tsx index c06e7b464..ad6f3704e 100644 --- a/src/components/Annotation.tsx +++ b/src/components/Annotation.tsx @@ -1,14 +1,16 @@ -import React, { - ReactElement, +import { + forwardRef, + type ReactElement, useCallback, useEffect, useImperativeHandle, + useState, } from "react"; import { Animated as RNAnimated, Easing } from "react-native"; import SymbolLayer from "./SymbolLayer"; -import OnPressEvent from "../types/OnPressEvent"; -import { SymbolLayerStyleProps } from "../utils/MaplibreStyles"; +import { type OnPressEvent } from "../types/OnPressEvent"; +import { type SymbolLayerStyleProps } from "../utils/MaplibreStyles"; import { AnimatedShapeSource } from "../utils/animated/Animated"; import AnimatedMapPoint from "../utils/animated/AnimatedPoint"; @@ -47,7 +49,7 @@ interface AnnotationRef { symbolStyle: SymbolLayerStyleProps | undefined; } -const Annotation = React.forwardRef( +const Annotation = forwardRef( ( { animated = false, @@ -72,9 +74,7 @@ const Annotation = React.forwardRef( }), ); - const [shape, setShape] = React.useState( - getShapeFromProps(props), - ); + const [shape, setShape] = useState(getShapeFromProps(props)); // this will run useEffect only when actual coordinates values change const coordinateDeps = props.coordinates?.join(","); diff --git a/src/components/BackgroundLayer.tsx b/src/components/BackgroundLayer.tsx index 6b3c854bc..56d4b41ff 100644 --- a/src/components/BackgroundLayer.tsx +++ b/src/components/BackgroundLayer.tsx @@ -2,11 +2,11 @@ import React from "react"; import { NativeModules, requireNativeComponent } from "react-native"; import useAbstractLayer, { - BaseLayerProps, - NativeBaseProps, + type BaseLayerProps, + type NativeBaseProps, } from "../hooks/useAbstractLayer"; -import BaseProps from "../types/BaseProps"; -import { BackgroundLayerStyleProps } from "../utils/MaplibreStyles"; +import { type BaseProps } from "../types/BaseProps"; +import { type BackgroundLayerStyleProps } from "../utils/MaplibreStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/Callout.tsx b/src/components/Callout.tsx index c94723f66..0dd9052be 100644 --- a/src/components/Callout.tsx +++ b/src/components/Callout.tsx @@ -1,13 +1,13 @@ -import React, { ReactElement } from "react"; +import { Children, type ReactElement } from "react"; import { View, Text, Animated, requireNativeComponent, StyleSheet, - ViewStyle, - ViewProps, - StyleProp, + type ViewStyle, + type ViewProps, + type StyleProp, } from "react-native"; export const NATIVE_MODULE_NAME = "RCTMLNCallout"; @@ -102,7 +102,7 @@ const Callout = (props: CalloutProps): ReactElement => { } as ViewStyle, ]; - const _hasChildren = React.Children.count(children) > 0; + const _hasChildren = Children.count(children) > 0; const _renderDefaultCallout = (): ReactElement => { return ( diff --git a/src/components/Camera.tsx b/src/components/Camera.tsx index 0196207f3..646b02a8a 100644 --- a/src/components/Camera.tsx +++ b/src/components/Camera.tsx @@ -1,11 +1,11 @@ import { point } from "@turf/helpers"; -import React, { forwardRef, memo, useImperativeHandle, useMemo } from "react"; -import { requireNativeComponent, ViewProps } from "react-native"; +import { forwardRef, memo, useImperativeHandle, useMemo } from "react"; +import { requireNativeComponent, type ViewProps } from "react-native"; import { CameraModes } from "../MLNModule"; import { useNativeRef } from "../hooks/useNativeRef"; -import { MaplibreGLEvent } from "../types"; -import BaseProps from "../types/BaseProps"; +import { type MaplibreGLEvent } from "../types"; +import { type BaseProps } from "../types/BaseProps"; import { CameraMode } from "../types/CameraMode"; import { makeNativeBounds } from "../utils/makeNativeBounds"; diff --git a/src/components/CircleLayer.tsx b/src/components/CircleLayer.tsx index 46d5418d6..ea91d0b38 100644 --- a/src/components/CircleLayer.tsx +++ b/src/components/CircleLayer.tsx @@ -2,11 +2,11 @@ import React from "react"; import { NativeModules, requireNativeComponent } from "react-native"; import useAbstractLayer, { - BaseLayerProps, - NativeBaseProps, + type BaseLayerProps, + type NativeBaseProps, } from "../hooks/useAbstractLayer"; -import BaseProps from "../types/BaseProps"; -import { CircleLayerStyleProps } from "../utils/MaplibreStyles"; +import { type BaseProps } from "../types/BaseProps"; +import { type CircleLayerStyleProps } from "../utils/MaplibreStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/FillExtrusionLayer.tsx b/src/components/FillExtrusionLayer.tsx index a39ee5dd4..8191a917c 100644 --- a/src/components/FillExtrusionLayer.tsx +++ b/src/components/FillExtrusionLayer.tsx @@ -2,11 +2,11 @@ import React from "react"; import { NativeModules, requireNativeComponent } from "react-native"; import useAbstractLayer, { - BaseLayerProps, - NativeBaseProps, + type BaseLayerProps, + type NativeBaseProps, } from "../hooks/useAbstractLayer"; -import BaseProps from "../types/BaseProps"; -import { FillExtrusionLayerStyleProps } from "../utils/MaplibreStyles"; +import { type BaseProps } from "../types/BaseProps"; +import { type FillExtrusionLayerStyleProps } from "../utils/MaplibreStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/FillLayer.tsx b/src/components/FillLayer.tsx index a09203c87..d37ca6e9b 100644 --- a/src/components/FillLayer.tsx +++ b/src/components/FillLayer.tsx @@ -2,11 +2,11 @@ import React from "react"; import { NativeModules, requireNativeComponent } from "react-native"; import useAbstractLayer, { - BaseLayerProps, - NativeBaseProps, + type BaseLayerProps, + type NativeBaseProps, } from "../hooks/useAbstractLayer"; -import BaseProps from "../types/BaseProps"; -import { FillLayerStyleProps } from "../utils/MaplibreStyles"; +import { type BaseProps } from "../types/BaseProps"; +import { type FillLayerStyleProps } from "../utils/MaplibreStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/HeadingIndicator.tsx b/src/components/HeadingIndicator.tsx index 068e77137..e1397c84e 100644 --- a/src/components/HeadingIndicator.tsx +++ b/src/components/HeadingIndicator.tsx @@ -1,9 +1,9 @@ -import React, { ReactElement } from "react"; +import { type ReactElement } from "react"; import SymbolLayer from "./SymbolLayer"; // @ts-ignore import headingIcon from "../../assets/heading.png"; -import BaseProps from "../types/BaseProps"; +import { type BaseProps } from "../types/BaseProps"; const style = { iconImage: headingIcon, diff --git a/src/components/HeatmapLayer.tsx b/src/components/HeatmapLayer.tsx index 3712d482c..a697582f6 100644 --- a/src/components/HeatmapLayer.tsx +++ b/src/components/HeatmapLayer.tsx @@ -2,11 +2,11 @@ import React from "react"; import { NativeModules, requireNativeComponent } from "react-native"; import useAbstractLayer, { - BaseLayerProps, - NativeBaseProps, + type BaseLayerProps, + type NativeBaseProps, } from "../hooks/useAbstractLayer"; -import BaseProps from "../types/BaseProps"; -import { HeatmapLayerStyleProps } from "../utils/MaplibreStyles"; +import { type BaseProps } from "../types/BaseProps"; +import { type HeatmapLayerStyleProps } from "../utils/MaplibreStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/ImageSource.tsx b/src/components/ImageSource.tsx index 2c2261397..753a885e0 100644 --- a/src/components/ImageSource.tsx +++ b/src/components/ImageSource.tsx @@ -1,8 +1,8 @@ -import React, { ReactElement } from "react"; +import { type ReactElement } from "react"; import { requireNativeComponent } from "react-native"; import useAbstractSource from "../hooks/useAbstractSource"; -import BaseProps from "../types/BaseProps"; +import { type BaseProps } from "../types/BaseProps"; import { cloneReactChildrenWithProps, isNumber, diff --git a/src/components/Images.tsx b/src/components/Images.tsx index e3595545d..678b2929d 100644 --- a/src/components/Images.tsx +++ b/src/components/Images.tsx @@ -1,14 +1,14 @@ -import React, { ReactElement } from "react"; +import { type ReactElement } from "react"; import { requireNativeComponent, Image, - NativeSyntheticEvent, - ImageSourcePropType, - ImageURISource, + type NativeSyntheticEvent, + type ImageSourcePropType, + type ImageURISource, } from "react-native"; import { SHAPE_SOURCE_NATIVE_ASSETS_KEY } from "./ShapeSource"; -import BaseProps from "../types/BaseProps"; +import { type BaseProps } from "../types/BaseProps"; export const NATIVE_MODULE_NAME = "RCTMLNImages"; @@ -90,9 +90,9 @@ const Images = ({ `Use of ${SHAPE_SOURCE_NATIVE_ASSETS_KEY} in Images#images is deprecated please use Images#nativeAssetImages`, ); nativeImages = value; - } else if (_isUrlOrPath(value)) { + } else if (value && _isUrlOrPath(value)) { imagesResult[imageName] = value; - } else if (_isImageSourcePropType(value)) { + } else if (value && _isImageSourcePropType(value)) { const res = Image.resolveAssetSource(value); if (res && res.uri) { imagesResult[imageName] = res; diff --git a/src/components/Light.tsx b/src/components/Light.tsx index fb8e1beb3..04c4cdaed 100644 --- a/src/components/Light.tsx +++ b/src/components/Light.tsx @@ -1,10 +1,12 @@ import React from "react"; import { requireNativeComponent } from "react-native"; -import useAbstractLayer, { BaseLayerProps } from "../hooks/useAbstractLayer"; -import BaseProps from "../types/BaseProps"; -import { LightLayerStyleProps } from "../utils/MaplibreStyles"; -import { StyleValue } from "../utils/StyleValue"; +import useAbstractLayer, { + type BaseLayerProps, +} from "../hooks/useAbstractLayer"; +import { type BaseProps } from "../types/BaseProps"; +import { type LightLayerStyleProps } from "../utils/MaplibreStyles"; +import { type StyleValue } from "../utils/StyleValue"; export const NATIVE_MODULE_NAME = "RCTMLNLight"; diff --git a/src/components/LineLayer.tsx b/src/components/LineLayer.tsx index 48148a0f3..4756a34dc 100644 --- a/src/components/LineLayer.tsx +++ b/src/components/LineLayer.tsx @@ -2,11 +2,11 @@ import React from "react"; import { NativeModules, requireNativeComponent } from "react-native"; import useAbstractLayer, { - BaseLayerProps, - NativeBaseProps, + type BaseLayerProps, + type NativeBaseProps, } from "../hooks/useAbstractLayer"; -import BaseProps from "../types/BaseProps"; -import { LineLayerStyleProps } from "../utils/MaplibreStyles"; +import { type BaseProps } from "../types/BaseProps"; +import { type LineLayerStyleProps } from "../utils/MaplibreStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/MapView.tsx b/src/components/MapView.tsx index 850b490bf..0c950aa12 100644 --- a/src/components/MapView.tsx +++ b/src/components/MapView.tsx @@ -1,9 +1,10 @@ import debounce from "debounce"; -import React, { +import { Component, + forwardRef, memo, - ReactElement, - ReactNode, + type ReactElement, + type ReactNode, useCallback, useEffect, useImperativeHandle, @@ -16,18 +17,18 @@ import { StyleSheet, NativeModules, requireNativeComponent, - ViewProps, - NativeMethods, - NativeSyntheticEvent, + type ViewProps, + type NativeMethods, + type NativeSyntheticEvent, } from "react-native"; import useNativeBridge from "../hooks/useNativeBridge"; import useOnce from "../hooks/useOnce"; -import { Location } from "../modules/location/locationManager"; -import BaseProps from "../types/BaseProps"; +import { type Location } from "../modules/location/locationManager"; +import { type BaseProps } from "../types/BaseProps"; import { isFunction, isAndroid } from "../utils"; import Logger from "../utils/Logger"; -import { FilterExpression } from "../utils/MaplibreStyles"; +import { type FilterExpression } from "../utils/MaplibreStyles"; import { getFilter } from "../utils/filterUtils"; const MapLibreGL = NativeModules.MLNModule; @@ -284,7 +285,7 @@ export interface MapViewRef { * MapView backed by MapLibre Native */ const MapView = memo( - React.forwardRef( + forwardRef( ( { localizeLabels = false, @@ -760,7 +761,7 @@ const MapView = memo( const contentInsetValue = useMemo(() => { if (props.contentInset === undefined) { - return; + return undefined; } if (!Array.isArray(props.contentInset)) { diff --git a/src/components/MarkerView.tsx b/src/components/MarkerView.tsx index a37382fe7..ffd6a741f 100644 --- a/src/components/MarkerView.tsx +++ b/src/components/MarkerView.tsx @@ -1,6 +1,6 @@ import { point } from "@turf/helpers"; -import React, { ReactElement, useMemo } from "react"; -import { Platform, requireNativeComponent, ViewProps } from "react-native"; +import { type ReactElement, useMemo } from "react"; +import { Platform, requireNativeComponent, type ViewProps } from "react-native"; import PointAnnotation from "./PointAnnotation"; import { toJSONString } from "../utils"; diff --git a/src/components/NativeUserLocation.tsx b/src/components/NativeUserLocation.tsx index 32f5b3136..7e9051541 100644 --- a/src/components/NativeUserLocation.tsx +++ b/src/components/NativeUserLocation.tsx @@ -1,4 +1,4 @@ -import React, { ReactElement } from "react"; +import { type ReactElement } from "react"; import { requireNativeComponent } from "react-native"; const NATIVE_MODULE_NAME = "RCTMLNNativeUserLocation"; diff --git a/src/components/PointAnnotation.tsx b/src/components/PointAnnotation.tsx index d9b72b973..c18469294 100644 --- a/src/components/PointAnnotation.tsx +++ b/src/components/PointAnnotation.tsx @@ -1,20 +1,20 @@ import { point } from "@turf/helpers"; -import React, { +import { Component, - SyntheticEvent, + type SyntheticEvent, forwardRef, useImperativeHandle, useRef, - ReactElement, + type ReactElement, } from "react"; import { Platform, StyleSheet, - ViewProps, + type ViewProps, requireNativeComponent, } from "react-native"; -import useNativeBridge, { RNMLEvent } from "../hooks/useNativeBridge"; +import useNativeBridge, { type RNMLEvent } from "../hooks/useNativeBridge"; import { isFunction, toJSONString } from "../utils"; export const NATIVE_MODULE_NAME = "RCTMLNPointAnnotation"; diff --git a/src/components/RasterLayer.tsx b/src/components/RasterLayer.tsx index 85560ff52..85a2a7348 100644 --- a/src/components/RasterLayer.tsx +++ b/src/components/RasterLayer.tsx @@ -2,11 +2,11 @@ import React from "react"; import { NativeModules, requireNativeComponent } from "react-native"; import useAbstractLayer, { - BaseLayerProps, - NativeBaseProps, + type BaseLayerProps, + type NativeBaseProps, } from "../hooks/useAbstractLayer"; -import BaseProps from "../types/BaseProps"; -import { RasterLayerStyleProps } from "../utils/MaplibreStyles"; +import { type BaseProps } from "../types/BaseProps"; +import { type RasterLayerStyleProps } from "../utils/MaplibreStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/RasterSource.tsx b/src/components/RasterSource.tsx index f2cdaf4b3..ed7e02646 100644 --- a/src/components/RasterSource.tsx +++ b/src/components/RasterSource.tsx @@ -3,7 +3,7 @@ import { NativeModules, requireNativeComponent } from "react-native"; import useAbstractSource from "../hooks/useAbstractSource"; import useOnce from "../hooks/useOnce"; -import BaseProps from "../types/BaseProps"; +import { type BaseProps } from "../types/BaseProps"; import { cloneReactChildrenWithProps } from "../utils"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/ShapeSource.tsx b/src/components/ShapeSource.tsx index ed6aaf29d..ad04cd213 100644 --- a/src/components/ShapeSource.tsx +++ b/src/components/ShapeSource.tsx @@ -1,27 +1,31 @@ -import React, { +import { Component, - ReactElement, + type ReactElement, + forwardRef, memo, useImperativeHandle, useRef, } from "react"; import { - NativeMethods, + type NativeMethods, NativeModules, - NativeSyntheticEvent, + type NativeSyntheticEvent, requireNativeComponent, } from "react-native"; import useNativeBridge from "../hooks/useNativeBridge"; -import BaseProps from "../types/BaseProps"; -import OnPressEvent from "../types/OnPressEvent"; +import { type BaseProps } from "../types/BaseProps"; +import { type OnPressEvent } from "../types/OnPressEvent"; import { cloneReactChildrenWithProps, isAndroid, isFunction, toJSONString, } from "../utils"; -import { ExpressionField, FilterExpression } from "../utils/MaplibreStyles"; +import { + type ExpressionField, + type FilterExpression, +} from "../utils/MaplibreStyles"; import { copyPropertiesAsDeprecated } from "../utils/deprecation"; import { getFilter } from "../utils/filterUtils"; @@ -158,7 +162,7 @@ export interface ShapeSourceRef { * The shape may be a url or a GeoJSON object */ const ShapeSource = memo( - React.forwardRef( + forwardRef( ( { id: shapeId = MapLibreGL.StyleSource.DefaultSourceID, @@ -356,7 +360,7 @@ const ShapeSource = memo( function _getShape(): string | undefined { if (!props.shape) { - return; + return undefined; } return toJSONString(props.shape); } diff --git a/src/components/Style.tsx b/src/components/Style.tsx index 74130c6d7..82eabb3f3 100644 --- a/src/components/Style.tsx +++ b/src/components/Style.tsx @@ -1,26 +1,29 @@ -import React, { +import { useMemo, useState, useEffect, - ReactElement, - ComponentType, + type ReactElement, + type ComponentType, } from "react"; -import BackgroundLayer, { BackgroundLayerProps } from "./BackgroundLayer"; -import CircleLayer, { CircleLayerProps } from "./CircleLayer"; +import BackgroundLayer, { type BackgroundLayerProps } from "./BackgroundLayer"; +import CircleLayer, { type CircleLayerProps } from "./CircleLayer"; import FillExtrusionLayer, { - FillExtrusionLayerProps, + type FillExtrusionLayerProps, } from "./FillExtrusionLayer"; -import FillLayer, { FillLayerProps } from "./FillLayer"; -import HeatmapLayer, { HeatmapLayerProps } from "./HeatmapLayer"; +import FillLayer, { type FillLayerProps } from "./FillLayer"; +import HeatmapLayer, { type HeatmapLayerProps } from "./HeatmapLayer"; import ImageSource from "./ImageSource"; -import LineLayer, { LineLayerProps } from "./LineLayer"; -import RasterLayer, { RasterLayerProps } from "./RasterLayer"; +import LineLayer, { type LineLayerProps } from "./LineLayer"; +import RasterLayer, { type RasterLayerProps } from "./RasterLayer"; import RasterSource from "./RasterSource"; import ShapeSource from "./ShapeSource"; -import SymbolLayer, { SymbolLayerProps } from "./SymbolLayer"; +import SymbolLayer, { type SymbolLayerProps } from "./SymbolLayer"; import VectorSource from "./VectorSource"; -import { ExpressionField, FilterExpression } from "../utils/MaplibreStyles"; +import { + type ExpressionField, + type FilterExpression, +} from "../utils/MaplibreStyles"; function toCamelCase(s: string): string { return s.replace(/([-_][a-z])/gi, ($1) => { @@ -352,8 +355,8 @@ const Style = (props: StyleProps): ReactElement => { if (!sources || !Object.keys(sources)) { return []; } - return Object.keys(sources) - .map((id) => asSourceComponent(id, sources[id])) + return Object.entries(sources) + .map(([id, source]) => asSourceComponent(id, source)) .filter((x) => !!x); }, [json]); diff --git a/src/components/SymbolLayer.tsx b/src/components/SymbolLayer.tsx index f24dfbf18..f1fa0a6db 100644 --- a/src/components/SymbolLayer.tsx +++ b/src/components/SymbolLayer.tsx @@ -1,11 +1,11 @@ -import React, { ReactElement } from "react"; +import { Children, type ReactElement } from "react"; import { View, NativeModules, requireNativeComponent } from "react-native"; import useAbstractLayer, { - BaseLayerProps, - NativeBaseProps, + type BaseLayerProps, + type NativeBaseProps, } from "../hooks/useAbstractLayer"; -import BaseProps from "../types/BaseProps"; +import { type BaseProps } from "../types/BaseProps"; import { type SymbolLayerStyleProps } from "../utils/MaplibreStyles"; const MapLibreGL = NativeModules.MLNModule; @@ -50,11 +50,11 @@ const SymbolLayer: React.FC = ({ const _shouldSnapshot = (): boolean => { let isSnapshot = false; - if (React.Children.count(props.children) <= 0) { + if (Children.count(props.children) <= 0) { return isSnapshot; } - React.Children.forEach(props.children, (child) => { + Children.forEach(props.children, (child) => { if (child?.type === View) { isSnapshot = true; } diff --git a/src/components/UserLocation.tsx b/src/components/UserLocation.tsx index 77fd9bb79..e4a40ae06 100644 --- a/src/components/UserLocation.tsx +++ b/src/components/UserLocation.tsx @@ -1,11 +1,21 @@ -import React, { ReactElement, useEffect, useImperativeHandle } from "react"; +import { + forwardRef, + memo, + type ReactElement, + useEffect, + useImperativeHandle, + useRef, + useState, +} from "react"; import Annotation from "./Annotation"; import CircleLayer from "./CircleLayer"; import HeadingIndicator from "./HeadingIndicator"; import NativeUserLocation from "./NativeUserLocation"; -import locationManager, { Location } from "../modules/location/locationManager"; -import { CircleLayerStyleProps } from "../utils/MaplibreStyles"; +import locationManager, { + type Location, +} from "../modules/location/locationManager"; +import { type CircleLayerStyleProps } from "../utils/MaplibreStyles"; const mapboxBlue = "rgba(51, 181, 229, 100)"; @@ -124,8 +134,8 @@ export interface UserLocationRef { _onLocationUpdate: (location: Location | null) => void; } -const UserLocation = React.memo( - React.forwardRef( +const UserLocation = memo( + forwardRef( ( { animated = true, @@ -141,11 +151,11 @@ const UserLocation = React.memo( }: UserLocationProps, ref, ) => { - const _isMounted = React.useRef(null); - const locationManagerRunning = React.useRef(false); + const _isMounted = useRef(null); + const locationManagerRunning = useRef(false); const [userLocationState, setUserLocationState] = - React.useState({ + useState({ shouldShowUserLocation: false, }); diff --git a/src/components/VectorSource.tsx b/src/components/VectorSource.tsx index b94880c64..9f3368c18 100644 --- a/src/components/VectorSource.tsx +++ b/src/components/VectorSource.tsx @@ -1,17 +1,17 @@ import { featureCollection } from "@turf/helpers"; -import React, { memo, useImperativeHandle } from "react"; +import { forwardRef, memo, useImperativeHandle } from "react"; import { NativeModules, - NativeSyntheticEvent, + type NativeSyntheticEvent, requireNativeComponent, } from "react-native"; import useAbstractSource from "../hooks/useAbstractSource"; import useNativeBridge from "../hooks/useNativeBridge"; -import BaseProps from "../types/BaseProps"; -import OnPressEvent from "../types/OnPressEvent"; +import { type BaseProps } from "../types/BaseProps"; +import { type OnPressEvent } from "../types/OnPressEvent"; import { cloneReactChildrenWithProps, isFunction, isAndroid } from "../utils"; -import { FilterExpression } from "../utils/MaplibreStyles"; +import { type FilterExpression } from "../utils/MaplibreStyles"; import { copyPropertiesAsDeprecated } from "../utils/deprecation"; import { getFilter } from "../utils/filterUtils"; @@ -91,7 +91,7 @@ const RCTMLNVectorSource = * The location of and metadata about the tiles are defined either by an option dictionary or by an external file that conforms to the TileJSON specification. */ const VectorSource = memo( - React.forwardRef( + forwardRef( ( { id = MapLibreGL.StyleSource.DefaultSourceID, diff --git a/src/hooks/useAbstractLayer.ts b/src/hooks/useAbstractLayer.ts index 32e239f3a..7a0099054 100644 --- a/src/hooks/useAbstractLayer.ts +++ b/src/hooks/useAbstractLayer.ts @@ -1,14 +1,14 @@ -import React, { useMemo, useRef } from "react"; -import { processColor, NativeMethods } from "react-native"; +import { useMemo, useRef } from "react"; +import { processColor, type NativeMethods } from "react-native"; -import BaseProps from "../types/BaseProps"; +import { type BaseProps } from "../types/BaseProps"; import { - AllLayerStyleProps, - ExpressionField, - ExpressionName, - FilterExpression, + type AllLayerStyleProps, + type ExpressionField, + type ExpressionName, + type FilterExpression, } from "../utils/MaplibreStyles"; -import { StyleValue, transformStyle } from "../utils/StyleValue"; +import { type StyleValue, transformStyle } from "../utils/StyleValue"; import { getFilter } from "../utils/filterUtils"; export interface BaseLayerProps { diff --git a/src/hooks/useAbstractSource.ts b/src/hooks/useAbstractSource.ts index 24b0cdd15..6def4303e 100644 --- a/src/hooks/useAbstractSource.ts +++ b/src/hooks/useAbstractSource.ts @@ -1,5 +1,5 @@ -import React, { useRef } from "react"; -import { NativeMethods } from "react-native"; +import { useRef } from "react"; +import { type NativeMethods } from "react-native"; export default function useAbstractSource(): { _nativeRef: diff --git a/src/hooks/useNativeBridge.ts b/src/hooks/useNativeBridge.ts index 369969889..445f6326a 100644 --- a/src/hooks/useNativeBridge.ts +++ b/src/hooks/useNativeBridge.ts @@ -1,6 +1,6 @@ -import React, { Component, SyntheticEvent, useRef } from "react"; +import { Component, type SyntheticEvent, useRef } from "react"; -import { runNativeCommand, isAndroid, NativeArg } from "../utils"; +import { runNativeCommand, isAndroid, type NativeArg } from "../utils"; export type RNMLEvent = { payload: PayloadType; diff --git a/src/hooks/useNativeRef.ts b/src/hooks/useNativeRef.ts index 8bf43ad30..587e12c64 100644 --- a/src/hooks/useNativeRef.ts +++ b/src/hooks/useNativeRef.ts @@ -1,5 +1,5 @@ -import React, { Component, useRef } from "react"; -import { NativeMethods } from "react-native"; +import { Component, useRef } from "react"; +import { type NativeMethods } from "react-native"; export type NativeRef = Component & Readonly; diff --git a/src/modules/location/locationManager.ts b/src/modules/location/locationManager.ts index 68c21fef8..c3a561d74 100644 --- a/src/modules/location/locationManager.ts +++ b/src/modules/location/locationManager.ts @@ -1,7 +1,7 @@ import { NativeModules, NativeEventEmitter, - EmitterSubscription, + type EmitterSubscription, } from "react-native"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/modules/offline/offlineManager.ts b/src/modules/offline/offlineManager.ts index 81be62ee3..f8f2ef0ce 100644 --- a/src/modules/offline/offlineManager.ts +++ b/src/modules/offline/offlineManager.ts @@ -1,11 +1,11 @@ import { NativeModules, NativeEventEmitter, - EventSubscription, + type EventSubscription, } from "react-native"; import OfflineCreatePackOptions, { - OfflineCreatePackInputOptions, + type OfflineCreatePackInputOptions, } from "./OfflineCreatePackOptions"; import OfflinePack from "./OfflinePack"; import { isUndefined, isFunction, isAndroid } from "../../utils"; @@ -90,8 +90,8 @@ class OfflineManager { * }, progressListener, errorListener) * * @param {OfflineCreatePackOptions} options Create options for a offline pack that specifices zoom levels, style url, and the region to download. - * @param {Callback=} progressListener Callback that listens for status events while downloading the offline resource. - * @param {Callback=} errorListener Callback that listens for status events while downloading the offline resource. + * @param {ProgressListener} progressListener Callback that listens for status events while downloading the offline resource. + * @param {ErrorListener} errorListener Callback that listens for status events while downloading the offline resource. * @return {void} */ async createPack( @@ -230,9 +230,10 @@ class OfflineManager { */ async getPacks(): Promise { await this._initialize(); - return Object.keys(this._offlinePacks).map( - (name) => this._offlinePacks[name], - ); + + return Object.keys(this._offlinePacks) + .map((name) => this._offlinePacks[name]) + .filter((pack) => !!pack); } /** @@ -244,7 +245,7 @@ class OfflineManager { * @param {String} name Name of the offline pack. * @return {OfflinePack} */ - async getPack(name: string): Promise { + async getPack(name: string) { await this._initialize(); return this._offlinePacks[name]; } @@ -300,9 +301,9 @@ class OfflineManager { * const errorListener = (offlinePack, err) => console.log(offlinePack, err) * MapLibreGL.offlineManager.subscribe('packName', progressListener, errorListener) * - * @param {String} packName Name of the offline pack. - * @param {Callback} progressListener Callback that listens for status events while downloading the offline resource. - * @param {Callback} errorListener Callback that listens for status events while downloading the offline resource. + * @param {string} packName Name of the offline pack. + * @param {ProgressListener} progressListener Callback that listens for status events while downloading the offline resource. + * @param {ErrorListener} errorListener Callback that listens for status events while downloading the offline resource. * @return {void} */ async subscribe( @@ -399,7 +400,9 @@ class OfflineManager { } const pack = this._offlinePacks[name]; - this._progressListeners[name](pack, e.payload); + if (pack) { + this._progressListeners[name]?.(pack, e.payload); + } // cleanup listeners now that they are no longer needed if (state === MapLibreGL.OfflinePackDownloadState.Complete) { @@ -415,7 +418,9 @@ class OfflineManager { } const pack = this._offlinePacks[name]; - this._errorListeners[name](pack, e.payload); + if (pack) { + this._errorListeners[name]?.(pack, e.payload); + } } _hasListeners( diff --git a/src/modules/snapshot/snapshotManager.ts b/src/modules/snapshot/snapshotManager.ts index 77f65c4a4..8bea9586a 100644 --- a/src/modules/snapshot/snapshotManager.ts +++ b/src/modules/snapshot/snapshotManager.ts @@ -1,6 +1,6 @@ import { NativeModules } from "react-native"; -import SnapshotOptions, { SnapshotInputOptions } from "./SnapshotOptions"; +import SnapshotOptions, { type SnapshotInputOptions } from "./SnapshotOptions"; const MapLibreGLSnapshotManger = NativeModules.MLNSnapshotModule; diff --git a/src/requestAndroidLocationPermissions.ts b/src/requestAndroidLocationPermissions.ts index 964ac0d31..ab7416606 100644 --- a/src/requestAndroidLocationPermissions.ts +++ b/src/requestAndroidLocationPermissions.ts @@ -1,12 +1,12 @@ -import { Permission, PermissionsAndroid } from "react-native"; +import { type Permission, PermissionsAndroid } from "react-native"; import { isAndroid } from "./utils"; export async function requestAndroidLocationPermissions(): Promise { if (isAndroid()) { const res = await PermissionsAndroid.requestMultiple([ - PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, - PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION, + PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION as Permission, + PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION as Permission, ]); if (!res) { diff --git a/src/types/BaseProps.ts b/src/types/BaseProps.ts index deb8fa6f4..7389d0240 100644 --- a/src/types/BaseProps.ts +++ b/src/types/BaseProps.ts @@ -1,5 +1,3 @@ -interface BaseProps { +export interface BaseProps { testID?: string; } - -export default BaseProps; diff --git a/src/types/OnPressEvent.ts b/src/types/OnPressEvent.ts index a2b831ee6..9ae2a5c40 100644 --- a/src/types/OnPressEvent.ts +++ b/src/types/OnPressEvent.ts @@ -1,4 +1,4 @@ -interface OnPressEvent { +export interface OnPressEvent { features: GeoJSON.Feature[]; coordinates: { latitude: number; @@ -9,5 +9,3 @@ interface OnPressEvent { y: number; }; } - -export default OnPressEvent; diff --git a/src/types/index.ts b/src/types/index.ts index 8a59a428b..bdb67266b 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,5 +1,6 @@ -import { SyntheticEvent } from "react"; +import { type SyntheticEvent } from "react"; +// TODO RENAME export type MaplibreGLEvent< T extends string, P = GeoJSON.Feature, diff --git a/src/utils/BridgeValue.ts b/src/utils/BridgeValue.ts index c2e3d3435..0d6ba5be1 100644 --- a/src/utils/BridgeValue.ts +++ b/src/utils/BridgeValue.ts @@ -60,15 +60,15 @@ export default class BridgeValue { value.push(bridgeValue.toJSON()); } } else if (type === "hashmap") { - value = []; const rawValue = this.rawValue as { [key: string]: RawValueType }; - const stringKeys = Object.keys(this.rawValue); - for (const stringKey of stringKeys) { - value.push([ - new BridgeValue(stringKey).toJSON(), - new BridgeValue(rawValue[stringKey]).toJSON(), - ] as [StyleValueJSON, StyleValueJSON]); - } + + value = Object.entries(rawValue).map( + ([key, value]) => + [new BridgeValue(key).toJSON(), new BridgeValue(value).toJSON()] as [ + StyleValueJSON, + StyleValueJSON, + ], + ); } else if (type === "boolean" || type === "number" || type === "string") { value = this.rawValue; } else { diff --git a/src/utils/Logger.ts b/src/utils/Logger.ts index 71cfc5843..dc95ffaf6 100644 --- a/src/utils/Logger.ts +++ b/src/utils/Logger.ts @@ -1,5 +1,5 @@ import { - EmitterSubscription, + type EmitterSubscription, NativeEventEmitter, NativeModules, } from "react-native"; diff --git a/src/utils/StyleValue.ts b/src/utils/StyleValue.ts index 28aa4c6eb..cc7ba7ce4 100644 --- a/src/utils/StyleValue.ts +++ b/src/utils/StyleValue.ts @@ -4,7 +4,7 @@ import BridgeValue, { type RawValueType, type StyleValueJSON, } from "./BridgeValue"; -import { AllLayerStyleProps } from "./MaplibreStyles"; +import { type AllLayerStyleProps } from "./MaplibreStyles"; import { getStyleType } from "./styleMap"; export type StyleValue = { @@ -16,7 +16,7 @@ export function transformStyle( style: AllLayerStyleProps | undefined, ): undefined | { [key: string]: StyleValue } { if (!style) { - return; + return undefined; } const nativeStyle: { [key: string]: StyleValue } = {}; diff --git a/src/utils/animated/Animated.ts b/src/utils/animated/Animated.ts index 7728b4c4a..0a684e193 100644 --- a/src/utils/animated/Animated.ts +++ b/src/utils/animated/Animated.ts @@ -13,8 +13,8 @@ import ImageSource from "../../components/ImageSource"; import LineLayer from "../../components/LineLayer"; import RasterLayer from "../../components/RasterLayer"; import ShapeSource, { - ShapeSourceProps, - ShapeSourceRef, + type ShapeSourceProps, + type ShapeSourceRef, } from "../../components/ShapeSource"; import SymbolLayer from "../../components/SymbolLayer"; diff --git a/src/utils/animated/AnimatedCoordinatesArray.ts b/src/utils/animated/AnimatedCoordinatesArray.ts index 5dee3a7ea..c622ee026 100644 --- a/src/utils/animated/AnimatedCoordinatesArray.ts +++ b/src/utils/animated/AnimatedCoordinatesArray.ts @@ -1,5 +1,5 @@ import AbstractAnimatedCoordinates, { - AnimatedCoordinates, + type AnimatedCoordinates, } from "./AbstractAnimatedCoordinates"; interface CoordinatesState { @@ -16,7 +16,10 @@ class AnimatedCoordinatesArray extends AbstractAnimatedCoordinates [coord[0], coord[1]]), + coords: coordinatesArray.map((coordinates) => [ + coordinates[0], + coordinates[1], + ]), targetCoords: [], }; } @@ -48,37 +51,39 @@ class AnimatedCoordinatesArray extends AbstractAnimatedCoordinates [ - origCoord[0] * origF + targetCoords[i][0] * newF, - origCoord[1] * origF + targetCoords[i][1] * newF, + .map((originalCoordinates, i): [number, number] => [ + originalCoordinates[0] * origF + (targetCoords[i]?.[0] ?? 0) * newF, + originalCoordinates[1] * origF + (targetCoords[i]?.[1] ?? 0) * newF, ]); if (targetCoords.length > coords.length) { // only in new (adding) - const addingOrig = + const addingOriginal = coords.length > 0 ? coords[coords.length - 1] : targetCoords[0]; + const adding = targetCoords .slice(commonLen, targetCoords.length) - .map((newCoord): [number, number] => [ - addingOrig[0] * origF + newCoord[0] * newF, - addingOrig[1] * origF + newCoord[1] * newF, + .map((newCoordinates): [number, number] => [ + (addingOriginal?.[0] ?? 0) * origF + newCoordinates[0] * newF, + (addingOriginal?.[1] ?? 0) * origF + newCoordinates[1] * newF, ]); + return { coords: [...common, ...adding], targetCoords }; } if (coords.length > targetCoords.length) { - // only in orig (dissapearing) - const dissapearingNew = + // only in orig (disappearing) + const disappearingNew = targetCoords.length > 0 ? targetCoords[targetCoords.length - 1] : coords[0]; - const dissapearing = coords + const disappearing = coords .slice(commonLen, coords.length) - .map((origCoord): [number, number] => [ - origCoord[0] * origF + dissapearingNew[0] * newF, - origCoord[1] * origF + dissapearingNew[1] * newF, + .map((originalCoordinates): [number, number] => [ + originalCoordinates[0] * origF + (disappearingNew?.[0] ?? 0) * newF, + originalCoordinates[1] * origF + (disappearingNew?.[1] ?? 0) * newF, ]); - return { coords: [...common, ...dissapearing], targetCoords }; + return { coords: [...common, ...disappearing], targetCoords }; } return { coords: common, targetCoords }; @@ -87,8 +92,8 @@ class AnimatedCoordinatesArray extends AbstractAnimatedCoordinates [coord[0], coord[1]], + (coordinates): AnimatedCoordinates => [coordinates[0], coordinates[1]], ); return { ...state, diff --git a/src/utils/animated/AnimatedPoint.ts b/src/utils/animated/AnimatedPoint.ts index b84bf4d0e..55a73823b 100644 --- a/src/utils/animated/AnimatedPoint.ts +++ b/src/utils/animated/AnimatedPoint.ts @@ -83,12 +83,12 @@ export class AnimatedPoint extends AnimatedWithChildren { return Animated.parallel([ Animated.spring(this.longitude, { ...config, - toValue: config.coordinates[0], + toValue: config.coordinates[0]!, useNativeDriver: false, }), Animated.spring(this.latitude, { ...config, - toValue: config.coordinates[1], + toValue: config.coordinates[1]!, useNativeDriver: false, }), ]); @@ -102,12 +102,12 @@ export class AnimatedPoint extends AnimatedWithChildren { return Animated.parallel([ Animated.timing(this.longitude, { ...config, - toValue: config.coordinates[0], + toValue: config.coordinates[0]!, useNativeDriver: false, }), Animated.timing(this.latitude, { ...config, - toValue: config.coordinates[1], + toValue: config.coordinates[1]!, useNativeDriver: false, }), ]); diff --git a/src/utils/animated/AnimatedRouteCoordinatesArray.ts b/src/utils/animated/AnimatedRouteCoordinatesArray.ts index 7b3ec8b33..fb554a111 100644 --- a/src/utils/animated/AnimatedRouteCoordinatesArray.ts +++ b/src/utils/animated/AnimatedRouteCoordinatesArray.ts @@ -1,10 +1,16 @@ import distance from "@turf/distance"; -import { lineString, point, convertLength, Coord, Units } from "@turf/helpers"; +import { + lineString, + point, + convertLength, + type Coord, + type Units, +} from "@turf/helpers"; import length from "@turf/length"; import nearestPointOnLine from "@turf/nearest-point-on-line"; import AbstractAnimatedCoordinates, { - AnimatedCoordinates, + type AnimatedCoordinates, } from "./AbstractAnimatedCoordinates"; interface AnimatedRouteState { @@ -63,11 +69,10 @@ export default class AnimatedRouteCoordinatesArray extends AbstractAnimatedCoord let i = fullRoute.length - 1; while (actsum < currentEnd && i > 0) { prevsum = actsum; - actsum += distance( - point(fullRoute[i]), - point(fullRoute[i - 1]), - this.distconf, - ); + const start = fullRoute[i]; + const end = fullRoute[i - 1]; + actsum += + start && end ? distance(point(start), point(end), this.distconf) : 0; i -= 1; } if (actsum <= currentEnd) { @@ -80,8 +85,8 @@ export default class AnimatedRouteCoordinatesArray extends AbstractAnimatedCoord const actRoute = [ ...fullRoute.slice(0, i + 1), [ - fullRoute[i][0] * r + fullRoute[i + 1][0] * or, - fullRoute[i][1] * r + fullRoute[i + 1][1] * or, + (fullRoute[i]?.[0] ?? 0) * r + (fullRoute[i + 1]?.[0] ?? 0) * or, + (fullRoute[i]?.[1] ?? 0) * r + (fullRoute[i + 1]?.[1] ?? 0) * or, ] as AnimatedCoordinates, ]; return { fullRoute, end: { ...end, current: currentEnd }, actRoute }; diff --git a/src/utils/filterUtils.ts b/src/utils/filterUtils.ts index 14d878f30..de3caa930 100644 --- a/src/utils/filterUtils.ts +++ b/src/utils/filterUtils.ts @@ -1,4 +1,4 @@ -import { FilterExpression } from "./MaplibreStyles"; +import { type FilterExpression } from "./MaplibreStyles"; export function getFilter(filter: FilterExpression | undefined): string[] { if (!Array.isArray(filter) || filter.length === 0) { diff --git a/src/utils/index.ts b/src/utils/index.ts index 1f529d38e..ad69628e5 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,10 +1,10 @@ -import React, { Component, ReactElement } from "react"; +import { Children, cloneElement, Component, type ReactElement } from "react"; import { Image, NativeModules, findNodeHandle, Platform, - ImageSourcePropType, + type ImageSourcePropType, } from "react-native"; function getAndroidManagerInstance(module: string): any { @@ -95,7 +95,7 @@ export function runNativeCommand( } export function cloneReactChildrenWithProps( - children: Parameters[0], + children: Parameters[0], propsToAdd: { [key: string]: string } = {}, ): ReactElement[] | undefined { if (!children) { @@ -111,8 +111,8 @@ export function cloneReactChildrenWithProps( } const filteredChildren = foundChildren.filter((child) => !!child); // filter out falsy children, since some can be null - return React.Children.map(filteredChildren, (child) => - React.cloneElement(child, propsToAdd), + return Children.map(filteredChildren, (child) => + cloneElement(child, propsToAdd), ); } From 339ddd85c1abd57bf7d4b51308bd8ccd7243d9af Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Mon, 18 Nov 2024 08:39:09 +0100 Subject: [PATCH 05/22] docs: codegen --- docs/docs.json | 14 +++++++------- docs/offlineManager.md | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/docs.json b/docs/docs.json index 779d92ee7..343987404 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -5051,17 +5051,17 @@ "name": "progressListener", "description": "Callback that listens for status events while downloading the offline resource.", "type": { - "name": "Callback" + "name": "ProgressListener" }, - "optional": true + "optional": false }, { "name": "errorListener", "description": "Callback that listens for status events while downloading the offline resource.", "type": { - "name": "Callback" + "name": "ErrorListener" }, - "optional": true + "optional": false } ], "examples": [ @@ -5299,7 +5299,7 @@ "name": "packName", "description": "Name of the offline pack.", "type": { - "name": "String" + "name": "string" }, "optional": false }, @@ -5307,7 +5307,7 @@ "name": "progressListener", "description": "Callback that listens for status events while downloading the offline resource.", "type": { - "name": "Callback" + "name": "ProgressListener" }, "optional": false }, @@ -5315,7 +5315,7 @@ "name": "errorListener", "description": "Callback that listens for status events while downloading the offline resource.", "type": { - "name": "Callback" + "name": "ErrorListener" }, "optional": false } diff --git a/docs/offlineManager.md b/docs/offlineManager.md index 5b6f74bf3..5c70b971e 100644 --- a/docs/offlineManager.md +++ b/docs/offlineManager.md @@ -5,7 +5,7 @@ OfflineManager implements a singleton (shared object) that manages offline packs ## Methods -### `createPack(options, [progressListener], [errorListener])` +### `createPack(options, progressListener, errorListener)` Creates and registers an offline pack that downloads the resources needed to use the given region offline. @@ -13,8 +13,8 @@ Creates and registers an offline pack that downloads the resources needed to use | Name | Type | Required | Description | | ---- | :--: | :------: | :----------: | | `options` | `OfflineCreatePackOptions` | `Yes` | Create options for a offline pack that specifices zoom levels, style url, and the region to download. | -| `progressListener` | `Callback` | `No` | Callback that listens for status events while downloading the offline resource. | -| `errorListener` | `Callback` | `No` | Callback that listens for status events while downloading the offline resource. | +| `progressListener` | `ProgressListener` | `Yes` | Callback that listens for status events while downloading the offline resource. | +| `errorListener` | `ErrorListener` | `Yes` | Callback that listens for status events while downloading the offline resource. | @@ -199,9 +199,9 @@ Subscribe to download status/error events for the requested offline pack.
No #### Arguments | Name | Type | Required | Description | | ---- | :--: | :------: | :----------: | -| `packName` | `String` | `Yes` | Name of the offline pack. | -| `progressListener` | `Callback` | `Yes` | Callback that listens for status events while downloading the offline resource. | -| `errorListener` | `Callback` | `Yes` | Callback that listens for status events while downloading the offline resource. | +| `packName` | `string` | `Yes` | Name of the offline pack. | +| `progressListener` | `ProgressListener` | `Yes` | Callback that listens for status events while downloading the offline resource. | +| `errorListener` | `ErrorListener` | `Yes` | Callback that listens for status events while downloading the offline resource. | From fc2e2e8bf3d1565ace0cfc2377e1640561eeb74f Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Mon, 18 Nov 2024 09:08:55 +0100 Subject: [PATCH 06/22] refactor: cleanup types director --- docs/Camera.md | 2 +- docs/docs.json | 4 ++-- src/components/Camera.tsx | 4 ++-- src/types/{index.ts => MapLibreRNEvent.ts} | 7 +------ src/types/StyleURL.ts | 3 +++ 5 files changed, 9 insertions(+), 11 deletions(-) rename src/types/{index.ts => MapLibreRNEvent.ts} (54%) create mode 100644 src/types/StyleURL.ts diff --git a/docs/Camera.md b/docs/Camera.md index 18d86e6c1..ac6f8a090 100644 --- a/docs/Camera.md +++ b/docs/Camera.md @@ -23,7 +23,7 @@ | followZoomLevel | `number` | `none` | `false` | The zoomLevel on map while followUserLocation is set to `true` | | followPitch | `number` | `none` | `false` | The pitch on map while followUserLocation is set to `true` | | followHeading | `number` | `none` | `false` | The heading on map while followUserLocation is set to `true` | -| onUserTrackingModeChange | `func` | `none` | `false` | Triggered when `followUserLocation` or `followUserMode` changes
*signature:*`(event:MaplibreGLEvent) => void` | +| onUserTrackingModeChange | `func` | `none` | `false` | Triggered when `followUserLocation` or `followUserMode` changes
*signature:*`(event:MapLibreRNEvent) => void` | ## Methods ### `fitBounds(ne, sw, [padding], [animationDuration])` diff --git a/docs/docs.json b/docs/docs.json index 343987404..4986e5817 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -538,10 +538,10 @@ "required": false, "type": { "name": "func", - "funcSignature": "(event:MaplibreGLEvent) => void" + "funcSignature": "(event:MapLibreRNEvent) => void" }, "default": "none", - "description": "Triggered when `followUserLocation` or `followUserMode` changes\n*signature:*`(event:MaplibreGLEvent) => void`" + "description": "Triggered when `followUserLocation` or `followUserMode` changes\n*signature:*`(event:MapLibreRNEvent) => void`" } ], "composes": [ diff --git a/src/components/Camera.tsx b/src/components/Camera.tsx index 646b02a8a..3d1d2e5d1 100644 --- a/src/components/Camera.tsx +++ b/src/components/Camera.tsx @@ -4,9 +4,9 @@ import { requireNativeComponent, type ViewProps } from "react-native"; import { CameraModes } from "../MLNModule"; import { useNativeRef } from "../hooks/useNativeRef"; -import { type MaplibreGLEvent } from "../types"; import { type BaseProps } from "../types/BaseProps"; import { CameraMode } from "../types/CameraMode"; +import type { MapLibreRNEvent } from "../types/MapLibreRNEvent"; import { makeNativeBounds } from "../utils/makeNativeBounds"; export const NATIVE_MODULE_NAME = "RCTMLNCamera"; @@ -18,7 +18,7 @@ export enum UserTrackingMode { } export type UserTrackingModeChangeCallback = ( - event: MaplibreGLEvent< + event: MapLibreRNEvent< "usertrackingmodechange", { followUserLocation: boolean; diff --git a/src/types/index.ts b/src/types/MapLibreRNEvent.ts similarity index 54% rename from src/types/index.ts rename to src/types/MapLibreRNEvent.ts index bdb67266b..64a43a04e 100644 --- a/src/types/index.ts +++ b/src/types/MapLibreRNEvent.ts @@ -1,12 +1,7 @@ import { type SyntheticEvent } from "react"; -// TODO RENAME -export type MaplibreGLEvent< +export type MapLibreRNEvent< T extends string, P = GeoJSON.Feature, V = Element, > = SyntheticEvent; - -export enum StyleURL { - Default = "https://demotiles.maplibre.org/style.json", -} diff --git a/src/types/StyleURL.ts b/src/types/StyleURL.ts new file mode 100644 index 000000000..728218f2f --- /dev/null +++ b/src/types/StyleURL.ts @@ -0,0 +1,3 @@ +export enum StyleURL { + Default = "https://demotiles.maplibre.org/style.json", +} From c911a9d8268f6486d50502ab09edbd9f21ad0240 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Mon, 18 Nov 2024 09:20:34 +0100 Subject: [PATCH 07/22] refactor: align casing on MapLibre and MapLibreRN usages --- .gitignore | 2 -- __tests__/interface.test.js | 2 +- docs/Style.md | 2 +- docs/docs.json | 2 +- scripts/codegen.ts | 4 +-- ...eStyles.ts.ejs => MapLibreRNStyles.ts.ejs} | 0 src/MapLibreRN.ts | 2 +- src/components/Annotation.tsx | 2 +- src/components/BackgroundLayer.tsx | 2 +- src/components/CircleLayer.tsx | 2 +- src/components/FillExtrusionLayer.tsx | 2 +- src/components/FillLayer.tsx | 2 +- src/components/HeatmapLayer.tsx | 2 +- src/components/Light.tsx | 2 +- src/components/LineLayer.tsx | 2 +- src/components/MapView.tsx | 2 +- src/components/RasterLayer.tsx | 2 +- src/components/ShapeSource.tsx | 2 +- src/components/Style.tsx | 32 +++++++++---------- src/components/SymbolLayer.tsx | 2 +- src/components/UserLocation.tsx | 2 +- src/components/VectorSource.tsx | 2 +- src/hooks/useAbstractLayer.ts | 2 +- ...libreStyles.d.ts => MapLibreRNStyles.d.ts} | 0 src/utils/StyleValue.ts | 2 +- src/utils/filterUtils.ts | 2 +- 26 files changed, 39 insertions(+), 41 deletions(-) rename scripts/templates/{MaplibreStyles.ts.ejs => MapLibreRNStyles.ts.ejs} (100%) rename src/utils/{MaplibreStyles.d.ts => MapLibreRNStyles.d.ts} (100%) diff --git a/.gitignore b/.gitignore index 409981788..5afb68c96 100644 --- a/.gitignore +++ b/.gitignore @@ -63,8 +63,6 @@ package.tgz .vs # project specific -ios/Mapbox.framework -ios/Maplibre.framework ios/temp.zip ios/.framework_version ios/Pods/ diff --git a/__tests__/interface.test.js b/__tests__/interface.test.js index 71fe35f2d..5327800d8 100644 --- a/__tests__/interface.test.js +++ b/__tests__/interface.test.js @@ -1,6 +1,6 @@ import MapLibreGL from "../src"; -// Assert that all required Maplibre modules are accessible and exported +// Assert that all required MapLibre modules are accessible and exported describe("Public Interface", () => { it("should contain all expected components and utils", () => { const actualKeys = Object.keys(MapLibreGL); diff --git a/docs/Style.md b/docs/Style.md index 69686edf8..b7968ea6c 100644 --- a/docs/Style.md +++ b/docs/Style.md @@ -6,6 +6,6 @@ Style is a component that automatically adds sources / layers to the map using M ## Props | Prop | Type | Default | Required | Description | | ---- | :--: | :-----: | :------: | :----------: | -| json | `MaplibreJSON \| URL` | `none` | `false` | A JSON object conforming to the schema described in the MapLibre Style Specification, or a URL to such JSON. | +| json | `MapLibreJSON \| URL` | `none` | `false` | A JSON object conforming to the schema described in the MapLibre Style Specification, or a URL to such JSON. | diff --git a/docs/docs.json b/docs/docs.json index 4986e5817..d7f926fb1 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -3356,7 +3356,7 @@ { "name": "json", "required": false, - "type": "MaplibreJSON \\| URL", + "type": "MapLibreJSON \\| URL", "default": "none", "description": "A JSON object conforming to the schema described in the MapLibre Style Specification, or a URL to such JSON." } diff --git a/scripts/codegen.ts b/scripts/codegen.ts index b8d50bb93..501794d8e 100644 --- a/scripts/codegen.ts +++ b/scripts/codegen.ts @@ -40,8 +40,8 @@ const TEMPLATE_MAPPINGS = [ output: path.join(IOS_OUTPUT_PATH, "RCTMLNStyle.h"), }, { - input: path.join(TMPL_PATH, "MaplibreStyles.ts.ejs"), - output: path.join(JS_OUTPUT_PATH, "MaplibreStyles.d.ts"), + input: path.join(TMPL_PATH, "MapLibreRNStyles.ts.ejs"), + output: path.join(JS_OUTPUT_PATH, "MapLibreRNStyles.d.ts"), }, { input: path.join(TMPL_PATH, "RCTMLNStyle.m.ejs"), diff --git a/scripts/templates/MaplibreStyles.ts.ejs b/scripts/templates/MapLibreRNStyles.ts.ejs similarity index 100% rename from scripts/templates/MaplibreStyles.ts.ejs rename to scripts/templates/MapLibreRNStyles.ts.ejs diff --git a/src/MapLibreRN.ts b/src/MapLibreRN.ts index 49ca7a5c2..d0618d374 100644 --- a/src/MapLibreRN.ts +++ b/src/MapLibreRN.ts @@ -64,7 +64,7 @@ export type { HillshadeLayerStyleProps as HillshadeLayerStyle, BackgroundLayerStyleProps as BackgroundLayerStyle, LightLayerStyleProps as LightLayerStyle, -} from "./utils/MaplibreStyles"; +} from "./utils/MapLibreRNStyles"; /** @deprecated UserTrackingModes is deprecated use UserTrackingMode */ export const UserTrackingModes = UserTrackingMode; diff --git a/src/components/Annotation.tsx b/src/components/Annotation.tsx index ad6f3704e..6c8ec6811 100644 --- a/src/components/Annotation.tsx +++ b/src/components/Annotation.tsx @@ -10,7 +10,7 @@ import { Animated as RNAnimated, Easing } from "react-native"; import SymbolLayer from "./SymbolLayer"; import { type OnPressEvent } from "../types/OnPressEvent"; -import { type SymbolLayerStyleProps } from "../utils/MaplibreStyles"; +import { type SymbolLayerStyleProps } from "../utils/MapLibreRNStyles"; import { AnimatedShapeSource } from "../utils/animated/Animated"; import AnimatedMapPoint from "../utils/animated/AnimatedPoint"; diff --git a/src/components/BackgroundLayer.tsx b/src/components/BackgroundLayer.tsx index 56d4b41ff..1b7a06844 100644 --- a/src/components/BackgroundLayer.tsx +++ b/src/components/BackgroundLayer.tsx @@ -6,7 +6,7 @@ import useAbstractLayer, { type NativeBaseProps, } from "../hooks/useAbstractLayer"; import { type BaseProps } from "../types/BaseProps"; -import { type BackgroundLayerStyleProps } from "../utils/MaplibreStyles"; +import { type BackgroundLayerStyleProps } from "../utils/MapLibreRNStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/CircleLayer.tsx b/src/components/CircleLayer.tsx index ea91d0b38..cb95fa3c3 100644 --- a/src/components/CircleLayer.tsx +++ b/src/components/CircleLayer.tsx @@ -6,7 +6,7 @@ import useAbstractLayer, { type NativeBaseProps, } from "../hooks/useAbstractLayer"; import { type BaseProps } from "../types/BaseProps"; -import { type CircleLayerStyleProps } from "../utils/MaplibreStyles"; +import { type CircleLayerStyleProps } from "../utils/MapLibreRNStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/FillExtrusionLayer.tsx b/src/components/FillExtrusionLayer.tsx index 8191a917c..cd000f0ad 100644 --- a/src/components/FillExtrusionLayer.tsx +++ b/src/components/FillExtrusionLayer.tsx @@ -6,7 +6,7 @@ import useAbstractLayer, { type NativeBaseProps, } from "../hooks/useAbstractLayer"; import { type BaseProps } from "../types/BaseProps"; -import { type FillExtrusionLayerStyleProps } from "../utils/MaplibreStyles"; +import { type FillExtrusionLayerStyleProps } from "../utils/MapLibreRNStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/FillLayer.tsx b/src/components/FillLayer.tsx index d37ca6e9b..cfb58d7ef 100644 --- a/src/components/FillLayer.tsx +++ b/src/components/FillLayer.tsx @@ -6,7 +6,7 @@ import useAbstractLayer, { type NativeBaseProps, } from "../hooks/useAbstractLayer"; import { type BaseProps } from "../types/BaseProps"; -import { type FillLayerStyleProps } from "../utils/MaplibreStyles"; +import { type FillLayerStyleProps } from "../utils/MapLibreRNStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/HeatmapLayer.tsx b/src/components/HeatmapLayer.tsx index a697582f6..c8f30a8a0 100644 --- a/src/components/HeatmapLayer.tsx +++ b/src/components/HeatmapLayer.tsx @@ -6,7 +6,7 @@ import useAbstractLayer, { type NativeBaseProps, } from "../hooks/useAbstractLayer"; import { type BaseProps } from "../types/BaseProps"; -import { type HeatmapLayerStyleProps } from "../utils/MaplibreStyles"; +import { type HeatmapLayerStyleProps } from "../utils/MapLibreRNStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/Light.tsx b/src/components/Light.tsx index 04c4cdaed..449280e60 100644 --- a/src/components/Light.tsx +++ b/src/components/Light.tsx @@ -5,7 +5,7 @@ import useAbstractLayer, { type BaseLayerProps, } from "../hooks/useAbstractLayer"; import { type BaseProps } from "../types/BaseProps"; -import { type LightLayerStyleProps } from "../utils/MaplibreStyles"; +import { type LightLayerStyleProps } from "../utils/MapLibreRNStyles"; import { type StyleValue } from "../utils/StyleValue"; export const NATIVE_MODULE_NAME = "RCTMLNLight"; diff --git a/src/components/LineLayer.tsx b/src/components/LineLayer.tsx index 4756a34dc..d286196d2 100644 --- a/src/components/LineLayer.tsx +++ b/src/components/LineLayer.tsx @@ -6,7 +6,7 @@ import useAbstractLayer, { type NativeBaseProps, } from "../hooks/useAbstractLayer"; import { type BaseProps } from "../types/BaseProps"; -import { type LineLayerStyleProps } from "../utils/MaplibreStyles"; +import { type LineLayerStyleProps } from "../utils/MapLibreRNStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/MapView.tsx b/src/components/MapView.tsx index 0c950aa12..8ea0b7ca4 100644 --- a/src/components/MapView.tsx +++ b/src/components/MapView.tsx @@ -28,7 +28,7 @@ import { type Location } from "../modules/location/locationManager"; import { type BaseProps } from "../types/BaseProps"; import { isFunction, isAndroid } from "../utils"; import Logger from "../utils/Logger"; -import { type FilterExpression } from "../utils/MaplibreStyles"; +import { type FilterExpression } from "../utils/MapLibreRNStyles"; import { getFilter } from "../utils/filterUtils"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/RasterLayer.tsx b/src/components/RasterLayer.tsx index 85a2a7348..926a0cd29 100644 --- a/src/components/RasterLayer.tsx +++ b/src/components/RasterLayer.tsx @@ -6,7 +6,7 @@ import useAbstractLayer, { type NativeBaseProps, } from "../hooks/useAbstractLayer"; import { type BaseProps } from "../types/BaseProps"; -import { type RasterLayerStyleProps } from "../utils/MaplibreStyles"; +import { type RasterLayerStyleProps } from "../utils/MapLibreRNStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/ShapeSource.tsx b/src/components/ShapeSource.tsx index ad04cd213..98d41b9fb 100644 --- a/src/components/ShapeSource.tsx +++ b/src/components/ShapeSource.tsx @@ -25,7 +25,7 @@ import { import { type ExpressionField, type FilterExpression, -} from "../utils/MaplibreStyles"; +} from "../utils/MapLibreRNStyles"; import { copyPropertiesAsDeprecated } from "../utils/deprecation"; import { getFilter } from "../utils/filterUtils"; diff --git a/src/components/Style.tsx b/src/components/Style.tsx index 82eabb3f3..b48f10f31 100644 --- a/src/components/Style.tsx +++ b/src/components/Style.tsx @@ -23,7 +23,7 @@ import VectorSource from "./VectorSource"; import { type ExpressionField, type FilterExpression, -} from "../utils/MaplibreStyles"; +} from "../utils/MapLibreRNStyles"; function toCamelCase(s: string): string { return s.replace(/([-_][a-z])/gi, ($1) => { @@ -62,7 +62,7 @@ type LayerProps = | HeatmapLayerProps; function getLayerComponentType( - layer: MaplibreJSONLayer, + layer: MapLibreJSONLayer, ): ComponentType | null { const { type } = layer; @@ -90,7 +90,7 @@ function getLayerComponentType( return null; } -interface MaplibreJSONLayer { +interface MapLibreJSONLayer { type: string; paint: { [k: string]: unknown }; layout: { [k: string]: unknown }; @@ -103,7 +103,7 @@ interface MaplibreJSONLayer { } function asLayerComponent( - layer: MaplibreJSONLayer, + layer: MapLibreJSONLayer, ): ReactElement | null { const LayerComponent = getLayerComponentType(layer); @@ -140,7 +140,7 @@ function asLayerComponent( return ; } -interface MaplibreJSONSource { +interface MapLibreJSONSource { type: string; url?: string; tiles?: string[]; @@ -178,7 +178,7 @@ type SourceProps = { tms?: boolean; }; -function getTileSourceProps(source: MaplibreJSONSource): SourceProps { +function getTileSourceProps(source: MapLibreJSONSource): SourceProps { const sourceProps: Partial = {}; if (source.url) { sourceProps.url = source.url; @@ -201,12 +201,12 @@ function getTileSourceProps(source: MaplibreJSONSource): SourceProps { return sourceProps; } -function getVectorSource(id: string, source: MaplibreJSONSource): ReactElement { +function getVectorSource(id: string, source: MapLibreJSONSource): ReactElement { const sourceProps = { ...getTileSourceProps(source) }; return ; } -function getRasterSource(id: string, source: MaplibreJSONSource): ReactElement { +function getRasterSource(id: string, source: MapLibreJSONSource): ReactElement { const sourceProps: SourceProps & { tileSize?: number } = { ...getTileSourceProps(source), }; @@ -216,7 +216,7 @@ function getRasterSource(id: string, source: MaplibreJSONSource): ReactElement { return ; } -function getImageSource(id: string, source: MaplibreJSONSource): ReactElement { +function getImageSource(id: string, source: MapLibreJSONSource): ReactElement { const sourceProps = { url: source.url, coordinates: source.coordinates, @@ -226,7 +226,7 @@ function getImageSource(id: string, source: MaplibreJSONSource): ReactElement { type ShapeSourceShape = (typeof ShapeSource.prototype.props)["shape"]; -function getShapeSource(id: string, source: MaplibreJSONSource): ReactElement { +function getShapeSource(id: string, source: MapLibreJSONSource): ReactElement { const sourceProps: SourceProps & { shape?: ShapeSourceShape; cluster?: boolean; @@ -271,7 +271,7 @@ function getShapeSource(id: string, source: MaplibreJSONSource): ReactElement { function asSourceComponent( id: string, - source: MaplibreJSONSource, + source: MapLibreJSONSource, ): ReactElement | null { switch (source.type) { case "vector": @@ -289,16 +289,16 @@ function asSourceComponent( return null; } -interface MaplibreJSON { - layers?: MaplibreJSONLayer[]; - sources?: { [key: string]: MaplibreJSONSource }; +interface MapLibreJSON { + layers?: MapLibreJSONLayer[]; + sources?: { [key: string]: MapLibreJSONSource }; } interface StyleProps { /** * A JSON object conforming to the schema described in the MapLibre Style Specification, or a URL to such JSON. */ - json?: MaplibreJSON | URL; + json?: MapLibreJSON | URL; } /** @@ -310,7 +310,7 @@ interface StyleProps { */ const Style = (props: StyleProps): ReactElement => { const [fetchedJson, setFetchedJson] = useState({}); - const json: MaplibreJSON = + const json: MapLibreJSON = typeof props.json === "object" ? props.json : fetchedJson; // Fetch style when props.json is a URL diff --git a/src/components/SymbolLayer.tsx b/src/components/SymbolLayer.tsx index f1fa0a6db..606d3b0ce 100644 --- a/src/components/SymbolLayer.tsx +++ b/src/components/SymbolLayer.tsx @@ -6,7 +6,7 @@ import useAbstractLayer, { type NativeBaseProps, } from "../hooks/useAbstractLayer"; import { type BaseProps } from "../types/BaseProps"; -import { type SymbolLayerStyleProps } from "../utils/MaplibreStyles"; +import { type SymbolLayerStyleProps } from "../utils/MapLibreRNStyles"; const MapLibreGL = NativeModules.MLNModule; diff --git a/src/components/UserLocation.tsx b/src/components/UserLocation.tsx index e4a40ae06..e5ded6551 100644 --- a/src/components/UserLocation.tsx +++ b/src/components/UserLocation.tsx @@ -15,7 +15,7 @@ import NativeUserLocation from "./NativeUserLocation"; import locationManager, { type Location, } from "../modules/location/locationManager"; -import { type CircleLayerStyleProps } from "../utils/MaplibreStyles"; +import { type CircleLayerStyleProps } from "../utils/MapLibreRNStyles"; const mapboxBlue = "rgba(51, 181, 229, 100)"; diff --git a/src/components/VectorSource.tsx b/src/components/VectorSource.tsx index 9f3368c18..08b07a72e 100644 --- a/src/components/VectorSource.tsx +++ b/src/components/VectorSource.tsx @@ -11,7 +11,7 @@ import useNativeBridge from "../hooks/useNativeBridge"; import { type BaseProps } from "../types/BaseProps"; import { type OnPressEvent } from "../types/OnPressEvent"; import { cloneReactChildrenWithProps, isFunction, isAndroid } from "../utils"; -import { type FilterExpression } from "../utils/MaplibreStyles"; +import { type FilterExpression } from "../utils/MapLibreRNStyles"; import { copyPropertiesAsDeprecated } from "../utils/deprecation"; import { getFilter } from "../utils/filterUtils"; diff --git a/src/hooks/useAbstractLayer.ts b/src/hooks/useAbstractLayer.ts index 7a0099054..5e9aeef5f 100644 --- a/src/hooks/useAbstractLayer.ts +++ b/src/hooks/useAbstractLayer.ts @@ -7,7 +7,7 @@ import { type ExpressionField, type ExpressionName, type FilterExpression, -} from "../utils/MaplibreStyles"; +} from "../utils/MapLibreRNStyles"; import { type StyleValue, transformStyle } from "../utils/StyleValue"; import { getFilter } from "../utils/filterUtils"; diff --git a/src/utils/MaplibreStyles.d.ts b/src/utils/MapLibreRNStyles.d.ts similarity index 100% rename from src/utils/MaplibreStyles.d.ts rename to src/utils/MapLibreRNStyles.d.ts diff --git a/src/utils/StyleValue.ts b/src/utils/StyleValue.ts index cc7ba7ce4..cec2c0cde 100644 --- a/src/utils/StyleValue.ts +++ b/src/utils/StyleValue.ts @@ -4,7 +4,7 @@ import BridgeValue, { type RawValueType, type StyleValueJSON, } from "./BridgeValue"; -import { type AllLayerStyleProps } from "./MaplibreStyles"; +import { type AllLayerStyleProps } from "./MapLibreRNStyles"; import { getStyleType } from "./styleMap"; export type StyleValue = { diff --git a/src/utils/filterUtils.ts b/src/utils/filterUtils.ts index de3caa930..39ffd8a63 100644 --- a/src/utils/filterUtils.ts +++ b/src/utils/filterUtils.ts @@ -1,4 +1,4 @@ -import { type FilterExpression } from "./MaplibreStyles"; +import { type FilterExpression } from "./MapLibreRNStyles"; export function getFilter(filter: FilterExpression | undefined): string[] { if (!Array.isArray(filter) || filter.length === 0) { From 862fe3eb6d2190b8ffea424f309d804e86a4cb12 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Tue, 19 Nov 2024 09:06:42 +0100 Subject: [PATCH 08/22] fix: move assets to src --- README.md | 4 ++-- .../assets/indoor-building-map-android.png | Bin .../assets/indoor-building-map-ios.png | Bin {assets => src/assets}/heading.png | Bin {assets => src/assets}/heading@2x.png | Bin {assets => src/assets}/heading@3x.png | Bin src/components/HeadingIndicator.tsx | 3 +-- 7 files changed, 3 insertions(+), 4 deletions(-) rename assets/indoor_building_map_android.png => docs/assets/indoor-building-map-android.png (100%) rename assets/indoor_building_map_ios.png => docs/assets/indoor-building-map-ios.png (100%) rename {assets => src/assets}/heading.png (100%) rename {assets => src/assets}/heading@2x.png (100%) rename {assets => src/assets}/heading@3x.png (100%) diff --git a/README.md b/README.md index 283bafe9f..7b9239860 100644 --- a/README.md +++ b/README.md @@ -17,11 +17,11 @@ diverged, it has become necessary to separate the projects into specific wrapper
-Indoor Building Map Android -Indoor Building Map iOS diff --git a/assets/indoor_building_map_android.png b/docs/assets/indoor-building-map-android.png similarity index 100% rename from assets/indoor_building_map_android.png rename to docs/assets/indoor-building-map-android.png diff --git a/assets/indoor_building_map_ios.png b/docs/assets/indoor-building-map-ios.png similarity index 100% rename from assets/indoor_building_map_ios.png rename to docs/assets/indoor-building-map-ios.png diff --git a/assets/heading.png b/src/assets/heading.png similarity index 100% rename from assets/heading.png rename to src/assets/heading.png diff --git a/assets/heading@2x.png b/src/assets/heading@2x.png similarity index 100% rename from assets/heading@2x.png rename to src/assets/heading@2x.png diff --git a/assets/heading@3x.png b/src/assets/heading@3x.png similarity index 100% rename from assets/heading@3x.png rename to src/assets/heading@3x.png diff --git a/src/components/HeadingIndicator.tsx b/src/components/HeadingIndicator.tsx index e1397c84e..0aa4b6ccb 100644 --- a/src/components/HeadingIndicator.tsx +++ b/src/components/HeadingIndicator.tsx @@ -1,8 +1,7 @@ import { type ReactElement } from "react"; import SymbolLayer from "./SymbolLayer"; -// @ts-ignore -import headingIcon from "../../assets/heading.png"; +import headingIcon from "../assets/heading.png"; import { type BaseProps } from "../types/BaseProps"; const style = { From 1238c39592ea4483c5916e31abadcc3e01edc98b Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Tue, 19 Nov 2024 11:39:33 +0100 Subject: [PATCH 09/22] fix: add plugin to files --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 4e7f68a7f..856815a74 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,8 @@ "cpp", "*.podspec", "react-native.config.json", + "app.plugin.js", + "plugin", "!ios/build", "!android/build", "!android/gradle", From 5b473e446b04536e2b7bad9703d9b391aa7113bb Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Fri, 22 Nov 2024 20:19:57 +0100 Subject: [PATCH 10/22] fix: add plugin exports --- package.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/package.json b/package.json index 856815a74..81dc97e1d 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,17 @@ "types": "./lib/typescript/commonjs/src/index.d.ts", "default": "./lib/commonjs/index.js" } + }, + "./app.plugin.js": { + "require": { + "default": "./app.plugin.js" + } + }, + "./plugin": { + "require": { + "types": "./plugin/build/witMapLibre.d.ts", + "default": "./plugin/build/withMapLibre.js" + } } }, "files": [ From 27e1563642566e564b950fb4b35e129622781ea1 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Fri, 22 Nov 2024 23:25:56 +0100 Subject: [PATCH 11/22] fix: improve ts output --- package.json | 3 ++- packages/examples/src/assets/index.d.ts | 9 --------- packages/examples/src/assets/jpg.d.ts | 4 ++++ packages/examples/src/assets/png.d.ts | 4 ++++ packages/examples/tsconfig.json | 3 --- packages/expo-app/tsconfig.json | 3 +-- packages/react-native-app/tsconfig.json | 6 +----- src/assets/png.d.ts | 4 ++++ tsconfig.build.json | 2 +- 9 files changed, 17 insertions(+), 21 deletions(-) delete mode 100644 packages/examples/src/assets/index.d.ts create mode 100644 packages/examples/src/assets/jpg.d.ts create mode 100644 packages/examples/src/assets/png.d.ts create mode 100644 src/assets/png.d.ts diff --git a/package.json b/package.json index 81dc97e1d..c26ce0af2 100644 --- a/package.json +++ b/package.json @@ -103,7 +103,8 @@ [ "typescript", { - "esm": true + "esm": true, + "project": "tsconfig.build.json" } ] ] diff --git a/packages/examples/src/assets/index.d.ts b/packages/examples/src/assets/index.d.ts deleted file mode 100644 index 2506705cb..000000000 --- a/packages/examples/src/assets/index.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -declare module "*.jpg" { - const content: number; - export default content; -} - -declare module "*.png" { - const content: number; - export default content; -} diff --git a/packages/examples/src/assets/jpg.d.ts b/packages/examples/src/assets/jpg.d.ts new file mode 100644 index 000000000..65c6260d3 --- /dev/null +++ b/packages/examples/src/assets/jpg.d.ts @@ -0,0 +1,4 @@ +declare module "*.jpg" { + const content: number; + export default content; +} diff --git a/packages/examples/src/assets/png.d.ts b/packages/examples/src/assets/png.d.ts new file mode 100644 index 000000000..d779e258a --- /dev/null +++ b/packages/examples/src/assets/png.d.ts @@ -0,0 +1,4 @@ +declare module "*.png" { + const content: number; + export default content; +} diff --git a/packages/examples/tsconfig.json b/packages/examples/tsconfig.json index e3a3ad6ea..6f83eb665 100644 --- a/packages/examples/tsconfig.json +++ b/packages/examples/tsconfig.json @@ -1,6 +1,3 @@ { "extends": "../../tsconfig.json", - "compilerOptions": { - "strict": true - } } diff --git a/packages/expo-app/tsconfig.json b/packages/expo-app/tsconfig.json index c7b95c2a0..b9567f605 100644 --- a/packages/expo-app/tsconfig.json +++ b/packages/expo-app/tsconfig.json @@ -2,6 +2,5 @@ "extends": "expo/tsconfig.base", "compilerOptions": { "strict": true - }, - "include": ["**/*.ts", "**/*.tsx"] + } } diff --git a/packages/react-native-app/tsconfig.json b/packages/react-native-app/tsconfig.json index 772c415ae..4082f16a5 100644 --- a/packages/react-native-app/tsconfig.json +++ b/packages/react-native-app/tsconfig.json @@ -1,7 +1,3 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "strict": true - }, - "include": ["**/*.ts", "**/*.tsx"] + "extends": "../../tsconfig.json" } diff --git a/src/assets/png.d.ts b/src/assets/png.d.ts new file mode 100644 index 000000000..d779e258a --- /dev/null +++ b/src/assets/png.d.ts @@ -0,0 +1,4 @@ +declare module "*.png" { + const content: number; + export default content; +} diff --git a/tsconfig.build.json b/tsconfig.build.json index 03cfc9a82..16492f78e 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,4 +1,4 @@ { "extends": "./tsconfig", - "exclude": ["lib", "packages", "plugin", "scripts"] + "exclude": ["lib", "packages", "plugin", "scripts", "__tests__", "jest-setup.ts"] } From 8f3316c2fcc6ad3c2d7fa8ec4cb9ad7c9ae9ae79 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Fri, 22 Nov 2024 23:26:16 +0100 Subject: [PATCH 12/22] fix: setup rn example for bob --- packages/react-native-app/babel.config.js | 17 ++++++++++++++--- packages/react-native-app/metro.config.js | 22 +++++++++++++++++++++- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/packages/react-native-app/babel.config.js b/packages/react-native-app/babel.config.js index 3c25e5d95..0d9d90f71 100644 --- a/packages/react-native-app/babel.config.js +++ b/packages/react-native-app/babel.config.js @@ -1,3 +1,14 @@ -module.exports = { - presets: ["module:@react-native/babel-preset"], -}; +/* eslint-env node */ +const path = require("path"); +const { getConfig } = require("react-native-builder-bob/babel-config"); + +const pkg = require("../../package.json"); + +const root = path.resolve(__dirname, "..", ".."); + +module.exports = getConfig( + { + presets: ["module:@react-native/babel-preset"], + }, + { root, pkg }, +); diff --git a/packages/react-native-app/metro.config.js b/packages/react-native-app/metro.config.js index a8aed0a57..189bc09e6 100644 --- a/packages/react-native-app/metro.config.js +++ b/packages/react-native-app/metro.config.js @@ -1,9 +1,12 @@ /* eslint-env node */ const { getDefaultConfig } = require("@react-native/metro-config"); const path = require("path"); +const { getConfig } = require("react-native-builder-bob/metro-config"); +const root = path.resolve(__dirname, "..", ".."); const projectRoot = __dirname; const workspaceRoot = path.resolve(projectRoot, "../.."); +const pkg = require("../../package.json"); /** * @param config {import('metro-config').MetroConfig} @@ -23,7 +26,24 @@ function withMonorepoPaths(config) { // Resolve only (sub)dependencies from the `nodeModulesPaths` config.resolver.disableHierarchicalLookup = true; + config.resolver.resolveRequest = (context, moduleName, platform) => { + if (moduleName.startsWith(pkg.name)) { + return { + filePath: path.resolve(__dirname, "..", "..", "src", "index.ts"), + type: "sourceFile", + }; + } + + return context.resolveRequest(context, moduleName, platform); + }; + return config; } -module.exports = withMonorepoPaths(getDefaultConfig(projectRoot)); +module.exports = withMonorepoPaths( + getConfig(getDefaultConfig(projectRoot), { + root, + pkg, + project: __dirname, + }), +); From cd62660d43b59abda5e4b209fa66207d7f739e2e Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Fri, 22 Nov 2024 23:37:36 +0100 Subject: [PATCH 13/22] chore: setup expo example for bob --- packages/expo-app/babel.config.js | 17 +++++++++-- packages/expo-app/metro.config.js | 35 ++++++++++++++++++----- packages/react-native-app/metro.config.js | 19 ++++++------ 3 files changed, 52 insertions(+), 19 deletions(-) diff --git a/packages/expo-app/babel.config.js b/packages/expo-app/babel.config.js index 54751c2de..4587c554e 100644 --- a/packages/expo-app/babel.config.js +++ b/packages/expo-app/babel.config.js @@ -1,3 +1,14 @@ -module.exports = { - presets: ["babel-preset-expo"], -}; +/* eslint-env node */ +const path = require("path"); +const { getConfig } = require("react-native-builder-bob/babel-config"); + +const pkg = require("../../package.json"); + +const root = path.resolve(__dirname, "..", ".."); + +module.exports = getConfig( + { + presets: ["babel-preset-expo"], + }, + { root, pkg }, +); diff --git a/packages/expo-app/metro.config.js b/packages/expo-app/metro.config.js index 0a475929d..c9bed4911 100644 --- a/packages/expo-app/metro.config.js +++ b/packages/expo-app/metro.config.js @@ -1,9 +1,12 @@ /* eslint-env node */ const { getDefaultConfig } = require("expo/metro-config"); const path = require("path"); +const { getConfig } = require("react-native-builder-bob/metro-config"); -const projectRoot = __dirname; -const workspaceRoot = path.resolve(projectRoot, "../.."); +const pkg = require("../../package.json"); + +const project = __dirname; +const root = path.resolve(project, "..", ".."); /** * @param config {import('expo/metro-config').MetroConfig} @@ -11,19 +14,37 @@ const workspaceRoot = path.resolve(projectRoot, "../.."); */ function withMonorepoPaths(config) { // Watch all files in the monorepo - config.watchFolders = [workspaceRoot]; + config.watchFolders = [root]; // Set `node_modules` to resolve config.resolver.nodeModulesPaths = [ - path.resolve(projectRoot, "node_modules"), - path.resolve(workspaceRoot, "packages/examples/node_modules"), - path.resolve(workspaceRoot, "node_modules"), + path.resolve(project, "node_modules"), + path.resolve(root, "packages/examples/node_modules"), + path.resolve(root, "node_modules"), ]; // Resolve only (sub)dependencies from the `nodeModulesPaths` config.resolver.disableHierarchicalLookup = true; + // Use src instead of lib + config.resolver.resolveRequest = (context, moduleName, platform) => { + if (moduleName.startsWith(pkg.name)) { + return { + filePath: path.resolve(__dirname, "..", "..", "src", "index.ts"), + type: "sourceFile", + }; + } + + return context.resolveRequest(context, moduleName, platform); + }; + return config; } -module.exports = withMonorepoPaths(getDefaultConfig(projectRoot)); +module.exports = withMonorepoPaths( + getConfig(getDefaultConfig(project), { + root, + pkg, + project, + }), +); diff --git a/packages/react-native-app/metro.config.js b/packages/react-native-app/metro.config.js index 189bc09e6..8320f44bf 100644 --- a/packages/react-native-app/metro.config.js +++ b/packages/react-native-app/metro.config.js @@ -3,29 +3,30 @@ const { getDefaultConfig } = require("@react-native/metro-config"); const path = require("path"); const { getConfig } = require("react-native-builder-bob/metro-config"); -const root = path.resolve(__dirname, "..", ".."); -const projectRoot = __dirname; -const workspaceRoot = path.resolve(projectRoot, "../.."); const pkg = require("../../package.json"); +const project = __dirname; +const root = path.resolve(project, "..", ".."); + /** * @param config {import('metro-config').MetroConfig} * @returns {import('expo/metro-config').MetroConfig} */ function withMonorepoPaths(config) { // Watch all files in the monorepo - config.watchFolders = [workspaceRoot]; + config.watchFolders = [root]; // Set `node_modules` to resolve config.resolver.nodeModulesPaths = [ - path.resolve(projectRoot, "node_modules"), - path.resolve(workspaceRoot, "packages/examples/node_modules"), - path.resolve(workspaceRoot, "node_modules"), + path.resolve(project, "node_modules"), + path.resolve(root, "packages/examples/node_modules"), + path.resolve(root, "node_modules"), ]; // Resolve only (sub)dependencies from the `nodeModulesPaths` config.resolver.disableHierarchicalLookup = true; + // Use src instead of lib config.resolver.resolveRequest = (context, moduleName, platform) => { if (moduleName.startsWith(pkg.name)) { return { @@ -41,9 +42,9 @@ function withMonorepoPaths(config) { } module.exports = withMonorepoPaths( - getConfig(getDefaultConfig(projectRoot), { + getConfig(getDefaultConfig(project), { root, pkg, - project: __dirname, + project, }), ); From 9db96cf33466eef1eb0f05629808c76bb8342112 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Sat, 23 Nov 2024 09:00:45 +0100 Subject: [PATCH 14/22] chore: enable strict for expo --- packages/expo-app/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/expo-app/tsconfig.json b/packages/expo-app/tsconfig.json index b9567f605..9acf97281 100644 --- a/packages/expo-app/tsconfig.json +++ b/packages/expo-app/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "expo/tsconfig.base", "compilerOptions": { - "strict": true + "strict": true, } } From 582d585380859eaf36d1d33b9ce5ffb0cafa8d6e Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Sat, 23 Nov 2024 09:00:54 +0100 Subject: [PATCH 15/22] refactor: reuse monorepo metro config --- packages/examples/MetroWithMonorepoPaths.js | 53 +++++++++++++++++++++ packages/expo-app/metro.config.js | 49 ++----------------- packages/react-native-app/metro.config.js | 49 ++----------------- 3 files changed, 61 insertions(+), 90 deletions(-) create mode 100644 packages/examples/MetroWithMonorepoPaths.js diff --git a/packages/examples/MetroWithMonorepoPaths.js b/packages/examples/MetroWithMonorepoPaths.js new file mode 100644 index 000000000..7a27ac887 --- /dev/null +++ b/packages/examples/MetroWithMonorepoPaths.js @@ -0,0 +1,53 @@ +/* eslint-env node */ +const path = require("path"); +const { getConfig } = require("react-native-builder-bob/metro-config"); + +const pkg = require("../../package.json"); +const root = path.resolve(__dirname, "..", ".."); + +/** + * @param {import('metro-config').MetroConfig} config + * @param {object} options + * @param {string} options.project + * @returns {import('metro-config').MetroConfig} + */ +function withMonorepoPaths(config, { project }) { + config = getConfig(config, { + root, + pkg, + project, + }); + + // Watch all files in the monorepo + config.watchFolders = [root]; + + // Set `node_modules` to resolve + config.resolver.nodeModulesPaths = [ + path.resolve(project, "node_modules"), + path.resolve(__dirname, "node_modules"), + path.resolve(root, "node_modules"), + ]; + + // Resolve only (sub)dependencies from the `nodeModulesPaths` + config.resolver.disableHierarchicalLookup = true; + + // Use src instead of lib + config.resolver.resolveRequest = (context, moduleName, platform) => { + if (moduleName.startsWith(pkg.name)) { + return { + filePath: path.resolve(root, "src", "index.ts"), + type: "sourceFile", + }; + } + + return context.resolveRequest(context, moduleName, platform); + }; + + return getConfig(config, { + root, + pkg, + project, + }); +} + +exports.withMonorepoPaths = withMonorepoPaths; diff --git a/packages/expo-app/metro.config.js b/packages/expo-app/metro.config.js index c9bed4911..f8652dd01 100644 --- a/packages/expo-app/metro.config.js +++ b/packages/expo-app/metro.config.js @@ -1,50 +1,9 @@ /* eslint-env node */ +const { + withMonorepoPaths, +} = require("@maplibre-react-native/examples/MetroWithMonorepoPaths"); const { getDefaultConfig } = require("expo/metro-config"); -const path = require("path"); -const { getConfig } = require("react-native-builder-bob/metro-config"); - -const pkg = require("../../package.json"); const project = __dirname; -const root = path.resolve(project, "..", ".."); - -/** - * @param config {import('expo/metro-config').MetroConfig} - * @returns {import('expo/metro-config').MetroConfig} - */ -function withMonorepoPaths(config) { - // Watch all files in the monorepo - config.watchFolders = [root]; - - // Set `node_modules` to resolve - config.resolver.nodeModulesPaths = [ - path.resolve(project, "node_modules"), - path.resolve(root, "packages/examples/node_modules"), - path.resolve(root, "node_modules"), - ]; - - // Resolve only (sub)dependencies from the `nodeModulesPaths` - config.resolver.disableHierarchicalLookup = true; - - // Use src instead of lib - config.resolver.resolveRequest = (context, moduleName, platform) => { - if (moduleName.startsWith(pkg.name)) { - return { - filePath: path.resolve(__dirname, "..", "..", "src", "index.ts"), - type: "sourceFile", - }; - } - - return context.resolveRequest(context, moduleName, platform); - }; - - return config; -} -module.exports = withMonorepoPaths( - getConfig(getDefaultConfig(project), { - root, - pkg, - project, - }), -); +module.exports = withMonorepoPaths(getDefaultConfig(project), { project }); diff --git a/packages/react-native-app/metro.config.js b/packages/react-native-app/metro.config.js index 8320f44bf..e3fc1d297 100644 --- a/packages/react-native-app/metro.config.js +++ b/packages/react-native-app/metro.config.js @@ -1,50 +1,9 @@ /* eslint-env node */ +const { + withMonorepoPaths, +} = require("@maplibre-react-native/examples/MetroWithMonorepoPaths"); const { getDefaultConfig } = require("@react-native/metro-config"); -const path = require("path"); -const { getConfig } = require("react-native-builder-bob/metro-config"); - -const pkg = require("../../package.json"); const project = __dirname; -const root = path.resolve(project, "..", ".."); - -/** - * @param config {import('metro-config').MetroConfig} - * @returns {import('expo/metro-config').MetroConfig} - */ -function withMonorepoPaths(config) { - // Watch all files in the monorepo - config.watchFolders = [root]; - - // Set `node_modules` to resolve - config.resolver.nodeModulesPaths = [ - path.resolve(project, "node_modules"), - path.resolve(root, "packages/examples/node_modules"), - path.resolve(root, "node_modules"), - ]; - - // Resolve only (sub)dependencies from the `nodeModulesPaths` - config.resolver.disableHierarchicalLookup = true; - - // Use src instead of lib - config.resolver.resolveRequest = (context, moduleName, platform) => { - if (moduleName.startsWith(pkg.name)) { - return { - filePath: path.resolve(__dirname, "..", "..", "src", "index.ts"), - type: "sourceFile", - }; - } - - return context.resolveRequest(context, moduleName, platform); - }; - - return config; -} -module.exports = withMonorepoPaths( - getConfig(getDefaultConfig(project), { - root, - pkg, - project, - }), -); +module.exports = withMonorepoPaths(getDefaultConfig(project), { project }); From 490eb004afce5f15a8c19af53abf58ce107fbc31 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Sat, 23 Nov 2024 09:17:18 +0100 Subject: [PATCH 16/22] chore: move plugin tests --- .../{src => }/__tests__/__snapshots__/withMapLibre-test.ts.snap | 0 plugin/{src => }/__tests__/fixtures/cocoapodFiles.ts | 0 plugin/{src => }/__tests__/tsconfig.eslint.json | 0 plugin/{src => }/__tests__/withMapLibre-test.ts | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) rename plugin/{src => }/__tests__/__snapshots__/withMapLibre-test.ts.snap (100%) rename plugin/{src => }/__tests__/fixtures/cocoapodFiles.ts (100%) rename plugin/{src => }/__tests__/tsconfig.eslint.json (100%) rename plugin/{src => }/__tests__/withMapLibre-test.ts (96%) diff --git a/plugin/src/__tests__/__snapshots__/withMapLibre-test.ts.snap b/plugin/__tests__/__snapshots__/withMapLibre-test.ts.snap similarity index 100% rename from plugin/src/__tests__/__snapshots__/withMapLibre-test.ts.snap rename to plugin/__tests__/__snapshots__/withMapLibre-test.ts.snap diff --git a/plugin/src/__tests__/fixtures/cocoapodFiles.ts b/plugin/__tests__/fixtures/cocoapodFiles.ts similarity index 100% rename from plugin/src/__tests__/fixtures/cocoapodFiles.ts rename to plugin/__tests__/fixtures/cocoapodFiles.ts diff --git a/plugin/src/__tests__/tsconfig.eslint.json b/plugin/__tests__/tsconfig.eslint.json similarity index 100% rename from plugin/src/__tests__/tsconfig.eslint.json rename to plugin/__tests__/tsconfig.eslint.json diff --git a/plugin/src/__tests__/withMapLibre-test.ts b/plugin/__tests__/withMapLibre-test.ts similarity index 96% rename from plugin/src/__tests__/withMapLibre-test.ts rename to plugin/__tests__/withMapLibre-test.ts index 050f55f83..5b9ecd0df 100644 --- a/plugin/src/__tests__/withMapLibre-test.ts +++ b/plugin/__tests__/withMapLibre-test.ts @@ -1,4 +1,4 @@ -import { applyCocoaPodsModifications } from "../withMapLibre"; +import { applyCocoaPodsModifications } from "../src/withMapLibre"; import * as fixtures from "./fixtures/cocoapodFiles"; describe("applyCocoaPodsModifications", () => { From 39de3004b24813e862e524fd5ac9a3349e1c5c89 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Sat, 23 Nov 2024 09:47:11 +0100 Subject: [PATCH 17/22] chore: fix urls in package.json --- package.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c26ce0af2..afe7a2095 100644 --- a/package.json +++ b/package.json @@ -15,9 +15,13 @@ "mapbox" ], "license": "MIT", + "homepage": "https://github.com/maplibre/maplibre-react-native#readme", "repository": { "type": "git", - "url": "https://github.com/maplibre/maplibre-react-native" + "url": "git+https://github.com/maplibre/maplibre-react-native.git" + }, + "bugs": { + "url": "https://github.com/maplibre/maplibre-react-native/issues" }, "scripts": { "codegen": "tsx scripts/codegen.ts", From 603475eaf650f77c008186e85c02b10c14a18989 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Sat, 23 Nov 2024 10:39:18 +0100 Subject: [PATCH 18/22] chore: align babel with scaffold --- babel.config.js | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/babel.config.js b/babel.config.js index 32c77c86a..cf231eecd 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,12 +1,5 @@ module.exports = { - presets: ["module:@react-native/babel-preset"], - plugins: [ - ["@babel/plugin-proposal-class-properties", { loose: true }], - ["@babel/plugin-transform-private-methods", { loose: true }], + presets: [ + ["module:react-native-builder-bob/babel-preset", { modules: "commonjs" }], ], - env: { - production: { - plugins: ["transform-remove-console"], - }, - }, }; From 345f45479a20efdf5e5062398c0c02e31c51f4cb Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Sat, 23 Nov 2024 10:40:13 +0100 Subject: [PATCH 19/22] chore: bump expo example --- packages/examples/package.json | 12 +- packages/expo-app/package.json | 10 +- yarn.lock | 637 +++++++++++++++++++++++++-------- 3 files changed, 508 insertions(+), 151 deletions(-) diff --git a/packages/examples/package.json b/packages/examples/package.json index d5106efdd..3a5d8ccf0 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -12,12 +12,12 @@ "!**/__tests__" ], "peerDependencies": { - "@react-native-masked-view/masked-view": "^0.3.1", - "react": "18.2.0", - "react-native": ">=0.74.0", - "react-native-gesture-handler": "^2.20.0", - "react-native-safe-area-context": "^4.11.1", - "react-native-screens": "^3.34.0" + "@react-native-masked-view/masked-view": "*", + "react": "*", + "react-native": "*", + "react-native-gesture-handler": "*", + "react-native-safe-area-context": "*", + "react-native-screens": "*" }, "dependencies": { "@mapbox/geo-viewport": "^0.5.0", diff --git a/packages/expo-app/package.json b/packages/expo-app/package.json index 779da890f..ea5204b5d 100644 --- a/packages/expo-app/package.json +++ b/packages/expo-app/package.json @@ -12,15 +12,15 @@ "dependencies": { "@maplibre-react-native/examples": "workspace:*", "@maplibre/maplibre-react-native": "workspace:*", - "@react-native-masked-view/masked-view": "^0.3.1", - "expo": "^52.0.0", - "expo-dev-client": "~5.0.1", + "@react-native-masked-view/masked-view": "0.3.2", + "expo": "~52.0.11", + "expo-dev-client": "~5.0.4", "expo-status-bar": "~2.0.0", "react": "18.3.1", - "react-native": "0.76.1", + "react-native": "0.76.3", "react-native-gesture-handler": "~2.20.2", "react-native-safe-area-context": "4.12.0", - "react-native-screens": "~4.0.0" + "react-native-screens": "~4.1.0" }, "devDependencies": { "@babel/core": "^7.25.8" diff --git a/yarn.lock b/yarn.lock index 814ef93aa..87cee8876 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3334,6 +3334,15 @@ __metadata: languageName: node linkType: hard +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": "npm:0.3.9" + checksum: 10/b6e38a1712fab242c86a241c229cf562195aad985d0564bd352ac404be583029e89e93028ffd2c251d2c407ecac5fb0cbdca94a2d5c10f29ac806ede0508b3ff + languageName: node + linkType: hard + "@egjs/hammerjs@npm:^2.0.17": version: 2.0.17 resolution: "@egjs/hammerjs@npm:2.0.17" @@ -3569,15 +3578,15 @@ __metadata: languageName: node linkType: hard -"@expo/cli@npm:0.21.1": - version: 0.21.1 - resolution: "@expo/cli@npm:0.21.1" +"@expo/cli@npm:0.21.8": + version: 0.21.8 + resolution: "@expo/cli@npm:0.21.8" dependencies: "@0no-co/graphql.web": "npm:^1.0.8" "@babel/runtime": "npm:^7.20.0" "@expo/code-signing-certificates": "npm:^0.0.5" - "@expo/config": "npm:~10.0.2" - "@expo/config-plugins": "npm:~9.0.3" + "@expo/config": "npm:~10.0.4" + "@expo/config-plugins": "npm:~9.0.10" "@expo/devcert": "npm:^1.1.2" "@expo/env": "npm:~0.4.0" "@expo/image-utils": "npm:^0.6.0" @@ -3586,11 +3595,11 @@ __metadata: "@expo/osascript": "npm:^2.0.31" "@expo/package-manager": "npm:^1.5.0" "@expo/plist": "npm:^0.2.0" - "@expo/prebuild-config": "npm:^8.0.9" + "@expo/prebuild-config": "npm:^8.0.17" "@expo/rudder-sdk-node": "npm:^1.1.1" "@expo/spawn-async": "npm:^1.7.2" "@expo/xcpretty": "npm:^4.3.0" - "@react-native/dev-middleware": "npm:0.76.1" + "@react-native/dev-middleware": "npm:0.76.3" "@urql/core": "npm:^5.0.6" "@urql/exchange-retry": "npm:^1.3.0" accepts: "npm:^1.3.8" @@ -3631,7 +3640,7 @@ __metadata: resolve-from: "npm:^5.0.0" resolve.exports: "npm:^2.0.2" semver: "npm:^7.6.0" - send: "npm:^0.18.0" + send: "npm:^0.19.0" slugify: "npm:^1.3.4" source-map-support: "npm:~0.5.21" stacktrace-parser: "npm:^0.1.10" @@ -3646,7 +3655,7 @@ __metadata: ws: "npm:^8.12.1" bin: expo-internal: build/bin/cli - checksum: 10/25dce7156c487697763c9ab939163bee28fe0cab461f915f8bb6b6284393a1d58b1c21254981d9a54ca71ae95f1e8377488e84e44225acb9dc64dd519d4ac2a5 + checksum: 10/0060fda1a040769db71a6b0fd9a13bd90fdf1000302ca7a0e103a1acf7c9653d1ece1a984ac0db12f843c4cf4b525c9b65e7d7f23a5c91ee18f18a6dcd1a74dd languageName: node linkType: hard @@ -3660,7 +3669,7 @@ __metadata: languageName: node linkType: hard -"@expo/config-plugins@npm:9.0.9, @expo/config-plugins@npm:^9.0.9, @expo/config-plugins@npm:~9.0.0, @expo/config-plugins@npm:~9.0.3": +"@expo/config-plugins@npm:^9.0.9, @expo/config-plugins@npm:~9.0.0": version: 9.0.9 resolution: "@expo/config-plugins@npm:9.0.9" dependencies: @@ -3682,6 +3691,28 @@ __metadata: languageName: node linkType: hard +"@expo/config-plugins@npm:~9.0.10": + version: 9.0.10 + resolution: "@expo/config-plugins@npm:9.0.10" + dependencies: + "@expo/config-types": "npm:^52.0.0" + "@expo/json-file": "npm:~9.0.0" + "@expo/plist": "npm:^0.2.0" + "@expo/sdk-runtime-versions": "npm:^1.0.0" + chalk: "npm:^4.1.2" + debug: "npm:^4.3.5" + getenv: "npm:^1.0.0" + glob: "npm:^10.4.2" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.5.4" + slash: "npm:^3.0.0" + slugify: "npm:^1.6.6" + xcode: "npm:^3.0.1" + xml2js: "npm:0.6.0" + checksum: 10/c2212c4362183996199e6bb9c57e43759fed293e228d780250e95bf75f2c6ccb70d263aa1c4a54b479be33786ea3a338ecd3e708d5132a9fe5016ed0327d3654 + languageName: node + linkType: hard + "@expo/config-types@npm:^52.0.0": version: 52.0.1 resolution: "@expo/config-types@npm:52.0.1" @@ -3689,7 +3720,7 @@ __metadata: languageName: node linkType: hard -"@expo/config@npm:10.0.3, @expo/config@npm:~10.0.0, @expo/config@npm:~10.0.2": +"@expo/config@npm:~10.0.0": version: 10.0.3 resolution: "@expo/config@npm:10.0.3" dependencies: @@ -3710,6 +3741,27 @@ __metadata: languageName: node linkType: hard +"@expo/config@npm:~10.0.4, @expo/config@npm:~10.0.5": + version: 10.0.5 + resolution: "@expo/config@npm:10.0.5" + dependencies: + "@babel/code-frame": "npm:~7.10.4" + "@expo/config-plugins": "npm:~9.0.10" + "@expo/config-types": "npm:^52.0.0" + "@expo/json-file": "npm:^9.0.0" + deepmerge: "npm:^4.3.1" + getenv: "npm:^1.0.0" + glob: "npm:^10.4.2" + require-from-string: "npm:^2.0.2" + resolve-from: "npm:^5.0.0" + resolve-workspace-root: "npm:^2.0.0" + semver: "npm:^7.6.0" + slugify: "npm:^1.3.4" + sucrase: "npm:3.35.0" + checksum: 10/d74b73b367a549c5b7fa4920680f2f2635f261f1e5a63533684ceeb08599ce91ded487eb187d5994bb1e95e0af1842ea9dd490899a7197501bc978227ea13b0b + languageName: node + linkType: hard + "@expo/devcert@npm:^1.1.2": version: 1.1.4 resolution: "@expo/devcert@npm:1.1.4" @@ -3803,7 +3855,33 @@ __metadata: languageName: node linkType: hard -"@expo/metro-config@npm:0.19.2, @expo/metro-config@npm:~0.19.0": +"@expo/metro-config@npm:0.19.4": + version: 0.19.4 + resolution: "@expo/metro-config@npm:0.19.4" + dependencies: + "@babel/core": "npm:^7.20.0" + "@babel/generator": "npm:^7.20.5" + "@babel/parser": "npm:^7.20.0" + "@babel/types": "npm:^7.20.0" + "@expo/config": "npm:~10.0.4" + "@expo/env": "npm:~0.4.0" + "@expo/json-file": "npm:~9.0.0" + "@expo/spawn-async": "npm:^1.7.2" + chalk: "npm:^4.1.0" + debug: "npm:^4.3.2" + fs-extra: "npm:^9.1.0" + getenv: "npm:^1.0.0" + glob: "npm:^10.4.2" + jsc-safe-url: "npm:^0.2.4" + lightningcss: "npm:~1.27.0" + minimatch: "npm:^3.0.4" + postcss: "npm:~8.4.32" + resolve-from: "npm:^5.0.0" + checksum: 10/6320148c414669ccaf269648596f5d43fb0e3e9e64b93da5f38213748279c8ae6a835ea907fff2d940d91594dba22396f5c32b20db592504f8deb4dc375d0e4d + languageName: node + linkType: hard + +"@expo/metro-config@npm:~0.19.0": version: 0.19.2 resolution: "@expo/metro-config@npm:0.19.2" dependencies: @@ -3881,22 +3959,22 @@ __metadata: languageName: node linkType: hard -"@expo/prebuild-config@npm:^8.0.9": - version: 8.0.13 - resolution: "@expo/prebuild-config@npm:8.0.13" +"@expo/prebuild-config@npm:^8.0.17": + version: 8.0.20 + resolution: "@expo/prebuild-config@npm:8.0.20" dependencies: - "@expo/config": "npm:~10.0.0" - "@expo/config-plugins": "npm:~9.0.0" + "@expo/config": "npm:~10.0.4" + "@expo/config-plugins": "npm:~9.0.10" "@expo/config-types": "npm:^52.0.0" "@expo/image-utils": "npm:^0.6.0" "@expo/json-file": "npm:^9.0.0" - "@react-native/normalize-colors": "npm:0.76.1" + "@react-native/normalize-colors": "npm:0.76.3" debug: "npm:^4.3.1" fs-extra: "npm:^9.0.0" resolve-from: "npm:^5.0.0" semver: "npm:^7.6.0" xml2js: "npm:0.6.0" - checksum: 10/e5fdc6db1f829bdb7cded65ec91d07d540d3da9614dabda7274a42a3bf9cd53a7a58137957ca55166f8cff48a05531bb73f74e73b49fbe61e59b48281fad37e9 + checksum: 10/4b0c3842c09be147607084e26361a0046e0638f3c8beb67f49d35accaeb6b63878ea408ef0ad29eb5701dd9c902eac254eb2b511bd09044d096b99a514a14acc languageName: node linkType: hard @@ -4306,7 +4384,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.1.0": +"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d @@ -4337,6 +4415,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 10/83deafb8e7a5ca98993c2c6eeaa93c270f6f647a4c0dc00deb38c9cf9b2d3b7bf15e8839540155247ef034a052c0ec4466f980bf0c9e2ab63b97d16c0cedd3ff + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" @@ -4407,12 +4495,12 @@ __metadata: react-native-screens: "npm:^3.34.0" typescript: "npm:^5.5.3" peerDependencies: - "@react-native-masked-view/masked-view": ^0.3.1 - react: 18.2.0 - react-native: ">=0.74.0" - react-native-gesture-handler: ^2.20.0 - react-native-safe-area-context: ^4.11.1 - react-native-screens: ^3.34.0 + "@react-native-masked-view/masked-view": "*" + react: "*" + react-native: "*" + react-native-gesture-handler: "*" + react-native-safe-area-context: "*" + react-native-screens: "*" languageName: unknown linkType: soft @@ -4935,6 +5023,16 @@ __metadata: languageName: node linkType: hard +"@react-native-masked-view/masked-view@npm:0.3.2": + version: 0.3.2 + resolution: "@react-native-masked-view/masked-view@npm:0.3.2" + peerDependencies: + react: ">=16" + react-native: ">=0.57" + checksum: 10/04ffbc01083aa563ca1e2d7ef6759e7b326b8129f5bb1aa5f3142348adab06d5e321a400cf70a5434324dfa906add383f8214640697c48c9e5311b30bfea03d9 + languageName: node + linkType: hard + "@react-native-masked-view/masked-view@npm:^0.3.1": version: 0.3.1 resolution: "@react-native-masked-view/masked-view@npm:0.3.1" @@ -4959,10 +5057,10 @@ __metadata: languageName: node linkType: hard -"@react-native/assets-registry@npm:0.76.1": - version: 0.76.1 - resolution: "@react-native/assets-registry@npm:0.76.1" - checksum: 10/da78a53ee18889ba3c229dcc0f99496e99debe7e0143cbcb413277355bdbc8fbfa3f7459e9b85de2730bd902a5190cffa90fb6a92602290401543d915264dd06 +"@react-native/assets-registry@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/assets-registry@npm:0.76.3" + checksum: 10/e56bf32d5900933474ff77b5441a285d6494fa8762eefcb3d3d1ffac85bade6464437142eb156f9c7214bff1a4107ff2054fe96d6e33f74b9b26001868706678 languageName: node linkType: hard @@ -4993,6 +5091,15 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-plugin-codegen@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/babel-plugin-codegen@npm:0.76.3" + dependencies: + "@react-native/codegen": "npm:0.76.3" + checksum: 10/7edff369085919470c60da81b86c589d67dd94fdceda44dcf28cd18d21be0bb77c66428796205b23c9c6e440ea15effd12596197235cef81a4e50252804dc1ec + languageName: node + linkType: hard + "@react-native/babel-preset@npm:0.74.88, @react-native/babel-preset@npm:^0.74.88": version: 0.74.88 resolution: "@react-native/babel-preset@npm:0.74.88" @@ -5156,6 +5263,61 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-preset@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/babel-preset@npm:0.76.3" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" + "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" + "@babel/plugin-transform-block-scoping": "npm:^7.25.0" + "@babel/plugin-transform-class-properties": "npm:^7.25.4" + "@babel/plugin-transform-classes": "npm:^7.25.4" + "@babel/plugin-transform-computed-properties": "npm:^7.24.7" + "@babel/plugin-transform-destructuring": "npm:^7.24.8" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" + "@babel/plugin-transform-for-of": "npm:^7.24.7" + "@babel/plugin-transform-function-name": "npm:^7.25.1" + "@babel/plugin-transform-literals": "npm:^7.25.2" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" + "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" + "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/plugin-transform-private-methods": "npm:^7.24.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" + "@babel/plugin-transform-react-display-name": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx": "npm:^7.25.2" + "@babel/plugin-transform-react-jsx-self": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx-source": "npm:^7.24.7" + "@babel/plugin-transform-regenerator": "npm:^7.24.7" + "@babel/plugin-transform-runtime": "npm:^7.24.7" + "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" + "@babel/plugin-transform-spread": "npm:^7.24.7" + "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" + "@babel/plugin-transform-typescript": "npm:^7.25.2" + "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" + "@babel/template": "npm:^7.25.0" + "@react-native/babel-plugin-codegen": "npm:0.76.3" + babel-plugin-syntax-hermes-parser: "npm:^0.25.1" + babel-plugin-transform-flow-enums: "npm:^0.0.2" + react-refresh: "npm:^0.14.0" + peerDependencies: + "@babel/core": "*" + checksum: 10/adbe03b9915430c5174769589a96999fa43f1db5ee6229b0e78780787f262d861d842e9376ece2d4215d299dbf81df814e3c23c548b83bf1fc0afd05296b2e11 + languageName: node + linkType: hard + "@react-native/codegen@npm:0.74.88": version: 0.74.88 resolution: "@react-native/codegen@npm:0.74.88" @@ -5210,6 +5372,24 @@ __metadata: languageName: node linkType: hard +"@react-native/codegen@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/codegen@npm:0.76.3" + dependencies: + "@babel/parser": "npm:^7.25.3" + glob: "npm:^7.1.1" + hermes-parser: "npm:0.23.1" + invariant: "npm:^2.2.4" + jscodeshift: "npm:^0.14.0" + mkdirp: "npm:^0.5.1" + nullthrows: "npm:^1.1.1" + yargs: "npm:^17.6.2" + peerDependencies: + "@babel/preset-env": ^7.1.6 + checksum: 10/2bc81548059095acff0d775a4f6b101b3b559992aaca8dd979faf83177a2d2d4f8653efd970a3b6563a339649d5d0e3f856ad5980c30f99861c0f948e6b34942 + languageName: node + linkType: hard + "@react-native/community-cli-plugin@npm:0.74.88": version: 0.74.88 resolution: "@react-native/community-cli-plugin@npm:0.74.88" @@ -5249,12 +5429,12 @@ __metadata: languageName: node linkType: hard -"@react-native/community-cli-plugin@npm:0.76.1": - version: 0.76.1 - resolution: "@react-native/community-cli-plugin@npm:0.76.1" +"@react-native/community-cli-plugin@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/community-cli-plugin@npm:0.76.3" dependencies: - "@react-native/dev-middleware": "npm:0.76.1" - "@react-native/metro-babel-transformer": "npm:0.76.1" + "@react-native/dev-middleware": "npm:0.76.3" + "@react-native/metro-babel-transformer": "npm:0.76.3" chalk: "npm:^4.0.0" execa: "npm:^5.1.1" invariant: "npm:^2.2.4" @@ -5263,12 +5443,13 @@ __metadata: metro-core: "npm:^0.81.0" node-fetch: "npm:^2.2.0" readline: "npm:^1.3.0" + semver: "npm:^7.1.3" peerDependencies: "@react-native-community/cli-server-api": "*" peerDependenciesMeta: "@react-native-community/cli-server-api": optional: true - checksum: 10/6263c971c377fec9e6e675ee8710bd6dc92a38e90071325f96f0f5422d20eacdc7b18f436c27665769bedee5d315e08365b01bacef3574a3ab66ec07ad098945 + checksum: 10/c415f26bdebb9c32230423879ca206a34343a644c307e4efc07d09a677b1394ef945b1b65d615c84913227cd03bf205315728c8cd9188e5cb51c5cb3b12b589d languageName: node linkType: hard @@ -5286,10 +5467,10 @@ __metadata: languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.76.1": - version: 0.76.1 - resolution: "@react-native/debugger-frontend@npm:0.76.1" - checksum: 10/02811e0840a6afccb0817e7b9f44f726087ef64a1c72b75454ea40a8e3b4f83f38f122196f8d8e31afeefa5f56b4a92fd688b2b7e2a848fdfa64bb654007c32c +"@react-native/debugger-frontend@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/debugger-frontend@npm:0.76.3" + checksum: 10/6a652a3c18fad1850ec369588e60c4503306ff307404028019d34b31789e9ccb63343d4e8c6b6263dd994f609579380e827e1f42daaacd770d3be636de1ef836 languageName: node linkType: hard @@ -5334,12 +5515,12 @@ __metadata: languageName: node linkType: hard -"@react-native/dev-middleware@npm:0.76.1": - version: 0.76.1 - resolution: "@react-native/dev-middleware@npm:0.76.1" +"@react-native/dev-middleware@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/dev-middleware@npm:0.76.3" dependencies: "@isaacs/ttlcache": "npm:^1.4.1" - "@react-native/debugger-frontend": "npm:0.76.1" + "@react-native/debugger-frontend": "npm:0.76.3" chrome-launcher: "npm:^0.15.2" chromium-edge-launcher: "npm:^0.2.0" connect: "npm:^3.6.5" @@ -5349,7 +5530,7 @@ __metadata: selfsigned: "npm:^2.4.1" serve-static: "npm:^1.13.1" ws: "npm:^6.2.3" - checksum: 10/83d767ce00058b3f249fa9c6b8ee0b3886e24cbe745d27eb4ffec90987b2e2cc120ae9ec4fadf40395d3ed63a8a63c1d3dc7dd0e7ed84fa7d1a2a1908a49e44a + checksum: 10/d104275f7276837b92cc230dfdeeb8406f834518516bac99c82e81e54487540407627b670705f9b7f8e8a3a506bf7ee86043b4c4b37d6ce970d58309d8f5d251 languageName: node linkType: hard @@ -5367,10 +5548,10 @@ __metadata: languageName: node linkType: hard -"@react-native/gradle-plugin@npm:0.76.1": - version: 0.76.1 - resolution: "@react-native/gradle-plugin@npm:0.76.1" - checksum: 10/19486fb1dfb3e0dd41938b8a88a673de845a6cc7671df3b1d7cc0e746b916eb0ed807015f5e62b506389924a0e3490ae08082a91f57d114e8368293461118e72 +"@react-native/gradle-plugin@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/gradle-plugin@npm:0.76.3" + checksum: 10/331263f289418b5416f298328d8ef7b1cf7cc4fcb13707d941f666414c4628d59b2fba988ec4dc38b3a9dbcd2e937053e2259aec7dbdcac890017914ea24516d languageName: node linkType: hard @@ -5388,10 +5569,10 @@ __metadata: languageName: node linkType: hard -"@react-native/js-polyfills@npm:0.76.1": - version: 0.76.1 - resolution: "@react-native/js-polyfills@npm:0.76.1" - checksum: 10/64e565de7feaee213a2e0db35d101fd0c0ec8fa4e8336e4097372604f3a3c79d9b7218a5dd79b608033012f4675bbc65ff7089738f9c9802583af89e3834a13d +"@react-native/js-polyfills@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/js-polyfills@npm:0.76.3" + checksum: 10/6bf86f6003a26fcee796a5e6642eea0c8b8f49016d5fb8c39a5c13397b7c3c26cc0e3c96c9dc40ac8983148a252904ec6fa2201fcbe6c47819bde891d2db0a77 languageName: node linkType: hard @@ -5423,17 +5604,17 @@ __metadata: languageName: node linkType: hard -"@react-native/metro-babel-transformer@npm:0.76.1": - version: 0.76.1 - resolution: "@react-native/metro-babel-transformer@npm:0.76.1" +"@react-native/metro-babel-transformer@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/metro-babel-transformer@npm:0.76.3" dependencies: "@babel/core": "npm:^7.25.2" - "@react-native/babel-preset": "npm:0.76.1" + "@react-native/babel-preset": "npm:0.76.3" hermes-parser: "npm:0.23.1" nullthrows: "npm:^1.1.1" peerDependencies: "@babel/core": "*" - checksum: 10/a88ca81edea5cb61720960241975cabf54536e482746a4ad37fadc52606990590b96f3bb55e4acd76f3ed3704436628c6aae56112f7ec525c40f240ffa6955ff + checksum: 10/00cc1092042a530665ceadae6315441de8efb41448f2011fdfa7f586c8787346ec90c68f740980b56b1271cea2436497d82b78f5f1551b8df83eab032d05b251 languageName: node linkType: hard @@ -5475,10 +5656,10 @@ __metadata: languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.76.1": - version: 0.76.1 - resolution: "@react-native/normalize-colors@npm:0.76.1" - checksum: 10/18fcab73b04e1b38794f7bd9d1172bb7f1b0d336df7d8ce669ec6b40eabbc254a58954330fdcae8fb3c7eef384368988fb3d7864a3668f12499c1f1c84a05989 +"@react-native/normalize-colors@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/normalize-colors@npm:0.76.3" + checksum: 10/5675856bba8184f2049249cc217dc417857408fba6c4043d8ad2c941a33eba00af2574fa9e884c1f8073c99bd945308a310bbf89f63e67f17f4e6c11fdebf4fa languageName: node linkType: hard @@ -5516,9 +5697,9 @@ __metadata: languageName: node linkType: hard -"@react-native/virtualized-lists@npm:0.76.1": - version: 0.76.1 - resolution: "@react-native/virtualized-lists@npm:0.76.1" +"@react-native/virtualized-lists@npm:0.76.3": + version: 0.76.3 + resolution: "@react-native/virtualized-lists@npm:0.76.3" dependencies: invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" @@ -5529,7 +5710,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10/100920545f6c91778c0cc64c377f126f85145f66410c91de2f55c1545e042addeab37c022c7a382a28987056740bf3f6d33194cbc9a2c88c65f5e0eab8474c1a + checksum: 10/e3a43d669ff00379f93a03c8de4fddc88c0eafd30b1da9927c9613208e8b04bb1a41d1c955c29a2a7a0390ec318bc14aca6364541c9e29e0f803cedc8c0d2542 languageName: node linkType: hard @@ -5736,6 +5917,34 @@ __metadata: languageName: node linkType: hard +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node10@npm:1.0.11" + checksum: 10/51fe47d55fe1b80ec35e6e5ed30a13665fd3a531945350aa74a14a1e82875fb60b350c2f2a5e72a64831b1b6bc02acb6760c30b3738b54954ec2dea82db7a267 + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node12@npm:1.0.11" + checksum: 10/5ce29a41b13e7897a58b8e2df11269c5395999e588b9a467386f99d1d26f6c77d1af2719e407621412520ea30517d718d5192a32403b8dfcc163bf33e40a338a + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.3 + resolution: "@tsconfig/node14@npm:1.0.3" + checksum: 10/19275fe80c4c8d0ad0abed6a96dbf00642e88b220b090418609c4376e1cef81bf16237bf170ad1b341452feddb8115d8dd2e5acdfdea1b27422071163dc9ba9d + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.4 + resolution: "@tsconfig/node16@npm:1.0.4" + checksum: 10/202319785901f942a6e1e476b872d421baec20cf09f4b266a1854060efbf78cde16a4d256e8bc949d31e6cd9a90f1e8ef8fb06af96a65e98338a2b6b0de0a0ff + languageName: node + linkType: hard + "@tsconfig/node18@npm:^18.2.2": version: 18.2.4 resolution: "@tsconfig/node18@npm:18.2.4" @@ -6614,7 +6823,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.0.2": +"acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1": version: 8.3.4 resolution: "acorn-walk@npm:8.3.4" dependencies: @@ -6641,6 +6850,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.4.1": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" + bin: + acorn: bin/acorn + checksum: 10/6df29c35556782ca9e632db461a7f97947772c6c1d5438a81f0c873a3da3a792487e83e404d1c6c25f70513e91aa18745f6eafb1fcc3a43ecd1920b21dd173d2 + languageName: node + linkType: hard + "agent-base@npm:6": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -6823,6 +7041,13 @@ __metadata: languageName: node linkType: hard +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 10/969b491082f20cad166649fa4d2073ea9e974a4e5ac36247ca23d2e5a8b3cb12d60e9ff70a8acfe26d76566c71fd351ee5e6a9a6595157eb36f92b1fd64e1599 + languageName: node + linkType: hard + "arg@npm:^5.0.2": version: 5.0.2 resolution: "arg@npm:5.0.2" @@ -7143,6 +7368,15 @@ __metadata: languageName: node linkType: hard +"babel-plugin-syntax-hermes-parser@npm:^0.25.1": + version: 0.25.1 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.25.1" + dependencies: + hermes-parser: "npm:0.25.1" + checksum: 10/dc80fafde1aed8e60cf86ecd2e9920e7f35ffe02b33bd4e772daaa786167bcf508aac3fc1aea425ff4c7a0be94d82528f3fe8619b7f41dac853264272d640c04 + languageName: node + linkType: hard + "babel-plugin-transform-flow-enums@npm:^0.0.2": version: 0.0.2 resolution: "babel-plugin-transform-flow-enums@npm:0.0.2" @@ -7202,6 +7436,31 @@ __metadata: languageName: node linkType: hard +"babel-preset-expo@npm:~12.0.2": + version: 12.0.2 + resolution: "babel-preset-expo@npm:12.0.2" + dependencies: + "@babel/plugin-proposal-decorators": "npm:^7.12.9" + "@babel/plugin-transform-export-namespace-from": "npm:^7.22.11" + "@babel/plugin-transform-object-rest-spread": "npm:^7.12.13" + "@babel/plugin-transform-parameters": "npm:^7.22.15" + "@babel/preset-react": "npm:^7.22.15" + "@babel/preset-typescript": "npm:^7.23.0" + "@react-native/babel-preset": "npm:0.76.3" + babel-plugin-react-native-web: "npm:~0.19.13" + react-refresh: "npm:^0.14.2" + peerDependencies: + babel-plugin-react-compiler: ^19.0.0-beta-9ee70a1-20241017 + react-compiler-runtime: ^19.0.0-beta-8a03594-20241020 + peerDependenciesMeta: + babel-plugin-react-compiler: + optional: true + react-compiler-runtime: + optional: true + checksum: 10/e3f56940e1e11193ba2c8c8c25db0973918f52b464f674de8f352ab82d38957f5abdfdf9a22af0de295f1f3bae50c4e39ca77282d9ea6b21e2e62eefbf504112 + languageName: node + linkType: hard + "babel-preset-jest@npm:^29.6.3": version: 29.6.3 resolution: "babel-preset-jest@npm:29.6.3" @@ -8157,6 +8416,13 @@ __metadata: languageName: node linkType: hard +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: 10/a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff + languageName: node + linkType: hard + "cross-fetch@npm:^3.1.5": version: 3.1.8 resolution: "cross-fetch@npm:3.1.8" @@ -8596,6 +8862,13 @@ __metadata: languageName: node linkType: hard +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: 10/ec09ec2101934ca5966355a229d77afcad5911c92e2a77413efda5455636c4cf2ce84057e2d7715227a2eeeda04255b849bd3ae3a4dd22eb22e86e76456df069 + languageName: node + linkType: hard + "diff@npm:^5.0.0, diff@npm:^5.1.0": version: 5.2.0 resolution: "diff@npm:5.2.0" @@ -9738,15 +10011,16 @@ __metadata: "@babel/core": "npm:^7.25.8" "@maplibre-react-native/examples": "workspace:*" "@maplibre/maplibre-react-native": "workspace:*" - "@react-native-masked-view/masked-view": "npm:^0.3.1" - expo: "npm:^52.0.0" - expo-dev-client: "npm:~5.0.1" + "@react-native-masked-view/masked-view": "npm:0.3.2" + expo: "npm:~52.0.11" + expo-dev-client: "npm:~5.0.4" expo-status-bar: "npm:~2.0.0" react: "npm:18.3.1" - react-native: "npm:0.76.1" + react-native: "npm:0.76.3" react-native-gesture-handler: "npm:~2.20.2" react-native-safe-area-context: "npm:4.12.0" - react-native-screens: "npm:~4.0.0" + react-native-screens: "npm:~4.1.0" + ts-node: "npm:^10.9.2" languageName: unknown linkType: soft @@ -9766,7 +10040,7 @@ __metadata: languageName: node linkType: hard -"expo-constants@npm:~17.0.0, expo-constants@npm:~17.0.2": +"expo-constants@npm:~17.0.0": version: 17.0.2 resolution: "expo-constants@npm:17.0.2" dependencies: @@ -9779,62 +10053,77 @@ __metadata: languageName: node linkType: hard -"expo-dev-client@npm:~5.0.1": - version: 5.0.1 - resolution: "expo-dev-client@npm:5.0.1" +"expo-constants@npm:~17.0.3": + version: 17.0.3 + resolution: "expo-constants@npm:17.0.3" dependencies: - expo-dev-launcher: "npm:5.0.13" - expo-dev-menu: "npm:6.0.8" - expo-dev-menu-interface: "npm:1.9.1" + "@expo/config": "npm:~10.0.4" + "@expo/env": "npm:~0.4.0" + peerDependencies: + expo: "*" + react-native: "*" + checksum: 10/25487b469010c57ffbb1bf5e052d5e546db0bc7af9a68acd0e359a2f3978c99fc28b49527514da862dfcaf6b7915674b16d70a3c63d31a64cbdb0d27c6294a69 + languageName: node + linkType: hard + +"expo-dev-client@npm:~5.0.4": + version: 5.0.4 + resolution: "expo-dev-client@npm:5.0.4" + dependencies: + expo-dev-launcher: "npm:5.0.16" + expo-dev-menu: "npm:6.0.11" + expo-dev-menu-interface: "npm:1.9.2" expo-manifests: "npm:~0.15.0" expo-updates-interface: "npm:~1.0.0" peerDependencies: expo: "*" - checksum: 10/92f3eceb7ca44f99c84390a89077dc29dbdebb12b7593d149dcf653fe7ca06ee4802a6877356ac95defa941b50fa36b727630c2667d03dd61c6cfc5b04892abc + checksum: 10/0fe774660ebd5fbd68ab3e42b4ccfb6071bd1b8740ab429ea59e0188655a513d1b091323035317368ebb3e8b874ab2d2dd60345a714949af8246b7347bf29766 languageName: node linkType: hard -"expo-dev-launcher@npm:5.0.13": - version: 5.0.13 - resolution: "expo-dev-launcher@npm:5.0.13" +"expo-dev-launcher@npm:5.0.16": + version: 5.0.16 + resolution: "expo-dev-launcher@npm:5.0.16" dependencies: ajv: "npm:8.11.0" - expo-dev-menu: "npm:6.0.8" + expo-dev-menu: "npm:6.0.11" expo-manifests: "npm:~0.15.0" resolve-from: "npm:^5.0.0" peerDependencies: expo: "*" - checksum: 10/649760e282e335e42d424318fe21f5d118c30c2dcfac773f194efb805458a85be7a46fbb43ff9da2cc2e451d4c63ed37d99de1ad9abf49d3bc47aacaf8d66fb9 + checksum: 10/da4a677bfce0709c1c9d6c379b7043faebdefe7168eb6c5ee5e5c3ff333f6d9554797361e01291e4e4002178a386f1e96f54bff52dd077e1ab52df999789de60 languageName: node linkType: hard -"expo-dev-menu-interface@npm:1.9.1": - version: 1.9.1 - resolution: "expo-dev-menu-interface@npm:1.9.1" +"expo-dev-menu-interface@npm:1.9.2": + version: 1.9.2 + resolution: "expo-dev-menu-interface@npm:1.9.2" peerDependencies: expo: "*" - checksum: 10/f94e04b2d824febce329f27d9367379aa9734cf1561aaea3526dc4500dfb4e873ec4531fd08750438d805c81fbce0302916fc9f853918681fa7754c3eafbec60 + checksum: 10/a65c95aadf959b0be9a83ba302d9ac3f4bffec6ad947cbeba2351fd1958a6d95470357ccfc659ba519364dd9564e6a8c32f66c3e9bb0239a717326680a35e3e5 languageName: node linkType: hard -"expo-dev-menu@npm:6.0.8": - version: 6.0.8 - resolution: "expo-dev-menu@npm:6.0.8" +"expo-dev-menu@npm:6.0.11": + version: 6.0.11 + resolution: "expo-dev-menu@npm:6.0.11" dependencies: - expo-dev-menu-interface: "npm:1.9.1" + expo-dev-menu-interface: "npm:1.9.2" peerDependencies: expo: "*" - checksum: 10/f01db4001bec9d85cd25ad73398e1cf84127529eb69be65b6bffba11b99a31a9ddb6b17ed78c13f1efa0dcc77231cfbb4fb9ff9bf02a1d4d0065266efa8a27aa + checksum: 10/9d92ef2b55c35e443f76495da826f946542a1a58e65ea2ebc3586480427e9a9dc381f331a54074f59f408452fcd41de846d9c64fd98ce3a6ede9524218215bdd languageName: node linkType: hard -"expo-file-system@npm:~18.0.2": - version: 18.0.2 - resolution: "expo-file-system@npm:18.0.2" +"expo-file-system@npm:~18.0.4": + version: 18.0.4 + resolution: "expo-file-system@npm:18.0.4" + dependencies: + web-streams-polyfill: "npm:^3.3.2" peerDependencies: expo: "*" react-native: "*" - checksum: 10/1aaf89e1686a63e609001fac3f039e133086a377cd74614f8a226e36cacdc82d1630abf9b754ce73aff3571e9007b61cbfb7f751ce357cf4e7a295e35679e502 + checksum: 10/cd4092f70224ca611936d0225491124d57c32dde9a515bb12f3d396bba1717cd16f0eeda3c7a721b29cf21412bfb3fb8bd8c5c7f78fcca226044d53be17a7fa3 languageName: node linkType: hard @@ -9908,9 +10197,9 @@ __metadata: languageName: node linkType: hard -"expo-modules-autolinking@npm:2.0.1": - version: 2.0.1 - resolution: "expo-modules-autolinking@npm:2.0.1" +"expo-modules-autolinking@npm:2.0.2": + version: 2.0.2 + resolution: "expo-modules-autolinking@npm:2.0.2" dependencies: "@expo/spawn-async": "npm:^1.7.2" chalk: "npm:^4.1.0" @@ -9922,16 +10211,16 @@ __metadata: resolve-from: "npm:^5.0.0" bin: expo-modules-autolinking: bin/expo-modules-autolinking.js - checksum: 10/b9999056fc09033784f9ce4c89c5b99cf7d089fb8e9410d877821f2a71c86ec5cd5bb97fc0099aa85608791ac8b59c193254e6efbdf34aaab6928f3f6c2e8133 + checksum: 10/8eac2313fc8e0fe30e4a3a2d9bbfa85cb525d2b43a04898b4c395d4ce66a1b57567d79689cbbf90e038279b8bd077323c120288b724788c1b6265b4ce39cf79c languageName: node linkType: hard -"expo-modules-core@npm:2.0.1": - version: 2.0.1 - resolution: "expo-modules-core@npm:2.0.1" +"expo-modules-core@npm:2.0.6": + version: 2.0.6 + resolution: "expo-modules-core@npm:2.0.6" dependencies: invariant: "npm:^2.2.4" - checksum: 10/232687e70a2a290365cbc4b6c40f5edd1ac186f4c9dc6226b0415030e9987c12c29f84abadf3fe3cf7daf861a35361efc864ac62aabbc4242a1168955b9473e8 + checksum: 10/4488350ef81d2552a0467f5841bb19f9751f39f59c1791f850312bfe9cb37f49fd285c828396c578383b216886fdd4e1a9ef54676d936047de4686ae8ba4d949 languageName: node linkType: hard @@ -9954,25 +10243,25 @@ __metadata: languageName: node linkType: hard -"expo@npm:^52.0.0": - version: 52.0.4 - resolution: "expo@npm:52.0.4" +"expo@npm:~52.0.11": + version: 52.0.11 + resolution: "expo@npm:52.0.11" dependencies: "@babel/runtime": "npm:^7.20.0" - "@expo/cli": "npm:0.21.1" - "@expo/config": "npm:10.0.3" - "@expo/config-plugins": "npm:9.0.9" + "@expo/cli": "npm:0.21.8" + "@expo/config": "npm:~10.0.5" + "@expo/config-plugins": "npm:~9.0.10" "@expo/fingerprint": "npm:0.11.2" - "@expo/metro-config": "npm:0.19.2" + "@expo/metro-config": "npm:0.19.4" "@expo/vector-icons": "npm:^14.0.0" - babel-preset-expo: "npm:~12.0.0" + babel-preset-expo: "npm:~12.0.2" expo-asset: "npm:~11.0.1" - expo-constants: "npm:~17.0.2" - expo-file-system: "npm:~18.0.2" + expo-constants: "npm:~17.0.3" + expo-file-system: "npm:~18.0.4" expo-font: "npm:~13.0.1" expo-keep-awake: "npm:~14.0.1" - expo-modules-autolinking: "npm:2.0.1" - expo-modules-core: "npm:2.0.1" + expo-modules-autolinking: "npm:2.0.2" + expo-modules-core: "npm:2.0.6" fbemitter: "npm:^3.0.0" web-streams-polyfill: "npm:^3.3.2" whatwg-url-without-unicode: "npm:8.0.0-3" @@ -9991,7 +10280,7 @@ __metadata: optional: true bin: expo: bin/cli - checksum: 10/b81b50a3956d2c4e1e75094a73ad1e42d383b25ce6ad309483fa901b40377516478245e65804efa787dc42971c1336daf540fe56c126ab9a7b52db938e200714 + checksum: 10/c88e8cc1e7ab7f2b94761005761124c0ff819d867afe5c1db142cf339fafcf1f0236bf743d5666687ebb1bbd0968aad6079f6a9011cce0dc038820620468bcf3 languageName: node linkType: hard @@ -10984,6 +11273,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.25.1": + version: 0.25.1 + resolution: "hermes-estree@npm:0.25.1" + checksum: 10/7b1eca98b264a25632064cffa5771360d30cf452e77db1e191f9913ee45cf78c292b2dbca707e92fb71b0870abb97e94b506a5ab80abd96ba237fee169b601fe + languageName: node + linkType: hard + "hermes-parser@npm:0.19.1": version: 0.19.1 resolution: "hermes-parser@npm:0.19.1" @@ -11020,6 +11316,15 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:0.25.1": + version: 0.25.1 + resolution: "hermes-parser@npm:0.25.1" + dependencies: + hermes-estree: "npm:0.25.1" + checksum: 10/805efc05691420f236654349872c70731121791fa54de521c7ee51059eae34f84dd19f22ee846741dcb60372f8fb5335719b96b4ecb010d2aed7d872f2eff9cc + languageName: node + linkType: hard + "hermes-profile-transformer@npm:^0.0.6": version: 0.0.6 resolution: "hermes-profile-transformer@npm:0.0.6" @@ -13169,7 +13474,7 @@ __metadata: languageName: node linkType: hard -"make-error@npm:1.x": +"make-error@npm:1.x, make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: 10/b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 @@ -15897,31 +16202,31 @@ __metadata: languageName: node linkType: hard -"react-native-screens@npm:~4.0.0": - version: 4.0.0 - resolution: "react-native-screens@npm:4.0.0" +"react-native-screens@npm:~4.1.0": + version: 4.1.0 + resolution: "react-native-screens@npm:4.1.0" dependencies: react-freeze: "npm:^1.0.0" warn-once: "npm:^0.1.0" peerDependencies: react: "*" react-native: "*" - checksum: 10/460867348d9293ea92efb9d9083654ee6ae0adcde15bed54dd57c0512d7fe3d2206bfdd8686eb770a397cb37e4e896ea40af2add8772f38d54fccd55765b1872 + checksum: 10/b3758288be667cd265ec958a6c4f8d75fc93c80624ae05b054e8645e12db5e68e1ccb376017aa392a950304bb220c937e4d819ccf0eb579a125bccb6ef4b919a languageName: node linkType: hard -"react-native@npm:0.76.1": - version: 0.76.1 - resolution: "react-native@npm:0.76.1" +"react-native@npm:0.76.3": + version: 0.76.3 + resolution: "react-native@npm:0.76.3" dependencies: "@jest/create-cache-key-function": "npm:^29.6.3" - "@react-native/assets-registry": "npm:0.76.1" - "@react-native/codegen": "npm:0.76.1" - "@react-native/community-cli-plugin": "npm:0.76.1" - "@react-native/gradle-plugin": "npm:0.76.1" - "@react-native/js-polyfills": "npm:0.76.1" - "@react-native/normalize-colors": "npm:0.76.1" - "@react-native/virtualized-lists": "npm:0.76.1" + "@react-native/assets-registry": "npm:0.76.3" + "@react-native/codegen": "npm:0.76.3" + "@react-native/community-cli-plugin": "npm:0.76.3" + "@react-native/gradle-plugin": "npm:0.76.3" + "@react-native/js-polyfills": "npm:0.76.3" + "@react-native/normalize-colors": "npm:0.76.3" + "@react-native/virtualized-lists": "npm:0.76.3" abort-controller: "npm:^3.0.0" anser: "npm:^1.4.9" ansi-regex: "npm:^5.0.0" @@ -15960,7 +16265,7 @@ __metadata: optional: true bin: react-native: cli.js - checksum: 10/423578b05f6cce87fefb2e47f4ae5d30ccb9a9b72f86c4f93b580280df784592be23ab803e3b435ab15c1e1ccf5d5d4df498a7d62818fe05f3715d9d0654dc58 + checksum: 10/973f0310ebb56eae4025de7eebf100c83b8e82cd23dd7c51767f004bdff0ed7eac3b6ddf19630376edaaefd3108953b4e3be728b59b3825b67426e02b7fb724b languageName: node linkType: hard @@ -16873,14 +17178,14 @@ __metadata: languageName: node linkType: hard -"send@npm:^0.18.0": - version: 0.18.0 - resolution: "send@npm:0.18.0" +"send@npm:^0.19.0": + version: 0.19.1 + resolution: "send@npm:0.19.1" dependencies: debug: "npm:2.6.9" depd: "npm:2.0.0" destroy: "npm:1.2.0" - encodeurl: "npm:~1.0.2" + encodeurl: "npm:~2.0.0" escape-html: "npm:~1.0.3" etag: "npm:~1.8.1" fresh: "npm:0.5.2" @@ -16890,7 +17195,7 @@ __metadata: on-finished: "npm:2.4.1" range-parser: "npm:~1.2.1" statuses: "npm:2.0.1" - checksum: 10/ec66c0ad109680ad8141d507677cfd8b4e40b9559de23191871803ed241718e99026faa46c398dcfb9250676076573bd6bfe5d0ec347f88f4b7b8533d1d391cb + checksum: 10/360bf50a839c7bbc181f67c3a0f3424a7ad8016dfebcd9eb90891f4b762b4377da14414c32250d67b53872e884171c27469110626f6c22765caa7c38c207ee1d languageName: node linkType: hard @@ -18067,6 +18372,44 @@ __metadata: languageName: node linkType: hard +"ts-node@npm:^10.9.2": + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" + dependencies: + "@cspotcode/source-map-support": "npm:^0.8.0" + "@tsconfig/node10": "npm:^1.0.7" + "@tsconfig/node12": "npm:^1.0.7" + "@tsconfig/node14": "npm:^1.0.0" + "@tsconfig/node16": "npm:^1.0.2" + acorn: "npm:^8.4.1" + acorn-walk: "npm:^8.1.1" + arg: "npm:^4.1.0" + create-require: "npm:^1.1.0" + diff: "npm:^4.0.1" + make-error: "npm:^1.1.1" + v8-compile-cache-lib: "npm:^3.0.1" + yn: "npm:3.1.1" + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 10/a91a15b3c9f76ac462f006fa88b6bfa528130dcfb849dd7ef7f9d640832ab681e235b8a2bc58ecde42f72851cc1d5d4e22c901b0c11aa51001ea1d395074b794 + languageName: node + linkType: hard + "tsconfig-paths@npm:^3.15.0": version: 3.15.0 resolution: "tsconfig-paths@npm:3.15.0" @@ -18562,6 +18905,13 @@ __metadata: languageName: node linkType: hard +"v8-compile-cache-lib@npm:^3.0.1": + version: 3.0.1 + resolution: "v8-compile-cache-lib@npm:3.0.1" + checksum: 10/88d3423a52b6aaf1836be779cab12f7016d47ad8430dffba6edf766695e6d90ad4adaa3d8eeb512cc05924f3e246c4a4ca51e089dccf4402caa536b5e5be8961 + languageName: node + linkType: hard + "v8-to-istanbul@npm:^9.0.1": version: 9.3.0 resolution: "v8-to-istanbul@npm:9.3.0" @@ -19195,6 +19545,13 @@ __metadata: languageName: node linkType: hard +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 10/2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 + languageName: node + linkType: hard + "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" From e9334c4a7dc298ed7907db9d04387a9204bf92e1 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Sat, 23 Nov 2024 10:40:29 +0100 Subject: [PATCH 20/22] chore: use plugin source in expo example --- packages/expo-app/app.config.ts | 3 ++- packages/expo-app/package.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/expo-app/app.config.ts b/packages/expo-app/app.config.ts index 92fc5b56f..3c6375798 100644 --- a/packages/expo-app/app.config.ts +++ b/packages/expo-app/app.config.ts @@ -1,3 +1,4 @@ +import "ts-node/register"; import { type ExpoConfig, type ConfigContext } from "expo/config"; export default ({ config }: ConfigContext): ExpoConfig => ({ @@ -28,5 +29,5 @@ export default ({ config }: ConfigContext): ExpoConfig => ({ }, package: "org.maplibre.expo.example", }, - plugins: ["@maplibre/maplibre-react-native"], + plugins: ["../../plugin/src/withMapLibre.ts"], }); diff --git a/packages/expo-app/package.json b/packages/expo-app/package.json index ea5204b5d..d90e3fe72 100644 --- a/packages/expo-app/package.json +++ b/packages/expo-app/package.json @@ -23,6 +23,7 @@ "react-native-screens": "~4.1.0" }, "devDependencies": { - "@babel/core": "^7.25.8" + "@babel/core": "^7.25.8", + "ts-node": "^10.9.2" } } From c7afdf8f911eb339d6b87fa4536103f7e02f22dc Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Sat, 23 Nov 2024 10:45:41 +0100 Subject: [PATCH 21/22] fix: cleanup published files --- .npmignore | 4 ---- package.json | 2 +- packages/examples/package.json | 5 ----- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/.npmignore b/.npmignore index 997ea7df6..4c0e5f907 100644 --- a/.npmignore +++ b/.npmignore @@ -42,7 +42,3 @@ android/local.properties example __tests__ coverage - -plugin/src -plugin/jest.config.js -plugin/tsconfig.json diff --git a/package.json b/package.json index afe7a2095..d42899267 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "*.podspec", "react-native.config.json", "app.plugin.js", - "plugin", + "plugin/build/**", "!ios/build", "!android/build", "!android/gradle", diff --git a/packages/examples/package.json b/packages/examples/package.json index 3a5d8ccf0..c2269ca7c 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -6,11 +6,6 @@ "module": "index.js", "react-native": "index.js", "source": "index.js", - "files": [ - "index.js", - "src", - "!**/__tests__" - ], "peerDependencies": { "@react-native-masked-view/masked-view": "*", "react": "*", From bfb203a5b83e1028b3c94038059cde5ecbceb7d8 Mon Sep 17 00:00:00 2001 From: Kilian Finger Date: Mon, 25 Nov 2024 11:33:29 +0100 Subject: [PATCH 22/22] chore: align tsc lint scripts --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ae2a27150..d0d58f49a 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "lint": "yarn lint:tsc && yarn lint:eslint", "lint:eslint": "eslint .", "lint:eslint:fix": "eslint . --fix", - "lint:tsc": "tsc --project . --noEmit && tsc --project ./packages/examples", + "lint:tsc": "tsc --project . && tsc --project ./packages/examples", "plugin:build": "tsc --build plugin", "plugin:lint": "eslint plugin/src/*", "plugin:test": "jest plugin",