@valkyrie-language/asgard
v0.0.5
Published
Asgard - cross-platform GUI app framework CLI (assembled from VCC platform collects).
Downloads
953
Readme
@valkyrie-language/asgard
Asgard is the cross-platform GUI application framework CLI for the Valkyrie ecosystem, shipped as an assembled npm package.
It provides the asgard command for build, dev, and pack workflows, backed by VCC platform collects (optional native
Node-API artifacts and a Wasm fallback).
Install
npm install @valkyrie-language/asgardpnpm add @valkyrie-language/asgardRun without a global install:
npx @valkyrie-language/asgard --helpQuick start
asgard --help
asgard build
asgard dev
asgard packHow it works
| Layer | Location in monorepo | Responsibility |
|-----------------------------|--------------------------------------------------|----------------------------|
| Rust library | projects/asgard | AWSL, RenderIR, packaging |
| VCC native | projects/vcc-napi + packages/vcc-* | Node-API platform collects |
| VCC Wasm | projects/vcc-wasm + packages/vcc-wasm32-wasi | Wasm collect |
| Assembly (this package) | packages/asgard | Public asgard command |
At runtime the host (@valkyrie-language/vcc) tries an optional native vcc_napi cdylib for your platform,
then falls back to the Wasm collect (asgard.mjs + asgard.wasm).
Requirements
- Node.js 20 or newer
Programmatic API
import {runCli} from "@valkyrie-language/asgard";
runCli(["--help"]);Related packages
| Package | Role |
|---------------------------------------|-------------------------------------|
| @valkyrie-language/vcc | Shared host runner |
| @valkyrie-language/vcc-wasm32-wasi | Wasm collect (required dependency) |
| @valkyrie-language/vcc-win32-x64 | Optional Windows x64 native collect |
| @valkyrie-language/vcc-linux-x64 | Optional Linux x64 native collect |
| @valkyrie-language/vcc-darwin-x64 | Optional macOS x64 native collect |
| @valkyrie-language/vcc-darwin-arm64 | Optional macOS arm64 native collect |
Development
From the valkyrie.rs monorepo:
pnpm install
pnpm test --filter @valkyrie-language/asgard