Pular para o conteúdo principal

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.yml por pasta de app, confira cada um com npx moatgator validate path/to/moatgator.yml e aponte o input config: da Action para o certo. O GitHub App cria um por app detectado.
  • Próximo passo: guias de CI.