QuicUI Compiler

A Dart patch compiler for analyzing and building code patches for the QuicUI code push system.

Overview

quicui_compiler is a core component of the QuicUI code push ecosystem. It analyzes Dart source code to detect changes between versions and generates optimized patch artifacts.

Features

  • Source Code Analysis: Uses the Dart analyzer to parse and understand code structure
  • Change Detection: Identifies modified classes, functions, and methods
  • Patch Generation: Creates minimal, optimized patches containing only changed code
  • Symbol Resolution: Tracks symbol dependencies across files

Installation

dependencies:
  quicui_compiler: ^1.0.0

Usage

This package is primarily used internally by the QuicUI CLI. For most use cases, use the CLI instead:

dart pub global activate quicui_cli
quicui patch

Programmatic Usage

import 'package:quicui_compiler/quicui_compiler.dart';

// Analyze source files
final compiler = QuicuiCompiler();
final result = await compiler.compile(
  sourceDir: 'lib/',
  outputDir: 'build/patches/',
);

Architecture

The compiler works in several phases:

  1. Parse Phase: Reads and parses all Dart source files
  2. Analysis Phase: Builds symbol tables and dependency graphs
  3. Diff Phase: Compares against baseline to detect changes
  4. Generation Phase: Outputs patch artifacts

Contributing

Contributions are welcome! Please see our Contributing Guide.

License

MIT License - see LICENSE for details.

Libraries

quicui_compiler
QuicUI Compiler