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 🙏

© 2025 – Pkg Stats / Ryan Hefner

react-native-neutralinojs

v1.0.2

Published

React Native CLI integration for Neutralinojs

Downloads

365

Readme

React Native for NeutralinoJS

License: MIT Made with TypeScript React Native Library

Unofficial neutralinojs integration with the react-native-cli.

This tool allows you to export your react-native apps to a lightweight, cross-platform desktop application using neutralinojs. It serves as an alternative to heavier solutions like react-native-windows and react-native-macos.

Installation

  1. Install react-dom (Exact Version Match):

    This is the most critical step. The version of react-dom must exactly match the version of react installed in your project. A mismatch will cause your app to crash.

    First, check the exact react version in your package.json or lock file. Then, install the corresponding react-dom version using the --save-exact (for npm) or --exact (for Yarn) flag. This is crucial because package managers might otherwise install a newer patch version that is incompatible.

    For example, if your project uses react version 18.2.0, you must install [email protected].

    Using npm:

    npm install react-dom@<EXACT_REACT_VERSION> --save-exact

    Using Yarn:

    yarn add react-dom@<EXACT_REACT_VERSION> --exact
  2. Add the package to your project:

    Using npm:

    npm install react-native-neutralinojs

    Using Yarn:

    yarn add react-native-neutralinojs
  3. Install Peer Dependencies:

    Finally, install the other required peer dependencies. While some package managers might install these automatically, others do not. To be safe and avoid potential issues, it's recommended to run the installation command manually.

    Using npm:

    npm install @neutralinojs/lib react-native-web

    Using Yarn:

    yarn add @neutralinojs/lib react-native-web

Usage

This package extends the React Native CLI with commands to control the NeutralinoJS application.

Note: This library uses Vite internally to bundle your application. This means you do not need to start the Metro server with npm run start or npx react-native start for the NeutralinoJS app to work.

Running the app

To initialize your NeutralinoJS project and run it for the first time, simply use the run-neu command. This command will set up the necessary NeutralinoJS files if they don't exist and then launch your application.

npx react-native run-neu

Available Commands

Here are all the available commands for the neu platform:

  • run-neu: Initializes the NeutralinoJS project (if not already done) and starts the application in a development window. This is the most common command you'll use.
  • init-neu: Initializes the NeutralinoJS project by creating the neutralino directory and necessary configuration files. You only need to run this once, and run-neu does it for you automatically.
  • build-neu: Builds your React Native application and packages it into a distributable NeutralinoJS application for all platforms.
  • update-neu: Updates the NeutralinoJS binaries to the latest version defined in the package.

You can run any of these commands using the React Native CLI:

npx react-native <command-name>

For example:

npx react-native build-neu

Advanced Configuration

You can further customize the behavior of both Vite and NeutralinoJS.

Extending Vite Configuration

To extend the default Vite configuration, you can create a vite.config.js, vite.config.ts, or similar config file inside the neutralino/ directory. It's important that this file is located in this specific directory, otherwise it will not be loaded.

For more details on what you can configure, please refer to the official Vite documentation.

NeutralinoJS Configuration

The behavior of the NeutralinoJS application window, permissions, and other native-level features can be configured by editing the neutralino/neutralino.config.json file.

For a complete list of all available options, check out the official NeutralinoJS documentation.

Adding scripts to package.json

For convenience, you can add these commands to the scripts section of your package.json file, just like the default android and ios scripts in a standard React Native project.

"scripts": {
  "android": "react-native run-android",
  "ios": "react-native run-ios",
  "start": "react-native start",
  "neu": "react-native run-neu",
  "build:neu": "react-native build-neu"
},

With this configuration, you can simply run:

npm run neu

Or to build the application:

npm run build:neu

License

This project is licensed under the MIT License.