Git Product home page Git Product logo

q-nick / npm-gui Goto Github PK

View Code? Open in Web Editor NEW
645.0 16.0 42.0 31.54 MB

Tired of the package.json dependency juggle? Meet npm-gui! We seamlessly integrate with npm, pnpm, or yarn. Managing, installing, and updating dependencies is as easy as it gets. Try npm-gui today and enjoy dependency management like a pro!

Home Page: https://npm-gui.nullapps.dev

License: MIT License

JavaScript 3.47% HTML 0.18% CSS 0.40% TypeScript 95.96%
gui npm dependencies dependencies-manager yarn webdev nodejs javascript npm-desktop-manager pnpm

npm-gui's Introduction

Downloads   MIT License   Github   npm

GitHub Workflow Status   GitHub Workflow Status   GitHub Workflow Status   GitHub Workflow Status

npm-gui

Homepage and full documentation: https://npm-gui.nullapps.dev

npm-gui is a convenient tool for managing javascript project dependencies listed in package.json. Under the hood, it will transparently use npm, pnpm, or yarn commands to install, remove or update dependencies (to use yarn it requires the yarn.lock file to be present in the project folder.)

App Demo

Getting Started

The recommended way to run npm-gui is by using npx:

~/$ npx npm-gui@latest

It will run the most recent version of npm-gui without installing it on your system.

Installation as global dependency

npm-gui could also be installed as a global dependency:

~/$ npm install -g npm-gui

and then run with just:

~/$ npm-gui

Installation as local dependency (not-recommended)

~/$ npm install npm-gui

To read more visit: https://npm-gui.nullapps.dev/docs/npm-gui/

Authors

Documentation

Documentation

Next features on roadmap

  • npm-gui integrated into VS Code as an extension

  • other package managers like: poetry, composer, nuget

  • packages updates history

  • re-arrange existing columns

  • expandable/collapsable module to reveal it's dependency tree (npm-remote-ls)

  • number of dependencies per module

  • move dependency between dev and prod

  • visual indicator if the package seems to be unuse (depcheck)

  • hint like: "shouldn't this be a dev-dependency?"

npm-gui's People

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

npm-gui's Issues

[Enhancement] Include bower checks and improve performance

Thanks for the great package, just small notes if you wouldn't mind:
If you can add bower checks, it would be great as in most cases the bower component is really what matters in many project as the rest used only to assist the task runners.
I haven't got the time to check the code and I don't know how you are checking the versions but its quit slow, am using this project and found it quit fast and helpful, maybe you would have a look over it or even you can use it in the background.
Thumbs up for next phase to implement the project using Electron.

Electron App?

Hello.

Was just wondering if you have considered an electron app? With all the work you've done, it seems like it should be fairly simple.

I'd also like to assist if there is anything I can do with this project as a whole.

Server code doesn't build

I get this error when building:

ERROR in npm-gui.js from UglifyJs
SyntaxError: Unexpected token: punc ()) [./index.js:47,0]

No update check for global packages

When opening npm-gui with global packages, the update check doesn't return anything:

image

There should be updates for:

  • @angular/cli 15.0.5 → 15.1.1
  • npm 9.2.0 → 9.3.0

npm-gui version 4.0.1

Just some ideas ;)

Wouldn't it be great to have npm-gui integrated into VS Code as an Extension? That would be so awesome!

Also would it be possible in theory to add completely different Package Managers? Say: poetry (python) or nuget (.net)? You're only executing commands, so seems to be very simple and nice design for any package manager

Feature suggestion

Hello guys, first of all, thanks for this cool project 😉.
I came by to share some ideas for future versions if you decide to consider them.

  1. Show release date on each module version (per column - latest, compatible, current). Maybe in small letters with low contrast under the version badge?

  2. Don't know if the purpose of "NPM" badge is to be clicked or not. In my case, clicking it does nothing but I expected it to open the npm project's page.

  3. Similarly to the npm icon, we could have a repo icon, that clicking would take us the the bitbucket / github project

  4. Dynamic columns: we could re-arrange existing columns (drag and drop) and toggle extra columns that could bring information such as module description, author, release date, last commit, and display the dates I mentioned previously in their own data columns which would be handy for sorting.

  5. While browsing file system allow filtering:
    image

  6. Each module could be expanded/collapsable to reveal it's dependency tree
    image

