aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormadelinegr <mgriswold99@gmail.com>2019-03-04 17:43:13 -0500
committermadelinegr <mgriswold99@gmail.com>2019-03-04 17:43:13 -0500
commit604c79c214ac37059346139024aa199bb47cd877 (patch)
treee82d2f613fe0596f50a201a7eecddfcf7410db58
parent9b63097989d7a1bfb803b27935959945aacfae5f (diff)
parent77dc4aa8b5033d8c7896809d1417ed8305de1421 (diff)
mer conf
-rw-r--r--package-lock.json1416
-rw-r--r--package.json8
-rw-r--r--src/client/util/Scripting.ts122
-rw-r--r--src/client/util/type_decls.d215
-rw-r--r--src/client/views/ContextMenu.scss19
-rw-r--r--src/client/views/ContextMenu.tsx14
-rw-r--r--src/client/views/ContextMenuItem.tsx10
-rw-r--r--src/client/views/DocumentDecorations.tsx2
-rw-r--r--src/client/views/EditableView.tsx7
-rw-r--r--src/client/views/Main.tsx11
-rw-r--r--src/client/views/collections/CollectionDockingView.tsx7
-rw-r--r--src/client/views/collections/CollectionFreeFormView.tsx22
-rw-r--r--src/client/views/collections/CollectionSchemaView.tsx13
-rw-r--r--src/client/views/collections/CollectionTreeView.scss33
-rw-r--r--src/client/views/collections/CollectionTreeView.tsx153
-rw-r--r--src/client/views/collections/CollectionView.tsx32
-rw-r--r--src/client/views/collections/CollectionViewBase.tsx9
-rw-r--r--src/client/views/nodes/CollectionFreeFormDocumentView.tsx1
-rw-r--r--src/client/views/nodes/DocumentView.tsx52
-rw-r--r--src/client/views/nodes/FieldView.tsx2
-rw-r--r--src/client/views/nodes/FormattedTextBox.tsx25
-rw-r--r--src/client/views/nodes/ImageBox.tsx11
-rw-r--r--src/server/index.ts1
23 files changed, 1120 insertions, 1065 deletions
diff --git a/package-lock.json b/package-lock.json
index 931f91c90..54d684fde 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,16 +20,33 @@
}
},
"@fortawesome/fontawesome-common-types": {
- "version": "0.2.14",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.14.tgz",
- "integrity": "sha512-LOcvERCI96KioXSIfOYN4IATv2ROJOyf72dYnpoWfOIkuyLp45oMej1kL03kYdzvktLCzYhykgHwiu6nkg9Xbw=="
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.15.tgz",
+ "integrity": "sha512-ATBRyKJw1d2ko+0DWN9+BXau0EK3I/Q6pPzPv3LhJD7r052YFAkAdfb1Bd7ZqhBsJrdse/S7jKxWUOZ61qBD4g=="
},
"@fortawesome/fontawesome-svg-core": {
- "version": "1.2.14",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.14.tgz",
- "integrity": "sha512-T1qCqkwm9PuvK53J64D1ovfrOTa1kG+SrHNj5cFst/rrskhCnbxpRdbqFIdc/thmXC0ebBX8nOUyja2/mrxe4g==",
+ "version": "1.2.15",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.15.tgz",
+ "integrity": "sha512-M/sHyl4g2VBtKYkay1Z+XImMyTVcaBPmehYtPw4HKD9zg2E7eovB7Yx98aUfZjPbroGqa+IL4/+KhWBMOGlHIQ==",
"requires": {
- "@fortawesome/fontawesome-common-types": "^0.2.14"
+ "@fortawesome/fontawesome-common-types": "^0.2.15"
+ }
+ },
+ "@fortawesome/free-solid-svg-icons": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.7.2.tgz",
+ "integrity": "sha512-iujcXMyAvIbWM8W3jkOLpvJbR+rPpdN1QyqhZeJaLRdHPH4JmuovIAYP4vx5Sa1csZVXfRD1eDWqVZ/jGM620A==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "^0.2.15"
+ }
+ },
+ "@fortawesome/react-fontawesome": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.4.tgz",
+ "integrity": "sha512-GwmxQ+TK7PEdfSwvxtGnMCqrfEm0/HbRHArbUudsYiy9KzVCwndxa2KMcfyTQ8El0vROrq8gOOff09RF1oQe8g==",
+ "requires": {
+ "humps": "^2.0.1",
+ "prop-types": "^15.5.10"
}
},
"@types/anymatch": {
@@ -3376,8 +3393,7 @@
},
"ansi-regex": {
"version": "2.1.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"aproba": {
"version": "1.2.0",
@@ -3395,13 +3411,11 @@
},
"balanced-match": {
"version": "1.0.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -3414,18 +3428,15 @@
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"concat-map": {
"version": "0.0.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"core-util-is": {
"version": "1.0.2",
@@ -3528,8 +3539,7 @@
},
"inherits": {
"version": "2.0.3",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"ini": {
"version": "1.3.5",
@@ -3539,7 +3549,6 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
- "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -3552,20 +3561,17 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
- "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -3582,7 +3588,6 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
- "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -3655,8 +3660,7 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"object-assign": {
"version": "4.1.1",
@@ -3666,7 +3670,6 @@
"once": {
"version": "1.4.0",
"bundled": true,
- "optional": true,
"requires": {
"wrappy": "1"
}
@@ -3742,8 +3745,7 @@
},
"safe-buffer": {
"version": "5.1.2",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -3773,7 +3775,6 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
- "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -3791,7 +3792,6 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
- "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -3830,13 +3830,11 @@
},
"wrappy": {
"version": "1.0.2",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"yallist": {
"version": "3.0.3",
- "bundled": true,
- "optional": true
+ "bundled": true
}
}
},
@@ -4328,6 +4326,16 @@
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
"dev": true
},
+ "humps": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz",
+ "integrity": "sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao="
+ },
+ "i": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz",
+ "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0="
+ },
"iconv-lite": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
@@ -5939,9 +5947,9 @@
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
},
"npm": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/npm/-/npm-6.7.0.tgz",
- "integrity": "sha512-OtxCLzx+pcsjMGrjZpBp214ZjxzHcAe3zLYIlaVpRYqFHff6bgggyTLf2OZPO8lfxN0RHLJnFFUU016JCzM/Ww==",
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/npm/-/npm-6.8.0.tgz",
+ "integrity": "sha512-xMH6V0OCSJ5ZET6yWPI3BmJSqMMCuVJSIcLx3LSH/SrratFSt6EDuCuGRFMQYty98Q1l6x/7vKmfURosoyWgrA==",
"requires": {
"JSONStream": "^1.3.5",
"abbrev": "~1.1.1",
@@ -6012,22 +6020,22 @@
"move-concurrently": "^1.0.1",
"node-gyp": "^3.8.0",
"nopt": "~4.0.1",
- "normalize-package-data": "~2.4.0",
+ "normalize-package-data": "^2.5.0",
"npm-audit-report": "^1.3.2",
"npm-cache-filename": "~1.0.2",
"npm-install-checks": "~3.0.0",
"npm-lifecycle": "^2.1.0",
"npm-package-arg": "^6.1.0",
- "npm-packlist": "^1.2.0",
+ "npm-packlist": "^1.3.0",
"npm-pick-manifest": "^2.2.3",
"npm-profile": "*",
- "npm-registry-fetch": "^3.8.0",
+ "npm-registry-fetch": "^3.9.0",
"npm-user-validate": "~1.0.0",
"npmlog": "~4.1.2",
"once": "~1.4.0",
"opener": "^1.5.1",
"osenv": "^0.1.5",
- "pacote": "^9.4.0",
+ "pacote": "^9.4.1",
"path-is-inside": "~1.0.2",
"promise-inflight": "~1.0.1",
"qrcode-terminal": "^0.12.0",
@@ -6037,7 +6045,7 @@
"read-cmd-shim": "~1.0.1",
"read-installed": "~4.0.3",
"read-package-json": "^2.0.13",
- "read-package-tree": "^5.2.1",
+ "read-package-tree": "^5.2.2",
"readable-stream": "^3.1.1",
"readdir-scoped-modules": "*",
"request": "^2.88.0",
@@ -6069,8 +6077,7 @@
"dependencies": {
"JSONStream": {
"version": "1.3.5",
- "resolved": false,
- "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+ "bundled": true,
"requires": {
"jsonparse": "^1.2.0",
"through": ">=2.2.7 <3"
@@ -6078,29 +6085,25 @@
},
"abbrev": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ "bundled": true
},
"agent-base": {
"version": "4.2.0",
- "resolved": false,
- "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==",
+ "bundled": true,
"requires": {
"es6-promisify": "^5.0.0"
}
},
"agentkeepalive": {
"version": "3.4.1",
- "resolved": false,
- "integrity": "sha512-MPIwsZU9PP9kOrZpyu2042kYA8Fdt/AedQYkYXucHgF9QoD9dXVp0ypuGnHXSR0hTstBxdt85Xkh4JolYfK5wg==",
+ "bundled": true,
"requires": {
"humanize-ms": "^1.2.1"
}
},
"ajv": {
"version": "5.5.2",
- "resolved": false,
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "bundled": true,
"requires": {
"co": "^4.6.0",
"fast-deep-equal": "^1.0.0",
@@ -6110,49 +6113,41 @@
},
"ansi-align": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
+ "bundled": true,
"requires": {
"string-width": "^2.0.0"
}
},
"ansi-regex": {
"version": "2.1.1",
- "resolved": false,
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ "bundled": true
},
"ansi-styles": {
"version": "3.2.1",
- "resolved": false,
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "bundled": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"ansicolors": {
"version": "0.3.2",
- "resolved": false,
- "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk="
+ "bundled": true
},
"ansistyles": {
"version": "0.1.3",
- "resolved": false,
- "integrity": "sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk="
+ "bundled": true
},
"aproba": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ "bundled": true
},
"archy": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA="
+ "bundled": true
},
"are-we-there-yet": {
"version": "1.1.4",
- "resolved": false,
- "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
+ "bundled": true,
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
@@ -6160,8 +6155,7 @@
"dependencies": {
"readable-stream": {
"version": "2.3.6",
- "resolved": false,
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -6174,8 +6168,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -6184,46 +6177,38 @@
},
"asap": {
"version": "2.0.6",
- "resolved": false,
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
+ "bundled": true
},
"asn1": {
"version": "0.2.4",
- "resolved": false,
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "bundled": true,
"requires": {
"safer-buffer": "~2.1.0"
}
},
"assert-plus": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ "bundled": true
},
"asynckit": {
"version": "0.4.0",
- "resolved": false,
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ "bundled": true
},
"aws-sign2": {
"version": "0.7.0",
- "resolved": false,
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
+ "bundled": true
},
"aws4": {
"version": "1.8.0",
- "resolved": false,
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
+ "bundled": true
},
"balanced-match": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ "bundled": true
},
"bcrypt-pbkdf": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "bundled": true,
"optional": true,
"requires": {
"tweetnacl": "^0.14.3"
@@ -6231,8 +6216,7 @@
},
"bin-links": {
"version": "1.1.2",
- "resolved": false,
- "integrity": "sha512-8eEHVgYP03nILphilltWjeIjMbKyJo3wvp9K816pHbhP301ismzw15mxAAEVQ/USUwcP++1uNrbERbp8lOA6Fg==",
+ "bundled": true,
"requires": {
"bluebird": "^3.5.0",
"cmd-shim": "^2.0.2",
@@ -6243,21 +6227,18 @@
},
"block-stream": {
"version": "0.0.9",
- "resolved": false,
- "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "bundled": true,
"requires": {
"inherits": "~2.0.0"
}
},
"bluebird": {
"version": "3.5.3",
- "resolved": false,
- "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw=="
+ "bundled": true
},
"boxen": {
"version": "1.3.0",
- "resolved": false,
- "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==",
+ "bundled": true,
"requires": {
"ansi-align": "^2.0.0",
"camelcase": "^4.0.0",
@@ -6270,8 +6251,7 @@
},
"brace-expansion": {
"version": "1.1.11",
- "resolved": false,
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "bundled": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -6279,33 +6259,23 @@
},
"buffer-from": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA=="
- },
- "builtin-modules": {
- "version": "1.1.1",
- "resolved": false,
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
+ "bundled": true
},
"builtins": {
"version": "1.0.3",
- "resolved": false,
- "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og="
+ "bundled": true
},
"byline": {
"version": "5.0.0",
- "resolved": false,
- "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE="
+ "bundled": true
},
"byte-size": {
"version": "5.0.1",
- "resolved": false,
- "integrity": "sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw=="
+ "bundled": true
},
"cacache": {
"version": "11.3.2",
- "resolved": false,
- "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==",
+ "bundled": true,
"requires": {
"bluebird": "^3.5.3",
"chownr": "^1.1.1",
@@ -6325,56 +6295,47 @@
"dependencies": {
"chownr": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g=="
+ "bundled": true
},
"lru-cache": {
"version": "5.1.1",
- "resolved": false,
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "bundled": true,
"requires": {
"yallist": "^3.0.2"
}
},
"unique-filename": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "bundled": true,
"requires": {
"unique-slug": "^2.0.0"
}
},
"yallist": {
"version": "3.0.3",
- "resolved": false,
- "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A=="
+ "bundled": true
}
}
},
"call-limit": {
"version": "1.1.0",
- "resolved": false,
- "integrity": "sha1-b9YbA/PaQqLNDsK2DwK9DnGZH+o="
+ "bundled": true
},
"camelcase": {
"version": "4.1.0",
- "resolved": false,
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
+ "bundled": true
},
"capture-stack-trace": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0="
+ "bundled": true
},
"caseless": {
"version": "0.12.0",
- "resolved": false,
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ "bundled": true
},
"chalk": {
"version": "2.4.1",
- "resolved": false,
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "bundled": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -6383,31 +6344,26 @@
},
"chownr": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g=="
+ "bundled": true
},
"ci-info": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
+ "bundled": true
},
"cidr-regex": {
"version": "2.0.10",
- "resolved": false,
- "integrity": "sha512-sB3ogMQXWvreNPbJUZMRApxuRYd+KoIo4RGQ81VatjmMW6WJPo+IJZ2846FGItr9VzKo5w7DXzijPLGtSd0N3Q==",
+ "bundled": true,
"requires": {
"ip-regex": "^2.1.0"
}
},
"cli-boxes": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM="
+ "bundled": true
},
"cli-columns": {
"version": "3.1.2",
- "resolved": false,
- "integrity": "sha1-ZzLZcpee/CrkRKHwjgj6E5yWoY4=",
+ "bundled": true,
"requires": {
"string-width": "^2.0.0",
"strip-ansi": "^3.0.1"
@@ -6415,8 +6371,7 @@
},
"cli-table3": {
"version": "0.5.1",
- "resolved": false,
- "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==",
+ "bundled": true,
"requires": {
"colors": "^1.1.2",
"object-assign": "^4.1.0",
@@ -6425,8 +6380,7 @@
},
"cliui": {
"version": "4.1.0",
- "resolved": false,
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "bundled": true,
"requires": {
"string-width": "^2.1.1",
"strip-ansi": "^4.0.0",
@@ -6435,13 +6389,11 @@
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ "bundled": true
},
"strip-ansi": {
"version": "4.0.0",
- "resolved": false,
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "bundled": true,
"requires": {
"ansi-regex": "^3.0.0"
}
@@ -6450,13 +6402,11 @@
},
"clone": {
"version": "1.0.4",
- "resolved": false,
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
+ "bundled": true
},
"cmd-shim": {
"version": "2.0.2",
- "resolved": false,
- "integrity": "sha1-b8vamUg6j9FdfTChlspp1oii79s=",
+ "bundled": true,
"requires": {
"graceful-fs": "^4.1.2",
"mkdirp": "~0.5.0"
@@ -6464,37 +6414,31 @@
},
"co": {
"version": "4.6.0",
- "resolved": false,
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+ "bundled": true
},
"code-point-at": {
"version": "1.1.0",
- "resolved": false,
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+ "bundled": true
},
"color-convert": {
"version": "1.9.1",
- "resolved": false,
- "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
+ "bundled": true,
"requires": {
"color-name": "^1.1.1"
}
},
"color-name": {
"version": "1.1.3",
- "resolved": false,
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ "bundled": true
},
"colors": {
"version": "1.3.3",
- "resolved": false,
- "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==",
+ "bundled": true,
"optional": true
},
"columnify": {
"version": "1.5.4",
- "resolved": false,
- "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=",
+ "bundled": true,
"requires": {
"strip-ansi": "^3.0.0",
"wcwidth": "^1.0.0"
@@ -6502,21 +6446,18 @@
},
"combined-stream": {
"version": "1.0.6",
- "resolved": false,
- "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+ "bundled": true,
"requires": {
"delayed-stream": "~1.0.0"
}
},
"concat-map": {
"version": "0.0.1",
- "resolved": false,
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ "bundled": true
},
"concat-stream": {
"version": "1.6.2",
- "resolved": false,
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "bundled": true,
"requires": {
"buffer-from": "^1.0.0",
"inherits": "^2.0.3",
@@ -6526,8 +6467,7 @@
"dependencies": {
"readable-stream": {
"version": "2.3.6",
- "resolved": false,
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -6540,8 +6480,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -6550,8 +6489,7 @@
},
"config-chain": {
"version": "1.1.12",
- "resolved": false,
- "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
+ "bundled": true,
"requires": {
"ini": "^1.3.4",
"proto-list": "~1.2.1"
@@ -6559,8 +6497,7 @@
},
"configstore": {
"version": "3.1.2",
- "resolved": false,
- "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==",
+ "bundled": true,
"requires": {
"dot-prop": "^4.1.0",
"graceful-fs": "^4.1.2",
@@ -6572,13 +6509,11 @@
},
"console-control-strings": {
"version": "1.1.0",
- "resolved": false,
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+ "bundled": true
},
"copy-concurrently": {
"version": "1.0.5",
- "resolved": false,
- "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+ "bundled": true,
"requires": {
"aproba": "^1.1.1",
"fs-write-stream-atomic": "^1.0.8",
@@ -6590,33 +6525,28 @@
"dependencies": {
"aproba": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ "bundled": true
},
"iferr": {
"version": "0.1.5",
- "resolved": false,
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
+ "bundled": true
}
}
},
"core-util-is": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ "bundled": true
},
"create-error-class": {
"version": "3.0.2",
- "resolved": false,
- "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+ "bundled": true,
"requires": {
"capture-stack-trace": "^1.0.0"
}
},
"cross-spawn": {
"version": "5.1.0",
- "resolved": false,
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "bundled": true,
"requires": {
"lru-cache": "^4.0.1",
"shebang-command": "^1.2.0",
@@ -6625,89 +6555,74 @@
},
"crypto-random-string": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4="
+ "bundled": true
},
"cyclist": {
"version": "0.2.2",
- "resolved": false,
- "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA="
+ "bundled": true
},
"dashdash": {
"version": "1.14.1",
- "resolved": false,
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "bundled": true,
"requires": {
"assert-plus": "^1.0.0"
}
},
"debug": {
"version": "3.1.0",
- "resolved": false,
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "bundled": true,
"requires": {
"ms": "2.0.0"
},
"dependencies": {
"ms": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ "bundled": true
}
}
},
"debuglog": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI="
+ "bundled": true
},
"decamelize": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+ "bundled": true
},
"decode-uri-component": {
"version": "0.2.0",
- "resolved": false,
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ "bundled": true
},
"deep-extend": {
"version": "0.5.1",
- "resolved": false,
- "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w=="
+ "bundled": true
},
"defaults": {
"version": "1.0.3",
- "resolved": false,
- "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "bundled": true,
"requires": {
"clone": "^1.0.2"
}
},
"delayed-stream": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ "bundled": true
},
"delegates": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ "bundled": true
},
"detect-indent": {
"version": "5.0.0",
- "resolved": false,
- "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50="
+ "bundled": true
},
"detect-newline": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I="
+ "bundled": true
},
"dezalgo": {
"version": "1.0.3",
- "resolved": false,
- "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
+ "bundled": true,
"requires": {
"asap": "^2.0.0",
"wrappy": "1"
@@ -6715,26 +6630,22 @@
},
"dot-prop": {
"version": "4.2.0",
- "resolved": false,
- "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "bundled": true,
"requires": {
"is-obj": "^1.0.0"
}
},
"dotenv": {
"version": "5.0.1",
- "resolved": false,
- "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow=="
+ "bundled": true
},
"duplexer3": {
"version": "0.1.4",
- "resolved": false,
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
+ "bundled": true
},
"duplexify": {
"version": "3.6.0",
- "resolved": false,
- "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
+ "bundled": true,
"requires": {
"end-of-stream": "^1.0.0",
"inherits": "^2.0.1",
@@ -6744,8 +6655,7 @@
"dependencies": {
"readable-stream": {
"version": "2.3.6",
- "resolved": false,
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -6758,8 +6668,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -6768,8 +6677,7 @@
},
"ecc-jsbn": {
"version": "0.1.2",
- "resolved": false,
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "bundled": true,
"optional": true,
"requires": {
"jsbn": "~0.1.0",
@@ -6778,60 +6686,51 @@
},
"editor": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-YMf4e9YrzGqJT6jM1q+3gjok90I="
+ "bundled": true
},
"encoding": {
"version": "0.1.12",
- "resolved": false,
- "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+ "bundled": true,
"requires": {
"iconv-lite": "~0.4.13"
}
},
"end-of-stream": {
"version": "1.4.1",
- "resolved": false,
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "bundled": true,
"requires": {
"once": "^1.4.0"
}
},
"err-code": {
"version": "1.1.2",
- "resolved": false,
- "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA="
+ "bundled": true
},
"errno": {
"version": "0.1.7",
- "resolved": false,
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
+ "bundled": true,
"requires": {
"prr": "~1.0.1"
}
},
"es6-promise": {
"version": "4.2.4",
- "resolved": false,
- "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ=="
+ "bundled": true
},
"es6-promisify": {
"version": "5.0.0",
- "resolved": false,
- "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+ "bundled": true,
"requires": {
"es6-promise": "^4.0.3"
}
},
"escape-string-regexp": {
"version": "1.0.5",
- "resolved": false,
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ "bundled": true
},
"execa": {
"version": "0.7.0",
- "resolved": false,
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "bundled": true,
"requires": {
"cross-spawn": "^5.0.1",
"get-stream": "^3.0.0",
@@ -6844,53 +6743,44 @@
"dependencies": {
"get-stream": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ "bundled": true
}
}
},
"extend": {
"version": "3.0.2",
- "resolved": false,
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ "bundled": true
},
"extsprintf": {
"version": "1.3.0",
- "resolved": false,
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+ "bundled": true
},
"fast-deep-equal": {
"version": "1.1.0",
- "resolved": false,
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
+ "bundled": true
},
"fast-json-stable-stringify": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+ "bundled": true
},
"figgy-pudding": {
"version": "3.5.1",
- "resolved": false,
- "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w=="
+ "bundled": true
},
"find-npm-prefix": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA=="
+ "bundled": true
},
"find-up": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "bundled": true,
"requires": {
"locate-path": "^2.0.0"
}
},
"flush-write-stream": {
"version": "1.0.3",
- "resolved": false,
- "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
+ "bundled": true,
"requires": {
"inherits": "^2.0.1",
"readable-stream": "^2.0.4"
@@ -6898,8 +6788,7 @@
"dependencies": {
"readable-stream": {
"version": "2.3.6",
- "resolved": false,
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -6912,8 +6801,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -6922,13 +6810,11 @@
},
"forever-agent": {
"version": "0.6.1",
- "resolved": false,
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+ "bundled": true
},
"form-data": {
"version": "2.3.2",
- "resolved": false,
- "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+ "bundled": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "1.0.6",
@@ -6937,8 +6823,7 @@
},
"from2": {
"version": "2.3.0",
- "resolved": false,
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "bundled": true,
"requires": {
"inherits": "^2.0.1",
"readable-stream": "^2.0.0"
@@ -6946,8 +6831,7 @@
"dependencies": {
"readable-stream": {
"version": "2.3.6",
- "resolved": false,
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -6960,8 +6844,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -6970,16 +6853,14 @@
},
"fs-minipass": {
"version": "1.2.5",
- "resolved": false,
- "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
+ "bundled": true,
"requires": {
"minipass": "^2.2.1"
}
},
"fs-vacuum": {
"version": "1.2.10",
- "resolved": false,
- "integrity": "sha1-t2Kb7AekAxolSP35n17PHMizHjY=",
+ "bundled": true,
"requires": {
"graceful-fs": "^4.1.2",
"path-is-inside": "^1.0.1",
@@ -6988,8 +6869,7 @@
},
"fs-write-stream-atomic": {
"version": "1.0.10",
- "resolved": false,
- "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+ "bundled": true,
"requires": {
"graceful-fs": "^4.1.2",
"iferr": "^0.1.5",
@@ -6999,13 +6879,11 @@
"dependencies": {
"iferr": {
"version": "0.1.5",
- "resolved": false,
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
+ "bundled": true
},
"readable-stream": {
"version": "2.3.6",
- "resolved": false,
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -7018,8 +6896,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -7028,13 +6905,11 @@
},
"fs.realpath": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ "bundled": true
},
"fstream": {
"version": "1.0.11",
- "resolved": false,
- "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "bundled": true,
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
@@ -7044,8 +6919,7 @@
},
"gauge": {
"version": "2.7.4",
- "resolved": false,
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "bundled": true,
"requires": {
"aproba": "^1.0.3",
"console-control-strings": "^1.0.0",
@@ -7059,13 +6933,11 @@
"dependencies": {
"aproba": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ "bundled": true
},
"string-width": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "bundled": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -7076,13 +6948,11 @@
},
"genfun": {
"version": "5.0.0",
- "resolved": false,
- "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA=="
+ "bundled": true
},
"gentle-fs": {
"version": "2.0.1",
- "resolved": false,
- "integrity": "sha512-cEng5+3fuARewXktTEGbwsktcldA+YsnUEaXZwcK/3pjSE1X9ObnTs+/8rYf8s+RnIcQm2D5x3rwpN7Zom8Bew==",
+ "bundled": true,
"requires": {
"aproba": "^1.1.2",
"fs-vacuum": "^1.2.10",
@@ -7096,41 +6966,35 @@
"dependencies": {
"aproba": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ "bundled": true
},
"iferr": {
"version": "0.1.5",
- "resolved": false,
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
+ "bundled": true
}
}
},
"get-caller-file": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U="
+ "bundled": true
},
"get-stream": {
"version": "4.1.0",
- "resolved": false,
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "bundled": true,
"requires": {
"pump": "^3.0.0"
}
},
"getpass": {
"version": "0.1.7",
- "resolved": false,
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "bundled": true,
"requires": {
"assert-plus": "^1.0.0"
}
},
"glob": {
"version": "7.1.3",
- "resolved": false,
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "bundled": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -7142,16 +7006,14 @@
},
"global-dirs": {
"version": "0.1.1",
- "resolved": false,
- "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
+ "bundled": true,
"requires": {
"ini": "^1.3.4"
}
},
"got": {
"version": "6.7.1",
- "resolved": false,
- "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
+ "bundled": true,
"requires": {
"create-error-class": "^3.0.0",
"duplexer3": "^0.1.4",
@@ -7168,25 +7030,21 @@
"dependencies": {
"get-stream": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ "bundled": true
}
}
},
"graceful-fs": {
"version": "4.1.15",
- "resolved": false,
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
+ "bundled": true
},
"har-schema": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
+ "bundled": true
},
"har-validator": {
"version": "5.1.0",
- "resolved": false,
- "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
+ "bundled": true,
"requires": {
"ajv": "^5.3.0",
"har-schema": "^2.0.0"
@@ -7194,28 +7052,23 @@
},
"has-flag": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ "bundled": true
},
"has-unicode": {
"version": "2.0.1",
- "resolved": false,
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ "bundled": true
},
"hosted-git-info": {
"version": "2.7.1",
- "resolved": false,
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
+ "bundled": true
},
"http-cache-semantics": {
"version": "3.8.1",
- "resolved": false,
- "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="
+ "bundled": true
},
"http-proxy-agent": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
+ "bundled": true,
"requires": {
"agent-base": "4",
"debug": "3.1.0"
@@ -7223,8 +7076,7 @@
},
"http-signature": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "bundled": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
@@ -7233,8 +7085,7 @@
},
"https-proxy-agent": {
"version": "2.2.1",
- "resolved": false,
- "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
+ "bundled": true,
"requires": {
"agent-base": "^4.1.0",
"debug": "^3.1.0"
@@ -7242,47 +7093,40 @@
},
"humanize-ms": {
"version": "1.2.1",
- "resolved": false,
- "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
+ "bundled": true,
"requires": {
"ms": "^2.0.0"
}
},
"iconv-lite": {
"version": "0.4.23",
- "resolved": false,
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "bundled": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"iferr": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha512-9AfeLfji44r5TKInjhz3W9DyZI1zR1JAf2hVBMGhddAKPqBsupb89jGfbCTHIGZd6fGZl9WlHdn4AObygyMKwg=="
+ "bundled": true
},
"ignore-walk": {
"version": "3.0.1",
- "resolved": false,
- "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
+ "bundled": true,
"requires": {
"minimatch": "^3.0.4"
}
},
"import-lazy": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM="
+ "bundled": true
},
"imurmurhash": {
"version": "0.1.4",
- "resolved": false,
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ "bundled": true
},
"inflight": {
"version": "1.0.6",
- "resolved": false,
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "bundled": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
@@ -7290,18 +7134,15 @@
},
"inherits": {
"version": "2.0.3",
- "resolved": false,
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ "bundled": true
},
"ini": {
"version": "1.3.5",
- "resolved": false,
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
+ "bundled": true
},
"init-package-json": {
"version": "1.10.3",
- "resolved": false,
- "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==",
+ "bundled": true,
"requires": {
"glob": "^7.1.1",
"npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0",
@@ -7315,62 +7156,46 @@
},
"invert-kv": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+ "bundled": true
},
"ip": {
"version": "1.1.5",
- "resolved": false,
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+ "bundled": true
},
"ip-regex": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk="
- },
- "is-builtin-module": {
- "version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "requires": {
- "builtin-modules": "^1.0.0"
- }
+ "bundled": true
},
"is-ci": {
"version": "1.1.0",
- "resolved": false,
- "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==",
+ "bundled": true,
"requires": {
"ci-info": "^1.0.0"
},
"dependencies": {
"ci-info": {
"version": "1.6.0",
- "resolved": false,
- "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A=="
+ "bundled": true
}
}
},
"is-cidr": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha512-8Xnnbjsb0x462VoYiGlhEi+drY8SFwrHiSYuzc/CEwco55vkehTaxAyIjEdpi3EMvLPPJAJi9FlzP+h+03gp0Q==",
+ "bundled": true,
"requires": {
"cidr-regex": "^2.0.10"
}
},
"is-fullwidth-code-point": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "bundled": true,
"requires": {
"number-is-nan": "^1.0.0"
}
},
"is-installed-globally": {
"version": "0.1.0",
- "resolved": false,
- "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
+ "bundled": true,
"requires": {
"global-dirs": "^0.1.0",
"is-path-inside": "^1.0.0"
@@ -7378,92 +7203,75 @@
},
"is-npm": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ="
+ "bundled": true
},
"is-obj": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
+ "bundled": true
},
"is-path-inside": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "bundled": true,
"requires": {
"path-is-inside": "^1.0.1"
}
},
"is-redirect": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ="
+ "bundled": true
},
"is-retry-allowed": {
"version": "1.1.0",
- "resolved": false,
- "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ="
+ "bundled": true
},
"is-stream": {
"version": "1.1.0",
- "resolved": false,
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ "bundled": true
},
"is-typedarray": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ "bundled": true
},
"isarray": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ "bundled": true
},
"isexe": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ "bundled": true
},
"isstream": {
"version": "0.1.2",
- "resolved": false,
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+ "bundled": true
},
"jsbn": {
"version": "0.1.1",
- "resolved": false,
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "bundled": true,
"optional": true
},
"json-parse-better-errors": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
+ "bundled": true
},
"json-schema": {
"version": "0.2.3",
- "resolved": false,
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+ "bundled": true
},
"json-schema-traverse": {
"version": "0.3.1",
- "resolved": false,
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+ "bundled": true
},
"json-stringify-safe": {
"version": "5.0.1",
- "resolved": false,
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+ "bundled": true
},
"jsonparse": {
"version": "1.3.1",
- "resolved": false,
- "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
+ "bundled": true
},
"jsprim": {
"version": "1.4.1",
- "resolved": false,
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "bundled": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
@@ -7473,29 +7281,25 @@
},
"latest-version": {
"version": "3.1.0",
- "resolved": false,
- "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
+ "bundled": true,
"requires": {
"package-json": "^4.0.0"
}
},
"lazy-property": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc="
+ "bundled": true
},
"lcid": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "bundled": true,
"requires": {
"invert-kv": "^1.0.0"
}
},
"libcipm": {
"version": "3.0.3",
- "resolved": false,
- "integrity": "sha512-71V5CpTI+zFydTc5IjJ/tx8JHbXEJvmYF2zaSVW1V3X1rRnRjXqh44iuiyry1xgi3ProUQ1vX1uwFiWs00+2og==",
+ "bundled": true,
"requires": {
"bin-links": "^1.1.2",
"bluebird": "^3.5.1",
@@ -7516,8 +7320,7 @@
},
"libnpm": {
"version": "2.0.1",
- "resolved": false,
- "integrity": "sha512-qTKoxyJvpBxHZQB6k0AhSLajyXq9ZE/lUsZzuHAplr2Bpv9G+k4YuYlExYdUCeVRRGqcJt8hvkPh4tBwKoV98w==",
+ "bundled": true,
"requires": {
"bin-links": "^1.1.2",
"bluebird": "^3.5.3",
@@ -7543,8 +7346,7 @@
},
"libnpmaccess": {
"version": "3.0.1",
- "resolved": false,
- "integrity": "sha512-RlZ7PNarCBt+XbnP7R6PoVgOq9t+kou5rvhaInoNibhPO7eMlRfS0B8yjatgn2yaHIwWNyoJDolC/6Lc5L/IQA==",
+ "bundled": true,
"requires": {
"aproba": "^2.0.0",
"get-stream": "^4.0.0",
@@ -7554,15 +7356,13 @@
"dependencies": {
"aproba": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ "bundled": true
}
}
},
"libnpmconfig": {
"version": "1.2.1",
- "resolved": false,
- "integrity": "sha512-9esX8rTQAHqarx6qeZqmGQKBNZR5OIbl/Ayr0qQDy3oXja2iFVQQI81R6GZ2a02bSNZ9p3YOGX1O6HHCb1X7kA==",
+ "bundled": true,
"requires": {
"figgy-pudding": "^3.5.1",
"find-up": "^3.0.0",
@@ -7571,16 +7371,14 @@
"dependencies": {
"find-up": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "bundled": true,
"requires": {
"locate-path": "^3.0.0"
}
},
"locate-path": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "bundled": true,
"requires": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
@@ -7588,31 +7386,27 @@
},
"p-limit": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
+ "bundled": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "bundled": true,
"requires": {
"p-limit": "^2.0.0"
}
},
"p-try": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ=="
+ "bundled": true
}
}
},
"libnpmhook": {
"version": "5.0.2",
- "resolved": false,
- "integrity": "sha512-vLenmdFWhRfnnZiNFPNMog6CK7Ujofy2TWiM2CrpZUjBRIhHkJeDaAbJdYCT6W4lcHtyrJR8yXW8KFyq6UAp1g==",
+ "bundled": true,
"requires": {
"aproba": "^2.0.0",
"figgy-pudding": "^3.4.1",
@@ -7622,8 +7416,7 @@
},
"libnpmorg": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha512-o+4eVJBoDGMgRwh2lJY0a8pRV2c/tQM/SxlqXezjcAg26Qe9jigYVs+Xk0vvlYDWCDhP0g74J8UwWeAgsB7gGw==",
+ "bundled": true,
"requires": {
"aproba": "^2.0.0",
"figgy-pudding": "^3.4.1",
@@ -7633,15 +7426,13 @@
"dependencies": {
"aproba": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ "bundled": true
}
}
},
"libnpmpublish": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-nefbvJd/wY38zdt+b9SHL6171vqBrMtZ56Gsgfd0duEKb/pB8rDT4/ObUQLrHz1tOfht1flt2zM+UGaemzAG5g==",
+ "bundled": true,
"requires": {
"aproba": "^2.0.0",
"figgy-pudding": "^3.5.1",
@@ -7656,8 +7447,7 @@
},
"libnpmsearch": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha512-vd+JWbTGzOSfiOc+72MU6y7WqmBXn49egCCrIXp27iE/88bX8EpG64ST1blWQI1bSMUr9l1AKPMVsqa2tS5KWA==",
+ "bundled": true,
"requires": {
"figgy-pudding": "^3.5.1",
"get-stream": "^4.0.0",
@@ -7666,8 +7456,7 @@
},
"libnpmteam": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha512-gDdrflKFCX7TNwOMX1snWojCoDE5LoRWcfOC0C/fqF7mBq8Uz9zWAX4B2RllYETNO7pBupBaSyBDkTAC15cAMg==",
+ "bundled": true,
"requires": {
"aproba": "^2.0.0",
"figgy-pudding": "^3.4.1",
@@ -7677,15 +7466,13 @@
"dependencies": {
"aproba": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ "bundled": true
}
}
},
"libnpx": {
"version": "10.2.0",
- "resolved": false,
- "integrity": "sha512-X28coei8/XRCt15cYStbLBph+KGhFra4VQhRBPuH/HHMkC5dxM8v24RVgUsvODKCrUZ0eTgiTqJp6zbl0sskQQ==",
+ "bundled": true,
"requires": {
"dotenv": "^5.0.1",
"npm-package-arg": "^6.0.0",
@@ -7699,8 +7486,7 @@
},
"locate-path": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "bundled": true,
"requires": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
@@ -7708,8 +7494,7 @@
},
"lock-verify": {
"version": "2.0.2",
- "resolved": false,
- "integrity": "sha512-QNVwK0EGZBS4R3YQ7F1Ox8p41Po9VGl2QG/2GsuvTbkJZYSsPeWHKMbbH6iZMCHWSMww5nrJroZYnGzI4cePuw==",
+ "bundled": true,
"requires": {
"npm-package-arg": "^5.1.2 || 6",
"semver": "^5.4.1"
@@ -7717,21 +7502,18 @@
},
"lockfile": {
"version": "1.0.4",
- "resolved": false,
- "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==",
+ "bundled": true,
"requires": {
"signal-exit": "^3.0.2"
}
},
"lodash._baseindexof": {
"version": "3.1.0",
- "resolved": false,
- "integrity": "sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw="
+ "bundled": true
},
"lodash._baseuniq": {
"version": "4.6.0",
- "resolved": false,
- "integrity": "sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg=",
+ "bundled": true,
"requires": {
"lodash._createset": "~4.0.0",
"lodash._root": "~3.0.0"
@@ -7739,71 +7521,58 @@
},
"lodash._bindcallback": {
"version": "3.0.1",
- "resolved": false,
- "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4="
+ "bundled": true
},
"lodash._cacheindexof": {
"version": "3.0.2",
- "resolved": false,
- "integrity": "sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI="
+ "bundled": true
},
"lodash._createcache": {
"version": "3.1.2",
- "resolved": false,
- "integrity": "sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=",
+ "bundled": true,
"requires": {
"lodash._getnative": "^3.0.0"
}
},
"lodash._createset": {
"version": "4.0.3",
- "resolved": false,
- "integrity": "sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY="
+ "bundled": true
},
"lodash._getnative": {
"version": "3.9.1",
- "resolved": false,
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U="
+ "bundled": true
},
"lodash._root": {
"version": "3.0.1",
- "resolved": false,
- "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI="
+ "bundled": true
},
"lodash.clonedeep": {
"version": "4.5.0",
- "resolved": false,
- "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
+ "bundled": true
},
"lodash.restparam": {
"version": "3.6.1",
- "resolved": false,
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU="
+ "bundled": true
},
"lodash.union": {
"version": "4.6.0",
- "resolved": false,
- "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg="
+ "bundled": true
},
"lodash.uniq": {
"version": "4.5.0",
- "resolved": false,
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
+ "bundled": true
},
"lodash.without": {
"version": "4.4.0",
- "resolved": false,
- "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw="
+ "bundled": true
},
"lowercase-keys": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
+ "bundled": true
},
"lru-cache": {
"version": "4.1.5",
- "resolved": false,
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "bundled": true,
"requires": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
@@ -7811,16 +7580,14 @@
},
"make-dir": {
"version": "1.3.0",
- "resolved": false,
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "bundled": true,
"requires": {
"pify": "^3.0.0"
}
},
"make-fetch-happen": {
"version": "4.0.1",
- "resolved": false,
- "integrity": "sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==",
+ "bundled": true,
"requires": {
"agentkeepalive": "^3.4.1",
"cacache": "^11.0.1",
@@ -7837,52 +7604,44 @@
},
"meant": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg=="
+ "bundled": true
},
"mem": {
"version": "1.1.0",
- "resolved": false,
- "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "bundled": true,
"requires": {
"mimic-fn": "^1.0.0"
}
},
"mime-db": {
"version": "1.35.0",
- "resolved": false,
- "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg=="
+ "bundled": true
},
"mime-types": {
"version": "2.1.19",
- "resolved": false,
- "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==",
+ "bundled": true,
"requires": {
"mime-db": "~1.35.0"
}
},
"mimic-fn": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
+ "bundled": true
},
"minimatch": {
"version": "3.0.4",
- "resolved": false,
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "bundled": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
- "resolved": false,
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ "bundled": true
},
"minipass": {
"version": "2.3.3",
- "resolved": false,
- "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==",
+ "bundled": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -7890,23 +7649,20 @@
"dependencies": {
"yallist": {
"version": "3.0.2",
- "resolved": false,
- "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k="
+ "bundled": true
}
}
},
"minizlib": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg==",
+ "bundled": true,
"requires": {
"minipass": "^2.2.1"
}
},
"mississippi": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
+ "bundled": true,
"requires": {
"concat-stream": "^1.5.0",
"duplexify": "^3.4.2",
@@ -7922,16 +7678,14 @@
},
"mkdirp": {
"version": "0.5.1",
- "resolved": false,
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "bundled": true,
"requires": {
"minimist": "0.0.8"
}
},
"move-concurrently": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+ "bundled": true,
"requires": {
"aproba": "^1.1.1",
"copy-concurrently": "^1.0.0",
@@ -7943,25 +7697,21 @@
"dependencies": {
"aproba": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ "bundled": true
}
}
},
"ms": {
"version": "2.1.1",
- "resolved": false,
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ "bundled": true
},
"mute-stream": {
"version": "0.0.7",
- "resolved": false,
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
+ "bundled": true
},
"node-fetch-npm": {
"version": "2.0.2",
- "resolved": false,
- "integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==",
+ "bundled": true,
"requires": {
"encoding": "^0.1.11",
"json-parse-better-errors": "^1.0.0",
@@ -7970,8 +7720,7 @@
},
"node-gyp": {
"version": "3.8.0",
- "resolved": false,
- "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+ "bundled": true,
"requires": {
"fstream": "^1.0.0",
"glob": "^7.0.3",
@@ -7989,21 +7738,18 @@
"dependencies": {
"nopt": {
"version": "3.0.6",
- "resolved": false,
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "bundled": true,
"requires": {
"abbrev": "1"
}
},
"semver": {
"version": "5.3.0",
- "resolved": false,
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
+ "bundled": true
},
"tar": {
"version": "2.2.1",
- "resolved": false,
- "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "bundled": true,
"requires": {
"block-stream": "*",
"fstream": "^1.0.2",
@@ -8014,55 +7760,57 @@
},
"nopt": {
"version": "4.0.1",
- "resolved": false,
- "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "bundled": true,
"requires": {
"abbrev": "1",
"osenv": "^0.1.4"
}
},
"normalize-package-data": {
- "version": "2.4.0",
- "resolved": false,
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "version": "2.5.0",
+ "bundled": true,
"requires": {
"hosted-git-info": "^2.1.4",
- "is-builtin-module": "^1.0.0",
+ "resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.10.0",
+ "bundled": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ }
}
},
"npm-audit-report": {
"version": "1.3.2",
- "resolved": false,
- "integrity": "sha512-abeqS5ONyXNaZJPGAf6TOUMNdSe1Y6cpc9MLBRn+CuUoYbfdca6AxOyXVlfIv9OgKX+cacblbG5w7A6ccwoTPw==",
+ "bundled": true,
"requires": {
"cli-table3": "^0.5.0",
"console-control-strings": "^1.1.0"
}
},
"npm-bundled": {
- "version": "1.0.5",
- "resolved": false,
- "integrity": "sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g=="
+ "version": "1.0.6",
+ "bundled": true
},
"npm-cache-filename": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-3tMGxbC/yHCp6fr4I7xfKD4FrhE="
+ "bundled": true
},
"npm-install-checks": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha1-1K7N/VGlPjcjt7L5Oy7ijjB7wNc=",
+ "bundled": true,
"requires": {
"semver": "^2.3.0 || 3.x || 4 || 5"
}
},
"npm-lifecycle": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha512-QbBfLlGBKsktwBZLj6AviHC6Q9Y3R/AY4a2PYSIRhSKSS0/CxRyD/PfxEX6tPeOCXQgMSNdwGeECacstgptc+g==",
+ "bundled": true,
"requires": {
"byline": "^5.0.0",
"graceful-fs": "^4.1.11",
@@ -8076,13 +7824,11 @@
},
"npm-logical-tree": {
"version": "1.2.1",
- "resolved": false,
- "integrity": "sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg=="
+ "bundled": true
},
"npm-package-arg": {
"version": "6.1.0",
- "resolved": false,
- "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
+ "bundled": true,
"requires": {
"hosted-git-info": "^2.6.0",
"osenv": "^0.1.5",
@@ -8091,9 +7837,8 @@
}
},
"npm-packlist": {
- "version": "1.2.0",
- "resolved": false,
- "integrity": "sha512-7Mni4Z8Xkx0/oegoqlcao/JpPCPEMtUvsmB0q7mgvlMinykJLSRTYuFqoQLYgGY8biuxIeiHO+QNJKbCfljewQ==",
+ "version": "1.3.0",
+ "bundled": true,
"requires": {
"ignore-walk": "^3.0.1",
"npm-bundled": "^1.0.1"
@@ -8101,8 +7846,7 @@
},
"npm-pick-manifest": {
"version": "2.2.3",
- "resolved": false,
- "integrity": "sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA==",
+ "bundled": true,
"requires": {
"figgy-pudding": "^3.5.1",
"npm-package-arg": "^6.0.0",
@@ -8111,8 +7855,7 @@
},
"npm-profile": {
"version": "4.0.1",
- "resolved": false,
- "integrity": "sha512-NQ1I/1Q7YRtHZXkcuU1/IyHeLy6pd+ScKg4+DQHdfsm769TGq6HPrkbuNJVJS4zwE+0mvvmeULzQdWn2L2EsVA==",
+ "bundled": true,
"requires": {
"aproba": "^1.1.2 || 2",
"figgy-pudding": "^3.4.1",
@@ -8120,9 +7863,8 @@
}
},
"npm-registry-fetch": {
- "version": "3.8.0",
- "resolved": false,
- "integrity": "sha512-hrw8UMD+Nob3Kl3h8Z/YjmKamb1gf7D1ZZch2otrIXM3uFLB5vjEY6DhMlq80z/zZet6eETLbOXcuQudCB3Zpw==",
+ "version": "3.9.0",
+ "bundled": true,
"requires": {
"JSONStream": "^1.3.4",
"bluebird": "^3.5.1",
@@ -8134,21 +7876,18 @@
},
"npm-run-path": {
"version": "2.0.2",
- "resolved": false,
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "bundled": true,
"requires": {
"path-key": "^2.0.0"
}
},
"npm-user-validate": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE="
+ "bundled": true
},
"npmlog": {
"version": "4.1.2",
- "resolved": false,
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "bundled": true,
"requires": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
@@ -8158,41 +7897,34 @@
},
"number-is-nan": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ "bundled": true
},
"oauth-sign": {
"version": "0.9.0",
- "resolved": false,
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
+ "bundled": true
},
"object-assign": {
"version": "4.1.1",
- "resolved": false,
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ "bundled": true
},
"once": {
"version": "1.4.0",
- "resolved": false,
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "bundled": true,
"requires": {
"wrappy": "1"
}
},
"opener": {
"version": "1.5.1",
- "resolved": false,
- "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA=="
+ "bundled": true
},
"os-homedir": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
+ "bundled": true
},
"os-locale": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "bundled": true,
"requires": {
"execa": "^0.7.0",
"lcid": "^1.0.0",
@@ -8201,13 +7933,11 @@
},
"os-tmpdir": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ "bundled": true
},
"osenv": {
"version": "0.1.5",
- "resolved": false,
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "bundled": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
@@ -8215,34 +7945,29 @@
},
"p-finally": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+ "bundled": true
},
"p-limit": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
+ "bundled": true,
"requires": {
"p-try": "^1.0.0"
}
},
"p-locate": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "bundled": true,
"requires": {
"p-limit": "^1.1.0"
}
},
"p-try": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
+ "bundled": true
},
"package-json": {
"version": "4.0.1",
- "resolved": false,
- "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
+ "bundled": true,
"requires": {
"got": "^6.7.1",
"registry-auth-token": "^3.0.1",
@@ -8251,9 +7976,8 @@
}
},
"pacote": {
- "version": "9.4.0",
- "resolved": false,
- "integrity": "sha512-WQ1KL/phGMkedYEQx9ODsjj7xvwLSpdFJJdEXrLyw5SILMxcTNt5DTxT2Z93fXuLFYJBlZJdnwdalrQdB/rX5w==",
+ "version": "9.4.1",
+ "bundled": true,
"requires": {
"bluebird": "^3.5.3",
"cacache": "^11.3.2",
@@ -8286,16 +8010,14 @@
"dependencies": {
"lru-cache": {
"version": "5.1.1",
- "resolved": false,
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "bundled": true,
"requires": {
"yallist": "^3.0.2"
}
},
"minipass": {
"version": "2.3.5",
- "resolved": false,
- "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
+ "bundled": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -8303,15 +8025,13 @@
},
"yallist": {
"version": "3.0.3",
- "resolved": false,
- "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A=="
+ "bundled": true
}
}
},
"parallel-transform": {
"version": "1.1.0",
- "resolved": false,
- "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
+ "bundled": true,
"requires": {
"cyclist": "~0.2.2",
"inherits": "^2.0.3",
@@ -8320,8 +8040,7 @@
"dependencies": {
"readable-stream": {
"version": "2.3.6",
- "resolved": false,
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -8334,8 +8053,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -8344,53 +8062,47 @@
},
"path-exists": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+ "bundled": true
},
"path-is-absolute": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ "bundled": true
},
"path-is-inside": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
+ "bundled": true
},
"path-key": {
"version": "2.0.1",
- "resolved": false,
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+ "bundled": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "bundled": true
},
"performance-now": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+ "bundled": true
},
"pify": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ "bundled": true
},
"prepend-http": {
"version": "1.0.4",
- "resolved": false,
- "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
+ "bundled": true
},
"process-nextick-args": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ "bundled": true
},
"promise-inflight": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
+ "bundled": true
},
"promise-retry": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=",
+ "bundled": true,
"requires": {
"err-code": "^1.0.0",
"retry": "^0.10.0"
@@ -8398,51 +8110,43 @@
"dependencies": {
"retry": {
"version": "0.10.1",
- "resolved": false,
- "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q="
+ "bundled": true
}
}
},
"promzard": {
"version": "0.3.0",
- "resolved": false,
- "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=",
+ "bundled": true,
"requires": {
"read": "1"
}
},
"proto-list": {
"version": "1.2.4",
- "resolved": false,
- "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk="
+ "bundled": true
},
"protoduck": {
"version": "5.0.1",
- "resolved": false,
- "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==",
+ "bundled": true,
"requires": {
"genfun": "^5.0.0"
}
},
"prr": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
+ "bundled": true
},
"pseudomap": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ "bundled": true
},
"psl": {
"version": "1.1.29",
- "resolved": false,
- "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
+ "bundled": true
},
"pump": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "bundled": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@@ -8450,8 +8154,7 @@
},
"pumpify": {
"version": "1.5.1",
- "resolved": false,
- "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+ "bundled": true,
"requires": {
"duplexify": "^3.6.0",
"inherits": "^2.0.3",
@@ -8460,8 +8163,7 @@
"dependencies": {
"pump": {
"version": "2.0.1",
- "resolved": false,
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "bundled": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@@ -8471,23 +8173,19 @@
},
"punycode": {
"version": "1.4.1",
- "resolved": false,
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ "bundled": true
},
"qrcode-terminal": {
"version": "0.12.0",
- "resolved": false,
- "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ=="
+ "bundled": true
},
"qs": {
"version": "6.5.2",
- "resolved": false,
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ "bundled": true
},
"query-string": {
"version": "6.2.0",
- "resolved": false,
- "integrity": "sha512-5wupExkIt8RYL4h/FE+WTg3JHk62e6fFPWtAZA9J5IWK1PfTfKkMS93HBUHcFpeYi9KsY5pFbh+ldvEyaz5MyA==",
+ "bundled": true,
"requires": {
"decode-uri-component": "^0.2.0",
"strict-uri-encode": "^2.0.0"
@@ -8495,13 +8193,11 @@
},
"qw": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-77/cdA+a0FQwRCassYNBLMi5ltQ="
+ "bundled": true
},
"rc": {
"version": "1.2.7",
- "resolved": false,
- "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==",
+ "bundled": true,
"requires": {
"deep-extend": "^0.5.1",
"ini": "~1.3.0",
@@ -8511,31 +8207,27 @@
"dependencies": {
"minimist": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ "bundled": true
}
}
},
"read": {
"version": "1.0.7",
- "resolved": false,
- "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
+ "bundled": true,
"requires": {
"mute-stream": "~0.0.4"
}
},
"read-cmd-shim": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs=",
+ "bundled": true,
"requires": {
"graceful-fs": "^4.1.2"
}
},
"read-installed": {
"version": "4.0.3",
- "resolved": false,
- "integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=",
+ "bundled": true,
"requires": {
"debuglog": "^1.0.1",
"graceful-fs": "^4.1.2",
@@ -8548,8 +8240,7 @@
},
"read-package-json": {
"version": "2.0.13",
- "resolved": false,
- "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==",
+ "bundled": true,
"requires": {
"glob": "^7.1.1",
"graceful-fs": "^4.1.2",
@@ -8559,9 +8250,8 @@
}
},
"read-package-tree": {
- "version": "5.2.1",
- "resolved": false,
- "integrity": "sha512-2CNoRoh95LxY47LvqrehIAfUVda2JbuFE/HaGYs42bNrGG+ojbw1h3zOcPcQ+1GQ3+rkzNndZn85u1XyZ3UsIA==",
+ "version": "5.2.2",
+ "bundled": true,
"requires": {
"debuglog": "^1.0.1",
"dezalgo": "^1.0.0",
@@ -8572,8 +8262,7 @@
},
"readable-stream": {
"version": "3.1.1",
- "resolved": false,
- "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
+ "bundled": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -8582,8 +8271,7 @@
},
"readdir-scoped-modules": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-n6+jfShr5dksuuve4DDcm19AZ0c=",
+ "bundled": true,
"requires": {
"debuglog": "^1.0.1",
"dezalgo": "^1.0.0",
@@ -8593,8 +8281,7 @@
},
"registry-auth-token": {
"version": "3.3.2",
- "resolved": false,
- "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
+ "bundled": true,
"requires": {
"rc": "^1.1.6",
"safe-buffer": "^5.0.1"
@@ -8602,16 +8289,14 @@
},
"registry-url": {
"version": "3.1.0",
- "resolved": false,
- "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
+ "bundled": true,
"requires": {
"rc": "^1.0.1"
}
},
"request": {
"version": "2.88.0",
- "resolved": false,
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "bundled": true,
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -8637,79 +8322,66 @@
},
"require-directory": {
"version": "2.1.1",
- "resolved": false,
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ "bundled": true
},
"require-main-filename": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+ "bundled": true
},
"resolve-from": {
"version": "4.0.0",
- "resolved": false,
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
+ "bundled": true
},
"retry": {
"version": "0.12.0",
- "resolved": false,
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs="
+ "bundled": true
},
"rimraf": {
"version": "2.6.3",
- "resolved": false,
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "bundled": true,
"requires": {
"glob": "^7.1.3"
}
},
"run-queue": {
"version": "1.0.3",
- "resolved": false,
- "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+ "bundled": true,
"requires": {
"aproba": "^1.1.1"
},
"dependencies": {
"aproba": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ "bundled": true
}
}
},
"safe-buffer": {
"version": "5.1.2",
- "resolved": false,
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ "bundled": true
},
"safer-buffer": {
"version": "2.1.2",
- "resolved": false,
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ "bundled": true
},
"semver": {
"version": "5.6.0",
- "resolved": false,
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
+ "bundled": true
},
"semver-diff": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+ "bundled": true,
"requires": {
"semver": "^5.0.3"
}
},
"set-blocking": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ "bundled": true
},
"sha": {
"version": "2.0.1",
- "resolved": false,
- "integrity": "sha1-YDCCL70smCOUn49y7WQR7lzyWq4=",
+ "bundled": true,
"requires": {
"graceful-fs": "^4.1.2",
"readable-stream": "^2.0.2"
@@ -8717,8 +8389,7 @@
"dependencies": {
"readable-stream": {
"version": "2.3.6",
- "resolved": false,
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -8731,8 +8402,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -8741,41 +8411,34 @@
},
"shebang-command": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "bundled": true,
"requires": {
"shebang-regex": "^1.0.0"
}
},
"shebang-regex": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
+ "bundled": true
},
"signal-exit": {
"version": "3.0.2",
- "resolved": false,
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+ "bundled": true
},
"slash": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+ "bundled": true
},
"slide": {
"version": "1.1.6",
- "resolved": false,
- "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc="
+ "bundled": true
},
"smart-buffer": {
"version": "4.0.1",
- "resolved": false,
- "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg=="
+ "bundled": true
},
"socks": {
"version": "2.2.0",
- "resolved": false,
- "integrity": "sha512-uRKV9uXQ9ytMbGm2+DilS1jB7N3AC0mmusmW5TVWjNuBZjxS8+lX38fasKVY9I4opv/bY/iqTbcpFFaTwpfwRg==",
+ "bundled": true,
"requires": {
"ip": "^1.1.5",
"smart-buffer": "^4.0.1"
@@ -8783,8 +8446,7 @@
},
"socks-proxy-agent": {
"version": "4.0.1",
- "resolved": false,
- "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==",
+ "bundled": true,
"requires": {
"agent-base": "~4.2.0",
"socks": "~2.2.0"
@@ -8792,13 +8454,11 @@
},
"sorted-object": {
"version": "2.0.1",
- "resolved": false,
- "integrity": "sha1-fWMfS9OnmKJK8d/8+/6DM3pd9fw="
+ "bundled": true
},
"sorted-union-stream": {
"version": "2.1.3",
- "resolved": false,
- "integrity": "sha1-x3lMfgd4gAUv9xqNSi27Sppjisc=",
+ "bundled": true,
"requires": {
"from2": "^1.3.0",
"stream-iterate": "^1.1.0"
@@ -8806,8 +8466,7 @@
"dependencies": {
"from2": {
"version": "1.3.0",
- "resolved": false,
- "integrity": "sha1-iEE7qqX5pZfP3pIh2GmGzTwGHf0=",
+ "bundled": true,
"requires": {
"inherits": "~2.0.1",
"readable-stream": "~1.1.10"
@@ -8815,13 +8474,11 @@
},
"isarray": {
"version": "0.0.1",
- "resolved": false,
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ "bundled": true
},
"readable-stream": {
"version": "1.1.14",
- "resolved": false,
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -8831,15 +8488,13 @@
},
"string_decoder": {
"version": "0.10.31",
- "resolved": false,
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ "bundled": true
}
}
},
"spdx-correct": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
+ "bundled": true,
"requires": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
@@ -8847,13 +8502,11 @@
},
"spdx-exceptions": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg=="
+ "bundled": true
},
"spdx-expression-parse": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "bundled": true,
"requires": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
@@ -8861,13 +8514,11 @@
},
"spdx-license-ids": {
"version": "3.0.3",
- "resolved": false,
- "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g=="
+ "bundled": true
},
"sshpk": {
"version": "1.14.2",
- "resolved": false,
- "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
+ "bundled": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -8882,16 +8533,14 @@
},
"ssri": {
"version": "6.0.1",
- "resolved": false,
- "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+ "bundled": true,
"requires": {
"figgy-pudding": "^3.5.1"
}
},
"stream-each": {
"version": "1.2.2",
- "resolved": false,
- "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==",
+ "bundled": true,
"requires": {
"end-of-stream": "^1.1.0",
"stream-shift": "^1.0.0"
@@ -8899,8 +8548,7 @@
},
"stream-iterate": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha1-K9fHcpbBcCpGSIuK1B95hl7s1OE=",
+ "bundled": true,
"requires": {
"readable-stream": "^2.1.5",
"stream-shift": "^1.0.0"
@@ -8908,8 +8556,7 @@
"dependencies": {
"readable-stream": {
"version": "2.3.6",
- "resolved": false,
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -8922,8 +8569,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -8932,18 +8578,15 @@
},
"stream-shift": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
+ "bundled": true
},
"strict-uri-encode": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY="
+ "bundled": true
},
"string-width": {
"version": "2.1.1",
- "resolved": false,
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "bundled": true,
"requires": {
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^4.0.0"
@@ -8951,18 +8594,15 @@
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ "bundled": true
},
"is-fullwidth-code-point": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ "bundled": true
},
"strip-ansi": {
"version": "4.0.0",
- "resolved": false,
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "bundled": true,
"requires": {
"ansi-regex": "^3.0.0"
}
@@ -8971,47 +8611,40 @@
},
"string_decoder": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
},
"stringify-package": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha512-JIQqiWmLiEozOC0b0BtxZ/AOUtdUZHCBPgqIZ2kSJJqGwgb9neo44XdTHUC4HZSGqi03hOeB7W/E8rAlKnGe9g=="
+ "bundled": true
},
"strip-ansi": {
"version": "3.0.1",
- "resolved": false,
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "bundled": true,
"requires": {
"ansi-regex": "^2.0.0"
}
},
"strip-eof": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
+ "bundled": true
},
"strip-json-comments": {
"version": "2.0.1",
- "resolved": false,
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ "bundled": true
},
"supports-color": {
"version": "5.4.0",
- "resolved": false,
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "bundled": true,
"requires": {
"has-flag": "^3.0.0"
}
},
"tar": {
"version": "4.4.8",
- "resolved": false,
- "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
+ "bundled": true,
"requires": {
"chownr": "^1.1.1",
"fs-minipass": "^1.2.5",
@@ -9024,13 +8657,11 @@
"dependencies": {
"chownr": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g=="
+ "bundled": true
},
"minipass": {
"version": "2.3.5",
- "resolved": false,
- "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
+ "bundled": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -9038,33 +8669,28 @@
},
"yallist": {
"version": "3.0.3",
- "resolved": false,
- "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A=="
+ "bundled": true
}
}
},
"term-size": {
"version": "1.2.0",
- "resolved": false,
- "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
+ "bundled": true,
"requires": {
"execa": "^0.7.0"
}
},
"text-table": {
"version": "0.2.0",
- "resolved": false,
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
+ "bundled": true
},
"through": {
"version": "2.3.8",
- "resolved": false,
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ "bundled": true
},
"through2": {
"version": "2.0.3",
- "resolved": false,
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "bundled": true,
"requires": {
"readable-stream": "^2.1.5",
"xtend": "~4.0.1"
@@ -9072,8 +8698,7 @@
"dependencies": {
"readable-stream": {
"version": "2.3.6",
- "resolved": false,
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "bundled": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -9086,8 +8711,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -9096,18 +8720,15 @@
},
"timed-out": {
"version": "4.0.1",
- "resolved": false,
- "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
+ "bundled": true
},
"tiny-relative-date": {
"version": "1.3.0",
- "resolved": false,
- "integrity": "sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A=="
+ "bundled": true
},
"tough-cookie": {
"version": "2.4.3",
- "resolved": false,
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+ "bundled": true,
"requires": {
"psl": "^1.1.24",
"punycode": "^1.4.1"
@@ -9115,71 +8736,60 @@
},
"tunnel-agent": {
"version": "0.6.0",
- "resolved": false,
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "bundled": true,
"requires": {
"safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
"version": "0.14.5",
- "resolved": false,
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "bundled": true,
"optional": true
},
"typedarray": {
"version": "0.0.6",
- "resolved": false,
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ "bundled": true
},
"uid-number": {
"version": "0.0.6",
- "resolved": false,
- "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE="
+ "bundled": true
},
"umask": {
"version": "1.1.0",
- "resolved": false,
- "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0="
+ "bundled": true
},
"unique-filename": {
"version": "1.1.1",
- "resolved": false,
- "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "bundled": true,
"requires": {
"unique-slug": "^2.0.0"
}
},
"unique-slug": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=",
+ "bundled": true,
"requires": {
"imurmurhash": "^0.1.4"
}
},
"unique-string": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "bundled": true,
"requires": {
"crypto-random-string": "^1.0.0"
}
},
"unpipe": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+ "bundled": true
},
"unzip-response": {
"version": "2.0.1",
- "resolved": false,
- "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c="
+ "bundled": true
},
"update-notifier": {
"version": "2.5.0",
- "resolved": false,
- "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==",
+ "bundled": true,
"requires": {
"boxen": "^1.2.1",
"chalk": "^2.0.1",
@@ -9195,31 +8805,26 @@
},
"url-parse-lax": {
"version": "1.0.0",
- "resolved": false,
- "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+ "bundled": true,
"requires": {
"prepend-http": "^1.0.1"
}
},
"util-deprecate": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ "bundled": true
},
"util-extend": {
"version": "1.0.3",
- "resolved": false,
- "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8="
+ "bundled": true
},
"uuid": {
"version": "3.3.2",
- "resolved": false,
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
+ "bundled": true
},
"validate-npm-package-license": {
"version": "3.0.4",
- "resolved": false,
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "bundled": true,
"requires": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
@@ -9227,16 +8832,14 @@
},
"validate-npm-package-name": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
+ "bundled": true,
"requires": {
"builtins": "^1.0.3"
}
},
"verror": {
"version": "1.10.0",
- "resolved": false,
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "bundled": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
@@ -9245,37 +8848,32 @@
},
"wcwidth": {
"version": "1.0.1",
- "resolved": false,
- "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "bundled": true,
"requires": {
"defaults": "^1.0.3"
}
},
"which": {
"version": "1.3.1",
- "resolved": false,
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "bundled": true,
"requires": {
"isexe": "^2.0.0"
}
},
"which-module": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
+ "bundled": true
},
"wide-align": {
"version": "1.1.2",
- "resolved": false,
- "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
+ "bundled": true,
"requires": {
"string-width": "^1.0.2"
},
"dependencies": {
"string-width": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "bundled": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -9286,24 +8884,21 @@
},
"widest-line": {
"version": "2.0.0",
- "resolved": false,
- "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=",
+ "bundled": true,
"requires": {
"string-width": "^2.1.1"
}
},
"worker-farm": {
"version": "1.6.0",
- "resolved": false,
- "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
+ "bundled": true,
"requires": {
"errno": "~0.1.7"
}
},
"wrap-ansi": {
"version": "2.1.0",
- "resolved": false,
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "bundled": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1"
@@ -9311,8 +8906,7 @@
"dependencies": {
"string-width": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "bundled": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -9323,13 +8917,11 @@
},
"wrappy": {
"version": "1.0.2",
- "resolved": false,
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ "bundled": true
},
"write-file-atomic": {
"version": "2.4.2",
- "resolved": false,
- "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==",
+ "bundled": true,
"requires": {
"graceful-fs": "^4.1.11",
"imurmurhash": "^0.1.4",
@@ -9338,28 +8930,23 @@
},
"xdg-basedir": {
"version": "3.0.0",
- "resolved": false,
- "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ="
+ "bundled": true
},
"xtend": {
"version": "4.0.1",
- "resolved": false,
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ "bundled": true
},
"y18n": {
"version": "4.0.0",
- "resolved": false,
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
+ "bundled": true
},
"yallist": {
"version": "2.1.2",
- "resolved": false,
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ "bundled": true
},
"yargs": {
"version": "11.0.0",
- "resolved": false,
- "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
+ "bundled": true,
"requires": {
"cliui": "^4.0.0",
"decamelize": "^1.1.1",
@@ -9377,15 +8964,13 @@
"dependencies": {
"y18n": {
"version": "3.2.1",
- "resolved": false,
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ "bundled": true
}
}
},
"yargs-parser": {
"version": "9.0.2",
- "resolved": false,
- "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
+ "bundled": true,
"requires": {
"camelcase": "^4.1.0"
}
@@ -10403,6 +9988,15 @@
"unpipe": "1.0.0"
}
},
+ "raw-loader": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-1.0.0.tgz",
+ "integrity": "sha512-Uqy5AqELpytJTRxYT4fhltcKPj0TyaEpzJDcGz7DFJi+pQOOi3GjR/DOdxTkTsF+NzhnldIoG6TORaBlInUuqA==",
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "schema-utils": "^1.0.0"
+ }
+ },
"rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
diff --git a/package.json b/package.json
index ae7a7b25c..22349501d 100644
--- a/package.json
+++ b/package.json
@@ -32,7 +32,9 @@
"webpack-hot-middleware": "^2.24.3"
},
"dependencies": {
- "@fortawesome/fontawesome-svg-core": "^1.2.14",
+ "@fortawesome/fontawesome-svg-core": "^1.2.15",
+ "@fortawesome/free-solid-svg-icons": "^5.7.2",
+ "@fortawesome/react-fontawesome": "^0.1.4",
"@types/bcrypt-nodejs": "0.0.30",
"@types/bluebird": "^3.5.25",
"@types/body-parser": "^1.17.0",
@@ -76,6 +78,7 @@
"expressjs": "^1.0.1",
"flexlayout-react": "^0.3.3",
"golden-layout": "^1.5.9",
+ "i": "^0.3.6",
"jsonwebtoken": "^8.4.0",
"jsx-to-string": "^1.4.0",
"lodash": "^4.17.11",
@@ -87,7 +90,7 @@
"node-sass": "^4.11.0",
"nodemon": "^1.18.10",
"normalize.css": "^8.0.1",
- "npm": "^6.7.0",
+ "npm": "^6.8.0",
"passport": "^0.4.0",
"passport-local": "^1.0.0",
"prosemirror-commands": "^1.0.7",
@@ -100,6 +103,7 @@
"prosemirror-transform": "^1.1.3",
"prosemirror-view": "^1.7.1",
"pug": "^2.0.3",
+ "raw-loader": "^1.0.0",
"react": "^16.5.2",
"react-dimensions": "^1.3.1",
"react-dom": "^16.7.0",
diff --git a/src/client/util/Scripting.ts b/src/client/util/Scripting.ts
index befb9df4c..44f36fe19 100644
--- a/src/client/util/Scripting.ts
+++ b/src/client/util/Scripting.ts
@@ -1,12 +1,21 @@
-// import * as ts from "typescript"
-let ts = (window as any).ts;
+import * as ts from "typescript"
+// let ts = (window as any).ts;
import { Opt, Field } from "../../fields/Field";
-import { Document as DocumentImport } from "../../fields/Document";
-import { NumberField as NumberFieldImport, NumberField } from "../../fields/NumberField";
-import { ImageField as ImageFieldImport } from "../../fields/ImageField";
-import { TextField as TextFieldImport, TextField } from "../../fields/TextField";
-import { RichTextField as RichTextFieldImport } from "../../fields/RichTextField";
-import { KeyStore as KeyStoreImport } from "../../fields/KeyStore";
+import { Document } from "../../fields/Document";
+import { NumberField } from "../../fields/NumberField";
+import { ImageField } from "../../fields/ImageField";
+import { TextField } from "../../fields/TextField";
+import { RichTextField } from "../../fields/RichTextField";
+import { KeyStore } from "../../fields/KeyStore";
+import { ListField } from "../../fields/ListField";
+// // @ts-ignore
+// import * as typescriptlib from '!!raw-loader!../../../node_modules/typescript/lib/lib.d.ts'
+// // @ts-ignore
+// import * as typescriptes5 from '!!raw-loader!../../../node_modules/typescript/lib/lib.es5.d.ts'
+
+// @ts-ignore
+import * as typescriptlib from '!!raw-loader!./type_decls.d'
+
export interface ExecutableScript {
(): any;
@@ -14,23 +23,25 @@ export interface ExecutableScript {
compiled: boolean;
}
-function ExecScript(script: string, diagnostics: Opt<any[]>): ExecutableScript {
+function Compile(script: string | undefined, diagnostics: Opt<any[]>, scope: { [name: string]: any }): ExecutableScript {
const compiled = !(diagnostics && diagnostics.some(diag => diag.category == ts.DiagnosticCategory.Error));
let func: () => Opt<Field>;
- if (compiled) {
+ if (compiled && script) {
+ let fieldTypes = [Document, NumberField, TextField, ImageField, RichTextField, ListField];
+ let paramNames = ["KeyStore", ...fieldTypes.map(fn => fn.name)];
+ let params: any[] = [KeyStore, ...fieldTypes]
+ for (let prop in scope) {
+ if (prop === "this") {
+ continue;
+ }
+ paramNames.push(prop);
+ params.push(scope[prop]);
+ }
+ let thisParam = scope["this"];
+ let compiledFunction = new Function(...paramNames, script);
func = function (): Opt<Field> {
- let KeyStore = KeyStoreImport;
- let Document = DocumentImport;
- let NumberField = NumberFieldImport;
- let TextField = TextFieldImport;
- let ImageField = ImageFieldImport;
- let RichTextField = RichTextFieldImport;
- let window = undefined;
- let document = undefined;
- let retVal = eval(script);
-
- return retVal;
+ return compiledFunction.apply(thisParam, params)
};
} else {
func = () => undefined;
@@ -42,10 +53,73 @@ function ExecScript(script: string, diagnostics: Opt<any[]>): ExecutableScript {
});
}
-export function CompileScript(script: string): ExecutableScript {
- let result = (window as any).ts.transpileModule(script, {})
+interface File {
+ fileName: string;
+ content: string;
+}
+
+// class ScriptingCompilerHost implements ts.CompilerHost {
+class ScriptingCompilerHost {
+ files: File[] = [];
+
+ // getSourceFile(fileName: string, languageVersion: ts.ScriptTarget, onError?: ((message: string) => void) | undefined, shouldCreateNewSourceFile?: boolean | undefined): ts.SourceFile | undefined {
+ getSourceFile(fileName: string, languageVersion: any, onError?: ((message: string) => void) | undefined, shouldCreateNewSourceFile?: boolean | undefined): any | undefined {
+ let contents = this.readFile(fileName);
+ if (contents !== undefined) {
+ return ts.createSourceFile(fileName, contents, languageVersion, true);
+ }
+ return undefined;
+ }
+ // getDefaultLibFileName(options: ts.CompilerOptions): string {
+ getDefaultLibFileName(options: any): string {
+ return 'node_modules/typescript/lib/lib.d.ts' // No idea what this means...
+ }
+ writeFile(fileName: string, content: string) {
+ const file = this.files.find(file => file.fileName === fileName);
+ if (file) {
+ file.content = content;
+ } else {
+ this.files.push({ fileName, content })
+ }
+ }
+ getCurrentDirectory(): string {
+ return '';
+ }
+ getCanonicalFileName(fileName: string): string {
+ return this.useCaseSensitiveFileNames() ? fileName : fileName.toLowerCase();
+ }
+ useCaseSensitiveFileNames(): boolean {
+ return true;
+ }
+ getNewLine(): string {
+ return '\n';
+ }
+ fileExists(fileName: string): boolean {
+ return this.files.some(file => file.fileName === fileName);
+ }
+ readFile(fileName: string): string | undefined {
+ let file = this.files.find(file => file.fileName === fileName);
+ if (file) {
+ return file.content;
+ }
+ return undefined;
+ }
+}
+
+export function CompileScript(script: string, scope?: { [name: string]: any }, addReturn: boolean = false): ExecutableScript {
+ let host = new ScriptingCompilerHost;
+ let funcScript = `(function() {
+ ${addReturn ? `return ${script};` : script}
+ })()`
+ host.writeFile("file.ts", funcScript);
+ host.writeFile('node_modules/typescript/lib/lib.d.ts', typescriptlib);
+ let program = ts.createProgram(["file.ts"], {}, host);
+ let testResult = program.emit();
+ let outputText = "return " + host.readFile("file.js");
+
+ let diagnostics = ts.getPreEmitDiagnostics(program).concat(testResult.diagnostics);
- return ExecScript(result.outputText, result.diagnostics);
+ return Compile(outputText, diagnostics, scope || {});
}
export function ToField(data: any): Opt<Field> {
diff --git a/src/client/util/type_decls.d b/src/client/util/type_decls.d
new file mode 100644
index 000000000..679f73f42
--- /dev/null
+++ b/src/client/util/type_decls.d
@@ -0,0 +1,215 @@
+//@ts-ignore
+declare type PropertyKey = string | number | symbol;
+interface Array<T> {
+ length: number;
+ toString(): string;
+ toLocaleString(): string;
+ pop(): T | undefined;
+ push(...items: T[]): number;
+ concat(...items: ConcatArray<T>[]): T[];
+ concat(...items: (T | ConcatArray<T>)[]): T[];
+ join(separator?: string): string;
+ reverse(): T[];
+ shift(): T | undefined;
+ slice(start?: number, end?: number): T[];
+ sort(compareFn?: (a: T, b: T) => number): this;
+ splice(start: number, deleteCount?: number): T[];
+ splice(start: number, deleteCount: number, ...items: T[]): T[];
+ unshift(...items: T[]): number;
+ indexOf(searchElement: T, fromIndex?: number): number;
+ lastIndexOf(searchElement: T, fromIndex?: number): number;
+ every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean;
+ some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean;
+ forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;
+ map<U>(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[];
+ filter<S extends T>(callbackfn: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[];
+ filter(callbackfn: (value: T, index: number, array: T[]) => any, thisArg?: any): T[];
+ reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T;
+ reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T;
+ reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;
+ reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T;
+ reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T;
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;
+
+ [n: number]: T;
+}
+
+interface Function {
+ apply(this: Function, thisArg: any, argArray?: any): any;
+ call(this: Function, thisArg: any, ...argArray: any[]): any;
+ bind(this: Function, thisArg: any, ...argArray: any[]): any;
+ toString(): string;
+
+ prototype: any;
+ readonly length: number;
+
+ // Non-standard extensions
+ arguments: any;
+ caller: Function;
+}
+interface Boolean {
+ valueOf(): boolean;
+}
+interface Number {
+ toString(radix?: number): string;
+ toFixed(fractionDigits?: number): string;
+ toExponential(fractionDigits?: number): string;
+ toPrecision(precision?: number): string;
+ valueOf(): number;
+}
+interface IArguments {
+ [index: number]: any;
+ length: number;
+ callee: Function;
+}
+interface RegExp {
+ readonly flags: string;
+ readonly sticky: boolean;
+ readonly unicode: boolean;
+}
+interface String {
+ codePointAt(pos: number): number | undefined;
+ includes(searchString: string, position?: number): boolean;
+ endsWith(searchString: string, endPosition?: number): boolean;
+ normalize(form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
+ normalize(form?: string): string;
+ repeat(count: number): string;
+ startsWith(searchString: string, position?: number): boolean;
+ anchor(name: string): string;
+ big(): string;
+ blink(): string;
+ bold(): string;
+ fixed(): string;
+ fontcolor(color: string): string;
+ fontsize(size: number): string;
+ fontsize(size: string): string;
+ italics(): string;
+ link(url: string): string;
+ small(): string;
+ strike(): string;
+ sub(): string;
+ sup(): string;
+}
+interface Object {
+ constructor: Function;
+ toString(): string;
+ toLocaleString(): string;
+ valueOf(): Object;
+ hasOwnProperty(v: PropertyKey): boolean;
+ isPrototypeOf(v: Object): boolean;
+ propertyIsEnumerable(v: PropertyKey): boolean;
+}
+interface ConcatArray<T> {
+ readonly length: number;
+ readonly [n: number]: T;
+ join(separator?: string): string;
+ slice(start?: number, end?: number): T[];
+}
+interface URL {
+ hash: string;
+ host: string;
+ hostname: string;
+ href: string;
+ readonly origin: string;
+ password: string;
+ pathname: string;
+ port: string;
+ protocol: string;
+ search: string;
+ username: string;
+ toJSON(): string;
+}
+
+declare type FieldId = string;
+
+declare abstract class Field {
+ Id: FieldId;
+ abstract ToScriptString(): string;
+ abstract TrySetValue(value: any): boolean;
+ abstract GetValue(): any;
+ abstract Copy(): Field;
+}
+
+declare abstract class BasicField<T> extends Field {
+ constructor(data: T);
+ Data: T;
+ TrySetValue(value: any): boolean;
+ GetValue(): any;
+}
+
+declare class TextField extends BasicField<string>{
+ constructor();
+ constructor(data: string);
+ ToScriptString(): string;
+ Copy(): Field;
+}
+declare class ImageField extends BasicField<URL>{
+ constructor();
+ constructor(data: URL);
+ ToScriptString(): string;
+ Copy(): Field;
+}
+declare class HtmlField extends BasicField<string>{
+ constructor();
+ constructor(data: string);
+ ToScriptString(): string;
+ Copy(): Field;
+}
+declare class NumberField extends BasicField<number>{
+ constructor();
+ constructor(data: number);
+ ToScriptString(): string;
+ Copy(): Field;
+}
+declare class WebField extends BasicField<URL>{
+ constructor();
+ constructor(data: URL);
+ ToScriptString(): string;
+ Copy(): Field;
+}
+declare class ListField<T> extends BasicField<T[]>{
+ constructor();
+ constructor(data: T[]);
+ ToScriptString(): string;
+ Copy(): Field;
+}
+declare class Key extends Field {
+ Name: string;
+ TrySetValue(value: any): boolean;
+ GetValue(): any;
+ Copy(): Field;
+ ToScriptString(): string;
+}
+declare type FIELD_WAITING = "<Waiting>";
+declare type Opt<T> = T | undefined;
+declare type FieldValue<T> = Opt<T> | FIELD_WAITING;
+// @ts-ignore
+declare class Document extends Field {
+ TrySetValue(value: any): boolean;
+ GetValue(): any;
+ Copy(): Field;
+ ToScriptString(): string;
+
+ Width(): number;
+ Height(): number;
+ Scale(): number;
+ Title: string;
+
+ Get(key: Key): FieldValue<Field>;
+ GetAsync(key: Key, callback: (field: Field) => void): boolean;
+ GetOrCreateAsync<T extends Field>(key: Key, ctor: { new(): T }, callback: (field: T) => void): void;
+ GetT<T extends Field>(key: Key, ctor: { new(): T }): FieldValue<T>;
+ GetOrCreate<T extends Field>(key: Key, ctor: { new(): T }): T;
+ GetData<T, U extends Field & { Data: T }>(key: Key, ctor: { new(): U }, defaultVal: T): T;
+ GetHtml(key: Key, defaultVal: string): string;
+ GetNumber(key: Key, defaultVal: number): number;
+ GetText(key: Key, defaultVal: string): string;
+ GetList<T extends Field>(key: Key, defaultVal: T[]): T[];
+ Set(key: Key, field: Field | undefined): void;
+ SetData<T, U extends Field & { Data: T }>(key: Key, value: T, ctor: { new(): U }): void;
+ SetText(key: Key, value: string): void;
+ SetNumber(key: Key, value: number): void;
+ GetPrototype(): FieldValue<Document>;
+ GetAllPrototypes(): Document[];
+ MakeDelegate(): Document;
+}
diff --git a/src/client/views/ContextMenu.scss b/src/client/views/ContextMenu.scss
index 234f82eb9..ea40c8e99 100644
--- a/src/client/views/ContextMenu.scss
+++ b/src/client/views/ContextMenu.scss
@@ -3,16 +3,16 @@
display: flex;
z-index: 1000;
box-shadow: #AAAAAA .2vw .2vw .4vw;
+ flex-direction: column;
}
.contextMenu-item {
- width: 10vw;
- height: 4vh;
- background: #DDDDDD;
+ width: auto;
+ height: auto;
+ background: #F0F8FF;
display: flex;
- justify-content: center;
+ justify-content: left;
align-items: center;
- flex-direction: column;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
@@ -20,11 +20,18 @@
-ms-user-select: none;
user-select: none;
transition: all .1s;
+ border-width: .11px;
+ border-style: none;
+ border-color: rgb(187, 186, 186);
+ border-bottom-style: solid;
+ padding: 10px;
+ white-space: nowrap;
+ font-size: 1.5vw;
}
.contextMenu-item:hover {
transition: all .1s;
- background: #AAAAAA
+ background: #B0E0E6;
}
.contextMenu-description {
diff --git a/src/client/views/ContextMenu.tsx b/src/client/views/ContextMenu.tsx
index 9459d45f8..fcb934860 100644
--- a/src/client/views/ContextMenu.tsx
+++ b/src/client/views/ContextMenu.tsx
@@ -12,6 +12,8 @@ export class ContextMenu extends React.Component {
@observable private _pageX: number = 0;
@observable private _pageY: number = 0;
@observable private _display: string = "none";
+ @observable private _searchString: string = "";
+
private ref: React.RefObject<HTMLDivElement>;
@@ -45,6 +47,8 @@ export class ContextMenu extends React.Component {
this._pageX = x
this._pageY = y
+ this._searchString = "";
+
this._display = "flex"
}
@@ -62,10 +66,18 @@ export class ContextMenu extends React.Component {
render() {
return (
<div className="contextMenu-cont" style={{ left: this._pageX, top: this._pageY, display: this._display }} ref={this.ref}>
- {this._items.map(prop => {
+ <input className="contextMenu-item" type="text" placeholder="Search . . ." value={this._searchString} onChange={this.onChange}></input>
+ {this._items.filter(prop => {
+ return prop.description.toLowerCase().indexOf(this._searchString.toLowerCase()) !== -1;
+ }).map(prop => {
return <ContextMenuItem {...prop} key={prop.description} />
})}
</div>
)
}
+
+ @action
+ onChange = (e: React.ChangeEvent<HTMLInputElement>) => {
+ this._searchString = e.target.value;
+ }
} \ No newline at end of file
diff --git a/src/client/views/ContextMenuItem.tsx b/src/client/views/ContextMenuItem.tsx
index 8f00f8b3d..4801c1555 100644
--- a/src/client/views/ContextMenuItem.tsx
+++ b/src/client/views/ContextMenuItem.tsx
@@ -1,11 +1,19 @@
import React = require("react");
-import { ContextMenu } from "./ContextMenu";
export interface ContextMenuProps {
description: string;
event: (e: React.MouseEvent<HTMLDivElement>) => void;
}
+export interface SubmenuProps {
+ description: string;
+ subitems: ContextMenuProps[];
+}
+
+export interface ContextMenuItemProps {
+ type: ContextMenuProps | SubmenuProps
+}
+
export class ContextMenuItem extends React.Component<ContextMenuProps> {
render() {
return (
diff --git a/src/client/views/DocumentDecorations.tsx b/src/client/views/DocumentDecorations.tsx
index 975a125f7..9fd73a33b 100644
--- a/src/client/views/DocumentDecorations.tsx
+++ b/src/client/views/DocumentDecorations.tsx
@@ -1,4 +1,4 @@
-import { observable, computed, action } from "mobx";
+import { observable, computed } from "mobx";
import React = require("react");
import { SelectionManager } from "../util/SelectionManager";
import { observer } from "mobx-react";
diff --git a/src/client/views/EditableView.tsx b/src/client/views/EditableView.tsx
index 8d9a47eaa..88ef67afa 100644
--- a/src/client/views/EditableView.tsx
+++ b/src/client/views/EditableView.tsx
@@ -27,12 +27,11 @@ export class EditableView extends React.Component<EditableProps> {
render() {
if (this.editing) {
return <input defaultValue={this.props.GetValue()} onKeyDown={this.onKeyDown} autoFocus onBlur={action(() => this.editing = false)}
- style={{ width: "100%" }}></input>
+ style={{ display: "inline" }}></input>
} else {
return (
- <div className="editableView-container-editing" style={{ display: "flex", height: "100%", maxHeight: `${this.props.height}` }}
- onClick={action(() => this.editing = true)}
- >
+ <div className="editableView-container-editing" style={{ display: "inline", height: "100%", maxHeight: `${this.props.height}` }}
+ onClick={action(() => this.editing = true)}>
{this.props.contents}
</div>
)
diff --git a/src/client/views/Main.tsx b/src/client/views/Main.tsx
index 97e39377c..fbc9d1d80 100644
--- a/src/client/views/Main.tsx
+++ b/src/client/views/Main.tsx
@@ -4,7 +4,8 @@ import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { Document } from '../../fields/Document';
import { KeyStore } from '../../fields/KeyStore';
-import { DocumentTransfer, MessageStore } from '../../server/Message';
+import "./Main.scss";
+import { MessageStore } from '../../server/Message';
import { Utils } from '../../Utils';
import { Documents } from '../documents/Documents';
import { Server } from '../Server';
@@ -33,7 +34,6 @@ document.addEventListener("pointerdown", action(function (e: PointerEvent) {
const mainDocId = "mainDoc";
let mainContainer: Document;
let mainfreeform: Document;
-console.log("HELLO WORLD")
Documents.initProtos(mainDocId, (res?: Document) => {
if (res instanceof Document) {
mainContainer = res;
@@ -59,12 +59,14 @@ Documents.initProtos(mainDocId, (res?: Document) => {
let weburl = "https://cs.brown.edu/courses/cs166/";
let clearDatabase = action(() => Utils.Emit(Server.Socket, MessageStore.DeleteAll, {}))
let addTextNode = action(() => Documents.TextDocument({ width: 200, height: 200, title: "a text note" }))
- let addColNode = action(() => Documents.FreeformDocument([], { width: 200, height: 200, title: "a feeform collection" }));
+ let addColNode = action(() => Documents.FreeformDocument([], { width: 200, height: 200, title: "a freeform collection" }));
let addSchemaNode = action(() => Documents.SchemaDocument([Documents.TextDocument()], { width: 200, height: 200, title: "a schema collection" }));
let addImageNode = action(() => Documents.ImageDocument(imgurl, { width: 200, height: 200, title: "an image of a cat" }));
let addWebNode = action(() => Documents.WebDocument(weburl, { width: 200, height: 200, title: "a sample web page" }));
- let addClick = (creator: () => Document) => action(() => mainfreeform.GetList<Document>(KeyStore.Data, []).push(creator()));
+ let addClick = (creator: () => Document) => action(() =>
+ mainfreeform.GetList<Document>(KeyStore.Data, []).push(creator())
+ );
let imgRef = React.createRef<HTMLDivElement>();
let webRef = React.createRef<HTMLDivElement>();
@@ -82,6 +84,7 @@ Documents.initProtos(mainDocId, (res?: Document) => {
PanelHeight={() => 0}
isTopMost={true}
SelectOnLoad={false}
+ focus={() => { }}
ContainingCollectionView={undefined} />
<DocumentDecorations />
<ContextMenu />
diff --git a/src/client/views/collections/CollectionDockingView.tsx b/src/client/views/collections/CollectionDockingView.tsx
index ad7164e33..c51fba908 100644
--- a/src/client/views/collections/CollectionDockingView.tsx
+++ b/src/client/views/collections/CollectionDockingView.tsx
@@ -1,13 +1,13 @@
import * as GoldenLayout from "golden-layout";
import 'golden-layout/src/css/goldenlayout-base.css';
import 'golden-layout/src/css/goldenlayout-dark-theme.css';
-import { action, computed, observable, reaction } from "mobx";
+import { action, observable, reaction } from "mobx";
import { observer } from "mobx-react";
import * as ReactDOM from 'react-dom';
-import Measure from "react-measure";
import { Document } from "../../../fields/Document";
-import { FieldId, Opt, Field } from "../../../fields/Field";
import { KeyStore } from "../../../fields/KeyStore";
+import Measure from "react-measure";
+import { FieldId, Opt, Field } from "../../../fields/Field";
import { Utils } from "../../../Utils";
import { Server } from "../../Server";
import { undoBatch } from "../../util/UndoManager";
@@ -269,6 +269,7 @@ export class DockedFrameRenderer extends React.Component<DockedFrameProps> {
ScreenToLocalTransform={this.ScreenToLocalTransform}
isTopMost={true}
SelectOnLoad={false}
+ focus={(doc: Document) => { }}
ContainingCollectionView={undefined} />
</div>
diff --git a/src/client/views/collections/CollectionFreeFormView.tsx b/src/client/views/collections/CollectionFreeFormView.tsx
index 5e9dcd5d5..f71f2791c 100644
--- a/src/client/views/collections/CollectionFreeFormView.tsx
+++ b/src/client/views/collections/CollectionFreeFormView.tsx
@@ -163,7 +163,7 @@ export class CollectionFreeFormView extends CollectionViewBase {
@action
onKeyDown = (e: React.KeyboardEvent<Element>) => {
//if not these keys, make a textbox if preview cursor is active!
- if (!e.ctrlKey && !e.altKey && !e.shiftKey) {
+ if (!e.ctrlKey && !e.altKey) {
if (this._previewCursorVisible) {
//make textbox and add it to this collection
let [x, y] = this.getTransform().transformPoint(this._downX, this._downY); (this._downX, this._downY);
@@ -208,12 +208,21 @@ export class CollectionFreeFormView extends CollectionViewBase {
return field.Data;
}
}
+
+ focusDocument = (doc: Document) => {
+ let x = doc.GetNumber(KeyStore.X, 0) + doc.GetNumber(KeyStore.Width, 0) / 2;
+ let y = doc.GetNumber(KeyStore.Y, 0) + doc.GetNumber(KeyStore.Height, 0) / 2;
+ this.SetPan(x, y);
+ this.props.focus(this.props.Document);
+ }
+
+
@computed
get views() {
const lvalue = this.props.Document.GetT<ListField<Document>>(this.props.fieldKey, ListField);
if (lvalue && lvalue != FieldWaiting) {
return lvalue.Data.map(doc => {
- return (<CollectionFreeFormDocumentView key={doc.Id} Document={doc} ref={focus}
+ return (<CollectionFreeFormDocumentView key={doc.Id} Document={doc}
AddDocument={this.props.addDocument}
RemoveDocument={this.props.removeDocument}
ScreenToLocalTransform={this.getTransform}
@@ -222,7 +231,9 @@ export class CollectionFreeFormView extends CollectionViewBase {
ContentScaling={this.noScaling}
PanelWidth={doc.Width}
PanelHeight={doc.Height}
- ContainingCollectionView={this.props.CollectionView} />);
+ ContainingCollectionView={this.props.CollectionView}
+ focus={this.focusDocument}
+ />);
})
}
return null;
@@ -257,7 +268,7 @@ export class CollectionFreeFormView extends CollectionViewBase {
//when focus is lost, this will remove the preview cursor
@action
- onBlur = (e: React.FocusEvent<HTMLInputElement>): void => {
+ onBlur = (e: React.FocusEvent<HTMLDivElement>): void => {
this._previewCursorVisible = false;
}
@@ -275,9 +286,6 @@ export class CollectionFreeFormView extends CollectionViewBase {
const panx: number = -this.props.Document.GetNumber(KeyStore.PanX, 0);
const pany: number = -this.props.Document.GetNumber(KeyStore.PanY, 0);
- // const panx: number = this.props.Document.GetNumber(KeyStore.PanX, 0) + this.centeringShiftX;
- // const pany: number = this.props.Document.GetNumber(KeyStore.PanY, 0) + this.centeringShiftY;
- console.log("center:", this.getLocalTransform().transformPoint(this.centeringShiftX, this.centeringShiftY));
return (
<div className="collectionfreeformview-container"
diff --git a/src/client/views/collections/CollectionSchemaView.tsx b/src/client/views/collections/CollectionSchemaView.tsx
index 5bcd501cc..49f95c014 100644
--- a/src/client/views/collections/CollectionSchemaView.tsx
+++ b/src/client/views/collections/CollectionSchemaView.tsx
@@ -1,14 +1,15 @@
import React = require("react")
-import { action, observable, trace } from "mobx";
+import { action, observable } from "mobx";
import { observer } from "mobx-react";
import Measure from "react-measure";
import ReactTable, { CellInfo, ComponentPropsGetterR, ReactTableDefaults } from "react-table";
import "react-table/react-table.css";
import { Document } from "../../../fields/Document";
-import { Field, FieldWaiting } from "../../../fields/Field";
+import { Field } from "../../../fields/Field";
import { KeyStore } from "../../../fields/KeyStore";
import { CompileScript, ToField } from "../../util/Scripting";
import { Transform } from "../../util/Transform";
+import { ContextMenu } from "../ContextMenu";
import { EditableView } from "../EditableView";
import { DocumentView } from "../nodes/DocumentView";
import { FieldView, FieldViewProps } from "../nodes/FieldView";
@@ -58,7 +59,7 @@ export class CollectionSchemaView extends CollectionViewBase {
return field || "";
}}
SetValue={(value: string) => {
- let script = CompileScript(value);
+ let script = CompileScript(value, undefined, true);
if (!script.compiled) {
return false;
}
@@ -175,6 +176,8 @@ export class CollectionSchemaView extends CollectionViewBase {
return this.props.ScreenToLocalTransform().translate(- COLLECTION_BORDER_WIDTH - this.DIVIDER_WIDTH - this._dividerX, - COLLECTION_BORDER_WIDTH).scale(1 / this._contentScaling);
}
+ focusDocument = (doc: Document) => { }
+
render() {
const columns = this.props.Document.GetList(KeyStore.ColumnsKey, [KeyStore.Title, KeyStore.Data, KeyStore.Author])
const children = this.props.Document.GetList<Document>(this.props.fieldKey, []);
@@ -191,7 +194,9 @@ export class CollectionSchemaView extends CollectionViewBase {
ContentScaling={this.getContentScaling}
PanelWidth={this.getPanelWidth}
PanelHeight={this.getPanelHeight}
- ContainingCollectionView={this.props.CollectionView} />
+ ContainingCollectionView={this.props.CollectionView}
+ focus={this.focusDocument}
+ />
</div>
}
</Measure>
diff --git a/src/client/views/collections/CollectionTreeView.scss b/src/client/views/collections/CollectionTreeView.scss
index c488e2894..f8d580a7b 100644
--- a/src/client/views/collections/CollectionTreeView.scss
+++ b/src/client/views/collections/CollectionTreeView.scss
@@ -1,3 +1,8 @@
+#body {
+ padding: 20px;
+ background: #bbbbbb;
+}
+
ul {
list-style: none;
}
@@ -10,25 +15,23 @@ li {
padding-left: 0;
}
-/* ALL THESE SPACINGS ARE SUPER HACKY RIGHT NOW HANNAH PLS HELP */
-
-li:before {
- content: '\2014';
- margin-right: 0.7em;
+.bullet {
+ width: 1.5em;
+ display: inline-block;
}
-.collapsed:before {
- content: '\25b6';
- margin-right: 0.65em;
+.collectionTreeView-dropTarget {
+ border-style: solid;
+ box-sizing: border-box;
+ height: 100%;
}
-.uncollapsed:before {
- content: '\25bc';
- margin-right: 0.5em;
+.docContainer {
+ display: inline-table;
}
-.collectionTreeView-dropTarget {
- border-style: solid;
- box-sizing: border-box;
- height:100%;
+.delete-button {
+ color: #999999;
+ float: right;
+ margin-left: 1em;
} \ No newline at end of file
diff --git a/src/client/views/collections/CollectionTreeView.tsx b/src/client/views/collections/CollectionTreeView.tsx
index c0d6bd4f7..efc22cdc5 100644
--- a/src/client/views/collections/CollectionTreeView.tsx
+++ b/src/client/views/collections/CollectionTreeView.tsx
@@ -7,12 +7,20 @@ import React = require("react")
import { TextField } from "../../../fields/TextField";
import { observable, action } from "mobx";
import "./CollectionTreeView.scss";
+import { EditableView } from "../EditableView";
import { setupDrag } from "../../util/DragManager";
import { FieldWaiting } from "../../../fields/Field";
import { COLLECTION_BORDER_WIDTH } from "./CollectionView";
export interface TreeViewProps {
document: Document;
+ deleteDoc: (doc: Document) => void;
+}
+
+export enum BulletType {
+ Collapsed,
+ Collapsible,
+ List
}
@observer
@@ -25,41 +33,101 @@ class TreeView extends React.Component<TreeViewProps> {
@observable
collapsed: boolean = false;
+ delete = () => {
+ this.props.deleteDoc(this.props.document);
+ }
+
+
+ @action
+ remove = (document: Document) => {
+ var children = this.props.document.GetT<ListField<Document>>(KeyStore.Data, ListField);
+ if (children && children !== FieldWaiting) {
+ children.Data.splice(children.Data.indexOf(document), 1);
+ }
+ }
+
+ renderBullet(type: BulletType) {
+ let onClicked = action(() => this.collapsed = !this.collapsed);
+
+ switch (type) {
+ case BulletType.Collapsed:
+ return <div className="bullet" onClick={onClicked}>&#9654;</div>
+ case BulletType.Collapsible:
+ return <div className="bullet" onClick={onClicked}>&#9660;</div>
+ case BulletType.List:
+ return <div className="bullet">&mdash;</div>
+ }
+ }
+
/**
- * Renders a single child document. If this child is a collection, it will call renderTreeView again. Otherwise, it will just append a list element.
- * @param childDocument The document to render.
+ * Renders the EditableView title element for placement into the tree.
*/
- renderChild(childDocument: Document) {
+ renderTitle() {
+ let title = this.props.document.GetT<TextField>(KeyStore.Title, TextField);
+
+ // if the title hasn't loaded, immediately return the div
+ if (!title || title === "<Waiting>") {
+ return <div key={this.props.document.Id}></div>;
+ }
+
+ return <div className="docContainer"> <EditableView contents={title.Data}
+ height={36} GetValue={() => {
+ let title = this.props.document.GetT<TextField>(KeyStore.Title, TextField);
+ if (title && title !== "<Waiting>")
+ return title.Data;
+ return "";
+ }} SetValue={(value: string) => {
+ this.props.document.SetData(KeyStore.Title, value, TextField);
+ return true;
+ }} />
+ <div className="delete-button" onClick={this.delete}>x</div>
+ </div >
+ }
+
+ render() {
+ var children = this.props.document.GetT<ListField<Document>>(KeyStore.Data, ListField);
+
let reference = React.createRef<HTMLDivElement>();
+ let onItemDown = setupDrag(reference, () => this.props.document);
+ let titleElement = this.renderTitle();
- var children = childDocument.GetT<ListField<Document>>(KeyStore.Data, ListField);
- let title = childDocument.GetT<TextField>(KeyStore.Title, TextField);
- let onItemDown = setupDrag(reference, () => childDocument);
+ // check if this document is a collection
+ if (children && children !== FieldWaiting) {
+ let subView;
- if (title && title != FieldWaiting) {
- let subView = !children || this.collapsed || children === FieldWaiting ? (null) :
- <ul>
- <TreeView document={childDocument} />
- </ul>;
- return <div className="treeViewItem-container" onPointerDown={onItemDown} ref={reference}>
- <li className={!children ? "leaf" : this.collapsed ? "collapsed" : "uncollapsed"}
- onClick={action(() => this.collapsed = !this.collapsed)} >
- {title.Data}
- {subView}
+ // if uncollapsed, then add the children elements
+ if (!this.collapsed) {
+ // render all children elements
+ let childrenElement = (children.Data.map(value =>
+ <TreeView document={value} deleteDoc={this.remove} />)
+ )
+ subView =
+ <li key={this.props.document.Id} >
+ {this.renderBullet(BulletType.Collapsible)}
+ {titleElement}
+ <ul key={this.props.document.Id}>
+ {childrenElement}
+ </ul>
+ </li>
+ } else {
+ subView = <li key={this.props.document.Id}>
+ {this.renderBullet(BulletType.Collapsed)}
+ {titleElement}
</li>
+ }
+
+ return <div className="treeViewItem-container" onPointerDown={onItemDown} ref={reference}>
+ {subView}
</div>
}
- return (null);
- }
- render() {
- var children = this.props.document.GetT<ListField<Document>>(KeyStore.Data, ListField);
- return !children || children === FieldWaiting ? (null) :
- (children.Data.map(value =>
- <div key={value.Id}>
- {this.renderChild(value)}
- </div>)
- )
+ // otherwise this is a normal leaf node
+ else {
+ return <li key={this.props.document.Id}>
+ {this.renderBullet(BulletType.List)}
+ {titleElement}
+ </li>;
+ }
}
}
@@ -67,21 +135,42 @@ class TreeView extends React.Component<TreeViewProps> {
@observer
export class CollectionTreeView extends CollectionViewBase {
+ @action
+ remove = (document: Document) => {
+ var children = this.props.Document.GetT<ListField<Document>>(KeyStore.Data, ListField);
+ if (children && children !== FieldWaiting) {
+ children.Data.splice(children.Data.indexOf(document), 1);
+ }
+ }
+
render() {
let titleStr = "";
let title = this.props.Document.GetT<TextField>(KeyStore.Title, TextField);
if (title && title !== FieldWaiting) {
titleStr = title.Data;
}
+
+ var children = this.props.Document.GetT<ListField<Document>>(KeyStore.Data, ListField);
+ let childrenElement = !children || children === FieldWaiting ? (null) :
+ (children.Data.map(value =>
+ <TreeView document={value} key={value.Id} deleteDoc={this.remove} />)
+ )
+
return (
- <div className="collectionTreeView-dropTarget" onDrop={(e: React.DragEvent) => this.onDrop(e, {})} ref={this.createDropTarget} style={{ borderWidth: `${COLLECTION_BORDER_WIDTH}px` }} >
- <h3>{titleStr}</h3>
+ <div id="body" className="collectionTreeView-dropTarget" onDrop={(e: React.DragEvent) => this.onDrop(e, {})} ref={this.createDropTarget} style={{ borderWidth: `${COLLECTION_BORDER_WIDTH}px` }}>
+ <h3>
+ <EditableView contents={titleStr}
+ height={72} GetValue={() => {
+ return this.props.Document.Title;
+ }} SetValue={(value: string) => {
+ this.props.Document.SetData(KeyStore.Title, value, TextField);
+ return true;
+ }} />
+ </h3>
<ul className="no-indent">
- <TreeView
- document={this.props.Document}
- />
+ {childrenElement}
</ul>
- </div>
+ </div >
);
}
} \ No newline at end of file
diff --git a/src/client/views/collections/CollectionView.tsx b/src/client/views/collections/CollectionView.tsx
index f938d2237..1dbc3c3e3 100644
--- a/src/client/views/collections/CollectionView.tsx
+++ b/src/client/views/collections/CollectionView.tsx
@@ -1,4 +1,4 @@
-import { action, computed, observable } from "mobx";
+import { action } from "mobx";
import { observer } from "mobx-react";
import { Document } from "../../../fields/Document";
import { ListField } from "../../../fields/ListField";
@@ -30,7 +30,7 @@ export class CollectionView extends React.Component<CollectionViewProps> {
public static LayoutString(fieldKey: string = "DataKey") {
return `<CollectionView Document={Document}
ScreenToLocalTransform={ScreenToLocalTransform} fieldKey={${fieldKey}} panelWidth={PanelWidth} panelHeight={PanelHeight} isSelected={isSelected} select={select} bindings={bindings}
- isTopMost={isTopMost} SelectOnLoad={selectOnLoad} BackgroundView={BackgroundView} />`;
+ isTopMost={isTopMost} SelectOnLoad={selectOnLoad} BackgroundView={BackgroundView} focus={focus}/>`;
}
public active = () => {
var isSelected = this.props.isSelected();
@@ -89,29 +89,43 @@ export class CollectionView extends React.Component<CollectionViewProps> {
Document.SetData(KeyStore.ViewType, type, NumberField);
}
+ specificContextMenu = (e: React.MouseEvent): void => {
+ ContextMenu.Instance.addItem({ description: "Freeform", event: () => this.props.Document.SetNumber(KeyStore.ViewType, CollectionViewType.Freeform) })
+ ContextMenu.Instance.addItem({ description: "Schema", event: () => this.props.Document.SetNumber(KeyStore.ViewType, CollectionViewType.Schema) })
+ ContextMenu.Instance.addItem({ description: "Treeview", event: () => this.props.Document.SetNumber(KeyStore.ViewType, CollectionViewType.Tree) })
+ ContextMenu.Instance.addItem({ description: "Docking", event: () => this.props.Document.SetNumber(KeyStore.ViewType, CollectionViewType.Docking) })
+ }
render() {
let viewType = this.collectionViewType;
-
+ let subView: JSX.Element;
switch (viewType) {
case CollectionViewType.Freeform:
- return (<CollectionFreeFormView {...this.props}
+ subView = (<CollectionFreeFormView {...this.props}
addDocument={this.addDocument} removeDocument={this.removeDocument} active={this.active}
- CollectionView={this} />);
+ CollectionView={this} />)
+ break;
case CollectionViewType.Schema:
- return (<CollectionSchemaView {...this.props}
+ subView = (<CollectionSchemaView {...this.props}
addDocument={this.addDocument} removeDocument={this.removeDocument} active={this.active}
CollectionView={this} />)
+ break;
case CollectionViewType.Docking:
- return (<CollectionDockingView {...this.props}
+ subView = (<CollectionDockingView {...this.props}
addDocument={this.addDocument} removeDocument={this.removeDocument} active={this.active}
CollectionView={this} />)
+ break;
case CollectionViewType.Tree:
- return (<CollectionTreeView {...this.props}
+ subView = (<CollectionTreeView {...this.props}
addDocument={this.addDocument} removeDocument={this.removeDocument} active={this.active}
CollectionView={this} />)
+ break;
default:
- return <div></div>
+ subView = <div></div>
+ break;
}
+ return (<div onContextMenu={this.specificContextMenu}>
+ {subView}
+ </div>)
}
} \ No newline at end of file
diff --git a/src/client/views/collections/CollectionViewBase.tsx b/src/client/views/collections/CollectionViewBase.tsx
index 7067724c8..0a3b965f2 100644
--- a/src/client/views/collections/CollectionViewBase.tsx
+++ b/src/client/views/collections/CollectionViewBase.tsx
@@ -1,16 +1,16 @@
-import { action, computed } from "mobx";
+import { action } from "mobx";
import { Document } from "../../../fields/Document";
import { ListField } from "../../../fields/ListField";
import React = require("react");
import { KeyStore } from "../../../fields/KeyStore";
-import { Opt, FieldWaiting } from "../../../fields/Field";
+import { FieldWaiting } from "../../../fields/Field";
import { undoBatch } from "../../util/UndoManager";
import { DragManager } from "../../util/DragManager";
import { DocumentView } from "../nodes/DocumentView";
import { Documents, DocumentOptions } from "../../documents/Documents";
import { Key } from "../../../fields/Key";
import { Transform } from "../../util/Transform";
-
+import { CollectionView } from "./CollectionView";
export interface CollectionViewProps {
fieldKey: Key;
@@ -22,12 +22,13 @@ export interface CollectionViewProps {
bindings: any;
panelWidth: () => number;
panelHeight: () => number;
+ focus: (doc: Document) => void;
}
export interface SubCollectionViewProps extends CollectionViewProps {
active: () => boolean;
addDocument: (doc: Document) => void;
removeDocument: (doc: Document) => boolean;
- CollectionView: any;
+ CollectionView: CollectionView;
}
export class CollectionViewBase extends React.Component<SubCollectionViewProps> {
diff --git a/src/client/views/nodes/CollectionFreeFormDocumentView.tsx b/src/client/views/nodes/CollectionFreeFormDocumentView.tsx
index 9edad1f64..50dc5a619 100644
--- a/src/client/views/nodes/CollectionFreeFormDocumentView.tsx
+++ b/src/client/views/nodes/CollectionFreeFormDocumentView.tsx
@@ -69,7 +69,6 @@ export class CollectionFreeFormDocumentView extends React.Component<DocumentView
}
render() {
- console.log(this.transform);
return (
<div className="collectionFreeFormDocumentView-container" ref={this._mainCont} style={{
transformOrigin: "left top",
diff --git a/src/client/views/nodes/DocumentView.tsx b/src/client/views/nodes/DocumentView.tsx
index e2b3f9833..b23fdf72f 100644
--- a/src/client/views/nodes/DocumentView.tsx
+++ b/src/client/views/nodes/DocumentView.tsx
@@ -21,22 +21,20 @@ import { WebBox } from "../nodes/WebBox";
import "./DocumentView.scss";
import React = require("react");
import { PresentationView } from "../PresentationView";
-import { CollectionViewProps } from "../collections/CollectionViewBase";
-const JsxParser = require('react-jsx-parser').default;//TODO Why does this need to be imported like this?
+const JsxParser = require('react-jsx-parser').default; //TODO Why does this need to be imported like this?
export interface DocumentViewProps {
ContainingCollectionView: Opt<CollectionView>;
-
Document: Document;
AddDocument?: (doc: Document) => void;
RemoveDocument?: (doc: Document) => boolean;
ScreenToLocalTransform: () => Transform;
isTopMost: boolean;
- //tfs: This shouldn't be necessary I don't think
ContentScaling: () => number;
PanelWidth: () => number;
PanelHeight: () => number;
+ focus: (doc: Document) => void;
SelectOnLoad: boolean;
}
export interface JsxArgs extends DocumentViewProps {
@@ -83,20 +81,16 @@ export function FakeJsxArgs(keys: string[], fields: string[] = []): JsxArgs {
@observer
export class DocumentView extends React.Component<DocumentViewProps> {
-
private _mainCont = React.createRef<HTMLDivElement>();
private _documentBindings: any = null;
private _downX: number = 0;
private _downY: number = 0;
-
@computed get active(): boolean { return SelectionManager.IsSelected(this) || !this.props.ContainingCollectionView || this.props.ContainingCollectionView.active(); }
@computed get topMost(): boolean { return !this.props.ContainingCollectionView || this.props.ContainingCollectionView.collectionViewType == CollectionViewType.Docking; }
@computed get layout(): string { return this.props.Document.GetText(KeyStore.Layout, "<p>Error loading layout data</p>"); }
@computed get layoutKeys(): Key[] { return this.props.Document.GetData(KeyStore.LayoutKeys, ListField, new Array<Key>()); }
@computed get layoutFields(): Key[] { return this.props.Document.GetData(KeyStore.LayoutFields, ListField, new Array<Key>()); }
-
screenRect = (): ClientRect | DOMRect => this._mainCont.current ? this._mainCont.current.getBoundingClientRect() : new DOMRect();
-
onPointerDown = (e: React.PointerEvent): void => {
this._downX = e.clientX;
this._downY = e.clientY;
@@ -116,7 +110,6 @@ export class DocumentView extends React.Component<DocumentViewProps> {
}
}
}
-
onPointerMove = (e: PointerEvent): void => {
if (e.cancelBubble) {
return;
@@ -141,7 +134,6 @@ export class DocumentView extends React.Component<DocumentViewProps> {
e.stopPropagation();
e.preventDefault();
}
-
onPointerUp = (e: PointerEvent): void => {
document.removeEventListener("pointermove", this.onPointerMove)
document.removeEventListener("pointerup", this.onPointerUp)
@@ -188,19 +180,8 @@ export class DocumentView extends React.Component<DocumentViewProps> {
ContextMenu.Instance.addItem({ description: "Full Screen", event: this.fullScreenClicked })
ContextMenu.Instance.addItem({ description: "Fields", event: this.fieldsClicked })
+ ContextMenu.Instance.addItem({ description: "Center", event: () => this.props.focus(this.props.Document) })
ContextMenu.Instance.addItem({ description: "Open Right", event: () => CollectionDockingView.Instance.AddRightSplit(this.props.Document) })
- ContextMenu.Instance.addItem({ description: "Freeform", event: () => this.props.Document.SetNumber(KeyStore.ViewType, CollectionViewType.Freeform) })
- ContextMenu.Instance.addItem({ description: "Schema", event: () => this.props.Document.SetNumber(KeyStore.ViewType, CollectionViewType.Schema) })
- ContextMenu.Instance.addItem({ description: "Treeview", event: () => this.props.Document.SetNumber(KeyStore.ViewType, CollectionViewType.Tree) })
- ContextMenu.Instance.addItem({
- description: "center", event: () => {
- if (this.props.ContainingCollectionView) {
- let doc = this.props.ContainingCollectionView.props.Document;
- doc.SetNumber(KeyStore.PanX, this.props.Document.GetNumber(KeyStore.X, 0) + (this.props.Document.GetNumber(KeyStore.Width, 0) / 2))
- doc.SetNumber(KeyStore.PanY, this.props.Document.GetNumber(KeyStore.Y, 0) + (this.props.Document.GetNumber(KeyStore.Height, 0) / 2))
- }
- }
- })
//ContextMenu.Instance.addItem({ description: "Docking", event: () => this.props.Document.SetNumber(KeyStore.ViewType, CollectionViewType.Docking) })
ContextMenu.Instance.displayMenu(e.pageX - 15, e.pageY - 15)
if (!this.topMost) {
@@ -213,7 +194,6 @@ export class DocumentView extends React.Component<DocumentViewProps> {
ContextMenu.Instance.displayMenu(e.pageX - 15, e.pageY - 15)
SelectionManager.SelectDoc(this, e.ctrlKey);
}
-
@computed get mainContent() {
return <JsxParser
components={{ FormattedTextBox, ImageBox, CollectionFreeFormView, CollectionDockingView, CollectionSchemaView, CollectionView, WebBox, KeyValueBox }}
@@ -224,27 +204,34 @@ export class DocumentView extends React.Component<DocumentViewProps> {
/>
}
+ isSelected = () => {
+ return SelectionManager.IsSelected(this);
+ }
+
+ select = (ctrlPressed: boolean) => {
+ SelectionManager.SelectDoc(this, ctrlPressed)
+ }
+
render() {
- if (!this.props.Document)
- return <div></div>
+ if (!this.props.Document) return <div></div>
let lkeys = this.props.Document.GetT(KeyStore.LayoutKeys, ListField);
if (!lkeys || lkeys === "<Waiting>") {
return <p>Error loading layout keys</p>;
}
this._documentBindings = {
...this.props,
- isSelected: () => SelectionManager.IsSelected(this),
- select: (ctrlPressed: boolean) => SelectionManager.SelectDoc(this, ctrlPressed)
+ isSelected: this.isSelected,
+ select: this.select,
+ focus: this.props.focus
};
for (const key of this.layoutKeys) {
- this._documentBindings[key.Name + "Key"] = key; // this maps string values of the form <keyname>Key to an actual key Kestore.keyname e.g, "DataKey" => KeyStore.Data
+ this._documentBindings[key.Name + "Key"] = key; // this maps string values of the form <keyname>Key to an actual key Kestore.keyname e.g, "DataKey" => KeyStore.Data
}
for (const key of this.layoutFields) {
let field = this.props.Document.Get(key);
this._documentBindings[key.Name] = field && field != FieldWaiting ? field.GetValue() : field;
}
this._documentBindings.bindings = this._documentBindings;
-
var scaling = this.props.ContentScaling();
var nativeWidth = this.props.Document.GetNumber(KeyStore.NativeWidth, 0);
var nativeHeight = this.props.Document.GetNumber(KeyStore.NativeHeight, 0);
@@ -254,13 +241,12 @@ export class DocumentView extends React.Component<DocumentViewProps> {
width: nativeWidth > 0 ? nativeWidth.toString() + "px" : "100%",
height: nativeHeight > 0 ? nativeHeight.toString() + "px" : "100%",
transformOrigin: "left top",
- transform: `scale(${scaling},${scaling})`
+ transform: `scale(${scaling} , ${scaling})`
}}
onContextMenu={this.onContextMenu}
- onPointerDown={this.onPointerDown}
- >
+ onPointerDown={this.onPointerDown} >
{this.mainContent}
</div>
)
}
-}
+} \ No newline at end of file
diff --git a/src/client/views/nodes/FieldView.tsx b/src/client/views/nodes/FieldView.tsx
index f372258f8..9e63006d1 100644
--- a/src/client/views/nodes/FieldView.tsx
+++ b/src/client/views/nodes/FieldView.tsx
@@ -1,7 +1,7 @@
import React = require("react")
import { observer } from "mobx-react";
import { computed } from "mobx";
-import { Field, Opt, FieldWaiting, FieldValue } from "../../../fields/Field";
+import { Field, FieldWaiting, FieldValue } from "../../../fields/Field";
import { Document } from "../../../fields/Document";
import { TextField } from "../../../fields/TextField";
import { NumberField } from "../../../fields/NumberField";
diff --git a/src/client/views/nodes/FormattedTextBox.tsx b/src/client/views/nodes/FormattedTextBox.tsx
index e65615af4..04eb2052d 100644
--- a/src/client/views/nodes/FormattedTextBox.tsx
+++ b/src/client/views/nodes/FormattedTextBox.tsx
@@ -10,6 +10,7 @@ import "./FormattedTextBox.scss";
import React = require("react")
import { RichTextField } from "../../../fields/RichTextField";
import { FieldViewProps, FieldView } from "./FieldView";
+import { ContextMenu } from "../../views/ContextMenu";
@@ -112,12 +113,36 @@ export class FormattedTextBox extends React.Component<FieldViewProps> {
e.stopPropagation();
}
}
+
+ //REPLACE THIS WITH CAPABILITIES SPECIFIC TO THIS TYPE OF NODE
+ textCapability = (e: React.MouseEvent): void => {
+ }
+
+ specificContextMenu = (e: React.MouseEvent): void => {
+ ContextMenu.Instance.addItem({ description: "Text Capability", event: this.textCapability });
+ // ContextMenu.Instance.addItem({
+ // description: "Submenu",
+ // items: [
+ // {
+ // description: "item 1", event:
+ // },
+ // {
+ // description: "item 2", event:
+ // }
+ // ]
+ // })
+ // e.stopPropagation()
+
+ }
+
onPointerWheel = (e: React.WheelEvent): void => {
e.stopPropagation();
}
+
render() {
return (<div className="formattedTextBox-cont"
onPointerDown={this.onPointerDown}
+ onContextMenu={this.specificContextMenu}
onWheel={this.onPointerWheel}
ref={this._ref} />)
}
diff --git a/src/client/views/nodes/ImageBox.tsx b/src/client/views/nodes/ImageBox.tsx
index e206bf8d5..8c44395f4 100644
--- a/src/client/views/nodes/ImageBox.tsx
+++ b/src/client/views/nodes/ImageBox.tsx
@@ -7,6 +7,7 @@ import { ImageField } from '../../../fields/ImageField';
import { FieldViewProps, FieldView } from './FieldView';
import { FieldWaiting } from '../../../fields/Field';
import { observer } from "mobx-react"
+import { ContextMenu } from "../../views/ContextMenu";
import { observable, action } from 'mobx';
import { KeyStore } from '../../../fields/KeyStore';
@@ -88,13 +89,21 @@ export class ImageBox extends React.Component<FieldViewProps> {
}
}
+ //REPLACE THIS WITH CAPABILITIES SPECIFIC TO THIS TYPE OF NODE
+ imageCapability = (e: React.MouseEvent): void => {
+ }
+
+ specificContextMenu = (e: React.MouseEvent): void => {
+ ContextMenu.Instance.addItem({ description: "Image Capability", event: this.imageCapability });
+ }
+
render() {
let field = this.props.doc.Get(this.props.fieldKey);
let path = field == FieldWaiting ? "https://image.flaticon.com/icons/svg/66/66163.svg" :
field instanceof ImageField ? field.Data.href : "http://www.cs.brown.edu/~bcz/face.gif";
let nativeWidth = this.props.doc.GetNumber(KeyStore.NativeWidth, 1);
return (
- <div className="imageBox-cont" onPointerDown={this.onPointerDown} ref={this._ref} >
+ <div className="imageBox-cont" onPointerDown={this.onPointerDown} ref={this._ref} onContextMenu={this.specificContextMenu}>
<img src={path} width={nativeWidth} alt="Image not found" ref={this._imgRef} onLoad={this.onLoad} />
{this.lightbox(path)}
</div>)
diff --git a/src/server/index.ts b/src/server/index.ts
index eb0527ee7..56881e254 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -125,7 +125,6 @@ function deleteAll() {
function barReceived(guid: String) {
clients[guid.toString()] = new Client(guid.toString());
- // Database.Instance.print()
}
function addDocument(document: Document) {