Skip to content

Commit

Permalink
v0.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pedrol2b committed Jun 3, 2024
1 parent e094537 commit ad42d0b
Show file tree
Hide file tree
Showing 107 changed files with 20,550 additions and 0 deletions.
15 changes: 15 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org

root = true

[*]

indent_style = space
indent_size = 2

end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.pbxproj -text
# specific for windows script files
*.bat text eol=crlf
60 changes: 60 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: 🐞 Bug Report
description: File a bug report
title: "🐞 Bug: "
labels: [🐞 bug]
body:
- type: textarea
attributes:
label: Detailed Bug Description
description: Provide a detailed explanation of the bug. Include the steps to reproduce it, your expected outcome, and the actual outcome. A thorough description will help us resolve the issue more efficiently.
placeholder: "Steps to reproduce the bug...\n\nExpected outcome...\n\nActual outcome..."
validations:
required: true
- type: textarea
attributes:
label: Relevant Log Output
description: >
Paste any relevant log output here (e.g., Xcode logs, Android Studio Logcat).
This will be formatted as code automatically.
* For iOS: Run the project in Xcode and copy the logs from the log window.
* For Android: Use Android Studio's Logcat window or run `adb logcat` in the terminal.
render: shell
placeholder: "Paste log output here..."
validations:
required: false
- type: input
attributes:
label: Device Information
description: Provide details about the device(s) where you encountered this issue. Include the full device name, operating system, and version. If applicable, mention all devices tested.
placeholder: "e.g., iPhone 11 Pro (iOS 14.3), Samsung Galaxy S21 (Android 11)"
validations:
required: true
- type: input
attributes:
label: Reproducible Code Link
description: Provide a link to a repository or Snack that reproduces the issue.
placeholder: "Paste URL here..."
validations:
required: false
- type: input
attributes:
label: react-native-vision-camera-mlkit Version
description: Specify the version of react-native-vision-camera-mlkit you are using.
placeholder: "e.g., 1.0.0"
validations:
required: true
- type: input
attributes:
label: react-native-vision-camera Version
description: Specify the version of react-native-vision-camera you are using.
placeholder: "e.g., 4.0.0"
validations:
required: true
- type: input
attributes:
label: react-native-worklets-core Version
description: Specify the version of react-native-worklets-core you are using.
placeholder: "e.g., 1.3.0"
validations:
required: true
62 changes: 62 additions & 0 deletions .github/ISSUE_TEMPLATE/build_error.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: 🔧 Build Error
description: File a build error bug report
title: "🔧 Build error: "
labels: [🔧 build error]
body:
- type: textarea
attributes:
label: Build Method
description: Describe how you attempted to build the app. Specify if you used Xcode, `yarn ios`, a CI system, or another method.
placeholder: "e.g., I tried to build my app with the `yarn ios` command, and it failed."
validations:
required: true
- type: textarea
attributes:
label: Complete Build Logs
description: Provide the complete build logs from the console. Ensure you include everything from start to end, not just the last few lines.
render: shell
placeholder: "Paste full build log output here..."
validations:
required: true
- type: dropdown
attributes:
label: Target Platforms
description: Select the platforms where the build error occurs.
multiple: true
options:
- iOS
- Android
validations:
required: true
- type: dropdown
attributes:
label: Operating System
description: Select the operating system on which you are trying to build.
multiple: true
options:
- macOS
- Windows
- Linux
validations:
required: true
- type: input
attributes:
label: react-native-vision-camera-mlkit Version
description: Specify the version of react-native-vision-camera-mlkit you are using.
placeholder: "e.g., 1.0.0"
validations:
required: true
- type: input
attributes:
label: react-native-vision-camera Version
description: Specify the version of react-native-vision-camera you are using.
placeholder: "e.g., 4.0.0"
validations:
required: true
- type: input
attributes:
label: react-native-worklets-core Version
description: Specify the version of react-native-worklets-core you are using.
placeholder: "e.g., 1.3.0"
validations:
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: 📸 react-native-vision-camera
url: https://github.com/mrousavy/react-native-vision-camera/issues
about: Choose if your issue is related to react-native-vision-camera.
27 changes: 27 additions & 0 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Setup
description: Setup Node.js and install dependencies

runs:
using: composite
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc

- name: Cache dependencies
id: yarn-cache
uses: actions/cache@v4
with:
path: |
**/node_modules
.yarn/install-state.gz
key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-${{ hashFiles('**/package.json', '!node_modules/**') }}
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
${{ runner.os }}-yarn-
- name: Install dependencies
if: steps.yarn-cache.outputs.cache-hit != 'true'
run: yarn install --immutable
shell: bash
63 changes: 63 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
- name: ❌-no-repro
description: Reproduction not provided
color: FF0000
- name: 🤖 android
description: Android platform
color: 4BC74F
- name: ⚠️ breaking change
description: Codebase changes
color: FF0000
- name: 🐞 bug
description: Application problem
color: FFA500
- name: 🔧 build error
description: Build issues
color: 008672
- name: 📦 dependencies
description: Project dependencies
color: FBCA04
- name: 📃 documentation
description: Documentation updates
color: C0C0C0
- name: 🖇 duplicate
description: Duplicate issue
color: FFEC27
- name: 🚀 enhancement
description: Improvements
color: 84B6EB
- name: ✨ feature
description: New feature suggestion
color: 00BFFF
- name: 📢 help wanted
description: Assistance needed
color: FF0000
- name: ❌ invalid
description: Incomplete issue
color: FFA500
- name: 🍏 ios
description: iOS platform
color: 3DDC84
- name: 🎈 performance
description: Application performance
color: 4682B4
- name: 💭 question
description: Information request
color: FF0000
- name: 💄 types
description: TypeScript issues
color: 00BFFF
- name: ❌ typo
description: Typo is short for typographical error
color: FFC0CB
- name: ⚠️ warning
description: Application warnings
color: FFEC27
- name: 🚧 WIP
description: Work in progress
color: FFD700
- name: ☠️ wontfix
description: Acknowledged, won't be fixed
color: 800080
- name: ⏳ stale
description: Lacking recent activity or updates
color: 808080
154 changes: 154 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup

- name: Lint files
run: yarn lint

- name: Typecheck files
run: yarn typecheck

test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup

- name: Run unit tests
run: yarn test --maxWorkers=2 --coverage

build-library:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup

- name: Build package
run: yarn prepare

build-android:
runs-on: ubuntu-latest
env:
TURBO_CACHE_DIR: .turbo/android
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup

- name: Cache turborepo for Android
uses: actions/cache@v4
with:
path: ${{ env.TURBO_CACHE_DIR }}
key: ${{ runner.os }}-turborepo-android-${{ hashFiles('yarn.lock') }}
restore-keys: |
${{ runner.os }}-turborepo-android-
- name: Check turborepo cache for Android
run: |
TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:android').cache.status")
if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
echo "turbo_cache_hit=1" >> $GITHUB_ENV
fi
- name: Install JDK
if: env.turbo_cache_hit != 1
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'

- name: Finalize Android SDK
if: env.turbo_cache_hit != 1
run: |
/bin/bash -c "yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null"
- name: Cache Gradle
if: env.turbo_cache_hit != 1
uses: actions/cache@v4
with:
path: |
~/.gradle/wrapper
~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('example/android/gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Build example for Android
env:
JAVA_OPTS: '-XX:MaxHeapSize=6g'
run: |
yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}"
build-ios:
runs-on: macos-14
env:
TURBO_CACHE_DIR: .turbo/ios
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup

- name: Cache turborepo for iOS
uses: actions/cache@v4
with:
path: ${{ env.TURBO_CACHE_DIR }}
key: ${{ runner.os }}-turborepo-ios-${{ hashFiles('yarn.lock') }}
restore-keys: |
${{ runner.os }}-turborepo-ios-
- name: Check turborepo cache for iOS
run: |
TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:ios').cache.status")
if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
echo "turbo_cache_hit=1" >> $GITHUB_ENV
fi
- name: Cache cocoapods
if: env.turbo_cache_hit != 1
id: cocoapods-cache
uses: actions/cache@v4
with:
path: |
**/ios/Pods
key: ${{ runner.os }}-cocoapods-${{ hashFiles('example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-cocoapods-
- name: Install cocoapods
if: env.turbo_cache_hit != 1 && steps.cocoapods-cache.outputs.cache-hit != 'true'
run: |
cd example/ios
pod install
env:
NO_FLIPPER: 1

- name: Build example for iOS
run: |
yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}"
Loading

0 comments on commit ad42d0b

Please sign in to comment.