CtrlK
CommunityDocumentationLog inGet started
Tessl Logo

tessl/npm-expo--config-plugins

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

47%

Overall

Evaluation47%

1.04x

Agent success when using this tile

Overview
Eval results
Files

task.mdevals/scenario-6/

Mod Pipeline Introspection Reporter

Build a helper that compiles and evaluates platform mods in introspection-only mode, returning a structured report of the mod sequence without mutating native projects.

Capabilities

Produces ordered mod report

  • Given minimal Android and iOS mods that append markers, it returns an ordered list of entries with platform, mod name, plugin name, phase, and status. @test

Honors run-once semantics

  • When the same plugin identifier is provided multiple times, the report contains a single applied entry per platform and marks repeat occurrences as skipped. @test

Supports missing native projects

  • With an option set, the report runs without throwing when native project folders are absent and still lists the registered mods. @test

Preserves phase labeling

  • Each entry in the report is labeled with the phase (dangerous, pre, default, xcodeproj, finalized) matching the mod registration order. @test

Implementation

@generates

API

export type ModReportEntry = {
  platform: "android" | "ios";
  modName: string;
  pluginName: string;
  phase: "dangerous" | "pre" | "default" | "xcodeproj" | "finalized";
  status: "applied" | "skipped";
};

export type ModRegistration = {
  platform: "android" | "ios";
  modName: string;
  pluginName: string;
  apply: (config: Record<string, any>) => Promise<Record<string, any>> | Record<string, any>;
  phase?: "dangerous" | "pre" | "default" | "xcodeproj" | "finalized";
};

export interface ModReportOptions {
  ignoreExistingNative?: boolean;
}

export interface AppConfigInput {
  name: string;
  slug: string;
  mods?: Record<string, any>;
}

export async function generateModReport(
  projectRoot: string,
  config: AppConfigInput,
  registrations: ModRegistration[],
  options?: ModReportOptions
): Promise<ModReportEntry[]>;

Dependencies { .dependencies }

@expo/config-plugins { .dependency }

Provides mod compilation and introspection helpers for Android and iOS.

tessl i tessl/npm-expo--config-plugins@11.0.0

tile.json