A library for generating native app code from JavaScript config through Expo config plugins
{
"context": "Evaluates whether the plugin uses @expo/config-plugins’ Gradle, MainApplication, and AppDelegate mods plus code-mod helpers to wire SkyfallAnalytics into native entrypoints. Scoring rewards correct API usage, idempotent merges, and accurate option propagation across Android and iOS.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Gradle mod",
"description": "Uses withAppBuildGradle (or withProjectBuildGradle for repositories) together with CodeGenerator.mergeContents or android/codeMod helpers to add mavenCentral() and exactly one implementation \"com.skyfall:analytics:1.2.3\" line to android/app/build.gradle.",
"max_score": 25
},
{
"name": "MainApplication mod",
"description": "Uses withMainApplication plus AndroidConfig.CodeMod utilities (e.g., addImports or mergeContents anchored in onCreate) to inject the SkyfallAnalytics import and initialize(this, apiKey, enableBackgroundUploads) call in both Java and Kotlin files.",
"max_score": 25
},
{
"name": "AppDelegate mod",
"description": "Uses withAppDelegate and iOS code-mod helpers (e.g., CodeGenerator.mergeContents or ios/codeMod utilities keyed by modResults.language) to add the SkyfallAnalytics import and start(apiKey:..., enableBackgroundUploads:...) call for both ObjC and Swift AppDelegate variants.",
"max_score": 25
},
{
"name": "Idempotent merges",
"description": "Employs mergeResults/didMerge checks or removeGeneratedContents from CodeGenerator to avoid duplicating imports or init calls when the plugin runs multiple times on unchanged native sources.",
"max_score": 15
},
{
"name": "Option mapping",
"description": "Threads TelemetryOptions.apiKey into all injected calls and applies enableBackgroundUploads (defaulting false when undefined) consistently across Android and iOS snippets.",
"max_score": 10
}
]
}tessl i tessl/npm-expo--config-plugins@11.0.0docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10