An easy-to-use platform for EEG experimentation in the classroom
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Removed noble-winrt and patch-package

jdpigeon 35dfeba3 d802f426

+31 -439
+4 -31
app/package-lock.json
··· 315 315 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", 316 316 "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" 317 317 }, 318 - "chrome-native-messaging": { 319 - "version": "0.2.0", 320 - "resolved": "https://registry.npmjs.org/chrome-native-messaging/-/chrome-native-messaging-0.2.0.tgz", 321 - "integrity": "sha1-wULN5SS9GxhU4U9X4HijlqbaOCY=" 322 - }, 323 318 "ci-info": { 324 319 "version": "1.6.0", 325 320 "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", ··· 416 411 "version": "2.2.0", 417 412 "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", 418 413 "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", 414 + "optional": true, 419 415 "requires": { 420 416 "ms": "0.7.1" 421 417 } ··· 927 923 "ms": { 928 924 "version": "0.7.1", 929 925 "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", 930 - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" 926 + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", 927 + "optional": true 931 928 }, 932 929 "nan": { 933 930 "version": "2.14.0", ··· 969 966 "version": "1.9.1", 970 967 "resolved": "https://registry.npmjs.org/noble/-/noble-1.9.1.tgz", 971 968 "integrity": "sha1-LM0x6tjsktv/bxmkLkILJYvNzdA=", 969 + "optional": true, 972 970 "requires": { 973 971 "bluetooth-hci-socket": "^0.5.1", 974 972 "bplist-parser": "0.0.6", 975 973 "debug": "~2.2.0", 976 974 "xpc-connection": "~0.1.4" 977 - } 978 - }, 979 - "noble-winrt": { 980 - "version": "0.1.1", 981 - "resolved": "https://registry.npmjs.org/noble-winrt/-/noble-winrt-0.1.1.tgz", 982 - "integrity": "sha512-IUlWQfaHJMuiYOQTGvW4YdWeQR7E6tBVXut8KDMkIFGAKU+LNvTciWYTwHUlzqZKtuP3jc9VFMBvR9UDFNq7Sw==", 983 - "requires": { 984 - "chrome-native-messaging": "^0.2.0", 985 - "debug": "^2.6.8", 986 - "noble": "^1.7.0" 987 - }, 988 - "dependencies": { 989 - "debug": { 990 - "version": "2.6.9", 991 - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 992 - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 993 - "requires": { 994 - "ms": "2.0.0" 995 - } 996 - }, 997 - "ms": { 998 - "version": "2.0.0", 999 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1000 - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1001 - } 1002 975 } 1003 976 }, 1004 977 "node-abi": {
+2 -3
app/package.json
··· 11 11 }, 12 12 "scripts": { 13 13 "electron-rebuild": "node -r babel-register ../internals/scripts/ElectronRebuild.js", 14 - "postinstall": "patch-package && npm run electron-rebuild" 14 + "postinstall": "npm run electron-rebuild" 15 15 }, 16 16 "license": "MIT", 17 17 "dependencies": { 18 18 "@babel/runtime-corejs2": "^7.0.0", 19 19 "@neurosity/pipes": "^3.2.3", 20 20 "babel-runtime": "^6.26.0", 21 - "bleat": "^0.1.8", 21 + "bleat": "^0.1.9", 22 22 "enchannel-zmq-backend": "^6.0.11", 23 23 "kernelspecs": "^2.0.0", 24 - "noble-winrt": "^0.1.0", 25 24 "node-pre-gyp": "^0.10.0", 26 25 "spawnteract": "^4.0.0" 27 26 },
-12
app/patches/bleat+0.1.8.patch
··· 1 - patch-package 2 - --- a/node_modules/bleat/dist/adapter.noble.js 3 - +++ b/node_modules/bleat/dist/adapter.noble.js 4 - @@ -33,7 +33,7 @@ 5 - } else if (typeof exports === 'object') { 6 - // Node. Does not work with strict CommonJS 7 - module.exports = function(bleat) { 8 - - return factory(require('noble'), bleat, require('./bluetooth.helpers')); 9 - + return factory(require('noble-winrt'), bleat, require('./bluetooth.helpers')); 10 - }; 11 - } else { 12 - // Browser globals with support for web workers (root is window)
+25 -30
app/utils/eeg/muse.js
··· 1 - import 'hazardous'; 2 - import { withLatestFrom, share, startWith, filter } from 'rxjs/operators'; 1 + import "hazardous"; 2 + import { withLatestFrom, share, startWith, filter } from "rxjs/operators"; 3 3 import { 4 4 addInfo, 5 5 epoch, 6 6 bandpassFilter, 7 7 addSignalQuality 8 - } from '@neurosity/pipes'; 9 - import { release } from 'os'; 10 - import { MUSE_SERVICE, MuseClient, zipSamples } from 'muse-js'; 11 - import { from } from 'rxjs'; 12 - import { parseMuseSignalQuality } from './pipes'; 8 + } from "@neurosity/pipes"; 9 + import { release } from "os"; 10 + import { MUSE_SERVICE, MuseClient, zipSamples } from "muse-js"; 11 + import { from } from "rxjs"; 12 + import { webbluetooth } from "bleat"; 13 + import { parseMuseSignalQuality } from "./pipes"; 13 14 import { 14 15 MUSE_SAMPLING_RATE, 15 16 MUSE_CHANNELS, 16 17 PLOTTING_INTERVAL 17 - } from '../../constants/constants'; 18 + } from "../../constants/constants"; 18 19 19 20 const INTER_SAMPLE_INTERVAL = -(1 / 256) * 1000; 20 21 21 22 let bluetooth = {}; 22 23 let client = {}; 23 - if (process.platform !== 'win32' || release().split('.')[0] >= 10) { 24 - // Just returns the client object from Muse JS 25 - bluetooth = require('bleat').webbluetooth; 26 - client = new MuseClient(); 27 - client.enableAux = true; 24 + 25 + if (process.platform === "win32" && release().split(".")[0] < 10) { 26 + console.error("Muse EEG not available in Windows 7"); 28 27 } 28 + 29 + client = new MuseClient(); 30 + client.enableAux = false; 31 + 29 32 // Gets an available Muse device 30 33 // TODO: test whether this will ever return multiple devices if available 31 34 export const getMuse = async () => { 32 35 let device = {}; 33 - if (process.platform === 'win32') { 34 - if (release().split('.')[0] < 10) { 35 - console.log('win 7 '); 36 - return null; 37 - } 38 - device = await bluetooth.requestDevice({ 39 - filters: [{ services: [MUSE_SERVICE] }] 40 - }); 41 - } else { 42 - device = await navigator.bluetooth.requestDevice({ 43 - filters: [{ services: [MUSE_SERVICE] }] 44 - }); 45 - } 36 + console.log("getting muse"); 37 + device = await webbluetooth.requestDevice({ 38 + filters: [{ services: [MUSE_SERVICE] }] 39 + }); 40 + console.log("received ", device); 46 41 return [device]; 47 42 }; 48 43 49 44 // Attempts to connect to a muse device. If successful, returns a device info object 50 45 export const connectToMuse = async device => { 51 - if (process.platform === 'win32') { 46 + if (process.platform === "win32") { 52 47 const gatt = await device.gatt.connect(); 53 48 await client.connect(gatt); 54 49 } else { ··· 111 106 112 107 const synchronizeTimestamp = (eegSample, marker) => { 113 108 if ( 114 - eegSample['timestamp'] - marker['timestamp'] < 0 && 115 - eegSample['timestamp'] - marker['timestamp'] >= INTER_SAMPLE_INTERVAL 109 + eegSample["timestamp"] - marker["timestamp"] < 0 && 110 + eegSample["timestamp"] - marker["timestamp"] >= INTER_SAMPLE_INTERVAL 116 111 ) { 117 - return { ...eegSample, marker: marker['value'] }; 112 + return { ...eegSample, marker: marker["value"] }; 118 113 } 119 114 return eegSample; 120 115 };
-362
package-lock.json
··· 4517 4517 "rsvp": "^3.3.3" 4518 4518 } 4519 4519 }, 4520 - "capture-stack-trace": { 4521 - "version": "1.0.1", 4522 - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", 4523 - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", 4524 - "dev": true 4525 - }, 4526 4520 "cardinal": { 4527 4521 "version": "0.4.4", 4528 4522 "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-0.4.4.tgz", ··· 5843 5837 "requires": { 5844 5838 "bn.js": "^4.1.0", 5845 5839 "elliptic": "^6.0.0" 5846 - } 5847 - }, 5848 - "create-error-class": { 5849 - "version": "3.0.2", 5850 - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", 5851 - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", 5852 - "dev": true, 5853 - "requires": { 5854 - "capture-stack-trace": "^1.0.0" 5855 5840 } 5856 5841 }, 5857 5842 "create-hash": { ··· 14139 14124 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 14140 14125 "dev": true 14141 14126 }, 14142 - "is-redirect": { 14143 - "version": "1.0.0", 14144 - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", 14145 - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", 14146 - "dev": true 14147 - }, 14148 14127 "is-regex": { 14149 14128 "version": "1.0.5", 14150 14129 "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", ··· 18513 18492 "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", 18514 18493 "dev": true 18515 18494 }, 18516 - "patch-package": { 18517 - "version": "5.1.2", 18518 - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-5.1.2.tgz", 18519 - "integrity": "sha512-6NA7/hcAG/eZ6TcugOIkmRMA9wg/CVm+gyJpWJwc7Z8E0dkMeQwnVw5oDvhG+bEHBhsQLn+rF7PAx7p2QWnfNA==", 18520 - "dev": true, 18521 - "requires": { 18522 - "chalk": "^1.1.3", 18523 - "cross-spawn": "^5.1.0", 18524 - "fs-extra": "^4.0.1", 18525 - "minimist": "^1.2.0", 18526 - "rimraf": "^2.6.1", 18527 - "slash": "^1.0.0", 18528 - "tmp": "^0.0.31", 18529 - "update-notifier": "^2.2.0" 18530 - }, 18531 - "dependencies": { 18532 - "ansi-align": { 18533 - "version": "2.0.0", 18534 - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", 18535 - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", 18536 - "dev": true, 18537 - "requires": { 18538 - "string-width": "^2.0.0" 18539 - } 18540 - }, 18541 - "ansi-regex": { 18542 - "version": "3.0.0", 18543 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 18544 - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 18545 - "dev": true 18546 - }, 18547 - "ansi-styles": { 18548 - "version": "2.2.1", 18549 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 18550 - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 18551 - "dev": true 18552 - }, 18553 - "boxen": { 18554 - "version": "1.3.0", 18555 - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", 18556 - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", 18557 - "dev": true, 18558 - "requires": { 18559 - "ansi-align": "^2.0.0", 18560 - "camelcase": "^4.0.0", 18561 - "chalk": "^2.0.1", 18562 - "cli-boxes": "^1.0.0", 18563 - "string-width": "^2.0.0", 18564 - "term-size": "^1.2.0", 18565 - "widest-line": "^2.0.0" 18566 - }, 18567 - "dependencies": { 18568 - "ansi-styles": { 18569 - "version": "3.2.1", 18570 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 18571 - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 18572 - "dev": true, 18573 - "requires": { 18574 - "color-convert": "^1.9.0" 18575 - } 18576 - }, 18577 - "chalk": { 18578 - "version": "2.4.2", 18579 - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 18580 - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 18581 - "dev": true, 18582 - "requires": { 18583 - "ansi-styles": "^3.2.1", 18584 - "escape-string-regexp": "^1.0.5", 18585 - "supports-color": "^5.3.0" 18586 - } 18587 - }, 18588 - "supports-color": { 18589 - "version": "5.5.0", 18590 - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 18591 - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 18592 - "dev": true, 18593 - "requires": { 18594 - "has-flag": "^3.0.0" 18595 - } 18596 - } 18597 - } 18598 - }, 18599 - "camelcase": { 18600 - "version": "4.1.0", 18601 - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", 18602 - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", 18603 - "dev": true 18604 - }, 18605 - "chalk": { 18606 - "version": "1.1.3", 18607 - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 18608 - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 18609 - "dev": true, 18610 - "requires": { 18611 - "ansi-styles": "^2.2.1", 18612 - "escape-string-regexp": "^1.0.2", 18613 - "has-ansi": "^2.0.0", 18614 - "strip-ansi": "^3.0.0", 18615 - "supports-color": "^2.0.0" 18616 - } 18617 - }, 18618 - "ci-info": { 18619 - "version": "1.6.0", 18620 - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", 18621 - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", 18622 - "dev": true 18623 - }, 18624 - "cli-boxes": { 18625 - "version": "1.0.0", 18626 - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", 18627 - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", 18628 - "dev": true 18629 - }, 18630 - "configstore": { 18631 - "version": "3.1.2", 18632 - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", 18633 - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", 18634 - "dev": true, 18635 - "requires": { 18636 - "dot-prop": "^4.1.0", 18637 - "graceful-fs": "^4.1.2", 18638 - "make-dir": "^1.0.0", 18639 - "unique-string": "^1.0.0", 18640 - "write-file-atomic": "^2.0.0", 18641 - "xdg-basedir": "^3.0.0" 18642 - } 18643 - }, 18644 - "cross-spawn": { 18645 - "version": "5.1.0", 18646 - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 18647 - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 18648 - "dev": true, 18649 - "requires": { 18650 - "lru-cache": "^4.0.1", 18651 - "shebang-command": "^1.2.0", 18652 - "which": "^1.2.9" 18653 - } 18654 - }, 18655 - "fs-extra": { 18656 - "version": "4.0.3", 18657 - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", 18658 - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", 18659 - "dev": true, 18660 - "requires": { 18661 - "graceful-fs": "^4.1.2", 18662 - "jsonfile": "^4.0.0", 18663 - "universalify": "^0.1.0" 18664 - } 18665 - }, 18666 - "got": { 18667 - "version": "6.7.1", 18668 - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", 18669 - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", 18670 - "dev": true, 18671 - "requires": { 18672 - "create-error-class": "^3.0.0", 18673 - "duplexer3": "^0.1.4", 18674 - "get-stream": "^3.0.0", 18675 - "is-redirect": "^1.0.0", 18676 - "is-retry-allowed": "^1.0.0", 18677 - "is-stream": "^1.0.0", 18678 - "lowercase-keys": "^1.0.0", 18679 - "safe-buffer": "^5.0.1", 18680 - "timed-out": "^4.0.0", 18681 - "unzip-response": "^2.0.1", 18682 - "url-parse-lax": "^1.0.0" 18683 - } 18684 - }, 18685 - "is-ci": { 18686 - "version": "1.2.1", 18687 - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", 18688 - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", 18689 - "dev": true, 18690 - "requires": { 18691 - "ci-info": "^1.5.0" 18692 - } 18693 - }, 18694 - "is-fullwidth-code-point": { 18695 - "version": "2.0.0", 18696 - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 18697 - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 18698 - "dev": true 18699 - }, 18700 - "is-npm": { 18701 - "version": "1.0.0", 18702 - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", 18703 - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", 18704 - "dev": true 18705 - }, 18706 - "jsonfile": { 18707 - "version": "4.0.0", 18708 - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 18709 - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 18710 - "dev": true, 18711 - "requires": { 18712 - "graceful-fs": "^4.1.6" 18713 - } 18714 - }, 18715 - "latest-version": { 18716 - "version": "3.1.0", 18717 - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", 18718 - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", 18719 - "dev": true, 18720 - "requires": { 18721 - "package-json": "^4.0.0" 18722 - } 18723 - }, 18724 - "package-json": { 18725 - "version": "4.0.1", 18726 - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", 18727 - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", 18728 - "dev": true, 18729 - "requires": { 18730 - "got": "^6.7.1", 18731 - "registry-auth-token": "^3.0.1", 18732 - "registry-url": "^3.0.3", 18733 - "semver": "^5.1.0" 18734 - } 18735 - }, 18736 - "registry-auth-token": { 18737 - "version": "3.4.0", 18738 - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", 18739 - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", 18740 - "dev": true, 18741 - "requires": { 18742 - "rc": "^1.1.6", 18743 - "safe-buffer": "^5.0.1" 18744 - } 18745 - }, 18746 - "registry-url": { 18747 - "version": "3.1.0", 18748 - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", 18749 - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", 18750 - "dev": true, 18751 - "requires": { 18752 - "rc": "^1.0.1" 18753 - } 18754 - }, 18755 - "string-width": { 18756 - "version": "2.1.1", 18757 - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 18758 - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 18759 - "dev": true, 18760 - "requires": { 18761 - "is-fullwidth-code-point": "^2.0.0", 18762 - "strip-ansi": "^4.0.0" 18763 - }, 18764 - "dependencies": { 18765 - "strip-ansi": { 18766 - "version": "4.0.0", 18767 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 18768 - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 18769 - "dev": true, 18770 - "requires": { 18771 - "ansi-regex": "^3.0.0" 18772 - } 18773 - } 18774 - } 18775 - }, 18776 - "supports-color": { 18777 - "version": "2.0.0", 18778 - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 18779 - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 18780 - "dev": true 18781 - }, 18782 - "tmp": { 18783 - "version": "0.0.31", 18784 - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", 18785 - "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", 18786 - "dev": true, 18787 - "requires": { 18788 - "os-tmpdir": "~1.0.1" 18789 - } 18790 - }, 18791 - "update-notifier": { 18792 - "version": "2.5.0", 18793 - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", 18794 - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", 18795 - "dev": true, 18796 - "requires": { 18797 - "boxen": "^1.2.1", 18798 - "chalk": "^2.0.1", 18799 - "configstore": "^3.0.0", 18800 - "import-lazy": "^2.1.0", 18801 - "is-ci": "^1.0.10", 18802 - "is-installed-globally": "^0.1.0", 18803 - "is-npm": "^1.0.0", 18804 - "latest-version": "^3.0.0", 18805 - "semver-diff": "^2.0.0", 18806 - "xdg-basedir": "^3.0.0" 18807 - }, 18808 - "dependencies": { 18809 - "ansi-styles": { 18810 - "version": "3.2.1", 18811 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 18812 - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 18813 - "dev": true, 18814 - "requires": { 18815 - "color-convert": "^1.9.0" 18816 - } 18817 - }, 18818 - "chalk": { 18819 - "version": "2.4.2", 18820 - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 18821 - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 18822 - "dev": true, 18823 - "requires": { 18824 - "ansi-styles": "^3.2.1", 18825 - "escape-string-regexp": "^1.0.5", 18826 - "supports-color": "^5.3.0" 18827 - } 18828 - }, 18829 - "supports-color": { 18830 - "version": "5.5.0", 18831 - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 18832 - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 18833 - "dev": true, 18834 - "requires": { 18835 - "has-flag": "^3.0.0" 18836 - } 18837 - } 18838 - } 18839 - }, 18840 - "url-parse-lax": { 18841 - "version": "1.0.0", 18842 - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", 18843 - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", 18844 - "dev": true, 18845 - "requires": { 18846 - "prepend-http": "^1.0.1" 18847 - } 18848 - } 18849 - } 18850 - }, 18851 18495 "path-browserify": { 18852 18496 "version": "0.0.1", 18853 18497 "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", ··· 27060 26704 "dev": true 27061 26705 } 27062 26706 } 27063 - }, 27064 - "unzip-response": { 27065 - "version": "2.0.1", 27066 - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", 27067 - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", 27068 - "dev": true 27069 26707 }, 27070 26708 "unzipper": { 27071 26709 "version": "0.9.15",
-1
package.json
··· 199 199 "node-gyp": "^6.0.1", 200 200 "node-sass": "^4.13.1", 201 201 "npm-logical-tree": "^1.2.1", 202 - "patch-package": "^5.1.1", 203 202 "prettier": "^1.12.1", 204 203 "react-test-renderer": "^16.4.0", 205 204 "redux-logger": "^3.0.6",