Changelog
What's new in boneyard.
Vue 3 adapter
New boneyard-js/vue export with a native Vue 3 Skeleton component. Pulse, shimmer, and solid animations with scoped keyframes, dark mode auto-detection, and #fixture / #fallback slots.
Native device scanning
npx boneyard-js build --native captures bones directly from a running React Native app on device or simulator. Walks the React fiber tree, measures views via UIManager, and sends bone data to the CLI automatically.
Security hardening
CLI scan server now validates skeleton names, sanitizes output filenames against path traversal, and enforces a 5MB request body limit. Vue adapter sanitizes CSS radius values to prevent injection.
Docs restructure
Framework-organized sidebar with dedicated pages for React, React Native, Svelte, and Vue. New table of contents component and Svelte docs page.
Svelte 5 adapter
New boneyard-js/svelte export with a native Svelte 5 Skeleton component. Shared registry and build-mode logic extracted into a framework-neutral module.
React Native support
New boneyard-js/native export for iOS and Android. Uses RN Animated API for pulse animation, auto-detects dark mode via useColorScheme, and includes Metro bundler compatibility.
Compiled layout engine
New compileDescriptor() API for up to 105x faster relayouts. Automatic mutation detection rebuilds compiled state when descriptors change in place. See the Performance page.
Auth for protected routes
The CLI now supports auth.cookies and auth.headers in boneyard.config.json for generating skeletons on authenticated pages. Supports env[VAR] syntax for secrets.
Compact bone format
Bones are now stored as arrays [x, y, w, h, r] instead of objects — smaller JSON files, faster parsing. The runtime supports both formats for backwards compatibility.
Incremental builds
The CLI hashes each skeleton's DOM content and skips unchanged components on subsequent builds. Use --force to bypass the cache.
boneyard.config.json
One config file for both CLI and runtime defaults — breakpoints, output dir, color, animation style. Runtime defaults are auto-included in the generated registry.
Animation styles
The animate prop now accepts "pulse", "shimmer", or "solid" in addition to boolean values.
Responsive docs
New Responsive page showing how breakpoint detection and auto-selection works.
SSR rewrite
The SSR page now shows side-by-side examples with fixture data and explains the build-time snapshot flow.
Fixes
renderBonesnow uses%for x/w values (was px)- NaN validation in hex color parsing
- Fixed import paths in docs (
boneyard-js/react)
Initial public release. CLI-based skeleton extraction with Playwright, responsive breakpoints, dark mode detection, fixture support, and React component.