All files / types ITranspilerConfig.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56                                                                                                               
/**
 * Configuration for the unified transpiler
 *
 * Combines options from IProjectConfig and ITranspileOptions into a single
 * configuration interface that supports both single-file and multi-file builds.
 */
interface ITranspilerConfig {
  /** Entry point .cnx file to transpile */
  input: string;
 
  /** Include directories for C/C++ header discovery */
  includeDirs?: string[];
 
  /** Output directory for generated files (defaults to same as input) */
  outDir?: string;
 
  /** Separate output directory for header files (defaults to outDir) */
  headerOutDir?: string;
 
  /** Preprocessor defines for C/C++ headers */
  defines?: Record<string, string | boolean>;
 
  /** Whether to preprocess C/C++ headers (default: true) */
  preprocess?: boolean;
 
  /**
   * Issue #211, #1319: emit C++ (`.cpp`/`.hpp`) instead of C. This is THE
   * declaration of the run's output language, not an override of a guess --
   * nothing infers it. A C++ header met in a run that left this false is E0507.
   */
  cppRequired?: boolean;
 
  /** Parse only mode - no code generation */
  parseOnly?: boolean;
 
  /** ADR-044: When true, generate panic-on-overflow helpers instead of clamp */
  debugMode?: boolean;
 
  /** ADR-049: the program's target, when its source names none */
  target?: string;
 
  /**
   * ADR-049: the PlatformIO environment being built. Its board names the
   * target when no pragma or option does; absent, default_envs does.
   */
  pioEnv?: string;
 
  /** Issue #35: Collect grammar rule coverage during parsing */
  collectGrammarCoverage?: boolean;
 
  /** Issue #183: Disable symbol caching (default: false = cache enabled) */
  noCache?: boolean;
}
 
export default ITranspilerConfig;