How do you set up an environment that allows both bare/managed workflow to co-exist?

Hi @trajano

Ideally (in my opinion) you would stick with the managed workflow and write a config plugin (if necessary) to integrate Pendo into your app during the build process.

If you do not want to write a config plugin, yes, you would use expo prebuild to switch to the Bare workflow.

Yes, see: Custom native code in Expo Go - Expo Documentation

This is a good reason, in my opinion, to try a config plugin first. I had a quick look and it was not clear to me what you need to do to integrate Pendo into a bare Expo project. I did see some mention of “codeless React Native” support, but it wasn’t clear what that means. Could you post some installation instructions here?

  • If you switch to the bare workflow, but avoid calling Pendo code in Expo Go: Commit the ios and android directories and do not ignore them.
  • If you get a config plugin working, do not run expo prebuild and do not commit the ios and android directories. You can add them to your .gitignore if you like.

No. Assuming you switch to the Bare workflow, you would basically run it once, then integrate the Pendo SDK and commit the results. You would only need to worry about it if you want to change the app’s name, icons, splash screen, Info.plist, AndroidManifest.xml, etc. or upgrade React Native or integrate some other dependency with native code. (If you stick to the managed workflow then you can continue to use app.json to update things like the app name, icons, splash screen, etc., etc.)

No.

You can run expo upgrade, although you’ll need to do a bunch of other stuff too. For example, check the “Bare workflow” section in the Expo SDK 45 release blog post. Again, sticking to the managed workflow is simpler for upgrades.

Most stuff in app.json / app.config.js no longer applies in the bare workflow. I am pretty sure build numbers would need to be updated in the native projects after you switch to the bare workflow.

1 Like