Awesome
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><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)
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.
In memory of my friend luna :heart: