rwaldron / johnny-five

JavaScript Robotics and IoT programming framework, developed at Bocoup.
http://johnny-five.io
Other
13.3k stars 1.77k forks source link

BME280 initialization failure, nodejs, altimeter #1657

Closed ksteinberg closed 2 years ago

ksteinberg commented 4 years ago

New BME280 installed in i2C bus on Raspberry pi 3+. Throwing an init error in the i2cWrite call of the j5-io/index.js file.

Nodejs Code: dischargeRH = new five.Multi({ controller: "BME280" });

Error: /home/pi/Public/agro/node_modules/j5-io/dist/index.js:480 throw new Error('Invalid arguments'); ^

Error: Invalid arguments at J5IO.i2cWrite (/home/pi/Public/agro/node_modules/j5-io/dist/index.js:480:19) at EventEmitter.value (/home/pi/Public/agro/node_modules/johnny-five/lib/imu.js:1554:12) at Object.Drivers.get (/home/pi/Public/agro/node_modules/johnny-five/lib/imu.js:2464:12) at Altimeter.value (/home/pi/Public/agro/node_modules/johnny-five/lib/altimeter.js:106:36) at new Altimeter (/home/pi/Public/agro/node_modules/johnny-five/lib/altimeter.js:189:10) at /home/pi/Public/agro/node_modules/johnny-five/lib/imu.js:33:24 at Array.forEach () at IMU.Components (/home/pi/Public/agro/node_modules/johnny-five/lib/imu.js:29:19) at IMU.value (/home/pi/Public/agro/node_modules/johnny-five/lib/imu.js:2617:20) at new IMU (/home/pi/Public/agro/node_modules/johnny-five/lib/imu.js:2707:10)

Hardware: https://www.sparkfun.com/products/13676

Environment: npm version { agro: '1.0.0', npm: '6.13.6', ares: '1.15.0', brotli: '1.0.7', cldr: '36.0', icu: '65.1', llhttp: '2.0.1', modules: '79', napi: '5', nghttp2: '1.40.0', node: '13.7.0', openssl: '1.1.1d', tz: '2019c', unicode: '12.1', uv: '1.34.1', v8: '7.9.317.25-node.28', zlib: '1.2.11' }

cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

npm list agro@1.0.0 /home/pi/Public/agro ├─┬ axios@0.19.2 │ └─┬ follow-redirects@1.5.10 │ └─┬ debug@3.1.0 │ └── ms@2.0.0 deduped ├─┬ body-parser@1.19.0 │ ├── bytes@3.1.0 │ ├── content-type@1.0.4 │ ├─┬ debug@2.6.9 │ │ └── ms@2.0.0 │ ├── depd@1.1.2 │ ├─┬ http-errors@1.7.2 │ │ ├── depd@1.1.2 deduped │ │ ├── inherits@2.0.3 │ │ ├── setprototypeof@1.1.1 deduped │ │ ├── statuses@1.5.0 deduped │ │ └── toidentifier@1.0.0 │ ├─┬ iconv-lite@0.4.24 │ │ └── safer-buffer@2.1.2 │ ├─┬ on-finished@2.3.0 │ │ └── ee-first@1.1.1 │ ├── qs@6.7.0 │ ├─┬ raw-body@2.4.0 │ │ ├── bytes@3.1.0 deduped │ │ ├── http-errors@1.7.2 deduped │ │ ├── iconv-lite@0.4.24 deduped │ │ └── unpipe@1.0.0 │ └─┬ type-is@1.6.18 │ ├── media-typer@0.3.0 │ └─┬ mime-types@2.1.26 │ └── mime-db@1.43.0 ├─┬ cors@2.8.5 │ ├── object-assign@4.1.1 │ └── vary@1.1.2 ├─┬ express@4.17.1 │ ├─┬ accepts@1.3.7 │ │ ├── mime-types@2.1.26 deduped │ │ └── negotiator@0.6.2 │ ├── array-flatten@1.1.1 │ ├── body-parser@1.19.0 deduped │ ├─┬ content-disposition@0.5.3 │ │ └── safe-buffer@5.1.2 deduped │ ├── content-type@1.0.4 deduped │ ├── cookie@0.4.0 │ ├── cookie-signature@1.0.6 │ ├─┬ debug@2.6.9 │ │ └── ms@2.0.0 deduped │ ├── depd@1.1.2 deduped │ ├── encodeurl@1.0.2 │ ├── escape-html@1.0.3 │ ├── etag@1.8.1 │ ├─┬ finalhandler@1.1.2 │ │ ├─┬ debug@2.6.9 │ │ │ └── ms@2.0.0 deduped │ │ ├── encodeurl@1.0.2 deduped │ │ ├── escape-html@1.0.3 deduped │ │ ├── on-finished@2.3.0 deduped │ │ ├── parseurl@1.3.3 deduped │ │ ├── statuses@1.5.0 deduped │ │ └── unpipe@1.0.0 deduped │ ├── fresh@0.5.2 │ ├── merge-descriptors@1.0.1 │ ├── methods@1.1.2 │ ├── on-finished@2.3.0 deduped │ ├── parseurl@1.3.3 │ ├── path-to-regexp@0.1.7 │ ├─┬ proxy-addr@2.0.5 │ │ ├── forwarded@0.1.2 │ │ └── ipaddr.js@1.9.0 │ ├── qs@6.7.0 deduped │ ├── range-parser@1.2.1 │ ├── safe-buffer@5.1.2 │ ├─┬ send@0.17.1 │ │ ├─┬ debug@2.6.9 │ │ │ └── ms@2.0.0 │ │ ├── depd@1.1.2 deduped │ │ ├── destroy@1.0.4 │ │ ├── encodeurl@1.0.2 deduped │ │ ├── escape-html@1.0.3 deduped │ │ ├── etag@1.8.1 deduped │ │ ├── fresh@0.5.2 deduped │ │ ├── http-errors@1.7.2 deduped │ │ ├── mime@1.6.0 │ │ ├── ms@2.1.1 │ │ ├── on-finished@2.3.0 deduped │ │ ├── range-parser@1.2.1 deduped │ │ └── statuses@1.5.0 deduped │ ├─┬ serve-static@1.14.1 │ │ ├── encodeurl@1.0.2 deduped │ │ ├── escape-html@1.0.3 deduped │ │ ├── parseurl@1.3.3 deduped │ │ └── send@0.17.1 deduped │ ├── setprototypeof@1.1.1 │ ├── statuses@1.5.0 │ ├── type-is@1.6.18 deduped │ ├── utils-merge@1.0.1 │ └── vary@1.1.2 deduped ├─┬ johnny-five@1.4.0 │ ├── browser-serialport@2.1.0 │ ├─┬ chalk@2.1.0 │ │ ├─┬ ansi-styles@3.2.1 │ │ │ └─┬ color-convert@1.9.3 │ │ │ └── color-name@1.1.3 │ │ ├── escape-string-regexp@1.0.5 │ │ └─┬ supports-color@4.5.0 │ │ └── has-flag@2.0.0 │ ├── color-convert@1.2.2 │ ├─┬ firmata@2.2.0 │ │ ├── firmata-io@2.2.0 │ │ └── serialport@8.0.7 deduped │ ├── lodash.clonedeep@4.5.0 │ ├── lodash.debounce@4.0.8 │ ├── nanotimer@0.3.10 │ ├─┬ serialport@8.0.7 │ │ ├─┬ @serialport/binding-mock@8.0.6 │ │ │ ├─┬ @serialport/binding-abstract@8.0.6 │ │ │ │ └─┬ debug@4.1.1 │ │ │ │ └── ms@2.1.2 │ │ │ └─┬ debug@4.1.1 │ │ │ └── ms@2.1.2 │ │ ├─┬ @serialport/bindings@8.0.7 │ │ │ ├── @serialport/binding-abstract@8.0.6 deduped │ │ │ ├── @serialport/parser-readline@8.0.6 deduped │ │ │ ├─┬ bindings@1.5.0 │ │ │ │ └── file-uri-to-path@1.0.0 │ │ │ ├─┬ debug@4.1.1 │ │ │ │ └── ms@2.1.2 │ │ │ ├── nan@2.14.0 │ │ │ └─┬ prebuild-install@5.3.3 │ │ │ ├── detect-libc@1.0.3 │ │ │ ├── expand-template@2.0.3 │ │ │ ├── github-from-package@0.0.0 │ │ │ ├── minimist@1.2.0 │ │ │ ├─┬ mkdirp@0.5.1 │ │ │ │ └── minimist@0.0.8 │ │ │ ├── napi-build-utils@1.0.1 │ │ │ ├─┬ node-abi@2.13.0 │ │ │ │ └── semver@5.7.1 │ │ │ ├── noop-logger@0.1.1 │ │ │ ├─┬ npmlog@4.1.2 │ │ │ │ ├─┬ are-we-there-yet@1.1.5 │ │ │ │ │ ├── delegates@1.0.0 │ │ │ │ │ └─┬ readable-stream@2.3.7 │ │ │ │ │ ├── core-util-is@1.0.2 │ │ │ │ │ ├── inherits@2.0.3 deduped │ │ │ │ │ ├── isarray@1.0.0 │ │ │ │ │ ├── process-nextick-args@2.0.1 │ │ │ │ │ ├── safe-buffer@5.1.2 deduped │ │ │ │ │ ├─┬ string_decoder@1.1.1 │ │ │ │ │ │ └── safe-buffer@5.1.2 deduped │ │ │ │ │ └── util-deprecate@1.0.2 deduped │ │ │ │ ├── console-control-strings@1.1.0 │ │ │ │ ├─┬ gauge@2.7.4 │ │ │ │ │ ├── aproba@1.2.0 │ │ │ │ │ ├── console-control-strings@1.1.0 deduped │ │ │ │ │ ├── has-unicode@2.0.1 │ │ │ │ │ ├── object-assign@4.1.1 deduped │ │ │ │ │ ├── signal-exit@3.0.2 │ │ │ │ │ ├─┬ string-width@1.0.2 │ │ │ │ │ │ ├── code-point-at@1.1.0 │ │ │ │ │ │ ├─┬ is-fullwidth-code-point@1.0.0 │ │ │ │ │ │ │ └── number-is-nan@1.0.1 │ │ │ │ │ │ └── strip-ansi@3.0.1 deduped │ │ │ │ │ ├─┬ strip-ansi@3.0.1 │ │ │ │ │ │ └── ansi-regex@2.1.1 │ │ │ │ │ └─┬ wide-align@1.1.3 │ │ │ │ │ └── string-width@1.0.2 deduped │ │ │ │ └── set-blocking@2.0.0 │ │ │ ├─┬ pump@3.0.0 │ │ │ │ ├─┬ end-of-stream@1.4.4 │ │ │ │ │ └── once@1.4.0 deduped │ │ │ │ └─┬ once@1.4.0 │ │ │ │ └── wrappy@1.0.2 │ │ │ ├─┬ rc@1.2.8 │ │ │ │ ├── deep-extend@0.6.0 │ │ │ │ ├── ini@1.3.5 │ │ │ │ ├── minimist@1.2.0 deduped │ │ │ │ └── strip-json-comments@2.0.1 │ │ │ ├─┬ simple-get@3.1.0 │ │ │ │ ├─┬ decompress-response@4.2.1 │ │ │ │ │ └── mimic-response@2.0.0 │ │ │ │ ├── once@1.4.0 deduped │ │ │ │ └── simple-concat@1.0.0 │ │ │ ├─┬ tar-fs@2.0.0 │ │ │ │ ├── chownr@1.1.3 │ │ │ │ ├── mkdirp@0.5.1 deduped │ │ │ │ ├── pump@3.0.0 deduped │ │ │ │ └─┬ tar-stream@2.1.0 │ │ │ │ ├─┬ bl@3.0.0 │ │ │ │ │ └── readable-stream@3.5.0 deduped │ │ │ │ ├── end-of-stream@1.4.4 deduped │ │ │ │ ├── fs-constants@1.0.0 │ │ │ │ ├── inherits@2.0.3 deduped │ │ │ │ └── readable-stream@3.5.0 deduped │ │ │ ├─┬ tunnel-agent@0.6.0 │ │ │ │ └── safe-buffer@5.1.2 deduped │ │ │ └── which-pm-runs@1.0.0 │ │ ├── @serialport/parser-byte-length@8.0.6 │ │ ├── @serialport/parser-cctalk@8.0.6 │ │ ├── @serialport/parser-delimiter@8.0.6 │ │ ├─┬ @serialport/parser-readline@8.0.6 │ │ │ └── @serialport/parser-delimiter@8.0.6 deduped │ │ ├── @serialport/parser-ready@8.0.6 │ │ ├── @serialport/parser-regex@8.0.6 │ │ ├─┬ @serialport/stream@8.0.6 │ │ │ └─┬ debug@4.1.1 │ │ │ └── ms@2.1.2 │ │ └─┬ debug@4.1.1 │ │ └── ms@2.1.2 │ └── temporal@0.7.1 ├─┬ node-raspistill@1.0.0 │ ├── cla-mapper@0.0.1 │ └─┬ image-type@4.1.0 │ └── file-type@10.11.0 ├─┬ raspi-io@11.0.0 │ ├── clone@2.1.2 │ ├─┬ j5-io@3.1.2 │ │ ├── abstract-io@1.6.0 │ │ └── j5-io-types@2.5.0 deduped │ ├── j5-io-types@2.5.0 │ ├─┬ raspi@6.0.1 │ │ ├── j5-io-types@2.5.0 deduped │ │ └── raspi-board@7.3.0 deduped │ ├─┬ raspi-board@7.3.0 │ │ └── j5-io-types@2.5.0 deduped │ ├─┬ raspi-gpio@6.2.2 │ │ ├── j5-io-types@2.5.0 deduped │ │ ├─┬ pigpio@1.3.0 │ │ │ ├── bindings@1.5.0 deduped │ │ │ └── nan@2.14.0 deduped │ │ ├── raspi-board@7.3.0 deduped │ │ └─┬ raspi-peripheral@3.0.4 │ │ ├── j5-io-types@2.5.0 deduped │ │ ├── raspi@6.0.1 deduped │ │ └── raspi-board@7.3.0 deduped │ ├─┬ raspi-i2c@6.2.4 │ │ ├─┬ i2c-bus@5.1.0 │ │ │ ├── bindings@1.5.0 deduped │ │ │ └── nan@2.14.0 deduped │ │ ├── ini-builder@1.1.1 │ │ ├── j5-io-types@2.5.0 deduped │ │ ├── raspi-board@7.3.0 deduped │ │ └── raspi-peripheral@3.0.4 deduped │ ├─┬ raspi-led@2.1.2 │ │ ├── j5-io-types@2.5.0 deduped │ │ └── raspi-peripheral@3.0.4 deduped │ ├─┬ raspi-serial@6.0.0 │ │ ├── j5-io-types@2.5.0 deduped │ │ ├── raspi-peripheral@3.0.4 deduped │ │ └── serialport@8.0.7 deduped │ └─┬ raspi-soft-pwm@6.0.2 │ ├── j5-io-types@2.5.0 deduped │ ├── pigpio@1.3.0 deduped │ ├── raspi-board@7.3.0 deduped │ └── raspi-peripheral@3.0.4 deduped └─┬ ssh2-sftp-client@5.0.2 ├─┬ concat-stream@2.0.0 │ ├── buffer-from@1.1.1 │ ├── inherits@2.0.3 deduped │ ├─┬ readable-stream@3.5.0 │ │ ├── inherits@2.0.3 deduped │ │ ├─┬ string_decoder@1.3.0 │ │ │ └── safe-buffer@5.2.0 │ │ └── util-deprecate@1.0.2 │ └── typedarray@0.0.6 ├── retry@0.12.0 └─┬ ssh2@0.8.7 └─┬ ssh2-streams@0.4.8 ├─┬ asn1@0.2.4 │ └── safer-buffer@2.1.2 deduped ├─┬ bcrypt-pbkdf@1.0.2 │ └── tweetnacl@0.14.5 └── streamsearch@0.1.2

dtex commented 4 years ago

Okay, I think I know what happened here. It doesn't look like j5-io handles io.i2cWrite( byte, byte, byte ). This is probably due to a small mistake in the firmata.js documentation (J5-IO's API is based off firmata.js) which says:

- `board.i2cWrite(address, register, bytes)`
  Write a single byte to the specified register.

It should say

- `board.i2cWrite(address, register, byte)`
  Write a single byte to the specified register.

@nebrius Would you have some free time to add this signature? I'll go submit a PR to fix the firmata.js documentation. If you're too busy I'll take a stab at it. Congrats on the new gig by the way.

@ksteinberg If you are in a time crunch (you know, some kind of imurgency) I could send a temporary hack your way.

rwaldron commented 4 years ago

There should be:

ksteinberg commented 4 years ago

@dtex would appreciate a fix any way you can. I don't have enough experience with this sensor to what to provide for the call

dtex commented 4 years ago

Temporary fix for this bug:

In ./node_modules/johnny-five/lib/imu.js change line 1554 from

io.i2cWrite(address, this.REGISTER.RESET, 0xB6);

to

io.i2cWriteReg(address, this.REGISTER.RESET, 0xB6);

and line 1649 from

io.i2cWrite(address, this.REGISTER.MEASURE_H, 0x05);

to

io.i2cWriteReg(address, this.REGISTER.MEASURE_H, 0x05);

and line 1690 from

io.i2cWrite(address, this.REGISTER.MEASURE_TP, 0xB7);

to

io.i2cWriteReg(address, this.REGISTER.MEASURE_TP, 0xB7);

I don't have enough experience with this sensor to what to provide for the call

Your instantiation call looks good. If you share the rest of your code I can take a look.

