Coder Social home page Coder Social logo

googlechromelabs / ndb Goto Github PK

View Code? Open in Web Editor NEW
10.9K 154.0 230.0 730 KB

ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools

License: Apache License 2.0

JavaScript 97.52% CSS 2.20% HTML 0.28%
nodejs debugging devtools

ndb's Introduction

ndb

Build Status NPM ndb package

ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools

Installation

Compatibility: ndb requires Node >=8.0.0. It works best with Node >=10.

Installation: ndb depends on Puppeteer which downloads a recent version of Chromium (~170MB Mac, ~280MB Linux, ~280MB Win).

# global install with npm:
npm install -g ndb


# alternatively, with yarn:
yarn global add ndb

Global installation may fail with different permission errors, you can find help in this thread.

Windows users: Installation may fail on Windows during compilation the native dependencies. The following command may help: npm install -g windows-build-tools

Local install

If you want ndb available from an npm script (eg. npm run debug runs ndb index.js), you can install it as a development dependency:

# local install with npm:
npm install --save-dev ndb


# alternatively, with yarn:
yarn add ndb --dev

You can then set up an npm script. In this case, ndb will not be available in your system path.

Getting Started

You can start debugging your Node.js application using one of the following ways:

  • Use ndb instead of the node command
ndb server.js

# Alternatively, you can prepend `ndb`
ndb node server.js
  • Prepend ndb in front of any other binary
# If you use some other binary, just prepend `ndb`
## npm run unit
ndb npm run unit

# Debug any globally installed package
## mocha
ndb mocha

# To use a local binary, use `npx` and prepend before it
ndb npx mocha
  • Launch ndb as a standalone application
    • Then, debug any npm script from your package.json, e.g. unit tests
# cd to your project folder (with a package.json)
ndb .
# In Sources panel > "NPM Scripts" sidebar, click the selected "Run" button 
  • Use Ctrl/Cmd + R to restart last run

  • Run any node command from within ndb's integrated terminal and ndb will connect automatically

  • Run any open script source by using 'Run this script' context menu item, ndb will connect automatically as well

  • Use --prof flag to profile your app, Ctrl/Cmd + R restarts profiling

ndb --prof npm run unit

What can I do?

ndb has some powerful features exclusively for Node.js:

  1. Child processes are detected and attached to.
  2. You can place breakpoints before the modules are required.
  3. You can edit your files within the UI. On Ctrl-S/Cmd-S, DevTools will save the changes to disk.
  4. By default, ndb blackboxes all scripts outside current working directory to improve focus. This includes node internal libraries (like _stream_wrap.js, async_hooks.js, fs.js) This behaviour may be changed by "Blackbox anything outside working dir" setting.

In addition, you can use all the DevTools functionality that you've used in typical Node debugging:

  • breakpoint debugging, async stacks (AKA long stack traces), async stepping, etc...
  • console (top-level await, object inspection, advanced filtering)
  • eager evaluation in console (requires Node >= 10)
  • JS sampling profiler
  • memory profiler

Screenshot

image

Contributing

Check out contributing guide to get an overview of ndb development.

Thanks to the 'OG' ndb

In early 2011, @smtlaissezfaire released the first serious debugger for Node.js, under the ndb package name. It's still preserved at github.com/smtlaissezfaire/ndb. We thank Scott for generously donating the package name.

ndb's People

Contributors

alexeykozy avatar alexkozy avatar connorjclark avatar d4nyll avatar jdalton avatar johnjbarton avatar kumarvi avatar mkg20001 avatar mohamed3on avatar paulirish avatar pavelfeldman avatar penguinput 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  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

ndb's Issues

Lerna-based projects generate "JavaScript heap out of memory"

Steps to reproduce

Tell us about your environment:

  • ndb version: 1.0.16
  • Platform / OS version: macOS 10.13.4 (Darwin 17.5.0)
  • Node.js version: 8.11.1

What steps will reproduce the problem?

Using Lerna, I have a directory structure as follows:

.
+-- package.json
+-- node_modules
|   +-- lerna
|   +-- babel
|   +-- etc.
+-- packages
|   +-- package-a
|   |   +-- package.json
|   |   +-- node_modules
|   |   |   +-- package-b -> ../../package-b # symlinks
|   |   |   +-- package-c -> ../../package-c
|   |   |   +-- etc. (8 packages total)
|   +-- package-b
|   |   +-- package.json
|   |   +-- node_modules
|   +-- package-c
|   |   +-- package.json
|   |   +-- node_modules
|   +-- etc.

The server begins to start -- I see logs generated by my application -- but at some point before it completes, I get the following in the console:

$ ndb packages/package-a/index.js
Debugger listening on ws://127.0.0.1:57593/7546efc2-8ffb-46f9-8ba1-8b63ae8a352c
For help see https://nodejs.org/en/docs/inspector
Debugger listening on ws://127.0.0.1:57594/f759a14c-0514-492d-ac5f-460eeb29f784
For help see https://nodejs.org/en/docs/inspector
Debugger attached.
Debugger attached.

# application startup logs
# (snipped for brevity)

<--- Last few GCs --->

[23721:0x102801e00]   118155 ms: Mark-sweep 1360.4 (1426.5) -> 1360.4 (1427.5) MB, 460.5 / 0.0 ms  allocation failure GC in old space requested
[23721:0x102801e00]   118645 ms: Mark-sweep 1360.4 (1427.5) -> 1360.4 (1420.0) MB, 489.8 / 0.0 ms  last resort GC in old space requested
[23721:0x102801e00]   119122 ms: Mark-sweep 1360.4 (1420.0) -> 1360.4 (1420.0) MB, 476.6 / 0.0 ms  last resort GC in old space requested


