CLI

Command-line interface for LVGL Pro Editor enabling CI/CD integration and automated workflows.

The LVGL Editor provides a Node-based command line tool, lved-cli.js, for generating and compiling code from XML, validating projects, syncing from Figma, comparing trees, and running headless UI tests.

Pre-release build intended for development and CI integration.

Overview

  • Binary: lved-cli.js (Node script) Download CLI
  • Platform: Node 18+ recommended
  • Container engine: Podman (if not on Windows, Download Podman)

Quick Start

Generate C and H files from XMLs:

bash
lved-cli.js generate path/to/project

Compile the runtime binary for previewing or testing the UI:

bash
lved-cli.js compile path/to/project --target web --start-service

Validate XML content and limit shown errors:

bash
lved-cli.js validate path/to/project --errorlimit 25

Run tests from XML files:

bash
lved-cli.js run-all-tests path/to/project
lved-cli.js run-test path/to/project tests/test-file.xml

Synchronize styles and images from Figma:

bash
lved-cli.js figma-sync path/to/project --start-service

Commands

generate

Generate code from XML.

bash
lved-cli.js generate <project-path> [--start-service]

compile

Compile for a target.

bash
lved-cli.js compile <project-path> [--start-service] [--target <web|node>]
  • --target defaults to web (choices: web, node)

compare

Compare two directories by presence and normalized content.

bash
lved-cli.js compare <first-project-path> <second-project-path>

figma-sync

Synchronize project with Figma.

bash
lved-cli.js figma-sync <project-path> [--start-service]

validate

Validate XML files and limit the number of shown errors.

bash
lved-cli.js validate <project-path> [--errorlimit n] [--start-service]
  • --errorlimit default: 10 (minimum: 1)

run-test

Run tests from a single file.

bash
lved-cli.js run-test <project-path> <testing-file>

run-all-tests

Discover and run all test*.xml files.

bash
lved-cli.js run-all-tests <project-path>

Common Arguments

ArgumentDescription
<project-path>Path to an LVGL Editor project
<testing-file>Test XML relative to <project-path> (used in run-test)

Options

OptionDescription
-ss, --start-servicePrepare/refresh container image before running
--target <web|node>Compile target (used in compile)
-l, --errorlimit nMaximum errors shown (used in validate)

Examples

Compare to a reference tree:

bash
lved-cli.js compare build/generated ./ci/reference

Compile for Node:

bash
lved-cli.js compile ./examples/my-project --target node --start-service

CI/CD Integration

See an example GitHub Actions workflow for integrating the CLI into your CI/CD pipeline.

How is this guide?

Last updated on

On this page