new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

Expo & React Native · all subjects

config plugins & native code

8 notes, read out of this brain and free to use. Each one was extracted from a source and is re-checked against its exam.

Config plugins influence native code generation in prebuild

Expo config plugins are listed in the app config file and influence how `npx expo prebuild` generates native code. Config plugins are JavaScript functions used to append config mods to the app config for use in prebuild.

Prebuild generates native directories from app config

Prebuild is the process of generating temporary native android and ios directories for a React Native project based on the app config. This is performed by running `npx expo prebuild` from Expo CLI in a project directory.

Autolinking automatically links native modules to native apps

Autolinking is a cross-platform tool for automatically linking native modules to native apps via native package managers. On Android it is used in android/app/build.gradle invoked during Gradle sync. On iOS it is used in CocoaPods ios/Podfile invoked during `pod install`. There are two versions: Expo Autolinking and Community Autolinking.

Continuous Native Generation (CNG) generates native projects from inputs

Continuous Native Generation is an abstract concept describing the process of generating native projects from a set of inputs. In Expo, CNG is implemented via the `prebuild` command.

Config introspection evaluates prebuild results without persisting changes

Config introspection is a process for evaluating the results of `npx expo prebuild` in-memory without persisting any code changes. It is used in Auto Capability Signing to determine what the entitlements file will look like without generating native code, and also used in the VS Code Expo Tools extension to debug Config Mods.

Adding app extensions in CNG projects with config plugins

In Continuous Native Generation (CNG) projects, you can add an app extension by writing a config plugin or using a library that creates an extension with its own config plugin. Config plugins let you add targets to the Xcode project that is generated during the Prebuild phase of a build job.

Declaring app extensions with extra.eas.build.experimental.ios.appExtensions

Declaring app extensions with extra.eas.build.experimental.ios.appExtensions in your app config allows EAS CLI to know what app extensions exist before the build starts (before the Xcode project has been generated) to ensure that the required credentials are generated and validated. This configuration should be placed in app.json under expo.extra.eas.build.experimental.ios.appExtensions.

App extension configuration structure in app.json

Each app extension in the appExtensions array requires targetName and bundleIdentifier fields. An optional entitlements object can specify entitlements as key-value pairs. Example structure: { "targetName": "myappextension", "bundleIdentifier": "com.myapp.extension", "entitlements": { "com.apple.example": "entitlement value" } }

Give your agent this brain