CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-expo--config-plugins

A library for generating native app code from JavaScript config through Expo config plugins

46

1.02x
Quality

Pending

Does it follow best practices?

Impact

46%

1.02x

Average score across 10 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

criteria.jsonevals/scenario-6/

{
  "context": "Evaluates use of @expo/config-plugins to compile and introspect mods without touching native files, ensuring ordered phase output and correct handling of duplicate plugins. Focus stays on invoking the package's mod compilation APIs rather than reimplementing them.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Introspection compile",
      "description": "Invokes compileModsAsync or evalModsAsync with introspection:true to execute mods read-only and wires through ignoreExistingNative so missing platform folders do not throw.",
      "max_score": 35
    },
    {
      "name": "Base mods",
      "description": "Sets up platform containers with withDefaultBaseMods, withAndroidBaseMods, or withIosBaseMods before compiling so custom registrations run inside the standard dangerous→pre→default→xcodeproj→finalized phases.",
      "max_score": 15
    },
    {
      "name": "Run-once handling",
      "description": "Wraps plugin registrations with createRunOncePlugin or withRunOnce (or equivalent run-once helper) so repeat plugin identifiers are marked skipped instead of executing twice.",
      "max_score": 20
    },
    {
      "name": "Phase ordering",
      "description": "Relies on the package's evaluation order (via compileModsAsync/evalModsAsync) to derive phase labels rather than manual sorting, preserving dangerous→pre→default→xcodeproj→finalized sequencing in the report.",
      "max_score": 15
    },
    {
      "name": "History extraction",
      "description": "Builds report rows from the package outputs (mods/modResults/history returned by compileModsAsync or evalModsAsync) to capture pluginName, modName, platform, and skipped/applied status instead of reconstructing data manually.",
      "max_score": 15
    }
  ]
}

tile.json