Here's a tree generated with npm-remote-ls [email protected] that I used as an example here: https://pastebin.com/duqQDWLu

Unhandled 'error' event on windows

events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: spawn C:\f\node_modules\npm-gui/node_modules/nsp/bin/nsp ENOENT
    at i (C:\f\node_modules\npm-gui\npm-gui.js:289:729)
    at o (C:\f\node_modules\npm-gui\npm-gui.js:289:985)
    at ChildProcess.e.emit (C:\f\node_modules\npm-gui\npm-gui.js:289:885)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)

please use path.join vs hardcoded paths^

Support npm workspaces

I have an npm project that uses npm workspaces:

# workspace root contains the package file and the lock file
/package.json
/package-lock.json

# a workspace ("package") contains the package file only
/packages/my-package/package.json

Currently if I open my workspace root /, I see npm-gui shows the packages that are installed at the root level. This is as expected.

If I open my workspace at /packages/my-package, it shows the packages that are installed in that workspace, but the installed versions are reported as "missing".


To properly support workspaces, I think these things would be good:

  • when viewing /, provide a way to navigate to the workspaces (via a link)
  • similarly, when viewing /packages/my-workspace, provide a way to navigate back to the package root
  • correctly show the installed versions for workspace packages (they are listed in the root package-lock.json)

does anyone know why it is taking too much time

image
from the tutorial I saw on website documentation. it happens in quick few seconds. and also it's not about my network speed or Package size, both are fast and small in size respectively

Error in Powershell

On Windows, in VS Code, using Powershell host, I get the following error:

npm-gui web-server running at http://localhost:1337/
{ Error: ENOENT: no such file or directory, open 'C:\SOMEPATH\�w^~)�\package.json'
    at Object.fs.openSync (fs.js:646:18)
    at Object.fs.readFileSync (fs.js:551:33)
    at C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:170880
    at Generator.next (<anonymous>)
    at z (C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:168409)
    at o (C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:168611)
    at C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:168670
    at new Promise (<anonymous>)
    at C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:168552
    at L (C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:171137)
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\SOMEPATH\\�w^~)�\\package.json' }
{ Error: ENOENT: no such file or directory, open 'C:\SOMEPATH\�w^~)�\package.json'
    at Object.fs.openSync (fs.js:646:18)
    at Object.fs.readFileSync (fs.js:551:33)
    at C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:168779
    at C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:168846
    at Generator.next (<anonymous>)
    at z (C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:168409)
    at o (C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:168611)
    at C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:168670
    at new Promise (<anonymous>)
    at C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:168552
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\SOMEPATH\\�w^~)�\\package.json' }
Error: [object Object]
    at ChildProcess.s.on (C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:535:167021)
    at emitOne (events.js:116:13)
    at ChildProcess.emit (events.js:211:7)
    at ChildProcess.e.emit (C:\Users\ehrsam\AppData\Roaming\npm\node_modules\npm-gui\dist\server\main.js:459:62280)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:196:12)
    at onErrorNT (internal/child_process.js:372:16)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)

Unable to install on Windows

I get errors trying to install on Windows 7 64 bit.

npm install -g npm-gui

Results from npm-debug.log

> [email protected] install C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modul
es\angular-websocket\node_modules\ws\node_modules\utf-8-validate
> node-gyp rebuild


C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modules\angular-websocket\node_modul
es\ws\node_modules\utf-8-validate>if not defined npm_config_node_gyp (node "C:\Users\canders2\AppDat
a\Roaming\npm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuil
d )  else (node  rebuild )
gyp: C:\Users\canders2\.node-gyp\4.1.1\common.gypi not found (cwd: C:\Users\canders2\AppData\Roaming
\npm\node_modules\npm-gui\node_modules\angular-websocket\node_modules\ws\node_modules\utf-8-validate
) while reading includes of binding.gyp while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (C:\Users\canders2\AppData\Roaming\npm\node_modules\npm\
node_modules\node-gyp\lib\configure.js:357:16)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\canders2\\AppData\\Roaming\\npm\\
node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modules\angular-websock
et\node_modules\ws\node_modules\utf-8-validate
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok

