52 lines
2.9 KiB
TOML
52 lines
2.9 KiB
TOML
[package]
|
|
name = "flowrs-appshell"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
rust-version.workspace = true
|
|
authors.workspace = true
|
|
license = "MIT OR Apache-2.0"
|
|
description = "The shell an exported flowRS app runs in: the program's labelled Teleplot lines read back as the values its app binds, the app's OpenUI Lang planned by flowrs-app's view into the same kit blocks the IDE draws, rendered as HTML on the IDE's tokens and kit classes in both skins, and served on loopback under a strict Content-Security-Policy. The same page is an MCP Apps `ui://` resource. With `export`, the project generator that ships it."
|
|
|
|
[features]
|
|
default = []
|
|
# The runtime bundle (`runtime`): the source of flowRS's runtime crates, as an exported project
|
|
# carries it in vendor/, made from the source this crate is compiled from (build.rs lists the
|
|
# files) with each manifest rewritten to stand alone. No graph engine, so the IDE's build can
|
|
# write it quickly (src/bin/runtime_bundle.rs).
|
|
bundle = ["dep:toml", "dep:semver", "dep:flowrs-boards"]
|
|
# The project generator (`export`): the graph, its codegen and scaffolds, infer and check, and
|
|
# the bundle it vendors. Off in a generated project, which links only the shell.
|
|
export = ["bundle", "dep:flowrs-core", "dep:flowrs-connect", "dep:syn", "dep:flowrs-iface", "flowrs-app/graph"]
|
|
|
|
[dependencies]
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
# The planner (`view`), the registry and the formatter, without the graph engine.
|
|
flowrs-app = { path = "../flowrs-app", default-features = false }
|
|
# The language an app is written in, and its runtime.
|
|
flowrs-openui = { path = "../flowrs-openui" }
|
|
flowrs-core = { path = "../flowrs-core", optional = true }
|
|
flowrs-connect = { path = "../flowrs-connect", optional = true }
|
|
# A robotics export (`robotics`) reads the unit off each edge's interface model.
|
|
flowrs-iface = { path = "../flowrs-iface", optional = true }
|
|
# The bundle reads the crates' manifests, the workspace's and its Cargo.lock. Already in the
|
|
# lock (flowrs-critic's).
|
|
toml = { version = "1", optional = true }
|
|
# The exported project's Cargo.lock is resolved as cargo resolves one, with cargo's own
|
|
# version requirements (src/lock.rs). Already in the lock (rustc_version's).
|
|
semver = { version = "1.0.28", optional = true }
|
|
# The board registry and, natively, the twin census the per-board fidelity contract is
|
|
# generated from (src/fidelity.rs). Already in the tree through flowrs-core.
|
|
flowrs-boards = { path = "../flowrs-boards", optional = true }
|
|
# The form contract reads the generated program as syntax (its `unsafe`, by function), not as
|
|
# text. syn 3 with `full` and `visit` is flowrs-core's already.
|
|
syn = { version = "3.0.9", features = ["full", "parsing", "visit"], optional = true }
|
|
|
|
[dev-dependencies]
|
|
|
|
# The IDE build's writer of the runtime bundle (Trunk's post-build hook).
|
|
[[bin]]
|
|
name = "flowrs-runtime-bundle"
|
|
path = "src/bin/runtime_bundle.rs"
|
|
required-features = ["bundle"]
|