<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x397ff8d257c1 <JSObject>
    1: DoJoin(aka DoJoin) [native array.js:~94] [pc=0x10bd26d24e43](this=0x397f5d6022d1 <undefined>,o=0x397fc22ddb09 <JSArray[3]>,p=3,D=0x397f5d602371 <true>,z=0x397ff8d3ea79 <String[1]: ,>,y=0x397f5d6023e1 <false>)
    2: Join(aka Join) [native array.js:~119] [pc=0x10bd26d293de](this=0x397f5d6022d1 <undefined>,o=0x397fc22ddb09 <JSArray[3]>,p=3,z=0x397ff8d3ea79 <String[1]: ,>,y=0x397f5d6023e1 <f...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: node::Abort() [/Users/k3n/.nvm/versions/node/v8.11.1/bin/node]
 2: node::FatalException(v8::Isolate*, v8::Local<v8::Value>, v8::Local<v8::Message>) [/Users/k3n/.nvm/versions/node/v8.11.1/bin/node]
 3: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/Users/k3n/.nvm/versions/node/v8.11.1/bin/node]
 4: v8::internal::Factory::NewRawOneByteString(int, v8::internal::PretenureFlag) [/Users/k3n/.nvm/versions/node/v8.11.1/bin/node]
# misc. stacktrace data (changes between runs)
Abort trap: 6
$

Please include code that reproduces the issue.

Code is from a private repo, sorry :(

What is the expected result?

I'm able to debug with ndb.

What happens instead?

I can't debug with ndb.

EMFILE: too many open files

Steps to reproduce

  • ndb version: 1.06
  • Platform / OS version: macOS High Sierra 10.13.6
  • Node.js version: v10.7.0, npm v6.2.0

What steps will reproduce the problem?

npm i -g ndb
ndb test.js

Please include code that reproduces the issue.

function p1() {
	return new Promise((resolve, reject) => {
		setTimeout(() => {
			console.log('p1')
			resolve('p1');
		}, 3000);
	})
}

function p2() {
	return new Promise((resolve, reject) => {
		setTimeout(() => {
			console.log('p2')
			resolve('p2');
		}, 1000);
	})
}
function all() {
	return Promise.all([
		p1(),
		p2()
	]);
}

console.log(all().then((foo) => {
	console.log(foo);
}));

What happens instead?

ndb ~/test.js
Debugger listening on ws://127.0.0.1:50703/ac178172-a158-4ef8-bb19-f7127e29ca63
For help, see: https://nodejs.org/en/docs/inspector
Debugger listening on ws://127.0.0.1:50704/85b5cbff-d21b-4c98-bbbf-e42521324d6a
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
Debugger attached.
Promise { <pending> }
p2
2018-07-23 10:54 node[13054] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2018-07-23 10:54 node[13054] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: EMFILE: too many open files, watch
    at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:120:28)
Emitted 'error' event at:
    at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:126:12)

The debugger opens but it closes itself after 2 seconds and the error above fires.

I haven't changed my Mac ulimit or max files. I tried setting

sudo launchctl limit maxfiles 2048 unlimited

from 256 as it is the default, even went up to 6000 but still the same error.

I know in the code files are watched from changes using the Node native API, but there might be better alternatives that will not break the OS limit. In the mean time not sure how to fix this.

breakpoints set via the GUI don't stop code execution

ndb doesn't stop at breakpoints set via the GUI at all for me, using the tool versions below.

I'm running node with the --experimental-modules flag to use ES6 modules without transpiling them, so this is a "vanilla" configuration without any webpack or similar build tools in between.

I'm having the same problem with the dev tools in Chrome 66+, too, even though Chrome 65 still works fine.

Steps to reproduce

  • ndb version: v1.0.13
  • Platform / OS version: macOS 10.12.6
  • Node.js version: v10.7.0

What steps will reproduce the problem?

Launching the node app via the ndb command line tool or launching ndb first, then starting the node app from within it โ€“ it doesn't matter. Breakpoints set via the GUI don't work.

Other breakpoints, such as the launch breakpoint, do work, though.

What is the expected result?

Breakpoints set via GUI should cause execution to stop when they are hit.

What happens instead?

Breakpoints are ignored.

Network tab

https://news.ycombinator.com/item?id=17581719

this is a thing i've always wanted that i've never known i've wanted until now. seems like it should be possible given that this is dev tools ripped out of chrome but of course i'm not sure given how massively complex this project is. just wondering.

thanks for the work!

ndb ignore .git folder

I am using (and part of the team developing) a product called teambit/bit and as part of its integration with git there are a lot of javascript files inside the .git folder. When i open ndb, I get endless amount of parsing errors failing to get source maps from those files (I am developing a typescript project).

Does it make sense to ignore those files? Also, in my use case nothing is accessing those files. So I don't understand why it gives me those errors (I guess its because you try to load them a head of time, just in case)

Steps to reproduce

Create a sample TS project.
Create a folder inside .git.
throw some vanilla js files to it.
ndb ...

Tell us about your environment:

  • ndb version: v1.0.14
  • Platform / OS version: macOS 10.13.4
  • Node.js version: 10.6.0

What is the expected result?
ndb shouldn't spam console with missing source map in case the file isn't required/used in your debugging flow.

What happens instead?
Loads of errors for unused files.