nebrius commented 4 years ago

Oof, I'm swamped for the next couple days and without access to an RPi, and it'll be Wednesday evening at the earliest.

As for the signature, J5-IO supports three signatures currently (written in TypeScript):

public i2cWrite(address: number, byte: number): void;
public i2cWrite(address: number, inBytes: number[]): void;
public i2cWrite(address: number, register: number, inBytes: number[]): void;

We need to add a fourth signature:

public i2cWrite(address: number, register: number, byte: number): void;

which will modify the combined signature to

public i2cWrite(address: number, registerOrInBytes: number | number[], inBytes?: number | number[]): void {

and then we'll need to modify the argument swizzling logic to account for the new one.

ksteinberg commented 4 years ago

@dtex That worked although the Altimeter reading is odd (0?) Does it require calibration/initialization or are we grabbing the wrong reg?

Barometer pressure : 101.537

Hygrometer humidity : 27.62

Altimeter feet : 0 meters : 0

Thermometer celsius : 19.81 fahrenheit : 67.66 kelvin : 292.96

Barometer pressure : 101.535

Hygrometer humidity : 27.6

Altimeter feet : 0 meters : 0

nebrius commented 4 years ago

I just published a new version of J5-IO with the new write signature. If you run npm update you should get it. Let us know if this fixes it!

MintyMods commented 4 years ago

I am also seeing incorrect readings from the BME280 in terms of both the Temperature and Altimeter. As per the screenshot above I am getting reading of 0 for altitude (which I don't care about for this project) but I am also getting values of 0 readings for the temperature as follows:-

Running the following BME280 J5 example code (some formatting removed):-

const I2C_BME280_SENSOR_ADDR = (0x76); 
var multi = new five.Multi({
    controller: "BME280",
    address: I2C_BME280_SENSOR_ADDR
});
multi.on("change", function() {
    console.log("Thermometer:");
    console.log("  celsius      : ", this.thermometer.celsius);
    console.log("  fahrenheit   : ", this.thermometer.fahrenheit);
    console.log("  kelvin       : ", this.thermometer.kelvin);
    console.log("  Pressure     : ", this.barometer.pressure);
    console.log("  Humidity     : ", this.hygrometer.relativeHumidity);
    console.log("Altimeter");
    console.log("  feet         : ", this.altimeter.feet);
    console.log("  meters       : ", this.altimeter.meters);
    console.log("--------------------------------------"); 
});

Gives the following results:-

[1] Thermometer:
[1]   celsius      :  0
[1]   fahrenheit   :  32
[1]   kelvin       :  273.15
[1]   Pressure     :  95.819
[1]   Humidity     :  40.763
[1] Altimeter
[1]   feet         :  0
[1]   meters       :  0
[1] --------------------------------------
[1] Thermometer:
[1]   celsius      :  0
[1]   fahrenheit   :  32
[1]   kelvin       :  273.15
[1]   Pressure     :  95.819
[1]   Humidity     :  40.74
[1] Altimeter
[1]   feet         :  0
[1]   meters       :  0
[1] --------------------------------------

Here is what I am getting from Arduino UI running BME280 I2C Test.ino

Found BME280 sensor! Success.
Temp: 24.50°C       Humidity: 40.89% RH     Pressure: 99752.21 Pa
Temp: 24.52°C       Humidity: 40.94% RH     Pressure: 99746.67 Pa
Temp: 24.24°C       Humidity: 41.35% RH     Pressure: 99743.71 Pa
Temp: 24.21°C       Humidity: 41.43% RH     Pressure: 99740.28 Pa
Temp: 24.18°C       Humidity: 41.16% RH     Pressure: 99740.42 Pa
Temp: 24.16°C       Humidity: 41.08% RH     Pressure: 99750.18 Pa
Temp: 24.14°C       Humidity: 40.98% RH     Pressure: 99762.54 Pa

Here is what I am getting from Arduino UI running BMx280_I2C.ino

Pressure: 99765.00
Pressure (64 bit): 0.00
Temperature: 23.94
Humidity: 41.57
Pressure: 99763.00
Pressure (64 bit): 0.00
Temperature: 23.94
Humidity: 41.87

To be honest, I just need a sensor that can accurately(ish) read both Temperature and Humidity but seem to be really struggling with this :)

Here are the reading I am now getting from the TH02 via J5:-

[1] --------------------------------------
[1] TH02 Thermometer
[1]   celsius           :  24.4
[1]   fahrenheit        :  75.92
[1]   kelvin            :  297.55
[1] --------------------------------------
[1] Hygrometer
[1]   relative humidity :  61.94
[1] --------------------------------------
[1] TH02 Thermometer
[1]   celsius           :  24.5
[1]   fahrenheit        :  76.1
[1]   kelvin            :  297.65
[1] --------------------------------------
[1] Hygrometer
[1]   relative humidity :  62
[1] --------------------------------------

I refuse to give up on Johnny-five so any help with this is much appreciated.

What is strange is that I swear at one point I thought I saw valid temperature readings from J5 for the BME280 but closed the console by accident and have not been able to reproduce it ~!

Appreciate any push in the right direction in terms of investigating this myself further but I have checked the BME280 code against the datasheet and it looks alright to me (maybe there is some javascript casting wizardry going on)

P.S. Thank you @nebrius

nebrius commented 4 years ago

@MintyMods can you post the output of npm ls?

MintyMods commented 4 years ago

@nebrius Sure, output from npm ls is as follows:-

$ npm ls > ``` > johnny-five@1.4.0 H:\Development\johnny-five > +-- async@2.6.1 > | `-- lodash@4.17.15 > +-- UNMET OPTIONAL DEPENDENCY browser-serialport@latest > +-- chalk@2.1.0 > | +-- ansi-styles@3.2.0 > | | `-- color-convert@1.9.0 > | | `-- color-name@1.1.3 > | +-- escape-string-regexp@1.0.5 > | `-- supports-color@4.4.0 > | `-- has-flag@2.0.0 > +-- color-convert@1.2.2 > +-- common-tags@1.8.0 > +-- copy-paste@1.3.0 > | +-- iconv-lite@0.4.18 > | `-- sync-exec@0.6.2 > +-- coveralls@3.0.2 > | +-- growl@1.10.5 > | +-- js-yaml@3.13.1 > | | +-- argparse@1.0.9 > | | | `-- sprintf-js@1.0.3 deduped > | | `-- esprima@4.0.1 > | +-- lcov-parse@0.0.10 > | +-- log-driver@1.2.7 > | +-- minimist@1.2.0 > | `-- request@2.87.0 > | +-- aws-sign2@0.7.0 > | +-- aws4@1.7.0 > | +-- caseless@0.12.0 > | +-- combined-stream@1.0.6 > | | `-- delayed-stream@1.0.0 > | +-- extend@3.0.2 > | +-- forever-agent@0.6.1 > | +-- form-data@2.3.2 > | | +-- asynckit@0.4.0 > | | +-- combined-stream@1.0.6 deduped > | | `-- mime-types@2.1.15 > | | `-- mime-db@1.27.0 > | +-- har-validator@5.0.3 > | | +-- ajv@5.5.2 > | | | +-- co@4.6.0 > | | | +-- fast-deep-equal@1.1.0 > | | | +-- fast-json-stable-stringify@2.0.0 > | | | `-- json-schema-traverse@0.3.1 > | | `-- har-schema@2.0.0 > | +-- http-signature@1.2.0 > | | +-- assert-plus@1.0.0 > | | +-- jsprim@1.4.1 > | | | +-- assert-plus@1.0.0 deduped > | | | +-- extsprintf@1.3.0 > | | | +-- json-schema@0.2.3 > | | | `-- verror@1.10.0 > | | | +-- assert-plus@1.0.0 deduped > | | | +-- core-util-is@1.0.2 deduped > | | | `-- extsprintf@1.3.0 deduped > | | `-- sshpk@1.14.2 > | | +-- asn1@0.2.3 > | | +-- assert-plus@1.0.0 deduped > | | +-- bcrypt-pbkdf@1.0.2 > | | | `-- tweetnacl@0.14.5 deduped > | | +-- dashdash@1.14.1 > | | | `-- assert-plus@1.0.0 deduped > | | +-- ecc-jsbn@0.1.1 > | | | `-- jsbn@0.1.1 deduped > | | +-- getpass@0.1.7 > | | | `-- assert-plus@1.0.0 deduped > | | +-- jsbn@0.1.1 > | | +-- safer-buffer@2.1.2 > | | `-- tweetnacl@0.14.5 > | +-- is-typedarray@1.0.0 > | +-- isstream@0.1.2 > | +-- json-stringify-safe@5.0.1 > | +-- mime-types@2.1.19 > | | `-- mime-db@1.35.0 > | +-- oauth-sign@0.8.2 > | +-- performance-now@2.1.0 > | +-- qs@6.5.2 > | +-- safe-buffer@5.1.1 > | +-- tough-cookie@2.3.4 > | | `-- punycode@1.4.1 > | +-- tunnel-agent@0.6.0 > | | `-- safe-buffer@5.1.1 deduped > | `-- uuid@3.3.2 > +-- firmata@2.2.0 > | +-- firmata-io@2.2.0 > | `-- serialport@8.0.5 deduped > +-- grunt@1.0.4 > | +-- coffeescript@1.10.0 > | +-- dateformat@1.0.12 > | | +-- get-stdin@4.0.1 > | | `-- meow@3.7.0 > | | +-- camelcase-keys@2.1.0 > | | | +-- camelcase@2.1.1 > | | | `-- map-obj@1.0.1 deduped > | | +-- decamelize@1.2.0 deduped > | | +-- loud-rejection@1.6.0 > | | | +-- currently-unhandled@0.4.1 > | | | | `-- array-find-index@1.0.2 > | | | `-- signal-exit@3.0.2 deduped > | | +-- map-obj@1.0.1 > | | +-- minimist@1.2.0 deduped > | | +-- normalize-package-data@2.5.0 > | | | +-- hosted-git-info@2.8.4 > | | | +-- resolve@1.12.0 > | | | | `-- path-parse@1.0.6 deduped > | | | +-- semver@5.3.0 deduped > | | | `-- validate-npm-package-license@3.0.4 > | | | +-- spdx-correct@3.1.0 > | | | | +-- spdx-expression-parse@3.0.0 deduped > | | | | `-- spdx-license-ids@3.0.5 > | | | `-- spdx-expression-parse@3.0.0 > | | | +-- spdx-exceptions@2.2.0 > | | | `-- spdx-license-ids@3.0.5 deduped > | | +-- object-assign@4.1.1 deduped > | | +-- read-pkg-up@1.0.1 > | | | +-- find-up@1.1.2 > | | | | +-- path-exists@2.1.0 > | | | | | `-- pinkie-promise@2.0.1 deduped > | | | | `-- pinkie-promise@2.0.1 > | | | | `-- pinkie@2.0.4 > | | | `-- read-pkg@1.1.0 > | | | +-- load-json-file@1.1.0 > | | | | +-- graceful-fs@4.1.11 deduped > | | | | +-- parse-json@2.2.0 > | | | | | `-- error-ex@1.3.2 > | | | | | `-- is-arrayish@0.2.1 > | | | | +-- pify@2.3.0 > | | | | +-- pinkie-promise@2.0.1 deduped > | | | | `-- strip-bom@2.0.0 deduped > | | | +-- normalize-package-data@2.5.0 deduped > | | | `-- path-type@1.1.0 > | | | +-- graceful-fs@4.1.11 deduped > | | | +-- pify@2.3.0 deduped > | | | `-- pinkie-promise@2.0.1 deduped > | | +-- redent@1.0.0 > | | | +-- indent-string@2.1.0 > | | | | `-- repeating@2.0.1 > | | | | `-- is-finite@1.1.0 > | | | `-- strip-indent@1.0.1 > | | | `-- get-stdin@4.0.1 deduped > | | `-- trim-newlines@1.0.0 > | +-- eventemitter2@0.4.14 > | +-- exit@0.1.2 > | +-- findup-sync@0.3.0 > | | `-- glob@5.0.15 > | | +-- inflight@1.0.6 deduped > | | +-- inherits@2.0.3 deduped > | | +-- minimatch@3.0.4 deduped > | | +-- once@1.4.0 deduped > | | `-- path-is-absolute@1.0.1 deduped > | +-- glob@7.0.6 > | | +-- fs.realpath@1.0.0 > | | +-- inflight@1.0.6 > | | | +-- once@1.4.0 deduped > | | | `-- wrappy@1.0.2 > | | +-- inherits@2.0.3 > | | +-- minimatch@3.0.4 deduped > | | +-- once@1.4.0 > | | | `-- wrappy@1.0.2 deduped > | | `-- path-is-absolute@1.0.1 deduped > | +-- grunt-cli@1.2.0 deduped > | +-- grunt-known-options@1.1.0 > | +-- grunt-legacy-log@2.0.0 > | | +-- colors@1.1.2 > | | +-- grunt-legacy-log-utils@2.0.1 > | | | +-- chalk@2.4.2 > | | | | +-- ansi-styles@3.2.1 > | | | | | `-- color-convert@1.9.3 > | | | | | `-- color-name@1.1.3 deduped > | | | | +-- escape-string-regexp@1.0.5 deduped > | | | | `-- supports-color@5.5.0 > | | | | `-- has-flag@3.0.0 > | | | `-- lodash@4.17.15 deduped > | | +-- hooker@0.2.3 deduped > | | `-- lodash@4.17.15 deduped > | +-- grunt-legacy-util@1.1.1 > | | +-- async@1.5.2 > | | +-- exit@0.1.2 deduped > | | +-- getobject@0.1.0 > | | +-- hooker@0.2.3 deduped > | | +-- lodash@4.17.15 deduped > | | +-- underscore.string@3.3.5 deduped > | | `-- which@1.3.1 > | | `-- isexe@2.0.0 > | +-- iconv-lite@0.4.18 deduped > | +-- js-yaml@3.13.1 deduped > | +-- minimatch@3.0.4 > | | `-- brace-expansion@1.1.8 > | | +-- balanced-match@1.0.0 > | | `-- concat-map@0.0.1 > | +-- mkdirp@0.5.1 > | | `-- minimist@0.0.8 > | +-- nopt@3.0.6 > | | `-- abbrev@1.1.0 > | +-- path-is-absolute@1.0.1 > | `-- rimraf@2.6.2 > | `-- glob@7.0.6 deduped > +-- grunt-cli@1.2.0 > | +-- findup-sync@0.3.0 deduped > | +-- grunt-known-options@1.1.0 deduped > | +-- nopt@3.0.6 deduped > | `-- resolve@1.1.7 > +-- grunt-contrib-concat@1.0.1 > | +-- chalk@1.1.3 > | | +-- ansi-styles@2.2.1 > | | +-- escape-string-regexp@1.0.5 deduped > | | +-- has-ansi@2.0.0 > | | | `-- ansi-regex@2.1.1 > | | +-- strip-ansi@3.0.1 > | | | `-- ansi-regex@2.1.1 deduped > | | `-- supports-color@2.0.0 > | `-- source-map@0.5.6 > +-- grunt-contrib-jshint@2.1.0 > | +-- chalk@2.4.2 > | | +-- ansi-styles@3.2.1 > | | | `-- color-convert@1.9.3 > | | | `-- color-name@1.1.3 deduped > | | +-- escape-string-regexp@1.0.5 deduped > | | `-- supports-color@5.5.0 > | | `-- has-flag@3.0.0 > | +-- hooker@0.2.3 > | `-- jshint@2.10.2 > | +-- cli@1.0.1 > | | +-- exit@0.1.2 deduped > | | `-- glob@7.1.4 > | | +-- fs.realpath@1.0.0 deduped > | | +-- inflight@1.0.6 deduped > | | +-- inherits@2.0.3 deduped > | | +-- minimatch@3.0.4 deduped > | | +-- once@1.4.0 deduped > | | `-- path-is-absolute@1.0.1 deduped > | +-- console-browserify@1.1.0 > | | `-- date-now@0.1.4 > | +-- exit@0.1.2 deduped > | +-- htmlparser2@3.8.3 > | | +-- domelementtype@1.3.0 > | | +-- domhandler@2.3.0 > | | | `-- domelementtype@1.3.0 deduped > | | +-- domutils@1.5.1 > | | | +-- dom-serializer@0.1.0 > | | | | +-- domelementtype@1.1.3 > | | | | `-- entities@1.1.1 > | | | `-- domelementtype@1.3.0 deduped > | | +-- entities@1.0.0 > | | `-- readable-stream@1.1.14 > | | +-- core-util-is@1.0.2 > | | +-- inherits@2.0.3 deduped > | | +-- isarray@0.0.1 > | | `-- string_decoder@0.10.31 > | +-- lodash@4.17.15 deduped > | +-- minimatch@3.0.4 deduped > | +-- shelljs@0.3.0 > | `-- strip-json-comments@1.0.4 > +-- grunt-contrib-nodeunit@2.0.0 > | `-- nodeunit-x@0.12.2 > | +-- ejs@2.6.1 > | `-- tap@12.7.0 > | +-- bind-obj-methods@2.0.0 > | +-- browser-process-hrtime@1.0.0 > | +-- capture-stack-trace@1.0.1 > | +-- clean-yaml-object@0.1.0 > | +-- color-support@1.1.3 > | +-- coveralls@3.0.2 deduped > | +-- domain-browser@1.2.0 > | +-- esm@3.2.25 > | +-- foreground-child@1.5.6 > | | +-- cross-spawn@4.0.2 > | | | +-- lru-cache@4.1.3 > | | | | +-- pseudomap@1.0.2 deduped > | | | | `-- yallist@2.1.2 > | | | `-- which@1.2.14 > | | | `-- isexe@2.0.0 deduped > | | `-- signal-exit@3.0.2 deduped > | +-- fs-exists-cached@1.0.0 > | +-- function-loop@1.0.1 > | +-- glob@7.1.4 > | | +-- fs.realpath@1.0.0 deduped > | | +-- inflight@1.0.6 deduped > | | +-- inherits@2.0.3 deduped > | | +-- minimatch@3.0.4 deduped > | | +-- once@1.4.0 deduped > | | `-- path-is-absolute@1.0.1 deduped > | +-- isexe@2.0.0 deduped > | +-- js-yaml@3.13.1 deduped > | +-- minipass@2.5.1 > | | +-- safe-buffer@5.2.0 > | | `-- yallist@3.0.3 > | +-- mkdirp@0.5.1 deduped > | +-- nyc@14.1.1 > | | +-- archy@1.0.0 deduped > | | +-- caching-transform@3.0.2 > | | | +-- hasha@3.0.0 > | | | | `-- is-stream@1.1.0 > | | | +-- make-dir@2.1.0 deduped > | | | +-- package-hash@3.0.0 > | | | | +-- graceful-fs@4.2.2 > | | | | +-- hasha@3.0.0 deduped > | | | | +-- lodash.flattendeep@4.4.0 deduped > | | | | `-- release-zalgo@1.0.0 deduped > | | | `-- write-file-atomic@2.4.3 > | | | +-- graceful-fs@4.1.11 deduped > | | | +-- imurmurhash@0.1.4 deduped > | | | `-- signal-exit@3.0.2 deduped > | | +-- convert-source-map@1.6.0 > | | | `-- safe-buffer@5.1.1 deduped > | | +-- cp-file@6.2.0 > | | | +-- graceful-fs@4.1.11 deduped > | | | +-- make-dir@2.1.0 deduped > | | | +-- nested-error-stacks@2.1.0 > | | | +-- pify@4.0.1 > | | | `-- safe-buffer@5.1.1 deduped > | | +-- find-cache-dir@2.1.0 > | | | +-- commondir@1.0.1 deduped > | | | +-- make-dir@2.1.0 deduped > | | | `-- pkg-dir@3.0.0 > | | | `-- find-up@3.0.0 > | | | `-- locate-path@3.0.0 deduped > | | +-- find-up@3.0.0 > | | | `-- locate-path@3.0.0 > | | | +-- p-locate@3.0.0 > | | | | `-- p-limit@2.2.1 deduped > | | | `-- path-exists@3.0.0 > | | +-- foreground-child@1.5.6 deduped > | | +-- glob@7.1.4 deduped > | | +-- istanbul-lib-coverage@2.0.5 > | | +-- istanbul-lib-hook@2.0.7 > | | | `-- append-transform@1.0.0 > | | | `-- default-require-extensions@2.0.0 > | | | `-- strip-bom@3.0.0 > | | +-- istanbul-lib-instrument@3.3.0 > | | | +-- @babel/generator@7.6.0 > | | | | +-- @babel/types@7.6.1 deduped > | | | | +-- jsesc@2.5.1 deduped > | | | | +-- lodash@4.17.15 deduped > | | | | +-- source-map@0.5.6 deduped > | | | | `-- trim-right@1.0.1 > | | | +-- @babel/parser@7.5.5 > | | | +-- @babel/template@7.6.0 > | | | | +-- @babel/code-frame@7.5.5 > | | | | | `-- @babel/highlight@7.5.0 > | | | | | +-- chalk@2.1.0 deduped > | | | | | +-- esutils@2.0.2 deduped > | | | | | `-- js-tokens@4.0.0 > | | | | +-- @babel/parser@7.6.0 > | | | | `-- @babel/types@7.6.1 deduped > | | | +-- @babel/traverse@7.6.0 > | | | | +-- @babel/code-frame@7.5.5 deduped > | | | | +-- @babel/generator@7.6.0 deduped > | | | | +-- @babel/helper-function-name@7.1.0 > | | | | | +-- @babel/helper-get-function-arity@7.0.0 > | | | | | | `-- @babel/types@7.6.1 deduped > | | | | | +-- @babel/template@7.6.0 deduped > | | | | | `-- @babel/types@7.6.1 deduped > | | | | +-- @babel/helper-split-export-declaration@7.4.4 > | | | | | `-- @babel/types@7.6.1 deduped > | | | | +-- @babel/parser@7.6.0 > | | | | +-- @babel/types@7.6.1 deduped > | | | | +-- debug@4.1.1 > | | | | | `-- ms@2.1.2 > | | | | +-- globals@11.7.0 deduped > | | | | `-- lodash@4.17.15 deduped > | | | +-- @babel/types@7.6.1 > | | | | +-- esutils@2.0.2 deduped > | | | | +-- lodash@4.17.15 deduped > | | | | `-- to-fast-properties@2.0.0 deduped > | | | +-- istanbul-lib-coverage@2.0.5 deduped > | | | `-- semver@6.3.0 > | | +-- istanbul-lib-report@2.0.8 > | | | +-- istanbul-lib-coverage@2.0.5 > | | | +-- make-dir@2.1.0 deduped > | | | `-- supports-color@6.1.0 > | | | `-- has-flag@3.0.0 > | | +-- istanbul-lib-source-maps@3.0.6 > | | | +-- debug@4.1.1 > | | | | `-- ms@2.1.2 > | | | +-- istanbul-lib-coverage@2.0.5 > | | | +-- make-dir@2.1.0 deduped > | | | +-- rimraf@2.7.1 > | | | | `-- glob@7.1.4 > | | | | +-- fs.realpath@1.0.0 deduped > | | | | +-- inflight@1.0.6 deduped > | | | | +-- inherits@2.0.3 deduped > | | | | +-- minimatch@3.0.4 deduped > | | | | +-- once@1.4.0 deduped > | | | | `-- path-is-absolute@1.0.1 deduped > | | | `-- source-map@0.6.1 > | | +-- istanbul-reports@2.2.6 > | | | `-- handlebars@4.2.0 > | | | +-- neo-async@2.6.1 > | | | +-- optimist@0.6.1 deduped > | | | +-- source-map@0.6.1 > | | | `-- uglify-js@3.6.0 > | | | +-- commander@2.20.0 > | | | `-- source-map@0.6.1 > | | +-- js-yaml@3.13.1 deduped > | | +-- make-dir@2.1.0 > | | | +-- pify@4.0.1 > | | | `-- semver@5.7.1 > | | +-- merge-source-map@1.1.0 > | | | `-- source-map@0.6.1 > | | +-- resolve-from@4.0.0 > | | +-- rimraf@2.7.1 deduped > | | +-- signal-exit@3.0.2 deduped > | | +-- spawn-wrap@1.4.3 > | | | +-- foreground-child@1.5.6 deduped > | | | +-- mkdirp@0.5.1 deduped > | | | +-- os-homedir@1.0.2 deduped > | | | +-- rimraf@2.6.2 deduped > | | | +-- signal-exit@3.0.2 deduped > | | | `-- which@1.3.1 > | | | `-- isexe@2.0.0 deduped > | | +-- test-exclude@5.2.3 > | | | +-- glob@7.1.4 > | | | | +-- fs.realpath@1.0.0 deduped > | | | | +-- inflight@1.0.6 deduped > | | | | +-- inherits@2.0.3 deduped > | | | | +-- minimatch@3.0.4 deduped > | | | | +-- once@1.4.0 deduped > | | | | `-- path-is-absolute@1.0.1 deduped > | | | +-- minimatch@3.0.4 deduped > | | | +-- read-pkg-up@4.0.0 > | | | | +-- find-up@3.0.0 > | | | | | `-- locate-path@3.0.0 deduped > | | | | `-- read-pkg@3.0.0 > | | | | +-- load-json-file@4.0.0 > | | | | | +-- graceful-fs@4.1.11 deduped > | | | | | +-- parse-json@4.0.0 > | | | | | | +-- error-ex@1.3.2 deduped > | | | | | | `-- json-parse-better-errors@1.0.2 > | | | | | +-- pify@3.0.0 > | | | | | `-- strip-bom@3.0.0 > | | | | +-- normalize-package-data@2.5.0 deduped > | | | | `-- path-type@3.0.0 > | | | | `-- pify@3.0.0 deduped > | | | `-- require-main-filename@2.0.0 deduped > | | +-- uuid@3.3.2 deduped > | | +-- yargs@13.3.0 > | | | +-- cliui@5.0.0 > | | | | +-- string-width@3.1.0 > | | | | | +-- emoji-regex@7.0.3 deduped > | | | | | +-- is-fullwidth-code-point@2.0.0 > | | | | | `-- strip-ansi@5.2.0 deduped > | | | | +-- strip-ansi@5.2.0 > | | | | | `-- ansi-regex@4.1.0 > | | | | `-- wrap-ansi@5.1.0 > | | | | +-- ansi-styles@3.2.0 deduped > | | | | +-- string-width@3.1.0 > | | | | | +-- emoji-regex@7.0.3 deduped > | | | | | +-- is-fullwidth-code-point@2.0.0 > | | | | | `-- strip-ansi@5.2.0 deduped > | | | | `-- strip-ansi@5.2.0 > | | | | `-- ansi-regex@4.1.0 > | | | +-- find-up@3.0.0 > | | | | `-- locate-path@3.0.0 deduped > | | | +-- get-caller-file@2.0.5 deduped > | | | +-- require-directory@2.1.1 deduped > | | | +-- require-main-filename@2.0.0 deduped > | | | +-- set-blocking@2.0.0 deduped > | | | +-- string-width@3.1.0 > | | | | +-- emoji-regex@7.0.3 > | | | | +-- is-fullwidth-code-point@2.0.0 > | | | | `-- strip-ansi@5.2.0 > | | | | `-- ansi-regex@4.1.0 > | | | +-- which-module@2.0.0 deduped > | | | +-- y18n@4.0.0 deduped > | | | `-- yargs-parser@13.1.1 deduped > | | `-- yargs-parser@13.1.1 > | | +-- camelcase@5.3.1 > | | `-- decamelize@1.2.0 deduped > | +-- opener@1.5.1 > | +-- os-homedir@1.0.2 > | +-- own-or@1.0.0 > | +-- own-or-env@1.0.1 > | | `-- own-or@1.0.0 deduped > | +-- rimraf@2.7.1 > | | `-- glob@7.1.4 deduped > | +-- signal-exit@3.0.2 deduped > | +-- source-map-support@0.5.13 > | | +-- buffer-from@1.1.0 > | | `-- source-map@0.6.1 > | +-- stack-utils@1.0.2 > | +-- tap-mocha-reporter@3.0.9 > | | +-- color-support@1.1.3 deduped > | | +-- debug@2.6.9 > | | | `-- ms@2.0.0 > | | +-- diff@1.4.0 > | | +-- escape-string-regexp@1.0.5 deduped > | | +-- glob@7.1.4 deduped > | | +-- js-yaml@3.13.1 deduped > | | +-- readable-stream@2.3.6 > | | | +-- core-util-is@1.0.2 deduped > | | | +-- inherits@2.0.3 deduped > | | | +-- isarray@1.0.0 > | | | +-- process-nextick-args@2.0.0 > | | | +-- safe-buffer@5.1.2 > | | | +-- string_decoder@1.1.1 > | | | | `-- safe-buffer@5.1.2 > | | | `-- util-deprecate@1.0.2 deduped > | | +-- tap-parser@5.4.0 > | | | +-- events-to-array@1.1.2 deduped > | | | +-- js-yaml@3.13.1 deduped > | | | `-- readable-stream@2.3.6 deduped > | | `-- unicode-length@1.0.3 > | | +-- punycode@1.4.1 deduped > | | `-- strip-ansi@3.0.1 deduped > | +-- tap-parser@7.0.0 > | | +-- events-to-array@1.1.2 > | | +-- js-yaml@3.13.1 deduped > | | `-- minipass@2.3.3 > | | +-- safe-buffer@5.1.2 > | | `-- yallist@3.0.2 > | +-- tmatch@4.0.0 > | +-- trivial-deferred@1.0.1 > | +-- ts-node@8.3.0 > | | +-- arg@4.1.1 > | | +-- diff@4.0.1 > | | +-- make-error@1.3.5 > | | +-- source-map-support@0.5.13 > | | | +-- buffer-from@1.1.0 deduped > | | | `-- source-map@0.6.1 > | | `-- yn@3.1.1 > | +-- tsame@2.0.1 > | +-- typescript@3.6.3 > | +-- write-file-atomic@2.4.3 > | | +-- graceful-fs@4.1.11 > | | +-- imurmurhash@0.1.4 deduped > | | `-- signal-exit@3.0.2 deduped > | `-- yapool@1.0.0 > +-- grunt-contrib-watch@1.1.0 > | +-- async@2.6.1 > | | `-- lodash@4.17.15 deduped > | +-- gaze@1.1.3 > | | `-- globule@1.2.1 > | | +-- glob@7.1.2 > | | | +-- fs.realpath@1.0.0 deduped > | | | +-- inflight@1.0.6 deduped > | | | +-- inherits@2.0.3 deduped > | | | +-- minimatch@3.0.4 deduped > | | | +-- once@1.4.0 deduped > | | | `-- path-is-absolute@1.0.1 deduped > | | +-- lodash@4.17.15 > | | `-- minimatch@3.0.4 deduped > | +-- lodash@4.17.15 > | `-- tiny-lr@1.1.1 > | +-- body@5.1.0 > | | +-- continuable-cache@0.3.1 > | | +-- error@7.0.2 > | | | +-- string-template@0.2.1 > | | | `-- xtend@4.0.1 > | | +-- raw-body@1.1.7 > | | | +-- bytes@1.0.0 > | | | `-- string_decoder@0.10.31 deduped > | | `-- safe-json-parse@1.0.1 > | +-- debug@3.1.0 > | | `-- ms@2.0.0 > | +-- faye-websocket@0.10.0 > | | `-- websocket-driver@0.7.0 > | | +-- http-parser-js@0.4.13 > | | `-- websocket-extensions@0.1.3 > | +-- livereload-js@2.3.0 > | +-- object-assign@4.1.1 > | `-- qs@6.5.2 deduped > +-- grunt-jsbeautifier@0.2.13 > | +-- async@2.6.1 deduped > | +-- grunt@1.0.4 deduped > | +-- js-beautify@1.7.5 > | | +-- config-chain@1.1.11 > | | | +-- ini@1.3.4 deduped > | | | `-- proto-list@1.2.4 > | | +-- editorconfig@0.13.3 > | | | +-- bluebird@3.5.1 > | | | +-- commander@2.11.0 > | | | +-- lru-cache@3.2.0 > | | | | `-- pseudomap@1.0.2 > | | | +-- semver@5.3.0 deduped > | | | `-- sigmund@1.0.1 > | | +-- mkdirp@0.5.1 deduped > | | `-- nopt@3.0.6 deduped > | +-- lodash@4.17.15 > | +-- rc@1.2.8 > | | +-- deep-extend@0.6.0 > | | +-- ini@1.3.4 > | | +-- minimist@1.2.0 deduped > | | `-- strip-json-comments@2.0.1 > | +-- semver@5.3.0 > | `-- underscore.string@3.3.5 > | +-- sprintf-js@1.0.3 > | `-- util-deprecate@1.0.2 > +-- grunt-jscs@3.0.1 > | +-- hooker@0.2.3 deduped > | +-- jscs@3.0.7 > | | +-- chalk@1.1.3 > | | | +-- ansi-styles@2.2.1 > | | | +-- escape-string-regexp@1.0.5 deduped > | | | +-- has-ansi@2.0.0 deduped > | | | +-- strip-ansi@3.0.1 deduped > | | | `-- supports-color@2.0.0 > | | +-- cli-table@0.3.1 > | | | `-- colors@1.0.3 > | | +-- commander@2.9.0 > | | | `-- graceful-readlink@1.0.1 > | | +-- cst@0.4.10 > | | | +-- babel-runtime@6.26.0 > | | | | +-- core-js@2.5.7 > | | | | `-- regenerator-runtime@0.11.1 > | | | +-- babylon@6.18.0 > | | | `-- source-map-support@0.4.18 > | | | `-- source-map@0.5.6 deduped > | | +-- estraverse@4.2.0 > | | +-- exit@0.1.2 deduped > | | +-- glob@5.0.15 > | | | +-- inflight@1.0.6 deduped > | | | +-- inherits@2.0.3 deduped > | | | +-- minimatch@3.0.4 deduped > | | | +-- once@1.4.0 deduped > | | | `-- path-is-absolute@1.0.1 deduped > | | +-- htmlparser2@3.8.3 deduped > | | +-- js-yaml@3.4.6 > | | | +-- argparse@1.0.9 deduped > | | | +-- esprima@2.7.3 > | | | `-- inherit@2.2.6 > | | +-- jscs-jsdoc@2.0.0 > | | | +-- comment-parser@0.3.2 > | | | | `-- readable-stream@2.3.6 > | | | | +-- core-util-is@1.0.2 deduped > | | | | +-- inherits@2.0.3 deduped > | | | | +-- isarray@1.0.0 > | | | | +-- process-nextick-args@2.0.0 > | | | | +-- safe-buffer@5.1.1 deduped > | | | | +-- string_decoder@1.1.1 > | | | | | `-- safe-buffer@5.1.1 deduped > | | | | `-- util-deprecate@1.0.2 deduped > | | | `-- jsdoctypeparser@1.2.0 > | | | `-- lodash@3.10.1 > | | +-- jscs-preset-wikimedia@1.0.1 > | | +-- jsonlint@1.6.3 > | | | +-- JSV@4.0.2 > | | | `-- nomnom@1.8.1 > | | | +-- chalk@0.4.0 > | | | | +-- ansi-styles@1.0.0 > | | | | +-- has-color@0.1.7 > | | | | `-- strip-ansi@0.1.1 > | | | `-- underscore@1.6.0 > | | +-- lodash@3.10.1 > | | +-- minimatch@3.0.4 deduped > | | +-- natural-compare@1.2.2 > | | +-- pathval@0.1.1 > | | +-- prompt@0.2.14 > | | | +-- pkginfo@0.4.1 > | | | +-- read@1.0.7 > | | | | `-- mute-stream@0.0.7 > | | | +-- revalidator@0.1.8 > | | | +-- utile@0.2.1 > | | | | +-- async@0.2.10 > | | | | +-- deep-equal@1.0.1 > | | | | +-- i@0.3.6 > | | | | +-- mkdirp@0.5.1 deduped > | | | | +-- ncp@0.4.2 > | | | | `-- rimraf@2.6.2 deduped > | | | `-- winston@0.8.3 > | | | +-- async@0.2.10 > | | | +-- colors@0.6.2 > | | | +-- cycle@1.0.3 > | | | +-- eyes@0.1.8 > | | | +-- isstream@0.1.2 deduped > | | | +-- pkginfo@0.3.1 > | | | `-- stack-trace@0.0.10 > | | +-- reserved-words@0.1.2 > | | +-- resolve@1.1.7 deduped > | | +-- strip-bom@2.0.0 > | | | `-- is-utf8@0.2.1 > | | +-- strip-json-comments@1.0.4 deduped > | | +-- to-double-quotes@2.0.0 > | | +-- to-single-quotes@2.0.1 > | | +-- vow@0.4.17 deduped > | | +-- vow-fs@0.3.6 > | | | +-- glob@7.0.6 deduped > | | | +-- uuid@2.0.3 > | | | +-- vow@0.4.17 deduped > | | | `-- vow-queue@0.4.3 > | | | `-- vow@0.4.17 deduped > | | `-- xmlbuilder@3.1.0 > | | `-- lodash@3.10.1 > | +-- lodash@4.6.1 > | `-- vow@0.4.17 > +-- lodash.clonedeep@4.5.0 > +-- lodash.debounce@4.0.8 > +-- mock-firmata@0.2.0 > | `-- board-io@3.0.5 > | `-- check-types@1.4.0 > +-- nanotimer@0.3.10 > +-- nyc@15.0.0 > | +-- @istanbuljs/load-nyc-config@1.0.0 > | | +-- camelcase@5.3.1 > | | +-- find-up@4.1.0 > | | | +-- locate-path@5.0.0 > | | | | `-- p-locate@4.1.0 > | | | | `-- p-limit@2.2.1 deduped > | | | `-- path-exists@4.0.0 > | | +-- js-yaml@3.13.1 deduped > | | `-- resolve-from@5.0.0 > | +-- @istanbuljs/schema@0.1.2 > | +-- caching-transform@4.0.0 > | | +-- hasha@5.1.0 > | | | +-- is-stream@2.0.0 > | | | `-- type-fest@0.8.1 > | | +-- make-dir@3.0.0 deduped > | | +-- package-hash@4.0.0 > | | | +-- graceful-fs@4.2.3 > | | | +-- hasha@5.1.0 deduped > | | | +-- lodash.flattendeep@4.4.0 > | | | `-- release-zalgo@1.0.0 > | | | `-- es6-error@4.1.1 > | | `-- write-file-atomic@3.0.1 > | | +-- imurmurhash@0.1.4 > | | +-- is-typedarray@1.0.0 deduped > | | +-- signal-exit@3.0.2 deduped > | | `-- typedarray-to-buffer@3.1.5 > | | `-- is-typedarray@1.0.0 deduped > | +-- convert-source-map@1.7.0 > | | `-- safe-buffer@5.1.1 deduped > | +-- decamelize@1.2.0 > | +-- find-cache-dir@3.2.0 > | | +-- commondir@1.0.1 > | | +-- make-dir@3.0.0 deduped > | | `-- pkg-dir@4.2.0 > | | `-- find-up@4.1.0 deduped > | +-- find-up@4.1.0 > | | +-- locate-path@5.0.0 > | | | `-- p-locate@4.1.0 > | | | `-- p-limit@2.2.1 > | | | `-- p-try@2.2.0 > | | `-- path-exists@4.0.0 > | +-- foreground-child@2.0.0 > | | +-- cross-spawn@7.0.1 > | | | +-- path-key@3.1.1 deduped > | | | +-- shebang-command@2.0.0 deduped > | | | `-- which@2.0.2 deduped > | | `-- signal-exit@3.0.2 deduped > | +-- glob@7.1.6 > | | +-- fs.realpath@1.0.0 deduped > | | +-- inflight@1.0.6 deduped > | | +-- inherits@2.0.3 deduped > | | +-- minimatch@3.0.4 deduped > | | +-- once@1.4.0 deduped > | | `-- path-is-absolute@1.0.1 deduped > | +-- istanbul-lib-coverage@3.0.0 > | +-- istanbul-lib-hook@3.0.0 > | | `-- append-transform@2.0.0 > | | `-- default-require-extensions@3.0.0 > | | `-- strip-bom@4.0.0 > | +-- istanbul-lib-instrument@4.0.0 > | | +-- @babel/core@7.7.7 > | | | +-- @babel/code-frame@7.5.5 > | | | | `-- @babel/highlight@7.5.0 > | | | | +-- chalk@2.1.0 deduped > | | | | +-- esutils@2.0.2 deduped > | | | | `-- js-tokens@4.0.0 > | | | +-- @babel/generator@7.7.7 > | | | | +-- @babel/types@7.7.4 deduped > | | | | +-- jsesc@2.5.1 > | | | | +-- lodash@4.17.15 deduped > | | | | `-- source-map@0.5.6 deduped > | | | +-- @babel/helpers@7.7.4 > | | | | +-- @babel/template@7.7.4 deduped > | | | | +-- @babel/traverse@7.7.4 deduped > | | | | `-- @babel/types@7.7.4 deduped > | | | +-- @babel/parser@7.7.7 deduped > | | | +-- @babel/template@7.7.4 deduped > | | | +-- @babel/traverse@7.7.4 deduped > | | | +-- @babel/types@7.7.4 > | | | | +-- esutils@2.0.2 > | | | | +-- lodash@4.17.15 deduped > | | | | `-- to-fast-properties@2.0.0 > | | | +-- convert-source-map@1.7.0 > | | | | `-- safe-buffer@5.1.1 deduped > | | | +-- debug@4.1.1 deduped > | | | +-- json5@2.1.1 > | | | | `-- minimist@1.2.0 deduped > | | | +-- lodash@4.17.15 deduped > | | | +-- resolve@1.14.2 > | | | | `-- path-parse@1.0.6 > | | | +-- semver@5.7.1 > | | | `-- source-map@0.5.6 deduped > | | +-- @babel/parser@7.7.7 > | | +-- @babel/template@7.7.4 > | | | +-- @babel/code-frame@7.5.5 deduped > | | | +-- @babel/parser@7.7.7 deduped > | | | `-- @babel/types@7.7.4 deduped > | | +-- @babel/traverse@7.7.4 > | | | +-- @babel/code-frame@7.5.5 deduped > | | | +-- @babel/generator@7.7.7 deduped > | | | +-- @babel/helper-function-name@7.7.4 > | | | | +-- @babel/helper-get-function-arity@7.7.4 > | | | | | `-- @babel/types@7.7.4 deduped > | | | | +-- @babel/template@7.7.4 deduped > | | | | `-- @babel/types@7.7.4 deduped > | | | +-- @babel/helper-split-export-declaration@7.7.4 > | | | | `-- @babel/types@7.7.4 deduped > | | | +-- @babel/parser@7.7.7 deduped > | | | +-- @babel/types@7.7.4 deduped > | | | +-- debug@4.1.1 deduped > | | | +-- globals@11.7.0 > | | | `-- lodash@4.17.15 deduped > | | +-- @istanbuljs/schema@0.1.2 deduped > | | +-- istanbul-lib-coverage@3.0.0 deduped > | | `-- semver@6.3.0 > | +-- istanbul-lib-processinfo@2.0.2 > | | +-- archy@1.0.0 > | | +-- cross-spawn@7.0.1 > | | | +-- path-key@3.1.1 > | | | +-- shebang-command@2.0.0 > | | | | `-- shebang-regex@3.0.0 > | | | `-- which@2.0.2 > | | | `-- isexe@2.0.0 deduped > | | +-- istanbul-lib-coverage@3.0.0 deduped > | | +-- make-dir@3.0.0 > | | | `-- semver@6.3.0 > | | +-- p-map@3.0.0 deduped > | | +-- rimraf@3.0.0 > | | | `-- glob@7.1.6 > | | | +-- fs.realpath@1.0.0 deduped > | | | +-- inflight@1.0.6 deduped > | | | +-- inherits@2.0.3 deduped > | | | +-- minimatch@3.0.4 deduped > | | | +-- once@1.4.0 deduped > | | | `-- path-is-absolute@1.0.1 deduped > | | `-- uuid@3.3.3 > | +-- istanbul-lib-report@3.0.0 > | | +-- istanbul-lib-coverage@3.0.0 deduped > | | +-- make-dir@3.0.0 deduped > | | `-- supports-color@7.1.0 > | | `-- has-flag@4.0.0 > | +-- istanbul-lib-source-maps@4.0.0 > | | +-- debug@4.1.1 deduped > | | +-- istanbul-lib-coverage@3.0.0 deduped > | | `-- source-map@0.6.1 > | +-- istanbul-reports@3.0.0 > | | +-- html-escaper@2.0.0 > | | `-- istanbul-lib-report@3.0.0 deduped > | +-- js-yaml@3.13.1 deduped > | +-- make-dir@3.0.0 > | | `-- semver@6.3.0 > | +-- node-preload@0.2.1 > | | `-- process-on-spawn@1.0.0 deduped > | +-- p-map@3.0.0 > | | `-- aggregate-error@3.0.1 > | | +-- clean-stack@2.2.0 > | | `-- indent-string@4.0.0 > | +-- process-on-spawn@1.0.0 > | | `-- fromentries@1.2.0 > | +-- resolve-from@5.0.0 > | +-- rimraf@3.0.0 > | | `-- glob@7.1.6 deduped > | +-- signal-exit@3.0.2 > | +-- spawn-wrap@2.0.0 > | | +-- foreground-child@2.0.0 deduped > | | +-- is-windows@1.0.2 > | | +-- make-dir@3.0.0 deduped > | | +-- rimraf@3.0.0 deduped > | | +-- signal-exit@3.0.2 deduped > | | `-- which@2.0.2 > | | `-- isexe@2.0.0 deduped > | +-- test-exclude@6.0.0 > | | +-- @istanbuljs/schema@0.1.2 deduped > | | +-- glob@7.1.6 deduped > | | `-- minimatch@3.0.4 deduped > | +-- uuid@3.3.3 > | `-- yargs@15.1.0 > | +-- cliui@6.0.0 > | | +-- string-width@4.2.0 deduped > | | +-- strip-ansi@6.0.0 > | | | `-- ansi-regex@5.0.0 > | | `-- wrap-ansi@6.2.0 > | | +-- ansi-styles@4.2.1 > | | | +-- @types/color-name@1.1.1 > | | | `-- color-convert@2.0.1 > | | | `-- color-name@1.1.4 > | | +-- string-width@4.2.0 deduped > | | `-- strip-ansi@6.0.0 deduped > | +-- decamelize@1.2.0 deduped > | +-- find-up@4.1.0 deduped > | +-- get-caller-file@2.0.5 > | +-- require-directory@2.1.1 > | +-- require-main-filename@2.0.0 > | +-- set-blocking@2.0.0 > | +-- string-width@4.2.0 > | | +-- emoji-regex@8.0.0 > | | +-- is-fullwidth-code-point@3.0.0 > | | `-- strip-ansi@6.0.0 deduped > | +-- which-module@2.0.0 > | +-- y18n@4.0.0 > | `-- yargs-parser@16.1.0 > | +-- camelcase@5.3.1 > | `-- decamelize@1.2.0 deduped > +-- optimist@0.6.1 > | +-- minimist@0.0.10 > | `-- wordwrap@0.0.3 > +-- serialport@8.0.5 > | +-- @serialport/binding-mock@8.0.4 > | | +-- @serialport/binding-abstract@8.0.4 > | | | `-- debug@4.1.1 deduped > | | `-- debug@4.1.1 deduped > | +-- @serialport/bindings@8.0.4 > | | +-- @serialport/binding-abstract@8.0.4 deduped > | | +-- @serialport/parser-readline@8.0.4 deduped > | | +-- bindings@1.5.0 > | | | `-- file-uri-to-path@1.0.0 > | | +-- debug@4.1.1 deduped > | | +-- nan@2.14.0 > | | `-- prebuild-install@5.3.3 > | | +-- detect-libc@1.0.3 > | | +-- expand-template@2.0.3 > | | +-- github-from-package@0.0.0 > | | +-- minimist@1.2.0 deduped > | | +-- mkdirp@0.5.1 deduped > | | +-- napi-build-utils@1.0.1 > | | +-- node-abi@2.13.0 > | | | `-- semver@5.7.1 > | | +-- noop-logger@0.1.1 > | | +-- npmlog@4.1.2 > | | | +-- are-we-there-yet@1.1.5 > | | | | +-- delegates@1.0.0 > | | | | `-- readable-stream@2.3.6 > | | | | +-- core-util-is@1.0.2 deduped > | | | | +-- inherits@2.0.3 deduped > | | | | +-- isarray@1.0.0 > | | | | +-- process-nextick-args@2.0.0 deduped > | | | | +-- safe-buffer@5.1.1 deduped > | | | | +-- string_decoder@1.1.1 > | | | | | `-- safe-buffer@5.1.1 deduped > | | | | `-- util-deprecate@1.0.2 deduped > | | | +-- console-control-strings@1.1.0 > | | | +-- gauge@2.7.4 > | | | | +-- aproba@1.2.0 > | | | | +-- console-control-strings@1.1.0 deduped > | | | | +-- has-unicode@2.0.1 > | | | | +-- object-assign@4.1.1 deduped > | | | | +-- signal-exit@3.0.2 deduped > | | | | +-- string-width@1.0.2 > | | | | | +-- code-point-at@1.1.0 > | | | | | +-- is-fullwidth-code-point@1.0.0 > | | | | | | `-- number-is-nan@1.0.1 > | | | | | `-- strip-ansi@3.0.1 deduped > | | | | +-- strip-ansi@3.0.1 deduped > | | | | `-- wide-align@1.1.3 > | | | | `-- string-width@1.0.2 deduped > | | | `-- set-blocking@2.0.0 deduped > | | +-- pump@3.0.0 > | | | +-- end-of-stream@1.4.4 > | | | | `-- once@1.4.0 deduped > | | | `-- once@1.4.0 deduped > | | +-- rc@1.2.8 deduped > | | +-- simple-get@3.1.0 > | | | +-- decompress-response@4.2.1 > | | | | `-- mimic-response@2.0.0 > | | | +-- once@1.4.0 deduped > | | | `-- simple-concat@1.0.0 > | | +-- tar-fs@2.0.0 > | | | +-- chownr@1.1.3 > | | | +-- mkdirp@0.5.1 deduped > | | | +-- pump@3.0.0 deduped > | | | `-- tar-stream@2.1.0 > | | | +-- bl@3.0.0 > | | | | `-- readable-stream@3.4.0 > | | | | +-- inherits@2.0.3 deduped > | | | | +-- string_decoder@1.3.0 > | | | | | `-- safe-buffer@5.2.0 > | | | | `-- util-deprecate@1.0.2 deduped > | | | +-- end-of-stream@1.4.4 deduped > | | | +-- fs-constants@1.0.0 > | | | +-- inherits@2.0.3 deduped > | | | `-- readable-stream@3.4.0 > | | | +-- inherits@2.0.3 deduped > | | | +-- string_decoder@1.3.0 > | | | | `-- safe-buffer@5.2.0 > | | | `-- util-deprecate@1.0.2 deduped > | | +-- tunnel-agent@0.6.0 deduped > | | `-- which-pm-runs@1.0.0 > | +-- @serialport/parser-byte-length@8.0.4 > | +-- @serialport/parser-cctalk@8.0.4 > | +-- @serialport/parser-delimiter@8.0.4 > | +-- @serialport/parser-readline@8.0.4 > | | `-- @serialport/parser-delimiter@8.0.4 deduped > | +-- @serialport/parser-ready@8.0.4 > | +-- @serialport/parser-regex@8.0.4 > | +-- @serialport/stream@8.0.4 > | | +-- @serialport/binding-mock@8.0.4 deduped > | | `-- debug@4.1.1 deduped > | `-- debug@4.1.1 > | `-- ms@2.1.2 > +-- sinon@1.10.3 > | +-- formatio@1.0.2 > | | `-- samsam@1.1.3 > | `-- util@0.10.3 > | `-- inherits@2.0.1 > `-- temporal@0.7.1 > ```
MintyMods commented 4 years ago

Sorry, previous detail from Johnny-five project, new details from my actual project.

npm ls from correct location > minty-hydro@1.0.0 H:\Development\MintyHydro > +-- babel-core@6.26.3 > | +-- babel-code-frame@6.26.0 > | | +-- chalk@1.1.3 > | | | +-- ansi-styles@2.2.1 > | | | +-- escape-string-regexp@1.0.5 deduped > | | | +-- has-ansi@2.0.0 > | | | | `-- ansi-regex@2.1.1 > | | | +-- strip-ansi@3.0.1 > | | | | `-- ansi-regex@2.1.1 deduped > | | | `-- supports-color@2.0.0 > | | +-- esutils@2.0.3 > | | `-- js-tokens@3.0.2 > | +-- babel-generator@6.26.1 > | | +-- babel-messages@6.23.0 deduped > | | +-- babel-runtime@6.26.0 deduped > | | +-- babel-types@6.26.0 deduped > | | +-- detect-indent@4.0.0 > | | | `-- repeating@2.0.1 > | | | `-- is-finite@1.0.2 > | | | `-- number-is-nan@1.0.1 deduped > | | +-- jsesc@1.3.0 > | | +-- lodash@4.17.15 deduped > | | +-- source-map@0.5.7 deduped > | | `-- trim-right@1.0.1 > | +-- babel-helpers@6.24.1 > | | +-- babel-runtime@6.26.0 deduped > | | `-- babel-template@6.26.0 deduped > | +-- babel-messages@6.23.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-register@6.26.0 > | | +-- babel-core@6.26.3 deduped > | | +-- babel-runtime@6.26.0 deduped > | | +-- core-js@2.6.11 > | | +-- home-or-tmp@2.0.0 > | | | +-- os-homedir@1.0.2 > | | | `-- os-tmpdir@1.0.2 > | | +-- lodash@4.17.15 deduped > | | +-- mkdirp@0.5.1 deduped > | | `-- source-map-support@0.4.18 > | | `-- source-map@0.5.7 deduped > | +-- babel-runtime@6.26.0 > | | +-- core-js@2.6.11 deduped > | | `-- regenerator-runtime@0.11.1 > | +-- babel-template@6.26.0 > | | +-- babel-runtime@6.26.0 deduped > | | +-- babel-traverse@6.26.0 deduped > | | +-- babel-types@6.26.0 deduped > | | +-- babylon@6.18.0 deduped > | | `-- lodash@4.17.15 deduped > | +-- babel-traverse@6.26.0 > | | +-- babel-code-frame@6.26.0 deduped > | | +-- babel-messages@6.23.0 deduped > | | +-- babel-runtime@6.26.0 deduped > | | +-- babel-types@6.26.0 deduped > | | +-- babylon@6.18.0 deduped > | | +-- debug@2.6.9 deduped > | | +-- globals@9.18.0 > | | +-- invariant@2.2.4 deduped > | | `-- lodash@4.17.15 deduped > | +-- babel-types@6.26.0 > | | +-- babel-runtime@6.26.0 deduped > | | +-- esutils@2.0.3 deduped > | | +-- lodash@4.17.15 deduped > | | `-- to-fast-properties@1.0.3 > | +-- babylon@6.18.0 > | +-- convert-source-map@1.7.0 > | | `-- safe-buffer@5.1.2 deduped > | +-- debug@2.6.9 > | | `-- ms@2.0.0 > | +-- json5@0.5.1 > | +-- lodash@4.17.15 > | +-- minimatch@3.0.4 > | | `-- brace-expansion@1.1.11 > | | +-- balanced-match@1.0.0 > | | `-- concat-map@0.0.1 > | +-- path-is-absolute@1.0.1 > | +-- private@0.1.8 > | +-- slash@1.0.0 > | `-- source-map@0.5.7 > +-- babel-loader@7.1.5 > | +-- find-cache-dir@1.0.0 > | | +-- commondir@1.0.1 > | | +-- make-dir@1.3.0 > | | | `-- pify@3.0.0 > | | `-- pkg-dir@2.0.0 > | | `-- find-up@2.1.0 > | | `-- locate-path@2.0.0 > | | +-- p-locate@2.0.0 > | | | `-- p-limit@1.3.0 > | | | `-- p-try@1.0.0 > | | `-- path-exists@3.0.0 > | +-- loader-utils@1.2.3 > | | +-- big.js@5.2.2 > | | +-- emojis-list@2.1.0 > | | `-- json5@1.0.1 > | | `-- minimist@1.2.0 > | `-- mkdirp@0.5.1 > | `-- minimist@0.0.8 > +-- babel-preset-env@1.7.0 > | +-- babel-plugin-check-es2015-constants@6.22.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-syntax-trailing-function-commas@6.22.0 > | +-- babel-plugin-transform-async-to-generator@6.24.1 > | | +-- babel-helper-remap-async-to-generator@6.24.1 > | | | +-- babel-helper-function-name@6.24.1 deduped > | | | +-- babel-runtime@6.26.0 deduped > | | | +-- babel-template@6.26.0 deduped > | | | +-- babel-traverse@6.26.0 deduped > | | | `-- babel-types@6.26.0 deduped > | | +-- babel-plugin-syntax-async-functions@6.13.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-es2015-arrow-functions@6.22.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-es2015-block-scoped-functions@6.22.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-es2015-block-scoping@6.26.0 > | | +-- babel-runtime@6.26.0 deduped > | | +-- babel-template@6.26.0 deduped > | | +-- babel-traverse@6.26.0 deduped > | | +-- babel-types@6.26.0 deduped > | | `-- lodash@4.17.15 deduped > | +-- babel-plugin-transform-es2015-classes@6.24.1 > | | +-- babel-helper-define-map@6.26.0 > | | | +-- babel-helper-function-name@6.24.1 deduped > | | | +-- babel-runtime@6.26.0 deduped > | | | +-- babel-types@6.26.0 deduped > | | | `-- lodash@4.17.15 deduped > | | +-- babel-helper-function-name@6.24.1 > | | | +-- babel-helper-get-function-arity@6.24.1 deduped > | | | +-- babel-runtime@6.26.0 deduped > | | | +-- babel-template@6.26.0 deduped > | | | +-- babel-traverse@6.26.0 deduped > | | | `-- babel-types@6.26.0 deduped > | | +-- babel-helper-optimise-call-expression@6.24.1 > | | | +-- babel-runtime@6.26.0 deduped > | | | `-- babel-types@6.26.0 deduped > | | +-- babel-helper-replace-supers@6.24.1 > | | | +-- babel-helper-optimise-call-expression@6.24.1 deduped > | | | +-- babel-messages@6.23.0 deduped > | | | +-- babel-runtime@6.26.0 deduped > | | | +-- babel-template@6.26.0 deduped > | | | +-- babel-traverse@6.26.0 deduped > | | | `-- babel-types@6.26.0 deduped > | | +-- babel-messages@6.23.0 deduped > | | +-- babel-runtime@6.26.0 deduped > | | +-- babel-template@6.26.0 deduped > | | +-- babel-traverse@6.26.0 deduped > | | `-- babel-types@6.26.0 deduped > | +-- babel-plugin-transform-es2015-computed-properties@6.24.1 > | | +-- babel-runtime@6.26.0 deduped > | | `-- babel-template@6.26.0 deduped > | +-- babel-plugin-transform-es2015-destructuring@6.23.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-es2015-duplicate-keys@6.24.1 > | | +-- babel-runtime@6.26.0 deduped > | | `-- babel-types@6.26.0 deduped > | +-- babel-plugin-transform-es2015-for-of@6.23.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-es2015-function-name@6.24.1 > | | +-- babel-helper-function-name@6.24.1 deduped > | | +-- babel-runtime@6.26.0 deduped > | | `-- babel-types@6.26.0 deduped > | +-- babel-plugin-transform-es2015-literals@6.22.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-es2015-modules-amd@6.24.1 > | | +-- babel-plugin-transform-es2015-modules-commonjs@6.26.2 deduped > | | +-- babel-runtime@6.26.0 deduped > | | `-- babel-template@6.26.0 deduped > | +-- babel-plugin-transform-es2015-modules-commonjs@6.26.2 > | | +-- babel-plugin-transform-strict-mode@6.24.1 > | | | +-- babel-runtime@6.26.0 deduped > | | | `-- babel-types@6.26.0 deduped > | | +-- babel-runtime@6.26.0 deduped > | | +-- babel-template@6.26.0 deduped > | | `-- babel-types@6.26.0 deduped > | +-- babel-plugin-transform-es2015-modules-systemjs@6.24.1 > | | +-- babel-helper-hoist-variables@6.24.1 > | | | +-- babel-runtime@6.26.0 deduped > | | | `-- babel-types@6.26.0 deduped > | | +-- babel-runtime@6.26.0 deduped > | | `-- babel-template@6.26.0 deduped > | +-- babel-plugin-transform-es2015-modules-umd@6.24.1 > | | +-- babel-plugin-transform-es2015-modules-amd@6.24.1 deduped > | | +-- babel-runtime@6.26.0 deduped > | | `-- babel-template@6.26.0 deduped > | +-- babel-plugin-transform-es2015-object-super@6.24.1 > | | +-- babel-helper-replace-supers@6.24.1 deduped > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-es2015-parameters@6.24.1 > | | +-- babel-helper-call-delegate@6.24.1 > | | | +-- babel-helper-hoist-variables@6.24.1 deduped > | | | +-- babel-runtime@6.26.0 deduped > | | | +-- babel-traverse@6.26.0 deduped > | | | `-- babel-types@6.26.0 deduped > | | +-- babel-helper-get-function-arity@6.24.1 > | | | +-- babel-runtime@6.26.0 deduped > | | | `-- babel-types@6.26.0 deduped > | | +-- babel-runtime@6.26.0 deduped > | | +-- babel-template@6.26.0 deduped > | | +-- babel-traverse@6.26.0 deduped > | | `-- babel-types@6.26.0 deduped > | +-- babel-plugin-transform-es2015-shorthand-properties@6.24.1 > | | +-- babel-runtime@6.26.0 deduped > | | `-- babel-types@6.26.0 deduped > | +-- babel-plugin-transform-es2015-spread@6.22.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-es2015-sticky-regex@6.24.1 > | | +-- babel-helper-regex@6.26.0 > | | | +-- babel-runtime@6.26.0 deduped > | | | +-- babel-types@6.26.0 deduped > | | | `-- lodash@4.17.15 deduped > | | +-- babel-runtime@6.26.0 deduped > | | `-- babel-types@6.26.0 deduped > | +-- babel-plugin-transform-es2015-template-literals@6.22.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-es2015-typeof-symbol@6.23.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-es2015-unicode-regex@6.24.1 > | | +-- babel-helper-regex@6.26.0 deduped > | | +-- babel-runtime@6.26.0 deduped > | | `-- regexpu-core@2.0.0 > | | +-- regenerate@1.4.0 > | | +-- regjsgen@0.2.0 > | | `-- regjsparser@0.1.5 > | | `-- jsesc@0.5.0 > | +-- babel-plugin-transform-exponentiation-operator@6.24.1 > | | +-- babel-helper-builder-binary-assignment-operator-visitor@6.24.1 > | | | +-- babel-helper-explode-assignable-expression@6.24.1 > | | | | +-- babel-runtime@6.26.0 deduped > | | | | +-- babel-traverse@6.26.0 deduped > | | | | `-- babel-types@6.26.0 deduped > | | | +-- babel-runtime@6.26.0 deduped > | | | `-- babel-types@6.26.0 deduped > | | +-- babel-plugin-syntax-exponentiation-operator@6.13.0 > | | `-- babel-runtime@6.26.0 deduped > | +-- babel-plugin-transform-regenerator@6.26.0 > | | `-- regenerator-transform@0.10.1 > | | +-- babel-runtime@6.26.0 deduped > | | +-- babel-types@6.26.0 deduped > | | `-- private@0.1.8 deduped > | +-- browserslist@3.2.8 > | | +-- caniuse-lite@1.0.30001021 > | | `-- electron-to-chromium@1.3.337 > | +-- invariant@2.2.4 > | | `-- loose-envify@1.4.0 > | | `-- js-tokens@3.0.2 deduped > | `-- semver@5.7.1 > +-- concurrently@3.6.1 > | +-- chalk@2.4.2 > | | +-- ansi-styles@3.2.1 > | | | `-- color-convert@1.9.3 > | | | `-- color-name@1.1.3 > | | +-- escape-string-regexp@1.0.5 > | | `-- supports-color@5.5.0 > | | `-- has-flag@3.0.0 > | +-- commander@2.6.0 > | +-- date-fns@1.30.1 > | +-- lodash@4.17.15 deduped > | +-- read-pkg@3.0.0 > | | +-- load-json-file@4.0.0 > | | | +-- graceful-fs@4.2.3 deduped > | | | +-- parse-json@4.0.0 > | | | | +-- error-ex@1.3.2 > | | | | | `-- is-arrayish@0.2.1 > | | | | `-- json-parse-better-errors@1.0.2 > | | | +-- pify@3.0.0 deduped > | | | `-- strip-bom@3.0.0 > | | +-- normalize-package-data@2.5.0 > | | | +-- hosted-git-info@2.8.5 > | | | +-- resolve@1.14.2 > | | | | `-- path-parse@1.0.6 > | | | +-- semver@5.7.1 deduped > | | | `-- validate-npm-package-license@3.0.4 > | | | +-- spdx-correct@3.1.0 > | | | | +-- spdx-expression-parse@3.0.0 deduped > | | | | `-- spdx-license-ids@3.0.5 > | | | `-- spdx-expression-parse@3.0.0 > | | | +-- spdx-exceptions@2.2.0 > | | | `-- spdx-license-ids@3.0.5 deduped > | | `-- path-type@3.0.0 > | | `-- pify@3.0.0 deduped > | +-- rx@2.3.24 > | +-- spawn-command@0.0.2-1 > | +-- supports-color@3.2.3 > | | `-- has-flag@1.0.0 > | `-- tree-kill@1.2.2 > +-- css-loader@0.28.11 > | +-- babel-code-frame@6.26.0 deduped > | +-- css-selector-tokenizer@0.7.1 > | | +-- cssesc@0.1.0 > | | +-- fastparse@1.1.2 > | | `-- regexpu-core@1.0.0 > | | +-- regenerate@1.4.0 deduped > | | +-- regjsgen@0.2.0 deduped > | | `-- regjsparser@0.1.5 deduped > | +-- cssnano@3.10.0 > | | +-- autoprefixer@6.7.7 > | | | +-- browserslist@1.7.7 > | | | | +-- caniuse-db@1.0.30001021 deduped > | | | | `-- electron-to-chromium@1.3.337 deduped > | | | +-- caniuse-db@1.0.30001021 > | | | +-- normalize-range@0.1.2 > | | | +-- num2fraction@1.2.2 > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-value-parser@3.3.1 deduped > | | +-- decamelize@1.2.0 > | | +-- defined@1.0.0 > | | +-- has@1.0.3 > | | | `-- function-bind@1.1.1 > | | +-- object-assign@4.1.1 deduped > | | +-- postcss@5.2.18 deduped > | | +-- postcss-calc@5.3.1 > | | | +-- postcss@5.2.18 deduped > | | | +-- postcss-message-helpers@2.0.0 > | | | `-- reduce-css-calc@1.3.0 > | | | +-- balanced-match@0.4.2 > | | | +-- math-expression-evaluator@1.2.17 > | | | `-- reduce-function-call@1.0.3 > | | | `-- balanced-match@1.0.0 deduped > | | +-- postcss-colormin@2.2.2 > | | | +-- colormin@1.1.2 > | | | | +-- color@0.11.4 > | | | | | +-- clone@1.0.4 > | | | | | +-- color-convert@1.9.3 > | | | | | | `-- color-name@1.1.3 deduped > | | | | | `-- color-string@0.3.0 > | | | | | `-- color-name@1.1.3 deduped > | | | | +-- css-color-names@0.0.4 > | | | | `-- has@1.0.3 deduped > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-value-parser@3.3.1 deduped > | | +-- postcss-convert-values@2.6.1 > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-value-parser@3.3.1 deduped > | | +-- postcss-discard-comments@2.0.4 > | | | `-- postcss@5.2.18 deduped > | | +-- postcss-discard-duplicates@2.1.0 > | | | `-- postcss@5.2.18 deduped > | | +-- postcss-discard-empty@2.1.0 > | | | `-- postcss@5.2.18 deduped > | | +-- postcss-discard-overridden@0.1.1 > | | | `-- postcss@5.2.18 deduped > | | +-- postcss-discard-unused@2.2.3 > | | | +-- postcss@5.2.18 deduped > | | | `-- uniqs@2.0.0 > | | +-- postcss-filter-plugins@2.0.3 > | | | `-- postcss@5.2.18 deduped > | | +-- postcss-merge-idents@2.1.7 > | | | +-- has@1.0.3 deduped > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-value-parser@3.3.1 deduped > | | +-- postcss-merge-longhand@2.0.2 > | | | `-- postcss@5.2.18 deduped > | | +-- postcss-merge-rules@2.1.2 > | | | +-- browserslist@1.7.7 > | | | | +-- caniuse-db@1.0.30001021 deduped > | | | | `-- electron-to-chromium@1.3.337 deduped > | | | +-- caniuse-api@1.6.1 > | | | | +-- browserslist@1.7.7 > | | | | | +-- caniuse-db@1.0.30001021 deduped > | | | | | `-- electron-to-chromium@1.3.337 deduped > | | | | +-- caniuse-db@1.0.30001021 deduped > | | | | +-- lodash.memoize@4.1.2 > | | | | `-- lodash.uniq@4.5.0 > | | | +-- postcss@5.2.18 deduped > | | | +-- postcss-selector-parser@2.2.3 > | | | | +-- flatten@1.0.3 > | | | | +-- indexes-of@1.0.1 > | | | | `-- uniq@1.0.1 > | | | `-- vendors@1.0.3 > | | +-- postcss-minify-font-values@1.0.5 > | | | +-- object-assign@4.1.1 deduped > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-value-parser@3.3.1 deduped > | | +-- postcss-minify-gradients@1.0.5 > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-value-parser@3.3.1 deduped > | | +-- postcss-minify-params@1.2.2 > | | | +-- alphanum-sort@1.0.2 > | | | +-- postcss@5.2.18 deduped > | | | +-- postcss-value-parser@3.3.1 deduped > | | | `-- uniqs@2.0.0 deduped > | | +-- postcss-minify-selectors@2.1.1 > | | | +-- alphanum-sort@1.0.2 deduped > | | | +-- has@1.0.3 deduped > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-selector-parser@2.2.3 deduped > | | +-- postcss-normalize-charset@1.1.1 > | | | `-- postcss@5.2.18 deduped > | | +-- postcss-normalize-url@3.0.8 > | | | +-- is-absolute-url@2.1.0 > | | | +-- normalize-url@1.9.1 > | | | | +-- object-assign@4.1.1 deduped > | | | | +-- prepend-http@1.0.4 > | | | | +-- query-string@4.3.4 > | | | | | +-- object-assign@4.1.1 deduped > | | | | | `-- strict-uri-encode@1.1.0 > | | | | `-- sort-keys@1.1.2 > | | | | `-- is-plain-obj@1.1.0 > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-value-parser@3.3.1 deduped > | | +-- postcss-ordered-values@2.2.3 > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-value-parser@3.3.1 deduped > | | +-- postcss-reduce-idents@2.4.0 > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-value-parser@3.3.1 deduped > | | +-- postcss-reduce-initial@1.0.1 > | | | `-- postcss@5.2.18 deduped > | | +-- postcss-reduce-transforms@1.0.4 > | | | +-- has@1.0.3 deduped > | | | +-- postcss@5.2.18 deduped > | | | `-- postcss-value-parser@3.3.1 deduped > | | +-- postcss-svgo@2.1.6 > | | | +-- is-svg@2.1.0 > | | | | `-- html-comment-regex@1.1.2 > | | | +-- postcss@5.2.18 deduped > | | | +-- postcss-value-parser@3.3.1 deduped > | | | `-- svgo@0.7.2 > | | | +-- coa@1.0.4 > | | | | `-- q@1.5.1 > | | | +-- colors@1.1.2 > | | | +-- csso@2.3.2 > | | | | +-- clap@1.2.3 > | | | | | `-- chalk@1.1.3 > | | | | | +-- ansi-styles@2.2.1 > | | | | | +-- escape-string-regexp@1.0.5 deduped > | | | | | +-- has-ansi@2.0.0 deduped > | | | | | +-- strip-ansi@3.0.1 deduped > | | | | | `-- supports-color@2.0.0 > | | | | `-- source-map@0.5.7 deduped > | | | +-- js-yaml@3.7.0 > | | | | +-- argparse@1.0.10 > | | | | | `-- sprintf-js@1.0.3 > | | | | `-- esprima@2.7.3 > | | | +-- mkdirp@0.5.1 deduped > | | | +-- sax@1.2.4 > | | | `-- whet.extend@0.9.9 > | | +-- postcss-unique-selectors@2.0.2 > | | | +-- alphanum-sort@1.0.2 deduped > | | | +-- postcss@5.2.18 deduped > | | | `-- uniqs@2.0.0 deduped > | | +-- postcss-value-parser@3.3.1 deduped > | | `-- postcss-zindex@2.2.0 > | | +-- has@1.0.3 deduped > | | +-- postcss@5.2.18 deduped > | | `-- uniqs@2.0.0 deduped > | +-- icss-utils@2.1.0 > | | `-- postcss@6.0.23 > | | +-- chalk@2.4.2 > | | | +-- ansi-styles@3.2.1 deduped > | | | +-- escape-string-regexp@1.0.5 deduped > | | | `-- supports-color@5.5.0 deduped > | | +-- source-map@0.6.1 > | | `-- supports-color@5.5.0 > | | `-- has-flag@3.0.0 > | +-- loader-utils@1.2.3 deduped > | +-- lodash.camelcase@4.3.0 > | +-- object-assign@4.1.1 > | +-- postcss@5.2.18 > | | +-- chalk@1.1.3 > | | | +-- ansi-styles@2.2.1 > | | | +-- escape-string-regexp@1.0.5 deduped > | | | +-- has-ansi@2.0.0 deduped > | | | +-- strip-ansi@3.0.1 deduped > | | | `-- supports-color@2.0.0 > | | +-- js-base64@2.5.1 > | | +-- source-map@0.5.7 deduped > | | `-- supports-color@3.2.3 > | | `-- has-flag@1.0.0 > | +-- postcss-modules-extract-imports@1.2.1 > | | `-- postcss@6.0.23 > | | +-- chalk@2.4.2 > | | | +-- ansi-styles@3.2.1 deduped > | | | +-- escape-string-regexp@1.0.5 deduped > | | | `-- supports-color@5.5.0 deduped > | | +-- source-map@0.6.1 > | | `-- supports-color@5.5.0 > | | `-- has-flag@3.0.0 > | +-- postcss-modules-local-by-default@1.2.0 > | | +-- css-selector-tokenizer@0.7.1 deduped > | | `-- postcss@6.0.23 > | | +-- chalk@2.4.2 > | | | +-- ansi-styles@3.2.1 deduped > | | | +-- escape-string-regexp@1.0.5 deduped > | | | `-- supports-color@5.5.0 deduped > | | +-- source-map@0.6.1 > | | `-- supports-color@5.5.0 > | | `-- has-flag@3.0.0 > | +-- postcss-modules-scope@1.1.0 > | | +-- css-selector-tokenizer@0.7.1 deduped > | | `-- postcss@6.0.23 > | | +-- chalk@2.4.2 > | | | +-- ansi-styles@3.2.1 deduped > | | | +-- escape-string-regexp@1.0.5 deduped > | | | `-- supports-color@5.5.0 deduped > | | +-- source-map@0.6.1 > | | `-- supports-color@5.5.0 > | | `-- has-flag@3.0.0 > | +-- postcss-modules-values@1.3.0 > | | +-- icss-replace-symbols@1.1.0 > | | `-- postcss@6.0.23 > | | +-- chalk@2.4.2 > | | | +-- ansi-styles@3.2.1 deduped > | | | +-- escape-string-regexp@1.0.5 deduped > | | | `-- supports-color@5.5.0 deduped > | | +-- source-map@0.6.1 > | | `-- supports-color@5.5.0 > | | `-- has-flag@3.0.0 > | +-- postcss-value-parser@3.3.1 > | `-- source-list-map@2.0.1 > +-- encoder7bit@1.0.0 > +-- express@4.17.1 > | +-- accepts@1.3.7 > | | +-- mime-types@2.1.26 > | | | `-- mime-db@1.43.0 > | | `-- negotiator@0.6.2 > | +-- array-flatten@1.1.1 > | +-- body-parser@1.19.0 > | | +-- bytes@3.1.0 > | | +-- content-type@1.0.4 deduped > | | +-- debug@2.6.9 deduped > | | +-- depd@1.1.2 deduped > | | +-- http-errors@1.7.2 > | | | +-- depd@1.1.2 deduped > | | | +-- inherits@2.0.3 deduped > | | | +-- setprototypeof@1.1.1 deduped > | | | +-- statuses@1.5.0 deduped > | | | `-- toidentifier@1.0.0 > | | +-- iconv-lite@0.4.24 > | | | `-- safer-buffer@2.1.2 > | | +-- on-finished@2.3.0 deduped > | | +-- qs@6.7.0 deduped > | | +-- raw-body@2.4.0 > | | | +-- bytes@3.1.0 deduped > | | | +-- http-errors@1.7.2 deduped > | | | +-- iconv-lite@0.4.24 deduped > | | | `-- unpipe@1.0.0 deduped > | | `-- type-is@1.6.18 deduped > | +-- content-disposition@0.5.3 > | | `-- safe-buffer@5.1.2 deduped > | +-- content-type@1.0.4 > | +-- cookie@0.4.0 > | +-- cookie-signature@1.0.6 > | +-- debug@2.6.9 deduped > | +-- depd@1.1.2 > | +-- encodeurl@1.0.2 > | +-- escape-html@1.0.3 > | +-- etag@1.8.1 > | +-- finalhandler@1.1.2 > | | +-- debug@2.6.9 deduped > | | +-- encodeurl@1.0.2 deduped > | | +-- escape-html@1.0.3 deduped > | | +-- on-finished@2.3.0 deduped > | | +-- parseurl@1.3.3 deduped > | | +-- statuses@1.5.0 deduped > | | `-- unpipe@1.0.0 > | +-- fresh@0.5.2 > | +-- merge-descriptors@1.0.1 > | +-- methods@1.1.2 > | +-- on-finished@2.3.0 > | | `-- ee-first@1.1.1 > | +-- parseurl@1.3.3 > | +-- path-to-regexp@0.1.7 > | +-- proxy-addr@2.0.5 > | | +-- forwarded@0.1.2 > | | `-- ipaddr.js@1.9.0 > | +-- qs@6.7.0 > | +-- range-parser@1.2.1 > | +-- safe-buffer@5.1.2 > | +-- send@0.17.1 > | | +-- debug@2.6.9 deduped > | | +-- depd@1.1.2 deduped > | | +-- destroy@1.0.4 > | | +-- encodeurl@1.0.2 deduped > | | +-- escape-html@1.0.3 deduped > | | +-- etag@1.8.1 deduped > | | +-- fresh@0.5.2 deduped > | | +-- http-errors@1.7.2 deduped > | | +-- mime@1.6.0 deduped > | | +-- ms@2.1.1 > | | +-- on-finished@2.3.0 deduped > | | +-- range-parser@1.2.1 deduped > | | `-- statuses@1.5.0 deduped > | +-- serve-static@1.14.1 > | | +-- encodeurl@1.0.2 deduped > | | +-- escape-html@1.0.3 deduped > | | +-- parseurl@1.3.3 deduped > | | `-- send@0.17.1 deduped > | +-- setprototypeof@1.1.1 > | +-- statuses@1.5.0 > | +-- type-is@1.6.18 > | | +-- media-typer@0.3.0 > | | `-- mime-types@2.1.26 deduped > | +-- utils-merge@1.0.1 > | `-- vary@1.1.2 > +-- extract-text-webpack-plugin@2.1.2 > | +-- async@2.6.3 > | | `-- lodash@4.17.15 deduped > | +-- loader-utils@1.2.3 deduped > | +-- schema-utils@0.3.0 > | | `-- ajv@5.5.2 > | | +-- co@4.6.0 deduped > | | +-- fast-deep-equal@1.1.0 > | | +-- fast-json-stable-stringify@2.1.0 > | | `-- json-schema-traverse@0.3.1 > | `-- webpack-sources@1.4.3 > | +-- source-list-map@2.0.1 deduped > | `-- source-map@0.6.1 > +-- firmata@2.2.0 > | +-- firmata-io@2.2.0 > | `-- UNMET DEPENDENCY serialport@8.0.6 > +-- html-webpack-plugin@2.30.1 > | +-- bluebird@3.7.2 > | +-- html-minifier@3.5.21 > | | +-- camel-case@3.0.0 > | | | +-- no-case@2.3.2 > | | | | `-- lower-case@1.1.4 > | | | `-- upper-case@1.1.3 > | | +-- clean-css@4.2.1 > | | | `-- source-map@0.6.1 > | | +-- commander@2.17.1 > | | +-- he@1.2.0 > | | +-- param-case@2.1.1 > | | | `-- no-case@2.3.2 deduped > | | +-- relateurl@0.2.7 > | | `-- uglify-js@3.4.10 > | | +-- commander@2.19.0 > | | `-- source-map@0.6.1 > | +-- loader-utils@0.2.17 > | | +-- big.js@3.2.0 > | | +-- emojis-list@2.1.0 deduped > | | +-- json5@0.5.1 deduped > | | `-- object-assign@4.1.1 deduped > | +-- lodash@4.17.15 deduped > | +-- pretty-error@2.1.1 > | | +-- renderkid@2.0.3 > | | | +-- css-select@1.2.0 > | | | | +-- boolbase@1.0.0 > | | | | +-- css-what@2.1.3 > | | | | +-- domutils@1.5.1 > | | | | | +-- dom-serializer@0.2.2 > | | | | | | +-- domelementtype@2.0.1 > | | | | | | `-- entities@2.0.0 > | | | | | `-- domelementtype@1.3.1 deduped > | | | | `-- nth-check@1.0.2 > | | | | `-- boolbase@1.0.0 deduped > | | | +-- dom-converter@0.2.0 > | | | | `-- utila@0.4.0 deduped > | | | +-- htmlparser2@3.10.1 > | | | | +-- domelementtype@1.3.1 > | | | | +-- domhandler@2.4.2 > | | | | | `-- domelementtype@1.3.1 deduped > | | | | +-- domutils@1.5.1 deduped > | | | | +-- entities@1.1.2 > | | | | +-- inherits@2.0.3 deduped > | | | | `-- readable-stream@3.5.0 > | | | | +-- inherits@2.0.3 deduped > | | | | +-- string_decoder@1.1.1 deduped > | | | | `-- util-deprecate@1.0.2 deduped > | | | +-- strip-ansi@3.0.1 deduped > | | | `-- utila@0.4.0 deduped > | | `-- utila@0.4.0 > | `-- toposort@1.0.7 > +-- johnny-five@1.4.0 > | +-- browser-serialport@2.1.0 > | +-- chalk@2.1.0 > | | +-- ansi-styles@3.2.1 deduped > | | +-- escape-string-regexp@1.0.5 deduped > | | `-- supports-color@4.5.0 > | | `-- has-flag@2.0.0 > | +-- color-convert@1.2.2 > | +-- firmata@2.2.0 deduped > | +-- lodash.clonedeep@4.5.0 > | +-- lodash.debounce@4.0.8 > | +-- nanotimer@0.3.10 > | +-- UNMET DEPENDENCY serialport@8.0.6 > | `-- temporal@0.7.1 > +-- rimraf@2.7.1 > | `-- glob@7.1.6 > | +-- fs.realpath@1.0.0 > | +-- inflight@1.0.6 > | | +-- once@1.4.0 deduped > | | `-- wrappy@1.0.2 > | +-- inherits@2.0.3 > | +-- minimatch@3.0.4 deduped > | +-- once@1.4.0 > | | `-- wrappy@1.0.2 deduped > | `-- path-is-absolute@1.0.1 deduped > +-- UNMET DEPENDENCY serialport@8.0.6 > | +-- @serialport/binding-mock@8.0.6 > | | +-- @serialport/binding-abstract@8.0.6 > | | | `-- debug@4.1.1 > | | | `-- ms@2.1.2 > | | `-- debug@4.1.1 > | | `-- ms@2.1.2 > | +-- UNMET DEPENDENCY @serialport/bindings@8.0.6 > | | +-- @serialport/binding-abstract@8.0.6 deduped > | | +-- @serialport/parser-readline@8.0.6 deduped > | | +-- bindings@1.5.0 > | | | `-- file-uri-to-path@1.0.0 > | | +-- UNMET DEPENDENCY debug@4.1.1 > | | | `-- UNMET DEPENDENCY ms@2.1.2 > | | +-- nan@2.14.0 > | | `-- prebuild-install@5.3.3 > | | +-- detect-libc@1.0.3 > | | +-- expand-template@2.0.3 > | | +-- github-from-package@0.0.0 > | | +-- minimist@1.2.0 deduped > | | +-- mkdirp@0.5.1 deduped > | | +-- napi-build-utils@1.0.1 > | | +-- UNMET DEPENDENCY node-abi@2.13.0 > | | | `-- semver@5.7.1 deduped > | | +-- noop-logger@0.1.1 > | | +-- npmlog@4.1.2 > | | | +-- are-we-there-yet@1.1.5 > | | | | +-- delegates@1.0.0 > | | | | `-- readable-stream@2.3.7 deduped > | | | +-- console-control-strings@1.1.0 > | | | +-- gauge@2.7.4 > | | | | +-- aproba@1.2.0 > | | | | +-- console-control-strings@1.1.0 deduped > | | | | +-- has-unicode@2.0.1 > | | | | +-- object-assign@4.1.1 deduped > | | | | +-- signal-exit@3.0.2 > | | | | +-- string-width@1.0.2 deduped > | | | | +-- strip-ansi@3.0.1 deduped > | | | | `-- wide-align@1.1.3 > | | | | `-- string-width@1.0.2 deduped > | | | `-- set-blocking@2.0.0 deduped > | | +-- pump@3.0.0 > | | | +-- end-of-stream@1.4.4 > | | | | `-- once@1.4.0 deduped > | | | `-- once@1.4.0 deduped > | | +-- rc@1.2.8 > | | | +-- deep-extend@0.6.0 > | | | +-- ini@1.3.5 > | | | +-- minimist@1.2.0 deduped > | | | `-- strip-json-comments@2.0.1 > | | +-- simple-get@3.1.0 > | | | +-- decompress-response@4.2.1 > | | | | `-- mimic-response@2.0.0 > | | | +-- once@1.4.0 deduped > | | | `-- simple-concat@1.0.0 > | | +-- tar-fs@2.0.0 > | | | +-- UNMET DEPENDENCY chownr@1.1.3 > | | | +-- mkdirp@0.5.1 deduped > | | | +-- pump@3.0.0 deduped > | | | `-- tar-stream@2.1.0 > | | | +-- bl@3.0.0 > | | | | `-- UNMET DEPENDENCY readable-stream@3.5.0 > | | | | +-- inherits@2.0.3 deduped > | | | | +-- string_decoder@1.1.1 deduped > | | | | `-- util-deprecate@1.0.2 deduped > | | | +-- end-of-stream@1.4.4 deduped > | | | +-- fs-constants@1.0.0 > | | | +-- inherits@2.0.3 deduped > | | | `-- UNMET DEPENDENCY readable-stream@3.5.0 > | | | +-- inherits@2.0.3 deduped > | | | +-- string_decoder@1.1.1 deduped > | | | `-- util-deprecate@1.0.2 deduped > | | +-- tunnel-agent@0.6.0 > | | | `-- safe-buffer@5.1.2 deduped > | | `-- which-pm-runs@1.0.0 > | +-- @serialport/parser-byte-length@8.0.6 > | +-- @serialport/parser-cctalk@8.0.6 > | +-- @serialport/parser-delimiter@8.0.6 > | +-- @serialport/parser-readline@8.0.6 > | | `-- @serialport/parser-delimiter@8.0.6 deduped > | +-- @serialport/parser-ready@8.0.6 > | +-- @serialport/parser-regex@8.0.6 > | +-- @serialport/stream@8.0.6 > | | `-- debug@4.1.1 > | | `-- ms@2.1.2 > | `-- UNMET DEPENDENCY debug@4.1.1 > | `-- UNMET DEPENDENCY ms@2.1.2 > +-- socket.io@2.3.0 > | +-- debug@4.1.1 > | | `-- ms@2.1.2 > | +-- engine.io@3.4.0 > | | +-- accepts@1.3.7 deduped > | | +-- base64id@2.0.0 > | | +-- cookie@0.3.1 > | | +-- debug@4.1.1 > | | | `-- ms@2.1.2 > | | +-- engine.io-parser@2.2.0 > | | | +-- after@0.8.2 > | | | +-- arraybuffer.slice@0.0.7 > | | | +-- base64-arraybuffer@0.1.5 deduped > | | | +-- blob@0.0.5 > | | | `-- has-binary2@1.0.3 deduped > | | `-- ws@7.2.1 > | +-- has-binary2@1.0.3 > | | `-- isarray@2.0.1 > | +-- socket.io-adapter@1.1.2 > | +-- socket.io-client@2.3.0 deduped > | `-- socket.io-parser@3.4.0 > | +-- component-emitter@1.2.1 deduped > | +-- debug@4.1.1 > | | `-- ms@2.1.2 > | `-- isarray@2.0.1 > +-- socket.io-client@2.3.0 > | +-- backo2@1.0.2 > | +-- base64-arraybuffer@0.1.5 > | +-- component-bind@1.0.0 > | +-- component-emitter@1.2.1 > | +-- debug@4.1.1 > | | `-- ms@2.1.2 > | +-- engine.io-client@3.4.0 > | | +-- component-emitter@1.2.1 deduped > | | +-- component-inherit@0.0.3 > | | +-- debug@4.1.1 > | | | `-- ms@2.1.2 > | | +-- engine.io-parser@2.2.0 deduped > | | +-- has-cors@1.1.0 deduped > | | +-- indexof@0.0.1 deduped > | | +-- parseqs@0.0.5 deduped > | | +-- parseuri@0.0.5 deduped > | | +-- ws@6.1.4 > | | | `-- async-limiter@1.0.1 > | | +-- xmlhttprequest-ssl@1.5.5 > | | `-- yeast@0.1.2 > | +-- has-binary2@1.0.3 deduped > | +-- has-cors@1.1.0 > | +-- indexof@0.0.1 > | +-- object-component@0.0.3 > | +-- parseqs@0.0.5 > | | `-- better-assert@1.0.2 > | | `-- callsite@1.0.0 > | +-- parseuri@0.0.5 > | | `-- better-assert@1.0.2 deduped > | +-- socket.io-parser@3.3.0 > | | +-- component-emitter@1.2.1 deduped > | | +-- debug@3.1.0 > | | | `-- ms@2.0.0 > | | `-- isarray@2.0.1 > | `-- to-array@0.1.4 > +-- style-loader@0.18.2 > | +-- loader-utils@1.2.3 deduped > | `-- schema-utils@0.3.0 deduped > +-- webpack@2.7.0 > | +-- acorn@5.7.3 > | +-- acorn-dynamic-import@2.0.2 > | | `-- acorn@4.0.13 > | +-- ajv@4.11.8 > | | +-- co@4.6.0 > | | `-- json-stable-stringify@1.0.1 > | | `-- jsonify@0.0.0 > | +-- ajv-keywords@1.5.1 > | +-- async@2.6.3 deduped > | +-- enhanced-resolve@3.4.1 > | | +-- graceful-fs@4.2.3 > | | +-- memory-fs@0.4.1 deduped > | | +-- object-assign@4.1.1 deduped > | | `-- tapable@0.2.9 deduped > | +-- interpret@1.2.0 > | +-- json-loader@0.5.7 > | +-- json5@0.5.1 deduped > | +-- loader-runner@2.4.0 > | +-- loader-utils@0.2.17 > | | +-- big.js@3.2.0 > | | +-- emojis-list@2.1.0 deduped > | | +-- json5@0.5.1 deduped > | | `-- object-assign@4.1.1 deduped > | +-- memory-fs@0.4.1 > | | +-- errno@0.1.7 > | | | `-- prr@1.0.1 > | | `-- readable-stream@2.3.7 > | | +-- core-util-is@1.0.2 > | | +-- inherits@2.0.3 deduped > | | +-- isarray@1.0.0 > | | +-- process-nextick-args@2.0.1 > | | +-- safe-buffer@5.1.2 deduped > | | +-- string_decoder@1.1.1 deduped > | | `-- util-deprecate@1.0.2 > | +-- mkdirp@0.5.1 deduped > | +-- node-libs-browser@2.2.1 > | | +-- assert@1.5.0 > | | | +-- object-assign@4.1.1 deduped > | | | `-- util@0.10.3 > | | | `-- inherits@2.0.1 > | | +-- browserify-zlib@0.2.0 > | | | `-- pako@1.0.10 > | | +-- buffer@4.9.2 > | | | +-- base64-js@1.3.1 > | | | +-- ieee754@1.1.13 > | | | `-- isarray@1.0.0 deduped > | | +-- console-browserify@1.2.0 > | | +-- constants-browserify@1.0.0 > | | +-- crypto-browserify@3.12.0 > | | | +-- browserify-cipher@1.0.1 > | | | | +-- browserify-aes@1.2.0 > | | | | | +-- buffer-xor@1.0.3 > | | | | | +-- cipher-base@1.0.4 deduped > | | | | | +-- create-hash@1.2.0 deduped > | | | | | +-- evp_bytestokey@1.0.3 deduped > | | | | | +-- inherits@2.0.3 deduped > | | | | | `-- safe-buffer@5.1.2 deduped > | | | | +-- browserify-des@1.0.2 > | | | | | +-- cipher-base@1.0.4 deduped > | | | | | +-- des.js@1.0.1 > | | | | | | +-- inherits@2.0.3 deduped > | | | | | | `-- minimalistic-assert@1.0.1 deduped > | | | | | +-- inherits@2.0.3 deduped > | | | | | `-- safe-buffer@5.1.2 deduped > | | | | `-- evp_bytestokey@1.0.3 > | | | | +-- md5.js@1.3.5 deduped > | | | | `-- safe-buffer@5.1.2 deduped > | | | +-- browserify-sign@4.0.4 > | | | | +-- bn.js@4.11.8 > | | | | +-- browserify-rsa@4.0.1 > | | | | | +-- bn.js@4.11.8 deduped > | | | | | `-- randombytes@2.1.0 deduped > | | | | +-- create-hash@1.2.0 deduped > | | | | +-- create-hmac@1.1.7 deduped > | | | | +-- elliptic@6.5.2 > | | | | | +-- bn.js@4.11.8 deduped > | | | | | +-- brorand@1.1.0 > | | | | | +-- hash.js@1.1.7 > | | | | | | +-- inherits@2.0.3 deduped > | | | | | | `-- minimalistic-assert@1.0.1 deduped > | | | | | +-- hmac-drbg@1.0.1 > | | | | | | +-- hash.js@1.1.7 deduped > | | | | | | +-- minimalistic-assert@1.0.1 deduped > | | | | | | `-- minimalistic-crypto-utils@1.0.1 deduped > | | | | | +-- inherits@2.0.3 deduped > | | | | | +-- minimalistic-assert@1.0.1 > | | | | | `-- minimalistic-crypto-utils@1.0.1 > | | | | +-- inherits@2.0.3 deduped > | | | | `-- parse-asn1@5.1.5 > | | | | +-- asn1.js@4.10.1 > | | | | | +-- bn.js@4.11.8 deduped > | | | | | +-- inherits@2.0.3 deduped > | | | | | `-- minimalistic-assert@1.0.1 deduped > | | | | +-- browserify-aes@1.2.0 deduped > | | | | +-- create-hash@1.2.0 deduped > | | | | +-- evp_bytestokey@1.0.3 deduped > | | | | +-- pbkdf2@3.0.17 deduped > | | | | `-- safe-buffer@5.1.2 deduped > | | | +-- create-ecdh@4.0.3 > | | | | +-- bn.js@4.11.8 deduped > | | | | `-- elliptic@6.5.2 deduped > | | | +-- create-hash@1.2.0 > | | | | +-- cipher-base@1.0.4 > | | | | | +-- inherits@2.0.3 deduped > | | | | | `-- safe-buffer@5.1.2 deduped > | | | | +-- inherits@2.0.3 deduped > | | | | +-- md5.js@1.3.5 > | | | | | +-- hash-base@3.0.4 > | | | | | | +-- inherits@2.0.3 deduped > | | | | | | `-- safe-buffer@5.1.2 deduped > | | | | | +-- inherits@2.0.3 deduped > | | | | | `-- safe-buffer@5.1.2 deduped > | | | | +-- ripemd160@2.0.2 > | | | | | +-- hash-base@3.0.4 deduped > | | | | | `-- inherits@2.0.3 deduped > | | | | `-- sha.js@2.4.11 > | | | | +-- inherits@2.0.3 deduped > | | | | `-- safe-buffer@5.1.2 deduped > | | | +-- create-hmac@1.1.7 > | | | | +-- cipher-base@1.0.4 deduped > | | | | +-- create-hash@1.2.0 deduped > | | | | +-- inherits@2.0.3 deduped > | | | | +-- ripemd160@2.0.2 deduped > | | | | +-- safe-buffer@5.1.2 deduped > | | | | `-- sha.js@2.4.11 deduped > | | | +-- diffie-hellman@5.0.3 > | | | | +-- bn.js@4.11.8 deduped > | | | | +-- miller-rabin@4.0.1 > | | | | | +-- bn.js@4.11.8 deduped > | | | | | `-- brorand@1.1.0 deduped > | | | | `-- randombytes@2.1.0 deduped > | | | +-- inherits@2.0.3 deduped > | | | +-- pbkdf2@3.0.17 > | | | | +-- create-hash@1.2.0 deduped > | | | | +-- create-hmac@1.1.7 deduped > | | | | +-- ripemd160@2.0.2 deduped > | | | | +-- safe-buffer@5.1.2 deduped > | | | | `-- sha.js@2.4.11 deduped > | | | +-- public-encrypt@4.0.3 > | | | | +-- bn.js@4.11.8 deduped > | | | | +-- browserify-rsa@4.0.1 deduped > | | | | +-- create-hash@1.2.0 deduped > | | | | +-- parse-asn1@5.1.5 deduped > | | | | +-- randombytes@2.1.0 deduped > | | | | `-- safe-buffer@5.1.2 deduped > | | | +-- randombytes@2.1.0 > | | | | `-- safe-buffer@5.1.2 deduped > | | | `-- randomfill@1.0.4 > | | | +-- randombytes@2.1.0 deduped > | | | `-- safe-buffer@5.1.2 deduped > | | +-- domain-browser@1.2.0 > | | +-- events@3.1.0 > | | +-- https-browserify@1.0.0 > | | +-- os-browserify@0.3.0 > | | +-- path-browserify@0.0.1 > | | +-- process@0.11.10 > | | +-- punycode@1.4.1 > | | +-- querystring-es3@0.2.1 > | | +-- readable-stream@2.3.7 deduped > | | +-- stream-browserify@2.0.2 > | | | +-- inherits@2.0.3 deduped > | | | `-- readable-stream@2.3.7 deduped > | | +-- stream-http@2.8.3 > | | | +-- builtin-status-codes@3.0.0 > | | | +-- inherits@2.0.3 deduped > | | | +-- readable-stream@2.3.7 deduped > | | | +-- to-arraybuffer@1.0.1 > | | | `-- xtend@4.0.2 > | | +-- string_decoder@1.1.1 > | | | `-- safe-buffer@5.1.2 deduped > | | +-- timers-browserify@2.0.11 > | | | `-- setimmediate@1.0.5 > | | +-- tty-browserify@0.0.0 > | | +-- url@0.11.0 > | | | +-- punycode@1.3.2 > | | | `-- querystring@0.2.0 > | | +-- util@0.11.1 > | | | `-- inherits@2.0.3 deduped > | | `-- vm-browserify@1.1.2 > | +-- source-map@0.5.7 deduped > | +-- supports-color@3.2.3 > | | `-- has-flag@1.0.0 > | +-- tapable@0.2.9 > | +-- uglify-js@2.8.29 > | | +-- source-map@0.5.7 deduped > | | +-- uglify-to-browserify@1.0.2 > | | `-- yargs@3.10.0 > | | +-- camelcase@1.2.1 > | | +-- cliui@2.1.0 > | | | +-- center-align@0.1.3 > | | | | +-- align-text@0.1.4 > | | | | | +-- kind-of@3.2.2 deduped > | | | | | +-- longest@1.0.1 > | | | | | `-- repeat-string@1.6.1 deduped > | | | | `-- lazy-cache@1.0.4 > | | | +-- right-align@0.1.3 > | | | | `-- align-text@0.1.4 deduped > | | | `-- wordwrap@0.0.2 > | | +-- decamelize@1.2.0 deduped > | | `-- window-size@0.1.0 > | +-- watchpack@1.6.0 > | | +-- chokidar@2.1.8 > | | | +-- anymatch@2.0.0 > | | | | +-- micromatch@3.1.10 > | | | | | +-- arr-diff@4.0.0 > | | | | | +-- array-unique@0.3.2 deduped > | | | | | +-- braces@2.3.2 deduped > | | | | | +-- define-property@2.0.2 > | | | | | | +-- is-descriptor@1.0.2 > | | | | | | | +-- is-accessor-descriptor@1.0.0 > | | | | | | | | `-- kind-of@6.0.3 deduped > | | | | | | | +-- is-data-descriptor@1.0.0 > | | | | | | | | `-- kind-of@6.0.3 deduped > | | | | | | | `-- kind-of@6.0.3 > | | | | | | `-- isobject@3.0.1 deduped > | | | | | +-- extend-shallow@3.0.2 > | | | | | | +-- assign-symbols@1.0.0 > | | | | | | `-- is-extendable@1.0.1 > | | | | | | `-- is-plain-object@2.0.4 > | | | | | | `-- isobject@3.0.1 deduped > | | | | | +-- extglob@2.0.4 > | | | | | | +-- array-unique@0.3.2 deduped > | | | | | | +-- define-property@1.0.0 > | | | | | | | `-- is-descriptor@1.0.2 > | | | | | | | +-- is-accessor-descriptor@1.0.0 > | | | | | | | | `-- kind-of@6.0.3 deduped > | | | | | | | +-- is-data-descriptor@1.0.0 > | | | | | | | | `-- kind-of@6.0.3 deduped > | | | | | | | `-- kind-of@6.0.3 > | | | | | | +-- expand-brackets@2.1.4 > | | | | | | | +-- debug@2.6.9 deduped > | | | | | | | +-- define-property@0.2.5 > | | | | | | | | `-- is-descriptor@0.1.6 deduped > | | | | | | | +-- extend-shallow@2.0.1 > | | | | | | | | `-- is-extendable@0.1.1 deduped > | | | | | | | +-- posix-character-classes@0.1.1 > | | | | | | | +-- regex-not@1.0.2 deduped > | | | | | | | +-- snapdragon@0.8.2 deduped > | | | | | | | `-- to-regex@3.0.2 deduped > | | | | | | +-- extend-shallow@2.0.1 > | | | | | | | `-- is-extendable@0.1.1 deduped > | | | | | | +-- fragment-cache@0.2.1 deduped > | | | | | | +-- regex-not@1.0.2 deduped > | | | | | | +-- snapdragon@0.8.2 deduped > | | | | | | `-- to-regex@3.0.2 deduped > | | | | | +-- fragment-cache@0.2.1 > | | | | | | `-- map-cache@0.2.2 deduped > | | | | | +-- kind-of@6.0.3 > | | | | | +-- nanomatch@1.2.13 > | | | | | | +-- arr-diff@4.0.0 deduped > | | | | | | +-- array-unique@0.3.2 deduped > | | | | | | +-- define-property@2.0.2 deduped > | | | | | | +-- extend-shallow@3.0.2 deduped > | | | | | | +-- fragment-cache@0.2.1 deduped > | | | | | | +-- is-windows@1.0.2 > | | | | | | +-- kind-of@6.0.3 > | | | | | | +-- object.pick@1.3.0 deduped > | | | | | | +-- regex-not@1.0.2 deduped > | | | | | | +-- snapdragon@0.8.2 deduped > | | | | | | `-- to-regex@3.0.2 deduped > | | | | | +-- object.pick@1.3.0 > | | | | | | `-- isobject@3.0.1 deduped > | | | | | +-- regex-not@1.0.2 > | | | | | | +-- extend-shallow@3.0.2 deduped > | | | | | | `-- safe-regex@1.1.0 deduped > | | | | | +-- snapdragon@0.8.2 deduped > | | | | | `-- to-regex@3.0.2 deduped > | | | | `-- normalize-path@2.1.1 > | | | | `-- remove-trailing-separator@1.1.0 > | | | +-- async-each@1.0.3 > | | | +-- braces@2.3.2 > | | | | +-- arr-flatten@1.1.0 > | | | | +-- array-unique@0.3.2 > | | | | +-- extend-shallow@2.0.1 > | | | | | `-- is-extendable@0.1.1 > | | | | +-- fill-range@4.0.0 > | | | | | +-- extend-shallow@2.0.1 > | | | | | | `-- is-extendable@0.1.1 deduped > | | | | | +-- is-number@3.0.0 > | | | | | | `-- kind-of@3.2.2 > | | | | | | `-- is-buffer@1.1.6 > | | | | | +-- repeat-string@1.6.1 > | | | | | `-- to-regex-range@2.1.1 > | | | | | +-- is-number@3.0.0 deduped > | | | | | `-- repeat-string@1.6.1 deduped > | | | | +-- isobject@3.0.1 > | | | | +-- repeat-element@1.1.3 > | | | | +-- snapdragon@0.8.2 > | | | | | +-- base@0.11.2 > | | | | | | +-- cache-base@1.0.1 > | | | | | | | +-- collection-visit@1.0.0 > | | | | | | | | +-- map-visit@1.0.0 > | | | | | | | | | `-- object-visit@1.0.1 deduped > | | | | | | | | `-- object-visit@1.0.1 > | | | | | | | | `-- isobject@3.0.1 deduped > | | | | | | | +-- component-emitter@1.2.1 deduped > | | | | | | | +-- get-value@2.0.6 > | | | | | | | +-- has-value@1.0.0 > | | | | | | | | +-- get-value@2.0.6 deduped > | | | | | | | | +-- has-values@1.0.0 > | | | | | | | | | +-- is-number@3.0.0 deduped > | | | | | | | | | `-- kind-of@4.0.0 > | | | | | | | | | `-- is-buffer@1.1.6 deduped > | | | | | | | | `-- isobject@3.0.1 deduped > | | | | | | | +-- isobject@3.0.1 deduped > | | | | | | | +-- set-value@2.0.1 > | | | | | | | | +-- extend-shallow@2.0.1 > | | | | | | | | | `-- is-extendable@0.1.1 deduped > | | | | | | | | +-- is-extendable@0.1.1 deduped > | | | | | | | | +-- is-plain-object@2.0.4 deduped > | | | | | | | | `-- split-string@3.1.0 deduped > | | | | | | | +-- to-object-path@0.3.0 > | | | | | | | | `-- kind-of@3.2.2 deduped > | | | | | | | +-- union-value@1.0.1 > | | | | | | | | +-- arr-union@3.1.0 deduped > | | | | | | | | +-- get-value@2.0.6 deduped > | | | | | | | | +-- is-extendable@0.1.1 deduped > | | | | | | | | `-- set-value@2.0.1 deduped > | | | | | | | `-- unset-value@1.0.0 > | | | | | | | +-- has-value@0.3.1 > | | | | | | | | +-- get-value@2.0.6 deduped > | | | | | | | | +-- has-values@0.1.4 > | | | | | | | | `-- isobject@2.1.0 > | | | | | | | | `-- isarray@1.0.0 deduped > | | | | | | | `-- isobject@3.0.1 deduped > | | | | | | +-- class-utils@0.3.6 > | | | | | | | +-- arr-union@3.1.0 > | | | | | | | +-- define-property@0.2.5 > | | | | | | | | `-- is-descriptor@0.1.6 deduped > | | | | | | | +-- isobject@3.0.1 deduped > | | | | | | | `-- static-extend@0.1.2 > | | | | | | | +-- define-property@0.2.5 > | | | | | | | | `-- is-descriptor@0.1.6 deduped > | | | | | | | `-- object-copy@0.1.0 > | | | | | | | +-- copy-descriptor@0.1.1 > | | | | | | | +-- define-property@0.2.5 > | | | | | | | | `-- is-descriptor@0.1.6 deduped > | | | | | | | `-- kind-of@3.2.2 deduped > | | | | | | +-- component-emitter@1.2.1 deduped > | | | | | | +-- define-property@1.0.0 > | | | | | | | `-- is-descriptor@1.0.2 > | | | | | | | +-- is-accessor-descriptor@1.0.0 > | | | | | | | | `-- kind-of@6.0.3 deduped > | | | | | | | +-- is-data-descriptor@1.0.0 > | | | | | | | | `-- kind-of@6.0.3 deduped > | | | | | | | `-- kind-of@6.0.3 > | | | | | | +-- isobject@3.0.1 deduped > | | | | | | +-- mixin-deep@1.3.2 > | | | | | | | +-- for-in@1.0.2 > | | | | | | | `-- is-extendable@1.0.1 > | | | | | | | `-- is-plain-object@2.0.4 deduped > | | | | | | `-- pascalcase@0.1.1 > | | | | | +-- debug@2.6.9 deduped > | | | | | +-- define-property@0.2.5 > | | | | | | `-- is-descriptor@0.1.6 > | | | | | | +-- is-accessor-descriptor@0.1.6 > | | | | | | | `-- kind-of@3.2.2 deduped > | | | | | | +-- is-data-descriptor@0.1.4 > | | | | | | | `-- kind-of@3.2.2 deduped > | | | | | | `-- kind-of@5.1.0 > | | | | | +-- extend-shallow@2.0.1 > | | | | | | `-- is-extendable@0.1.1 deduped > | | | | | +-- map-cache@0.2.2 > | | | | | +-- source-map@0.5.7 deduped > | | | | | +-- source-map-resolve@0.5.3 > | | | | | | +-- atob@2.1.2 > | | | | | | +-- decode-uri-component@0.2.0 > | | | | | | +-- resolve-url@0.2.1 > | | | | | | +-- source-map-url@0.4.0 > | | | | | | `-- urix@0.1.0 > | | | | | `-- use@3.1.1 > | | | | +-- snapdragon-node@2.1.1 > | | | | | +-- define-property@1.0.0 > | | | | | | `-- is-descriptor@1.0.2 > | | | | | | +-- is-accessor-descriptor@1.0.0 > | | | | | | | `-- kind-of@6.0.3 deduped > | | | | | | +-- is-data-descriptor@1.0.0 > | | | | | | | `-- kind-of@6.0.3 deduped > | | | | | | `-- kind-of@6.0.3 > | | | | | +-- isobject@3.0.1 deduped > | | | | | `-- snapdragon-util@3.0.1 > | | | | | `-- kind-of@3.2.2 deduped > | | | | +-- split-string@3.1.0 > | | | | | `-- extend-shallow@3.0.2 deduped > | | | | `-- to-regex@3.0.2 > | | | | +-- define-property@2.0.2 deduped > | | | | +-- extend-shallow@3.0.2 deduped > | | | | +-- regex-not@1.0.2 deduped > | | | | `-- safe-regex@1.1.0 > | | | | `-- ret@0.1.15 > | | | +-- UNMET OPTIONAL DEPENDENCY fsevents@1.2.11 > | | | | +-- bindings@1.5.0 deduped > | | | | +-- nan@2.14.0 deduped > | | | | `-- UNMET OPTIONAL DEPENDENCY node-pre-gyp@0.14.0 > | | | | +-- UNMET OPTIONAL DEPENDENCY detect-libc@1.0.3 > | | | | +-- UNMET OPTIONAL DEPENDENCY mkdirp@0.5.1 > | | | | | `-- UNMET OPTIONAL DEPENDENCY minimist@0.0.8 > | | | | +-- UNMET OPTIONAL DEPENDENCY needle@2.4.0 > | | | | | +-- UNMET OPTIONAL DEPENDENCY debug@3.2.6 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY ms@2.1.2 > | | | | | +-- UNMET OPTIONAL DEPENDENCY iconv-lite@0.4.24 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY safer-buffer@2.1.2 > | | | | | `-- UNMET OPTIONAL DEPENDENCY sax@1.2.4 > | | | | +-- UNMET OPTIONAL DEPENDENCY nopt@4.0.1 > | | | | | +-- UNMET OPTIONAL DEPENDENCY abbrev@1.1.1 > | | | | | `-- UNMET OPTIONAL DEPENDENCY osenv@0.1.5 > | | | | | +-- UNMET OPTIONAL DEPENDENCY os-homedir@1.0.2 > | | | | | `-- UNMET OPTIONAL DEPENDENCY os-tmpdir@1.0.2 > | | | | +-- UNMET OPTIONAL DEPENDENCY npm-packlist@1.4.7 > | | | | | +-- UNMET OPTIONAL DEPENDENCY ignore-walk@3.0.3 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY minimatch@3.0.4 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY brace-expansion@1.1.11 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY balanced-match@1.0.0 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY concat-map@0.0.1 > | | | | | `-- UNMET OPTIONAL DEPENDENCY npm-bundled@1.1.1 > | | | | | `-- UNMET OPTIONAL DEPENDENCY npm-normalize-package-bin@1.0.1 > | | | | +-- UNMET OPTIONAL DEPENDENCY npmlog@4.1.2 > | | | | | +-- UNMET OPTIONAL DEPENDENCY are-we-there-yet@1.1.5 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY delegates@1.0.0 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY readable-stream@2.3.6 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY core-util-is@1.0.2 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY inherits@2.0.4 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY isarray@1.0.0 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY process-nextick-args@2.0.1 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY safe-buffer@5.1.2 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY string_decoder@1.1.1 > | | | | | | | `-- UNMET OPTIONAL DEPENDENCY safe-buffer@5.1.2 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY util-deprecate@1.0.2 > | | | | | +-- UNMET OPTIONAL DEPENDENCY console-control-strings@1.1.0 > | | | | | +-- UNMET OPTIONAL DEPENDENCY gauge@2.7.4 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY aproba@1.2.0 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY console-control-strings@1.1.0 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY has-unicode@2.0.1 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY object-assign@4.1.1 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY signal-exit@3.0.2 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY string-width@1.0.2 > | | | | | | | +-- UNMET OPTIONAL DEPENDENCY code-point-at@1.1.0 > | | | | | | | +-- UNMET OPTIONAL DEPENDENCY is-fullwidth-code-point@1.0.0 > | | | | | | | | `-- UNMET OPTIONAL DEPENDENCY number-is-nan@1.0.1 > | | | | | | | `-- UNMET OPTIONAL DEPENDENCY strip-ansi@3.0.1 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY strip-ansi@3.0.1 > | | | | | | | `-- UNMET OPTIONAL DEPENDENCY ansi-regex@2.1.1 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY wide-align@1.1.3 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY string-width@1.0.2 > | | | | | `-- UNMET OPTIONAL DEPENDENCY set-blocking@2.0.0 > | | | | +-- UNMET OPTIONAL DEPENDENCY rc@1.2.8 > | | | | | +-- UNMET OPTIONAL DEPENDENCY deep-extend@0.6.0 > | | | | | +-- UNMET OPTIONAL DEPENDENCY ini@1.3.5 > | | | | | +-- UNMET OPTIONAL DEPENDENCY minimist@1.2.0 > | | | | | `-- UNMET OPTIONAL DEPENDENCY strip-json-comments@2.0.1 > | | | | +-- UNMET OPTIONAL DEPENDENCY rimraf@2.7.1 > | | | | | `-- UNMET OPTIONAL DEPENDENCY glob@7.1.6 > | | | | | +-- UNMET OPTIONAL DEPENDENCY fs.realpath@1.0.0 > | | | | | +-- UNMET OPTIONAL DEPENDENCY inflight@1.0.6 > | | | | | | +-- UNMET OPTIONAL DEPENDENCY once@1.4.0 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY wrappy@1.0.2 > | | | | | +-- UNMET OPTIONAL DEPENDENCY inherits@2.0.4 > | | | | | +-- UNMET OPTIONAL DEPENDENCY minimatch@3.0.4 > | | | | | +-- UNMET OPTIONAL DEPENDENCY once@1.4.0 > | | | | | | `-- UNMET OPTIONAL DEPENDENCY wrappy@1.0.2 > | | | | | `-- UNMET OPTIONAL DEPENDENCY path-is-absolute@1.0.1 > | | | | +-- UNMET OPTIONAL DEPENDENCY semver@5.7.1 > | | | | `-- UNMET OPTIONAL DEPENDENCY tar@4.4.13 > | | | | +-- UNMET OPTIONAL DEPENDENCY chownr@1.1.3 > | | | | +-- UNMET OPTIONAL DEPENDENCY fs-minipass@1.2.7 > | | | | | `-- UNMET OPTIONAL DEPENDENCY minipass@2.9.0 > | | | | +-- UNMET OPTIONAL DEPENDENCY minipass@2.9.0 > | | | | | +-- UNMET OPTIONAL DEPENDENCY safe-buffer@5.1.2 > | | | | | `-- UNMET OPTIONAL DEPENDENCY yallist@3.1.1 > | | | | +-- UNMET OPTIONAL DEPENDENCY minizlib@1.3.3 > | | | | | `-- UNMET OPTIONAL DEPENDENCY minipass@2.9.0 > | | | | +-- UNMET OPTIONAL DEPENDENCY mkdirp@0.5.1 > | | | | +-- UNMET OPTIONAL DEPENDENCY safe-buffer@5.1.2 > | | | | `-- UNMET OPTIONAL DEPENDENCY yallist@3.1.1 > | | | +-- glob-parent@3.1.0 > | | | | +-- is-glob@3.1.0 > | | | | | `-- is-extglob@2.1.1 deduped > | | | | `-- path-dirname@1.0.2 > | | | +-- inherits@2.0.3 deduped > | | | +-- is-binary-path@1.0.1 > | | | | `-- binary-extensions@1.13.1 > | | | +-- is-glob@4.0.1 > | | | | `-- is-extglob@2.1.1 > | | | +-- normalize-path@3.0.0 > | | | +-- path-is-absolute@1.0.1 deduped > | | | +-- readdirp@2.2.1 > | | | | +-- graceful-fs@4.2.3 deduped > | | | | +-- micromatch@3.1.10 deduped > | | | | `-- readable-stream@2.3.7 deduped > | | | `-- upath@1.2.0 > | | +-- graceful-fs@4.2.3 deduped > | | `-- neo-async@2.6.1 > | +-- webpack-sources@1.4.3 deduped > | `-- yargs@6.6.0 > | +-- camelcase@3.0.0 > | +-- cliui@3.2.0 > | | +-- string-width@1.0.2 deduped > | | +-- strip-ansi@3.0.1 deduped > | | `-- wrap-ansi@2.1.0 > | | +-- string-width@1.0.2 deduped > | | `-- strip-ansi@3.0.1 deduped > | +-- decamelize@1.2.0 deduped > | +-- get-caller-file@1.0.3 > | +-- os-locale@1.4.0 > | | `-- lcid@1.0.0 > | | `-- invert-kv@1.0.0 > | +-- read-pkg-up@1.0.1 > | | +-- find-up@1.1.2 > | | | +-- path-exists@2.1.0 > | | | | `-- pinkie-promise@2.0.1 deduped > | | | `-- pinkie-promise@2.0.1 > | | | `-- pinkie@2.0.4 > | | `-- read-pkg@1.1.0 > | | +-- load-json-file@1.1.0 > | | | +-- graceful-fs@4.2.3 deduped > | | | +-- parse-json@2.2.0 > | | | | `-- error-ex@1.3.2 deduped > | | | +-- pify@2.3.0 > | | | +-- pinkie-promise@2.0.1 deduped > | | | `-- strip-bom@2.0.0 > | | | `-- is-utf8@0.2.1 > | | +-- normalize-package-data@2.5.0 deduped > | | `-- path-type@1.1.0 > | | +-- graceful-fs@4.2.3 deduped > | | +-- pify@2.3.0 deduped > | | `-- pinkie-promise@2.0.1 deduped > | +-- require-directory@2.1.1 > | +-- require-main-filename@1.0.1 > | +-- set-blocking@2.0.0 > | +-- string-width@1.0.2 > | | +-- code-point-at@1.1.0 > | | +-- is-fullwidth-code-point@1.0.0 > | | | `-- number-is-nan@1.0.1 > | | `-- strip-ansi@3.0.1 deduped > | +-- which-module@1.0.0 > | +-- y18n@3.2.1 > | `-- yargs-parser@4.2.1 > | `-- camelcase@3.0.0 > `-- webpack-dev-middleware@1.12.2 > +-- memory-fs@0.4.1 deduped > +-- mime@1.6.0 > +-- path-is-absolute@1.0.1 deduped > +-- range-parser@1.2.1 deduped > `-- time-stamp@2.2.0 > > npm ERR! missing: serialport@8.0.6, required by minty-hydro@1.0.0 > npm ERR! missing: serialport@8.0.6, required by firmata@2.2.0 > npm ERR! missing: serialport@8.0.6, required by johnny-five@1.4.0 > npm ERR! missing: @serialport/bindings@8.0.6, required by serialport@8.0.6 > npm ERR! missing: debug@4.1.1, required by serialport@8.0.6 > npm ERR! missing: debug@4.1.1, required by @serialport/bindings@8.0.6 > npm ERR! missing: ms@2.1.2, required by debug@4.1.1 > npm ERR! missing: node-abi@2.13.0, required by prebuild-install@5.3.3 > npm ERR! missing: chownr@1.1.3, required by tar-fs@2.0.0 > npm ERR! missing: readable-stream@3.5.0, required by tar-stream@2.1.0 > npm ERR! missing: readable-stream@3.5.0, required by bl@3.0.0 > npm ERR! missing: ms@2.1.2, required by debug@4.1.1
stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.