> [email protected] install C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modules\a
ngular-websocket\node_modules\ws\node_modules\bufferutil
> node-gyp rebuild


C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modules\angular-websocket\node_modul
es\ws\node_modules\bufferutil>if not defined npm_config_node_gyp (node "C:\Users\canders2\AppData\Ro
aming\npm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )
 else (node  rebuild )
gyp: C:\Users\canders2\.node-gyp\4.1.1\common.gypi not found (cwd: C:\Users\canders2\AppData\Roaming
\npm\node_modules\npm-gui\node_modules\angular-websocket\node_modules\ws\node_modules\bufferutil) wh
ile reading includes of binding.gyp while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (C:\Users\canders2\AppData\Roaming\npm\node_modules\npm\
node_modules\node-gyp\lib\configure.js:357:16)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\canders2\\AppData\\Roaming\\npm\\
node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modules\angular-websock
et\node_modules\ws\node_modules\bufferutil
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
npm WARN optional dep failed, continuing [email protected]

> [email protected] install C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modules\w
s\node_modules\bufferutil
> node-gyp rebuild


C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modules\ws\node_modules\bufferutil>i
f not defined npm_config_node_gyp (node "C:\Users\canders2\AppData\Roaming\npm\node_modules\npm\bin\
node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild )
gyp: C:\Users\canders2\.node-gyp\4.1.1\common.gypi not found (cwd: C:\Users\canders2\AppData\Roaming
\npm\node_modules\npm-gui\node_modules\ws\node_modules\bufferutil) while reading includes of binding
.gyp while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (C:\Users\canders2\AppData\Roaming\npm\node_modules\npm\
node_modules\node-gyp\lib\configure.js:357:16)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\canders2\\AppData\\Roaming\\npm\\
node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modules\ws\node_modules
\bufferutil
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
npm WARN optional dep failed, continuing [email protected]
npm WARN optional dep failed, continuing [email protected]

> [email protected] install C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modul
es\ws\node_modules\utf-8-validate
> node-gyp rebuild


C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modules\ws\node_modules\utf-8-valida
te>if not defined npm_config_node_gyp (node "C:\Users\canders2\AppData\Roaming\npm\node_modules\npm\
bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild )
gyp: C:\Users\canders2\.node-gyp\4.1.1\common.gypi not found (cwd: C:\Users\canders2\AppData\Roaming
\npm\node_modules\npm-gui\node_modules\ws\node_modules\utf-8-validate) while reading includes of bin
ding.gyp while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (C:\Users\canders2\AppData\Roaming\npm\node_modules\npm\
node_modules\node-gyp\lib\configure.js:357:16)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\canders2\\AppData\\Roaming\\npm\\
node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\node_modules\ws\node_modules
\utf-8-validate
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
npm WARN optional dep failed, continuing [email protected]
npm WARN optional dep failed, continuing [email protected]
C:\Users\canders2\AppData\Roaming\npm\npm-gui -> C:\Users\canders2\AppData\Roaming\npm\node_modules\
npm-gui\bin\npm-gui

> [email protected] install C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui
> npm run browserify:js


> [email protected] browserify:js C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui
> ./node_modules/browserify/bin/cmd.js ./lib/public/app/vendor.js -o ./lib/public/bundle.js

'.' is not recognized as an internal or external command,
operable program or batch file.

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\canders2\\AppData\\Roaming\\npm\\nod
e_modules\\npm\\bin\\npm-cli.js" "run" "browserify:js"
npm ERR! node v4.1.1
npm ERR! npm  v2.14.1
npm ERR! code ELIFECYCLE
npm ERR! [email protected] browserify:js: `./node_modules/browserify/bin/cmd.js ./lib/public/app/vendor.
js -o ./lib/public/bundle.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] browserify:js script './node_modules/browserify/bin/cmd.js ./li
b/public/app/vendor.js -o ./lib/public/bundle.js'.
npm ERR! This is most likely a problem with the npm-gui package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ./node_modules/browserify/bin/cmd.js ./lib/public/app/vendor.js -o ./lib/public/bundle.
js
npm ERR! You can get their info via:
npm ERR!     npm owner ls npm-gui
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\canders2\AppData\Roaming\npm\node_modules\npm-gui\npm-debug.log
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\canders2\\AppData\\Roaming\\npm\\nod
e_modules\\npm\\bin\\npm-cli.js" "install" "-g" "npm-gui"
npm ERR! node v4.1.1
npm ERR! npm  v2.14.1
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `npm run browserify:js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'npm run browserify:js'.
npm ERR! This is most likely a problem with the npm-gui package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run browserify:js
npm ERR! You can get their info via:
npm ERR!     npm owner ls npm-gui
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\canders2\npm-debug.log

npm-gui throws a JSON error in console when update a dependency

OS: OSX High Sierra v. 10.13.6
npm v.6.4.1
node v. 10.9.0
Browser: Firefox Quantum 63.0.1

When I click on any update button of any dependency, the dependency is updated, but I got this error message in console:

Error: [object Object]                 pm-gui/dist/server/main.js:535:180028)
    at ChildProcess.s.on (/usr/local/liprocess/next_tick.js:68:7)
b/node_modules/npm-gui/dist/server/main -S" in "/Users/Enrique/Documents/projects/apollo-tutorial-kit2"
.js:535:167021)
    at ChildProcess.emit (events.js:182
:13)                                   1 -S" in "/Users/Enrique/Documents/projects/apollo-tutorial-kit2"
    at Process.ChildProcess._handle.one
