diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..39c593d --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Mocha Tests", + "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha", + "args": [ + "--require", "ts-node/register", + "-u", "tdd", + "--timeout", "999999", + "--colors", "--recursive", + "${workspaceFolder}/**/*.spec.ts" + ], + "internalConsoleOptions": "openOnSessionStart" + } + + ] +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 828a5e2..03017da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,6 +36,12 @@ "@types/node": "*" } }, + "@types/chai": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", + "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", + "dev": true + }, "@types/connect": { "version": "3.4.32", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz", @@ -100,6 +106,12 @@ "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==", "dev": true }, + "@types/mocha": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.6.tgz", + "integrity": "sha512-1axi39YdtBI7z957vdqXI4Ac25e7YihYQtJa+Clnxg1zTJEaIRbndt71O3sP4GAMgiAm0pY26/b9BrY4MR/PMw==", + "dev": true + }, "@types/moment-timezone": { "version": "0.5.12", "resolved": "https://registry.npmjs.org/@types/moment-timezone/-/moment-timezone-0.5.12.tgz", @@ -152,25 +164,6 @@ "negotiator": "0.6.1" } }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "optional": true - }, "ansi-align": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", @@ -201,22 +194,11 @@ } } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - }, - "dependencies": { - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - } - } + "arg": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", + "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", + "dev": true }, "arr-diff": { "version": "4.0.0", @@ -252,18 +234,6 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, "assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", @@ -282,30 +252,12 @@ "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", - "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", - "dev": true - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -367,16 +319,6 @@ } } }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -546,12 +488,6 @@ "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", "dev": true }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "chai": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", @@ -635,12 +571,6 @@ "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", "dev": true }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -666,15 +596,6 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, "commander": { "version": "2.20.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", @@ -798,15 +719,6 @@ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -842,12 +754,6 @@ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -889,12 +795,6 @@ } } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -931,16 +831,6 @@ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -951,12 +841,6 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, - "es6-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", - "dev": true - }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -968,37 +852,6 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "requires": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.2.0" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -1091,12 +944,6 @@ "vary": "~1.1.2" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", @@ -1183,30 +1030,6 @@ } } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, "file-source": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/file-source/-/file-source-0.6.1.tgz", @@ -1258,23 +1081,6 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - } - }, "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", @@ -1888,15 +1694,6 @@ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", @@ -1958,48 +1755,6 @@ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, - "handlebars": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", - "dev": true, - "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -2038,44 +1793,6 @@ "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", "dev": true }, - "hippie": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/hippie/-/hippie-0.5.2.tgz", - "integrity": "sha512-bm0PTvprQsdfwlyJ0QG+rZ+hrNLNGNJ7rty4pzjIwuDcZG3ymTv6FlFI75ArvCvDzi3EWob2zSmeFMQPAavk2g==", - "dev": true, - "requires": { - "assertion-error": "~1.1.0", - "deep-eql": "~3.0.1", - "es6-promise": "~4.2.4", - "npm": "^6.1.0", - "pathval": "~1.1.0", - "qs": "~6.5.2", - "request": "~2.87.0" - }, - "dependencies": { - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - } - } - }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -2094,17 +1811,6 @@ } } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, "ieee754": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", @@ -2343,12 +2049,6 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -2367,125 +2067,12 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", - "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", - "dev": true, - "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - } - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", @@ -2501,16 +2088,6 @@ "package-json": "^4.0.0" } }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, "lodash": { "version": "4.17.11", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", @@ -2550,6 +2127,12 @@ } } }, + "make-error": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", + "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", + "dev": true + }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -2744,6 +2327,56 @@ } } }, + "mock-express-request": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/mock-express-request/-/mock-express-request-0.2.2.tgz", + "integrity": "sha512-EymHjY1k1jWIsaVaCsPdFterWO18gcNwQMb99OryhSBtIA33SZJujOLeOe03Rf2DTV997xLPyl2I098WCFm/mA==", + "dev": true, + "requires": { + "accepts": "^1.3.4", + "fresh": "^0.5.2", + "lodash": "^4.17.4", + "mock-req": "^0.2.0", + "parseurl": "^1.3.2", + "range-parser": "^1.2.0", + "type-is": "^1.6.15" + } + }, + "mock-express-response": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/mock-express-response/-/mock-express-response-0.2.2.tgz", + "integrity": "sha512-+pRUv25LhyKZVSRCOzoZp8TW0nqvT7UlH7vpVzCibjjEucXL72gTgwEhmqbyTO2LI9IlyIeBBdflR9Ml5KQWMQ==", + "dev": true, + "requires": { + "content-disposition": "^0.5.2", + "content-type": "^1.0.4", + "cookie": "^0.3.1", + "cookie-signature": "^1.0.6", + "depd": "^1.1.1", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "mock-express-request": "^0.2.2", + "mock-res": "^0.5.0", + "on-finished": "^2.3.0", + "proxy-addr": "^2.0.2", + "qs": "^6.5.1", + "send": "^0.16.1", + "utils-merge": "^1.0.1", + "vary": "^1.1.2" + } + }, + "mock-req": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/mock-req/-/mock-req-0.2.0.tgz", + "integrity": "sha1-dJRGgE0sAGFpNC7nvmu6HP/VNMI=", + "dev": true + }, + "mock-res": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/mock-res/-/mock-res-0.5.0.tgz", + "integrity": "sha1-mDaL6wnfdT9k9m2U5VNql7NqJDA=", + "dev": true + }, "moment": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", @@ -2793,20 +2426,14 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, "nock": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/nock/-/nock-9.6.1.tgz", - "integrity": "sha512-EDgl/WgNQ0C1BZZlASOQkQdE6tAWXJi8QQlugqzN64JJkvZ7ILijZuG24r4vCC7yOfnm6HKpne5AGExLGCeBWg==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", + "integrity": "sha512-b47OWj1qf/LqSQYnmokNWM8D88KvUl2y7jT0567NB3ZBAZFz2bWp2PC81Xn7u8F2/vJxzkzNZybnemeFa7AZ2w==", "dev": true, "requires": { "chai": "^4.1.2", - "debug": "^3.1.0", + "debug": "^4.1.0", "deep-equal": "^1.0.0", "json-stringify-safe": "^5.0.1", "lodash": "^4.17.5", @@ -2817,9 +2444,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" @@ -2889,3478 +2516,12 @@ } } }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "npm": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-6.9.0.tgz", - "integrity": "sha512-91V+zB5hDxO+Jyp2sUKS7juHlIM95dGQxTeQtmZI1nAI/7kjWXFipPrtwwKjhyKmV4GsS2LzJhrxRjGWsU9z/w==", - "dev": true, - "requires": { - "JSONStream": "^1.3.5", - "abbrev": "~1.1.1", - "ansicolors": "~0.3.2", - "ansistyles": "~0.1.3", - "aproba": "^2.0.0", - "archy": "~1.0.0", - "bin-links": "^1.1.2", - "bluebird": "^3.5.3", - "byte-size": "^5.0.1", - "cacache": "^11.3.2", - "call-limit": "~1.1.0", - "chownr": "^1.1.1", - "ci-info": "^2.0.0", - "cli-columns": "^3.1.2", - "cli-table3": "^0.5.1", - "cmd-shim": "~2.0.2", - "columnify": "~1.5.4", - "config-chain": "^1.1.12", - "debuglog": "*", - "detect-indent": "~5.0.0", - "detect-newline": "^2.1.0", - "dezalgo": "~1.0.3", - "editor": "~1.0.0", - "figgy-pudding": "^3.5.1", - "find-npm-prefix": "^1.0.2", - "fs-vacuum": "~1.2.10", - "fs-write-stream-atomic": "~1.0.10", - "gentle-fs": "^2.0.1", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "has-unicode": "~2.0.1", - "hosted-git-info": "^2.7.1", - "iferr": "^1.0.2", - "imurmurhash": "*", - "inflight": "~1.0.6", - "inherits": "~2.0.3", - "ini": "^1.3.5", - "init-package-json": "^1.10.3", - "is-cidr": "^3.0.0", - "json-parse-better-errors": "^1.0.2", - "lazy-property": "~1.0.0", - "libcipm": "^3.0.3", - "libnpm": "^2.0.1", - "libnpmaccess": "*", - "libnpmhook": "^5.0.2", - "libnpmorg": "*", - "libnpmsearch": "*", - "libnpmteam": "*", - "libnpx": "^10.2.0", - "lock-verify": "^2.1.0", - "lockfile": "^1.0.4", - "lodash._baseindexof": "*", - "lodash._baseuniq": "~4.6.0", - "lodash._bindcallback": "*", - "lodash._cacheindexof": "*", - "lodash._createcache": "*", - "lodash._getnative": "*", - "lodash.clonedeep": "~4.5.0", - "lodash.restparam": "*", - "lodash.union": "~4.6.0", - "lodash.uniq": "~4.5.0", - "lodash.without": "~4.4.0", - "lru-cache": "^4.1.5", - "meant": "~1.0.1", - "mississippi": "^3.0.0", - "mkdirp": "~0.5.1", - "move-concurrently": "^1.0.1", - "node-gyp": "^3.8.0", - "nopt": "~4.0.1", - "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.4.1", - "npm-pick-manifest": "^2.2.3", - "npm-profile": "*", - "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.5.0", - "path-is-inside": "~1.0.2", - "promise-inflight": "~1.0.1", - "qrcode-terminal": "^0.12.0", - "query-string": "^6.2.0", - "qw": "~1.0.1", - "read": "~1.0.7", - "read-cmd-shim": "~1.0.1", - "read-installed": "~4.0.3", - "read-package-json": "^2.0.13", - "read-package-tree": "^5.2.2", - "readable-stream": "^3.1.1", - "readdir-scoped-modules": "*", - "request": "^2.88.0", - "retry": "^0.12.0", - "rimraf": "^2.6.3", - "safe-buffer": "^5.1.2", - "semver": "^5.6.0", - "sha": "~2.0.1", - "slide": "~1.1.6", - "sorted-object": "~2.0.1", - "sorted-union-stream": "~2.1.3", - "ssri": "^6.0.1", - "stringify-package": "^1.0.0", - "tar": "^4.4.8", - "text-table": "~0.2.0", - "tiny-relative-date": "^1.3.0", - "uid-number": "0.0.6", - "umask": "~1.1.0", - "unique-filename": "^1.1.1", - "unpipe": "~1.0.0", - "update-notifier": "^2.5.0", - "uuid": "^3.3.2", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "~3.0.0", - "which": "^1.3.1", - "worker-farm": "^1.6.0", - "write-file-atomic": "^2.4.2" - }, - "dependencies": { - "JSONStream": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "agent-base": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "agentkeepalive": { - "version": "3.4.1", - "bundled": true, - "dev": true, - "requires": { - "humanize-ms": "^1.2.1" - } - }, - "ajv": { - "version": "5.5.2", - "bundled": true, - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ansi-align": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^2.0.0" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "bundled": true, - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "asap": { - "version": "2.0.6", - "bundled": true, - "dev": true - }, - "asn1": { - "version": "0.2.4", - "bundled": true, - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.8.0", - "bundled": true, - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bin-links": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "cmd-shim": "^2.0.2", - "gentle-fs": "^2.0.0", - "graceful-fs": "^4.1.11", - "write-file-atomic": "^2.3.0" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, - "bluebird": { - "version": "3.5.3", - "bundled": true, - "dev": true - }, - "boxen": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "builtins": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "byline": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "byte-size": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "cacache": { - "version": "11.3.2", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "^3.5.3", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "unique-filename": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true - } - } - }, - "call-limit": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "camelcase": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "capture-stack-trace": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "chalk": { - "version": "2.4.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "cidr-regex": { - "version": "2.0.10", - "bundled": true, - "dev": true, - "requires": { - "ip-regex": "^2.1.0" - } - }, - "cli-boxes": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "cli-columns": { - "version": "3.1.2", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^2.0.0", - "strip-ansi": "^3.0.1" - } - }, - "cli-table3": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } - }, - "cliui": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "cmd-shim": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "mkdirp": "~0.5.0" - } - }, - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "color-convert": { - "version": "1.9.1", - "bundled": true, - "dev": true, - "requires": { - "color-name": "^1.1.1" - } - }, - "color-name": { - "version": "1.1.3", - "bundled": true, - "dev": true - }, - "colors": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "optional": true - }, - "columnify": { - "version": "1.5.4", - "bundled": true, - "dev": true, - "requires": { - "strip-ansi": "^3.0.0", - "wcwidth": "^1.0.0" - } - }, - "combined-stream": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "bundled": true, - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "config-chain": { - "version": "1.1.12", - "bundled": true, - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "configstore": { - "version": "3.1.2", - "bundled": true, - "dev": true, - "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - } - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "create-error-class": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, - "cross-spawn": { - "version": "5.1.0", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-random-string": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "cyclist": { - "version": "0.2.2", - "bundled": true, - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "debuglog": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true - }, - "defaults": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "detect-indent": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "detect-newline": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "dot-prop": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "is-obj": "^1.0.0" - } - }, - "dotenv": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "duplexer3": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "duplexify": { - "version": "3.6.0", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "editor": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "encoding": { - "version": "0.1.12", - "bundled": true, - "dev": true, - "requires": { - "iconv-lite": "~0.4.13" - } - }, - "end-of-stream": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "err-code": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "errno": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "es6-promise": { - "version": "4.2.6", - "bundled": true, - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "execa": { - "version": "0.7.0", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "extsprintf": { - "version": "1.3.0", - "bundled": true, - "dev": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "figgy-pudding": { - "version": "3.5.1", - "bundled": true, - "dev": true - }, - "find-npm-prefix": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "find-up": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flush-write-stream": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs-vacuum": { - "version": "1.2.10", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "path-is-inside": "^1.0.1", - "rimraf": "^2.5.2" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "genfun": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "gentle-fs": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.1.2", - "fs-vacuum": "^1.2.10", - "graceful-fs": "^4.1.11", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "path-is-inside": "^1.0.2", - "read-cmd-shim": "^1.0.1", - "slide": "^1.1.6" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - } - } - }, - "get-caller-file": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "global-dirs": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "requires": { - "ini": "^1.3.4" - } - }, - "got": { - "version": "6.7.1", - "bundled": true, - "dev": true, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.15", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "har-validator": { - "version": "5.1.0", - "bundled": true, - "dev": true, - "requires": { - "ajv": "^5.3.0", - "har-schema": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "2.7.1", - "bundled": true, - "dev": true - }, - "http-cache-semantics": { - "version": "3.8.1", - "bundled": true, - "dev": true - }, - "http-proxy-agent": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - } - }, - "http-signature": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-proxy-agent": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - } - }, - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.23", - "bundled": true, - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "iferr": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "import-lazy": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true - }, - "init-package-json": { - "version": "1.10.3", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.1.1", - "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", - "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "1 || 2", - "semver": "2.x || 3.x || 4 || 5", - "validate-npm-package-license": "^3.0.1", - "validate-npm-package-name": "^3.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "ip": { - "version": "1.1.5", - "bundled": true, - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "is-ci": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "ci-info": "^1.0.0" - }, - "dependencies": { - "ci-info": { - "version": "1.6.0", - "bundled": true, - "dev": true - } - } - }, - "is-cidr": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "cidr-regex": "^2.0.10" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-installed-globally": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - } - }, - "is-npm": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "is-obj": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "is-path-inside": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-redirect": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isexe": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "jsonparse": { - "version": "1.3.1", - "bundled": true, - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "latest-version": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "package-json": "^4.0.0" - } - }, - "lazy-property": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "lcid": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "libcipm": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "requires": { - "bin-links": "^1.1.2", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.5.1", - "find-npm-prefix": "^1.0.2", - "graceful-fs": "^4.1.11", - "ini": "^1.3.5", - "lock-verify": "^2.0.2", - "mkdirp": "^0.5.1", - "npm-lifecycle": "^2.0.3", - "npm-logical-tree": "^1.2.1", - "npm-package-arg": "^6.1.0", - "pacote": "^9.1.0", - "read-package-json": "^2.0.13", - "rimraf": "^2.6.2", - "worker-farm": "^1.6.0" - } - }, - "libnpm": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "bin-links": "^1.1.2", - "bluebird": "^3.5.3", - "find-npm-prefix": "^1.0.2", - "libnpmaccess": "^3.0.1", - "libnpmconfig": "^1.2.1", - "libnpmhook": "^5.0.2", - "libnpmorg": "^1.0.0", - "libnpmpublish": "^1.1.0", - "libnpmsearch": "^2.0.0", - "libnpmteam": "^1.0.1", - "lock-verify": "^2.0.2", - "npm-lifecycle": "^2.1.0", - "npm-logical-tree": "^1.2.1", - "npm-package-arg": "^6.1.0", - "npm-profile": "^4.0.1", - "npm-registry-fetch": "^3.8.0", - "npmlog": "^4.1.2", - "pacote": "^9.2.3", - "read-package-json": "^2.0.13", - "stringify-package": "^1.0.0" - } - }, - "libnpmaccess": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "get-stream": "^4.0.0", - "npm-package-arg": "^6.1.0", - "npm-registry-fetch": "^3.8.0" - }, - "dependencies": { - "aproba": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "libnpmconfig": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "find-up": "^3.0.0", - "ini": "^1.3.5" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "libnpmhook": { - "version": "5.0.2", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "figgy-pudding": "^3.4.1", - "get-stream": "^4.0.0", - "npm-registry-fetch": "^3.8.0" - } - }, - "libnpmorg": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "figgy-pudding": "^3.4.1", - "get-stream": "^4.0.0", - "npm-registry-fetch": "^3.8.0" - }, - "dependencies": { - "aproba": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "libnpmpublish": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "lodash.clonedeep": "^4.5.0", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.1.0", - "npm-registry-fetch": "^3.8.0", - "semver": "^5.5.1", - "ssri": "^6.0.1" - } - }, - "libnpmsearch": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "npm-registry-fetch": "^3.8.0" - } - }, - "libnpmteam": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "figgy-pudding": "^3.4.1", - "get-stream": "^4.0.0", - "npm-registry-fetch": "^3.8.0" - }, - "dependencies": { - "aproba": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "libnpx": { - "version": "10.2.0", - "bundled": true, - "dev": true, - "requires": { - "dotenv": "^5.0.1", - "npm-package-arg": "^6.0.0", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.0", - "update-notifier": "^2.3.0", - "which": "^1.3.0", - "y18n": "^4.0.0", - "yargs": "^11.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lock-verify": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "npm-package-arg": "^6.1.0", - "semver": "^5.4.1" - } - }, - "lockfile": { - "version": "1.0.4", - "bundled": true, - "dev": true, - "requires": { - "signal-exit": "^3.0.2" - } - }, - "lodash._baseindexof": { - "version": "3.1.0", - "bundled": true, - "dev": true - }, - "lodash._baseuniq": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "requires": { - "lodash._createset": "~4.0.0", - "lodash._root": "~3.0.0" - } - }, - "lodash._bindcallback": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "lodash._cacheindexof": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "lodash._createcache": { - "version": "3.1.2", - "bundled": true, - "dev": true, - "requires": { - "lodash._getnative": "^3.0.0" - } - }, - "lodash._createset": { - "version": "4.0.3", - "bundled": true, - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "bundled": true, - "dev": true - }, - "lodash._root": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "bundled": true, - "dev": true - }, - "lodash.union": { - "version": "4.6.0", - "bundled": true, - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.without": { - "version": "4.4.0", - "bundled": true, - "dev": true - }, - "lowercase-keys": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "make-fetch-happen": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^11.0.1", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1", - "lru-cache": "^4.1.2", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^4.0.0", - "ssri": "^6.0.0" - } - }, - "meant": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "mem": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "mime-db": { - "version": "1.35.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.19", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "~1.35.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.3.3", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - }, - "dependencies": { - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true - } - } - }, - "minizlib": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mississippi": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "move-concurrently": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "bundled": true, - "dev": true - }, - "node-fetch-npm": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node-gyp": { - "version": "3.8.0", - "bundled": true, - "dev": true, - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - } - } - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "resolve": { - "version": "1.10.0", - "bundled": true, - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - } - } - }, - "npm-audit-report": { - "version": "1.3.2", - "bundled": true, - "dev": true, - "requires": { - "cli-table3": "^0.5.0", - "console-control-strings": "^1.1.0" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true, - "dev": true - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "npm-install-checks": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "^2.3.0 || 3.x || 4 || 5" - } - }, - "npm-lifecycle": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "byline": "^5.0.0", - "graceful-fs": "^4.1.11", - "node-gyp": "^3.8.0", - "resolve-from": "^4.0.0", - "slide": "^1.1.6", - "uid-number": "0.0.6", - "umask": "^1.1.0", - "which": "^1.3.1" - } - }, - "npm-logical-tree": { - "version": "1.2.1", - "bundled": true, - "dev": true - }, - "npm-package-arg": { - "version": "6.1.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^2.6.0", - "osenv": "^0.1.5", - "semver": "^5.5.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npm-pick-manifest": { - "version": "2.2.3", - "bundled": true, - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" - } - }, - "npm-profile": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.1.2 || 2", - "figgy-pudding": "^3.4.1", - "npm-registry-fetch": "^3.8.0" - } - }, - "npm-registry-fetch": { - "version": "3.9.0", - "bundled": true, - "dev": true, - "requires": { - "JSONStream": "^1.3.4", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "lru-cache": "^4.1.3", - "make-fetch-happen": "^4.0.1", - "npm-package-arg": "^6.1.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "npm-user-validate": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "opener": { - "version": "1.5.1", - "bundled": true, - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-finally": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "p-limit": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "package-json": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - } - }, - "pacote": { - "version": "9.5.0", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "^3.5.3", - "cacache": "^11.3.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.3", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^4.0.1", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.1.12", - "npm-pick-manifest": "^2.2.3", - "npm-registry-fetch": "^3.8.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.2", - "semver": "^5.6.0", - "ssri": "^6.0.1", - "tar": "^4.4.8", - "unique-filename": "^1.1.1", - "which": "^1.3.1" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true - } - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "path-exists": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "path-key": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "pify": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "promise-retry": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - }, - "dependencies": { - "retry": { - "version": "0.10.1", - "bundled": true, - "dev": true - } - } - }, - "promzard": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "read": "1" - } - }, - "proto-list": { - "version": "1.2.4", - "bundled": true, - "dev": true - }, - "protoduck": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "requires": { - "genfun": "^5.0.0" - } - }, - "prr": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "psl": { - "version": "1.1.29", - "bundled": true, - "dev": true - }, - "pump": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "bundled": true, - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true - }, - "qrcode-terminal": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "qs": { - "version": "6.5.2", - "bundled": true, - "dev": true - }, - "query-string": { - "version": "6.2.0", - "bundled": true, - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "strict-uri-encode": "^2.0.0" - } - }, - "qw": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true - } - } - }, - "read": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "mute-stream": "~0.0.4" - } - }, - "read-cmd-shim": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2" - } - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "^1.0.1", - "graceful-fs": "^4.1.2", - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "slide": "~1.1.3", - "util-extend": "^1.0.1" - } - }, - "read-package-json": { - "version": "2.0.13", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "json-parse-better-errors": "^1.0.1", - "normalize-package-data": "^2.0.0", - "slash": "^1.0.0" - } - }, - "read-package-tree": { - "version": "5.2.2", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "once": "^1.3.0", - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0" - } - }, - "readable-stream": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdir-scoped-modules": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "registry-auth-token": { - "version": "3.3.2", - "bundled": true, - "dev": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "registry-url": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "rc": "^1.0.1" - } - }, - "request": { - "version": "2.88.0", - "bundled": true, - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "retry": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-queue": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.1.1" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.6.0", - "bundled": true, - "dev": true - }, - "semver-diff": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "^5.0.3" - } - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "sha": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "slash": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "smart-buffer": { - "version": "4.0.1", - "bundled": true, - "dev": true - }, - "socks": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "requires": { - "ip": "^1.1.5", - "smart-buffer": "^4.0.1" - } - }, - "socks-proxy-agent": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "~4.2.0", - "socks": "~2.2.0" - } - }, - "sorted-object": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "sorted-union-stream": { - "version": "2.1.3", - "bundled": true, - "dev": true, - "requires": { - "from2": "^1.3.0", - "stream-iterate": "^1.1.0" - }, - "dependencies": { - "from2": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~1.1.10" - } - }, - "isarray": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - } - } - }, - "spdx-correct": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.3", - "bundled": true, - "dev": true - }, - "sshpk": { - "version": "1.14.2", - "bundled": true, - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.1", - "bundled": true, - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stream-each": { - "version": "1.2.2", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-iterate": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "strict-uri-encode": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string_decoder": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "stringify-package": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "bundled": true, - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - }, - "dependencies": { - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true - } - } - }, - "term-size": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "execa": "^0.7.0" - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "through": { - "version": "2.3.8", - "bundled": true, - "dev": true - }, - "through2": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "timed-out": { - "version": "4.0.1", - "bundled": true, - "dev": true - }, - "tiny-relative-date": { - "version": "1.3.0", - "bundled": true, - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "bundled": true, - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "umask": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-string": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "crypto-random-string": "^1.0.0" - } - }, - "unpipe": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "unzip-response": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "update-notifier": { - "version": "2.5.0", - "bundled": true, - "dev": true, - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - } - }, - "url-parse-lax": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "util-extend": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.3.2", - "bundled": true, - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "validate-npm-package-name": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtins": "^1.0.3" - } - }, - "verror": { - "version": "1.10.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "which": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^1.0.2" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "widest-line": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^2.1.1" - } - }, - "worker-farm": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "2.4.2", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "xdg-basedir": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - }, - "y18n": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.1.2", - "bundled": true, - "dev": true - }, - "yargs": { - "version": "11.0.0", - "bundled": true, - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" - }, - "dependencies": { - "y18n": { - "version": "3.2.1", - "bundled": true, - "dev": true - } - } - }, - "yargs-parser": { - "version": "9.0.2", - "bundled": true, - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -6370,12 +2531,6 @@ "path-key": "^2.0.0" } }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -6447,44 +2602,6 @@ "wrappy": "1" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" - } - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -6567,24 +2684,12 @@ "resolve-protobuf-schema": "^2.1.0" } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", @@ -6628,12 +2733,6 @@ "integrity": "sha512-NdF35+QsqD7EgNEI5mkI/X+UwaxVEbQaz9f4IooEmMUv6ZPmlTQYGjBPJGgrlzNdjSvIy4MWMg6Q6vCgBO2K+w==", "dev": true }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", @@ -6777,40 +2876,6 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, - "request": { - "version": "2.87.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", - "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" - } - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, "resolve-protobuf-schema": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", @@ -7077,14 +3142,10 @@ } }, "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": ">=0.0.4" - } + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "source-map-resolve": { "version": "0.5.2", @@ -7099,6 +3160,16 @@ "urix": "^0.1.0" } }, + "source-map-support": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", @@ -7114,23 +3185,6 @@ "extend-shallow": "^3.0.0" } }, - "sshpk": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -7287,38 +3341,17 @@ } } }, - "tough-cookie": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", - "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "ts-node": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.1.0.tgz", + "integrity": "sha512-34jpuOrxDuf+O6iW1JpgTRDFynUZ1iEqtYruBqh35gICNjN8x+LpVcPAcwzLPi9VU6mdA3ym+x233nZmZp445A==", "dev": true, "requires": { - "punycode": "^1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" + "arg": "^4.1.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "source-map-support": "^0.5.6", + "yn": "^3.0.0" } }, "type-detect": { @@ -7357,26 +3390,6 @@ "integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==", "dev": true }, - "uglify-js": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.12.tgz", - "integrity": "sha512-KeQesOpPiZNgVwJj8Ge3P4JYbQHUdZzpx6Fahy6eKAYRSV4zhVmLXoC+JtOeYxcHCHTve8RG1ZGdTvpeOUM26Q==", - "dev": true, - "optional": true, - "requires": { - "commander": "~2.20.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, "undefsafe": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz", @@ -7579,28 +3592,11 @@ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", @@ -7619,12 +3615,6 @@ "string-width": "^2.1.1" } }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -7653,6 +3643,12 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true + }, + "yn": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.0.tgz", + "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==", + "dev": true } } } diff --git a/package.json b/package.json index c51b353..1240f6a 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "version": "1.0.2", "repository": "https://github.com/OpenSprinkler/Weather-Weather", "scripts": { - "test": "mocha --exit test", + "test": "mocha --exit --require ts-node/register **/*.spec.ts", "start": "node js/server", "dev": "node scripts/serve", "bundle": "npm run compile && zip weather.zip -r js package.json package-lock.json", @@ -20,20 +20,23 @@ "suncalc": "^1.8.0" }, "devDependencies": { + "@types/chai": "^4.1.7", "@types/cors": "^2.8.5", "@types/cron": "^1.3.0", "@types/dotenv": "^6.1.1", "@types/express": "^4.16.1", + "@types/mocha": "^5.2.6", "@types/moment-timezone": "^0.5.12", "@types/node": "^10.14.6", "@types/suncalc": "^1.8.0", "chai": "^4.2.0", - "hippie": "^0.5.2", - "istanbul": "^0.4.5", "mocha": "^5.2.0", - "nock": "^9.6.1", + "mock-express-request": "^0.2.2", + "mock-express-response": "^0.2.2", + "nock": "^10.0.6", "node-watch": "^0.6.2", "nodemon": "^1.19.0", + "ts-node": "^8.1.0", "typescript": "^3.4.5" } } diff --git a/routes/local.ts b/routes/local.ts index 10aa1fa..e9f0333 100644 --- a/routes/local.ts +++ b/routes/local.ts @@ -1,8 +1,6 @@ import * as express from "express"; import { CronJob } from "cron"; -import * as server from "../server"; - const count = { temp: 0, humidity: 0 }; let today: PWSStatus = {}, @@ -45,7 +43,7 @@ export const captureWUStream = function( req: express.Request, res: express.Resp }; export const useLocalWeather = function(): boolean { - return server.pws !== "none" ? true : false; + return process.env.PWS ? true : false; }; export const getLocalWeather = function(): LocalWeather { diff --git a/routes/weather.spec.ts b/routes/weather.spec.ts new file mode 100644 index 0000000..3a24dd7 --- /dev/null +++ b/routes/weather.spec.ts @@ -0,0 +1,48 @@ +import { expect } from 'chai'; +import * as nock from 'nock'; +import * as MockExpressRequest from 'mock-express-request'; +import * as MockExpressResponse from 'mock-express-response'; + +import { getWateringData } from './weather'; + +const expected = require( '../test/expected.json' ); +const replies = require( '../test/replies.json' ); + +const location = '01002'; + +describe('/:method endpoint', () => { + beforeEach(() => { + nock( 'http://api.openweathermap.org' ) + .filteringPath( function() { return "/"; } ) + .get( "/" ) + .reply( 200, replies[location].OWMData ); + }); + + it('Information lookup without weather lookup', async () => { + const expressMocks = createExpressMocks(location); + await getWateringData(expressMocks.request, expressMocks.response); + expect( expressMocks.response._getJSON() ).to.eql( expected.noWeather[location] ); + }); +}); + +function createExpressMocks(location: string) { + const request = new MockExpressRequest({ + method: 'GET', + url: '/0?loc=' + location, + query: { + loc: location, + format: 'json' + }, + params: [ 0 ], + headers: { + 'x-forwarded-for': '127.0.0.1' + } + }); + + return { + request, + response: new MockExpressResponse({ + request + }) + } +} \ No newline at end of file diff --git a/server.ts b/server.ts index 6989dc5..e04933a 100644 --- a/server.ts +++ b/server.ts @@ -5,8 +5,6 @@ import * as cors from "cors"; import * as weather from "./routes/weather"; import * as local from "./routes/local"; -const packageJson = require( "../package.json" ); - let host = process.env.HOST || "127.0.0.1", port = parseInt( process.env.PORT ) || 3000; @@ -29,7 +27,7 @@ if ( pws === "WU" ) { } app.get( "/", function( req, res ) { - res.send( packageJson.description + " v" + packageJson.version ); + res.send( process.env.npm_package_description + " v" + process.env.npm_package_version ); } ); // Handle 404 error @@ -40,9 +38,9 @@ app.use( function( req, res ) { // Start listening on the service port app.listen( port, host, function() { - console.log( "%s now listening on %s:%d", packageJson.description, host, port ); + console.log( "%s now listening on %s:%d", process.env.npm_package_description, host, port ); if (pws !== "none" ) { - console.log( "%s now listening for local weather stream", packageJson.description ); + console.log( "%s now listening for local weather stream", process.env.npm_package_description ); } } ); diff --git a/test/api.js b/test/api.js deleted file mode 100644 index 7fb1185..0000000 --- a/test/api.js +++ /dev/null @@ -1,95 +0,0 @@ -var hippie = require( "hippie" ), - nock = require( "nock" ), - expect = require( "chai" ).expect, - replies = require( "./replies" ), - expected = require( "./expected" ), - server = require( "../server" ).app; - -describe( "Weather API", function() { - describe( "/:method endpoint", function() { - it( "Weather Underground Source Test", function( done ) { - for ( var test in expected.WU ) { - if ( expected.WU.hasOwnProperty( test ) ) { - apiTest( { - method: 1, - loc: test, - key: process.env.WU_API_KEY, - expected: expected.WU[test], - callback: function() { - done(); - } - } ); - } - } - } ); - - it( "Information lookup without weather lookup", function( done ) { - for ( var test in expected.noWeather ) { - if ( expected.noWeather.hasOwnProperty( test ) ) { - apiTest( { - method: 0, - loc: test, - expected: expected.noWeather[test], - callback: function() { - done(); - } - } ); - } - } - } ); - } ); -} ); - -function apiTest( opt ) { - - opt = extend( {}, { - method: 0, - key: "", - format: "json" - }, opt ); - - var url = "/" + opt.method + "?loc=" + opt.loc + "&key=" + opt.key + "&format=" + opt.format; - - setupMocks( opt.loc ); - - hippie( server ) - .json() - .get( url ) - .expectStatus( 200 ) - .end( function( err, res, body ) { - if ( err ) { - throw err; - } - expect( body ).to.eql( opt.expected ); - opt.callback( body ); - } ); -} - -function setupMocks( location ) { - nock.cleanAll(); - - nock( "http://autocomplete.wunderground.com" ) - .filteringPath( function() { return "/"; } ) - .get( "/" ) - .reply( 200, replies[location].WUautoComplete ); - - nock( "http://api.wunderground.com" ) - .filteringPath( function() { return "/"; } ) - .get( "/" ) - .reply( 200, replies[location].WUyesterday ); - - nock( "http://api.openweathermap.org" ) - .filteringPath( function() { return "/"; } ) - .get( "/" ) - .reply( 200, replies[location].OWMData ); -} - -function extend( target ) { - var sources = [].slice.call( arguments, 1 ); - sources.forEach( function( source ) { - for ( var prop in source ) { - target[prop] = source[prop]; - } - } ); - return target; -} diff --git a/test/expected.json b/test/expected.json index 21aabd7..da0fe06 100644 --- a/test/expected.json +++ b/test/expected.json @@ -1,22 +1,18 @@ { - "WU": { - "01002": { - "scale": 0, - "rd": -1, - "tz": 28, - "sunrise": 387, - "sunset": 1060, - "eip": null - } - }, "noWeather": { "01002": { "scale": -1, "rd": -1, - "tz": 28, - "sunrise": 387, - "sunset": 1060, - "eip": null + "tz": 32, + "sunrise": 332, + "sunset": 1203, + "eip": 2130706433, + "rawData": { + "h": 98.5, + "p": 1.09, + "t": 70.8, + "raining": 1 + } } } } diff --git a/test/replies.json b/test/replies.json index f26d04c..f2f8c34 100644 --- a/test/replies.json +++ b/test/replies.json @@ -1,1811 +1,5 @@ { "01002": { - "WUautoComplete": { - "RESULTS": [{ - "name": "01002 - Amherst, MA", - "type": "city", - "c": "US", - "zmw": "01002.1.99999", - "tz": "America/New_York", - "tzs": "EDT", - "l": "/q/zmw:01002.1.99999", - "ll": "42.376862 -72.469139", - "lat": "42.376862", - "lon": "-72.469139" - }] - }, - "WUyesterday": { - "response": { - "version": "0.1", - "termsofService": "http://www.wunderground.com/weather/api/d/terms.html", - "features": { - "yesterday": 1, - "conditions": 1, - "astronomy": 1 - } - }, - "current_observation": { - "image": { - "url": "http://icons.wxug.com/graphics/wu2/logo_130x80.png", - "title": "Weather Underground", - "link": "http://www.wunderground.com" - }, - "display_location": { - "full": "Amherst, MA", - "city": "Amherst", - "state": "MA", - "state_name": "Massachusetts", - "country": "US", - "country_iso3166": "US", - "zip": "01002", - "magic": "1", - "wmo": "99999", - "latitude": "42.37686157", - "longitude": "-72.46913910", - "elevation": "132.00000000" - }, - "observation_location": { - "full": "Cushman Village, North Amherst, Amherst, Massachusetts", - "city": "Cushman Village, North Amherst, Amherst", - "state": "Massachusetts", - "country": "US", - "country_iso3166": "US", - "latitude": "42.408440", - "longitude": "-72.504799", - "elevation": "322 ft" - }, - "estimated": {}, - "station_id": "KMAAMHER12", - "observation_time": "Last Updated on July 12, 10:05 AM EDT", - "observation_time_rfc822": "Sun, 12 Jul 2015 10:05:16 -0400", - "observation_epoch": "1436709916", - "local_time_rfc822": "Sun, 12 Jul 2015 10:09:05 -0400", - "local_epoch": "1436710145", - "local_tz_short": "EDT", - "local_tz_long": "America/New_York", - "local_tz_offset": "-0400", - "weather": "Clear", - "temperature_string": "76.4 F (24.7 C)", - "temp_f": 76.4, - "temp_c": 24.7, - "relative_humidity": "63%", - "wind_string": "Calm", - "wind_dir": "North", - "wind_degrees": -9999, - "wind_mph": 0.0, - "wind_gust_mph": "1.0", - "wind_kph": 0, - "wind_gust_kph": "1.6", - "pressure_mb": "1017", - "pressure_in": "30.04", - "pressure_trend": "0", - "dewpoint_string": "63 F (17 C)", - "dewpoint_f": 63, - "dewpoint_c": 17, - "heat_index_string": "NA", - "heat_index_f": "NA", - "heat_index_c": "NA", - "windchill_string": "NA", - "windchill_f": "NA", - "windchill_c": "NA", - "feelslike_string": "76.4 F (26 C)", - "feelslike_f": "76.4", - "feelslike_c": "26", - "visibility_mi": "10.0", - "visibility_km": "16.1", - "solarradiation": "--", - "UV": "7", - "precip_1hr_string": "0.00 in ( 0 mm)", - "precip_1hr_in": "0.00", - "precip_1hr_metric": " 0", - "precip_today_string": "0.00 in (0 mm)", - "precip_today_in": "0.00", - "precip_today_metric": "0", - "icon": "clear", - "icon_url": "http://icons.wxug.com/i/c/k/clear.gif", - "forecast_url": "http://www.wunderground.com/US/MA/Amherst.html", - "history_url": "http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=KMAAMHER12", - "ob_url": "http://www.wunderground.com/cgi-bin/findweather/getForecast?query=42.408440,-72.504799", - "nowcast": "" - }, - "moon_phase": { - "percentIlluminated": "48", - "ageOfMoon": "7", - "phaseofMoon": "Waxing Crescent", - "hemisphere": "North", - "current_time": { - "hour": "18", - "minute": "08" - }, - "sunrise": { - "hour": "6", - "minute": "27" - }, - "sunset": { - "hour": "20", - "minute": "23" - } - }, - "sun_phase": { - "sunrise": { - "hour": "5", - "minute": "24" - }, - "sunset": { - "hour": "20", - "minute": "28" - } - }, - "history": { - "date": { - "pretty": "July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "12", - "min": "00", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "16", - "min": "00", - "tzname": "UTC" - }, - "observations": [{ - "date": { - "pretty": "12:29 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "00", - "min": "29", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "4:29 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "04", - "min": "29", - "tzname": "UTC" - }, - "tempm": "17.0", - "tempi": "62.6", - "dewptm": "16.0", - "dewpti": "60.8", - "hum": "94", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1015.5", - "pressurei": "29.99", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Light Drizzle", - "icon": "rain", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "SPECI KCEF 110429Z AUTO 00000KT 10SM -DZ OVC080 17/16 A2999 RMK AO2 DZB29" - }, { - "date": { - "pretty": "12:30 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "00", - "min": "30", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "4:30 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "04", - "min": "30", - "tzname": "UTC" - }, - "tempm": "17.0", - "tempi": "62.6", - "dewptm": "16.0", - "dewpti": "60.8", - "hum": "94", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1015.8", - "pressurei": "30.00", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Overcast", - "icon": "cloudy", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "SPECI KCEF 110430Z AUTO 00000KT 10SM OVC080 17/16 A3000 RMK AO2 DZB29E30" - }, { - "date": { - "pretty": "12:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "00", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "4:58 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "04", - "min": "58", - "tzname": "UTC" - }, - "tempm": "16.6", - "tempi": "61.9", - "dewptm": "15.8", - "dewpti": "60.4", - "hum": "95", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1016.4", - "pressurei": "30.02", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "0.0", - "precipi": "0.00", - "conds": "Overcast", - "icon": "cloudy", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 110458Z AUTO 00000KT 10SM OVC080 17/16 A3000 RMK AO2 DZB29E30 SLP164 P0000 T01660158 402840161" - }, { - "date": { - "pretty": "1:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "01", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "5:58 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "05", - "min": "58", - "tzname": "UTC" - }, - "tempm": "15.7", - "tempi": "60.3", - "dewptm": "15.0", - "dewpti": "59.0", - "hum": "96", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1016.4", - "pressurei": "30.02", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 110558Z AUTO 00000KT 10SM CLR 16/15 A3000 RMK AO2 VIS 3/4 RWY23 SLP164 60000 T01570150 10241 20157 52005" - }, { - "date": { - "pretty": "2:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "02", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "6:58 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "06", - "min": "58", - "tzname": "UTC" - }, - "tempm": "14.8", - "tempi": "58.6", - "dewptm": "14.2", - "dewpti": "57.6", - "hum": "96", - "wspdm": "5.6", - "wspdi": "3.5", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "70", - "wdire": "ENE", - "vism": "11.3", - "visi": "7.0", - "pressurem": "1016.4", - "pressurei": "30.02", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 110658Z AUTO 07003KT 7SM CLR 15/14 A3000 RMK AO2 VIS 2 RWY23 SLP164 T01480142" - }, { - "date": { - "pretty": "3:57 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "03", - "min": "57", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "7:57 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "07", - "min": "57", - "tzname": "UTC" - }, - "tempm": "14.0", - "tempi": "57.2", - "dewptm": "13.0", - "dewpti": "55.4", - "hum": "94", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "4.0", - "visi": "2.5", - "pressurem": "1016.1", - "pressurei": "30.01", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "SPECI KCEF 110757Z AUTO 00000KT 2 1/2SM BR CLR 14/13 A3001 RMK AO2 VIS 2 1/2V9 VIS 1 3/4 RWY23" - }, { - "date": { - "pretty": "3:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "03", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "7:58 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "07", - "min": "58", - "tzname": "UTC" - }, - "tempm": "14.0", - "tempi": "57.2", - "dewptm": "13.0", - "dewpti": "55.4", - "hum": "94", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "4.0", - "visi": "2.5", - "pressurem": "1016.7", - "pressurei": "30.03", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 110758Z AUTO 00000KT 2 1/2SM BR CLR 14/13 A3001 RMK AO2 VIS 2 1/2V9 SLP167" - }, { - "date": { - "pretty": "4:02 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "04", - "min": "02", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "8:02 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "08", - "min": "02", - "tzname": "UTC" - }, - "tempm": "13.0", - "tempi": "55.4", - "dewptm": "13.0", - "dewpti": "55.4", - "hum": "100", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "4.8", - "visi": "3.0", - "pressurem": "1016.1", - "pressurei": "30.01", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "SPECI KCEF 110802Z AUTO 00000KT 3SM BR CLR 13/13 A3001 RMK AO2" - }, { - "date": { - "pretty": "4:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "04", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "8:58 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "08", - "min": "58", - "tzname": "UTC" - }, - "tempm": "14.0", - "tempi": "57.2", - "dewptm": "13.5", - "dewpti": "56.3", - "hum": "97", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "8.0", - "visi": "5.0", - "pressurem": "1017.1", - "pressurei": "30.04", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 110858Z AUTO 00000KT 5SM BR CLR 14/14 A3002 RMK AO2 VIS 1 1/2 RWY23 SLP171 T01400135 53007" - }, { - "date": { - "pretty": "5:03 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "05", - "min": "03", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "9:03 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "09", - "min": "03", - "tzname": "UTC" - }, - "tempm": "14.0", - "tempi": "57.2", - "dewptm": "13.0", - "dewpti": "55.4", - "hum": "94", - "wspdm": "1.9", - "wspdi": "1.2", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "230", - "wdire": "SW", - "vism": "4.0", - "visi": "2.5", - "pressurem": "1016.5", - "pressurei": "30.02", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "SPECI KCEF 110903Z AUTO 23001KT 2 1/2SM BR CLR 14/13 A3002 RMK AO2 VIS 2 1/2V7" - }, { - "date": { - "pretty": "5:05 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "05", - "min": "05", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "9:05 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "09", - "min": "05", - "tzname": "UTC" - }, - "tempm": "14.0", - "tempi": "57.2", - "dewptm": "13.0", - "dewpti": "55.4", - "hum": "94", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "3.2", - "visi": "2.0", - "pressurem": "1016.5", - "pressurei": "30.02", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "SPECI KCEF 110905Z AUTO 00000KT 2SM BR CLR 14/13 A3002 RMK AO2 VIS 2V5 VIS 1 RWY23" - }, { - "date": { - "pretty": "5:09 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "05", - "min": "09", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "9:09 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "09", - "min": "09", - "tzname": "UTC" - }, - "tempm": "14.0", - "tempi": "57.2", - "dewptm": "13.0", - "dewpti": "55.4", - "hum": "94", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "4.0", - "visi": "2.5", - "pressurem": "1016.8", - "pressurei": "30.03", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "SPECI KCEF 110909Z AUTO 00000KT 2 1/2SM BR CLR 14/13 A3003 RMK AO2 VIS 2V4 VIS 3/4 RWY23" - }, { - "date": { - "pretty": "5:13 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "05", - "min": "13", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "9:13 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "09", - "min": "13", - "tzname": "UTC" - }, - "tempm": "14.0", - "tempi": "57.2", - "dewptm": "13.0", - "dewpti": "55.4", - "hum": "94", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "6.4", - "visi": "4.0", - "pressurem": "1016.8", - "pressurei": "30.03", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "SPECI KCEF 110913Z AUTO 00000KT 4SM BR CLR 14/13 A3003 RMK AO2 VIS 1/2 RWY23" - }, { - "date": { - "pretty": "5:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "05", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "9:58 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "09", - "min": "58", - "tzname": "UTC" - }, - "tempm": "12.7", - "tempi": "54.9", - "dewptm": "12.2", - "dewpti": "54.0", - "hum": "97", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "12.9", - "visi": "8.0", - "pressurem": "1017.8", - "pressurei": "30.06", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 110958Z AUTO 00000KT 8SM CLR 13/12 A3004 RMK AO2 VIS M1/4 RWY23 SLP178 T01270122" - }, { - "date": { - "pretty": "6:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "06", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "10:58 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "10", - "min": "58", - "tzname": "UTC" - }, - "tempm": "15.6", - "tempi": "60.1", - "dewptm": "15.1", - "dewpti": "59.2", - "hum": "97", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1018.4", - "pressurei": "30.08", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 111058Z AUTO 00000KT 10SM CLR 16/15 A3006 RMK AO2 SLP184 T01560151" - }, { - "date": { - "pretty": "7:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "07", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "11:58 AM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "11", - "min": "58", - "tzname": "UTC" - }, - "tempm": "18.1", - "tempi": "64.6", - "dewptm": "17.2", - "dewpti": "63.0", - "hum": "94", - "wspdm": "1.9", - "wspdi": "1.2", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "100", - "wdire": "East", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1018.8", - "pressurei": "30.09", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 111158Z AUTO 10001KT 10SM CLR 18/17 A3007 RMK AO2 SLP188 T01810172 10181 20127 52017 PWINO $" - }, { - "date": { - "pretty": "8:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "08", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "12:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "12", - "min": "58", - "tzname": "UTC" - }, - "tempm": "21.5", - "tempi": "70.7", - "dewptm": "15.3", - "dewpti": "59.5", - "hum": "68", - "wspdm": "7.4", - "wspdi": "4.6", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "40", - "wdire": "NE", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1018.7", - "pressurei": "30.09", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 111258Z AUTO 04004KT 10SM CLR 22/15 A3007 RMK AO2 SLP187 T02150153 PWINO $" - }, { - "date": { - "pretty": "9:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "09", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "1:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "13", - "min": "58", - "tzname": "UTC" - }, - "tempm": "24.1", - "tempi": "75.4", - "dewptm": "15.7", - "dewpti": "60.3", - "hum": "59", - "wspdm": "9.3", - "wspdi": "5.8", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "Variable", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1018.8", - "pressurei": "30.09", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 111358Z AUTO VRB05KT 10SM CLR 24/16 A3007 RMK AO2 SLP188 T02410157 PWINO $" - }, { - "date": { - "pretty": "10:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "10", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "2:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "14", - "min": "58", - "tzname": "UTC" - }, - "tempm": "25.7", - "tempi": "78.3", - "dewptm": "14.8", - "dewpti": "58.6", - "hum": "51", - "wspdm": "11.1", - "wspdi": "6.9", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "20", - "wdire": "NNE", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1018.7", - "pressurei": "30.09", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 111458Z AUTO 02006KT 10SM CLR 26/15 A3007 RMK AO2 SLP187 T02570148 58002 PWINO $" - }, { - "date": { - "pretty": "11:58 AM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "11", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "3:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "15", - "min": "58", - "tzname": "UTC" - }, - "tempm": "27.2", - "tempi": "81.0", - "dewptm": "14.3", - "dewpti": "57.7", - "hum": "45", - "wspdm": "13.0", - "wspdi": "8.1", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "350", - "wdire": "North", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1018.4", - "pressurei": "30.08", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "27.3", - "heatindexi": "81.1", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 111558Z AUTO 35007KT 10SM CLR 27/14 A3006 RMK AO2 SLP184 T02720143 PWINO $" - }, { - "date": { - "pretty": "12:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "12", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "4:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "16", - "min": "58", - "tzname": "UTC" - }, - "tempm": "28.2", - "tempi": "82.8", - "dewptm": "13.2", - "dewpti": "55.8", - "hum": "39", - "wspdm": "11.1", - "wspdi": "6.9", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "60", - "wdire": "ENE", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1018.4", - "pressurei": "30.08", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "27.8", - "heatindexi": "82.0", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 111658Z AUTO 06006KT 10SM CLR 28/13 A3006 RMK AO2 SLP184 T02820132 PWINO $" - }, { - "date": { - "pretty": "1:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "13", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "5:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "17", - "min": "58", - "tzname": "UTC" - }, - "tempm": "28.5", - "tempi": "83.3", - "dewptm": "13.1", - "dewpti": "55.6", - "hum": "39", - "wspdm": "7.4", - "wspdi": "4.6", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "Variable", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1017.4", - "pressurei": "30.05", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "28.0", - "heatindexi": "82.5", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 111758Z AUTO VRB04KT 10SM CLR 29/13 A3003 RMK AO2 SLP174 T02850131 10286 20184 57012 PWINO $" - }, { - "date": { - "pretty": "2:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "14", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "6:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "18", - "min": "58", - "tzname": "UTC" - }, - "tempm": "29.2", - "tempi": "84.6", - "dewptm": "13.2", - "dewpti": "55.8", - "hum": "37", - "wspdm": "11.1", - "wspdi": "6.9", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "70", - "wdire": "ENE", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1017.4", - "pressurei": "30.05", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "28.5", - "heatindexi": "83.4", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Partly Cloudy", - "icon": "partlycloudy", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 111858Z 07006KT 10SM FEW060 29/13 A3003 RMK AO2A SLP174 T02920132" - }, { - "date": { - "pretty": "3:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "15", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "7:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "19", - "min": "58", - "tzname": "UTC" - }, - "tempm": "29.8", - "tempi": "85.6", - "dewptm": "14.1", - "dewpti": "57.4", - "hum": "38", - "wspdm": "7.4", - "wspdi": "4.6", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "260", - "wdire": "West", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1017.1", - "pressurei": "30.04", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "29.3", - "heatindexi": "84.7", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Scattered Clouds", - "icon": "partlycloudy", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 111958Z 26004KT 10SM SCT060 30/14 A3002 RMK AO2A SLP171 T02980141" - }, { - "date": { - "pretty": "4:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "16", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "8:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "20", - "min": "58", - "tzname": "UTC" - }, - "tempm": "30.1", - "tempi": "86.2", - "dewptm": "14.5", - "dewpti": "58.1", - "hum": "38", - "wspdm": "7.4", - "wspdi": "4.6", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "Variable", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1016.7", - "pressurei": "30.03", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "29.6", - "heatindexi": "85.2", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Partly Cloudy", - "icon": "partlycloudy", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 112058Z VRB04KT 10SM FEW070 30/15 A3001 RMK AO2A SLP167 T03010145 58007" - }, { - "date": { - "pretty": "5:59 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "17", - "min": "59", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "9:59 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "21", - "min": "59", - "tzname": "UTC" - }, - "tempm": "29.5", - "tempi": "85.1", - "dewptm": "14.5", - "dewpti": "58.1", - "hum": "40", - "wspdm": "5.6", - "wspdi": "3.5", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "Variable", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1016.7", - "pressurei": "30.03", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "29.1", - "heatindexi": "84.4", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Partly Cloudy", - "icon": "partlycloudy", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 112159Z VRB03KT 10SM FEW060 30/15 A3001 RMK AO2A SLP167 T02950145" - }, { - "date": { - "pretty": "6:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "18", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "10:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "22", - "min": "58", - "tzname": "UTC" - }, - "tempm": "28.6", - "tempi": "83.5", - "dewptm": "14.3", - "dewpti": "57.7", - "hum": "41", - "wspdm": "5.6", - "wspdi": "3.5", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "230", - "wdire": "SW", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1016.4", - "pressurei": "30.02", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "28.3", - "heatindexi": "82.9", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Partly Cloudy", - "icon": "partlycloudy", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 112258Z 23003KT 10SM FEW060 29/14 A3000 RMK AO2A SLP164 T02860143" - }, { - "date": { - "pretty": "7:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "19", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "11:58 PM GMT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "23", - "min": "58", - "tzname": "UTC" - }, - "tempm": "26.8", - "tempi": "80.2", - "dewptm": "15.9", - "dewpti": "60.6", - "hum": "51", - "wspdm": "11.1", - "wspdi": "6.9", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "290", - "wdire": "WNW", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1016.7", - "pressurei": "30.03", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "27.3", - "heatindexi": "81.1", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 112358Z 29006KT 10SM CLR 27/16 A3001 RMK AO2A SLP167 T02680159 10302 20268 55001" - }, { - "date": { - "pretty": "8:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "20", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "12:58 AM GMT on July 12, 2015", - "year": "2015", - "mon": "07", - "mday": "12", - "hour": "00", - "min": "58", - "tzname": "UTC" - }, - "tempm": "23.9", - "tempi": "75.0", - "dewptm": "16.1", - "dewpti": "61.0", - "hum": "62", - "wspdm": "5.6", - "wspdi": "3.5", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "270", - "wdire": "West", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1017.0", - "pressurei": "30.04", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 120058Z AUTO 27003KT 10SM CLR 24/16 A3002 RMK AO2 SLP170 T02390161" - }, { - "date": { - "pretty": "9:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "21", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "1:58 AM GMT on July 12, 2015", - "year": "2015", - "mon": "07", - "mday": "12", - "hour": "01", - "min": "58", - "tzname": "UTC" - }, - "tempm": "19.0", - "tempi": "66.2", - "dewptm": "16.9", - "dewpti": "62.4", - "hum": "88", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1017.4", - "pressurei": "30.05", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 120158Z 00000KT 10SM CLR 19/17 A3003 RMK AO2A SLP174 T01900169" - }, { - "date": { - "pretty": "10:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "22", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "2:58 AM GMT on July 12, 2015", - "year": "2015", - "mon": "07", - "mday": "12", - "hour": "02", - "min": "58", - "tzname": "UTC" - }, - "tempm": "18.7", - "tempi": "65.7", - "dewptm": "16.6", - "dewpti": "61.9", - "hum": "88", - "wspdm": "0.0", - "wspdi": "0.0", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "0", - "wdire": "North", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1017.7", - "pressurei": "30.06", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 120258Z 00000KT 10SM CLR 19/17 A3004 RMK AO2A SLP177 T01870166 52009" - }, { - "date": { - "pretty": "11:58 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "23", - "min": "58", - "tzname": "America/New_York" - }, - "utcdate": { - "pretty": "3:58 AM GMT on July 12, 2015", - "year": "2015", - "mon": "07", - "mday": "12", - "hour": "03", - "min": "58", - "tzname": "UTC" - }, - "tempm": "17.9", - "tempi": "64.2", - "dewptm": "16.3", - "dewpti": "61.3", - "hum": "90", - "wspdm": "1.9", - "wspdi": "1.2", - "wgustm": "-9999.0", - "wgusti": "-9999.0", - "wdird": "130", - "wdire": "SE", - "vism": "16.1", - "visi": "10.0", - "pressurem": "1017.7", - "pressurei": "30.06", - "windchillm": "-999", - "windchilli": "-999", - "heatindexm": "-9999", - "heatindexi": "-9999", - "precipm": "-9999.00", - "precipi": "-9999.00", - "conds": "Clear", - "icon": "clear", - "fog": "0", - "rain": "0", - "snow": "0", - "hail": "0", - "thunder": "0", - "tornado": "0", - "metar": "METAR KCEF 120358Z AUTO 13001KT 10SM CLR 18/16 A3004 RMK AO2 SLP177 T01790163" - }], - "dailysummary": [{ - "date": { - "pretty": "12:00 PM EDT on July 11, 2015", - "year": "2015", - "mon": "07", - "mday": "11", - "hour": "12", - "min": "00", - "tzname": "America/New_York" - }, - "fog": "0", - "rain": "0", - "snow": "0", - "snowfallm": "0.00", - "snowfalli": "0.00", - "monthtodatesnowfallm": "", - "monthtodatesnowfalli": "", - "since1julsnowfallm": "", - "since1julsnowfalli": "", - "snowdepthm": "", - "snowdepthi": "", - "hail": "0", - "thunder": "0", - "tornado": "0", - "meantempm": "21", - "meantempi": "70", - "meandewptm": "14", - "meandewpti": "58", - "meanpressurem": "1017", - "meanpressurei": "30.04", - "meanwindspdm": "3", - "meanwindspdi": "2", - "meanwdire": "", - "meanwdird": "24", - "meanvism": "13", - "meanvisi": "8", - "humidity": "", - "maxtempm": "30", - "maxtempi": "86", - "mintempm": "12", - "mintempi": "54", - "maxhumidity": "100", - "minhumidity": "37", - "maxdewptm": "17", - "maxdewpti": "63", - "mindewptm": "12", - "mindewpti": "54", - "maxpressurem": "1019", - "maxpressurei": "30.09", - "minpressurem": "1015", - "minpressurei": "29.99", - "maxwspdm": "13", - "maxwspdi": "8", - "minwspdm": "0", - "minwspdi": "0", - "maxvism": "16", - "maxvisi": "10", - "minvism": "3", - "minvisi": "2", - "gdegreedays": "20", - "heatingdegreedays": "0", - "coolingdegreedays": "5", - "precipm": "0.00", - "precipi": "0.00", - "precipsource": "", - "heatingdegreedaysnormal": "", - "monthtodateheatingdegreedays": "", - "monthtodateheatingdegreedaysnormal": "", - "since1sepheatingdegreedays": "", - "since1sepheatingdegreedaysnormal": "", - "since1julheatingdegreedays": "", - "since1julheatingdegreedaysnormal": "", - "coolingdegreedaysnormal": "", - "monthtodatecoolingdegreedays": "", - "monthtodatecoolingdegreedaysnormal": "", - "since1sepcoolingdegreedays": "", - "since1sepcoolingdegreedaysnormal": "", - "since1jancoolingdegreedays": "", - "since1jancoolingdegreedaysnormal": "" - }] - } - }, "OWMData": { "cod": "200", "message": 0.0121,