A universal module that gets native application information such as its ID, app name, and build version at runtime
Overall
score
98%
{
"context": "This criteria evaluates how well the engineer uses the expo-application package to detect iOS build/release types and implement feature toggling logic. The focus is specifically on proper usage of the iOS release type detection API.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Import expo-application",
"description": "Correctly imports from the expo-application package (e.g., `import * as Application from 'expo-application'` or specific imports like `import { getIosApplicationReleaseTypeAsync, ApplicationReleaseType } from 'expo-application'`)",
"max_score": 10
},
{
"name": "Use getIosApplicationReleaseTypeAsync",
"description": "Uses the `getIosApplicationReleaseTypeAsync()` function to detect the iOS build/release type",
"max_score": 30
},
{
"name": "Use ApplicationReleaseType enum",
"description": "References or uses the `ApplicationReleaseType` enum values (SIMULATOR, DEVELOPMENT, ENTERPRISE, AD_HOC, APP_STORE, UNKNOWN) to check the release type",
"max_score": 25
},
{
"name": "Platform detection",
"description": "Properly detects the platform (iOS vs Android/web) using Platform.OS or similar mechanism to conditionally call iOS-specific functions",
"max_score": 15
},
{
"name": "Correct feature logic",
"description": "Implements correct logic: enables debug features for SIMULATOR and DEVELOPMENT types, disables for ENTERPRISE, AD_HOC, and APP_STORE types",
"max_score": 15
},
{
"name": "Handle non-iOS platforms",
"description": "Provides appropriate handling for Android and web platforms (returns safe defaults without calling iOS-specific APIs)",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-expo-application