xit (internal/child_process.js:237:12)
    at onErrorNT (internal/child_proces
s.js:406:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
executing: "npm install [email protected] -S" in "/Users/Enrique/Documents/projects/apollo-tutorial-kit2"

JSON error
executing: "npm install [email protected] -S" in "/Users/Enrique/Documents/projects/apollo-tutorial-kit2"

JSON error
executing: "npm install [email protected] -S" in "/Users/Enrique/Documents/projects/apollo-tutorial-kit2"

JSON error
executing: "npm install [email protected] -S" in "/Users/Enrique/Documents/projects/apollo-tutorial-kit2"

JSON error

message event listener registration error

Hi all, I've been working on a tool to identify instances of events registered to the wrong object in uses of some JavaScript event-driven APIs, as part of a research project.

The tool flagged line 27 in server/console.ts, on the registration of the “message” event.
The reason I believe this is indicative of an error is as follows (from looking at the npm ws API documentation).
The wss variable, created by the call to Ws.Server (on line 18) is an object of type ws.Server. However, the “message” event is emitter on ws.Socket.
My guess is that your listener registration for “message” should be on the ws variable inside the listener for “connection” on line 22, since ws is a ws.Socket.
Specifically, I think the code should be:

wss.on('connection', (ws) => {
    consoleSocket = ws;
    send('console connected \n', 'default');

    ws.on(“message”), ….); // place the code from the “message” registration on wss here 
  });

This corresponds to the example in the API documentation.

Thanks!

Unhandled 'error' event

npm-gui v1.0.7

>npm-gui
events.js:183
throw er; // Unhandled 'error' event
^

Error: listen EACCES 127.0.0.1:1337
at Object._errnoException (util.js:1022:11)
at _exceptionWithHostPort (util.js:1044:20)
at Server.setupListenHandle [as _listen2] (net.js:1334:19)
at listenInCluster (net.js:1392:12)
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1501:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:97:10)

getting Cannot set property 'latest' of undefined on windows

Hi,
this modules works perfectly on linux. I shifted to windows to use more graphic softwares few days back.
Now when i am running npm-gui it is stuck with this error while loading page

