oslabs-beta / QLens

QLens is an electron app which dynamically generates GraphQL Schemas and Mongo Schema visualization. QLens significantly cuts development time by automating the formation of their GraphQL schemas based on information fetched from their non-relational database.
http://qlensapp.com
118 stars 15 forks source link

Are there any extra instructions for running it on Linux? #40

Open slacktracer opened 3 years ago

slacktracer commented 3 years ago

To run it on Ubuntu am I supposed to just download source, npm i deps and npm start it?

Doing that it just hangs after entering the (local) MonggoDB URI. No errors on the console or anything.

My point is, any extra recommendations on how to make it work on Linux? I'm not sure what to do next.

Judanator commented 3 years ago

Hi! Did you globally install extract-mongo-schema? npm -g install extract-mongo-schema

slacktracer commented 3 years ago

@Judanator

I actually did.

slacktracer@determinist:~$ npm ls --global --depth=0
/home/slacktracer/.nvm/versions/node/v14.15.5/lib
├── extract-mongo-schema@0.2.10
├── npm@6.14.11
└── yarn@1.22.10

Then:

slacktracer@determinist:~/Downloads/QLens-1.1.0$ npm start
]
> QLens@1.1.0 start /home/slacktracer/Downloads/QLens-1.1.0
> webpack serve --hot --host localhost --config=./webpack.dev.config.js --mode development

