WEFT_OS/crates
Marco Allegretti ffae164747 feat(pack): add weft-pack package validator tool
New crate: weft-pack — command-line tool for validating WEFT application
package directories against the app-package-format spec.

src/main.rs:
- check <dir>: loads wapp.toml, validates app ID format, verifies
  package.name is non-empty and <=64 chars, confirms runtime.module and
  ui.entry files exist. Prints 'OK' on success or the list of errors.
- info <dir>: prints all manifest fields to stdout.
- load_manifest(): reads and parses wapp.toml with toml crate.
- is_valid_app_id(): enforces reverse-domain convention (>=3 components,
  each starting with a lowercase letter, digits allowed, no hyphens or
  uppercase).

Tests (5):
- app_id_valid: accepts well-formed reverse-domain IDs.
- app_id_invalid: rejects two-component, uppercase, hyphen, empty IDs.
- check_package_missing_manifest: error when wapp.toml is absent.
- check_package_valid: full happy-path with real temp files.
- check_package_invalid_app_id: error on a hyphenated app ID.

New deps: toml 0.8, serde 1 (derive).
Added weft-pack to workspace Cargo.toml; wsl-test.sh extended.
2026-03-11 09:40:34 +01:00
..
weft-appd feat(appd): implement TerminateApp process signaling via abort channel 2026-03-11 09:37:09 +01:00
weft-build-meta Initialize Rust workspace and repository metadata 2026-03-10 18:47:06 +01:00
weft-compositor test(compositor): add protocol unit tests and stale identifier rejection 2026-03-11 08:12:11 +01:00
weft-pack feat(pack): add weft-pack package validator tool 2026-03-11 09:40:34 +01:00
weft-runtime feat(runtime): add weft-runtime crate skeleton 2026-03-11 09:27:30 +01:00
weft-servo-shell feat(servo-shell): add weft-shell-protocol client-side binding 2026-03-11 08:05:03 +01:00