GitPedia

Luna

Manage npm dependencies through a modern UI.

From rvpanoz·Updated May 21, 2026·View on GitHub·

npm desktop manager for handling npm dependencies. Supported platforms: OS X Windows and Linux. The project is written primarily in JavaScript, distributed under the GNU General Public License v3.0 license, first published in 2017. It has gained significant community traction with 1,004 stars and 44 forks on GitHub. Key topics include: electron, epics, javascript, linux, macos.

Latest release: v.3.4.6version 3.4.6
October 29, 2020View Changelog →

Luna - npm management through a modern UI. Built with Electron :hibiscus:

<p align="center"> <img alt="Luna" src="./resources/media/images/luna-small.jpeg"> </p> <p align="center">npm desktop manager for handling npm dependencies. Supported platforms: OS X Windows and Linux.</p>

Build Status
CodeFactor
PRs Welcome
NPM Version
FOSSA Status
<a href="https://github.com/rvpanoz/luna/blob/master/LICENSE">
<img alt="License: GPL3.0" src="https://img.shields.io/badge/License-GPL3.0-yellow.svg" target="_blank" />
</a>

Motivation

Luna was created with main purpose to provide a flexible and modern UI for npm dependencies management. You can install, update and uninstall packages using a user interface build on latest web technologies.

Features

  • Manage global and local packages
  • Search for new packages
  • Install packages
  • Update packages
  • Uninstall packages
  • Filter packages by name, group and outdated
  • Preview package details (versions, statistics, dependencies and more)
  • Get notifications for missing dependencies or extraneous packages

Screenshots

<div style="display: flex; flex-wrap: wrap;padding: 0 4px; justify-content: space-between;"> <div style="flex: 25%;max-width: 25%;padding: 8px 4px;"> <img style="margin-top: 8px; vertical-align: middle;" title="luna-1" src="./resources/media/images/luna-screen-1.png"/> </div> <div style="flex: 25%;max-width: 25%;padding: 8px 4px;"> <img style="margin-top: 8px; vertical-align: middle;" title="luna-2" src="./resources/media/images/luna-screen-2.png"/> </div> <div style="flex: 25%;max-width: 25%;padding: 8px 4px;"> <img style="margin-top: 8px; vertical-align: middle;" title="luna-3" src="./resources/media/images/luna-screen-3.png"/> </div> <div style="flex: 25%;max-width: 25%;padding: 8px 4px;"> <img style="margin-top: 8px; vertical-align: middle;" title="luna-3" src="./resources/media/images/luna-screen-4.png"/> </div> </div>

How it works

The Renderer Process architecture:

  • Action (Event) driven nature
  • The IO Management, Business Logic Management and Predictable Application State Management processors (middlewares)
    are subscribers of the application action stream.
  • The IO Management and Business Logic Management are consumers and producers of actions.
  • The Predictable State Management is just a consumer of actions
  • The views are listeners of the predictable state and they are re rendered whenever the predictable state changes
    and they produce actions upon the user interaction (clicks)
<div style="display: flex; flex-wrap: wrap;padding: 0 4px;"> <div style="flex: 25%;max-width: 100%;padding: 0 4px;"> <img style="margin-top: 8px; vertical-align: middle;" title="luna-renderer" src="./resources/media/images/luna-renderer.png"/> </div> </div>

Usage

Install application's dependencies:

npm install

Start the application

npm start

Start the development server and run the application in development mode:

npm run dev

Binaries

All binaries of the latest version are uploaded to the releases

Tech Stack

  • Electron - 🛠 - 🐙 - Build cross-platform desktop apps with JavaScript, HTML, and CSS
  • React - 🛠 - 🐙 - React is a JavaScript library for building user interfaces
  • Redux - 🛠 - 🐙 - Predictable state container for JavaScript apps
  • Webpack - 🛠️ - 🐙 - A static module bundler for modern JavaScript applications.
  • Babel - 🛠️ - 🐙 - A JavaScript compiler; use next generation JavaScript, today.
  • Rxjs - 🛠️ - 🐙 - Reactive extensions library for Javascript
  • Material-UI - 🛠️ - 🐙 - React components that implement Google's Material Design.

GreeceJS meetup presentation

You can view my presentation in the GreeceJS meetup at http://bit.ly/2RES3AN

Contributing and Issues

Contributions, issues and feature requests are welcome. <br />Feel free to check issues page.

Pull requests are always welcome. 💪 <br />
Be sure to merge the latest from "upstream" before making a pull request. 🙏

License

Copyright © 2020 rvpanoz. This project is GPL-3.0 licensed.

FOSSA Status


In memory of my friend luna :heart:

Contributors

Showing top 8 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from rvpanoz/luna via the GitHub API.Last fetched: 6/17/2026