`Unhandled rejection TypeError: Cannot set property 'latest' of undefined
at C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:3480
at i (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:1:888)
at i._settlePromiseFromHandler (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:19369)
at i._settlePromise (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:20172)
at i._settlePromise0 (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:20873)
at i._settlePromises (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:22203)
at i._drainQueue (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:7831)
at i._drainQueues (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:7892)
at Immediate.drainQueues [as _onImmediate] (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:5943)
at runCallback (timers.js:694:18)
at tryOnImmediate (timers.js:665:5)
at processImmediate (timers.js:647:5)

Unhandled rejection TypeError: Cannot set property 'latest' of undefined
at C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:1773
at i (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:1:888)
at i._settlePromiseFromHandler (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:19369)
at i._settlePromise (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:20172)
at i._settlePromise0 (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:20873)
at i._settlePromises (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:22203)
at i._drainQueue (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:7831)
at i._drainQueues (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:7892)
at Immediate.drainQueues [as _onImmediate] (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:5943)
at runCallback (timers.js:694:18)
at tryOnImmediate (timers.js:665:5)
at processImmediate (timers.js:647:5)

Unhandled rejection TypeError: Cannot set property 'latest' of undefined
at C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:1773
at i (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:1:888)
at i._settlePromiseFromHandler (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:19369)
at i._settlePromise (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:20172)
at i._settlePromise0 (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:20873)
at i._settlePromises (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:22203)
at i._drainQueue (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:7831)
at i._drainQueues (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:7892)
at Immediate.drainQueues [as _onImmediate] (C:\Users\ajage\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:5943)
at runCallback (timers.js:694:18)
at tryOnImmediate (timers.js:665:5)
at processImmediate (timers.js:647:5)`

Include bundle size

Of course, it depends a little bit on which parts are being used. And if the developer uses something like roll-up.

But directly seeing some generic stats like bundlephobia could definitely help when cleaning up dependencies.

Update All Feature

Would it be pertinent to have an update all feature? At least on the Global page, it makes sense to me to be able to update all your dependencies with one click instead of having to click each one to update.

Folder without package.json

When starting up npm-gui it opened on my user home dir. This folder doesn't have an package.json or any packages installed as it's not an project folder.

This results in the following error in the console:

Command: npm ls -g --depth=0 --json, started
ERROR HANDLER Error: invalid project structure!
    at Object.projectPathAndManagerMiddleware [as callback] (C:\Users\<user>\AppData\Roaming\nvm\v18.11.0\node_modules\npm-gui\dist\middlewares\project-path-and-manager.middleware.js:31:15)
    at Server.<anonymous> (C:\Users\<user>\AppData\Roaming\nvm\v18.11.0\node_modules\npm-gui\dist\simple-express.js:126:62)
    at Generator.next (<anonymous>)
    at fulfilled (C:\Users\<user>\AppData\Roaming\nvm\v18.11.0\node_modules\npm-gui\dist\simple-express.js:5:58)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
ERROR HANDLER Error: invalid project structure!
    at Object.projectPathAndManagerMiddleware [as callback] (C:\Users\<user>\AppData\Roaming\nvm\v18.11.0\node_modules\npm-gui\dist\middlewares\project-path-and-manager.middleware.js:31:15)
    at Server.<anonymous> (C:\Users\<user>\AppData\Roaming\nvm\v18.11.0\node_modules\npm-gui\dist\simple-express.js:126:62)
    at Generator.next (<anonymous>)
    at fulfilled (C:\Users\<user>\AppData\Roaming\nvm\v18.11.0\node_modules\npm-gui\dist\simple-express.js:5:58)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

There is also an infinity throbber rotating around the screen:

npm-gui

Happens in Firefox, Edge & Chrome.
Version 4.0.1

Unexpected end of JSON input

I get this after clicking to perform some updates

I will be waiting here to help you with your work with pleasure.
SyntaxError: Unexpected end of JSON input
at Object.parse (native)
at Object.c [as JSONparse] (C:\Users\Shawn\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:19:793)
at C:\Users\Shawn\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:3358
at i (C:\Users\Shawn\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:1:888)
at i._settlePromiseFromHandler (C:\Users\Shawn\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:19369)
at i._settlePromise (C:\Users\Shawn\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:20172)
at i._settlePromise0 (C:\Users\Shawn\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:20873)
at i._settlePromises (C:\Users\Shawn\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:207:22203)
at i._drainQueue (C:\Users\Shawn\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:7831)
at i._drainQueues (C:\Users\Shawn\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:7892)
at Immediate.drainQueues (C:\Users\Shawn\AppData\Roaming\npm\node_modules\npm-gui\npm-gui.js:206:5943)
at runCallback (timers.js:637:20)
at tryOnImmediate (timers.js:610:5)
at processImmediate [as _immediateCallback] (timers.js:582:5)

Checked in code has compilation output

There are various files checked in that are actually output from webpack, etc. (e.g. /npm-gui.js)

They shouldn't be here.
Makes it hard to understand the code too

