tomato·bazeldocs v0 · latest
Docs/Reference/Modules/meridian_web

meridian_web

The web-components renderer of the meridian design language (reference, React-free): the web toolkit, theme binding, and the meridian_panel_bundle rule.

Latest0.12.0
Versions17
CategoryModules & tooling
MaintainersMatt Marshall
Registryhttps://registry.tbzl.dev/modules/meridian_web/
Sourcegithub.com/meridian-ux/meridian-web
MODULE.bazelstarlark
bazel_dep(name = "meridian_web", version = "0.12.0")

View source & releases on GitHub ↗

The web-components renderer of the meridian design language — the reference, React-free renderer that proves the WebRenderer seam isn’t anchored to any framework.

It ships:

  • //src:core — the web toolkit: the web-components PanelDescriptor renderer (webComponentsRenderer, renderPanel), a typed worker runtime, DOM patch helpers, template loader, and UI-kit CSS. It speaks the canonical @savvifi/meridian-proto-ts types end to end and crosses the wasm boundary with protobuf binary (toBinaryprost::decode).
  • //theme:web — the web theme binding (meridian.css + theme.ts, meridian.theme.v1--mer-* vars).
  • //bazel:panel_bundle.bzlmeridian_panel_bundle, compiling a textproto PanelBundle to binpb. Consumer-parameterized: callers pass the proto (e.g. @meridian_schemas//proto:uiview_proto) and bring rules_proto/protobuf.

The Rust render/request logic + the wasm bundle live in meridian-uiview-core; a host wires that uiview_wasm into webComponentsRenderer. The design language reaches this repo as npm packages (@savvifi/meridian-schemas, @savvifi/meridian-proto-ts) — there’s no bazel_dep on the other meridian modules.

Build & test

bazel build //src:core
bazel test //tests:unit //tests:conformance   # conformance = the binary-boundary render guard (jsdom)

Conformance#

1 finding across 1 invariant. 19 contested atoms. See how gating works or the full report.

D3 a repo name CHOSEN on a SHARED extension must be namespaced why this matters ↗
repoextension
npm@aspect_rules_js//npm:extensions.bzl

Contested atoms

Third-party modules where this module resolves a different version than others do. Not a violation of anything this module did — it is the actionable form of a registry-level convergence finding, and the sentence a maintainer can act on.

AtomResolved hereElsewhere
apple_support 1.24.2 2.2.0 ×1
aspect_bazel_lib 2.22.5 2.8.1 ×1
aspect_rules_js 3.1.2 2.1.3 ×1
bazel_lib 3.2.2 3.0.0 ×12
bazel_skylib 1.8.2 1.9.0 ×2
gawk 5.3.2.bcr.3 5.3.2.bcr.1 ×12
gazelle 0.30.0 0.36.0 ×140.44.0 ×10.51.0 ×3
jq.bzl 0.4.0 0.1.0 ×12
nlohmann_json 3.6.1 3.12.0.bcr.1 ×1
package_metadata 0.0.2 0.0.5 ×3
protobuf 33.4 34.0.bcr.1 ×2
rules_go 0.39.1 0.60.0 ×18
rules_jvm_external 6.7 6.8 ×4
rules_nodejs 6.7.4 6.3.0 ×16.7.3 ×1
rules_python 1.7.0 2.0.1 ×1
rules_swift 3.1.2 3.6.1 ×1
tar.bzl 0.10.4 0.5.1 ×110.6.0 ×1
upb 0.0.0-20220923-a547704 0.0.0-20230516-61a97ef ×1
yq.bzl 0.3.4 0.1.1 ×12

Dependencies#

meridian_web in the registry graph — what it depends on (left) and what depends on it (right).

Depends on

aspect_rules_js3.1.2aspect_rules_ts3.8.9rules_nodejs6.7.4bazel_skylib1.8.2aspect_rules_esbuild0.26.0rules_proto7.1.0protobuf33.4rules_vite0.1.0devmeridian_uiview_core0.6.0dev

Used by (1 in the registry)

Versions#

17 published versions, newest first. Each resolves to an immutable, integrity-checked archive.

VersionIntegrity (sha256)Source archive
0.12.0 latest /L8jRs0Spd2Ug6uS… tag archive ↗
0.11.0 OJ/DRp2cze1sD6f6… tag archive ↗
0.10.0 FLa4vf152mGjxef0… tag archive ↗
0.9.0 P5bP9lqe7tON37/R… tag archive ↗
0.8.0 qMuypSGxd+c3MK9h… tag archive ↗
0.7.0 UFtxZOBSoL4DHElu… tag archive ↗
0.6.0 i9heA+nGvosiL5MT… tag archive ↗
0.5.0 Ak1w1gjjDn0R8N8R… tag archive ↗
0.4.0 6g4BB8DWlv1J8so7… tag archive ↗
0.3.1 f4/lMSLLry6pY5ym… tag archive ↗
0.3.0 STF/P1kYzueR/BuY… tag archive ↗
0.2.2 B06KepFm8Jo5gx4T… tag archive ↗
0.2.1 nkLfbK3hVY0SGoDB… tag archive ↗
0.2.0 Cb2fB8AMr80A1DZG… tag archive ↗
0.1.2 ifLcT1sxxNPr+fKh… tag archive ↗
0.1.1 X0t6Vy8D0Dv6VVEb… tag archive ↗
0.1.0 jf+UbILxz1BAYH5q… tag archive ↗

← All modules