nhyris: Official v1 Release on npm

R Shiny Electron Framework nhyris Open Source Desktop Applications

nhyris (again)

A few months ago, I introduced nhyris as a prototype. At the time, it was more of an experimental concept with many areas for improvement.

Today, I’m excited to announce that nhyris v1 is officially released on npm.

What’s new?

Unified CLI Tool

  • Before: Execution relied on .sh shell scripts.
  • Now: A clean CLI is available via the nhyris command.

Cross-Platform Support

electron packages

image from akash’s medium

  • Before: Only supported ZIP packaging on macOS.Now: Supports:
  • .deb for Linux, squirrel.windows for Windows, .dmg for macOS

Expanded R Package Support

  • Before: Only CRAN packages were supported.
  • Now: Includes Bioconductor and GitHub packages via pak.
pak
  • Try nhyris with real-world apps from the official Shiny Gallery by RStudio.

Internal Refactoring

  • Codebase and documentation have been optimized for maintainability and ease of contribution.

How to Use

nhyris is available on npm. You can install it globally with:

npm install -g nhyris

Initialize a New Project

nhyris init your-project-name

Run the Project Locally

nhyris run your-project-name

Build as a Desktop Executable

nhyris build your-project-name

Select a Packaging Format

Use the -m in build command option to specify a packaging method:

  • zip (default, work for all platforms)
  • deb (ubuntu-Linux)
  • squirrel (Windows)
  • dmg (macOS)

Why npm?

It’s true—npm is not a typical tool for R developers.

But nhyris is not a typical R tool. It’s built for R/Shiny developers (or SAS developers who want to join the R community) who want to distribute applications as native desktop software, and that requires integration with tools outside the R ecosystem.

Electron.js is the engine that powers nhyris, and the npm ecosystem is the most natural place to manage such dependencies. Initially, the prototype used raw shell scripts. However, this was limiting and not user-friendly.

The new CLI (nhyris) provides a much smoother experience, especially in RStudio, Positron, or VSCode terminals.

In short: to provide a clean, cross-platform, extensible CLI—npm was the right choice.

What’s Next

pak

nhyris is just getting started. Upcoming improvements fall into three areas:

  1. Shiny Feature Expansion: Support for modular apps, robust frameworks like Rhino or Golem, and enhanced compatibility.

  2. Electron Customization: Splash screens, icons, settings UI, and more user-facing tweaks.

  3. New Delivery Options: Explore Docker, Tauri (Rust-based), or even R / Shiny package as an R-native solution.

Your feedback and contributions will shape the next phase of nhyris.

Let’s build it together!