ℹ 「wds」: Project is running at http://localhost:8080/
ℹ 「wds」: webpack output is served from /
ℹ 「wds」: Content not from webpack is served from /home/slacktracer/Downloads/QLens-1.1.0/dist
listening on port 3000
(node:7634) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron.  See https://github.com/electron/electron/issues/23506 for more information
ℹ 「wdm」: wait until bundle finished: /index.html
(node:7614) [DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning: Compilation.assets will be frozen in future, all modifications are deprecated.
BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation.
    Do changes to assets earlier, e. g. in Compilation.hooks.processAssets.
    Make sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.
(Use `node --trace-deprecation ...` to show where the warning was created)
ℹ 「wdm」: asset main.js 3.01 MiB [emitted] (name: main) 1 related asset
asset index.html 225 bytes [emitted]
runtime modules 25.7 KiB 13 modules
modules by path ./node_modules/ 2.67 MiB
  javascript modules 2.58 MiB 117 modules
  json modules 86.7 KiB 8 modules
modules by path ./app/src/ 39 KiB
  modules by path ./app/src/Components/*.js 13.7 KiB 11 modules
  modules by path ./app/src/public/*.css 16.3 KiB 6 modules
  modules by path ./app/src/*.js 1.06 KiB 2 modules
  ./app/src/containers/Container.js 7.93 KiB [built] [code generated]
9 modules
webpack 5.20.0 compiled successfully in 6316 ms
ℹ 「wdm」: Compiled successfully.
APPIMAGE env is not defined, current application is not an AppImage
(node:7634) ExtensionLoadWarning: Warnings loading extension at /home/slacktracer/.config/QLens/extensions/fmkadmapgofadopljbjfkapdkoienihi: Unrecognized manifest key 'browser_action'. Unrecognized manifest key 'minimum_chrome_version'. Unrecognized manifest key 'update_url'. Cannot load extension with file or directory name _metadata. Filenames starting with "_" are reserved for use by the system. 

I'm considering trying to debug it again. Tried it at first but got lost on the IPC Renderer call. :sweat_smile:

Judanator commented 3 years ago

Hm, is your MongoDB URI accessible everywhere or is it limited to only your IP address?

We will definitely look into compatibility issues with Ubuntu. We've only tested for Mac and Windows so far, but we'll definitely take a look and get back to you!

slacktracer commented 3 years ago

@Judanator Something changed...

I'm trying to connect to a local database: mongodb://localhost:27017/twiage

On first try there is a timeout error and, after refreshing the interface, on the second try there is a deleted file error...

slacktracer@determinist:~/Downloads/QLens-1.1.0$ npm start

> QLens@1.1.0 start /home/slacktracer/Downloads/QLens-1.1.0
> webpack serve --hot --host localhost --config=./webpack.dev.config.js --mode development

ℹ 「wds」: Project is running at http://localhost:8080/
ℹ 「wds」: webpack output is served from /
ℹ 「wds」: Content not from webpack is served from /home/slacktracer/Downloads/QLens-1.1.0/dist
listening on port 3000
(node:7255) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron.  See https://github.com/electron/electron/issues/23506 for more information
ℹ 「wdm」: wait until bundle finished: /index.html
(node:7236) [DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning: Compilation.assets will be frozen in future, all modifications are deprecated.
BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation.
    Do changes to assets earlier, e. g. in Compilation.hooks.processAssets.
    Make sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.
(Use `node --trace-deprecation ...` to show where the warning was created)
ℹ 「wdm」: asset main.js 3.01 MiB [emitted] (name: main) 1 related asset
asset index.html 225 bytes [emitted]
runtime modules 25.7 KiB 13 modules
modules by path ./node_modules/ 2.67 MiB
  javascript modules 2.58 MiB 117 modules
  json modules 86.7 KiB 8 modules
modules by path ./app/src/ 39 KiB
  modules by path ./app/src/Components/*.js 13.7 KiB 11 modules
  modules by path ./app/src/public/*.css 16.3 KiB 6 modules
  modules by path ./app/src/*.js 1.06 KiB 2 modules
  ./app/src/containers/Container.js 7.93 KiB [built] [code generated]
9 modules
webpack 5.20.0 compiled successfully in 5578 ms
ℹ 「wdm」: Compiled successfully.
APPIMAGE env is not defined, current application is not an AppImage
(node:7255) ExtensionLoadWarning: Warnings loading extension at /home/slacktracer/.config/QLens/extensions/fmkadmapgofadopljbjfkapdkoienihi: Unrecognized manifest key 'browser_action'. Unrecognized manifest key 'minimum_chrome_version'. Unrecognized manifest key 'update_url'. Cannot load extension with file or directory name _metadata. Filenames starting with "_" are reserved for use by the system. 
(node:7255) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(node:7255) UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkTimeoutError: connection timed out
    at connectionFailureError (/home/slacktracer/Downloads/QLens-1.1.0/node_modules/mongodb/lib/core/connection/connect.js:342:14)
    at Socket.<anonymous> (/home/slacktracer/Downloads/QLens-1.1.0/node_modules/mongodb/lib/core/connection/connect.js:310:16)
    at Object.onceWrapper (events.js:421:28)
    at Socket.emit (events.js:315:20)
    at Socket._onTimeout (net.js:482:8)
    at listOnTimeout (internal/timers.js:549:17)
    at processTimers (internal/timers.js:492:7)]
    at Pool.<anonymous> (/home/slacktracer/Downloads/QLens-1.1.0/node_modules/mongodb/lib/core/topologies/server.js:438:11)
    at Pool.emit (events.js:315:20)
    at /home/slacktracer/Downloads/QLens-1.1.0/node_modules/mongodb/lib/core/connection/pool.js:562:14
    at /home/slacktracer/Downloads/QLens-1.1.0/node_modules/mongodb/lib/core/connection/pool.js:995:11
    at /home/slacktracer/Downloads/QLens-1.1.0/node_modules/mongodb/lib/core/connection/connect.js:32:7
    at callback (/home/slacktracer/Downloads/QLens-1.1.0/node_modules/mongodb/lib/core/connection/connect.js:280:5)
    at Socket.<anonymous> (/home/slacktracer/Downloads/QLens-1.1.0/node_modules/mongodb/lib/core/connection/connect.js:310:7)
    at Object.onceWrapper (events.js:421:28)
    at Socket.emit (events.js:315:20)
    at Socket._onTimeout (net.js:482:8)
(node:7255) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:7255) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
file Deleted

On the second try I see my collections are there now at least...

Screenshot from 2021-03-04 09-25-51

Screenshot from 2021-03-04 09-26-09

slacktracer commented 3 years ago

@Judanator Anyway, thank you for your time and attention. This a very interesting project. Keep up the good work. Thank you very much again.