"Unexpected token D" Error in Command Builder

When I navigate to the command builder, I keep getting the following error in the console:

[SyntaxError: Unexpected token D]
Unhandled rejection TypeError: Cannot read property 'length' of undefined
at Object.t as buildObjectFromArray
at D:\nodejs\node_modules\npm-gui\npm-gui.js:206:3591
at i (D:\nodejs\node_modules\npm-gui\npm-gui.js:1:888)
at i._settlePromiseFromHandler (D:\nodejs\node_modules\npm-gui\npm-gui.js:207:19369)
at i._settlePromise (D:\nodejs\node_modules\npm-gui\npm-gui.js:207:20172)
at i._settlePromise0 (D:\nodejs\node_modules\npm-gui\npm-gui.js:207:20873)
at i._settlePromises (D:\nodejs\node_modules\npm-gui\npm-gui.js:207:22203)
at i._drainQueue (D:\nodejs\node_modules\npm-gui\npm-gui.js:206:7831)
at i._drainQueues (D:\nodejs\node_modules\npm-gui\npm-gui.js:206:7892)
at Immediate.drainQueues as _onImmediate
at processImmediate as _immediateCallback

npm-gui hang when trying to display global dependencies or Dev dependencies tabs

OS: OSX High Sierra v. 10.13.6
npm v. 6.4.1
node v. 10.9.0
Browser: Firefox Quantum v. 63.0.1

When I click on Global dependencies or Dev dependencies button npm-gui keeps showing spinners forever and shows these console messages:

