npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

vaderjs-native

v1.0.28

Published

Build Native Applications using Vaderjs framework.

Readme

VaderNative is a high-performance, reactive framework for building truly native cross-platform applications. It combines a familiar React-like developer experience with a "Native-First" philosophy—streaming logs to your terminal, bundling single-file executables, and maintaining a zero-Virtual-DOM overhead.


🛠 Developer Environment Setup

Before you start coding, ensure your machine is equipped for native compilation.

1. General Requirements

  • Bun: Install Bun (Required for the CLI and Dev Server).
  • Node.js: v18+ (For compatibility with certain native build tools).

2. Android Setup (Mobile)

To build and run on Android, you need the Android SDK:

  • Android Studio: Install Android Studio.
  • SDK Platform: Ensure you have SDK 34 (UpsideDownCake) installed via the SDK Manager.
  • Environment Variables:
# Add to your .bashrc, .zshrc, or Windows ENV
ANDROID_HOME=$HOME/Android/Sdk
PATH=$PATH:$ANDROID_HOME/platform-tools

3. Windows Setup (Desktop)

To build WinUI 3 native desktop apps:

  • Visual Studio 2022: Install with the .NET Desktop Development workload.
  • .NET 8 SDK: Download here.
  • Windows App SDK: Managed automatically by the VaderNative build script.

🚀 Getting Started

1. Installation

bun install vaderjs-native@latest

2. Create your first page

VaderNative uses File-Based Routing. Create a file at app/index.jsx:

import * as Vader from "vader-native";

export default function App() {
  const [count, setCount] = Vader.useState(0);

  return (
    <div style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
      <p style={{ fontSize: 24 }}>Count: {count}</p>
      <button title="Increment" onPress={() => setCount(count + 1)} />
    </div>
  );
}

⚙️ Configuration (vader.config.ts)

Control your app's DNA from a single config file:

import defineConfig from "vaderjs-native/config";

export default defineConfig({
  app: {
    name: "MoviesPlus",
    id: "com.moviesplus.app",
    version: { code: 1, name: "1.0.0" },
  },
  platforms: {
    android: {
      minSdk: 24,
      targetSdk: 34,
      permissions: ["INTERNET"],
      icon: "./public/android-icon.png",
    },
    windows: {
      sdkVersion: "10.0.19041.0",
      icon: "./public/windows/icon.ico",
    }
  }
});

💻 CLI Commands & Workflow

VaderNative is designed for a Terminal-First workflow. No need to keep native IDEs (Android Studio/Visual Studio) open for debugging.

Development Mode

Automatically syncs assets, starts the dev server, and streams native logs to your console.

# Run Windows Dev (Streams app.log to terminal)
bun run vaderjs windows:dev

# Run Android Dev
bun run vaderjs android:dev

Production Building

Compile your app into a distributable format.

# Create a Single-File Windows EXE (/release/App.exe)
bun run vaderjs windows:build

# Build Android APK/Bundle
bun  run vaderjs android:build

🪵 Native Logging Strategy

VaderNative implements Native Pipe & Log Tailing.

  • Windows: The CLI tails app.log using a shared-access stream, ensuring you see crashes even if the app UI freezes.
  • Android: The CLI automatically filters logcat to show only your app's specific tags.

🗂 Project Structure

| Directory | Description | | --- | --- | | app/ | Routes: File-based routing (e.g., index.jsx, settings.jsx). | | src/ | Logic: Shared components, hooks, and business logic. | | public/ | Assets: Images, fonts, and static data. | | build/ | Generated: The native source code (WinUI/Android project files). |


✨ Why VaderNative?

  • Native Speed: No heavy Virtual DOM; updates are sent directly to native views.
  • Single-File Windows Apps: No complex installers; just one .exe.
  • Bun-First: Leverages the fastest JS runtime for building and bundling.
  • Modern Tooling: Tail logs, auto-patch .csproj, and hot-reload from one terminal.