diff --git a/index.js b/index.js
index 6d30e7d..86a95fb 100644
--- a/index.js
+++ b/index.js
@@ -1,13 +1,14 @@
import React from 'react';
-import { JSONLoader } from 'three/src/loaders/JSONLoader.js';
import { Interface } from 'doodle3d-slicer';
-import fileURL from '!url-loader!./models/shape.json';
+import doodleURL from '!url-loader!./models/Doodle_2.d3sketch';
import { render } from 'react-dom';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import injectTapEventPlugin from 'react-tap-event-plugin';
import jss from 'jss';
import preset from 'jss-preset-default';
import normalize from 'normalize-jss';
+import JSONToSketchData from 'doodle3d-core/shape/JSONToSketchData';
+import createSceneData from 'doodle3d-core/d3/createSceneData.js';
injectTapEventPlugin();
@@ -22,11 +23,16 @@ jss.createStyleSheet({
}
}).attach();
-const jsonLoader = new JSONLoader();
-jsonLoader.load(fileURL, geometry => {
+function init(sketch) {
render((
-
+
), document.getElementById('app'));
-});
+}
+
+fetch(doodleURL)
+ .then(resonse => resonse.json())
+ .then(json => JSONToSketchData(json))
+ .then(file => createSceneData(file))
+ .then(init);
diff --git a/models/Doodle.d3sketch b/models/Doodle.d3sketch
new file mode 100644
index 0000000..24db8ff
--- /dev/null
+++ b/models/Doodle.d3sketch
@@ -0,0 +1 @@
+{"data":"{\"spaces\":[{\"matrix\":{\"metadata\":{\"type\":\"Matrix4\",\"library\":\"three.js\"},\"elements\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\"objects\":[{\"height\":9.266873708001008,\"transform\":{\"metadata\":{\"library\":\"CAL\",\"type\":\"Matrix\"},\"matrix\":[1,0,26.586102719033242,0,1,-4.229607250755304]},\"z\":10.733126291998994,\"sculpt\":[{\"pos\":0,\"scale\":1},{\"pos\":1,\"scale\":1}],\"twist\":0,\"fill\":true,\"solid\":false,\"star\":{\"rays\":5,\"innerRadius\":20.54380664652568,\"outerRadius\":40.48338368580059},\"color\":6873597,\"type\":\"STAR\"},{\"height\":20,\"transform\":{\"metadata\":{\"library\":\"CAL\",\"type\":\"Matrix\"},\"matrix\":[1,0,-12.688821752265852,0,1,-12.68882175226588]},\"z\":0,\"sculpt\":[{\"pos\":0,\"scale\":1},{\"pos\":1,\"scale\":1}],\"twist\":0,\"fill\":true,\"solid\":true,\"star\":{\"rays\":5,\"innerRadius\":20.54380664652568,\"outerRadius\":40.48338368580059},\"color\":6873597,\"type\":\"STAR\"}]}]}","appVersion":"0.17.4"}
\ No newline at end of file
diff --git a/models/Doodle_2.d3sketch b/models/Doodle_2.d3sketch
new file mode 100644
index 0000000..5e3c6c2
--- /dev/null
+++ b/models/Doodle_2.d3sketch
@@ -0,0 +1 @@
+{"data":"{\"spaces\":[{\"matrix\":{\"metadata\":{\"type\":\"Matrix4\",\"library\":\"three.js\"},\"elements\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\"objects\":[{\"height\":20,\"transform\":{\"metadata\":{\"library\":\"CAL\",\"type\":\"Matrix\"},\"matrix\":[1,0,-32.27848101265822,0,1,5.3797468354430436]},\"z\":0,\"sculpt\":[{\"pos\":0,\"scale\":1},{\"pos\":1,\"scale\":1}],\"twist\":0,\"fill\":false,\"solid\":true,\"star\":{\"rays\":5,\"innerRadius\":10,\"outerRadius\":25},\"color\":6873597,\"type\":\"STAR\"},{\"height\":20,\"transform\":{\"metadata\":{\"library\":\"CAL\",\"type\":\"Matrix\"},\"matrix\":[1,0,47.784810126582286,0,1,0.6329113924050631]},\"z\":0,\"sculpt\":[{\"pos\":0,\"scale\":1},{\"pos\":1,\"scale\":1}],\"twist\":0,\"fill\":true,\"solid\":true,\"star\":{\"rays\":5,\"innerRadius\":22.468354430379748,\"outerRadius\":25.9493670886076},\"color\":6873597,\"type\":\"STAR\"},{\"height\":20,\"transform\":{\"metadata\":{\"library\":\"CAL\",\"type\":\"Matrix\"},\"matrix\":[1,0,-46.83544303797467,0,1,9.810126582278485]},\"z\":0,\"sculpt\":[{\"pos\":0,\"scale\":1},{\"pos\":1,\"scale\":1}],\"twist\":0,\"fill\":false,\"solid\":false,\"rectSize\":{\"metadata\":{\"library\":\"CAL\",\"type\":\"Vector\"},\"x\":120.8860759493671,\"y\":34.49367088607595},\"color\":6873597,\"type\":\"RECT\"},{\"height\":20,\"transform\":{\"metadata\":{\"library\":\"CAL\",\"type\":\"Matrix\"},\"matrix\":[1,0,-47.1518987341772,0,1,-37.341772151898724]},\"z\":0,\"sculpt\":[{\"pos\":0,\"scale\":1},{\"pos\":1,\"scale\":1}],\"twist\":0,\"fill\":true,\"solid\":false,\"rectSize\":{\"metadata\":{\"library\":\"CAL\",\"type\":\"Vector\"},\"x\":120.8860759493671,\"y\":34.49367088607595},\"color\":6873597,\"type\":\"RECT\"}]}]}","appVersion":"0.17.4"}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 69480fb..584fcd3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,6 +4,11 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+ "@doodle3d/cal": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/@doodle3d/cal/-/cal-0.0.8.tgz",
+ "integrity": "sha512-1qXg62qaZkc/zYPan37CXvUtaJk4aFVLz2y8cqnkN9Y0r1Er5soIZ5esMz4YYyjUrQGawBoYcGvatRALYnzlvg=="
+ },
"@doodle3d/clipper-js": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@doodle3d/clipper-js/-/clipper-js-1.0.7.tgz",
@@ -17,6 +22,112 @@
"resolved": "https://registry.npmjs.org/@doodle3d/clipper-lib/-/clipper-lib-6.4.2-b.tgz",
"integrity": "sha512-glELSijsD9b+/0d9iOdasBwqH3s+xPxD59tJ7aXkBx7klugygGOMXn7PB05AdhVyA1OYMj7GUCegaQa7nvLtmQ=="
},
+ "@doodle3d/doodle3d-core": {
+ "version": "github:doodle3d/doodle3d-core#0c4e410a27ea2df8336a956e966ee16ad8ac04d7",
+ "requires": {
+ "@doodle3d/cal": "0.0.8",
+ "@doodle3d/clipper-js": "1.0.7",
+ "@doodle3d/fill-path": "1.0.7",
+ "@doodle3d/potrace-js": "0.0.6",
+ "@doodle3d/threejs-export-obj": "0.0.8",
+ "@doodle3d/threejs-export-stl": "0.0.5",
+ "@doodle3d/touch-events": "0.0.7",
+ "babel-polyfill": "6.26.0",
+ "bezier-js": "2.2.3",
+ "blueimp-canvas-to-blob": "3.14.0",
+ "bowser": "1.8.1",
+ "fit-curve": "0.1.6",
+ "imports-loader": "0.7.1",
+ "jss": "9.4.0",
+ "keycode": "2.1.9",
+ "lodash": "4.17.4",
+ "memoizee": "0.3.10",
+ "pouchdb": "6.4.0",
+ "proptypes": "1.1.0",
+ "raf": "3.4.0",
+ "ramda": "0.21.0",
+ "react": "16.1.0",
+ "react-addons-update": "15.6.2",
+ "react-jss": "7.2.0",
+ "react-notification-system-redux": "1.2.0",
+ "react-redux": "5.0.6",
+ "react-resize-detector": "1.1.0",
+ "react-svg-inline": "2.0.1",
+ "redux-form": "7.2.0",
+ "redux-undo": "1.0.0-beta9-9-7",
+ "reselect": "3.0.1",
+ "semver": "5.4.1",
+ "shortid": "2.2.8",
+ "three": "0.88.0",
+ "three-js-csg": "github:Doodle3D/three-js-csg#a36f23da6e9be2405a9094de5709cb0ae8f58045",
+ "valid-url": "1.0.9"
+ },
+ "dependencies": {
+ "jss": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-9.4.0.tgz",
+ "integrity": "sha512-ckJpElL5CimehboeLDQoHeY7mlxn0KPnPn2EZVbn6pomhfbTXiQJ6fAJXSp9rUM2hPtE0PG8Swzdy9vhB2v82w==",
+ "requires": {
+ "is-in-browser": "1.1.3",
+ "symbol-observable": "1.1.0",
+ "warning": "3.0.0"
+ }
+ },
+ "symbol-observable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz",
+ "integrity": "sha512-dQoid9tqQ+uotGhuTKEY11X4xhyYePVnqGSoSm3OGKh2E8LZ6RPULp1uXTctk33IeERlrRJYoVSBglsL05F5Uw=="
+ }
+ }
+ },
+ "@doodle3d/fill-path": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/@doodle3d/fill-path/-/fill-path-1.0.7.tgz",
+ "integrity": "sha512-4sdgWQ28JgRsmnyy1OnuKHE+DZ8kDGpluGqFmMASh2/6dlyjp2/oXnNEgNefG4/xiEitV8AtzEij9Bijh6yNRw==",
+ "requires": {
+ "@doodle3d/clipper-js": "1.0.7"
+ }
+ },
+ "@doodle3d/potrace-js": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@doodle3d/potrace-js/-/potrace-js-0.0.6.tgz",
+ "integrity": "sha512-w1+sG3ClsSaQwo3ks5wl6QLe4aWEHBe8QePq0IeAcj+lypqo770sUcWVfEZWUFBumAhSlCJg3GRc8MsycHy8LA=="
+ },
+ "@doodle3d/threejs-export-obj": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/@doodle3d/threejs-export-obj/-/threejs-export-obj-0.0.8.tgz",
+ "integrity": "sha512-HVnJCvrjj3FqHJ5+CLVT1oZ0OjS2eOvrpMKjo71Jg7bdrusluIRlF7w9JdaoZs3ScWASAucu2cvTKJ+OAm3Rhw==",
+ "requires": {
+ "jszip": "3.1.5",
+ "three": "0.88.0"
+ }
+ },
+ "@doodle3d/threejs-export-stl": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/@doodle3d/threejs-export-stl/-/threejs-export-stl-0.0.5.tgz",
+ "integrity": "sha512-GeApmYL657Dug8/+WOHGGijJbQ52dN2AWkhz9FsCe9sehZRhCg0fOg4LKXNS0XGKWMQbyumlbrmCWZrK73sfJA==",
+ "requires": {
+ "babel-preset-env": "1.6.1",
+ "three": "0.88.0"
+ }
+ },
+ "@doodle3d/touch-events": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/@doodle3d/touch-events/-/touch-events-0.0.7.tgz",
+ "integrity": "sha512-EpL8IEGKKy2gqFFlxA4n84IeAyPTrEzle0jwmRv+mmVBzwGr6xDl5Ga5vJIrg2WcYs4Xc7qWbiKSHEXvEpDLlg==",
+ "requires": {
+ "eventdispatcher.js": "0.0.2",
+ "pepjs": "0.4.3"
+ }
+ },
+ "abstract-leveldown": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-3.0.0.tgz",
+ "integrity": "sha512-KUWx9UWGQD12zsmLNj64/pndaz4iJh/Pj7nopgkfDG6RlCcbMZvT6+9l7dchK4idog2Is8VdC/PvNbFuFmalIQ==",
+ "requires": {
+ "xtend": "4.0.1"
+ }
+ },
"accepts": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
@@ -88,14 +199,12 @@
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
},
"anymatch": {
"version": "1.3.0",
@@ -107,6 +216,20 @@
"micromatch": "2.3.11"
}
},
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
+ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.3.3"
+ }
+ },
"argparse": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
@@ -116,6 +239,11 @@
"sprintf-js": "1.0.3"
}
},
+ "argsarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz",
+ "integrity": "sha1-bnIHtOzbObCviDA/pa4ivajfYcs="
+ },
"arr-diff": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
@@ -185,6 +313,11 @@
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
},
+ "asn1": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
+ },
"asn1.js": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz",
@@ -205,6 +338,11 @@
"util": "0.10.3"
}
},
+ "assert-plus": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ="
+ },
"async": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
@@ -220,6 +358,26 @@
"integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
"dev": true
},
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
+ "attempt-x": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/attempt-x/-/attempt-x-1.1.1.tgz",
+ "integrity": "sha512-hIp37ojJRRW8ExWSxxLpkDHUufk/DFfsb7/cUC1cVbBg7JV4gJTkCTRa44dlL9e5jx1P3VNrjL7QOQfi4MyltA=="
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8="
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
+ },
"babel-cli": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.24.1.tgz",
@@ -227,9 +385,9 @@
"dev": true,
"requires": {
"babel-core": "6.24.1",
- "babel-polyfill": "6.23.0",
+ "babel-polyfill": "6.26.0",
"babel-register": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"chokidar": "1.7.0",
"commander": "2.11.0",
"convert-source-map": "1.5.0",
@@ -247,7 +405,6 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
"integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=",
- "dev": true,
"requires": {
"chalk": "1.1.3",
"esutils": "2.0.2",
@@ -265,7 +422,7 @@
"babel-helpers": "6.24.1",
"babel-messages": "6.23.0",
"babel-register": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0",
@@ -288,7 +445,7 @@
"dev": true,
"requires": {
"babel-messages": "6.23.0",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0",
"detect-indent": "4.0.0",
"jsesc": "1.3.0",
@@ -303,7 +460,7 @@
"integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
"dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0"
}
@@ -312,10 +469,9 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
"integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
- "dev": true,
"requires": {
"babel-helper-explode-assignable-expression": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0"
}
},
@@ -364,10 +520,9 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
"integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "dev": true,
"requires": {
"babel-helper-hoist-variables": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0"
}
@@ -376,7 +531,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
"integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "dev": true,
"requires": {
"babel-helper-function-name": "6.24.1",
"babel-runtime": "6.26.0",
@@ -388,7 +542,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "dev": true,
"requires": {
"core-js": "2.4.1",
"regenerator-runtime": "0.11.0"
@@ -398,7 +551,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "dev": true,
"requires": {
"babel-runtime": "6.26.0",
"esutils": "2.0.2",
@@ -409,8 +561,7 @@
"regenerator-runtime": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz",
- "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==",
- "dev": true
+ "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A=="
}
}
},
@@ -418,9 +569,8 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
"integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0"
}
@@ -432,7 +582,7 @@
"dev": true,
"requires": {
"babel-helper-bindify-decorators": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0"
}
@@ -441,10 +591,9 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
"integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "dev": true,
"requires": {
"babel-helper-get-function-arity": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0"
@@ -454,9 +603,8 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
"integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0"
}
},
@@ -464,9 +612,8 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
"integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0"
}
},
@@ -474,9 +621,8 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
"integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0"
}
},
@@ -484,7 +630,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
"integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "dev": true,
"requires": {
"babel-runtime": "6.26.0",
"babel-types": "6.26.0",
@@ -495,7 +640,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "dev": true,
"requires": {
"core-js": "2.4.1",
"regenerator-runtime": "0.11.0"
@@ -505,7 +649,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "dev": true,
"requires": {
"babel-runtime": "6.26.0",
"esutils": "2.0.2",
@@ -516,8 +659,7 @@
"regenerator-runtime": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz",
- "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==",
- "dev": true
+ "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A=="
}
}
},
@@ -525,10 +667,9 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
"integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
- "dev": true,
"requires": {
"babel-helper-function-name": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0"
@@ -538,11 +679,10 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
"integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "dev": true,
"requires": {
"babel-helper-optimise-call-expression": "6.24.1",
"babel-messages": "6.23.0",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0"
@@ -554,7 +694,7 @@
"integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
"dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0"
}
},
@@ -573,9 +713,8 @@
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-add-module-exports": {
@@ -588,9 +727,8 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
"integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-inline-import": {
@@ -605,8 +743,7 @@
"babel-plugin-syntax-async-functions": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
- "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
- "dev": true
+ "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU="
},
"babel-plugin-syntax-async-generators": {
"version": "6.13.0",
@@ -647,14 +784,12 @@
"babel-plugin-syntax-exponentiation-operator": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
- "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
- "dev": true
+ "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4="
},
"babel-plugin-syntax-export-extensions": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
- "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
- "dev": true
+ "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE="
},
"babel-plugin-syntax-flow": {
"version": "6.18.0",
@@ -683,8 +818,7 @@
"babel-plugin-syntax-trailing-function-commas": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
- "dev": true
+ "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM="
},
"babel-plugin-transform-async-generator-functions": {
"version": "6.24.1",
@@ -694,18 +828,17 @@
"requires": {
"babel-helper-remap-async-to-generator": "6.24.1",
"babel-plugin-syntax-async-generators": "6.13.0",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-async-to-generator": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
"integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
- "dev": true,
"requires": {
"babel-helper-remap-async-to-generator": "6.24.1",
"babel-plugin-syntax-async-functions": "6.13.0",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-class-constructor-call": {
@@ -715,7 +848,7 @@
"dev": true,
"requires": {
"babel-plugin-syntax-class-constructor-call": "6.18.0",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0"
}
},
@@ -727,7 +860,7 @@
"requires": {
"babel-helper-function-name": "6.24.1",
"babel-plugin-syntax-class-properties": "6.13.0",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0"
}
},
@@ -739,7 +872,7 @@
"requires": {
"babel-helper-explode-class": "6.24.1",
"babel-plugin-syntax-decorators": "6.13.0",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0",
"babel-types": "6.25.0"
}
@@ -751,32 +884,29 @@
"dev": true,
"requires": {
"babel-plugin-syntax-do-expressions": "6.13.0",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-es2015-arrow-functions": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
"integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-es2015-block-scoped-functions": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
"integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-es2015-block-scoping": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
"integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "dev": true,
"requires": {
"babel-runtime": "6.26.0",
"babel-template": "6.26.0",
@@ -789,7 +919,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "dev": true,
"requires": {
"chalk": "1.1.3",
"esutils": "2.0.2",
@@ -800,7 +929,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "dev": true,
"requires": {
"core-js": "2.4.1",
"regenerator-runtime": "0.11.0"
@@ -810,7 +938,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "dev": true,
"requires": {
"babel-runtime": "6.26.0",
"babel-traverse": "6.26.0",
@@ -823,7 +950,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
- "dev": true,
"requires": {
"babel-code-frame": "6.26.0",
"babel-messages": "6.23.0",
@@ -840,7 +966,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "dev": true,
"requires": {
"babel-runtime": "6.26.0",
"esutils": "2.0.2",
@@ -851,14 +976,12 @@
"babylon": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
- "dev": true
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
},
"regenerator-runtime": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz",
- "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==",
- "dev": true
+ "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A=="
}
}
},
@@ -866,14 +989,13 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
"integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "dev": true,
"requires": {
"babel-helper-define-map": "6.26.0",
"babel-helper-function-name": "6.24.1",
"babel-helper-optimise-call-expression": "6.24.1",
"babel-helper-replace-supers": "6.24.1",
"babel-messages": "6.23.0",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0"
@@ -883,9 +1005,8 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
"integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0"
}
},
@@ -893,18 +1014,16 @@
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
"integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-es2015-duplicate-keys": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
"integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0"
}
},
@@ -912,19 +1031,17 @@
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
"integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-es2015-function-name": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
"integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "dev": true,
"requires": {
"babel-helper-function-name": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0"
}
},
@@ -932,19 +1049,17 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
"integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-es2015-modules-amd": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
"integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "dev": true,
"requires": {
"babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0"
}
},
@@ -952,7 +1067,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
"integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=",
- "dev": true,
"requires": {
"babel-plugin-transform-strict-mode": "6.24.1",
"babel-runtime": "6.26.0",
@@ -964,7 +1078,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "dev": true,
"requires": {
"chalk": "1.1.3",
"esutils": "2.0.2",
@@ -975,7 +1088,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "dev": true,
"requires": {
"core-js": "2.4.1",
"regenerator-runtime": "0.11.0"
@@ -985,7 +1097,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "dev": true,
"requires": {
"babel-runtime": "6.26.0",
"babel-traverse": "6.26.0",
@@ -998,7 +1109,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
- "dev": true,
"requires": {
"babel-code-frame": "6.26.0",
"babel-messages": "6.23.0",
@@ -1015,7 +1125,6 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "dev": true,
"requires": {
"babel-runtime": "6.26.0",
"esutils": "2.0.2",
@@ -1026,14 +1135,12 @@
"babylon": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
- "dev": true
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
},
"regenerator-runtime": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz",
- "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==",
- "dev": true
+ "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A=="
}
}
},
@@ -1041,10 +1148,9 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
"integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "dev": true,
"requires": {
"babel-helper-hoist-variables": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0"
}
},
@@ -1052,10 +1158,9 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
"integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "dev": true,
"requires": {
"babel-plugin-transform-es2015-modules-amd": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0"
}
},
@@ -1063,21 +1168,19 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
"integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "dev": true,
"requires": {
"babel-helper-replace-supers": "6.24.1",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-es2015-parameters": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
"integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "dev": true,
"requires": {
"babel-helper-call-delegate": "6.24.1",
"babel-helper-get-function-arity": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-template": "6.25.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0"
@@ -1087,9 +1190,8 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
"integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0"
}
},
@@ -1097,19 +1199,17 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
"integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-es2015-sticky-regex": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
"integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "dev": true,
"requires": {
"babel-helper-regex": "6.26.0",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0"
}
},
@@ -1117,28 +1217,25 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
"integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-es2015-typeof-symbol": {
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
"integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-es2015-unicode-regex": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
"integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "dev": true,
"requires": {
"babel-helper-regex": "6.26.0",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"regexpu-core": "2.0.0"
}
},
@@ -1146,21 +1243,19 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
"integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
- "dev": true,
"requires": {
"babel-helper-builder-binary-assignment-operator-visitor": "6.24.1",
"babel-plugin-syntax-exponentiation-operator": "6.13.0",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-export-extensions": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
"integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=",
- "dev": true,
"requires": {
"babel-plugin-syntax-export-extensions": "6.13.0",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-flow-strip-types": {
@@ -1170,7 +1265,7 @@
"dev": true,
"requires": {
"babel-plugin-syntax-flow": "6.18.0",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-function-bind": {
@@ -1180,7 +1275,7 @@
"dev": true,
"requires": {
"babel-plugin-syntax-function-bind": "6.13.0",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-object-rest-spread": {
@@ -1217,7 +1312,7 @@
"integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
"dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-react-jsx": {
@@ -1228,7 +1323,7 @@
"requires": {
"babel-helper-builder-react-jsx": "6.26.0",
"babel-plugin-syntax-jsx": "6.18.0",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-react-jsx-self": {
@@ -1238,7 +1333,7 @@
"dev": true,
"requires": {
"babel-plugin-syntax-jsx": "6.18.0",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-react-jsx-source": {
@@ -1248,14 +1343,13 @@
"dev": true,
"requires": {
"babel-plugin-syntax-jsx": "6.18.0",
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-regenerator": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
"integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
- "dev": true,
"requires": {
"regenerator-transform": "0.10.1"
}
@@ -1266,35 +1360,55 @@
"integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=",
"dev": true,
"requires": {
- "babel-runtime": "6.23.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-plugin-transform-strict-mode": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
"integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0"
}
},
"babel-polyfill": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz",
- "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=",
- "dev": true,
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
+ "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
"requires": {
- "babel-runtime": "6.23.0",
- "core-js": "2.4.1",
+ "babel-runtime": "6.26.0",
+ "core-js": "2.5.3",
"regenerator-runtime": "0.10.5"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "requires": {
+ "core-js": "2.5.3",
+ "regenerator-runtime": "0.11.1"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ }
+ }
+ },
+ "core-js": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
+ "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4="
+ }
}
},
"babel-preset-env": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz",
"integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==",
- "dev": true,
"requires": {
"babel-plugin-check-es2015-constants": "6.22.0",
"babel-plugin-syntax-trailing-function-commas": "6.22.0",
@@ -1437,7 +1551,7 @@
"dev": true,
"requires": {
"babel-core": "6.24.1",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"core-js": "2.4.1",
"home-or-tmp": "2.0.0",
"lodash": "4.17.4",
@@ -1446,21 +1560,27 @@
}
},
"babel-runtime": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
- "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"requires": {
"core-js": "2.4.1",
- "regenerator-runtime": "0.10.5"
+ "regenerator-runtime": "0.11.1"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ }
}
},
"babel-template": {
"version": "6.25.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz",
"integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-traverse": "6.25.0",
"babel-types": "6.25.0",
"babylon": "6.17.4",
@@ -1471,11 +1591,10 @@
"version": "6.25.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz",
"integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=",
- "dev": true,
"requires": {
"babel-code-frame": "6.22.0",
"babel-messages": "6.23.0",
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0",
"babylon": "6.17.4",
"debug": "2.6.8",
@@ -1488,9 +1607,8 @@
"version": "6.25.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz",
"integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"esutils": "2.0.2",
"lodash": "4.17.4",
"to-fast-properties": "1.0.3"
@@ -1499,8 +1617,7 @@
"babylon": {
"version": "6.17.4",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz",
- "integrity": "sha1-Pot0AriNIsNCPhN6FXeIOxX/hpo=",
- "dev": true
+ "integrity": "sha1-Pot0AriNIsNCPhN6FXeIOxX/hpo="
},
"balanced-match": {
"version": "1.0.0",
@@ -1520,11 +1637,24 @@
"integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
"dev": true
},
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "bezier-js": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-2.2.3.tgz",
+ "integrity": "sha1-xVdBFqSjVkpxU41z4LDVFdqN3sU="
+ },
"big.js": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
- "dev": true
+ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
},
"binary-extensions": {
"version": "1.8.0",
@@ -1532,12 +1662,30 @@
"integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=",
"dev": true
},
+ "bindings": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz",
+ "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw=="
+ },
+ "bl": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz",
+ "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=",
+ "requires": {
+ "readable-stream": "2.3.3"
+ }
+ },
"bluebird": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
"dev": true
},
+ "blueimp-canvas-to-blob": {
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.14.0.tgz",
+ "integrity": "sha512-i6I2CiX1VR8YwUNYBo+dM8tg89ns4TTHxSpWjaDeHKcYS3yFalpLCwDaY21/EsJMufLy2tnG4j0JN5L8OVNkKQ=="
+ },
"bn.js": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
@@ -1593,6 +1741,14 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true
},
+ "boom": {
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
"bowser": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/bowser/-/bowser-1.8.1.tgz",
@@ -1704,7 +1860,6 @@
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.8.0.tgz",
"integrity": "sha512-iiWHM1Et6Q4TQpB7Ar6pxuM3TNMXasVJY4Y/oh3q38EwR3Z+IdZ9MyVf7PI4MJFB4xpwMcZgs9bEUnPG2E3TCA==",
- "dev": true,
"requires": {
"caniuse-lite": "1.0.30000760",
"electron-to-chromium": "1.3.27"
@@ -1721,6 +1876,14 @@
"isarray": "1.0.0"
}
},
+ "buffer-from": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.1.tgz",
+ "integrity": "sha1-V7GLHaChnsBvM4N6UnWiQjUb114=",
+ "requires": {
+ "is-array-buffer-x": "1.7.0"
+ }
+ },
"buffer-indexof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
@@ -1751,6 +1914,11 @@
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"dev": true
},
+ "cached-constructors-x": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/cached-constructors-x/-/cached-constructors-x-1.0.0.tgz",
+ "integrity": "sha512-JVP0oilYlPgBTD8bkQ+of7hSIJRtydCCJiMtzdRMXVQ98gdj0NyrJTZzbu5wtlO26Ev/1HXRTtbBNsVlLJ3+3A=="
+ },
"camel-case": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
@@ -1788,8 +1956,12 @@
"caniuse-lite": {
"version": "1.0.30000760",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000760.tgz",
- "integrity": "sha1-7HIDlXQvHH7IlH/W3SYE53qPmP8=",
- "dev": true
+ "integrity": "sha1-7HIDlXQvHH7IlH/W3SYE53qPmP8="
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"center-align": {
"version": "0.1.3",
@@ -1810,7 +1982,6 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
"requires": {
"ansi-styles": "2.2.1",
"escape-string-regexp": "1.0.5",
@@ -1841,6 +2012,11 @@
"readdirp": "2.1.0"
}
},
+ "chownr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
+ "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE="
+ },
"cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
@@ -1851,6 +2027,11 @@
"safe-buffer": "5.1.1"
}
},
+ "classnames": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz",
+ "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0="
+ },
"clean-css": {
"version": "4.1.9",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz",
@@ -1871,17 +2052,28 @@
"wordwrap": "0.0.2"
}
},
+ "clone-buffer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+ "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg="
+ },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "dev": true
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
},
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
},
"commander": {
"version": "2.11.0",
@@ -1951,6 +2143,11 @@
"date-now": "0.1.4"
}
},
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+ },
"constants-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
@@ -1995,8 +2192,7 @@
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"create-ecdh": {
"version": "4.0.0",
@@ -2055,6 +2251,14 @@
"which": "1.3.0"
}
},
+ "cryptiles": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "requires": {
+ "boom": "2.10.1"
+ }
+ },
"crypto-browserify": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
@@ -2121,11 +2325,25 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
- "dev": true,
"requires": {
"es5-ext": "0.10.35"
}
},
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
"date-now": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
@@ -2136,7 +2354,6 @@
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
- "dev": true,
"requires": {
"ms": "2.0.0"
}
@@ -2150,8 +2367,20 @@
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
- "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
- "dev": true
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
+ },
+ "deep-extend": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
+ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8="
+ },
+ "deferred-leveldown": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-2.0.3.tgz",
+ "integrity": "sha512-8c2Hv+vIwKNc7qqy4zE3t5DIsln+FQnudcyjLYstHwLFg7XnXZT/H8gQb8lj6xi8xqGM0Bz633ZWcCkonycBTA==",
+ "requires": {
+ "abstract-leveldown": "3.0.0"
+ }
},
"define-properties": {
"version": "1.1.2",
@@ -2185,6 +2414,16 @@
}
}
},
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ },
"depd": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
@@ -2329,6 +2568,20 @@
"domelementtype": "1.3.0"
}
},
+ "double-ended-queue": {
+ "version": "2.1.0-0",
+ "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
+ "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw="
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -2338,8 +2591,7 @@
"electron-to-chromium": {
"version": "1.3.27",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz",
- "integrity": "sha1-eOy4o5kGYYe7N07t412ccFZagD0=",
- "dev": true
+ "integrity": "sha1-eOy4o5kGYYe7N07t412ccFZagD0="
},
"elliptic": {
"version": "6.4.0",
@@ -2359,8 +2611,7 @@
"emojis-list": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
- "dev": true
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
},
"encodeurl": {
"version": "1.0.1",
@@ -2376,6 +2627,39 @@
"iconv-lite": "0.4.19"
}
},
+ "encoding-down": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-3.0.0.tgz",
+ "integrity": "sha1-IGjLZ7E3G14frJtfF44FpVUr+l4=",
+ "requires": {
+ "abstract-leveldown": "3.0.0",
+ "level-codec": "8.0.0",
+ "level-errors": "1.1.2"
+ },
+ "dependencies": {
+ "level-codec": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-8.0.0.tgz",
+ "integrity": "sha512-gNZlo1HRHz0BWxzGCyNf7xntAs2HKOPvvRBWtXsoDvEX4vMYnSTBS6ZnxoaiX7nhxSBPpegRa8CQ/hnfGBKk3Q=="
+ }
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz",
+ "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=",
+ "requires": {
+ "once": "1.4.0"
+ }
+ },
+ "end-stream": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/end-stream/-/end-stream-0.1.0.tgz",
+ "integrity": "sha1-MgA/P0OKKwFDFoE3+PpumGbIHtU=",
+ "requires": {
+ "write-stream": "0.4.3"
+ }
+ },
"enhanced-resolve": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
@@ -2398,7 +2682,6 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
"integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
- "dev": true,
"requires": {
"prr": "0.0.0"
}
@@ -2440,17 +2723,20 @@
"version": "0.10.35",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz",
"integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=",
- "dev": true,
"requires": {
"es6-iterator": "2.0.3",
"es6-symbol": "3.1.1"
}
},
+ "es6-error": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.0.2.tgz",
+ "integrity": "sha1-7sXHJurO9Rt/a3PCDbbhsTsGnJg="
+ },
"es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "dev": true,
"requires": {
"d": "1.0.0",
"es5-ext": "0.10.35",
@@ -2471,6 +2757,11 @@
"event-emitter": "0.3.5"
}
},
+ "es6-promise": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
+ "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y="
+ },
"es6-set": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
@@ -2488,7 +2779,6 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
- "dev": true,
"requires": {
"d": "1.0.0",
"es5-ext": "0.10.35"
@@ -2515,8 +2805,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"escope": {
"version": "3.6.0",
@@ -2555,8 +2844,7 @@
"esutils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
},
"etag": {
"version": "1.8.1",
@@ -2568,12 +2856,16 @@
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "dev": true,
"requires": {
"d": "1.0.0",
"es5-ext": "0.10.35"
}
},
+ "eventdispatcher.js": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/eventdispatcher.js/-/eventdispatcher.js-0.0.2.tgz",
+ "integrity": "sha1-wntZzkEEa2iUEu3M/UzYr8ZM2DU="
+ },
"eventemitter3": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
@@ -2638,6 +2930,11 @@
"fill-range": "2.2.3"
}
},
+ "expand-template": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.0.tgz",
+ "integrity": "sha512-kkjwkMqj0h4w/sb32ERCDxCQkREMCAgS39DscDnSwDsbxnwwM1BTZySdC3Bn1lhY7vL08n9GoO/fVTynjDgRyQ=="
+ },
"express": {
"version": "4.16.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz",
@@ -2693,6 +2990,11 @@
}
}
},
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
+ },
"extglob": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
@@ -2702,12 +3004,22 @@
"is-extglob": "1.0.0"
}
},
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+ },
"fast-deep-equal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
"integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
"dev": true
},
+ "fast-future": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/fast-future/-/fast-future-1.0.2.tgz",
+ "integrity": "sha1-hDWpqqAteSSNF9cE52JZMB2ZKAo="
+ },
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
@@ -2747,8 +3059,7 @@
"file-saver": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.3.tgz",
- "integrity": "sha1-zdTETTqiZOrC9o7BZbx5HDSvEjI=",
- "dev": true
+ "integrity": "sha1-zdTETTqiZOrC9o7BZbx5HDSvEjI="
},
"filename-regex": {
"version": "2.0.1",
@@ -2816,6 +3127,11 @@
"pinkie-promise": "2.0.1"
}
},
+ "fit-curve": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/fit-curve/-/fit-curve-0.1.6.tgz",
+ "integrity": "sha1-w72+b1oqO+j4Aerr2kBpGRJWqVs="
+ },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -2837,6 +3153,21 @@
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
"dev": true
},
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.17"
+ }
+ },
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
@@ -3766,6 +4097,33 @@
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "requires": {
+ "aproba": "1.2.0",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
"get-caller-file": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
@@ -3784,6 +4142,26 @@
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
"dev": true
},
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "github-from-package": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
+ "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4="
+ },
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
@@ -3820,8 +4198,7 @@
"globals": {
"version": "9.18.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
- "dev": true
+ "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo="
},
"globby": {
"version": "6.1.0",
@@ -3848,6 +4225,31 @@
"integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=",
"dev": true
},
+ "har-schema": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4="
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
+ }
+ }
+ },
"has": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
@@ -3861,7 +4263,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
"requires": {
"ansi-regex": "2.1.1"
}
@@ -3872,6 +4273,34 @@
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
+ "has-own-property-x": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/has-own-property-x/-/has-own-property-x-3.2.0.tgz",
+ "integrity": "sha512-HtRQTYpRFz/YVaQ7jh2mU5iorMAxFcML9FNOLMI1f8VNJ2K0hpOlXoi1a+nmVl6oUcGnhd6zYOFAVe7NUFStyQ==",
+ "requires": {
+ "cached-constructors-x": "1.0.0",
+ "to-object-x": "1.5.0",
+ "to-property-key-x": "2.0.2"
+ }
+ },
+ "has-symbol-support-x": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz",
+ "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA=="
+ },
+ "has-to-string-tag-x": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
+ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
+ "requires": {
+ "has-symbol-support-x": "1.4.1"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ },
"hash-base": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
@@ -3891,6 +4320,17 @@
"minimalistic-assert": "1.0.0"
}
},
+ "hawk": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
+ },
"he": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
@@ -3908,6 +4348,11 @@
"minimalistic-crypto-utils": "1.0.1"
}
},
+ "hoek": {
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
+ },
"hoist-non-react-statics": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
@@ -4115,6 +4560,16 @@
}
}
},
+ "http-signature": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.13.1"
+ }
+ },
"https-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
@@ -4137,6 +4592,11 @@
"integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=",
"dev": true
},
+ "immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
+ },
"import-local": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz",
@@ -4171,7 +4631,6 @@
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.7.1.tgz",
"integrity": "sha1-8gS180cCoywdt9SNidXoZ6BEElM=",
- "dev": true,
"requires": {
"loader-utils": "1.1.0",
"source-map": "0.5.6"
@@ -4192,6 +4651,11 @@
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
"dev": true
},
+ "infinity-x": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/infinity-x/-/infinity-x-1.0.0.tgz",
+ "integrity": "sha512-wjy2TupBtZ+aAniKt+xs/PO0xOkuaL6wBysUKbgD7aL1PMW/qY5xXDG59zXZ7dU+gk3zwXOu4yIEWPCEFBTgHQ=="
+ },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -4205,8 +4669,12 @@
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
},
"inline-style-prefixer": {
"version": "3.0.8",
@@ -4236,7 +4704,6 @@
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
"integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
- "dev": true,
"requires": {
"loose-envify": "1.3.1"
}
@@ -4259,6 +4726,18 @@
"integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=",
"dev": true
},
+ "is-array-buffer-x": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/is-array-buffer-x/-/is-array-buffer-x-1.7.0.tgz",
+ "integrity": "sha512-ufSZRMY2WZX5xyNvk0NOZAG7cgi35B/sGQDGqv8w0X7MoQ2GC9vedanJhuYTPaC4PUCqLQsda1w7NF+dPZmAJw==",
+ "requires": {
+ "attempt-x": "1.1.1",
+ "has-to-string-tag-x": "1.4.1",
+ "is-object-like-x": "1.6.0",
+ "object-get-own-property-descriptor-x": "3.2.0",
+ "to-string-tag-x": "1.4.2"
+ }
+ },
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -4298,8 +4777,7 @@
"is-date-object": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
- "dev": true
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
},
"is-dotfile": {
"version": "1.0.3",
@@ -4328,6 +4806,14 @@
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
+ "is-falsey-x": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-falsey-x/-/is-falsey-x-1.0.1.tgz",
+ "integrity": "sha512-XWNZC4A+3FX1ECoMjspuEFgSdio82IWjqY/suE0gZ10QA7nzHd/KraRq7Tc5VEHtFRgTRyTdY6W+ykPrDnyoAQ==",
+ "requires": {
+ "to-boolean-x": "1.0.1"
+ }
+ },
"is-finite": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
@@ -4337,11 +4823,19 @@
"number-is-nan": "1.0.1"
}
},
+ "is-finite-x": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite-x/-/is-finite-x-3.0.2.tgz",
+ "integrity": "sha512-HyFrxJZsgmP5RtR1PVlVvHSP4VslZOqr4uoq4x3rDrSOFaYp4R9tfmiWtAzQxPzixXhac3cYEno3NuVn0OHk2Q==",
+ "requires": {
+ "infinity-x": "1.0.0",
+ "is-nan-x": "1.0.1"
+ }
+ },
"is-fullwidth-code-point": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
"requires": {
"number-is-nan": "1.0.1"
}
@@ -4351,6 +4845,21 @@
"resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz",
"integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU="
},
+ "is-function-x": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/is-function-x/-/is-function-x-3.3.0.tgz",
+ "integrity": "sha512-SreSSU1dlgYaXR5c0mm4qJHKYHIiGiEY+7Cd8/aRLLoMP/VvofD2XcWgBnP833ajpU5XzXbUSpfysnfKZLJFlg==",
+ "requires": {
+ "attempt-x": "1.1.1",
+ "has-to-string-tag-x": "1.4.1",
+ "is-falsey-x": "1.0.1",
+ "is-primitive": "2.0.0",
+ "normalize-space-x": "3.0.0",
+ "replace-comments-x": "2.0.0",
+ "to-boolean-x": "1.0.1",
+ "to-string-tag-x": "1.4.2"
+ }
+ },
"is-glob": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
@@ -4365,6 +4874,32 @@
"resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz",
"integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU="
},
+ "is-index-x": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-index-x/-/is-index-x-1.1.0.tgz",
+ "integrity": "sha512-qULKLMepQLGC8rSVdi8uF2vI4LiDrU9XSDg1D+Aa657GIB7GV1jHpga7uXgQvkt/cpQ5mVBHUFTpSehYSqT6+A==",
+ "requires": {
+ "math-clamp-x": "1.2.0",
+ "max-safe-integer": "1.0.1",
+ "to-integer-x": "3.0.0",
+ "to-number-x": "2.0.0",
+ "to-string-symbols-supported-x": "1.0.0"
+ }
+ },
+ "is-nan-x": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-nan-x/-/is-nan-x-1.0.1.tgz",
+ "integrity": "sha512-VfNJgfuT8USqKCYQss8g7sFvCzDnL+OOVMQoXhVoulZAyp0ZTj3oyZaaPrn2dxepAkKSQI2BiKHbBabX1DqVtw=="
+ },
+ "is-nil-x": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/is-nil-x/-/is-nil-x-1.4.1.tgz",
+ "integrity": "sha512-cfTKWI5iSR04SSCzzugTH5tS2rYG7kwI8yl/AqWkyuxZ7k55cbA47Y7Lezdg1N9aaELd+UxLg628bdQeNQ6BUw==",
+ "requires": {
+ "lodash.isnull": "3.0.0",
+ "validate.io-undefined": "1.0.3"
+ }
+ },
"is-number": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
@@ -4374,6 +4909,15 @@
"kind-of": "3.2.2"
}
},
+ "is-object-like-x": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/is-object-like-x/-/is-object-like-x-1.6.0.tgz",
+ "integrity": "sha512-mc3dBMv1jEOdk0f1i2RkJFsZDux0MuHqGwHOoRo770ShUOf4VE6tWThAW8dAZARr9a5RN+iNX1yzMDA5ad1clQ==",
+ "requires": {
+ "is-function-x": "3.3.0",
+ "is-primitive": "2.0.0"
+ }
+ },
"is-path-cwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
@@ -4422,8 +4966,12 @@
"is-primitive": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
- "dev": true
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU="
+ },
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
},
"is-regex": {
"version": "1.0.4",
@@ -4439,11 +4987,20 @@
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
},
+ "is-string": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz",
+ "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ="
+ },
"is-symbol": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
- "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
- "dev": true
+ "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI="
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-utf8": {
"version": "0.2.1",
@@ -4460,8 +5017,7 @@
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"isexe": {
"version": "2.0.0",
@@ -4487,6 +5043,11 @@
"whatwg-fetch": "2.0.3"
}
},
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+ },
"js-tokens": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
@@ -4502,6 +5063,12 @@
"esprima": "4.0.0"
}
},
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "optional": true
+ },
"jsesc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
@@ -4514,12 +5081,30 @@
"integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==",
"dev": true
},
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+ },
"json-schema-traverse": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
"dev": true
},
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+ },
"json3": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
@@ -4529,8 +5114,30 @@
"json5": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
- "dev": true
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
},
"jss": {
"version": "8.1.0",
@@ -4614,6 +5221,43 @@
"css-vendor": "0.3.8"
}
},
+ "jszip": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz",
+ "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==",
+ "requires": {
+ "core-js": "2.3.0",
+ "es6-promise": "3.0.2",
+ "lie": "3.1.1",
+ "pako": "1.0.6",
+ "readable-stream": "2.0.6"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz",
+ "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU="
+ },
+ "readable-stream": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "0.10.31",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ }
+ }
+ },
"keycode": {
"version": "2.1.9",
"resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz",
@@ -4649,6 +5293,93 @@
"invert-kv": "1.0.0"
}
},
+ "level": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/level/-/level-2.1.1.tgz",
+ "integrity": "sha512-jhsItEs/L5bf5ctKsvIPcMzeh4nwXxnL3Tsxm4E9My07jcFfqEYwKP57Y9AZu7tmtECdyK6bvCqoClwuOBuY9w==",
+ "requires": {
+ "level-packager": "2.1.0",
+ "leveldown": "2.1.1"
+ }
+ },
+ "level-codec": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz",
+ "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ=="
+ },
+ "level-errors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.1.2.tgz",
+ "integrity": "sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w==",
+ "requires": {
+ "errno": "0.1.4"
+ }
+ },
+ "level-iterator-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-2.0.0.tgz",
+ "integrity": "sha512-TWOYw8HR5mhj6xwoVLo0yu26RPL6v28KgvhK1kY1CJf9LyL+rJXjx99zhORTYhN9ysOBIH+iaxAiqRteA+C1/g==",
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3",
+ "xtend": "4.0.1"
+ }
+ },
+ "level-packager": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-2.1.0.tgz",
+ "integrity": "sha512-I97zvGOZ6fJ9OFfYv+QmgBpDWbC+UaP5ERJ3oraTyk1v+ABAL4tazris5ym5qL2iLe+qNjXNM/iP8LQcoZMEWw==",
+ "requires": {
+ "encoding-down": "3.0.0",
+ "levelup": "2.0.1"
+ }
+ },
+ "level-write-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/level-write-stream/-/level-write-stream-1.0.0.tgz",
+ "integrity": "sha1-P3+7Z5pVE3wP6zA97nZuEu4Twdw=",
+ "requires": {
+ "end-stream": "0.1.0"
+ }
+ },
+ "leveldown": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-2.1.1.tgz",
+ "integrity": "sha512-JNMCTSchq1YtQLMGePmT07UE7hIIYR4GHpZI7+nUXbM9XgNtRAwcBGhnyJyITwpTILTkUcNPBKZ9lZmTUj2E3g==",
+ "requires": {
+ "abstract-leveldown": "3.0.0",
+ "bindings": "1.3.0",
+ "fast-future": "1.0.2",
+ "nan": "2.8.0",
+ "prebuild-install": "2.4.1"
+ },
+ "dependencies": {
+ "nan": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz",
+ "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo="
+ }
+ }
+ },
+ "levelup": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/levelup/-/levelup-2.0.1.tgz",
+ "integrity": "sha1-PckbPmMtN8nlRiOchkEYsATJ+GA=",
+ "requires": {
+ "deferred-leveldown": "2.0.3",
+ "level-errors": "1.1.2",
+ "level-iterator-stream": "2.0.0",
+ "xtend": "4.0.1"
+ }
+ },
+ "lie": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
+ "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=",
+ "requires": {
+ "immediate": "3.0.6"
+ }
+ },
"load-json-file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
@@ -4671,7 +5402,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
- "dev": true,
"requires": {
"big.js": "3.2.0",
"emojis-list": "2.1.0",
@@ -4701,6 +5431,16 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
"integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
},
+ "lodash-es": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz",
+ "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc="
+ },
+ "lodash.isnull": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.isnull/-/lodash.isnull-3.0.0.tgz",
+ "integrity": "sha1-+vvlnqHcon7teGU0A53YTC4HxW4="
+ },
"lodash.merge": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz",
@@ -4757,6 +5497,19 @@
"yallist": "2.1.2"
}
},
+ "lru-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+ "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
+ "requires": {
+ "es5-ext": "0.10.35"
+ }
+ },
+ "ltgt": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.0.tgz",
+ "integrity": "sha1-tlul/LNJopkkyOMz98alVi8uSEI="
+ },
"map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
@@ -4768,7 +5521,7 @@
"resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.19.4.tgz",
"integrity": "sha1-ypzcqKqLtZTfrF2zjsn/BFoyNYc=",
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"inline-style-prefixer": "3.0.8",
"keycode": "2.1.9",
"lodash.merge": "4.6.0",
@@ -4781,6 +5534,28 @@
"warning": "3.0.0"
}
},
+ "math-clamp-x": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/math-clamp-x/-/math-clamp-x-1.2.0.tgz",
+ "integrity": "sha512-tqpjpBcIf9UulApz3EjWXqTZpMlr2vLN9PryC9ghoyCuRmqZaf3JJhPddzgQpJnKLi2QhoFnvKBFtJekAIBSYg==",
+ "requires": {
+ "to-number-x": "2.0.0"
+ }
+ },
+ "math-sign-x": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/math-sign-x/-/math-sign-x-3.0.0.tgz",
+ "integrity": "sha512-OzPas41Pn4d16KHnaXmGxxY3/l3zK4OIXtmIwdhgZsxz4FDDcNnbrABYPg2vGfxIkaT9ezGnzDviRH7RfF44jQ==",
+ "requires": {
+ "is-nan-x": "1.0.1",
+ "to-number-x": "2.0.0"
+ }
+ },
+ "max-safe-integer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/max-safe-integer/-/max-safe-integer-1.0.1.tgz",
+ "integrity": "sha1-84BgvixWPYwC5tSK85Ei/YO29BA="
+ },
"md5.js": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
@@ -4818,6 +5593,60 @@
"mimic-fn": "1.1.0"
}
},
+ "memoizee": {
+ "version": "0.3.10",
+ "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.3.10.tgz",
+ "integrity": "sha1-TsoNiu057J0Bf0xcLy9kMvQuXI8=",
+ "requires": {
+ "d": "0.1.1",
+ "es5-ext": "0.10.35",
+ "es6-weak-map": "0.1.4",
+ "event-emitter": "0.3.5",
+ "lru-queue": "0.1.0",
+ "next-tick": "0.2.2",
+ "timers-ext": "0.1.2"
+ },
+ "dependencies": {
+ "d": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
+ "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=",
+ "requires": {
+ "es5-ext": "0.10.35"
+ }
+ },
+ "es6-iterator": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz",
+ "integrity": "sha1-1vWLjE/EE8JJtLqhl2j45NfIlE4=",
+ "requires": {
+ "d": "0.1.1",
+ "es5-ext": "0.10.35",
+ "es6-symbol": "2.0.1"
+ }
+ },
+ "es6-symbol": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz",
+ "integrity": "sha1-dhtcZ8/U8dGK+yNPaR1nhoLLO/M=",
+ "requires": {
+ "d": "0.1.1",
+ "es5-ext": "0.10.35"
+ }
+ },
+ "es6-weak-map": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.4.tgz",
+ "integrity": "sha1-cGzvnpmqI2undmwjnIueKG6n0ig=",
+ "requires": {
+ "d": "0.1.1",
+ "es5-ext": "0.10.35",
+ "es6-iterator": "0.1.3",
+ "es6-symbol": "2.0.1"
+ }
+ }
+ }
+ },
"memory-fs": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
@@ -4960,14 +5789,12 @@
"mime-db": {
"version": "1.30.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
- "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=",
- "dev": true
+ "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
},
"mime-types": {
"version": "2.1.17",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
"integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
- "dev": true,
"requires": {
"mime-db": "1.30.0"
}
@@ -5002,14 +5829,12 @@
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
},
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
"requires": {
"minimist": "0.0.8"
}
@@ -5017,8 +5842,7 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multicast-dns": {
"version": "6.1.1",
@@ -5043,6 +5867,11 @@
"dev": true,
"optional": true
},
+ "nan-x": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/nan-x/-/nan-x-1.0.0.tgz",
+ "integrity": "sha512-yw4Fhe2/UTzanQ4f0yHWkRnfTuHZFAi4GZDjXS4G+qv5BqXTqPJBbSxpa7MyyW9v4Y4ZySZQik1vcbNkhdnIOg=="
+ },
"ncname": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz",
@@ -5058,6 +5887,11 @@
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
"dev": true
},
+ "next-tick": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz",
+ "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0="
+ },
"no-case": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
@@ -5067,6 +5901,14 @@
"lower-case": "1.1.4"
}
},
+ "node-abi": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.1.2.tgz",
+ "integrity": "sha512-hmUtb8m75RSi7N+zZLYqe75XDvZB+6LyTBPkj2DConvNgQet2e3BIqEwe1LLvqMrfyjabuT5ZOrTioLCH1HTdA==",
+ "requires": {
+ "semver": "5.4.1"
+ }
+ },
"node-fetch": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
@@ -5113,10 +5955,16 @@
"vm-browserify": "0.0.4"
}
},
+ "noop-logger": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
+ "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
+ },
"normalize-jss": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/normalize-jss/-/normalize-jss-4.0.0.tgz",
- "integrity": "sha512-zsn6yP0fOoDpzktjHCWKGVDMssYso0h6wxjW3+ABUp5CeEPpYc9YUy6cy7/SLO2yrPvtEzx0vu79Y9iEF2qSnA=="
+ "integrity": "sha512-zsn6yP0fOoDpzktjHCWKGVDMssYso0h6wxjW3+ABUp5CeEPpYc9YUy6cy7/SLO2yrPvtEzx0vu79Y9iEF2qSnA==",
+ "dev": true
},
"normalize-package-data": {
"version": "2.4.0",
@@ -5139,6 +5987,16 @@
"remove-trailing-separator": "1.0.2"
}
},
+ "normalize-space-x": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-space-x/-/normalize-space-x-3.0.0.tgz",
+ "integrity": "sha512-tbCJerqZCCHPst4rRKgsTanLf45fjOyeAU5zE3mhDxJtFJKt66q39g2XArWhXelgTFVib8mNBUm6Wrd0LxYcfQ==",
+ "requires": {
+ "cached-constructors-x": "1.0.0",
+ "trim-x": "3.0.0",
+ "white-space-x": "3.0.0"
+ }
+ },
"npm-run-path": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
@@ -5148,6 +6006,17 @@
"path-key": "2.0.1"
}
},
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ }
+ },
"nth-check": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
@@ -5160,14 +6029,35 @@
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
+ "object-get-own-property-descriptor-x": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/object-get-own-property-descriptor-x/-/object-get-own-property-descriptor-x-3.2.0.tgz",
+ "integrity": "sha512-Z/0fIrptD9YuzN+SNK/1kxAEaBcPQM4gSrtOSMSi9eplnL/AbyQcAyAlreAoAzmBon+DQ1Z+AdhxyQSvav5Fyg==",
+ "requires": {
+ "attempt-x": "1.1.1",
+ "has-own-property-x": "3.2.0",
+ "has-symbol-support-x": "1.4.1",
+ "is-falsey-x": "1.0.1",
+ "is-index-x": "1.1.0",
+ "is-primitive": "2.0.0",
+ "is-string": "1.0.4",
+ "property-is-enumerable-x": "1.1.0",
+ "to-object-x": "1.5.0",
+ "to-property-key-x": "2.0.2"
+ }
+ },
"object-keys": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
@@ -5209,7 +6099,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
"requires": {
"wrappy": "1.0.2"
}
@@ -5253,8 +6142,7 @@
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
- "dev": true
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
},
"os-locale": {
"version": "2.1.0",
@@ -5314,8 +6202,7 @@
"pako": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
- "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
- "dev": true
+ "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg=="
},
"param-case": {
"version": "2.1.1",
@@ -5351,6 +6238,17 @@
"is-glob": "2.0.1"
}
},
+ "parse-int-x": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-int-x/-/parse-int-x-2.0.0.tgz",
+ "integrity": "sha512-NIMm52gmd1+0qxJK8lV3OZ4zzWpRH1xcz9xCHXl+DNzddwUdS4NEtd7BmTeK7iCIXoaK5e6BoDMHgieH2eNIhg==",
+ "requires": {
+ "cached-constructors-x": "1.0.0",
+ "nan-x": "1.0.0",
+ "to-string-x": "1.4.2",
+ "trim-left-x": "3.0.0"
+ }
+ },
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
@@ -5433,6 +6331,16 @@
"sha.js": "2.4.9"
}
},
+ "pepjs": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/pepjs/-/pepjs-0.4.3.tgz",
+ "integrity": "sha1-FggOlwqud5kTdWwtrviOqnSG30E="
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
+ },
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
@@ -5482,6 +6390,97 @@
}
}
},
+ "pouchdb": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/pouchdb/-/pouchdb-6.4.0.tgz",
+ "integrity": "sha512-R9sm7USMctC1/itY9UdtA8iVOF04Ui+rsGnNdO9zLTpolzglWskSL/0B3RQ2OchGYLNgsaZS0UzQ7AQ1SHXobg==",
+ "requires": {
+ "argsarray": "0.0.1",
+ "buffer-from": "0.1.1",
+ "clone-buffer": "1.0.0",
+ "debug": "3.0.1",
+ "double-ended-queue": "2.1.0-0",
+ "immediate": "3.0.6",
+ "inherits": "2.0.3",
+ "level": "2.1.1",
+ "level-codec": "7.0.1",
+ "level-write-stream": "1.0.0",
+ "leveldown": "2.1.1",
+ "levelup": "2.0.1",
+ "lie": "3.1.1",
+ "ltgt": "2.2.0",
+ "readable-stream": "1.0.33",
+ "request": "2.80.0",
+ "spark-md5": "3.0.0",
+ "through2": "2.0.3",
+ "uuid": "3.1.0",
+ "vuvuzela": "1.0.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.0.1.tgz",
+ "integrity": "sha512-6nVc6S36qbt/mutyt+UGMnawAMrPDZUPQjRZI3FS9tCtDRhvxJbK79unYBLPi+z5SLXQ3ftoVBFCblQtNSls8w==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "readable-stream": {
+ "version": "1.0.33",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz",
+ "integrity": "sha1-OjYN1mwbHX/UcFOJhg7aHQ9hEmw=",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ },
+ "uuid": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
+ "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
+ }
+ }
+ },
+ "prebuild-install": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.4.1.tgz",
+ "integrity": "sha512-99TyEFYTTkBWANT+mwSptmLb9ZCLQ6qKIUE36fXSIOtShB0JNprL2hzBD8F1yIuT9btjFrFEwbRHXhqDi1HmRA==",
+ "requires": {
+ "expand-template": "1.1.0",
+ "github-from-package": "0.0.0",
+ "minimist": "1.2.0",
+ "mkdirp": "0.5.1",
+ "node-abi": "2.1.2",
+ "noop-logger": "0.1.1",
+ "npmlog": "4.1.2",
+ "os-homedir": "1.0.2",
+ "pump": "1.0.3",
+ "rc": "1.2.2",
+ "simple-get": "1.4.3",
+ "tar-fs": "1.16.0",
+ "tunnel-agent": "0.6.0",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ }
+ }
+ },
"preserve": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
@@ -5501,8 +6500,7 @@
"private": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
- "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=",
- "dev": true
+ "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE="
},
"process": {
"version": "0.11.10",
@@ -5513,8 +6511,7 @@
"process-nextick-args": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
},
"promise": {
"version": "7.3.1",
@@ -5534,6 +6531,15 @@
"object-assign": "4.1.1"
}
},
+ "property-is-enumerable-x": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/property-is-enumerable-x/-/property-is-enumerable-x-1.1.0.tgz",
+ "integrity": "sha512-22cKy3w3OpRswU6to9iKWDDlg+F9vF2REcwGlGW23jyLjHb1U/jJEWA44sWupOnkhGfDgotU6Lw+N2oyhNi+5A==",
+ "requires": {
+ "to-object-x": "1.5.0",
+ "to-property-key-x": "2.0.2"
+ }
+ },
"proptypes": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proptypes/-/proptypes-1.1.0.tgz",
@@ -5552,8 +6558,7 @@
"prr": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
- "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
- "dev": true
+ "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo="
},
"pseudomap": {
"version": "1.0.2",
@@ -5574,11 +6579,19 @@
"randombytes": "2.0.5"
}
},
+ "pump": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
+ "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
+ "requires": {
+ "end-of-stream": "1.4.0",
+ "once": "1.4.0"
+ }
+ },
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
},
"qs": {
"version": "6.5.1",
@@ -5604,6 +6617,26 @@
"integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=",
"dev": true
},
+ "raf": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz",
+ "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==",
+ "requires": {
+ "performance-now": "2.1.0"
+ },
+ "dependencies": {
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+ }
+ }
+ },
+ "ramda": {
+ "version": "0.21.0",
+ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz",
+ "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU="
+ },
"randomatic": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
@@ -5688,6 +6721,24 @@
"integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=",
"dev": true
},
+ "rc": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz",
+ "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=",
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.5",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ }
+ }
+ },
"react": {
"version": "16.1.0",
"resolved": "https://registry.npmjs.org/react/-/react-16.1.0.tgz",
@@ -5699,6 +6750,15 @@
"prop-types": "15.6.0"
}
},
+ "react-addons-update": {
+ "version": "15.6.2",
+ "resolved": "https://registry.npmjs.org/react-addons-update/-/react-addons-update-15.6.2.tgz",
+ "integrity": "sha1-5TdTxbNIh5dFEMiC1/sHWFHV5QQ=",
+ "requires": {
+ "fbjs": "0.8.16",
+ "object-assign": "4.1.1"
+ }
+ },
"react-dom": {
"version": "16.1.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.1.0.tgz",
@@ -5749,6 +6809,45 @@
"theming": "1.1.0"
}
},
+ "react-notification-system": {
+ "version": "0.2.16",
+ "resolved": "https://registry.npmjs.org/react-notification-system/-/react-notification-system-0.2.16.tgz",
+ "integrity": "sha1-m52iCw00eGtgBXxStCUW6hKVN0o=",
+ "requires": {
+ "create-react-class": "15.6.2",
+ "object-assign": "4.1.1",
+ "prop-types": "15.6.0"
+ }
+ },
+ "react-notification-system-redux": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/react-notification-system-redux/-/react-notification-system-redux-1.2.0.tgz",
+ "integrity": "sha1-FPsJFccuTBLZmD/+ByVOLNGexd8=",
+ "requires": {
+ "prop-types": "15.6.0",
+ "react-notification-system": "0.2.16"
+ }
+ },
+ "react-redux": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.6.tgz",
+ "integrity": "sha512-8taaaGu+J7PMJQDJrk/xiWEYQmdo3mkXw6wPr3K3LxvXis3Fymiq7c13S+Tpls/AyNUAsoONkU81AP0RA6y6Vw==",
+ "requires": {
+ "hoist-non-react-statics": "2.3.1",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4",
+ "lodash-es": "4.17.4",
+ "loose-envify": "1.3.1",
+ "prop-types": "15.6.0"
+ },
+ "dependencies": {
+ "hoist-non-react-statics": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz",
+ "integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA="
+ }
+ }
+ },
"react-resize-detector": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-1.1.0.tgz",
@@ -5757,6 +6856,15 @@
"prop-types": "15.6.0"
}
},
+ "react-svg-inline": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/react-svg-inline/-/react-svg-inline-2.0.1.tgz",
+ "integrity": "sha512-9YVqJ80g1gPWAvD9CS/z4cKPD45ZSMjjzwxFAmQJiMEoAo1Ajhz92WirXag3ftltDN5lPNkVWx/KOnEWB/PaMQ==",
+ "requires": {
+ "classnames": "2.2.5",
+ "prop-types": "15.6.0"
+ }
+ },
"react-tap-event-plugin": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/react-tap-event-plugin/-/react-tap-event-plugin-3.0.2.tgz",
@@ -5814,7 +6922,6 @@
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
"integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
- "dev": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.3",
@@ -5865,11 +6972,37 @@
"strip-indent": "1.0.1"
}
},
+ "redux-form": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-7.2.0.tgz",
+ "integrity": "sha512-qbgeI19drwnm9FeGAotDA1vsZO8q94XF7IxPDuJmSXxDYX2rqzhND6NROahCBJfBK5xM1cchvmgscO2rry1EEw==",
+ "requires": {
+ "deep-equal": "1.0.1",
+ "es6-error": "4.0.2",
+ "hoist-non-react-statics": "2.3.1",
+ "invariant": "2.2.2",
+ "is-promise": "2.1.0",
+ "lodash": "4.17.4",
+ "lodash-es": "4.17.4",
+ "prop-types": "15.6.0"
+ },
+ "dependencies": {
+ "hoist-non-react-statics": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz",
+ "integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA="
+ }
+ }
+ },
+ "redux-undo": {
+ "version": "1.0.0-beta9-9-7",
+ "resolved": "https://registry.npmjs.org/redux-undo/-/redux-undo-1.0.0-beta9-9-7.tgz",
+ "integrity": "sha1-/juqGycUI9fdu/w6gscbApotuLo="
+ },
"regenerate": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
- "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==",
- "dev": true
+ "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg=="
},
"regenerator-runtime": {
"version": "0.10.5",
@@ -5880,9 +7013,8 @@
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
"integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
- "dev": true,
"requires": {
- "babel-runtime": "6.23.0",
+ "babel-runtime": "6.26.0",
"babel-types": "6.25.0",
"private": "0.1.7"
}
@@ -5901,7 +7033,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
"integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
- "dev": true,
"requires": {
"regenerate": "1.3.3",
"regjsgen": "0.2.0",
@@ -5911,14 +7042,12 @@
"regjsgen": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
- "dev": true
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
},
"regjsparser": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
- "dev": true,
"requires": {
"jsesc": "0.5.0"
},
@@ -5926,8 +7055,7 @@
"jsesc": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
- "dev": true
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
}
}
},
@@ -5985,6 +7113,69 @@
"is-finite": "1.0.2"
}
},
+ "replace-comments-x": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/replace-comments-x/-/replace-comments-x-2.0.0.tgz",
+ "integrity": "sha512-+vMP4jqU+8HboLWms6YMNEiaZG5hh1oR6ENCnGYDF/UQ7aYiJUK/8tcl3+KZAHRCKKa3gqzrfiarlUBHQSgRlg==",
+ "requires": {
+ "require-coercible-to-string-x": "1.0.0",
+ "to-string-x": "1.4.2"
+ }
+ },
+ "request": {
+ "version": "2.80.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.80.0.tgz",
+ "integrity": "sha1-jMFi1215OBze/dNQXXa4C2BYm9A=",
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.17",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.3.2",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.3",
+ "tunnel-agent": "0.4.3",
+ "uuid": "3.1.0"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.3.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
+ "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw="
+ },
+ "tunnel-agent": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us="
+ },
+ "uuid": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
+ "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
+ }
+ }
+ },
+ "require-coercible-to-string-x": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/require-coercible-to-string-x/-/require-coercible-to-string-x-1.0.0.tgz",
+ "integrity": "sha512-Rpfd4sMdflPAKecdKhfAtQHlZzzle4UMUgxJ01hXtTcNWMV8w9GeZnKhEyrT73kgrflBOP1zg41amUPZGcNspA==",
+ "requires": {
+ "require-object-coercible-x": "1.4.1",
+ "to-string-x": "1.4.2"
+ }
+ },
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -5997,6 +7188,14 @@
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
"dev": true
},
+ "require-object-coercible-x": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/require-object-coercible-x/-/require-object-coercible-x-1.4.1.tgz",
+ "integrity": "sha512-0YHa2afepsLfQvwQ1P2XvDZnGOUia5sC07ZijIRU2dnsRxnuilXWF6B2CFaKGDA9eZl39lJHrXCDsnfgroRd6Q==",
+ "requires": {
+ "is-nil-x": "1.4.1"
+ }
+ },
"require-resolve": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/require-resolve/-/require-resolve-0.0.2.tgz",
@@ -6012,6 +7211,11 @@
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
"dev": true
},
+ "reselect": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz",
+ "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc="
+ },
"resolve-cwd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
@@ -6058,8 +7262,7 @@
"safe-buffer": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=",
- "dev": true
+ "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
},
"schema-utils": {
"version": "0.3.0",
@@ -6088,8 +7291,7 @@
"semver": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
- "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
- "dev": true
+ "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg=="
},
"send": {
"version": "0.16.1",
@@ -6170,8 +7372,7 @@
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
"set-immediate-shim": {
"version": "1.0.1",
@@ -6215,23 +7416,45 @@
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true
},
+ "shortid": {
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.8.tgz",
+ "integrity": "sha1-AzsRfWoul1gE9vCWnb59PQs1UTE="
+ },
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
},
"simple-assign": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/simple-assign/-/simple-assign-0.1.0.tgz",
"integrity": "sha1-F/0wZqXz13OPUDIbsPFMooHMS6o="
},
+ "simple-get": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz",
+ "integrity": "sha1-6XVe2kB+ltpAxeUVjJ6jezO+y+s=",
+ "requires": {
+ "once": "1.4.0",
+ "unzip-response": "1.0.2",
+ "xtend": "4.0.1"
+ }
+ },
"slash": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
"dev": true
},
+ "sntp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
"sockjs": {
"version": "0.3.18",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz",
@@ -6276,8 +7499,7 @@
"source-map": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
- "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
- "dev": true
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
},
"source-map-support": {
"version": "0.4.15",
@@ -6288,6 +7510,11 @@
"source-map": "0.5.6"
}
},
+ "spark-md5": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.0.tgz",
+ "integrity": "sha1-NyIifFTi+vJLHcbZM8wUTm9xv+8="
+ },
"spdx-correct": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
@@ -6344,6 +7571,28 @@
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
+ "sshpk": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
+ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
"statuses": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
@@ -6377,7 +7626,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
- "dev": true,
"requires": {
"safe-buffer": "5.1.1"
}
@@ -6415,11 +7663,15 @@
}
}
},
+ "stringstream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
+ },
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
"requires": {
"ansi-regex": "2.1.1"
}
@@ -6445,11 +7697,15 @@
"get-stdin": "4.0.1"
}
},
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ },
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
},
"symbol-observable": {
"version": "1.0.4",
@@ -6462,6 +7718,28 @@
"integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=",
"dev": true
},
+ "tar-fs": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz",
+ "integrity": "sha512-I9rb6v7mjWLtOfCau9eH5L7sLJyU2BnxtEZRQ5Mt+eRKmf1F0ohXmT/Jc3fr52kDvjJ/HV5MH3soQfPL5bQ0Yg==",
+ "requires": {
+ "chownr": "1.0.1",
+ "mkdirp": "0.5.1",
+ "pump": "1.0.3",
+ "tar-stream": "1.5.5"
+ }
+ },
+ "tar-stream": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz",
+ "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==",
+ "requires": {
+ "bl": "1.2.1",
+ "end-of-stream": "1.4.0",
+ "readable-stream": "2.3.3",
+ "xtend": "4.0.1"
+ }
+ },
"theming": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/theming/-/theming-1.1.0.tgz",
@@ -6493,6 +7771,18 @@
"resolved": "https://registry.npmjs.org/three/-/three-0.88.0.tgz",
"integrity": "sha1-QlbC/Djk+yOg0j66K2zOTfjkZtU="
},
+ "three-js-csg": {
+ "version": "github:Doodle3D/three-js-csg#a36f23da6e9be2405a9094de5709cb0ae8f58045"
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "requires": {
+ "readable-stream": "2.3.3",
+ "xtend": "4.0.1"
+ }
+ },
"thunky": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz",
@@ -6514,17 +7804,121 @@
"setimmediate": "1.0.5"
}
},
+ "timers-ext": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.2.tgz",
+ "integrity": "sha1-YcxHp2wavTGV8UUn+XjViulMUgQ=",
+ "requires": {
+ "es5-ext": "0.10.35",
+ "next-tick": "1.0.0"
+ },
+ "dependencies": {
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
+ }
+ }
+ },
"to-arraybuffer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
"dev": true
},
+ "to-boolean-x": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-boolean-x/-/to-boolean-x-1.0.1.tgz",
+ "integrity": "sha512-PstxY3K6hVEHnY3FITs8XBoJbt0RI1e4MLIhAL9hWa3BtVLCrb86vU5z6lEKh7uZZjiPiLqIKMmfMro1nNgtXQ=="
+ },
"to-fast-properties": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
- "dev": true
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+ },
+ "to-integer-x": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/to-integer-x/-/to-integer-x-3.0.0.tgz",
+ "integrity": "sha512-794L2Lpwjtynm7RxahJi2YdbRY75gTxUW27TMuN26UgwPkmJb/+HPhkFEFbz+E4vNoiP0dxq5tq5fkXoXLaK/w==",
+ "requires": {
+ "is-finite-x": "3.0.2",
+ "is-nan-x": "1.0.1",
+ "math-sign-x": "3.0.0",
+ "to-number-x": "2.0.0"
+ }
+ },
+ "to-number-x": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-number-x/-/to-number-x-2.0.0.tgz",
+ "integrity": "sha512-lGOnCoccUoSzjZ/9Uen8TC4+VFaQcFGhTroWTv2tYWxXgyJV1zqAZ8hEIMkez/Eo790fBMOjidTnQ/OJSCvAoQ==",
+ "requires": {
+ "cached-constructors-x": "1.0.0",
+ "nan-x": "1.0.0",
+ "parse-int-x": "2.0.0",
+ "to-primitive-x": "1.1.0",
+ "trim-x": "3.0.0"
+ }
+ },
+ "to-object-x": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/to-object-x/-/to-object-x-1.5.0.tgz",
+ "integrity": "sha512-AKn5GQcdWky+s20vjWkt+Wa6y3dxQH3yQyMBhOfBOPldUwqwhgvlqcIg5H092ntNc+TX8/Cxzs1kMHH19pyCnA==",
+ "requires": {
+ "cached-constructors-x": "1.0.0",
+ "require-object-coercible-x": "1.4.1"
+ }
+ },
+ "to-primitive-x": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/to-primitive-x/-/to-primitive-x-1.1.0.tgz",
+ "integrity": "sha512-gyMY0gi3wjK3e4MUBKqv9Zl8QGcWguIkaUr2VJmoBEsOpDcpDZSEyljR773eVG4maS48uX7muLkoQoh/BA82OQ==",
+ "requires": {
+ "has-symbol-support-x": "1.4.1",
+ "is-date-object": "1.0.1",
+ "is-function-x": "3.3.0",
+ "is-nil-x": "1.4.1",
+ "is-primitive": "2.0.0",
+ "is-symbol": "1.0.1",
+ "require-object-coercible-x": "1.4.1",
+ "validate.io-undefined": "1.0.3"
+ }
+ },
+ "to-property-key-x": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/to-property-key-x/-/to-property-key-x-2.0.2.tgz",
+ "integrity": "sha512-YISLpZFYIazNm0P8hLsKEEUEZ3m8U3+eDysJZqTu3+B9tQp+2TrMpaEGT8Agh4fZ5LSoums60/glNEzk5ozqrg==",
+ "requires": {
+ "has-symbol-support-x": "1.4.1",
+ "to-primitive-x": "1.1.0",
+ "to-string-x": "1.4.2"
+ }
+ },
+ "to-string-symbols-supported-x": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-string-symbols-supported-x/-/to-string-symbols-supported-x-1.0.0.tgz",
+ "integrity": "sha512-HbVH673pybrUmhzESGHUm17BBJvqb7BU8HciOvuEYm9ipuDyjmddhvkVqpVW6sM/C5/zhJo17n7O7I/24loJIQ==",
+ "requires": {
+ "cached-constructors-x": "1.0.0",
+ "has-symbol-support-x": "1.4.1",
+ "is-symbol": "1.0.1"
+ }
+ },
+ "to-string-tag-x": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/to-string-tag-x/-/to-string-tag-x-1.4.2.tgz",
+ "integrity": "sha512-ytO9eLigxsQQLGuab0C1iSSTzKdJNVSlBg0Spg4J/rGAVrQJ5y774mo0SSzgGeTT4RJGGyJNfObXaTMzX0XDOQ==",
+ "requires": {
+ "lodash.isnull": "3.0.0",
+ "validate.io-undefined": "1.0.3"
+ }
+ },
+ "to-string-x": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/to-string-x/-/to-string-x-1.4.2.tgz",
+ "integrity": "sha512-/WP5arlwtCpAAexCCHiQBW0eXwse84osWyP1Qtaz71nsYSuUpOkT6tBm8nQ4IIUfSh5hji0hDupUCD2xbbOL6A==",
+ "requires": {
+ "is-symbol": "1.0.1"
+ }
},
"toposort": {
"version": "1.0.6",
@@ -6532,6 +7926,24 @@
"integrity": "sha1-wxdI5V0hDv/AD9zcfW5o19e7nOw=",
"dev": true
},
+ "tough-cookie": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
+ "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ },
+ "trim-left-x": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-left-x/-/trim-left-x-3.0.0.tgz",
+ "integrity": "sha512-+m6cqkppI+CxQBTwWEZliOHpOBnCArGyMnS1WCLb6IRgukhTkiQu/TNEN5Lj2eM9jk8ewJsc7WxFZfmwNpRXWQ==",
+ "requires": {
+ "cached-constructors-x": "1.0.0",
+ "require-coercible-to-string-x": "1.0.0",
+ "white-space-x": "3.0.0"
+ }
+ },
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
@@ -6544,12 +7956,45 @@
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
+ "trim-right-x": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-right-x/-/trim-right-x-3.0.0.tgz",
+ "integrity": "sha512-iIqEsWEbWVodqdixJHi4FoayJkUxhoL4AvSNGp4FF4FfQKRPGizt8++/RnyC9od75y7P/S6EfONoVqP+NddiKA==",
+ "requires": {
+ "cached-constructors-x": "1.0.0",
+ "require-coercible-to-string-x": "1.0.0",
+ "white-space-x": "3.0.0"
+ }
+ },
+ "trim-x": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-x/-/trim-x-3.0.0.tgz",
+ "integrity": "sha512-w8s38RAUScQ6t3XqMkS75iz5ZkIYLQpVnv2lp3IuTS36JdlVzC54oe6okOf4Wz3UH4rr3XAb2xR3kR5Xei82fw==",
+ "requires": {
+ "trim-left-x": "3.0.0",
+ "trim-right-x": "3.0.0"
+ }
+ },
"tty-browserify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "optional": true
+ },
"type-is": {
"version": "1.6.15",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
@@ -6632,6 +8077,11 @@
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"dev": true
},
+ "unzip-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
+ "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4="
+ },
"upper-case": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
@@ -6710,8 +8160,7 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"utila": {
"version": "0.4.0",
@@ -6740,6 +8189,11 @@
"user-home": "1.1.1"
}
},
+ "valid-url": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz",
+ "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA="
+ },
"validate-npm-package-license": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
@@ -6750,12 +8204,34 @@
"spdx-expression-parse": "1.0.4"
}
},
+ "validate.io-undefined": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/validate.io-undefined/-/validate.io-undefined-1.0.3.tgz",
+ "integrity": "sha1-fif8uzFbhB54JDQxiXZxkp4gt/Q="
+ },
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"dev": true
},
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "1.3.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
"vm-browserify": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
@@ -6765,6 +8241,11 @@
"indexof": "0.0.1"
}
},
+ "vuvuzela": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/vuvuzela/-/vuvuzela-1.0.3.tgz",
+ "integrity": "sha1-O+FF5YJxxzylUnndhR8SpoIRSws="
+ },
"warning": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
@@ -7083,6 +8564,31 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
+ "white-space-x": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/white-space-x/-/white-space-x-3.0.0.tgz",
+ "integrity": "sha512-nMPVXGMdi/jQepXKryxqzEh/vCwdOYY/u6NZy40glMHvZfEr7/+vQKnDhEq4rZ1nniOFq9GWohQYB30uW/5Olg=="
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
+ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
+ "requires": {
+ "string-width": "1.0.2"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
"window-size": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
@@ -7131,8 +8637,22 @@
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "write-stream": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/write-stream/-/write-stream-0.4.3.tgz",
+ "integrity": "sha1-g8yMA0fQr2BXqThitOOuAd5cgcE=",
+ "requires": {
+ "readable-stream": "0.0.4"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-0.0.4.tgz",
+ "integrity": "sha1-8y124/uGM0SlSNeZIwBxc2ZbO40="
+ }
+ }
},
"x-path": {
"version": "0.0.2",
@@ -7152,8 +8672,7 @@
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
- "dev": true
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
},
"y18n": {
"version": "3.2.1",
diff --git a/package.json b/package.json
index 18cf566..e151b75 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,10 @@
},
"dependencies": {
"@doodle3d/clipper-js": "^1.0.7",
+ "@doodle3d/doodle3d-core": "github:doodle3d/doodle3d-core",
+ "babel-plugin-transform-export-extensions": "^6.22.0",
+ "babel-runtime": "^6.26.0",
+ "file-saver": "^1.3.3",
"lodash": "^4.17.4",
"material-ui": "^0.19.4",
"proptypes": "^1.1.0",
@@ -26,30 +30,28 @@
"three": "^0.88.0"
},
"devDependencies": {
- "raw-loader": "^0.5.1",
+ "babel-cli": "6.24.1",
+ "babel-loader": "7.0.0",
+ "babel-plugin-add-module-exports": "0.2.1",
"babel-plugin-inline-import": "^2.0.6",
- "babel-preset-stage-0": "^6.24.1",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-es2015-classes": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
+ "babel-plugin-transform-runtime": "^6.23.0",
+ "babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.6.1",
- "babel-preset-react": "^6.24.1",
- "babel-cli": "6.24.1",
- "babel-core": "6.24.1",
- "babel-loader": "7.0.0",
- "babel-plugin-add-module-exports": "0.2.1",
"babel-preset-es2015": "6.24.1",
- "babel-polyfill": "^6.23.0",
- "file-saver": "^1.3.3",
+ "babel-preset-react": "^6.24.1",
+ "babel-preset-stage-0": "^6.24.1",
+ "html-webpack-plugin": "^2.29.0",
"html-webpack-template": "^6.0.2",
"imports-loader": "^0.7.1",
- "normalize-jss": "^4.0.0",
"material-ui": "^0.19.4",
+ "normalize-jss": "^4.0.0",
+ "raw-loader": "^0.5.1",
"react-tap-event-plugin": "^3.0.2",
"url-loader": "^0.5.9",
- "babel-plugin-transform-runtime": "^6.23.0",
- "html-webpack-plugin": "^2.29.0",
"webpack": "^3.3.0",
"webpack-dev-server": "^2.5.1",
"worker-loader": "^0.8.1",
diff --git a/src/interface/index.js b/src/interface/index.js
index 22795c5..05307bc 100644
--- a/src/interface/index.js
+++ b/src/interface/index.js
@@ -78,11 +78,10 @@ const styles = {
class Interface extends React.Component {
static propTypes = {
- geometry(props, propName) {
- if (!(props[propName].isGeometry || props[propName].isBufferGeometry)) {
- throw new Error('invalid prop, is not geometry');
- }
- },
+ sketch: PropTypes.shape({
+ data: PropTypes.string,
+ appVersion: PropTypes.string
+ }),
classes: PropTypes.objectOf(PropTypes.string),
defaultSettings: PropTypes.object.isRequired,
printers: PropTypes.object.isRequired,
@@ -130,6 +129,7 @@ class Interface extends React.Component {
componentDidMount() {
const { canvas } = this.refs;
+
const scene = createScene(canvas, this.props, this.state);
this.setState({ ...scene });
}
@@ -176,21 +176,22 @@ class Interface extends React.Component {
slice = async () => {
const { mesh, settings, isSlicing, printers, quality, material } = this.state;
- const { name } = this.props;
+ const { name, sketch } = this.props;
if (isSlicing) return;
this.setState({ isSlicing: true, progress: { action: '', slicing: 0, uploading: 0 }, error: null });
try {
- await slice(name, mesh, settings, printers, quality, material, progress => {
+ await slice(name, sketch, mesh.matrix, settings, printers, quality, material, progress => {
this.setState({ progress: { ...this.state.progress, ...progress } });
});
} catch (error) {
this.setState({ error: error.message });
+ throw error;
+ } finally {
+ this.setState({ isSlicing: false });
}
-
- this.setState({ isSlicing: false });
};
onChangeSettings = (settings) => {
diff --git a/src/interface/utils.js b/src/interface/utils.js
index 4e75a6c..d92ac87 100644
--- a/src/interface/utils.js
+++ b/src/interface/utils.js
@@ -15,9 +15,12 @@ import 'three/examples/js/controls/EditorControls';
import printerSettings from '../settings/printer.yml';
import materialSettings from '../settings/material.yml';
import qualitySettings from '../settings/quality.yml';
-import { sliceGeometry } from '../slicer.js';
+import { sliceAsync } from '../slicer.js';
import React from 'react';
import PropTypes from 'prop-types';
+import fileSaver from 'file-saver';
+import { generateExportMesh } from 'doodle3d-core/utils/exportUtils.js';
+import ShapesManager from 'doodle3d-core/d3/ShapesManager.js';
export function placeOnGround(mesh) {
const boundingBox = new Box3().setFromObject(mesh);
@@ -27,8 +30,9 @@ export function placeOnGround(mesh) {
}
export function createScene(canvas, props, state) {
- const { geometry, pixelRatio } = props;
- const { controlMode, settings } = state;
+ const { sketch, pixelRatio } = props;
+ const { settings } = state;
+ const { geometry } = generateExportMesh(sketch, { offsetSingleWalls: false, matrix: new THREE.Matrix4() });
// center geometry
geometry.computeBoundingBox();
@@ -117,24 +121,24 @@ export function fetchProgress(url, { method = 'get', headers = {}, body = {} } =
const GCODE_SERVER_URL = 'https://gcodeserver.doodle3d.com';
const CONNECT_URL = 'http://connect.doodle3d.com/';
-export async function slice(name, mesh, settings, printers, quality, material, updateProgress) {
+export async function slice(name, sketch, matrix, settings, printers, quality, material, updateProgress) {
if (!printers) throw new Error('Please select a printer');
const { dimensions } = settings;
const centerX = dimensions.x / 2;
const centerY = dimensions.y / 2;
- const geometry = mesh.geometry.clone();
- mesh.updateMatrix();
-
- const matrix = new Matrix4().makeTranslation(centerY, 0, centerX).multiply(mesh.matrix);
- const { gcode } = await sliceGeometry(settings, geometry, matrix, false, false, ({ progress }) => {
+ matrix = new Matrix4().makeTranslation(centerY, 0, centerX).multiply(matrix);
+ const { gcode } = await sliceAsync(settings, sketch, matrix, false, ({ progress }) => {
updateProgress({
action: progress.action,
slicing: progress.done / progress.total
});
});
+ // const blob = new File([gcode], `${name}.gcode`, { type: 'text/plain;charset=utf-8' });
+ // fileSaver.saveAs(blob);
+
// upload G-code file to AWS S3
const { data: { reservation, id } } = await fetch(`${GCODE_SERVER_URL}/upload`, { method: 'POST' })
.then(response => response.json());
@@ -174,19 +178,18 @@ export async function slice(name, mesh, settings, printers, quality, material, u
if (!popup) throw new Error('popup was blocked by browser');
}
-const styles = {
- width: '100%',
- position: 'relative',
- textAlign: 'initial',
-};
-
-export const TabTemplate = ({children, selected, style}) => {
- const templateStyle = Object.assign({}, styles, style);
- if (!selected) {
- templateStyle.height = 0;
- templateStyle.width = 0;
- templateStyle.overflow = 'hidden';
- }
+export const TabTemplate = ({ children, selected, style }) => {
+ const templateStyle = {
+ width: '100%',
+ position: 'relative',
+ textAlign: 'initial',
+ ...style,
+ ...(selected ? {} : {
+ height: 0,
+ width: 0,
+ overflow: 'hidden'
+ })
+ };
return (
diff --git a/src/sliceActions/applyPrecision.js b/src/sliceActions/applyPrecision.js
index d7f8089..0f23b23 100644
--- a/src/sliceActions/applyPrecision.js
+++ b/src/sliceActions/applyPrecision.js
@@ -1,8 +1,9 @@
+import { devide } from './helpers/VectorUtils.js';
import { PRECISION } from '../constants.js'
-export default function applyPrecision(shapes) {
- for (let i = 0; i < shapes.length; i ++) {
- const { fillShapes, lineShapesOpen, lineShapesClosed } = shapes[i];
+export default function applyPrecision(layers) {
+ for (let layer = 0; layer < layers.length; layer ++) {
+ const { fillShapes, lineShapesOpen, lineShapesClosed } = layers[layer];
scaleUpShape(fillShapes);
scaleUpShape(lineShapesOpen);
@@ -15,9 +16,7 @@ function scaleUpShape(shape) {
const path = shape[i];
for (let i = 0; i < path.length; i ++) {
- const point = path[i];
-
- point.copy(point.divideScalar(PRECISION));
+ path[i] = devide(path[i], PRECISION);
}
}
}
diff --git a/src/sliceActions/calculateLayersIntersections.js b/src/sliceActions/calculateLayersIntersections.js
index edad896..c077bd9 100644
--- a/src/sliceActions/calculateLayersIntersections.js
+++ b/src/sliceActions/calculateLayersIntersections.js
@@ -1,5 +1,3 @@
-import { Vector2 } from 'three/src/math/Vector2.js';
-
export default function calculateLayersIntersections(lines, settings) {
const {
dimensions: { z: dimensionsZ },
@@ -9,22 +7,19 @@ export default function calculateLayersIntersections(lines, settings) {
const numLayers = Math.floor((dimensionsZ - zOffset) / layerHeight);
- const layerIntersectionIndexes = Array.from(Array(numLayers)).map(() => []);
- const layerIntersectionPoints = Array.from(Array(numLayers)).map(() => []);
+ const layers = Array.from(Array(numLayers)).map(() => ({
+ points: {},
+ faceIndexes: []
+ }));
for (let lineIndex = 0; lineIndex < lines.length; lineIndex ++) {
- const { line, isFlat } = lines[lineIndex];
-
- if (isFlat) continue;
+ const { line, faces } = lines[lineIndex];
const min = Math.ceil((Math.min(line.start.y, line.end.y) - zOffset) / layerHeight);
const max = Math.floor((Math.max(line.start.y, line.end.y) - zOffset) / layerHeight);
for (let layerIndex = min; layerIndex <= max; layerIndex ++) {
if (layerIndex >= 0 && layerIndex < numLayers) {
-
- layerIntersectionIndexes[layerIndex].push(lineIndex);
-
const y = layerIndex * layerHeight + zOffset;
let x, z;
@@ -38,10 +33,20 @@ export default function calculateLayersIntersections(lines, settings) {
z = line.end.z * alpha + line.start.z * alpha1;
}
- layerIntersectionPoints[layerIndex][lineIndex] = new Vector2(z, x);
+ layers[layerIndex].points[lineIndex] = { x: z, y: x };
+ layers[layerIndex].faceIndexes.push(...faces);
}
}
}
- return { layerIntersectionIndexes, layerIntersectionPoints };
+ for (let i = 0; i < layers.length; i ++) {
+ const layer = layers[i];
+
+ layer.faceIndexes = layer.faceIndexes.reduce((result, faceIndex) => {
+ if (!result.includes(faceIndex)) result.push(faceIndex);
+ return result;
+ }, []);
+ }
+
+ return layers;
}
diff --git a/src/sliceActions/createLines.js b/src/sliceActions/createLines.js
index ff26c91..62b7c19 100644
--- a/src/sliceActions/createLines.js
+++ b/src/sliceActions/createLines.js
@@ -1,16 +1,20 @@
import { Line3 } from 'three/src/math/Line3.js';
-import { Vector2 } from 'three/src/math/Vector2.js';
+import { normalize } from './helpers/VectorUtils.js';
-function addLine(geometry, lineLookup, lines, a, b, isFlat) {
- const index = lines.length;
- lineLookup[`${a}_${b}`] = index;
+function addLine(geometry, lineLookup, lines, a, b, faceIndex) {
+ let index;
+ if (typeof lineLookup[`${b}_${a}`] !== 'undefined') {
+ index = lineLookup[`${b}_${a}`];
+ } else {
+ index = lines.length;
+ lineLookup[`${a}_${b}`] = index;
- lines.push({
- line: new Line3(geometry.vertices[a], geometry.vertices[b]),
- connects: [],
- normals: [],
- isFlat
- });
+ const line = new Line3(geometry.vertices[a], geometry.vertices[b]);
+ lines.push({ line, faces: [] });
+ }
+
+ const { faces } = lines[index];
+ faces.push(faceIndex);
return index;
}
@@ -19,31 +23,20 @@ export default function createLines(geometry, settings) {
const lines = [];
const lineLookup = {};
- for (let i = 0; i < geometry.faces.length; i ++) {
- const face = geometry.faces[i];
+ const faces = geometry.faces.map((face, i) => {
+ const { normal, materialIndex: objectIndex, a, b, c } = geometry.faces[i];
- const lookupA = lineLookup[`${face.b}_${face.a}`];
- const lookupB = lineLookup[`${face.c}_${face.b}`];
- const lookupC = lineLookup[`${face.a}_${face.c}`];
+ // skip faces that point up or down
+ if (normal.y > .999 || normal.y < -.999) return;
- const isFlat = face.normal.y > 0.999 || face.normal.y < -0.999;
+ const indexA = addLine(geometry, lineLookup, lines, a, b, i);
+ const indexB = addLine(geometry, lineLookup, lines, b, c, i);
+ const indexC = addLine(geometry, lineLookup, lines, c, a, i);
- // only add unique lines
- // returns index of said line
- const lineIndexA = typeof lookupA !== 'undefined' ? lookupA : addLine(geometry, lineLookup, lines, face.a, face.b, isFlat);
- const lineIndexB = typeof lookupB !== 'undefined' ? lookupB : addLine(geometry, lineLookup, lines, face.b, face.c, isFlat);
- const lineIndexC = typeof lookupC !== 'undefined' ? lookupC : addLine(geometry, lineLookup, lines, face.c, face.a, isFlat);
+ const flatNormal = normalize({ x: normal.z, y: normal.x });
+ const lineIndexes = [indexA, indexB, indexC];
+ return { lineIndexes, flatNormal, objectIndex };
+ });
- // set connecting lines (based on face)
- lines[lineIndexA].connects.push(lineIndexB, lineIndexC);
- lines[lineIndexB].connects.push(lineIndexC, lineIndexA);
- lines[lineIndexC].connects.push(lineIndexA, lineIndexB);
-
- const normal = new Vector2(face.normal.z, face.normal.x).normalize();
- lines[lineIndexA].normals.push(normal);
- lines[lineIndexB].normals.push(normal);
- lines[lineIndexC].normals.push(normal);
- }
-
- return lines;
+ return { lines, faces };
}
diff --git a/src/sliceActions/detectOpenClosed.js b/src/sliceActions/detectOpenClosed.js
deleted file mode 100644
index 1e7449e..0000000
--- a/src/sliceActions/detectOpenClosed.js
+++ /dev/null
@@ -1,61 +0,0 @@
-export default function detectOpenClosed(lines) {
- const pools = getPools(lines);
- const openLines = lines.map(line => line.connects.length === 2);
-
- for (let i = 0; i < pools.length; i ++) {
- const pool = pools[i];
-
- const isOpenGeometry = pool.some(lineIndex => openLines[lineIndex]);
-
- for (let j = 0; j < pool.length; j ++) {
- const lineIndex = pool[j];
- const line = lines[lineIndex];
- line.openGeometry = isOpenGeometry;
- }
- }
-}
-
-function findPool(pools, lines, lineIndex) {
- const { connects } = lines[lineIndex];
- for (let i = 0; i < pools.length; i ++) {
- const pool = pools[i];
-
- if (pool.find(lineIndex => connects.includes(lineIndex))) {
- return pool;
- }
- }
-
- // no pool found
- // create new pool
- const pool = [];
- pools.push(pool);
- return pool;
-}
-
-function getPools(lines) {
- const pools = [];
-
- for (let lineIndex = 0; lineIndex < lines.length; lineIndex ++) {
- const pool = findPool(pools, lines, lineIndex);
- pool.push(lineIndex);
- }
-
- for (let i = 0; i < pools.length; i ++) {
- const poolA = pools[i];
-
- for (let j = i + 1; j < pools.length; j ++) {
- const poolB = pools[j];
-
- for (let k = 0; k < poolA.length; k ++) {
- const { connects } = lines[poolA[k]];
-
- if (poolB.find(lineIndex => connects.includes(lineIndex))) {
- poolA.splice(poolA.length, 0, ...poolB);
- poolB.splice(0, poolB.length);
- }
- }
- }
- }
-
- return pools.filter(pool => pool.length > 0);
-}
diff --git a/src/sliceActions/generateGeometry.js b/src/sliceActions/generateGeometry.js
new file mode 100644
index 0000000..06c17db
--- /dev/null
+++ b/src/sliceActions/generateGeometry.js
@@ -0,0 +1,28 @@
+import { generateExportMesh } from 'doodle3d-core/utils/exportUtils.js';
+import { Matrix4 } from 'three/src/math/Matrix4.js';
+import { Mesh } from 'three/src/objects/Mesh.js';
+import { Geometry } from 'three/src/core/Geometry.js';
+import { FrontSide, DoubleSide } from 'three/src/constants.js';
+import { BoxGeometry } from 'three/src/geometries/BoxGeometry.js';
+
+export default function generateGeometry(sketch, matrix) {
+ const { geometry, material } = generateExportMesh(sketch, {
+ unionGeometry: false,
+ offsetSingleWalls: false,
+ matrix
+ });
+
+ const open = material.map(({ side }) => {
+ switch (side) {
+ case FrontSide:
+ return false;
+ case DoubleSide:
+ return true;
+ default:
+ return false;
+ }
+ });
+
+ geometry.computeFaceNormals();
+ return { geometry, open };
+}
diff --git a/src/sliceActions/helpers/VectorUtils.js b/src/sliceActions/helpers/VectorUtils.js
index e61b266..83d33f0 100644
--- a/src/sliceActions/helpers/VectorUtils.js
+++ b/src/sliceActions/helpers/VectorUtils.js
@@ -10,18 +10,23 @@ export const scale = (a, factor) => ({
x: a.x * factor,
y: a.y * factor
});
+export const devide = (a, factor) => ({
+ x: a.x / factor,
+ y: a.y / factor
+});
export const normal = (a) => ({
x: -a.y,
y: a.x
});
export const dot = (a, b) => a.x * b.x + a.y * b.y;
-export const length = (a) => Math.sqrt(a.x * a.x + a.y * a.y);
+export const length = (v) => Math.sqrt(v.x * v.x + v.y * v.y);
export const distanceTo = (a, b) => length(subtract(a, b));
-export const normalize = (a) => {
- const l = length(a);
+export const normalize = (v) => {
+ const l = length(v);
return {
- x: a.x / l,
- y: a.y / l
+ x: v.x / l,
+ y: v.y / l
};
}
+export const clone = (v) => ({ x: v.x, y: v.y });
diff --git a/src/sliceActions/intersectionsToShapes.js b/src/sliceActions/intersectionsToShapes.js
index 174cb5f..dd35e7e 100644
--- a/src/sliceActions/intersectionsToShapes.js
+++ b/src/sliceActions/intersectionsToShapes.js
@@ -1,120 +1,136 @@
-import { Vector2 } from 'three/src/math/Vector2.js';
-import Shape from 'clipper-js';
+import { subtract, normal, normalize, dot, distanceTo, clone } from './helpers/VectorUtils.js';
-export default function intersectionsToShapes(layerIntersectionIndexes, layerIntersectionPoints, lines, settings) {
+export default function intersectionsToShapes(intersectionLayers, faces, open, settings) {
const layers = [];
- for (let layer = 1; layer < layerIntersectionIndexes.length; layer ++) {
- const intersectionIndexes = layerIntersectionIndexes[layer];
- const intersectionPoints = layerIntersectionPoints[layer];
-
- if (intersectionIndexes.length === 0) continue;
-
+ for (let layer = 1; layer < intersectionLayers.length; layer ++) {
const fillShapes = [];
const lineShapesOpen = [];
const lineShapesClosed = [];
- for (let i = 0; i < intersectionIndexes.length; i ++) {
- let index = intersectionIndexes[i];
- if (typeof intersectionPoints[index] === 'undefined') continue;
+ const { points, faceIndexes } = intersectionLayers[layer];
- const shape = [];
+ if (faceIndexes.length === 0) continue;
- const firstPoints = [index];
- const { openGeometry } = lines[index];
- let isFirstPoint = true;
- let openShape = true;
+ const shapes = {};
- while (index !== -1) {
- const intersection = intersectionPoints[index];
- // uppercase X and Y because clipper vector
- shape.push(intersection);
+ for (let i = 0; i < faceIndexes.length; i ++) {
+ const { lineIndexes, objectIndex, flatNormal } = faces[faceIndexes[i]];
- delete intersectionPoints[index];
+ const a = points[lineIndexes[0]];
+ const b = points[lineIndexes[1]];
+ const c = points[lineIndexes[2]];
- const connects = lines[index].connects;
- const faceNormals = lines[index].normals;
+ const lineSegment = [];
+ if (a && b) {
+ lineSegment.push(a, b);
+ } else if (b && c) {
+ lineSegment.push(b, c);
+ } else if (c && a) {
+ lineSegment.push(c, a);
+ } else {
+ continue;
+ }
- for (let i = 0; i < connects.length; i ++) {
- index = connects[i];
+ const segmentNormal = normalize(normal(subtract(lineSegment[1], lineSegment[0])));
+ if (dot(segmentNormal, flatNormal) < 0) lineSegment.reverse();
- if (firstPoints.includes(index) && shape.length > 2) {
- openShape = false;
- index = -1;
- break;
+ if (!shapes[objectIndex]) shapes[objectIndex] = { lineSegments: [] };
+ const shape = shapes[objectIndex];
+
+ shape.lineSegments.push(lineSegment)
+ }
+
+ for (const objectIndex in shapes) {
+ const shape = shapes[objectIndex];
+ const openShape = open[objectIndex];
+
+ const lines = [shape.lineSegments.pop()];
+
+ loop: while (shape.lineSegments.length !== 0) {
+ for (let i = 0; i < lines.length; i ++) {
+ const line = lines[i];
+
+ const lastPoint = line[line.length - 1];
+
+ let closestSegmentEnd;
+ let endHit = false;
+ const distanceEnd = new WeakMap();
+ for (let i = 0; i < shape.lineSegments.length; i ++) {
+ const lineSegment = shape.lineSegments[i];
+ if (lastPoint === lineSegment[0]) {
+ closestSegmentEnd = lineSegment;
+ endHit = true;
+ break;
+ }
+ const distance = distanceTo(lastPoint, lineSegment[0]);
+ distanceEnd.set(lineSegment, distance);
}
- // Check if index has an intersection or is already used
- if (typeof intersectionPoints[index] !== 'undefined') {
- const faceNormal = faceNormals[Math.floor(i / 2)];
+ if (!endHit) {
+ closestSegmentEnd = shape.lineSegments.sort((a, b) => {
+ const distanceA = distanceEnd.get(a);
+ const distanceB = distanceEnd.get(b);
+ if (distanceA === distanceB) return distanceTo(a[0], a[1]) - distanceTo(b[0], b[1]);
+ return distanceA - distanceB;
+ })[0];
- const a = new Vector2(intersection.x, intersection.y);
- const b = new Vector2(intersectionPoints[index].x, intersectionPoints[index].y);
+ if (distanceTo(closestSegmentEnd[0], lastPoint) < .001) endHit = true;
+ }
- // can't calculate normal between points if distance is smaller as 0.0001
- if ((faceNormal.x === 0 && faceNormal.y === 0) || a.distanceTo(b) < 0.0001) {
- if (isFirstPoint) {
- firstPoints.push(index);
- }
+ if (endHit) {
+ shape.lineSegments.splice(shape.lineSegments.indexOf(closestSegmentEnd), 1);
+ line.splice(line.length, 0, closestSegmentEnd[1]);
+ continue loop;
+ }
- delete intersectionPoints[index];
+ const firstPoint = line[0];
- connects.push(...lines[index].connects);
- faceNormals.push(...lines[index].normals);
- index = -1;
- } else {
- // make sure the path goes the right direction
- // Vector2.normal is not yet implimented
- // const normal = a.sub(b).normal().normalize();
- const normal = a.sub(b);
- normal.set(-normal.y, normal.x).normalize();
-
- if (normal.dot(faceNormal) > 0) {
- break;
- } else {
- index = -1;
- }
+ let closestSegmentStart;
+ let hitStart = false;
+ const distanceStart = new WeakMap();
+ for (let i = 0; i < shape.lineSegments.length; i ++) {
+ const lineSegment = shape.lineSegments[i];
+ if (firstPoint === lineSegment[1]) {
+ closestSegmentStart = lineSegment;
+ hitStart = true;
+ break;
}
- } else {
- index = -1;
+ const distance = distanceTo(firstPoint, lineSegment[1]);
+ distanceStart.set(lineSegment, distance);
+ }
+
+ if (!hitStart) {
+ closestSegmentStart = shape.lineSegments.sort((a, b) => {
+ const distanceA = distanceStart.get(a);
+ const distanceB = distanceStart.get(b);
+ if (distanceA === distanceB) return distanceTo(a[0], a[1]) - distanceTo(b[0], b[1]);
+ return distanceA - distanceB;
+ })[0];
+
+ if (distanceTo(closestSegmentStart[1], firstPoint) < .001) hitStart = true;
+ }
+
+ if (hitStart) {
+ shape.lineSegments.splice(shape.lineSegments.indexOf(closestSegmentStart), 1);
+ line.splice(0, 0, closestSegmentStart[0]);
+ continue loop;
}
}
- isFirstPoint = false;
+ lines.push(shape.lineSegments.pop());
}
if (openShape) {
- index = firstPoints[0];
-
- while (index !== -1) {
- if (!firstPoints.includes(index)) {
- const intersection = intersectionPoints[index];
- shape.unshift(intersection);
-
- delete intersectionPoints[index];
+ for (const line of lines) {
+ const closed = distanceTo(line[0], line[line.length - 1]) < .001;
+ if (closed) {
+ lineShapesClosed.push(line);
+ } else {
+ lineShapesOpen.push(line);
}
-
- const connects = lines[index].connects;
-
- for (let i = 0; i < connects.length; i ++) {
- index = connects[i];
-
- if (typeof intersectionPoints[index] !== 'undefined') {
- break;
- } else {
- index = -1;
- }
- }
- }
- }
-
- if (openGeometry) {
- if (openShape) {
- lineShapesOpen.push(shape);
- } else {
- lineShapesClosed.push(shape);
}
} else {
- fillShapes.push(shape);
+ fillShapes.push(...lines);
}
}
diff --git a/src/sliceActions/slice.js b/src/sliceActions/slice.js
index 3cf9a87..471c110 100644
--- a/src/sliceActions/slice.js
+++ b/src/sliceActions/slice.js
@@ -1,3 +1,4 @@
+import 'babel-polyfill'
import { Color } from 'three/src/math/Color.js';
import { BufferGeometry } from 'three/src/core/BufferGeometry.js';
import { BufferAttribute } from 'three/src/core/BufferAttribute.js';
@@ -15,11 +16,11 @@ import addBrim from './addBrim.js';
import optimizePaths from './optimizePaths.js';
import shapesToSlices from './shapesToSlices.js';
import slicesToGCode from './slicesToGCode.js';
-import detectOpenClosed from './detectOpenClosed.js';
+import generateGeometry from './generateGeometry.js';
import applyPrecision from './applyPrecision.js';
-// import removePrecision from './removePrecision.js';
+// // import removePrecision from './removePrecision.js';
-export default function(settings, geometry, constructLinePreview, onProgress) {
+export default function(settings, sketch, matrix, constructLinePreview, onProgress) {
const totalStages = 12;
let current = -1;
const updateProgress = (action) => {
@@ -35,23 +36,17 @@ export default function(settings, geometry, constructLinePreview, onProgress) {
}
};
- geometry.computeFaceNormals();
+ updateProgress('Generating geometry');
+ const { geometry, open } = generateGeometry(sketch, matrix);
- // get unique lines from geometry;
updateProgress('Constructing unique lines from geometry');
- const lines = createLines(geometry, settings);
-
- updateProgress('Detecting open vs closed shapes');
- detectOpenClosed(lines);
+ const { lines, faces } = createLines(geometry, settings);
updateProgress('Calculating layer intersections');
- const {
- layerIntersectionIndexes,
- layerIntersectionPoints
- } = calculateLayersIntersections(lines, settings);
+ const layers = calculateLayersIntersections(lines, settings);
updateProgress('Constructing shapes from intersections');
- const shapes = intersectionsToShapes(layerIntersectionIndexes, layerIntersectionPoints, lines, settings);
+ const shapes = intersectionsToShapes(layers, faces, open, settings);
applyPrecision(shapes);
@@ -91,7 +86,7 @@ function gcodeToString(gcode) {
const value = command[action];
const currentValue = currentValues[action];
if (first) {
- string += action + value;
+ string += `${action}${value}`;
first = false;
} else if (currentValue !== value) {
string += ` ${action}${value}`;
diff --git a/src/slicer.js b/src/slicer.js
index 5932af6..54ecf01 100644
--- a/src/slicer.js
+++ b/src/slicer.js
@@ -1,53 +1,24 @@
-import { Geometry } from 'three/src/core/Geometry.js';
-import { BufferGeometry } from 'three/src/core/BufferGeometry.js';
import { VertexColors } from 'three/src/constants.js';
import { BufferAttribute } from 'three/src/core/BufferAttribute.js';
import { LineBasicMaterial } from 'three/src/materials/LineBasicMaterial.js';
import { LineSegments } from 'three/src/objects/LineSegments.js';
-import slice from './sliceActions/slice.js';
+import _slice from './sliceActions/slice.js';
import SlicerWorker from './slicer.worker.js';
+import sketchDataToJSON from 'doodle3d-core/shape/sketchDataToJSON';
-export function sliceMesh(settings, mesh, sync = false, constructLinePreview = false, onProgress) {
- if (!mesh || !mesh.isMesh) {
- throw new Error('Provided mesh is not intance of THREE.Mesh');
- }
-
- mesh.updateMatrix();
- const { geometry, matrix } = mesh;
- return sliceGeometry(settings, geometry, matrix, sync, onProgress);
-}
-
-export function sliceGeometry(settings, geometry, matrix, sync = false, constructLinePreview = false, onProgress) {
- if (!geometry) {
- throw new Error('Missing required geometry argument');
- } else if (geometry.isBufferGeometry) {
- geometry = new Geometry().fromBufferGeometry(geometry);
- } else if (geometry.isGeometry) {
- geometry = geometry.clone();
- } else {
- throw new Error('Geometry is not an instance of BufferGeometry or Geometry');
- }
-
- if (geometry.faces.length === 0) {
- throw new Error('Geometry does not contain any data');
- }
-
- if (matrix && matrix.isMatrix4) {
- geometry.applyMatrix(matrix);
- }
-
+export function slice(settings, sketch, matrix, sync = false, constructLinePreview = false, onProgress) {
if (sync) {
- return sliceSync(settings, geometry, constructLinePreview, onProgress);
+ return sliceSync(settings, sketch, matrix, constructLinePreview, onProgress);
} else {
- return sliceAsync(settings, geometry, constructLinePreview, onProgress);
+ return sliceAsync(settings, sketch, matrix, constructLinePreview, onProgress);
}
}
-function sliceSync(settings, geometry, constructLinePreview, onProgress) {
- return slice(settings, geometry, constructLinePreview, onProgress);
+export function sliceSync(settings, sketch, matrix, constructLinePreview, onProgress) {
+ return _slice(settings, sketch, matrix, constructLinePreview, onProgress);
}
-function sliceAsync(settings, geometry, constructLinePreview, onProgress) {
+export function sliceAsync(settings, sketch, matrix, constructLinePreview, onProgress) {
return new Promise((resolve, reject) => {
// create the slicer worker
const slicerWorker = new SlicerWorker();
@@ -90,14 +61,11 @@ function sliceAsync(settings, geometry, constructLinePreview, onProgress) {
});
// send geometry and settings to worker to start the slicing progress
- geometry = geometry.toJSON();
+ matrix = matrix.toArray();
+ sketch = sketchDataToJSON(sketch);
slicerWorker.postMessage({
message: 'SLICE',
- data: {
- settings,
- geometry,
- constructLinePreview
- }
+ data: { settings, sketch, matrix, constructLinePreview }
});
});
}
diff --git a/src/slicer.worker.js b/src/slicer.worker.js
index b9f03e2..9de8a49 100644
--- a/src/slicer.worker.js
+++ b/src/slicer.worker.js
@@ -1,8 +1,7 @@
-import 'core-js'; // polyfills
import slice from './sliceActions/slice.js';
-import { JSONLoader } from 'three/src/loaders/JSONLoader.js';
-
-const loader = new JSONLoader();
+import { Matrix4 } from 'three/src/math/Matrix4.js';
+import JSONToSketchData from 'doodle3d-core/shape/JSONToSketchData';
+import createSceneData from 'doodle3d-core/d3/createSceneData.js';
const onProgress = progress => {
self.postMessage({
@@ -11,15 +10,16 @@ const onProgress = progress => {
});
}
-self.addEventListener('message', (event) => {
+self.addEventListener('message', async (event) => {
const { message, data } = event.data;
switch (message) {
case 'SLICE': {
const buffers = [];
- const { settings, geometry: JSONGeometry, constructLinePreview } = data;
- const { geometry } = loader.parse(JSONGeometry.data);
+ const { settings, sketch: sketchData, matrix: matrixArray, constructLinePreview } = data;
+ const sketch = createSceneData(await JSONToSketchData(sketchData));
+ const matrix = new Matrix4().fromArray(matrixArray);
- const gcode = slice(settings, geometry, constructLinePreview, onProgress);
+ const gcode = slice(settings, sketch, matrix, constructLinePreview, onProgress);
if (gcode.linePreview) {
const position = gcode.linePreview.geometry.getAttribute('position').array;
diff --git a/webpack.config.js b/webpack.config.js
index 46f2d18..878d60f 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -2,6 +2,8 @@ const path = require('path');
// const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const HTMLWebpackPlugin = require('html-webpack-plugin');
+const devMode = true;
+
const babelLoader = {
loader: 'babel-loader',
options: {
@@ -28,7 +30,9 @@ module.exports = {
alias: {
'doodle3d-slicer': path.resolve(__dirname, 'src/'),
'clipper-lib': '@doodle3d/clipper-lib',
- 'clipper-js': '@doodle3d/clipper-js'
+ 'clipper-js': '@doodle3d/clipper-js',
+ 'doodle3d-core': `@doodle3d/doodle3d-core/${devMode ? 'module' : 'lib'}`,
+ 'cal': '@doodle3d/cal'
}
},
module: {
@@ -46,6 +50,9 @@ module.exports = {
}, {
test: /\.worker\.js$/,
use: ['worker-loader', babelLoader]
+ }, {
+ test: /\.(png|jpg|gif)$/,
+ use: ['url-loader?name=images/[name].[ext]']
}, {
test: /\.glsl$/,
use: ['raw-loader']