npm-gui web-server running at http://localhost:1337/{ Error: ENOENT: no such file or directory, open '�w^~)�/package.json'    at Object.openSync (fs.js:434:3)
    at Object.readFileSync (fs.js:339:35)    at /usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:170880
    at Generator.next (<anonymous>)    at z (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:168409)
    at o (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:168611)    at /usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:168670
    at new Promise (<anonymous>)
    at /usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:168552
    at L (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:171137)
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: '�w^~)�/package.json' }
{ Error: ENOENT: no such file or directory, open '�w^~)�/package.json'
    at Object.openSync (fs.js:434:3)
    at Object.readFileSync (fs.js:339:35)
    at /usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:168779
    at /usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:168846
    at Generator.next (<anonymous>)
    at z (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:168409)
    at o (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:168611)
    at /usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:168670
    at new Promise (<anonymous>)
    at /usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:168552
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: '�w^~)�/package.json' }
Error: [object Object]
    at ChildProcess.s.on (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:167021)
    at ChildProcess.emit (events.js:182:13)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
    at onErrorNT (internal/child_process.js:406:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
Error: [object Object]
    at ChildProcess.s.on (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:167021)
    at ChildProcess.emit (events.js:182:13)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
    at onErrorNT (internal/child_process.js:406:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
Error: [object Object]
    at ChildProcess.s.on (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:167021)
    at ChildProcess.emit (events.js:182:13)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
    at onErrorNT (internal/child_process.js:406:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
TypeError: Cannot read property 'match' of undefined
    at A (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:167894)
    at Object.keys.map.e (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:180536)
    at Array.map (<anonymous>)
    at /usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:180529
    at Generator.next (<anonymous>)
    at Fe (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:179825)
    at o (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:180028)
TypeError: Cannot read property 'match' of undefined
    at A (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:167894)
    at Object.keys.map.e (/usr/local/lib/node_modules/npm-gui/dist/server/main.js:535:180323)
    at Array.map (<anonymous>)

Falls over on startup, with Error

Hello, thank you for this utility and the time you have put in! I hope this has all the info you need

Details are below, but first, I have found a work around:
If I stop the page loading, as soon as I see it start to draw, I can avoid the error and select my project from the 📁OPEN input!
(it will fail again when i try to load Globals)

The Details:
when I run: npx npm-gui, the program loads, then fails and returns an error.

  • the utility builds,
  • my browser launches and loads the page,
  • the page stops loading/disappears/turns white
  • the following is returned in the terminal
    • (I have also tried using different ports with no effect)
listening on:  localhost 13377
.css
.js
Command:  npm --version, started:
.woff
Command:  npm ls -g --depth=0 --json, started:
0
Command:  yarn --version, started:
1
Command:  pnpm --version, started:
1
0
OK:
ERROR HANDLER TypeError: Cannot read properties of undefined (reading 'version')
    at Object.getInstalledVersion (C:\Users\jimr\AppData\Local\npm-cache\_npx\24be53609d161e5b\node_modules\npm-gui\dist\utils\mapDependencies.js:89:31)
    at C:\Users\jimr\AppData\Local\npm-cache\_npx\24be53609d161e5b\node_modules\npm-gui\dist\actions\dependencies\get\getGlobalDependencies.js:85:58
    at Array.map (<anonymous>)
    at C:\Users\jimr\AppData\Local\npm-cache\_npx\24be53609d161e5b\node_modules\npm-gui\dist\actions\dependencies\get\getGlobalDependencies.js:81:30
    at step (C:\Users\jimr\AppData\Local\npm-cache\_npx\24be53609d161e5b\node_modules\npm-gui\dist\actions\dependencies\get\getGlobalDependencies.js:33:23)
    at Object.next (C:\Users\jimr\AppData\Local\npm-cache\_npx\24be53609d161e5b\node_modules\npm-gui\dist\actions\dependencies\get\getGlobalDependencies.js:14:53)
    at fulfilled (C:\Users\jimr\AppData\Local\npm-cache\_npx\24be53609d161e5b\node_modules\npm-gui\dist\actions\dependencies\get\getGlobalDependencies.js:5:58)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

spawn error

I installed it locally in one project on Mac.

npm-gui panel running at http://0.0.0.0:1337/


I will be waiting here to help you with your work with pleasure.
events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: spawn /Users/path/to/node_modules/npm-gui/node_modules/nsp/bin/nsp ENOENT
    at exports._errnoException (util.js:874:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
    at onErrorNT (internal/child_process.js:344:16)
    at doNTCallback2 (node.js:439:9)
    at process._tickCallback (node.js:353:17)
node -v
v4.2.1
npm -v
3.8.3

Change default port

The Razer Chroma SDK server runs on port 1337, which means anyone with a Razer Chroma keyboard has to use a different port.

[request] Management of global packages

I'm keen to use this, but I've noted it doesn't support the management of globally installed packages.
If this feature was to be in there, I could use this as a full-time management application.

Otherwise, I am very happy to use it for it's purpose, but it's not scalable at this point.

Error while trying to establish initial connection

Just immediately after lunching the web interface, the following error is thrown:
{"errno":-4078,"code":"ECONNREFUSED","syscall":"connect","address":"185.180.207.212","port":443}
My guess it is a remote server issue??!!
Could you please investigate.

FR: nsp, outdated, update and more?

Nice and simple tools like this makes life easy.

It would be nice to have:

  • nsp: show if some packages have security loop holes.
  • outdated: highlight the outdated packages.
  • update: all bulk update.
  • task runner list? (npm script ftw, but it would also be nice to have UI that would allow to manipulate tasks of task runners?)

If yes, I am happy to help!

Span error on launch

I'd like to test it for my many projects on Node, the problem is I got an error on the moment I access it from my browser

npm-gui panel running at http://0.0.0.0:1337/


I will be waiting here to help you with your work with pleasure.
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: spawn npm ENOENT
    at exports._errnoException (util.js:896:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:182:32)
    at onErrorNT (internal/child_process.js:348:16)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)

CERT_HAS_EXPIRED error message

Checking Global packages results in an error message, bot visible in the footer of the GUI and the output in VSC.

Command: npm ls -g --depth=0 --json, started
ERROR HANDLER Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1600:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1017:8)
    at ssl.onhandshakedone (node:_tls_wrap:803:12) {
  code: 'CERT_HAS_EXPIRED'
}

Add visual indicator for unused packages

The one thing that this package is missing, that would make it truly awesome (IMO).

A visual indicator if the package seems to be unused. It doesn't need to be a guarantee. I think a quick scan for imports or requires would be sufficient.

The further analyses could be done manually.

About visual indicators. "dependency" / "devDependency" hinting would be useful as well. Babel and Eslint plugins, are usually defined as dev-dependency. A hint like: "shouldn't this be a dev-dependency?", (or the opposite) would be very useful for starting developers.

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.