XB CLI dependencies

Experience Builder includes an in-browser code editor for creating JavaScript components. The UI handles Preact/React compilation with Tailwind CSS support, allows prop and slot configuration, delivers real-time previews, and stores components as config entities.

We're aiming to develop a new CLI tool to establish an alternative workflow, empowering developers to build components in their preferred environment and seamlessly integrate them with Experience Builder.

Initial goals

  1. CLI-specific authentication
  2. Downloading components
  3. Uploading components
  4. Scaffolding components
  5. Building compiled code:
    1. Compiling JavaScript code written as Preact components
    2. Transpiling CSS code
    3. Building CSS with Tailwind CSS

POC

CommentFileSizeAuthor
#3 xb-cli-issues.png312.21 KBbalintbrews
xb-cli-issues.jpg563.51 KBbalintbrews

Comments

balintbrews created an issue. See original summary.

balintbrews’s picture

Issue summary: View changes
StatusFileSize
new312.21 KB
balintbrews’s picture

wim leers’s picture

Just discovered over at #3502640: Camelcase the client-side representation of code components that:

  1. the CLI tool's CI jobs weren't running when the HTTP API changes (#27), fixed over there
  2. the CLI tool so far doesn't have functional/integration tests — and hence it was able to stop working when the HTTP API changed but it didn't cause the CLI vitest CI job to fail

It's that second bit that worries me — I think that's missing from this meta (and IMHO should've been done for every incremental CLI command added).

balintbrews’s picture

Our timeline to deliver the initial version of the CLI didn't allow for setting up the required automation and CI for integration tests. I hope we can prioritize that soon. Until then, what will definitely improve the situation is that we're planning to start sharing code between ui and cli once we get to #3525592: CLI command to build Tailwind CSS for code components, which will mean shared TypeScript type definitions for how the component payloads should look like. That will catch a lot of problems already by static analysis.

balintbrews’s picture

balintbrews’s picture

Assigned: balintbrews » Unassigned
Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.