diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 215a253..2892249 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,4 +1,8 @@ - + ## What diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fe0a745..f08428e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,10 +13,18 @@ yarn bootstrap ``` -Read the READMEs in [`android/`](android/README.md), [`ios/`](ios/README.md), and [`cpp/`](cpp/README.md) for a quick overview of the development workflow. +Read the READMEs in [`android/`](android/README.md) and [`ios/`](ios/README.md) for a quick overview of the native development workflow. > You can also open VisionCamera in [a quick online editor (github1s)](https://github1s.com/mrousavy/react-native-vision-camera) +### JS/TS + +1. Open the entire folder in Visual Studio Code +2. Start the metro bundler in the `example/` directory using `yarn start` +3. Run either the iOS or Android project to test changes + +> Run `yarn check-js` to validate codestyle + ### iOS 1. Open the `example/ios/VisionCameraExample.xcworkspace` file with Xcode @@ -29,17 +37,12 @@ Read the READMEs in [`android/`](android/README.md), [`ios/`](ios/README.md), an ### Android 1. Open the `example/android/` folder with Android Studio -2. Select your device in the devices drop-down -3. Hit run +2. Start the metro bundler in the `example/` directory using `yarn start` +3. Select your device in the devices drop-down +4. Hit run > Run `yarn check-android` to validate codestyle -### C++ - -The C++ codebase is shared between Android and iOS. This means you can make changes to those files in either the Android example or the iOS example, but make sure to test changes on both platforms. - -> Run `yarn check-cpp` to validate codestyle - ## Committing We love to keep our codebases clean. To achieve that, we use linters and formatters which output errors when something isn't formatted the way we like it to be. @@ -58,34 +61,8 @@ $ yarn check-all Formatting Swift code.. Linting Swift code.. Linting Kotlin code.. + Linting C++ code.. Linting JS/TS code.. All done! ✨ Done in 8.05s. ``` - -To actually build the library, run the `build` script: - -``` -yarn build -``` - -This builds the JS Module, TypeScript definitions, as well as the Hermes and JSC .aar libraries: - -``` -$ yarn build - yarn run v1.22.10 - ℹ Building target commonjs - ℹ Cleaning up previous build at lib/commonjs - ℹ Compiling 18 files in src with babel - ✔ Wrote files to lib/commonjs - ℹ Building target module - ℹ Cleaning up previous build at lib/module - ℹ Compiling 18 files in src with babel - ✔ Wrote files to lib/module - ℹ Building target typescript - ℹ Cleaning up previous build at lib/typescript - ℹ Generating type definitions with tsc - ✔ Wrote definition files to lib/typescript - Building VisionCamera for JS Engine hermes... - ... -``` diff --git a/package.json b/package.json index 391fda3..27fe6d4 100644 --- a/package.json +++ b/package.json @@ -35,9 +35,9 @@ "release": "release-it", "pods": "cd example && yarn pods", "bootstrap": "yarn && cd example && yarn && yarn pods", - "check-android": "scripts/ktlint.sh", + "check-android": "scripts/ktlint.sh && scripts/cpplint.sh", "check-ios": "scripts/swiftformat.sh && scripts/swiftlint.sh", - "check-cpp": "scripts/cpplint.sh", + "check-js": "yarn lint --fix && yarn typescript", "check-all": "scripts/check-all.sh", "clean-ios": "scripts/clean-ios.sh", "clean-android": "scripts/clean-android.sh",