Make sure you have all the required tooling: Rust, Taskfile, wasm-pack, npm, Docker, etc.
task setupFrontend is straightforward:
task frontend:devDeveloping the project generation pipeline is typically easier in the terminal:
- Create some project in the frontend
- Copy/paste the JSON into the .gitignored
./debug-files/example.jsonfiles - Set the
TASK_CLI_DEV_MODEvar in taskfile/config.yml tocargo - Run:
task cli:generate && task cli:unzipThis will create .debug-files/example.zip and unzip it into .debug-files/project/
Frontend uses Rust/WASM in a web-worker in order to:
- Not tie up the UI while packing/compressing/etc.
- Allow for sharing code between frontend and CLI
Uses Askama templating engine for generating the files from source with a bit of logic.
Blocks (UI)
-> Project (must be valid)
-> ProjectTemplate (converted template)
-> Zip