diff --git a/package-lock.json b/package-lock.json index 558681f..bb86888 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,13 @@ { - "name": "RazerMouseB", + "name": "bobitosapp", "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { "@types/node": { - "version": "10.14.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz", - "integrity": "sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg==", + "version": "10.17.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.17.tgz", + "integrity": "sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==", "dev": true }, "abbrev": { @@ -16,6 +16,18 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -69,9 +81,9 @@ "dev": true }, "async-lock": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.2.0.tgz", - "integrity": "sha512-81HzTQm4+qMj6PwNlnR+y9g7pDdGGzd/YBUrQnHk+BhR28ja2qv497NkQQc1KcKEqh/RShm07di2b0cIWVFrNQ==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.0.0.tgz", + "integrity": "sha1-uBq729Km5RZ3OgRLfmkXriAB83A=" }, "asynckit": { "version": "0.4.0", @@ -79,6 +91,18 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "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.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "dev": true + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -90,24 +114,14 @@ "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" } }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -121,9 +135,9 @@ "dev": true }, "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "camelcase-keys": { @@ -159,8 +173,22 @@ "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } } }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -171,26 +199,26 @@ } }, "cli-spinners": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", - "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", "dev": true }, "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "is-fullwidth-code-point": { @@ -200,22 +228,23 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } @@ -248,11 +277,20 @@ "dev": true }, "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -283,27 +321,6 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true - } - } - }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -323,12 +340,12 @@ } }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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.0.0" + "ms": "^2.1.1" } }, "decamelize": { @@ -375,16 +392,15 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "optional": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "electron": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/electron/-/electron-4.1.4.tgz", - "integrity": "sha512-MelOjntJvd33izEjR6H4N/Uii7y535z/b2BuYXJGLNSHL6o1IlyhUQmfiT87kWABayERgeuYERgvsyf956OOFw==", + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/electron/-/electron-6.1.9.tgz", + "integrity": "sha512-Sm6pIR9yr9oBnIzwWnwSyTiZwj3fdp3X0pBDWDmw2wf/RtZlKH4PEkEu622AZLyXyhBKUiD2Jajkr5c4MelRxw==", "dev": true, "requires": { "@types/node": "^10.12.18", @@ -418,6 +434,12 @@ "ms": "^2.1.1" } }, + "env-paths": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", + "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=", + "dev": true + }, "fs-extra": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", @@ -434,68 +456,36 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true } } }, "electron-rebuild": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.8.4.tgz", - "integrity": "sha512-QBUZg1due+R0bww5rNd4gEcsKczyhxyLrxSFZlKihwHRxaiHrGut532JAUe0fRz+VIU4WNSfNKyZ/ZwSGjaDhA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.10.0.tgz", + "integrity": "sha512-n10i30GJg7JH8yZL3ZY3x80YtKmSYuuN8cl+3Feljm+sQDU4rUW1jbnYGu0eUHlK3kPOiNWPtW7srGcwZ9p1zQ==", "dev": true, "requires": { "colors": "^1.3.3", "debug": "^4.1.1", "detect-libc": "^1.0.3", - "fs-extra": "^7.0.1", - "node-abi": "^2.7.0", - "node-gyp": "^3.8.0", - "ora": "^3.0.0", + "fs-extra": "^8.1.0", + "node-abi": "^2.11.0", + "node-gyp": "^6.0.1", + "ora": "^3.4.0", "spawn-rx": "^3.0.0", - "yargs": "^12.0.5" - }, - "dependencies": { - "debug": { - "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" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } + "yargs": "^14.2.0" } }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true }, "env-paths": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", - "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", "dev": true }, "error-ex": { @@ -507,27 +497,12 @@ "is-arrayish": "^0.2.1" } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - }, "extract-zip": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", @@ -538,6 +513,23 @@ "debug": "2.6.9", "mkdirp": "0.5.1", "yauzl": "2.4.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "extsprintf": { @@ -547,15 +539,15 @@ "dev": true }, "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", "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=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fd-slicer": { @@ -568,24 +560,12 @@ } }, "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } + "locate-path": "^3.0.0" } }, "forever-agent": { @@ -594,35 +574,43 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", + "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "requires": { + "minipass": "^2.6.0" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", @@ -640,9 +628,9 @@ } }, "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "get-stdin": { @@ -651,15 +639,6 @@ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -670,9 +649,9 @@ } }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -684,11 +663,27 @@ } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "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.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -702,11 +697,22 @@ "dev": true }, "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, + "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" + } + }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", @@ -727,9 +733,9 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "ini": { @@ -738,12 +744,6 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -751,13 +751,10 @@ "dev": true }, "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", @@ -768,12 +765,6 @@ "number-is-nan": "^1.0.0" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -808,8 +799,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true + "dev": true }, "json-schema": { "version": "0.2.3", @@ -848,23 +838,6 @@ "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" } }, "load-json-file": { @@ -888,14 +861,6 @@ "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } } }, "lodash.assign": { @@ -923,32 +888,12 @@ "signal-exit": "^3.0.0" } }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true }, - "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^2.0.0" - } - }, "meow": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", @@ -975,6 +920,21 @@ } } }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "dev": true, + "requires": { + "mime-db": "1.43.0" + } + }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", @@ -996,6 +956,25 @@ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "requires": { + "minipass": "^2.9.0" + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -1006,61 +985,63 @@ } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "node-abi": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.7.1.tgz", - "integrity": "sha512-OV8Bq1OrPh6z+Y4dqwo05HqrRL9YNF7QVMRfq1/pguwKLG+q9UB/Lk0x5qXjO23JjJg+/jqCHSTaG1P3tfKfuw==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.15.0.tgz", + "integrity": "sha512-FeLpTS0F39U7hHZU1srAK4Vx+5AHNVOTP+hxBNQknR/54laTHSFIJkDWDqiquY1LeLUgTfPN7sLPhMubx0PLAg==", "dev": true, "requires": { "semver": "^5.4.1" }, "dependencies": { "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "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" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-6.1.0.tgz", + "integrity": "sha512-h4A2zDlOujeeaaTx06r4Vy+8MZ1679lU+wbCKDS4ZtvY2A37DESo37oejIw0mtmR3+rvNwts5B6Kpt1KrNYdNw==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "requires": { - "abbrev": "1" + "abbrev": "1", + "osenv": "^0.1.4" } }, "normalize-package-data": { @@ -1075,15 +1056,6 @@ "validate-npm-package-license": "^3.0.1" } }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, "npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", @@ -1111,11 +1083,26 @@ "throttleit": "0.0.2" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -1125,6 +1112,12 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -1156,32 +1149,32 @@ } }, "ora": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.1.0.tgz", - "integrity": "sha512-vRBPaNCclUi8pUxRF/G8+5qEQkc6EgzKK1G2ZNJUIGu088Un5qIxFXeDgymvPRM9nmrcUOGzQgS1Vmtz+NtlMw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", "dev": true, "requires": { "chalk": "^2.4.2", "cli-cursor": "^2.1.0", - "cli-spinners": "^1.3.1", + "cli-spinners": "^2.0.0", "log-symbols": "^2.2.0", - "strip-ansi": "^5.0.0", + "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" }, "dependencies": { "ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "strip-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", - "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^4.0.0" + "ansi-regex": "^4.1.0" } } } @@ -1192,17 +1185,6 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -1219,28 +1201,10 @@ "os-tmpdir": "^1.0.0" } }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", - "dev": true - }, "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -1256,9 +1220,9 @@ } }, "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "parse-json": { @@ -1282,12 +1246,6 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", @@ -1311,6 +1269,12 @@ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -1343,9 +1307,9 @@ } }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "progress-stream": { @@ -1359,25 +1323,21 @@ } }, "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", + "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==", "dev": true }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "rc": { @@ -1419,20 +1379,41 @@ "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } } }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, @@ -1456,9 +1437,9 @@ } }, "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -1468,7 +1449,7 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.0", + "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", @@ -1478,149 +1459,9 @@ "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", + "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" - }, - "dependencies": { - "ajv": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", - "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "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.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "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.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "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" - } - }, - "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "dev": true - }, - "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "dev": true, - "requires": { - "mime-db": "~1.37.0" - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - } } }, "require-directory": { @@ -1630,15 +1471,15 @@ "dev": true }, "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -1655,27 +1496,27 @@ } }, "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "rxjs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", - "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "safer-buffer": { @@ -1685,9 +1526,9 @@ "dev": true }, "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "set-blocking": { @@ -1696,21 +1537,6 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -1735,6 +1561,23 @@ "debug": "^2.5.1", "lodash.assign": "^4.2.0", "rxjs": "^6.3.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "spdx-correct": { @@ -1764,9 +1607,9 @@ } }, "spdx-license-ids": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", - "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, "speedometer": { @@ -1776,9 +1619,9 @@ "dev": true }, "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "requires": { "asn1": "~0.2.3", @@ -1788,15 +1631,8 @@ "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } } }, "string-width": { @@ -1811,9 +1647,9 @@ } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -1837,12 +1673,6 @@ "is-utf8": "^0.2.0" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, "strip-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", @@ -1865,6 +1695,23 @@ "dev": true, "requires": { "debug": "^2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "supports-color": { @@ -1877,14 +1724,18 @@ } }, "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "dev": true, "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" } }, "throttleit": { @@ -1929,6 +1780,16 @@ } } }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -1936,9 +1797,9 @@ "dev": true }, "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", + "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", "dev": true }, "tunnel-agent": { @@ -1954,8 +1815,7 @@ "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 + "dev": true }, "typedarray": { "version": "0.0.6", @@ -1976,14 +1836,6 @@ "dev": true, "requires": { "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - } } }, "util-deprecate": { @@ -1992,6 +1844,12 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -2011,14 +1869,6 @@ "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } } }, "wcwidth": { @@ -2055,13 +1905,48 @@ } }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, "wrappy": { @@ -2085,41 +1970,37 @@ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz", + "integrity": "sha512-/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA==", "dev": true, "requires": { - "cliui": "^4.0.0", + "cliui": "^5.0.0", "decamelize": "^1.2.0", "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "y18n": "^4.0.0", + "yargs-parser": "^15.0.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -2127,30 +2008,31 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==", "dev": true, "requires": { "camelcase": "^5.0.0", diff --git a/package.json b/package.json index 962e256..be564a5 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "RazerMouseB", + "name": "bobitosapp", "version": "1.0.0", "description": "A companion for your PXG", "main": "index.js", @@ -7,12 +7,17 @@ "async-lock": "^1.2.0" }, "devDependencies": { - "electron": "^4.1.4", - "electron-rebuild": "^1.8.4" + "electron": "^v6.1.9", + "electron-rebuild": "^1.8.8" }, "scripts": { "start": "electron .", - "build": "node-gyp rebuild && electron-rebuild" + "build": "node-gyp build", + "configure": "node-gyp configure", + "rebuild": "node-gyp rebuild", + "electron-rebuild": "electron-rebuild", + "clean": "node-gyp clean", + "version": "node-gyp -v" }, "repository": { "type": "git", diff --git a/sourcecc/battlelist.cc b/sourcecc/battlelist.cc index 443fdf5..6e4af11 100644 --- a/sourcecc/battlelist.cc +++ b/sourcecc/battlelist.cc @@ -23,7 +23,7 @@ using v8::Boolean; using v8::Value; using v8::Persistent; using v8::Function; -using v8::Handle; +using v8::Local; using v8::Array; struct pkmUnit{ @@ -663,6 +663,7 @@ void sendSygnalCreatureAddr(uv_async_t *handle) { Work *work = static_cast (req->data); Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); /* const DWORD_PTR OFFSET_PKM_NAME_LENGTH = 0x24; //byte @@ -710,15 +711,17 @@ printf("lastErrorCode: %d\n", errorCode); }else{ //action == 1. Send process info (pid and moduleAddress) - obj->Set(String::NewFromUtf8(isolate, "moduleAddr"), Number::New(isolate, moduleAddr)); - obj->Set(String::NewFromUtf8(isolate, "pid"), Number::New(isolate, pid)); - obj->Set(String::NewFromUtf8(isolate, "fAction"), Number::New(isolate, 1)); + obj->Set(context, String::NewFromUtf8(isolate, "moduleAddr").ToLocalChecked(), Number::New(isolate, moduleAddr)); + obj->Set(context, String::NewFromUtf8(isolate, "pid").ToLocalChecked(), Number::New(isolate, pid)); + obj->Set(context, String::NewFromUtf8(isolate, "fAction").ToLocalChecked(), Number::New(isolate, 1)); } - Handle argv[] = {obj}; + Local argv[] = {obj}; //execute the callback //takes some time to execute for the first time - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + //Handle::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local callback = Local::New(isolate, work->callback); + callback->Call(context, context->Global(), 1, argv).ToLocalChecked(); mutex = 1; uv_rwlock_rdunlock(&numlock); @@ -744,21 +747,22 @@ void printBattleListAsync(const FunctionCallbackInfo& args){ void setScreenConfigSync(const FunctionCallbackInfo& args){ Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); //Work* work = new Work(); //work->request.data = work; - Local centerObj = args[0]->ToObject(); - Local x = centerObj->Get(String::NewFromUtf8(isolate, "x")); - Local y = centerObj->Get(String::NewFromUtf8(isolate, "y")); - center.x = x->Int32Value(); - center.y = y->Int32Value(); + Local centerObj = args[0]->ToObject(isolate->GetCurrentContext()).ToLocalChecked(); + Local x = centerObj->Get(String::NewFromUtf8(isolate, "x").ToLocalChecked()); + Local y = centerObj->Get(String::NewFromUtf8(isolate, "y").ToLocalChecked()); + center.x = x->Int32Value(context).ToChecked(); + center.y = y->Int32Value(context).ToChecked(); - Local sqmObj = args[1]->ToObject(); - x = sqmObj->Get(String::NewFromUtf8(isolate, "length")); - y = sqmObj->Get(String::NewFromUtf8(isolate, "height")); - sqm.x = x->Int32Value(); - sqm.y = y->Int32Value(); + Local sqmObj = args[1]->ToObject(context).ToLocalChecked(); + x = sqmObj->Get(context, String::NewFromUtf8(isolate, "length").ToLocalChecked()).ToLocalChecked(); + y = sqmObj->Get(context, String::NewFromUtf8(isolate, "height").ToLocalChecked()).ToLocalChecked(); + sqm.x = x->Int32Value(context).ToChecked(); + sqm.y = y->Int32Value(context).ToChecked(); //store the callback from JS in the work package to invoke later //Local callback = Local::Cast(args[2]); @@ -785,6 +789,7 @@ static void registerHkDragBox(uv_work_t *req){ while (GetMessage(&msg, NULL, 0, 0) != 0 ){ if(msg.message == WM_HOTKEY){ + fPause = !fPause; //UnregisterHotKey(NULL, 1); dragItemtoBellow(); @@ -797,11 +802,12 @@ static void registerHkDragBox(uv_work_t *req){ } void registerHkDragBoxAsync(const FunctionCallbackInfo& args){ Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); WorkHk* work = new WorkHk(); work->request.data = work; - work->keyCode = args[0]->Int32Value(); + work->keyCode = args[0]->Int32Value(context).ToChecked(); //store the callback from JS in the work package to invoke later Local callback = Local::Cast(args[1]); work->callback.Reset(isolate, callback); @@ -818,12 +824,10 @@ static void registerHKF10(uv_work_t *req){ Work *work = static_cast(req->data); - // 0x79 121 (F10) - // 0xBB 187 (=) - if(RegisterHotKey(NULL, 1, NULL, 0xBB)){ + if(RegisterHotKey(NULL, 1, NULL, 0x79)){ MSG msg = {0}; - printf("This app is Running as PID=%d\n",getpid()); + printf("Running as PID=%d\n",getpid()); while (GetMessage(&msg, NULL, 0, 0) != 0 ){ if(msg.message == WM_HOTKEY){ @@ -839,15 +843,16 @@ static void registerHKF10(uv_work_t *req){ } void sendSygnalHK(uv_async_t *handle) { Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); uv_work_t *req = ((uv_work_t*) handle->data); Work *work = static_cast (req->data); Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); } void registerHKF10Async(const FunctionCallbackInfo& args){ Isolate* isolate = args.GetIsolate(); @@ -942,14 +947,15 @@ static void fish(uv_work_t *req){ static void fishComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); WorkFish *work = static_cast(req->data); Local obj = Object::New(isolate); - obj->Set(String::NewFromUtf8(isolate, "fishStatus"), Number::New(isolate, work->fishStatus)); - Handle argv[] = {obj}; + obj->Set(context, String::NewFromUtf8(isolate, "fishStatus").ToLocalChecked(), Number::New(isolate, work->fishStatus)); + Local argv[] = {obj}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); //Free up the persistent function callback work->callback.Reset(); @@ -991,15 +997,17 @@ static void readBlCounter(uv_work_t *req){ static void readBlCounterComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); + v8::HandleScope handleScope(isolate); WorkBl*work = static_cast(req->data); Local obj = Object::New(isolate); - obj->Set(String::NewFromUtf8(isolate, "blCounter"), Number::New(isolate, work->counter)); - Handle argv[] = {obj}; + obj->Set(context, String::NewFromUtf8(isolate, "blCounter").ToLocalChecked(), Number::New(isolate, work->counter)); + Local argv[] = {obj}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); //Free up the persistent function callback work->callback.Reset(); @@ -1072,13 +1080,14 @@ static void attackPkm(uv_work_t *req){ static void attackPkmComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); WorkPkm *work = static_cast(req->data); Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); //Free up the persistent function callback work->callback.Reset(); @@ -1087,11 +1096,12 @@ static void attackPkmComplete(uv_work_t *req, int status){ void attackPkmAsync(const FunctionCallbackInfo& args){ Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); WorkPkm* work = new WorkPkm(); work->request.data = work; - work->creatureAddr = args[0]->Int32Value(); + work->creatureAddr = args[0]->Int32Value(context).ToChecked(); //store the callback from JS in the work package to invoke later Local callback = Local::Cast(args[1]); @@ -1103,6 +1113,134 @@ void attackPkmAsync(const FunctionCallbackInfo& args){ args.GetReturnValue().Set(Undefined(isolate)); } +static void waitForDeath(uv_work_t *req){ + Work *work = static_cast(req->data); + + HANDLE handle = OpenProcess(PROCESS_VM_READ, FALSE, pid); + INPUT input; + char life; + + do{ + Sleep(800); + ReadProcessMemory(handle, (LPDWORD)(work->creatureAddr+OFFSET_PKM_LIFE), &life, 1, NULL); + + if(m1){ + // Set up a generic keyboard event. + input.type = INPUT_KEYBOARD; + input.ki.wScan = 0; // hardware scan code for key + input.ki.time = 0; + input.ki.dwExtraInfo = 0; + + // Press the "F1" key + input.ki.wVk = VK_F1; // virtual-key code for the "F1" key + input.ki.dwFlags = 0; // 0 for key press + SendInput(1, &input, sizeof(INPUT)); + + Sleep(50); + + input.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release + SendInput(1, &input, sizeof(INPUT)); + + Sleep(50); + } + if(m2){ + // Set up a generic keyboard event. + input.type = INPUT_KEYBOARD; + input.ki.wScan = 0; // hardware scan code for key + input.ki.time = 0; + input.ki.dwExtraInfo = 0; + + input.ki.wVk = VK_F2; // virtual-key code for the "F2" key + input.ki.dwFlags = 0; // 0 for key press + SendInput(1, &input, sizeof(INPUT)); + + Sleep(50); + + input.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release + SendInput(1, &input, sizeof(INPUT)); + + Sleep(50); + } + + if(m3){ + // Set up a generic keyboard event. + input.type = INPUT_KEYBOARD; + input.ki.wScan = 0; // hardware scan code for key + input.ki.time = 0; + input.ki.dwExtraInfo = 0; + + input.ki.wVk = VK_F3; // virtual-key code for the "F3" key + input.ki.dwFlags = 0; // 0 for key press + SendInput(1, &input, sizeof(INPUT)); + + Sleep(50); + + input.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release + SendInput(1, &input, sizeof(INPUT)); + + Sleep(50); + } + + if(m4){ + // Set up a generic keyboard event. + input.type = INPUT_KEYBOARD; + input.ki.wScan = 0; // hardware scan code for key + input.ki.time = 0; + input.ki.dwExtraInfo = 0; + + input.ki.wVk = VK_F4; // virtual-key code for the "F4" key + input.ki.dwFlags = 0; // 0 for key press + SendInput(1, &input, sizeof(INPUT)); + + Sleep(50); + + input.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release + SendInput(1, &input, sizeof(INPUT)); + + Sleep(50); + } + //printf("pokemon currently life: %d\n", life); + }while(life > 0); + + CloseHandle(handle); +} + +static void waitForDeathComplete(uv_work_t *req, int status){ + Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); + + v8::HandleScope handleScope(isolate); + Work *work = static_cast(req->data); + + Local val = Number::New(isolate, 1); + Local argv[] = {val}; + //execute the callback + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); + + //Free up the persistent function callback + work->callback.Reset(); + delete work; +} + +void waitForDeathAsync(const FunctionCallbackInfo& args){ + Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); + + Work* work = new Work(); + work->request.data = work; + + work->creatureAddr = args[0]->Int32Value(context).ToChecked(); + //store the callback from JS in the work package to invoke later + Local callback = Local::Cast(args[1]); + work->callback.Reset(isolate, callback); + + //worker thread using libuv + //attackPkmComplete here is a default funciton that returns 1 when complete. just reusing code + uv_queue_work(uv_default_loop(), &work->request, waitForDeath, waitForDeathComplete); + + args.GetReturnValue().Set(Undefined(isolate)); +} + static void isPkmNear(uv_work_t *req){ WorkPkm *work = static_cast(req->data); @@ -1127,6 +1265,7 @@ static void isPkmNear(uv_work_t *req){ static void isPkmNearComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); WorkPkm *work = static_cast(req->data); @@ -1141,18 +1280,18 @@ static void isPkmNearComplete(uv_work_t *req, int status){ (abs(y)<6)&& (abs(work->coords[1].z - work->coords[0].z)==0) ){ - obj->Set(String::NewFromUtf8(isolate, "isNear"), Number::New(isolate, 1)); - obj->Set(String::NewFromUtf8(isolate, "posx"), Number::New(isolate, x)); - obj->Set(String::NewFromUtf8(isolate, "posy"), Number::New(isolate, y)); + obj->Set(context, String::NewFromUtf8(isolate, "isNear").ToLocalChecked(), Number::New(isolate, 1)); + obj->Set(context, String::NewFromUtf8(isolate, "posx").ToLocalChecked(), Number::New(isolate, x)); + obj->Set(context, String::NewFromUtf8(isolate, "posy").ToLocalChecked(), Number::New(isolate, y)); }else{ - obj->Set(String::NewFromUtf8(isolate, "isNear"), Number::New(isolate, 0)); + obj->Set(context, String::NewFromUtf8(isolate, "isNear").ToLocalChecked(), Number::New(isolate, 0)); } Local error = Number::New(isolate, 0); - Handle argv[] = {error, obj}; + Local argv[] = {error, obj}; printf("executing the call back for isPkmNearComplete\n"); //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 2, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 2, argv); printf("isPkmNearComplete calculations finished!\n"); @@ -1163,18 +1302,19 @@ static void isPkmNearComplete(uv_work_t *req, int status){ void isPkmNearAsync(const FunctionCallbackInfo& args){ Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); WorkPkm* work = new WorkPkm(); work->request.data = work; - DWORD_PTR pkmAddr = args[0]->Int32Value(); + DWORD_PTR pkmAddr = args[0]->Int32Value(context).ToChecked(); work->creatureAddr = pkmAddr; // printf("pkmAddr: %d\n", pkmAddr); //store the callback from JS in the work package to invoke later if(!args[1]->IsFunction()){ isolate->ThrowException(Exception::TypeError( - String::NewFromUtf8(isolate, "Arg1 isn't a function"))); + String::NewFromUtf8(isolate, "Arg1 isn't a function").ToLocalChecked())); return; } Local callback = Local::Cast(args[1]); @@ -1189,10 +1329,11 @@ void isPkmNearAsync(const FunctionCallbackInfo& args){ void isPkmNearSync(const FunctionCallbackInfo& args){ Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); WorkPkm* work = new WorkPkm(); int x, y; - DWORD_PTR pkmAddr = args[0]->Int32Value(); + DWORD_PTR pkmAddr = args[0]->Int32Value(context).ToChecked(); HANDLE handle = OpenProcess(PROCESS_VM_READ, FALSE, pid); @@ -1217,13 +1358,37 @@ void isPkmNearSync(const FunctionCallbackInfo& args){ (abs(y)<6)&& (abs(work->coords[1].z - work->coords[0].z)==0) ){ - obj->Set(String::NewFromUtf8(isolate, "isNear"), Number::New(isolate, 1)); - obj->Set(String::NewFromUtf8(isolate, "posx"), Number::New(isolate, x)); - obj->Set(String::NewFromUtf8(isolate, "posy"), Number::New(isolate, y)); + obj->Set(context, String::NewFromUtf8(isolate, "isNear").ToLocalChecked(), Number::New(isolate, 1)); + obj->Set(context, String::NewFromUtf8(isolate, "posx").ToLocalChecked(), Number::New(isolate, x)); + obj->Set(context, String::NewFromUtf8(isolate, "posy").ToLocalChecked(), Number::New(isolate, y)); }else{ - obj->Set(String::NewFromUtf8(isolate, "isNear"), Number::New(isolate, 0)); + obj->Set(context, String::NewFromUtf8(isolate, "isNear").ToLocalChecked(), Number::New(isolate, 0)); } - Handle argv[] = {obj}; + Local argv[] = {obj}; + + args.GetReturnValue().Set(obj); +} + +void isPlayerPkmSummonedSync(const FunctionCallbackInfo& args){ + Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); + + DWORD address; + int statusSummoned; + + HANDLE handle = OpenProcess(PROCESS_VM_READ, FALSE, pid); + + ReadProcessMemory(handle, (LPDWORD)(moduleAddr+BASEADDR_PLAYER_PKM_SUMMON), &address, sizeof(DWORD), NULL); + ReadProcessMemory(handle, (LPDWORD)(address+OFFSET_PLAYER_PKM_SUMMON_P1), &address, sizeof(DWORD), NULL); + ReadProcessMemory(handle, (LPDWORD)(address+OFFSET_PLAYER_PKM_SUMMON_P2), &address, sizeof(DWORD), NULL); + ReadProcessMemory(handle, (LPDWORD)(address+OFFSET_PLAYER_PKM_SUMMON_P3), &address, sizeof(DWORD), NULL); + ReadProcessMemory(handle, (LPDWORD)(address+OFFSET_PLAYER_PKM_SUMMON_P4), &statusSummoned, 4, NULL); + + CloseHandle(handle); + + Local obj = Object::New(isolate); + obj->Set(context, String::NewFromUtf8(isolate, "status").ToLocalChecked(), Number::New(isolate, statusSummoned)); + Local argv[] = {obj}; args.GetReturnValue().Set(obj); } @@ -1275,8 +1440,10 @@ void dragItemtoBellow(){ Sleep(50); - ::ZeroMemory(&input, sizeof(INPUT)); input.type = INPUT_MOUSE; input.mi.time = 0; - input.mi.dwFlags = MOUSEEVENTF_LEFTUP; + ::ZeroMemory(&input, sizeof(INPUT)); + input.type = INPUT_MOUSE; + input.mi.time = 0; + input.mi.dwFlags = MOUSEEVENTF_LEFTUP; SendInput(1, &input, sizeof(INPUT)); Sleep(50); @@ -1284,126 +1451,8 @@ void dragItemtoBellow(){ //SetCursorPos(center.x+sqm.x*cProfile->commands[i].pos[0], center.y+sqm.y*cProfile->commands[i].pos[1]); } - -Coords getPlayerPkmPos(HANDLE handle){ - Coords playerPkmPos; - DWORD_PTR baseaddr; - - baseaddr=0; - - do{ - /* - LPDWORD is just a typedef for DWORD* and when a Windows SDK function parameter is a "LPsomething" - you generally need to pass a pointer to a "something" (except for the LP[C][W]STR string types). - */ - printf("\nLooking for the PLAYER'S POKEMON\n"); - ReadProcessMemory(handle, (LPDWORD)(BASEADDR_PLAYER_PKM_POSX), &baseaddr, 4, NULL); - printf("player's pokemon address: %02X\n", baseaddr); - - if(ReadProcessMemory(handle, (LPDWORD)(baseaddr), &playerPkmPos.x, 4, NULL)){ - printf("playerPkmPos.x: %d\n", playerPkmPos.x); - }else{ - printf("ReadProcessMemory Failed, error code: %d\n", GetLastError()); - /* - 299 (0x12B) - Only part of a ReadProcessMemory or WriteProcessMemory request was completed. - */ - } - - ReadProcessMemory(handle, (LPDWORD)(BASEADDR_PLAYER_PKM_POSY), &baseaddr, 4, NULL); - ReadProcessMemory(handle, (LPDWORD)(baseaddr), &playerPkmPos.y, 4, NULL); - }while(playerPkmPos.x > 65534 || playerPkmPos.x <=0); - - return playerPkmPos; -} - -//Gets position of the gobal var BASEADDR_WANTED_POSX in ce -Coords getTargetPkmPos(HANDLE handle){ - Coords targetPkmPos; - DWORD_PTR baseaddr; - - printf("handle inside function, value: %p\n", handle); - baseaddr = 0; - - do{ - printf("\nLooking for the wanted pokemon\n"); - ReadProcessMemory(handle, (LPDWORD)(BASEADDR_WANTED_POSX), &baseaddr, 4, NULL); - printf("targetpkmpos address: %02X\n", baseaddr); - - /* - LPDWORD is just a typedef for DWORD* and when a Windows SDK function parameter is a "LPsomething" - you generally need to pass a pointer to a "something" (except for the LP[C][W]STR string types). - */ - - if(ReadProcessMemory(handle, (LPDWORD)(baseaddr), &targetPkmPos.x, 4, NULL)){ - printf("targetPkmPos.x: %d\n", targetPkmPos.x); - }else{ - printf("ReadProcessMemory Failed, error code: %d\n", GetLastError()); - /* - 299 (0x12B) - Only part of a ReadProcessMemory or WriteProcessMemory request was completed. - */ - } - - ReadProcessMemory(handle, (LPDWORD)(BASEADDR_WANTED_POSY), &baseaddr, 4, NULL); - ReadProcessMemory(handle, (LPDWORD)(baseaddr), &targetPkmPos.y, 4, NULL); - }while(targetPkmPos.x >= 65535 || targetPkmPos.x <=0); - - return targetPkmPos; -} - -void checkSummonPkm(HANDLE handle, int summonObjective){ - - //summonObjective - // 0 = Not Summoned - // 1 = Summoned - - int pkmSummonStatus = 0; - INPUT input, input2[2]; - - //printf("\nHandle checksummonpkm: %d, %d\n", handle, &handle); - do{ - ReadProcessMemory(handle, (LPDWORD)(moduleAddr+BASEADDR_SUMMONSTATUS), &pkmSummonStatus, 1, NULL); - printf("\nsummonStatus: %d\n", pkmSummonStatus); - - if(pkmSummonStatus != summonObjective){ - ::ZeroMemory(&input, sizeof(INPUT)); - - //move mouse to pkmSlot position - input.type = INPUT_MOUSE; - input.mi.dx = pkmSlot.x*65535/SCREEN_X; - input.mi.dy = pkmSlot.y*65535/SCREEN_Y; - input.mi.time = 0; - input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE; - SendInput(1, &input, sizeof(INPUT)); - - Sleep(50); - - ::ZeroMemory(input2, 2*sizeof(INPUT)); - - input2[0].type = INPUT_MOUSE; - input2[0].mi.time = 0; - input2[0].mi.dwFlags = MOUSEEVENTF_RIGHTDOWN; - - input2[1].type = INPUT_MOUSE; - input2[1].mi.time = 0; - input2[1].mi.dwFlags = MOUSEEVENTF_RIGHTUP; - SendInput(2, input2, sizeof(INPUT)); - } - - //sometimes sendInput takes some time to execute. This is a work arround to wait for the sendInput - Sleep(300); - - if(fPause){ - pause(); - } - - }while(pkmSummonStatus<1); - -} - void revivePokemon(){ - INPUT input, input2[2]; + INPUT input, input2[2], input3[3]; ::ZeroMemory(&input, sizeof(INPUT)); @@ -1511,34 +1560,8 @@ void revivePokemon(){ SendInput(2, input2, sizeof(INPUT)); } -Coords getGameTargetPos(Coords targetPos, Coords playerPos){ - int sqmDiffX, sqmDiffY; - Coords targetScreenPos; - - sqmDiffX = targetPos.x - playerPos.x; - sqmDiffY = targetPos.y - playerPos.y; - printf("sqmDiff: %d, %d\n", sqmDiffX, sqmDiffY); - printf("center: %d, %d\n", center.x, center.y); - - if(sqmDiffX>7){ - sqmDiffX = 7; - }else if(sqmDiffX<-7){ - sqmDiffX = -7; - } - - if(sqmDiffY>5){ - sqmDiffY = 5; - }else if(sqmDiffY<-5){ - sqmDiffY = -5; - } - - targetScreenPos.x = center.x + (sqmDiffX*(sqm.x)); - targetScreenPos.y = center.y + (sqmDiffY*(sqm.y)); - return targetScreenPos; -} - void swapPokemon(){ - INPUT input, input2[2]; + INPUT input, input2[2], input4[4]; ::ZeroMemory(&input, sizeof(INPUT)); //move mouse to pkmSlot position @@ -1713,93 +1736,22 @@ void revivePkmSync(const FunctionCallbackInfo& args){ SendInput(3, input3, sizeof(INPUT)); - /*OLD Revive function - - //move and click revive in revive slot - input.type = INPUT_MOUSE; - input.mi.dx = reviveSlot.x*65535/SCREEN_X; - input.mi.dy = reviveSlot.y*65535/SCREEN_Y; - input.mi.time = 0; - input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE; - SendInput(1, &input, sizeof(INPUT)); - //SetCursorPos(reviveSlot.x, reviveSlot.y); - - Sleep(50); - - input.type = INPUT_MOUSE; - input.mi.time = 0; - input.mi.dwFlags = MOUSEEVENTF_RIGHTDOWN; - SendInput(1,&input,sizeof(INPUT)); - - Sleep(50); - - input.type = INPUT_MOUSE; - input.mi.time = 0; - input.mi.dwFlags = MOUSEEVENTF_RIGHTUP; - SendInput(1,&input,sizeof(INPUT)); - - Sleep(40); - - //point to pkmslot and use selected revive - //sendinput with mousemovement is smoothly. it simulated mouse movements instead of flickering from a position to another - input.type = INPUT_MOUSE; - input.mi.dx = pkmSlot.x*65535/SCREEN_X; - input.mi.dy = pkmSlot.y*65535/SCREEN_Y; - input.mi.time = 0; - input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE; - SendInput(1, &input, sizeof(INPUT)); - //SetCursorPos(pkmSlot.x, pkmSlot.y); - - Sleep(40); - - input.type = INPUT_MOUSE; - input.mi.time = 0; - input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN; - SendInput(1,&input,sizeof(INPUT)); - - Sleep(50); - - input.type = INPUT_MOUSE; - input.mi.time = 0; - input.mi.dwFlags = MOUSEEVENTF_LEFTUP; - SendInput(1,&input,sizeof(INPUT)); - - Sleep(40); - - //summon pokemon - SetCursorPos(pkmSlot.x, pkmSlot.y); - - Sleep(125); - - input.type = INPUT_MOUSE; - input.mi.time = 0; - input.mi.dwFlags = MOUSEEVENTF_RIGHTDOWN; - SendInput(1,&input,sizeof(INPUT)); - - Sleep(80); - - input.type = INPUT_MOUSE; - input.mi.time = 0; - input.mi.dwFlags = MOUSEEVENTF_RIGHTUP; - SendInput(1,&input,sizeof(INPUT)); - */ - Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; args.GetReturnValue().Set(val); } static void registerHkRevivePkm(uv_work_t *req){ - Work *work = static_cast(req->data); + WorkHk *work= static_cast(req->data); //fill the global var screen resolution SCREEN_X = GetSystemMetrics(SM_CXSCREEN); SCREEN_Y = GetSystemMetrics(SM_CYSCREEN); //0x2E (delete) - if(RegisterHotKey(NULL, 1, NULL, 0x2E)){ + if(RegisterHotKey(NULL, 1, NULL, work->keyCode)){ MSG msg = {0}; while (GetMessage(&msg, NULL, 0, 0) != 0){ @@ -1816,30 +1768,20 @@ static void registerHkRevivePkm(uv_work_t *req){ } } } -void sendSygnalHkRevivePkm(uv_async_t *handle) { - Isolate* isolate = Isolate::GetCurrent(); - v8::HandleScope handleScope(isolate); - - uv_work_t *req = ((uv_work_t*) handle->data); - Work *work = static_cast (req->data); - - Local val = Number::New(isolate, 1); - Handle argv[] = {val}; - //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); -} void registerHkRevivePkmAsync(const FunctionCallbackInfo& args){ Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); - Work* work = new Work(); + WorkHk* work = new WorkHk(); work->request.data = work; + work->keyCode = args[0]->Int32Value(context).ToChecked(); //store the callback from JS in the work package to invoke later - Local callback = Local::Cast(args[0]); + Local callback = Local::Cast(args[1]); work->callback.Reset(isolate, callback); //worker thread using libuv - uv_async_init(uv_default_loop(), &work->async, sendSygnalHkRevivePkm); + //uv_async_init(uv_default_loop(), &work->async, sendSygnalHkRevivePkm); uv_queue_work(uv_default_loop(), &work->request, registerHkRevivePkm, NULL); args.GetReturnValue().Set(Undefined(isolate)); @@ -2155,6 +2097,7 @@ static void getPlayerPos(uv_work_t *req){ } static void getPlayerPosComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); WorkPkm *work = static_cast(req->data); @@ -2165,14 +2108,14 @@ static void getPlayerPosComplete(uv_work_t *req, int status){ y = work->coords[0].y; z = work->coords[0].z; - obj->Set(String::NewFromUtf8(isolate, "posx"), Number::New(isolate, x)); - obj->Set(String::NewFromUtf8(isolate, "posy"), Number::New(isolate, y)); - obj->Set(String::NewFromUtf8(isolate, "posz"), Number::New(isolate, z)); + obj->Set(context, String::NewFromUtf8(isolate, "posx").ToLocalChecked(), Number::New(isolate, x)); + obj->Set(context, String::NewFromUtf8(isolate, "posy").ToLocalChecked(), Number::New(isolate, y)); + obj->Set(context, String::NewFromUtf8(isolate, "posz").ToLocalChecked(), Number::New(isolate, z)); //prepare error vars - Handle argv[] = {obj}; + Local argv[] = {obj}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); //Free up the persistent function callback work->callback.Reset(); @@ -2198,7 +2141,6 @@ void getPlayerPosAsync(const FunctionCallbackInfo& args){ static void runProfile(uv_work_t *req){ WorkProfile *work = static_cast(req->data); work->async.data = (void*) req; - ContentProfile *cProfile = work->profile; int contentLength = cProfile->sizeCommandList; Coords playerPos, targetPos; @@ -2272,16 +2214,12 @@ static void runProfile(uv_work_t *req){ printf("ok im inside of the loop time to send click to game. "); printf("%d, %d\n", abs(playerPos.x - targetPos.x), abs(playerPos.y - targetPos.y)); sendClickToGamePos(targetPos, playerPos); - //Sleep between each "check" movement command Sleep(1000); - playerPos = getPlayerPosC(); - if(fPause){ pause(); } - if(!fCaveBot){ break; } @@ -2596,15 +2534,16 @@ static void runProfile(uv_work_t *req){ } static void runProfileComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); WorkProfile *work = static_cast(req->data); //prepare error vars Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); //Free up the persistent function callback work->callback.Reset(); @@ -2612,20 +2551,31 @@ static void runProfileComplete(uv_work_t *req, int status){ } void sendSygnalProfile(uv_async_t *handle) { Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); uv_work_t *req = ((uv_work_t*) handle->data); WorkProfile *work = static_cast (req->data); Local obj = Object::New(isolate); - obj->Set(String::NewFromUtf8(isolate, "cmdPos"), Number::New(isolate, work->cmdPos)); + obj->Set(context, String::NewFromUtf8(isolate, "cmdPos").ToLocalChecked(), Number::New(isolate, work->cmdPos)); - Handle argv[] = {obj}; + Local argv[] = {obj}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); +} + +std::string convertToStdString(Isolate *isolate, Local v8String) { + char* fileNameChar = new char[v8String->Utf8Length(isolate)]; + (*v8String)->WriteUtf8(isolate, fileNameChar); + std::string fileNameUTF8; + fileNameUTF8.assign(fileNameChar); + delete fileNameChar; } + void runProfileAsync(const FunctionCallbackInfo& args){ Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); WorkProfile* work = new WorkProfile(); work->request.data = work; @@ -2633,13 +2583,12 @@ void runProfileAsync(const FunctionCallbackInfo& args){ //Mapping Js object to C++ class Local obj = args[0]->ToObject(); - Local fileNameValue = obj->Get(String::NewFromUtf8(isolate, "fileName")); - v8::String::Utf8Value filename_utfValue(fileNameValue); + std::string fileNameUTF8 = convertToStdString(isolate, fileNameString); Local contentArray = Local::Cast( - obj->Get( - String::NewFromUtf8(isolate, "content") - ) + obj->Get(context, + String::NewFromUtf8(isolate, "content").ToLocalChecked() + ).ToLocalChecked() ); int contentLength = contentArray->Length(); @@ -2648,8 +2597,8 @@ void runProfileAsync(const FunctionCallbackInfo& args){ //ContentProfile *cProfile = (ContentProfile*)malloc(contentLength*sizeof(struct commandList)+sizeof(struct contentProfile*)); work->profile = cProfile; - cProfile->fileName = (char*)malloc(filename_utfValue.length()+1); - strcpy(cProfile->fileName, std::string(*filename_utfValue, filename_utfValue.length()).c_str()); + cProfile->fileName = (char*)malloc(fileNameUTF8.length()+1); + strcpy(cProfile->fileName, fileNameUTF8.c_str()); cProfile->sizeCommandList = contentLength; @@ -2665,45 +2614,45 @@ void runProfileAsync(const FunctionCallbackInfo& args){ arrObj = Local::Cast(contentArray->Get(i)); //read cmdType - cmdTypeValue = arrObj->Get(String::NewFromUtf8(isolate, "cmdType")); - v8::String::Utf8Value cmdType_utfValue(cmdTypeValue); - cmdType = std::string(*cmdType_utfValue, cmdType_utfValue.length()).c_str(); + cmdTypeValue = arrObj->Get(context, String::NewFromUtf8(isolate, "cmdType").ToLocalChecked()).ToLocalChecked(); + cmdType = convertToStdString(isolate, cmdTypeValue.As()); + //malloc cmdType char* cProfile->commands[i].cmdType = (char*)malloc(strlen(cmdType.c_str())+1); strcpy(cProfile->commands[i].cmdType, cmdType.c_str()); //check what command you have and execute the command if(strcmp(cProfile->commands[i].cmdType, "sleep") == 0){ - value = arrObj->Get(String::NewFromUtf8(isolate, "value")); - cProfile->commands[i].value = value->Int32Value(); + value = arrObj->Get(context, String::NewFromUtf8(isolate, "value").ToLocalChecked()).ToLocalChecked(); + cProfile->commands[i].value = value->Int32Value(context).ToChecked(); }else if(strcmp(cProfile->commands[i].cmdType, "check") == 0){ posArray = Local::Cast( - arrObj->Get( - String::NewFromUtf8(isolate, "pos") - ) + arrObj->Get(context, + String::NewFromUtf8(isolate, "pos").ToLocalChecked() + ).ToLocalChecked() ); for(unsigned int j=0; j < posArray->Length(); j++ ){ value = Local::Cast(posArray->Get(j)); - cProfile->commands[i].pos[j] = value->Int32Value(); + cProfile->commands[i].pos[j] = value->Int32Value(context).ToChecked(); } }else if(strcmp(cProfile->commands[i].cmdType, "mouseclick") == 0){ //read positions to cProfile struct posArray = Local::Cast( - arrObj->Get( - String::NewFromUtf8(isolate, "pos") - ) + arrObj->Get(context, + String::NewFromUtf8(isolate, "pos").ToLocalChecked() + ).ToLocalChecked() ); for(unsigned int j=0; j < posArray->Length(); j++ ){ value = Local::Cast(posArray->Get(j)); - cProfile->commands[i].pos[j] = value->Int32Value(); + cProfile->commands[i].pos[j] = value->Int32Value(context).ToChecked(); } //read clickType (left or right) to cProfile struct - clickTypeValue = arrObj->Get(String::NewFromUtf8(isolate, "clickType")); - v8::String::Utf8Value clickType_utfValue(clickTypeValue); - clickType = std::string(*clickType_utfValue, clickType_utfValue.length()).c_str(); + clickTypeValue = arrObj->Get(context, String::NewFromUtf8(isolate, "clickType").ToLocalChecked()).ToLocalChecked(); + clickType = convertToStdString(isolate, clickTypeValue.As()); + //malloc clickType char* cProfile->commands[i].clickType = (char*)malloc(strlen(clickType.c_str())+1); strcpy(cProfile->commands[i].clickType, clickType.c_str()); @@ -3036,7 +2985,7 @@ void stopProfileSync(const FunctionCallbackInfo& args){ //printf("fCaveBot: %d\n", fCaveBot); Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; args.GetReturnValue().Set(val); } @@ -3068,7 +3017,7 @@ void sendKey(const FunctionCallbackInfo& args){ Sleep(50); Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; args.GetReturnValue().Set(val); } @@ -3472,7 +3421,7 @@ void test(const FunctionCallbackInfo& args){ Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; args.GetReturnValue().Set(val); } @@ -3484,8 +3433,10 @@ void init(Local exports) { NODE_SET_METHOD(exports, "fish", fishAsync); NODE_SET_METHOD(exports, "readBlCounter", readBlCounterAsync); NODE_SET_METHOD(exports, "attackPkm", attackPkmAsync); + NODE_SET_METHOD(exports, "waitForDeath", waitForDeathAsync); NODE_SET_METHOD(exports, "isPkmNear", isPkmNearAsync); NODE_SET_METHOD(exports, "isPkmNearSync", isPkmNearSync); + NODE_SET_METHOD(exports, "isPlayerPkmSummoned", isPlayerPkmSummonedSync); NODE_SET_METHOD(exports, "revivePkm", revivePkmSync); NODE_SET_METHOD(exports, "registerHkSwapPkm", registerHkSwapPkmAsync); NODE_SET_METHOD(exports, "registerHkRevivePkm", registerHkRevivePkmAsync); @@ -3500,6 +3451,7 @@ void init(Local exports) { NODE_SET_METHOD(exports, "runCyberScript", runCyberScriptAsync); NODE_SET_METHOD(exports, "getScreenGamePos", getScreenGamePosAsync); NODE_SET_METHOD(exports, "test", test); + NODE_SET_METHOD(exports, "testread", testread); // NODE_SET_METHOD(exports, "sendKey", sendKey); } diff --git a/sourcecc/focus.cc b/sourcecc/focus.cc index 6d2d459..26281fe 100644 --- a/sourcecc/focus.cc +++ b/sourcecc/focus.cc @@ -19,7 +19,6 @@ using v8::Number; using v8::Value; using v8::Persistent; using v8::Function; -using v8::Handle; struct Work{ @@ -144,6 +143,7 @@ static void focusWindow(uv_work_t *req){ static void focusWindowComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); Work *work = static_cast(req->data); @@ -151,10 +151,10 @@ static void focusWindowComplete(uv_work_t *req, int status){ //Creates a variable of type Number which stores a value of v8::Number with value 1 //Local variables are just visible to this scope. Handles are visible even in Javascript Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); //Free up the persistent function callback work->callback.Reset(); diff --git a/sourcecc/mouse.cc b/sourcecc/mouse.cc index 5cac689..918a9f1 100644 --- a/sourcecc/mouse.cc +++ b/sourcecc/mouse.cc @@ -18,7 +18,6 @@ using v8::Boolean; using v8::Value; using v8::Persistent; using v8::Function; -using v8::Handle; using v8::Array; struct Work{ @@ -55,6 +54,7 @@ static void setCursorPos(uv_work_t *req){ static void setCursorPosComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); Work *work = static_cast(req->data); @@ -67,10 +67,10 @@ static void setCursorPosComplete(uv_work_t *req, int status){ //Creates a variable of type Number which stores a value of v8::Number with value 1 //Local variables are just visible to this scope. Handles are visible even in Javascript Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); //Free up the persistent function callback work->callback.Reset(); @@ -79,17 +79,18 @@ static void setCursorPosComplete(uv_work_t *req, int status){ void setCursorPosAsync(const FunctionCallbackInfo& args){ Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); Work* work = new Work(); work->request.data = work; Local objPos = Local::Cast(args[0]); - Local x = objPos->Get(String::NewFromUtf8(isolate, "x")); - Local y = objPos->Get(String::NewFromUtf8(isolate, "y")); + Local x = objPos->Get(context, String::NewFromUtf8(isolate, "x").ToLocalChecked()).ToLocalChecked(); + Local y = objPos->Get(context, String::NewFromUtf8(isolate, "y").ToLocalChecked()).ToLocalChecked(); //printf("coords X: %d\n", x->IntegerValue()); //returns a int64_t //printf("coords X: %d\n", x->Uint32Value()); - work->pos.x = x->Uint32Value(); - work->pos.y = y->Uint32Value(); + work->pos.x = x->Uint32Value(context).ToChecked(); + work->pos.y = y->Uint32Value(context).ToChecked(); //store the callback from JS in the work package to invoke later Local callback = Local::Cast(args[1]); @@ -125,16 +126,17 @@ static void leftClick(uv_work_t *req){ static void leftClickComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); v8::HandleScope handleScope(isolate); + Local context = isolate->GetCurrentContext(); Work *work = static_cast(req->data); //Creates a variable of type Number which stores a value of v8::Number with value 1 //Local variables are just visible to this scope. Handles are visible even in Javascript Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); //Free up the persistent function callback work->callback.Reset(); @@ -231,6 +233,7 @@ static void getColorFishing(uv_work_t *req){ static void getColorFishingComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); Work *work = static_cast(req->data); @@ -238,10 +241,10 @@ static void getColorFishingComplete(uv_work_t *req, int status){ //Creates a variable of type Number which stores a value of v8::Number with value 1 //Local variables are just visible to this scope. Handles are visible even in Javascript Local val = Number::New(isolate, 1); - Handle argv[] = {val}; + Local argv[] = {val}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); //Free up the persistent function callback work->callback.Reset(); @@ -250,18 +253,19 @@ static void getColorFishingComplete(uv_work_t *req, int status){ void getColorFishingAsync(const FunctionCallbackInfo& args){ Isolate* isolate = args.GetIsolate(); + Local context = isolate->GetCurrentContext(); Work* work = new Work(); work->request.data = work; Local posObj = Local::Cast(args[0]); - Local x = posObj->Get(String::NewFromUtf8(isolate, "x")); - work->pos.x = x->Uint32Value(); - Local y = posObj->Get(String::NewFromUtf8(isolate, "y")); - work->pos.y = y->Uint32Value(); + Local x = posObj->Get(context, String::NewFromUtf8(isolate, "x").ToLocalChecked()).ToLocalChecked(); + work->pos.x = x->Uint32Value(context).ToChecked(); + Local y = posObj->Get(context, String::NewFromUtf8(isolate, "y").ToLocalChecked()).ToLocalChecked(); + work->pos.y = y->Uint32Value(context).ToChecked(); - pid = args[1]->Int32Value(); - moduleAddr = args[2]->Int32Value(); + pid = args[1]->Int32Value(context).ToChecked(); + moduleAddr = args[2]->Int32Value(context).ToChecked(); //posObj->Set(String::NewFromUtf8(isolate, "x"), Number::New(isolate, x->Uint32Value())); //posObj->Set(String::NewFromUtf8(isolate, "y"), Number::New(isolate, y->Uint32Value())); @@ -306,6 +310,7 @@ static void getCursorPos(uv_work_t *req){ static void getCursorPosComplete(uv_work_t *req, int status){ Isolate* isolate = Isolate::GetCurrent(); + Local context = isolate->GetCurrentContext(); v8::HandleScope handleScope(isolate); // printf("isPkmNearComplete calculations started\n"); @@ -313,12 +318,12 @@ static void getCursorPosComplete(uv_work_t *req, int status){ Work *work = static_cast(req->data); Local obj = Object::New(isolate); - obj->Set(String::NewFromUtf8(isolate, "x"), Number::New(isolate, work->pos.x)); - obj->Set(String::NewFromUtf8(isolate, "y"), Number::New(isolate, work->pos.y)); + obj->Set(context, String::NewFromUtf8(isolate, "x").ToLocalChecked(), Number::New(isolate, work->pos.x)); + obj->Set(context, String::NewFromUtf8(isolate, "y").ToLocalChecked(), Number::New(isolate, work->pos.y)); - Handle argv[] = {obj}; + Local argv[] = {obj}; //execute the callback - Local::New(isolate, work->callback)->Call(isolate->GetCurrentContext()->Global(), 1, argv); + Local::New(isolate, work->callback)->Call(context, context->Global(), 1, argv); //Free up the persistent function callback work->callback.Reset();