Files
zeekay 6d0dd44bfd chore: flatten pkgs/packages/* → pkgs/* (one canonical pkgs dir)
ONE WAY ONLY: 'pkgs' is the canonical name for any directory holding
packages. The redundant 'pkgs/packages/' sub-level is dropped — every
package now lives at pkgs/<name>/ (with categorical sub-groups
pkgs/compiler/, pkgs/core/, pkgs/ui/ unchanged since they are
sub-systems, not just 'packages').

- mv pkgs/packages/* → pkgs/* (24 packages)
- rm pkgs/packages/hanzogui-dev-config (orphan: only had dist/ artifacts,
  no source; gui-dev-config is the canonical @hanzogui/dev-config)
- package.json workspaces: drop pkgs/packages glob, add ./pkgs/*
- tsconfig.json: rewrite paths + 15 references entries
- apps/{demos,kitchen-sink,gui.hanzo.ai}/tsconfig.json: reference paths
- .github/workflows/publish-gui.yml: directory walk list
- pkgs/{get,recipes}/package.json: repository.directory

bun.lock will regenerate on next install.
2026-05-27 17:33:42 -07:00

1.2 KiB

react-native-web-lite

A tree-shakeable fork of react-native-web that replaces the style engine with simple inline styles.

What is this?

This package keeps all the API surfaces of react-native-web, but makes them fully tree-shakeable by replacing the style engine with a simple inline style system.

This is ideal if you're using an alternative style engine (like Gui, StyleX, etc.) and just want react-native API compatibility for non-style concerns.

Trade-offs

Because the style engine is replaced with inline styles, descendant-based styles are not supported. This means things like pointerEvents="box-none" won't work as expected since they rely on react-native-web's CSS-based styling system.

If you need full react-native-web style support, use react-native-web directly.

Features

  • Full ESModule support
  • Vite compatibility
  • sideEffects: false + full tree shaking support
  • TypeScript (converted from Flow)

Setup

@hanzogui/next-plugin and @hanzogui/vite-plugin have an option useReactNativeWebLite to help automatically set this up.

With webpack, alias the following:

  • react-native-web$ => react-native-web-lite
  • react-native-svg => @hanzogui/react-native-svg