-
Notifications
You must be signed in to change notification settings - Fork 4
chore: add native formatter scripts, shared config and GitHub templates #75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jkasprzyk17
wants to merge
9
commits into
main
Choose a base branch
from
chore/nitro-style-scripts
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
5327368
chore: set the LICENSE copyright holder
jkasprzyk17 4af93a3
chore: remove the changelog and the domain glossary
jkasprzyk17 e73a40e
chore: add issue, pull request and Dependabot templates
jkasprzyk17 8c5e0c0
docs: add a security policy and a code of conduct
jkasprzyk17 bba38a0
chore: move shared tool config into config/
jkasprzyk17 685ab01
chore: add native formatter scripts
jkasprzyk17 ed81e50
style: format the native sources
jkasprzyk17 22f7e2d
chore: tell reporters to redact secrets in issue forms
jkasprzyk17 9497304
fix: preserve backslashes when reading paths in the formatter scripts
jkasprzyk17 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,125 @@ | ||
| name: 🐛 Bug Report | ||
| description: Something in the map renders or behaves incorrectly at runtime | ||
| labels: [bug] | ||
| body: | ||
| - type: textarea | ||
| attributes: | ||
| label: What happened? | ||
| description: Explain what you were trying to do and what happened instead. Be as precise as possible — an issue that cannot be understood cannot be fixed. | ||
| placeholder: I rendered a MapView with 2000 markers and the `onMarkerPress` callback fired with the wrong marker id after clustering kicked in. | ||
| validations: | ||
| required: true | ||
| - type: textarea | ||
| attributes: | ||
| label: Reproduceable code | ||
| description: > | ||
| Share a small reproduceable snippet — ideally the whole component. | ||
| Include the `MapView` props you set, the marker/overlay data shape, and any imperative `MapViewRef` calls. | ||
|
|
||
| **Redact secrets first.** Replace Google Maps API keys, tokens and any private configuration with placeholders — this issue is public. | ||
| render: tsx | ||
| placeholder: | | ||
| <MapView | ||
| provider="google" | ||
| markers={markers} | ||
| clusteringEnabled | ||
| onMarkerPress={(id) => console.log(id)} | ||
| /> | ||
| validations: | ||
| required: true | ||
| - type: textarea | ||
| attributes: | ||
| label: Relevant log output | ||
| description: > | ||
| Paste any relevant **native log output** here. This is automatically formatted as code, so no backticks are needed. | ||
|
|
||
| * For iOS, run the app from Xcode and copy the console output. | ||
|
|
||
| * For Android, use the Android Studio Logcat window or run `adb logcat` in a terminal. | ||
|
|
||
| **Redact secrets first.** Strip API keys, tokens and credentials from the logs before pasting. | ||
| If the log shows this library itself leaking a key — into a log line, a request, a crash payload — do not post it here: report it privately through a [security advisory](https://github.com/gmi-software/react-native-better-maps/security/advisories/new). | ||
| render: shell | ||
| validations: | ||
| required: false | ||
| - type: dropdown | ||
| attributes: | ||
| label: Map provider | ||
| description: Which provider does this happen with? Select every provider you reproduced it on. | ||
| multiple: true | ||
| options: | ||
| - apple | ||
| validations: | ||
| required: true | ||
| - type: dropdown | ||
| attributes: | ||
| label: Platforms | ||
| description: Select every platform you reproduced this on. | ||
| multiple: true | ||
| options: | ||
| - iOS | ||
| - Android | ||
| validations: | ||
| required: true | ||
| - type: input | ||
| attributes: | ||
| label: Device | ||
| description: > | ||
| Which device shows the problem? Give the full name plus the OS version, and say whether it is a simulator/emulator or a physical device. | ||
| If you tested several, list them comma separated. | ||
| placeholder: ex. iPhone 15 Pro (iOS 18.2, simulator), Pixel 7 (Android 15, physical) | ||
| validations: | ||
| required: true | ||
| - type: input | ||
| attributes: | ||
| label: react-native-better-maps version | ||
| placeholder: ex. 1.1.0 | ||
| validations: | ||
| required: true | ||
| - type: input | ||
| attributes: | ||
| label: React Native version | ||
| description: The library requires 0.78+ with the New Architecture enabled. | ||
| placeholder: ex. 0.81.4 | ||
| validations: | ||
| required: true | ||
| - type: input | ||
| attributes: | ||
| label: react-native-nitro-modules version | ||
| placeholder: ex. 0.35.10 | ||
| validations: | ||
| required: true | ||
| - type: input | ||
| attributes: | ||
| label: Expo SDK version | ||
| description: Leave empty if this is a bare React Native app. | ||
| placeholder: ex. 57.0.0 | ||
| validations: | ||
| required: false | ||
| - type: dropdown | ||
| attributes: | ||
| label: Can you reproduce this in the example app? | ||
| description: > | ||
| Run the example app (`example/`, see [Example app](https://github.com/gmi-software/react-native-better-maps#example-app)) and check whether the problem shows up there too. | ||
| **Note:** an issue that does not reproduce in the example app and ships no reproduction is much harder to act on. | ||
| options: | ||
| - I didn't try (⚠️ your issue may take much longer to get looked at) | ||
| - Yes, I can reproduce it in the example app | ||
| - 'No, the example app works fine' | ||
| default: 0 | ||
| validations: | ||
| required: true | ||
| - type: checkboxes | ||
| attributes: | ||
| label: Additional information | ||
| description: Please check all the boxes that apply | ||
| options: | ||
| - label: I am using Expo with a development build | ||
| - label: I am using clustering | ||
| - label: I am using GeoJSON overlays | ||
| - label: I have the New Architecture enabled | ||
| - label: I checked [Common problems](https://github.com/gmi-software/react-native-better-maps#common-problems) and my issue is not listed there. | ||
| required: true | ||
| - label: I searched for [similar issues in this repository](https://github.com/gmi-software/react-native-better-maps/issues) and found none. | ||
| required: true | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,121 @@ | ||
| name: 🔧 Build Error | ||
| description: The native app fails to build, prebuild, or install pods | ||
| labels: [build/setup] | ||
| body: | ||
| - type: textarea | ||
| attributes: | ||
| label: How were you trying to build the app? | ||
| description: Explain how you built — Xcode, `expo run:ios`, `pod install`, a Gradle task, EAS Build, CI, or something else. Be as precise as possible. | ||
| placeholder: I added react-native-better-maps to an Expo SDK 57 app, ran `expo prebuild --clean` and then `expo run:ios`, and the build failed while compiling the Google adapter files. | ||
| validations: | ||
| required: true | ||
| - type: textarea | ||
| attributes: | ||
| label: Full build logs | ||
| description: > | ||
| Share the full build output, from the first command to the last line. | ||
| Do not paste only the final few lines — the real cause is usually much earlier. | ||
|
|
||
| **Redact secrets first.** Build logs can echo `googleMapsApiKey`, `GoogleMapsIosApiKey` and `com.google.android.geo.API_KEY` — replace them with placeholders before pasting. | ||
| render: shell | ||
| validations: | ||
| required: true | ||
| - type: textarea | ||
| attributes: | ||
| label: Project dependencies | ||
| description: Share the `dependencies` block from your app's `package.json`, so conflicting libraries are visible. | ||
| render: json | ||
| placeholder: | | ||
| "dependencies": { | ||
| "expo": "~57.0.0", | ||
| "react-native": "0.81.4", | ||
| "react-native-better-maps": "^1.1.0", | ||
| "react-native-nitro-modules": "^0.35.10" | ||
| } | ||
| validations: | ||
| required: true | ||
| - type: textarea | ||
| attributes: | ||
| label: Expo config plugin setup | ||
| description: > | ||
| If you use the config plugin, share the `react-native-better-maps` entry from your `app.json` / `app.config.js`. | ||
| For a bare app, share the relevant parts of `Info.plist`, `AndroidManifest.xml` and `Podfile.properties.json` instead. | ||
| See [Expo setup](https://github.com/gmi-software/react-native-better-maps/blob/main/docs/expo-setup.md). | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
| **Redact secrets first.** Replace the actual API key values with placeholders such as `<redacted>` — this issue is public. | ||
| render: json | ||
| validations: | ||
| required: false | ||
| - type: dropdown | ||
| attributes: | ||
| label: Target platforms | ||
| description: Select every platform the build fails on. | ||
| multiple: true | ||
| options: | ||
| - iOS | ||
| - Android | ||
| validations: | ||
| required: true | ||
| - type: dropdown | ||
| attributes: | ||
| label: Operating system | ||
| description: Select the operating system you are building on. | ||
| multiple: true | ||
| options: | ||
| - macOS | ||
| - Windows | ||
| - Linux | ||
| validations: | ||
| required: true | ||
| - type: input | ||
| attributes: | ||
| label: react-native-better-maps version | ||
| placeholder: ex. 1.1.0 | ||
| validations: | ||
| required: true | ||
| - type: input | ||
| attributes: | ||
| label: React Native version | ||
| description: The library requires 0.78+ with the New Architecture enabled. | ||
| placeholder: ex. 0.81.4 | ||
| validations: | ||
| required: true | ||
| - type: input | ||
| attributes: | ||
| label: react-native-nitro-modules version | ||
| placeholder: ex. 0.35.10 | ||
| validations: | ||
| required: true | ||
| - type: input | ||
| attributes: | ||
| label: Expo SDK version | ||
| description: Leave empty if this is a bare React Native app. | ||
| placeholder: ex. 57.0.0 | ||
| validations: | ||
| required: false | ||
| - type: dropdown | ||
| attributes: | ||
| label: Can you build the example app? | ||
| description: > | ||
| Try to build the example app (`example/`, see [Example app](https://github.com/gmi-software/react-native-better-maps#example-app)). | ||
| **Note:** this separates a problem in the library from a problem in your app's native setup, and is the single most useful thing you can report here. | ||
| options: | ||
| - I didn't try (⚠️ your issue may take much longer to get looked at) | ||
| - Yes, the example app builds fine | ||
| - 'No, the example app fails to build too' | ||
| default: 0 | ||
| validations: | ||
| required: true | ||
| - type: checkboxes | ||
| attributes: | ||
| label: Additional information | ||
| description: Please check all the boxes that apply | ||
| options: | ||
| - label: I am using Expo with a development build | ||
| - label: I am using the Expo config plugin | ||
| - label: I am using Google Maps on iOS (`betterMaps.iosGoogleProvider`) | ||
| - label: I retried after a clean build (`expo prebuild --clean`, deleted `ios/Pods` and `android/build`) | ||
| - label: I checked [Common problems](https://github.com/gmi-software/react-native-better-maps#common-problems) and my issue is not listed there. | ||
| required: true | ||
| - label: I searched for [similar issues in this repository](https://github.com/gmi-software/react-native-better-maps/issues) and found none. | ||
| required: true | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| name: ✨ Enhancement | ||
| description: Request a feature or an enhancement to react-native-better-maps | ||
| labels: [enhancement] | ||
| body: | ||
| - type: textarea | ||
| attributes: | ||
| label: Feature request / enhancement | ||
| description: Describe the feature in detail, and explain the motivation that led you to open this issue — what are you building, and what is blocked without it? | ||
| placeholder: I need heatmap overlays so I can show density of my delivery data. react-native-maps has this, and both MapKit and the Google Maps SDK support it natively. | ||
| validations: | ||
| required: true | ||
| - type: dropdown | ||
| attributes: | ||
| label: Which providers should this cover? | ||
| description: > | ||
| Providers differ in what their native SDKs support, so a feature may land on one before the other. | ||
| See the [capability matrix](https://github.com/gmi-software/react-native-better-maps#capability-matrix). | ||
| multiple: true | ||
| options: | ||
| - apple (iOS) | ||
| - google (iOS) | ||
| - google (Android) | ||
| validations: | ||
| required: true | ||
| - type: textarea | ||
| attributes: | ||
| label: Are there any existing workarounds? | ||
| description: List anything you do today to work around the missing feature, so others reading this issue are not blocked by it. | ||
| placeholder: I render an absolutely positioned overlay on top of the map and sync it with `onRegionChangeComplete`, but it drifts during the gesture. | ||
| validations: | ||
| required: false | ||
| - type: checkboxes | ||
| attributes: | ||
| label: Additional information | ||
| description: Please check all the boxes that apply | ||
| options: | ||
| - label: I checked the [README](https://github.com/gmi-software/react-native-better-maps#readme) and the [docs](https://github.com/gmi-software/react-native-better-maps/tree/main/docs) and this feature does not exist yet. | ||
| required: true | ||
| - label: I checked the [roadmap](https://github.com/gmi-software/react-native-better-maps/blob/main/docs/roadmap.md) and it is not already planned there. | ||
| - label: I can open a pull request to implement this. (See [Contributing](https://github.com/gmi-software/react-native-better-maps/blob/main/CONTRIBUTING.md)) | ||
| - label: I searched for [similar issues in this repository](https://github.com/gmi-software/react-native-better-maps/issues) and found none. | ||
| required: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| blank_issues_enabled: false | ||
| contact_links: | ||
| - name: 💬 Question or usage help | ||
| url: https://github.com/gmi-software/react-native-better-maps/discussions | ||
| about: Ask how to do something, or float an idea before opening an enhancement. | ||
| - name: 📖 Documentation | ||
| url: https://github.com/gmi-software/react-native-better-maps#readme | ||
| about: Installation, providers, clustering, GeoJSON, Google Maps keys and the capability matrix. | ||
| - name: 🔐 Report a security vulnerability | ||
| url: https://github.com/gmi-software/react-native-better-maps/security/advisories/new | ||
| about: Do not open a public issue. Report it privately through a GitHub security advisory. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| ## What does this change? | ||
|
|
||
| <!-- What the change does, and why. Link the issue it closes: "Closes #123". --> | ||
|
|
||
| ## How was it verified? | ||
|
|
||
| <!-- | ||
| Say what you actually ran — "builds" is not verification. | ||
| For native changes, name the provider, platform and device you tested on. | ||
| --> | ||
|
|
||
| ## Scope | ||
|
|
||
| - **Providers:** <!-- apple / google / both / not provider specific --> | ||
| - **Platforms:** <!-- iOS / Android / both / JS only --> | ||
|
|
||
| ## Checklist | ||
|
|
||
| - [ ] `bun run lint`, `bun run typecheck` and `bun run build` pass | ||
| - [ ] Tests pass, and new behavior is covered by a test | ||
| - [ ] Nitro specs changed? `bun run nitrogen` was re-run and the generated code is committed | ||
| - [ ] Public API changed? The README and the capability matrix are updated | ||
| - [ ] Commits follow [Conventional Commits](https://www.conventionalcommits.org/) | ||
| - [ ] Behavior changed without a type change? Say so explicitly above — it breaks consumers whose code still compiles |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| version: 2 | ||
|
|
||
| updates: | ||
| # The workflows pin every action by commit SHA, which never resolves to a newer | ||
| # release on its own. Without this, those pins silently rot. | ||
| - package-ecosystem: github-actions | ||
| directory: / | ||
| schedule: | ||
| interval: weekly | ||
| groups: | ||
| github-actions: | ||
| patterns: | ||
| - '*' | ||
| # Keep the subject conventional — the commitlint job runs on every pull | ||
| # request, Dependabot's included. | ||
| commit-message: | ||
| prefix: chore | ||
|
|
||
| # Bun is its own Dependabot ecosystem, not part of `npm`: it reads `bun.lock`. | ||
| # Version updates are supported; security updates are not, so Dependabot | ||
| # security alerts for these dependencies have to be acted on by hand. | ||
| - package-ecosystem: bun | ||
| directories: | ||
| - / | ||
| - /package | ||
| - /example | ||
| schedule: | ||
| interval: weekly | ||
| groups: | ||
| dev-dependencies: | ||
| dependency-type: development | ||
| patterns: | ||
| - '*' | ||
| # React Native, React and Nitro are peer dependencies with native | ||
| # counterparts; upgrading them is a deliberate, tested change, never an | ||
| # automated bump. | ||
| ignore: | ||
| - dependency-name: react | ||
| - dependency-name: react-native | ||
| - dependency-name: react-native-nitro-modules | ||
| - dependency-name: nitrogen | ||
| commit-message: | ||
| prefix: chore |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.