Add ndb environment variable to process.env

Some loaders/utils could modify their behavior when they know they're being run in an inspector, e.g. to enable inline source maps. It would be helpful to be able to easily detect if the code is running in the inspector. One way to do this is to add an ndb value to process.env or to add its version key to process.versions.

ndb throwing an error when worker process terminates

Steps to reproduce

Tell us about your environment:

  • ndb version: reproduced on 1.0.7 and 1.0.8
  • Platform / OS version: Ubuntu 16.04
  • Node.js version: 10.6

What steps will reproduce the problem?

When my worker process what I spawned with fork is closed. ndb throws an error which seems relaed to source maps. My project is in typescript so I do have source maps.

What is the expected result?

ndb should not throw an error

What happens instead?

ndb throws an error:
(node:14426) UnhandledPromiseRejectionWarning: Error: Evaluation failed: TypeError: Cannot read property 'removeSourceMap' of undefined
at Bindings.CompilerScriptMapping._sourceMapDetached (https://ndb/ndb_app.js:3:686547)
at SDK.SourceMapManager.dispatchEventToListeners (https://ndb/ndb_app.js:3:35936)
at SDK.SourceMapManager.detachSourceMap (https://ndb/ndb_app.js:3:550767)
at SDK.DebuggerModel.executionContextDestroyed (https://ndb/ndb_app.js:3:410805)
at SDK.RuntimeModel._executionContextDestroyed (https://ndb/ndb_app.js:3:472262)
at SDK.RuntimeDispatcher.executionContextDestroyed (https://ndb/ndb_app.js:3:479963)
at Protocol.InspectorBackend._DispatcherPrototype.dispatch (https://ndb/ndb_app.js:3:129987)
at SDK.Target._onMessage (https://ndb/ndb_app.js:3:124318)
at Ndb.NodeProcessManager._onMessage (https://ndb/ndb_app.js:3:647449)
at Ndb.NodeProcessManager._onNotification (https://ndb/ndb_app.js:3:645088)
at ExecutionContext.evaluateHandle (/usr/local/lib/node_modules/ndb/node_modules/puppeteer/lib/ExecutionContext.js:97:13)
at process._tickCallback (internal/process/next_tick.js:68:7)

Reload ndb will cause EADDRINUSE in web application

Steps to reproduce

  1. Use ndb run an application listening a port.
  2. command + r (OSX) in ndb
  3. EADDRINUSE
  • ndb version: latest
  • Platform / OS version: OSX
  • Node.js version: 8.11.3

What is the expected result?
Release the port when reloading

terminal tab never opens or gives any feedback (mac os)

Steps to reproduce

ndb . then try to open terminal tab. The terminal tab will be selected and the console tab's UX will go away, but nothing replaces it, and the terminal tab's content pane doesn't respond to keyboard or mouse interaction.

Tell us about your environment:

  • ndb version: 1.0.4
  • Platform / OS version: mac OS 10.13.6
  • Node.js version: 10.3.0

What is the expected result?

Basic terminal appears that responds to user input.

What happens instead?

No terminal appears.

add support for standard CLI flags --version and --help

Steps to reproduce

ndb --version or ndb --help

Tell us about your environment:

  • ndb version: 1.0.4
  • Platform / OS version: mac OS 10.13.6
  • Node.js version: 10.3.0

What is the expected result?

The ndb CLI should respond to these standard flags by writing to stdout promptly and exit, without opening a Chromium window.

I noticed this when I went to check which version of ndb I had installed assuming that ndb --version would print out 1.0.4 and exit.

What happens instead?

For ndb --version, ndb chromium window opens and my node version is printed to the console as well as ndb's normal debugging info.

$ ndb --version
v10.3.0
Debugger listening on ws://127.0.0.1:60728/e6cddc0a-85a3-4496-9a24-9d7fddebbc5b
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.

For ndb --help, ndb chromium window opens and the node --help output is printed to the console as well as ndb's normal debugging info.

$ ndb --help
Usage: node [options] [ -e script | script.js | - ] [arguments]
       node inspect script.js [arguments]

Options:
  -                          script read from stdin (default; 
                             interactive mode if a tty)
  --                         indicate the end of node options
  --abort-on-uncaught-exception
                             aborting instead of exiting causes a
                             core file to be generated for analysis
  --experimental-modules     experimental ES Module support
                             and caching modules
...
... (redacted)
...
Debugger listening on ws://127.0.0.1:60728/e6cddc0a-85a3-4496-9a24-9d7fddebbc5b
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.

cannot attach debugger to subprocesses. error

Steps to reproduce

Tell us about your environment:

  • ndb version: latest
  • Platform / OS version: mac osx 10.12.1
  • Node.js version: 8.9.1

What steps will reproduce the problem?

Please include code that reproduces the issue.

when i debugger to this step:

var exec = require('child_process').exec;
var child = exec(cmd, {
    maxBuffer: 1024 * 1024
});

child.stdout.on('data', function(out) {
    callback(0.9, out);
});
child.stderr.on('data', function(err) {
    console.error(err);
    callback(0.9, 'nejๆ‰“ๅŒ…้”™่ฏฏ๏ผŒไฟกๆฏไธบ๏ผš' + err);
});

What is the expected result?
it should be ok, just like i do same in intellij.

What happens instead?
but it erros:

Debugger listening on ws://127.0.0.1:60041/cf319e02-496b-4ebc-82cc-ca199c2337b0
For help see https://nodejs.org/en/docs/inspector
Debugger attached.

How to solve this problem ??

Does not install properly with Yarn

Steps to reproduce

Tell us about your environment:

  • ndb version: v1.0.6, attempted v1.0.5, v1.0.4, and v1.0.3 as well
  • Platform / OS version: MacOS High Sierra 10.13.3
  • Node.js version: Attempted with both v8.9.4 and v10.7.0

What steps will reproduce the problem?

  1. Run ndb . or ndb <filename>.js
  2. ndb does indeed launch, but only shows a black window.

What is the expected result?

The proper debugger UI should show up.

What happens instead?

None of the UI renders.

screen shot 2018-07-22 at 9 00 23 pm

Does not work with node 8.4.0 and npm 6.0.0

Installing ndb throw an error in postinstall step:

[email protected] postinstall /Users//.nvm/versions/node/v8.4.0/lib/node_modules/ndb
node install.js

(node:90479) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError [ERR_INVALID_ARG_TYPE]: The "original" argument must be of type function
(node:90479) [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.

After that everytime I try to run ndb command the following error occured:

internal/util.js:206
throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'original', 'function');
^

TypeError [ERR_INVALID_ARG_TYPE]: The "original" argument must be of type function
at Object.promisify (internal/util.js:206:11)
at Object. (/Users//.nvm/versions/node/v8.4.0/lib/node_modules/ndb/ndb.js:21:25)
at Module._compile (module.js:573:30)
at Object.Module._extensions..js (module.js:584:10)
at Module.load (module.js:507:32)
at tryModuleLoad (module.js:470:12)
at Function.Module._load (module.js:462:3)
at Function.Module.runMain (module.js:609:10)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:598:3

Tell us about your environment:

  • ndb version: 1.0.9
  • Platform / OS version: macOS High Sierra 10.13.6
  • Node.js version: 8.4.0

What steps will reproduce the problem?

Please include code that reproduces the issue.

  1. run npm install -g ndb
  2. run ndb

What is the expected result?
The DevTools should be opened

What happens instead?
Error is thrown in the console

https://github.com/GoogleChromeLabs

Steps to reproduce

Tell us about your environment:

  • ndb version:
  • Platform / OS version:
  • Node.js version:

What steps will reproduce the problem?

Please include code that reproduces the issue.

What is the expected result?

What happens instead?

Feature Request: Handle TypeScript Better

Steps to reproduce

Tell us about your environment:

  • ndb version: v1.0.6
  • Platform / OS version: Ubuntu 16.04
  • Node.js version: v8.10.0

What steps will reproduce the problem?

Please include code that reproduces the issue.

I followed this guide, hoping it would work out essentially the same. It _kind of _ works. I opened ndb with ndb . in the root of my project, then ran one of my npm scripts from the ndb UI. The script was ts-node src/index.ts (I had to move my typings around a bit before this would work), and it ran just fine from inside ndb. Unfortunately, after starting the script, I could not set breakpoints in any of the files listed by ndb. However, if I stopped the script, set a breakpoint in one of the .ts files (specifically, src/inxex.ts), then restarted the script, ndb would start up and open a new file. This file matches what the article linked above led me to expect - the tab says the file is index.ts?[sm]. However, I cannot actually select this or other files from the list of files presented in the UI by ndb.

At this point, with the already-opened index.ts?[sm] file, I can move the breakpoint around and it appears to work fine.

What is the expected result?
If sourcemaps are available, the sourcemapped files should be available instead (or at least in addition to) the normal .ts files.

What happens instead?
They are not listed in the UI.

Failed to install ndb

Steps to reproduce

jsmith@jsmith-hp1:~/projs/$ sudo npm install -g ndb
/usr/bin/ndb -> /usr/lib/node_modules/ndb/ndb.js

> [email protected] install /usr/lib/node_modules/ndb/node_modules/deasync
> node ./build.js

`linux-x64-node-8` exists; testing
Binary is fine; exiting

> [email protected] install /usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt
> prebuild-install || node scripts/install.js

prebuild-install WARN install EACCES: permission denied, mkdir '/usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt/build'
gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt/build'
gyp ERR! System Linux 3.19.0-65-generic
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt
gyp ERR! node -v v8.4.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 

Tell us about your environment:

  • ndb version: n/a (initial installation)
  • Platform / OS version: ubuntu 14.04 64bit.
  • Node.js version: 8.4.0

What steps will reproduce the problem?

Seeing the error mkdir '/usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt/build', I tried to
manually created directory '/usr/lib/node_modules/ndb/node_modules/node-pty-prebuilt/' but I got the same error when I tried to install it again.

What is the expected result?

What happens instead?

Nothing but a flashing cursor when I get ndb installed

I am running in WSL, Ubuntu 16.04.4 LTS on Windows 10 1803 and so far can't get ndb to anything more than give me a flashing prompt once I get it installed (though that appears inconsistent and ineffectual at the moment).

I tried the following with my default node/npm install, then I cleaned and installed nvm and redid things there to get yet ANOTHER result. So, no ndb goodness for me on this machine at least (going to try my laptop in a moment).

Am I having an issue with my environment somehow (how to troubleshoot?) or is this ndb and what's going on?

Environment

$ node -v
v8.11.3
$ npm -v
5.6.0

I tried npm i -g ndb && ndb lib/ which is all I expected to need, but it just sat there so I tried the following (I've cleaned it a bit, but no relevant steps were omitted):

After first install attempt

rainabba$ ndb -v
[STUCK HERE]
^C
rainabba$ which ndb
/usr/local/bin/ndb
$ /home/rainabba/npm/bin/ndb -v
[STUCK HERE]
^C
$ node /home/rainabba/npm/bin/ndb -v
[STUCK HERE]
^C

Notice that I get a different result with the following 2 attempts to npm install -g ndb. In one case, there's an error with uglify-es in the postinstall script and in the other, I see puppeteer install and no errors. In either case, ndb does nothing for me. No errors, not log output, no windows. Nada.

rainabba$ npm install -g ndb && which ndb
/home/rainabba/npm/bin/ndb -> /home/rainabba/npm/lib/node_modules/ndb/ndb.js

> [email protected] postinstall /home/rainabba/npm/lib/node_modules/ndb
> node install.js

module.js:549
    throw err;
    ^

Error: Cannot find module 'uglify-es'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/rainabba/npm/lib/node_modules/ndb/scripts/build_release_application.js:12:18)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node install.js`
npm ERR! Exit status 1
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/rainabba/.npm/_logs/2018-07-23T17_15_34_065Z-debug.log
rainabba$ npm install -g ndb && which ndb
/home/rainabba/npm/bin/ndb -> /home/rainabba/npm/lib/node_modules/ndb/ndb.js

> [email protected] install /home/rainabba/npm/lib/node_modules/ndb/node_modules/deasync
> node ./build.js

`linux-x64-node-8` exists; testing
Binary is fine; exiting

> [email protected] install /home/rainabba/npm/lib/node_modules/ndb/node_modules/node-pty-prebuilt
> prebuild-install || node scripts/install.js


> [email protected] install /home/rainabba/npm/lib/node_modules/ndb/node_modules/puppeteer
> node install.js

Downloading Chromium r571375 - 101.4 Mb [====================] 100% 0.0s
Chromium downloaded to /home/rainabba/npm/lib/node_modules/ndb/node_modules/puppeteer/.local-chromium/linux-571375

> [email protected] postinstall /home/rainabba/npm/lib/node_modules/ndb/node_modules/node-pty-prebuilt
> node scripts/post-install.js


> [email protected] postinstall /home/rainabba/npm/lib/node_modules/ndb
> node install.js

+ [email protected]
added 182 packages in 12.196s
/usr/local/bin/ndb
rainabba$ ndb lib/index.js
_
[Just sits here and no new windows come up]

Install nvm (cleanup a bit first), then repeat the attempt

# Cleanup previous attempts to install nvm using apt, which resulted in me seeing the message leading me to the script below
rainabba$ sudo apt remove nvm
# Google nvm and find the following command at https://github.com/creationix/nvm#install-script
rainabba$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
# Cleanup recommended from the nvm install script
rainabba$ nvm use system && npm uninstall -g ndb forever grunt-cli ndb nodemon
rainabba$ npm -v
5.6.0
rainabba$ npm install -g ndb
/home/rainabba/npm/bin/ndb -> /home/rainabba/npm/lib/node_modules/ndb/ndb.js

> [email protected] install /home/rainabba/npm/lib/node_modules/ndb/node_modules/deasync
> node ./build.js

`linux-x64-node-8` exists; testing
Binary is fine; exiting

> [email protected] install /home/rainabba/npm/lib/node_modules/ndb/node_modules/node-pty-prebuilt
> prebuild-install || node scripts/install.js


> [email protected] install /home/rainabba/npm/lib/node_modules/ndb/node_modules/puppeteer
> node install.js

Downloading Chromium r571375 - 101.4 Mb [====================] 100% 0.0s
Chromium downloaded to /home/rainabba/npm/lib/node_modules/ndb/node_modules/puppeteer/.local-chromium/linux-571375

> [email protected] postinstall /home/rainabba/npm/lib/node_modules/ndb/node_modules/node-pty-prebuilt
> node scripts/post-install.js


> [email protected] postinstall /home/rainabba/npm/lib/node_modules/ndb
> node install.js

+ [email protected]
added 182 packages in 15.733s
rainabba$ ndb lib/
(node:1576) UnhandledPromiseRejectionWarning: Error: Chromium revision is not downloaded. Run "npm install" or "yarn install"
    at assert (/usr/local/lib/node_modules/ndb/node_modules/puppeteer/lib/helper.js:282:11)
    at Function.launch (/usr/local/lib/node_modules/ndb/node_modules/puppeteer/lib/Launcher.js:106:7)
    at Function.launch (/usr/local/lib/node_modules/ndb/node_modules/puppeteer/lib/Puppeteer.js:26:21)
    at main (/usr/local/lib/node_modules/ndb/ndb.js:35:35)
    at <anonymous>
(node:1576) 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(). (rejection id: 3)
(node:1576) [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.
rainabba$ npm install
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but npm-shrinkwrap.json was generated for lockfileVersion@0. I'll try to do my best with it!
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but npm-shrinkwrap.json was generated for lockfileVersion@0. I'll try to do my best with it!
npm WARN [email protected] requires a peer of webpack@^1.0.0 || ~2.2.0-rc.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

up to date in 18.262s
rainabba$ ndb lib/
(node:1629) UnhandledPromiseRejectionWarning: Error: Chromium revision is not downloaded. Run "npm install" or "yarn install"
    at assert (/usr/local/lib/node_modules/ndb/node_modules/puppeteer/lib/helper.js:282:11)
    at Function.launch (/usr/local/lib/node_modules/ndb/node_modules/puppeteer/lib/Launcher.js:106:7)
    at Function.launch (/usr/local/lib/node_modules/ndb/node_modules/puppeteer/lib/Puppeteer.js:26:21)
    at main (/usr/local/lib/node_modules/ndb/ndb.js:35:35)
    at <anonymous>
(node:1629) 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(). (rejection id: 3)
(node:1629) [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.

ndb wont start

Steps to reproduce

$ npm i -g ndb

... snip ...
+ [email protected]
added 182 packages from 110 contributors in 22.355s

$ ndb

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

Error: read ECONNRESET
    at Pipe.onread (net.js:660:25)
Emitted 'error' event at:
    at emitErrorNT (intenal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)

Tell us about your environment:

  • ndb version: 1.0.3 (tried 10.0, 1.0.1, and 1.0.2)
  • Platform / OS version: Debian 9 testing
  • Node.js version: 10.7 (tried 10.6 and 10.4.1)

What is the expected result?

ndb to start

What happens instead?

ECONNRESET error

Thanks for this project. Looking forward to try it out!

No feedback on SyntaxError

Steps to reproduce

Tell us about your environment:

  • ndb version: 1.0.18
  • Platform / OS version: ubuntu 17.04
  • Node.js version: 8.9.4

What steps will reproduce the problem?

// File: test.js
test()
function test() {
 debugger {
}
  1. ndb test.js

What is the expected result?
Some feedback that there is a syntax error

What happens instead?
No feedback, nothing happens

Question: How to map ./src to ./dist for transpiled code?

Amazing project please keep up the fantastic work supporting the Node.js community.

My build process runs babel (ES6 -> ES5 e.g. ./src builds to ./dist and Node serves from dist), it generates source maps and uses the source mapping in Node to allow me to see generated runtime errors indexed against original ES6 src files.

Can I ask ndb to also read those sourcemaps and allow me to set e.g. breakpoints in ./src and do debugging there?

Thanks in advance.

Install error

`
...

node scripts/install.js

(node:40116) UnhandledPromiseRejectionWarning: Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/ndb/node_modules/ndb-node-pty-prebuilt/build'
(node:40116) 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(). (rejection id: 1)
(node:40116) [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.

[email protected] install /usr/local/lib/node_modules/ndb/node_modules/puppeteer
node install.js

ERROR: Failed to download Chromium r575458! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
{ Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/ndb/node_modules/puppeteer/.local-chromium'
errno: -13,
code: 'EACCES',
syscall: 'mkdir',
path: '/usr/local/lib/node_modules/ndb/node_modules/puppeteer/.local-chromium' }
`

Steps to reproduce

sudo npm install -g ndb

Tell us about your environment:

Mac OS 10.13.4

  • ndb version: latest
  • Platform / OS version: Mac
  • Node.js version: 8.11.2

What steps will reproduce the problem?

Try to install using npm with or without sudo...

What is the expected result?

Should install

What happens instead?

Throws some permission errors...

CoogleLabs

Steps to reproduce

Tell us about your environment:

  • ndb version:
  • Platform / OS version:
  • Node.js version:

What steps will reproduce the problem?

Please include code that reproduces the issue.

What is the expected result?

What happens instead?

ESM module --experimental-modules error

Steps to reproduce

Tell us about your environment:

  • ndb version: 1.0.9
  • Platform / OS version: Windows 7
  • Node.js version: 8.11.1

What steps will reproduce the problem?

// index.mjs
import './hello';
import './world';

// hello.mjs
console.log('hello');

// world.mjs
import './hello';
console.log('world');

Please include code that reproduces the issue.

$ ndb node --experimental-modules index.mjs

What is the expected result?

// log
hello
world

What happens instead?

// error
module.js:468 Error: linking error, dependency promises must be resolved on instantiate
    at checkComplete (internal/loader/ModuleJob.js:75:27)
    at moduleJob.linked.then (internal/loader/ModuleJob.js:58:11)
    at <anonymous>
catch @ module.js:468
Promise rejected (async)
Module._load @ module.js:467
Module.runMain @ module.js:693
startup @ bootstrap_node.js:188
(anonymous) @ bootstrap_node.js:609
Show 5 more blackboxed frames

I try:

// index.mjs
import './world';
import './hello';

then it works.

or if I don`t use ndb, it works well.

$ node --experimental-modules index.mjs

REPL process is not stopped when ndb window is closed.

Steps to reproduce

Tell us about your environment:

  • ndb version: [email protected]
  • Platform / OS version: Darwin Kernel Version 16.7.0: Tue Jan 30 11:27:06 PST 2018; root:xnu-3789.73.11~1/RELEASE_X86_64
  • Node.js version: v8.11.3

What steps will reproduce the problem?

Please include code that reproduces the issue.

  1. Run ndb
  2. Close ndb window
  3. Run ps | grep ndb/lib/repl

What is the expected result?
No processes should be shown.

What happens instead?
The node process running the repl is still running.

Feature Request: Whitelist some packages from node_modules

We have custom internal packages we use in our company. Most of the time I need to put a breakpoint in these packages while debugging.

All our packages are scoped, so if there was a way to whitelist node_modules/@scope it would be very useful.

At the moment, I can't see anything under node_modules.

ndb doesn't respect inline sourcemaps

When I load the inspector in MacOS with Node 10.7.0 it launches showing the raw source file instead of the mapped file (as the default inspector (non-ndb experience) does.

You can repro this with

npm install esm
touch foo.js

Make foo.js:

import { log } from "console"

setTimeout(() => {
  debugger
  log("hi")
}, 2000)

Then

ndb node -r esm ./foo.js

With the default experience of node --inspect -r esm ./foo.js it's:

Update:

Maybe related to #57.

Update:

Tested 1.0.13 and it's still an issue.

Update:

Turns out I didn't have the inline source maps enabled ๐Ÿคฆโ€โ™‚๏ธ

Reload on file change?

I like to use nodemon as it watches and restarts the script on change.

I could do nodemon --exec "ndb server.js" and that works.
But the problem is that if I change a file in the ndb debugger - nodemon detects the changed file and restarts the whole app.

I would very much prefer that ndb simply restarts the evaluation of the current file, as it currently does.

A nice feature would be if ndb implemented file watching without reloading the entire app when a file within the app is modified.

Other than that small grudge it's really slick! :)

Attach from outside (standalone) ndb

Is there a way to leave ndb running and have scripts executed with node --inspect be picked up by it?
My current workflow is I open a standalone Node inspector from within Chrome, and leave it running. As I run my scripts that debugger attaches to them.

I can't figure out how to get a standalone ndb to attach to my script launched with node --inspect from an external terminal. Yes I know I can click specific npm scripts but my workflow is more complicated than clicking a script to run. I use commands to automatically launch build scripts when the filesystem changes, like git ls **/*.ts | entr npm run debug (which runs node --inspect).

Feature request: Start new sessions in ndb terminal

I love that ndb provides a CLI โ€” it opens the door to ndb being a full JavaScript IDE! I think it can be tweaked to be even more useful than it already is.

Steps to reproduce

Tell us about your environment:

  • ndb version: 1.0.6
  • Platform / OS version: OS X 10.13.6
  • Node.js version: v8.9.4

What steps will reproduce the problem?

In ndb's terminal, run exit. The session is ended and cannot be restarted without reloading ndb.

Please include code that reproduces the issue.

  1. exit, or ctrl+d

What is the expected result?

I can start a new shell session either manually or automatically.

What happens instead?

I have to restart ndb to get a new session.

[regression] exception in livelocation update

Exception on suspendAllTargets (regressed around the " added file system based source mapping").

FileSystemMapping.js:45 Uncaught (in promise) TypeError: Cannot read property 'sourceURL' of null
    at Ndb.FileSystemMapping.rawLocationToUILocation (FileSystemMapping.js:45)
    at Bindings.DebuggerWorkspaceBinding.rawLocationToUILocation (DebuggerWorkspaceBinding.js:110)
    at Bindings.DebuggerWorkspaceBinding.Location.uiLocation (DebuggerWorkspaceBinding.js:374)
    at Bindings.DebuggerWorkspaceBinding.StackTraceTopFrameLocation.uiLocation (DebuggerWorkspaceBinding.js:415)
    at Components.Linkifier._updateAnchor (Linkifier.js:298)
    at Bindings.DebuggerWorkspaceBinding.StackTraceTopFrameLocation.update (LiveLocation.js:42)
    at Bindings.DebuggerWorkspaceBinding.StackTraceTopFrameLocation._updateLocation (DebuggerWorkspaceBinding.js:449)
    at Promise.resolve.then (utilities.js:1315)

screen shot 2018-08-04 at 10 03 34 am

Wait at end does not work

When I check "Wait at end" I can see "Waiting for the debugger to disconnect" in terminal, but there is no execution context in the console, there is no way to profile entire app run.

'C:\Program' is not recognized as an internal or external command

Steps to reproduce

Tell us about your environment:

  • ndb version: 1.0.4
  • Platform / OS version: Win10ProX64
  • Node.js version: 10.5

What steps will reproduce the problem?

Please include code that reproduces the issue.

Have a simple file

index.js

console.log('hi');
  1. Run ndb node index.js

What is the expected result?

It should not display that error

What happens instead?

While launching it shows this error:

ndb node index.js
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Debugger listening on ws://127.0.0.1:65091/76c88dbd-da7b-4b65-bc3f-f629b3d13206
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.

Can't step onto next expression, always jumps into next function

Steps to reproduce

Tell us about your environment:

  • ndb version: 1.0.5
  • Platform / OS version: Windows 10
  • Node.js version: 9.8.0

What steps will reproduce the problem?

  1. Make a breakpoint on the first line of your function.
  2. Try to step onto the next line with F10 or button.

What is the expected result?
As in the browser it should jump to the next line of the function.

What happens instead?
The debugger jumps into the next function or the script is executed normally (like in the example below)

e.g make a breakpoint on variable b and try to step onto the next line.

function a() {
  const b = true // make breakpoint
  const c = false
}

a()

ndb doesn't work when debugging gitbook-cli

Steps to reproduce

Tell us about your environment:

  • ndb version: 1.0.6
  • Platform / OS version: macOS High Sierra 10.13.6 17G65 x86_64
  • Node.js version: v10.5.0

What steps will reproduce the problem?

Please include code that reproduces the issue.

  1. vim /usr/local/lib/node_modules/gitbook-cli/bin/gitbook.js
  2. insert debugger in the front of code
  3. ndb node /usr/local/lib/node_modules/gitbook-cli/bin/gitbook.js

What is the expected result?
program stops at debugger;

What happens instead?
program goes, ignores debugger

gitbook.js after edit

image

program result:
image

devtools:
image

Full screen on OS X freezes ndb

This is a very exciting and useful project, thank you for sharing this with the community!

Steps to reproduce

Tell us about your environment:

  • ndb version: 1.0.3
  • Platform / OS version: OS X 10.13.5
  • Node.js version: v8.9.4

What steps will reproduce the problem?

Launch ndb with ndb . in any JS project, and then fullscreen the app via the green OS button in the upper-left of the app frame. Give it a few seconds and observe the endless OS X beachball until you ctrl+c the CLI command that launched it.

Please include code that reproduces the issue.

  1. ndb .

What is the expected result?

The app does not freeze.

What happens instead?

The app freezes.

docker containers support?

Want to use this wonderful toolkit... but I have my project inside the docker container (maybe like many other developers nowadays).

But, as I can see - ndb works with puppeteer and starts some chrome instance with ui - which is unacceptable inside docker.

Q: do we have any ways to debug js files inside docker? (I even agree to install ndb both on host and docker envs)

For now I use chrome debugger and forward 9229 port from container.

Welcome message in the console not visible in light theme

  • ndb version: 1.0.9
  • Platform / OS version: macOS High Sierra 10.13.6
  • Node.js version: 10.7.0

What steps will reproduce the problem?

Please include code that reproduces the issue.

  1. Run ndb server.js
  2. Change the theme to light

What is the expected result?
The welcome message: "Welcome to the ndb REPL!" is with white text and is not readable on the white background.

What happens instead?
The message white on white background and is not visible

(node:45413) [DEP0018] Deprecation

Steps to reproduce

Tell us about your environment:

  • ndb version:
  • Platform / OS version:
  • Node.js version:

What steps will reproduce the problem?

Please include code that reproduces the issue.

What is the expected result?

What happens instead?

Help

Steps to reproduce

Tell us about your environment:

  • ndb version:
  • Platform / OS version:
  • Node.js version:

What steps will reproduce the problem?

Please include code that reproduces the issue.

What is the expected result?

What happens instead?

install error

I hava a problem when I installed ndb,here is the error message
TypeError [ERR_INVALID_ARG_TYPE]: The "original" argument must be of type function

There is no way to profile my app run

I'd like to be able to easily profile my package.json target end-to-end.
I'd like to also be able to provide command line arguments for the profile session (from terminal?).

install error

npm install -g ndb

Steps to reproduce

Tell us about your environment:

  • ndb version:
  • Platform / OS version:
    MacOS 10.13.4
  • Node.js version:
    v8.2.1
    What steps will reproduce the problem?
    npm install -g ndb

What is the expected result?
Successful installation

What happens instead?

silly postinstall [email protected]
4741 info lifecycle [email protected]~postinstall: [email protected]
4742 verbose lifecycle [email protected]~postinstall: unsafe-perm in lifecycle true
4743 verbose lifecycle [email protected]~postinstall: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/usr/local/lib/node_modules/ndb/node_modules/.bin:/usr/local/lib/node_modules/.bin:/Users/wenjiasen/bin:/Users/wenjiasen/go/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/wenjiasen/bin:/Users/wenjiasen/go/bin:/usr/local/Cellar/gradle/4.3.1/libexec/bin:/Users/wenjiasen/Library/Android/sdk/tools:/Users/wenjiasen/Library/Android/sdk/platform-tools:/usr/local/Cellar/gradle/4.3.1/libexec/bin:/Users/wenjiasen/Library/Android/sdk/tools:/Users/wenjiasen/Library/Android/sdk/platform-tools
4744 verbose lifecycle [email protected]~postinstall: CWD: /usr/local/lib/node_modules/ndb
4745 silly lifecycle [email protected]~postinstall: Args: [ '-c', 'node install.js' ]
4746 silly lifecycle [email protected]~postinstall: Returned: code: 1  signal: null
4747 info lifecycle [email protected]~postinstall: Failed to exec postinstall script
4748 verbose unlock done using /Users/wenjiasen/.npm/_locks/staging-3a08f0df5026584d.lock for /usr/local/lib/node_modules/.staging
4749 verbose stack Error: [email protected] postinstall: `node install.js`
4749 verbose stack Exit status 1
4749 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
4749 verbose stack     at emitTwo (events.js:125:13)
4749 verbose stack     at EventEmitter.emit (events.js:213:7)
4749 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
4749 verbose stack     at emitTwo (events.js:125:13)
4749 verbose stack     at ChildProcess.emit (events.js:213:7)
4749 verbose stack     at maybeClose (internal/child_process.js:921:16)
4749 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
4750 verbose pkgid [email protected]
4751 verbose cwd /Users/wenjiasen/Documents/develop/code/web
4752 verbose Darwin 17.5.0
4753 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "ndb"
4754 verbose node v8.2.1
4755 verbose npm  v5.6.0
4756 error code ELIFECYCLE
4757 error errno 1
4758 error [email protected] postinstall: `node install.js`
4758 error Exit status 1
4759 error Failed at the [email protected] postinstall script.
4759 error This is probably not a problem with npm. There is likely additional logging output above.
4760 verbose exit [ 1, true ]

Add folder to workspace doesn't work

It seems that Add folder to workspace doesn't work as of now under Ubuntu 16.04. I've didn't have the chance to test it under another linux flavor yet.

Steps to reproduce

Tell us about your environment:

  • ndb version: v1.0.15
  • Platform / OS version: Linux x64 / Ubuntu 16.04 kernel 4.4.0-131-generic
  • Node.js version: 8.10.0

What steps will reproduce the problem?

Either:

  • click on Add folder to Workspace button
  • right click in the workspace explorer and select Add project to workspace.

What is the expected result?

That a modal window open allowing the user to select a folder

What happens instead?

Nothing

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.