GithubHelp home page GithubHelp logo

rvpanoz / luna Goto Github PK

View Code? Open in Web Editor NEW
1.0K 23.0 42.0 19.9 MB

Manage npm dependencies through a modern UI.

License: GNU General Public License v3.0

JavaScript 98.93% CSS 0.66% HTML 0.41%
javascript electron npm nodejs npm-management linux windows macos react material-ui

luna's Introduction

Luna - npm management through a modern UI. Built with Electron ๐ŸŒบ

Luna

npm desktop manager for handling npm dependencies. Supported platforms: OS X Windows and Linux.


Build Status CodeFactor PRs Welcome NPM Version FOSSA Status License: GPL3.0

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

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

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.
Feel free to check issues page.

Pull requests are always welcome. ๐Ÿ’ช
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 โค๏ธ

luna's People

Contributors

cherouvim avatar fossabot avatar madsnedergaard avatar p1nkel avatar pascalgermain avatar renovate-bot avatar rvpan0z avatar rvpanoz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

luna's Issues

No REMOVE command in Luna

Expected behavior and actual behavior.

  • I wanted to remove a package from the local npm repository
  • I expected to find a remove action ... Somewhere

Actual behaviour.

  • No Action was found.
  • If there is a menu or action some place, it is very well disguised

Steps to reproduce the problem.

  • Install some package.
  • Example: min database (quite small)
  • Select that package.
  • Try to remove it

Workaround

  • Go to cmd window (command line shell)
  npm remove min   
