Quickstart React Native
Um repositório React Native tem um moatgator.yml para o app, normalmente na raiz do projeto (a pasta com o package.json). As pastas android/ e ios/ pertencem ao mesmo app.
1. Crie a política
npx moatgator init
O init detecta o React Native pelo package.json e lê o applicationId do Android em android/app/build.gradle. Acrescente --bundle-id com.acme.pay para o iOS se ele não for detectado.
2. Android
npm ci
cd android && ./gradlew bundleRelease && cd ..
npx moatgator scan android/app/build/outputs/bundle/release/app-release.aab --min-grade C
npx moatgator protect android/app/build/outputs/bundle/release/app-release.aab --app-version 1.8.0
3. iOS
Faça o archive e exporte o .ipa com o seu pipeline (veja o guia de iOS) e depois:
npx moatgator protect build/ipa/MyApp.ipa --app-version 1.8.0
Notas
- Bundle JavaScript: o seu JS vai dentro do app. O bytecode do Hermes é mais difícil de ler que um bundle JS puro, mas não é um cofre de segredos: mantenha chaves e tokens fora dele.
- Monorepos: mantenha um
moatgator.ymlpor pasta de app, confira cada um comnpx moatgator validate path/to/moatgator.ymle aponte o inputconfig:da Action para o certo. O GitHub App cria um por app detectado. - Próximo passo: guias de CI.