node-app-build 6.5.0

Mini app developer CLI: scaffold, validate, package node-app-* Debian packages
[package]
name = "node-app-{{name}}"
version = "0.1.0"
edition = "2021"
rust-version = "1.75"
description = "{{description}}"
license = "MIT OR Apache-2.0"
authors = ["{{author}} <{{author_email}}>"]

[lib]
name = "node_app_{{name}}"
crate-type = ["cdylib"]

[dependencies]
# Pre-v1 SDK; pin exact version until 1.0.0 is tagged.
# See https://crates.io/crates/node-app-sdk-rust
node-app-sdk-rust = "=1.0.0-experimental"
async-trait = "0.1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
anyhow = "1"
tokio = { version = "1", features = ["sync", "rt", "macros"] }

[profile.release]
opt-level = 3
strip = "symbols"
lto = "thin"
codegen-units = 1

# ── cargo-deb config ───────────────────────────────────────────────────────
# Consumed by `cargo deb` in the release workflow (see
# .github/workflows/release.yml). The .so is loaded in-process by the
# platform's native loader, which scans /usr/lib/node/apps/*/manifest.json
# at boot (see system/server/src/apps/builtin_service.rs in econ-v1/node).
# `node-runtime-abi-1` is the ABI compatibility package the platform
# provides for cdylib node-apps — locks this build to the matching host.
[package.metadata.deb]
maintainer = "{{author}} <{{author_email}}>"
copyright = "{{author}}"
license-file = ["LICENSE", "0"]
extended-description = """\
{{description}}

Native cdylib loaded in-process by the econ-v1 platform's native loader.
Scaffolded by `node-app new --profile native`."""
depends = "node-runtime-abi-1"
section = "misc"
priority = "optional"
assets = [
    ["target/release/libnode_app_{{name}}.so", "usr/lib/node/apps/{{name}}/", "644"],
    ["manifest.json", "usr/lib/node/apps/{{name}}/", "644"],
]