rem   OR ...
  npm remove min -g
  • `min' was installed as global

Specifications like operating system, or hardware

Windows 10 64-bit

Icon missing

Resource luna-ico-32x32.png is missing.
Windows installation version 1.1.0.

image

ERROR in dll renderer Module not found: Error: Can't resolve 'undefined'

Hi here is the result of npm install on my machine :

ERROR in dll renderer
Module not found: Error: Can't resolve 'undefined' in '/home/huei/projects/luna'

And the complete log (including this error) :

huei@computer ~/projects/luna $ npm i

> [email protected] postinstall /home/huei/projects/luna
> node -r babel-register internals/scripts/CheckNativeDep.js && npm run build-dll && electron-builder install-app-deps && node node_modules/fbjs-scripts/node/check-dev-engines.js package.json


> [email protected] build-dll /home/huei/projects/luna
> cross-env NODE_ENV=development node --trace-warnings -r babel-register ./node_modules/webpack/bin/webpack --config webpack.config.renderer.dev.dll.js --colors

Hash: f86149f437f2071f5bf5
Version: webpack 3.10.0
Time: 9395ms
                                 Asset     Size  Chunks                    Chunk Names
 de8b7431b74642e830af4d4f4b513ec9.woff    20 kB          [emitted]         
 e9dbbe8a693dd275c16d32feb101f1c1.woff  19.9 kB          [emitted]         
 d704bb3d579b7d5e40880c75705c8a71.woff  21.3 kB          [emitted]         
6232f43d15b0e7a0bf0fe82e295bdd06.woff2  16.6 kB          [emitted]         
 a1471d1d6431c893582a5f6a250db3f9.woff  19.9 kB          [emitted]         
55536c8e9e9a532651e3cf374f290ea3.woff2  15.4 kB          [emitted]         
 210a7c781f5a354a0e4985656ab456d9.woff  21.8 kB          [emitted]         
d69924b98acd849cdeba9fbff3f88ea6.woff2  17.1 kB          [emitted]         
 bafb105baeb22d965c70fe52ba6b49d9.woff  19.8 kB          [emitted]         
5d4aeb4e5f5ef754e307d7ffaef688bd.woff2  15.3 kB          [emitted]         
 9680d5a0c32d2fd084e07bbc4c8b2923.woff  21.5 kB          [emitted]         
d8bcbe724fd6f4ba44d0ee6a2675890f.woff2  16.9 kB          [emitted]         
987b84570ea69ee660455b8d5e91f5f1.woff2  15.3 kB          [emitted]         
285467176f7fe6bb6a9c6873b3dad2cc.woff2  15.6 kB          [emitted]         
 ffcc050b2d92d4b14a4fcb527ee0bcc8.woff  21.6 kB          [emitted]         
510dec37fa69fba39593e01a469ee018.woff2  16.9 kB          [emitted]         
 cf6613d1adf490972c557a8e318e0868.woff  19.9 kB          [emitted]         
037d830416495def72b7881024c14b7b.woff2  15.4 kB          [emitted]         
 846d1890aee87fde5d8ced8eba360c3a.woff  21.1 kB          [emitted]         
010c1aeee3c6d1cbb1d5761d80353823.woff2  16.6 kB          [emitted]         
 8c2ade503b34e31430d6c98aa29a52a3.woff  19.9 kB          [emitted]         
19b7a0adfdd4f808b53af7e2ce2ad4e5.woff2  15.3 kB          [emitted]         
 bc833e725c137257c2c42a789845d82f.woff  21.9 kB          [emitted]         
7b770d6c53423deb1a8e49d3c9175184.woff2  17.2 kB          [emitted]         
                   renderer.dev.dll.js  9.64 MB       0  [emitted]  [big]  renderer
[./node_modules/electron-debug recursive] ./node_modules/electron-debug 160 bytes {0} [built]
[./node_modules/moment/locale recursive ^\.\/.*$] ./node_modules/moment/locale ^\.\/.*$ 2.95 kB {0} [optional] [built]
[./node_modules/webpack/buildin/harmony-module.js] (webpack)/buildin/harmony-module.js 596 bytes {0} [built]
[./node_modules/webpack/buildin/module.js] (webpack)/buildin/module.js 517 bytes {0} [built]
   [0] dll renderer 12 bytes {0} [built]
    + 3021 hidden modules

WARNING in ./node_modules/electron-debug/index.js
81:45-58 Critical dependency: the request of a dependency is an expression
 @ ./node_modules/electron-debug/index.js
 @ dll renderer

WARNING in ./node_modules/electron-debug/index.js
84:85-106 Critical dependency: the request of a dependency is an expression
 @ ./node_modules/electron-debug/index.js
 @ dll renderer

ERROR in dll renderer
Module not found: Error: Can't resolve 'undefined' in '/home/huei/projects/luna'
 @ dll renderer
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! [email protected] build-dll: `cross-env NODE_ENV=development node --trace-warnings -r babel-register ./node_modules/webpack/bin/webpack --config webpack.config.renderer.dev.dll.js --colors`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the [email protected] build-dll script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/huei/.npm/_logs/2018-04-06T12_33_47_473Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! [email protected] postinstall: `node -r babel-register internals/scripts/CheckNativeDep.js && npm run build-dll && electron-builder install-app-deps && node node_modules/fbjs-scripts/node/check-dev-engines.js package.json`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/huei/.npm/_logs/2018-04-06T12_33_47_512Z-debug.log

My env :
OS : Linux Mint 18.3 Sylvia x64 under XFCE based on Ubuntu Xenial 16.04 LTS
Node : 9.10.1
Npm : 5.6.0

install packages from package.json

Is it possible in this tool to install all the packages in one shot after analyzing them from the "package.json" file. And also for the update operation.

After viewing a package that was searched for, the Show Globals button doesn't work

Expected behavior and actual behavior.

The Show Globals button should always show to the list of global packages.

However, after viewing a package that was searched for, the Show Globals button doesn't do anything.

Steps to reproduce the problem.

  1. Search for a package, and click one of the results to view it.
  2. Click the Show Globals button. Nothing will happen.

Specifications like operating system, or hardware

Windows 10 x64

Luna 2.1.0

--save and --save-dev

respect --save and --save-dev parameters when installing new package in local mode

Weird little bug installing dependencies on windows

Probably nothing to be concerned about, but after
git clone & npm i, running npm run dev resulted in "'cross-env' is not recognized as an internal or external command", even though package.json listed it and I assume it was installed with all the rest. After checking out what it is and running npm install --save-dev cross-env as a first aid, everything works although there are some unrelated errors in console.
I have no idea what the "npm ERR! code EBADPLATFORM" is and is it related, but the whole thing works beautifully and looks nice.
Also I'm a ittle flabbergasted by the 1740(!) packages cross-env updated.

win 10
node v8.9.4
npm v5.6.0

Screenshot of my little adventure.
2018-04-15_1127

Luna not full responsive ?

Hello, I really appreciate your work! This application saves a lot of time, thank you.
I use your application on my two PCs (one fixed and one laptop). I have no problem on my desktop PC with 1920x1080 screen.

On the other hand, I have a problem with your application: using it from my laptop that displays 1366x768. The problem is that I'm missing the right part of the application in order to update or uninstall a module. So I ask myself the question of the responsive of your application? (Screenshot below)

image

[Feature Suggestion] Add clickable links

There is a lot of data that could be made into links:

  • Under Github stats, the dependencies could be links to open that package in Luna.
  • Under Github stats, the Dist Tags could be links to preview that version.
  • The usernames, emails, and URLs under Details, Maintainers, and Contributors.
  • The license.

Specifications like operating system, or hardware

Windows 10 x64

Luna 2.1.0

Remove Numix Branding

At first I thought it was just a coincidence that the logo looked similar to the Numix Project one but after downloading the file to check it would seem that they're identical binaries. While we do release a GPL version of our logo for use in icon themes, the version you've used isn't licensed as such and so your software as is is in violation of the GPL. Aside from that it's just confusing branding wise; it implies affiliation between the two when this isn't the case.

Please remove all Numix branding from your software. If you want help drafting up a new icon I'm more than happy to help out, but as is it's not really fair (nor strictly speaking legal) to take our logo and put it on your software.

Please provide an AppImage for Linux on GitHub Releases

"target": ["deb", "AppImage"]

Providing an AppImage would have, among others, these advantages:

  • Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
  • One app = one file = super simple for users: just download one AppImage file, make it executable, and run
  • No unpacking or installation necessary
  • No root needed
  • No system libraries changed
  • Works out of the box, no installation of runtimes needed
  • Optional desktop integration with appimaged
  • Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
  • Can optionally GPG2-sign your AppImages (inside the file)
  • Works on Live ISOs
  • Can use the same AppImages when dual-booting multiple distributions
  • Can be listed in the AppImageHub central directory of available AppImages
  • Can double as a self-extracting compressed archive with the --appimage-extract parameter

Here is an overview of projects that are already distributing upstream-provided, official AppImages.

If you have questions, AppImage developers are on #AppImage on irc.freenode.net.

When Integrity is N/A, there's no spacing between the Tarball URI and Integrity

Expected behavior and actual behavior.

Under Github stats, when Integrity is N/A, there's no spacing between the Tarball URI and Integrity.

image

Steps to reproduce the problem.

Open Luna and navigate to a package that has Integrity: N/A. That line is on the same line as the Tarball URI, and there's no spacing between the two.

Specifications like operating system, or hardware

Windows 10 x64

Luna 2.1.0

Install Package

Shows install button when user search package is already installed

When removing a package, all packages are reloaded

Expected behavior and actual behavior.

Actual: When I click the check box next to a global npm package and click the trash can to get rid of it, Luna reloads the entire list of packages. I currently have 98 packages, and want to clear some of them out, and reloading every time I remove one slows down this process considerably.

Expected: Luna can / should optimistically remove the package from its list and reload the list from disk in the background.

Specifications like operating system, or hardware

I'm on a MBP w/ 16GBs of RAM & 2.5GHz processor.

The blue bar under Github stats is cut off

Expected behavior and actual behavior.

The blue bar under Github stats is cut off at the left or right (depending on the tab being viewed). This is on a 24" monitor.

image

Specifications like operating system, or hardware

Windows 10 x64

Luna 2.1.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.