bloom_js_native 0.3.4 copy "bloom_js_native: ^0.3.4" to clipboard
bloom_js_native: ^0.3.4 copied to clipboard

React-wrapped JavaScript, Dart-wrapped reactivity. Fine-grained DOM framework — Dart owns signals & tooling, the browser owns rendering.

Changelog #

0.3.4 - 2026-08-26 #

Added #

  • mount()/mountToElement() now support an opt-in hot-reload tracking mode (used by bloom js dev --experimental-ddc's in-page fast remount): when active, the currently-mounted BloomMountHandle is tracked and disposable via a dev-only bloomDisposeActiveMount() hook, with zero overhead when inactive (the default, including all production builds).

0.3.3 - 2026-08-24 #

Added #

  • COOKBOOK.md: documented the real bloom add npm:<package> workflow (vendoring, generated @JS() bindings, importmap/bootstrap wiring) and how to use @tailwindcss/browser with no CDN and no build step; documented the lib/design/tokens.dart + Style() pattern for design tokens and bloom fonts optimize + fontStylesheetLink() for fonts, replacing hand-written web/index.html styling/font tags in all guidance.

0.3.2 - 2026-08-24 #

Added #

  • COOKBOOK.md: new "Best Practices & Common Pitfalls Checklist" section (reactivity, nullable event fields, the two-entry-point rule, SSR/hydration gotchas, disposal, styling, testing) consolidated as a pre-flight reference.

0.3.1 - 2026-08-24 #

Added #

  • COOKBOOK.md: new "Project Structure & Multi-File Apps" section (recommended lib/routes/, lib/components/, lib/state/ layout) and a "UI Component Primitives" section covering all 47+ exports from lib/src/ui.dart.

0.3.0 - 2026-08-24 #

Added #

  • UI primitives library: 45+ reusable, accessible UI components (tier 1 + tier 2 — accordion through toggle group).
  • fontStylesheetLink(): helper for linking the stylesheet generated by bloom fonts optimize.
  • Backend-for-Frontend support (dev proxy, RPC mount, env split).

Fixed #

  • Soft reset no longer permanently poisons regions.

0.2.0 - 2026-08-23 #

Added #

  • Typed RPC (rpc.dart): BloomRpcContract with path parameters, typed input/output codecs, and stable cache keys.
  • i18n (i18n.dart): ICU message formatting (plural, select, nested sub-patterns), locale resolution, and reactive locale switching. Number/date formatting is hand-rolled and is not full CLDR.
  • Images (image.dart): responsive srcset/sizes, priority for LCP, and decorative-image handling.
  • Scoped CSS (scoped_css.dart): deterministic scoped class generation, including @media and @keyframes.
  • Islands (island_node.dart, islands.dart): server-emitted island placeholders plus a browser orchestrator with per-island failure isolation. The SSR half is pure Dart and safe to import from a server.
  • Web components (web_components.dart): consume custom elements with rich JS properties and decoded CustomEvent payloads.
  • Cooperative scheduler (transition.dart): real priority-based time slicing replacing the previous microtask stub.
  • Async form validators, typed form fields, and field arrays.
  • Router query strings, fragments, and focus/aria-live route announcements.
  • SSR cache dehydration/hydration and infinite queries.

Fixed #

  • Route announcements now render into a real aria-live region; previously they only wrote to a signal that nothing displayed.
  • Error boundaries now cover reactive rebuild paths.

Known limitations #

  • defineCustomElement uses eval() to construct the custom-element class and therefore does not work under a Content-Security-Policy without unsafe-eval. Consuming custom elements via customElement() is unaffected.

0.1.0 - 2026-08-21 #

  • Initial release of bloom_js_native.
  • Pure Dart AST descriptor tree (BloomNode, ElNode, TextNode, LiveNode, ShowNode, ForEachNode, FragmentNode).
  • Fine-grained signals reactivity binding (signal, computed, effect, batch).
  • Dual-backend architecture:
    • Browser DOM mounting via package:bloom_js_native/browser.dart (package:web).
    • Instant sub-millisecond SSR via renderToHtml() with automatic XSS escaping.
  • Built-in NPM vendor manager & ESM importmaps (NpmRegistry).
  • HTML element subclasses (Div, Span, Button, Input, Form, H1H6, etc.) ensuring 0 analyzer warnings.
0
likes
0
points
657
downloads

Publisher

unverified uploader

Weekly Downloads

React-wrapped JavaScript, Dart-wrapped reactivity. Fine-grained DOM framework — Dart owns signals & tooling, the browser owns rendering.

Repository (GitHub)
View/report issues

Topics

#bloom #web #dom #signals #ssr

License

unknown (license)

Dependencies

http, meta, signals_core, web

More

Packages that depend on bloom_js_native