"name": "strapp",
"version": "0.0.1",
"lockfileVersion": 1,
+ "requires": true,
"dependencies": {
"@types/node": {
"version": "https://registry.npmjs.org/@types/node/-/node-7.0.32.tgz",
"integrity": "sha1-av5sZlIKTDFmI6FK7xI5CNAbS7o="
},
+ "acorn": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz",
+ "integrity": "sha1-yM4n3grMdtiW0rH6099YjZ6C8BQ="
+ },
"ajv": {
"version": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
- "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY="
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "requires": {
+ "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"
+ }
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
"ansi-regex": {
"version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "requires": {
+ "arr-flatten": "1.1.0"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+ },
"array-find-index": {
"version": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
},
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
+ },
"asn1": {
"version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
"version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ="
},
+ "ast-types": {
+ "version": "0.8.15",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.15.tgz",
+ "integrity": "sha1-ju8IJ/BN/w7IhXupJavj/qYZTlI="
+ },
"asynckit": {
"version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
"version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
+ "base62": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/base62/-/base62-0.1.1.tgz",
+ "integrity": "sha1-e0F0wvlESXU7EcJlHAg9qEGnsIQ="
+ },
"bcrypt-pbkdf": {
"version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
- "optional": true
+ "optional": true,
+ "requires": {
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
+ }
},
"boom": {
"version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
- "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8="
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "requires": {
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+ }
},
"brace-expansion": {
"version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
- "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI="
+ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "requires": {
+ "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ }
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
+ },
+ "browser-resolve": {
+ "version": "1.11.2",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+ "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
+ "dev": true,
+ "requires": {
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ }
+ }
},
"builtin-modules": {
"version": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
},
"camelcase-keys": {
"version": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
- "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc="
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "requires": {
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz"
+ }
},
"caseless": {
"version": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
},
"combined-stream": {
"version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
- "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk="
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "requires": {
+ "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
+ }
},
"concat-map": {
"version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"concat-stream": {
"version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
"integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
+ "requires": {
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.2.tgz",
+ "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
+ },
"dependencies": {
"isarray": {
"version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
},
"readable-stream": {
"version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.2.tgz",
- "integrity": "sha1-WgTfBeT1f+Pw3Gj90R3FyXx+b00="
+ "integrity": "sha1-WgTfBeT1f+Pw3Gj90R3FyXx+b00=",
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
},
"string_decoder": {
"version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs="
+ "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
+ }
}
}
},
},
"cryptiles": {
"version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
- "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g="
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "requires": {
+ "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
+ }
},
"currently-unhandled": {
"version": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o="
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "requires": {
+ "array-find-index": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz"
+ }
},
"dashdash": {
"version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+ },
"dependencies": {
"assert-plus": {
"version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
},
"debug": {
"version": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
- "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw="
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
+ }
},
"decamelize": {
"version": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"ecc-jsbn": {
"version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
- "optional": true
+ "optional": true,
+ "requires": {
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
+ }
},
"electron": {
"version": "https://registry.npmjs.org/electron/-/electron-1.6.11.tgz",
- "integrity": "sha1-vnnA69zv7bW/KBF0CYAPpTus7/o="
+ "integrity": "sha1-vnnA69zv7bW/KBF0CYAPpTus7/o=",
+ "requires": {
+ "@types/node": "https://registry.npmjs.org/@types/node/-/node-7.0.32.tgz",
+ "electron-download": "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz",
+ "extract-zip": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.5.tgz"
+ }
},
"electron-download": {
"version": "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz",
- "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg="
+ "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=",
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "fs-extra": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
+ "home-path": "https://registry.npmjs.org/home-path/-/home-path-1.0.5.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "nugget": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz",
+ "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "rc": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "sumchecker": "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz"
+ }
},
"error-ex": {
"version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
- "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw="
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "requires": {
+ "is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
+ }
+ },
+ "es3ify": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/es3ify/-/es3ify-0.1.4.tgz",
+ "integrity": "sha1-rZ+l3xrjTz8x4SEbWBiy1RB439E=",
+ "requires": {
+ "esprima-fb": "3001.1.0-dev-harmony-fb",
+ "jstransform": "3.0.0",
+ "through": "2.3.8"
+ }
},
"es6-promise": {
"version": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.0.tgz",
"integrity": "sha1-3aA8qPn4m8WX5omEKSnee6jOvfA="
},
+ "esmangle-evaluator": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/esmangle-evaluator/-/esmangle-evaluator-1.0.1.tgz",
+ "integrity": "sha1-Yg2GbvSGGzMR91dm1SqFcrs8YzY="
+ },
+ "esprima-fb": {
+ "version": "3001.1.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz",
+ "integrity": "sha1-t303q8046gt3Qmu4vCkizmtCZBE="
+ },
+ "estree-walker": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz",
+ "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao="
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "requires": {
+ "fill-range": "2.2.3"
+ }
+ },
"extend": {
"version": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
},
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
"extract-zip": {
"version": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.5.tgz",
"integrity": "sha1-maBnNbbqIOqbcF13ms/8yHz/BEA=",
+ "requires": {
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
+ "yauzl": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz"
+ },
"dependencies": {
"debug": {
"version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo="
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "requires": {
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ }
},
"ms": {
"version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
"integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA="
},
+ "falafel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/falafel/-/falafel-1.2.0.tgz",
+ "integrity": "sha1-wY0k71CRF0pJfzGM0ksCaiXN2rQ=",
+ "requires": {
+ "acorn": "1.2.2",
+ "foreach": "2.0.5",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "object-keys": "1.0.11"
+ },
+ "dependencies": {
+ "object-keys": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
+ "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0="
+ }
+ }
+ },
"fd-slicer": {
"version": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
- "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU="
+ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+ "requires": {
+ "pend": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY="
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
},
"find-up": {
"version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8="
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "requires": {
+ "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "requires": {
+ "for-in": "1.0.2"
+ }
+ },
+ "foreach": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
},
"forever-agent": {
"version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
},
"form-data": {
"version": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
- "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE="
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "requires": {
+ "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz"
+ }
},
"fs-extra": {
"version": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
- "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A="
+ "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=",
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "jsonfile": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "klaw": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz"
+ }
},
"fs.realpath": {
"version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"getpass": {
"version": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+ },
"dependencies": {
"assert-plus": {
"version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
},
"glob": {
"version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU="
+ "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
+ "requires": {
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "requires": {
+ "is-glob": "2.0.1"
+ }
},
"graceful-fs": {
"version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
},
"har-validator": {
"version": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
- "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio="
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "requires": {
+ "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "har-schema": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz"
+ }
},
"hawk": {
"version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
- "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ="
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "requires": {
+ "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "sntp": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
+ }
},
"hoek": {
"version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
},
"http-signature": {
"version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
- "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8="
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
+ "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz"
+ }
+ },
+ "immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
},
"indent-string": {
"version": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA="
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "requires": {
+ "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
+ }
},
"inflight": {
"version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
},
"inherits": {
"version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"version": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
"integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4="
},
- "ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+ "inline-process-browser": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/inline-process-browser/-/inline-process-browser-1.0.0.tgz",
+ "integrity": "sha1-RqYbFT3TybFiSxoAYm7bT39BTyI=",
+ "requires": {
+ "falafel": "1.2.0",
+ "through2": "0.6.5"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "4.0.1"
+ }
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ }
+ }
},
"is-arrayish": {
"version": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
},
+ "is-buffer": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz",
+ "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw="
+ },
"is-builtin-module": {
"version": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74="
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "requires": {
+ "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"
+ }
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE="
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
},
"is-finite": {
"version": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko="
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "requires": {
+ "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
+ }
},
"is-fullwidth-code-point": {
"version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs="
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
+ }
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q="
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU="
},
"is-typedarray": {
"version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
},
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "requires": {
+ "isarray": "1.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ }
+ }
+ },
"isstream": {
"version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"json-stable-stringify": {
"version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
- "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8="
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "requires": {
+ "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
+ }
},
"json-stringify-safe": {
"version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
},
"jsonfile": {
"version": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug="
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
+ }
},
"jsonify": {
"version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"jsprim": {
"version": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
"integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
+ "requires": {
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+ "json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "verror": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"
+ },
"dependencies": {
"assert-plus": {
"version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
}
}
},
+ "jstransform": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-3.0.0.tgz",
+ "integrity": "sha1-olkats7o2XvzvoMNv6IxO4fNZAs=",
+ "requires": {
+ "base62": "0.1.1",
+ "esprima-fb": "3001.1.0-dev-harmony-fb",
+ "source-map": "0.1.31"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ },
"klaw": {
"version": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk="
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
+ }
+ },
+ "lie": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.0.2.tgz",
+ "integrity": "sha1-/9oh17uibzd8rYZdNkmy/Izjn+o=",
+ "requires": {
+ "es3ify": "0.1.4",
+ "immediate": "3.0.6",
+ "inline-process-browser": "1.0.0",
+ "unreachable-branch-transform": "0.3.0"
+ }
},
"load-json-file": {
"version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA="
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
+ }
+ },
+ "localforage": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.5.0.tgz",
+ "integrity": "sha1-a5lOGbVmEfqF3zmS3zl6xKtm6BU=",
+ "requires": {
+ "lie": "3.0.2"
+ }
},
"loud-rejection": {
"version": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8="
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "requires": {
+ "currently-unhandled": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
+ }
+ },
+ "magic-string": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.19.1.tgz",
+ "integrity": "sha1-FNdoATyvLsj96hakmvgvw3fnUgE=",
+ "requires": {
+ "vlq": "0.2.2"
+ }
},
"map-obj": {
"version": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
},
"meow": {
"version": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs="
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "requires": {
+ "camelcase-keys": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "loud-rejection": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "redent": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "trim-newlines": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz"
+ }
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.3"
+ }
},
"mime": {
"version": "1.3.6",
},
"mime-types": {
"version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
- "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0="
+ "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
+ "requires": {
+ "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz"
+ }
},
"minimatch": {
"version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM="
+ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "requires": {
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz"
+ }
},
"minimist": {
"version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"mkdirp": {
"version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
"integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
+ "requires": {
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+ },
"dependencies": {
"minimist": {
"version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
},
"normalize-package-data": {
"version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz",
- "integrity": "sha1-2Bntoqne29H/pWPqQHHZNngilbs="
+ "integrity": "sha1-2Bntoqne29H/pWPqQHHZNngilbs=",
+ "requires": {
+ "hosted-git-info": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz",
+ "is-builtin-module": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "validate-npm-package-license": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "requires": {
+ "remove-trailing-separator": "1.0.2"
+ }
},
"nugget": {
"version": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz",
- "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA="
+ "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=",
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "pretty-bytes": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
+ "progress-stream": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "single-line-log": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz",
+ "throttleit": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz"
+ }
},
"number-is-nan": {
"version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"version": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
"integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY="
},
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
+ }
+ },
"once": {
"version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ }
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ }
},
"parse-json": {
"version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck="
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "requires": {
+ "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
+ }
},
"path-exists": {
"version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s="
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "requires": {
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
},
"path-is-absolute": {
"version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
+ "path-parse": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME="
+ },
"path-type": {
"version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE="
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "requires": {
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+ }
},
"pend": {
"version": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
},
"pinkie-promise": {
"version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o="
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "requires": {
+ "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
+ }
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
},
"pretty-bytes": {
"version": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
- "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ="
+ "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
+ "requires": {
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
+ }
+ },
+ "private": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
+ "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE="
},
"process-nextick-args": {
"version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
},
"progress-stream": {
"version": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz",
- "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c="
+ "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=",
+ "requires": {
+ "speedometer": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz"
+ }
},
"punycode": {
"version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"version": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
},
+ "randomatic": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
+ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
"rc": {
"version": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz",
- "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU="
+ "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
+ "requires": {
+ "deep-extend": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
+ "ini": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
+ }
},
"read-pkg": {
"version": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg="
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "requires": {
+ "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz",
+ "path-type": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
+ }
},
"read-pkg-up": {
"version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI="
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "requires": {
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
+ }
},
"readable-stream": {
"version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk="
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "recast": {
+ "version": "0.10.43",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.43.tgz",
+ "integrity": "sha1-uV1Q9tYHYaX2JS4V2AZ4FoSRzn8=",
+ "requires": {
+ "ast-types": "0.8.15",
+ "esprima-fb": "15001.1001.0-dev-harmony-fb",
+ "private": "0.1.7",
+ "source-map": "0.5.6"
+ },
+ "dependencies": {
+ "esprima-fb": {
+ "version": "15001.1001.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz",
+ "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk="
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
+ }
+ }
},
"redent": {
"version": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94="
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "requires": {
+ "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "strip-indent": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz"
+ }
+ },
+ "regex-cache": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
+ "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=",
+ "requires": {
+ "is-equal-shallow": "0.1.3",
+ "is-primitive": "2.0.0"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz",
+ "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE="
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
},
"repeating": {
"version": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo="
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "requires": {
+ "is-finite": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz"
+ }
},
"request": {
"version": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
- "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA="
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "requires": {
+ "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
+ "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "performance-now": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "tough-cookie": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+ "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz"
+ }
+ },
+ "resolve": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz",
+ "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==",
+ "requires": {
+ "path-parse": "1.0.5"
+ }
},
"rimraf": {
"version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
- "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0="
+ "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
+ "requires": {
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz"
+ }
+ },
+ "rollup": {
+ "version": "0.47.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.47.4.tgz",
+ "integrity": "sha512-inBVqr6CRcR+DaWQZncoUK6FGCpjf3ZymXLFW7rbwVM3+kJQ2tFY2nUdnkhbBczDY+Z06pFa7Vxwk5mKPc7IvQ==",
+ "dev": true
+ },
+ "rollup-plugin-commonjs": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.1.0.tgz",
+ "integrity": "sha512-mxLU0oCZPakY+o1P9OeVG+yT7bGOFyRQf6pk3xden2+sEG2NP40CrKWw1h/BHZuK7yegRcOJMCfr/uzLmodrGQ==",
+ "requires": {
+ "acorn": "4.0.13",
+ "estree-walker": "0.3.1",
+ "magic-string": "0.19.1",
+ "resolve": "1.4.0",
+ "rollup-pluginutils": "2.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
+ }
+ }
+ },
+ "rollup-plugin-node-resolve": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz",
+ "integrity": "sha1-i4l8TDAw1QASd7BRSyXSygloPuA=",
+ "dev": true,
+ "requires": {
+ "browser-resolve": "1.11.2",
+ "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "is-module": "1.0.0",
+ "resolve": "1.4.0"
+ }
+ },
+ "rollup-pluginutils": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz",
+ "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=",
+ "requires": {
+ "estree-walker": "0.3.1",
+ "micromatch": "2.3.11"
+ }
},
"safe-buffer": {
"version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
},
"single-line-log": {
"version": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz",
- "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q="
+ "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=",
+ "requires": {
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
+ }
},
"sntp": {
"version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
- "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg="
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "requires": {
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+ }
+ },
+ "source-map": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz",
+ "integrity": "sha1-n3BNDWnZ4TioG63267T94z0VHGE=",
+ "requires": {
+ "amdefine": "1.0.1"
+ }
},
"spdx-correct": {
"version": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
- "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A="
+ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "requires": {
+ "spdx-license-ids": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz"
+ }
},
"spdx-expression-parse": {
"version": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
"sshpk": {
"version": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
"integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+ "requires": {
+ "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "bcrypt-pbkdf": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
+ },
"dependencies": {
"assert-plus": {
"version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
},
"string-width": {
"version": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M="
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
+ }
},
"stringstream": {
"version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
},
"strip-ansi": {
"version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
+ }
},
"strip-bom": {
"version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4="
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "requires": {
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+ }
},
"strip-indent": {
"version": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI="
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "requires": {
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
+ }
},
"strip-json-comments": {
"version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
},
"sumchecker": {
"version": "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz",
- "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0="
+ "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=",
+ "requires": {
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "es6-promise": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.0.tgz"
+ }
},
"throttleit": {
"version": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz",
"integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8="
},
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
"through2": {
"version": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
- "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8="
+ "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=",
+ "requires": {
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz"
+ }
},
"tough-cookie": {
"version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
- "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo="
+ "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
+ "requires": {
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
+ }
},
"trim-newlines": {
"version": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
},
"tunnel-agent": {
"version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0="
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
+ }
},
"tweetnacl": {
"version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"version": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz",
"integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ="
},
+ "unreachable-branch-transform": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/unreachable-branch-transform/-/unreachable-branch-transform-0.3.0.tgz",
+ "integrity": "sha1-2ZzExudG0mSSiEW2EdtUsPNHTKo=",
+ "requires": {
+ "esmangle-evaluator": "1.0.1",
+ "recast": "0.10.43",
+ "through2": "0.6.5"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ }
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "4.0.1"
+ }
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ }
+ }
+ },
"util-deprecate": {
"version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"validate-npm-package-license": {
"version": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
- "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w="
+ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+ "requires": {
+ "spdx-correct": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
+ "spdx-expression-parse": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz"
+ }
},
"verror": {
"version": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
- "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw="
+ "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
+ "requires": {
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"
+ }
+ },
+ "vlq": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.2.tgz",
+ "integrity": "sha1-4xbVJXtAuGu0PLjV/qXX9U1rDKE="
},
"wrappy": {
"version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"ws": {
"version": "https://registry.npmjs.org/ws/-/ws-3.0.0.tgz",
"integrity": "sha1-mN2wAFbIOQy3Ued4h4hJf5kQO2w=",
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
+ "ultron": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz"
+ },
"dependencies": {
"safe-buffer": {
"version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
},
"xtend": {
"version": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
- "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os="
+ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
+ "requires": {
+ "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"
+ }
},
"yauzl": {
"version": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
- "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU="
+ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
+ "requires": {
+ "fd-slicer": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz"
+ }
}
}
}
* @copyright August 2017 - Ken Grimes, Jordan Lavatai
* @summmary File system implementation for a strapp node
*/
-import LocalForage from "localforage"
-
-const StrappFile = (() => {
- const localforage = LocalForage.createInstance({
- driver: [LocalForage.LOCALSTORAGE,
- LocalForage.INDEXEDDB,
- LocalForage.WEBSQL],
- name: 'strapp',
- version: 0.1,
- storeName: 'strapp'
+import strapp from './strapp.js'
+import localforage from 'localforage'
+localforage.configure({
+ name: 'strapp',
+ version: 0.1
+})
+/** extend localforage with an assign operation */
+localforage.assignItem = (path, data) => new Promise((resolve, reject) => {
+ localforage.getItem(path, data).then((fdata) => {
+ localforage.setItem(path, Object.assign(fdata, data))
+ .then(resolve).catch(reject)
+ }).catch((err) => {
+ localforage.setItem(path, data)
+ .then(resolve).catch(reject)
})
- const authorize = (pubKey, mode, stat) => {
- let allowed
- if (pubKey === stat.owner)
- allowed = (stat.perms >>> 16) & 0xF
- else {
- let gAccess = false
- let uGroups = StrappFile.get(`acct/${pubKey}/groups`).split(' ')
- for (let i = 0; i < uGroups.length; i++) {
- if (uGroups[i] === stat.group) {
- gAccess = true
- break
+})
+localforage.getOrSetItem = (path, defaults) => new Promise((resolve, reject) => localforage.getItem(path).then(resolve).catch((err) => localforage.setItem(path, defaults).then(resolve).catch(reject)))
+
+
+const strappRuntime = {
+ run: new StrappDirectory({
+ perm: 0xFFF4,
+ files: {
+ keyboard: new StrappDevice(),
+ mouse: new StrappDevice(),
+ touch: new StrappDevice(),
+ client: new StrappDirectory({
+ perm: 0xFF0,
+ files: {
+ create: new StrappFile({
+ GET(){},
+ POST(){} //TODO: create client action
+ })
}
- }
- if (gAccess)
- allowed = (stat.perms >>> 8) & 0xF
- else
- allowed = stat.perms & 0xF
- }
- switch(mode){
- case 'r+':
- case 'rw':
- case 'wr':
- return (allowed & 0x6) === 0x6
- case 'w':
- return (allowed & 0x2) === 0x2
- case 'r':
- return (allowed & 0x4) === 0x4
- case 'x':
- return (allowed & 0x1) === 0x1
- default:
- console.log(`Unknown access mode: ${mode}`)
- return false
+ }),
+ relay: new StrappDirectory({
+ perm: 0x000,
+ files: {
+ create: new StrappFile({
+ GET(){},
+ POST(){} //TODO: create relay
+ })
+ }
+ }),
+ spc: new StrappDirectory({
+ perm: 0xF00,
+ files: {
+ create: new StrappFile({
+ GET(){},
+ POST(){} //TODO: spc creation (probably only internal)
+ })
+ }
+ })
}
+ })
+}
+
+const StrappFileSystem = (() => {
+ /* Internal State */
+ let rootUser
+ const rootDir = new StrappDirectory(StrappFile.literal({
+ type: 'strapp/directory',
+ perm: 0xFF4,
+ path: '.'
+ }))
+
+ /* Internal Functions */
+ const _genKeyPair = () => {
+ //TODO
+ return {
+ pubKey: '',
+ privKey: ''
+ }
+ }
+ const _request = (location, method, data) =>
+ rootDir.request(location.split('/'), method, rootUser.pubKey, data)
+
+ /* API Definition */
+ const StrappFileSystem = {
+ request: (location, method, data) =>
+ new Promise((resolve, reject) => this.loadWaiters.push([
+ location, method, data, resolve, reject
+ ])),
+ get: (location) => StrappFileSystem.request(location, 'GET'),
+ set: (location, data) => StrappFileSystem.request(location, 'PUT', data),
+ resolveRootUser: (path) =>
+ localforage.getItem(path)
+ .then((data) => Promise.resolve,
+ (err) => localforage.setItem(path, _genKeyPair()))
+ .then((data) => Promise.resolve(rootUser = data))
}
+ StrappFileSystem.loadWaiters = []
+ StrappFileSystem.bootTime = new Date()
+
+ /* Init sequence */
+ StrappFileSystem.resolveRootUser('acct/local')
+ .then((data) => Promise.all(
+ [
+ ['.', {
+ acct: StrappDirectory.literal()
+ }],
+ ['acct', {
+ local: StrappFile.literal()
+ }]
+ ].map((entry) => localforage.getOrSetItem(entry[0],entry[1]))
+ ))
+ .then((loadedFiles) => {
+ rootDir.loadFiles(loadedFiles[0])
+ StrappFileSystem.request = _request
+ StrappFileSystem.loadWaiters
+ .map((w) => _request(w[0], w[1], w[2], w[3]).then(w[4], w[5]))
+ })
+
+ return StrappFileSystem
+})()
+
+const StrappFile = (() => {
class StrappFile extends Object {
constructor(...props) {
super()
return Object.assign(this, new.target.defaults, ...props)
}
- static PermissionDenied() {
- return new Promise((resolve, reject) => reject('Permission denied'))
- }
- static get(path) {
- return localforage.getItem(path)
+ static literal(...props) {
+ return Object.assign(Object.create(null, StrappFile.defaults), ...props)
}
- static set(path, data) {
- return localforage.setItem(path, data)
+ static parse(fileLiteral) {
+ switch(fileLiteral.type) {
+ case 'application/JSON':
+ return new StrappJSON(fileLiteral)
+ case 'strapp/directory':
+ return new StrappDirectory(fileLiteral)
+ case 'strapp/file':
+ default:
+ return new StrappFile(fileLiteral)
+ }
}
- static delete(path) {
- return localforage.removeItem(path)
+ resolveRequest(method, pubKey, data, locStack) {
+ if (!locStack)
+ return Promise.reject(400)
+ if (locStack.length > 0)
+ return Promise.reject(404)
+ let reqPerms = 0
+ switch(method) {
+ case 'OPTIONS':
+ return new Promise((resolve, reject) => {
+ this.resolveClientPerms.then((perms) => {
+ let allow = ['OPTIONS']
+ if (perms & 0x9)
+ allow.push('CONNECT')
+ if (perms & 0x2)
+ allow.push('DELETE').push('PUT').push('POST')
+ if (perms & 0x4)
+ allow.push('GET').push('HEAD')
+ resolve(allow.join(', '))
+ }).catch(reject)
+ })
+ default:
+ return Promise.reject(405)
+ case 'PUT':
+ case 'POST':
+ case 'DELETE':
+ reqPerms = 0x2
+ break
+ case 'GET':
+ case 'HEAD':
+ reqPerms = 0x4
+ break
+ case 'CONNECT':
+ reqPerms = 0x9
+ break
+ }
+ return new Promise((resolve, reject) => {
+ this.resolveClientPerms.then((perms) => {
+ if ((reqPerms & perms) === reqPerms)
+ this[method](pubKey, data).then(resolve).catch(reject)
+ else
+ reject(401)
+ }).catch(reject)
+ })
}
- static routeMessage(lmkid) {
- //split lmkid by spaces
- //regex sanitize. if '/', MSG. else if ' ', resolve method
+ resolveClientPerms(pubKey) {
+ return new Promise((resolve, reject) => {
+ if (!pubKey || pubKey === '')
+ resolve(this.perms >>> 12 & 0xF)
+ else if (pubKey === this.owner)
+ resolve((this.perms >>> 8) & 0xF)
+ else
+ localforage.getItem(`acct/${pubKey}`).then((account) => {
+ let grpLen = account.groups ? account.groups.length : 0
+ let found = false
+ for (let i = 0; i < grpLen; i++) {
+ if (account.groups[i] === this.group) {
+ resolve((this.perms >>> 4) & 0xF)
+ found = true
+ break
+ }
+ }
+ if (!found)
+ resolve(this.perms & 0xF)
+ }).catch(reject)
+ })
}
- HEAD(opt) {
- if (authorize(opt.pubKey, 'r', this.stat))
- return new Promise((resolve, reject) => resolve(''))
- else
- return StrappFile.PermissionDenied()
+ HEAD(pubKey) {
+ return Promise.resolve()
}
- GET(opt) {
- if (authorize(opt.pubKey, 'r', this.stat))
- return StrappFile.get(this.path)
- else return StrappFile.PermissionDenied()
+ GET(pubKey) {
+ return localforage.getItem(this.path)
}
- PUT(opt) {
- if (authorize(opt.pubKey, 'w', this.stat))
- return StrappFile.set(this.path, opt.data)
- else return StrappFile.PermissionDenied()
+ PUT(pubKey, data) {
+ return localforage.setItem(this.path, data)
}
- POST(opt) {
- return this.PUT(Object.assign(opt, { data: this.GET(opt) + opt.data }))
+ POST(pubKey, data) {
+ return new Promise((resolve, reject) => {
+ localforage.getItem(this.path)
+ .then((fData) =>
+ this.setItem(this.path, fData + data)
+ .then(resolve)
+ .catch(reject)
+ )
+ .catch(reject)
+ })
}
- DELETE(opt) {
- if (authorize(opt.pubKey, 'w', this.stat))
- return StrappFile.delete(this.path)
- else return StrappFile.PermissionDenied()
+ DELETE(pubKey) {
+ return localforage.removeItem(this.path)
}
- OPTIONS(opt) {
- return this.stat
+ OPTIONS(pubKey) {
+ return new Promise((resolve, reject) => {
+ this.resolveClientPerms(pubKey).then((perms) => {
+ }).catch(reject)
+ })
}
- CONNECT(opt) { //make channel
- return this.GET(opt)
+ CONNECT(pubKey) {
+ return this.GET(pubKey)
}
TRACE(opt) {
}
}
}
StrappFile.defaults = {
- stat: {
- type: 'mime/type',
- perm: 0,
- owner: 'thisOwnerPubKey',
- group: 'groupname',
- changed: 'time',
- created: 'time',
- accessed: 'time - not saved'
- }
+ type: 'strapp/file',
+ perm: 0xF00,
+ owner: 'local',
+ group: '',
+ changed: StrappFileSystem.bootTime,
+ created: StrappFileSystem.bootTime,
+ accessed: StrappFileSystem.bootTime,
+ files: undefined
}
return StrappFile
})()
POST(opts) {
//send msg
}
- MSG(opts) {
+ routeMessage(msg) {
//send routing message down socket
//POST(opts.routemessage)
}
})()
const StrappDirectory = (() => {
+ const _traverse_loaded = function(method, pubKey, data, locStack) {
+ if (locStack[0] in this.files)
+ return this.files[locStack[0]].resolveRequest(method, pubKey, data, locStack.slice(1))
+ return Promise.reject(404)
+ }
+ const _traverse_loading = function(method, pubKey, data, locStack) {
+ if (this.loadWaiters)
+ return new Promise((resolve, reject) => this.loadWaiters.push(
+ [method, pubKey, data, locStack, resolve, reject]
+ ))
+ return _traverse_loaded(method, pubKey, data, locStack)
+ }
+
class StrappDirectory extends StrappFile {
+ static literal(...props) {
+ return Object.assign(Object.create(null, StrappDirectory.defaults), ...props)
+ }
+ loadFiles(fileData) {
+ Object.keys(fileData)
+ .map((key) => (this.files[key] = StrappFile.parse(fileData[key])))
+ }
+ resolveOwnFiles() {
+ return new Promise((resolve, reject) => {
+ localforage.getItem(this.path).then((fileData) => {
+ this.loadFiles(fileData)
+ resolve()
+ }).catch(reject)
+ })
+ }
+ traverse(method, pubKey, data, locStack) {
+ this.traverse = _traverse_loading
+ this.loadWaiters = []
+ this.resolveOwnFiles().then(() => {
+ this.traverse = _traverse_loaded
+ this.loadWaiters
+ .map((w) => _traverse_loaded(w[0], w[1], w[2], w[3]).then(w[4], w[5]))
+ delete this.loadWaiters
+ })
+ return _traverse_loading(method, pubKey, data, locStack)
+ }
+ request(method, pubKey, data, locStack) {
+ return new Promise((resolve, reject) => {
+ super.resolveRequest(method, pubKey, data, locStack)
+ .then(resolve)
+ .catch((err) => {
+ if (err === 404)
+ return this.traverse(method, pubKey, data, locStack)
+ return Promise.reject(err)
+ })
+ })
+ }
CONNECT(opts) {
//send routing message to the directory (handle the next part here)
}
}
+ StrappDirectory.defaults = {
+ type: 'strapp/directory'
+ }
return StrappDirectory
})()
+const StrappDevice = (() => {
+ class StrappDevice extends StrappFile {
+ }
+ return StrappDevice
+})()
+const StrappJSON = (() => {
+ class StrappJSON extends StrappFile {
+ POST(pubKey, data) {
+ return localforage.assignItem(this.path, data)
+ }
+ }
+ return StrappJSON
+})()
-export default StrappFile
-export { StrappPeerConnection, StrappDirectory }
+export default StrappFileSystem
+export { StrappFile, StrappPeerConnection, StrappDirectory }