From d7b3b34ad2c69fb90ce28818722e8affb3b3b16b Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Sun, 27 Oct 2019 17:48:16 +0300 Subject: [PATCH 01/10] fix: expose jsonrpc lib as global variable closes #16 --- jsonrpc.d.ts | 12 +- jsonrpc.js | 7 +- jsonrpc.js.map | 2 +- jsonrpc.ts | 14 +- test/index.js | 4 + tsconfig.build.json | 3 +- tsconfig.json | 3 +- yarn.lock | 362 ++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 395 insertions(+), 12 deletions(-) create mode 100644 yarn.lock diff --git a/jsonrpc.d.ts b/jsonrpc.d.ts index 1a68567..ab4a006 100644 --- a/jsonrpc.d.ts +++ b/jsonrpc.d.ts @@ -187,7 +187,7 @@ export declare const parseJsonRpcString: typeof parse; * @api public */ export declare function parseObject(obj: any): IParsedObject; -declare const jsonrpc: { +declare const jsonRpcGlobal: { JsonRpc: typeof JsonRpc; JsonRpcError: typeof JsonRpcError; request: typeof request; @@ -199,5 +199,11 @@ declare const jsonrpc: { parseJsonRpcObject: typeof parseJsonRpcObject; parseJsonRpcString: typeof parse; }; -export default jsonrpc; -export { jsonrpc }; +export default jsonRpcGlobal; +export declare const jsonrpc: typeof jsonRpcGlobal; +declare global { + const jsonrpc: typeof jsonRpcGlobal; + interface Window { + jsonrpc: typeof jsonRpcGlobal; + } +} diff --git a/jsonrpc.js b/jsonrpc.js index c4fb404..bcad001 100644 --- a/jsonrpc.js +++ b/jsonrpc.js @@ -394,7 +394,7 @@ var __extends = (this && this.__extends) || (function () { function isObject(obj) { return obj != null && typeof obj === 'object' && !Array.isArray(obj); } - var jsonrpc = { + var jsonRpcGlobal = { JsonRpc: JsonRpc, JsonRpcError: JsonRpcError, request: request, @@ -406,7 +406,8 @@ var __extends = (this && this.__extends) || (function () { parseJsonRpcObject: parseJsonRpcObject, parseJsonRpcString: exports.parseJsonRpcString, }; - exports.jsonrpc = jsonrpc; - exports.default = jsonrpc; + exports.default = jsonRpcGlobal; + exports.jsonrpc = jsonRpcGlobal; + (global || window).jsonrpc = jsonRpcGlobal; // tslint:disable-line }); //# sourceMappingURL=jsonrpc.js.map \ No newline at end of file diff --git a/jsonrpc.js.map b/jsonrpc.js.map index 11da60a..bf9500f 100644 --- a/jsonrpc.js.map +++ b/jsonrpc.js.map @@ -1 +1 @@ -{"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["jsonrpc.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["jsonrpc.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/jsonrpc.ts b/jsonrpc.ts index b6a348b..dba9304 100644 --- a/jsonrpc.ts +++ b/jsonrpc.ts @@ -481,7 +481,7 @@ function isObject (obj: any): boolean { return obj != null && typeof obj === 'object' && !Array.isArray(obj) } -const jsonrpc = { +const jsonRpcGlobal = { JsonRpc, JsonRpcError, request, @@ -494,5 +494,13 @@ const jsonrpc = { parseJsonRpcString, } -export default jsonrpc -export { jsonrpc } +export default jsonRpcGlobal +export const jsonrpc: typeof jsonRpcGlobal = jsonRpcGlobal + +declare global { + const jsonrpc: typeof jsonRpcGlobal + + interface Window { jsonrpc: typeof jsonRpcGlobal } +} + +((global || window) as any).jsonrpc = jsonRpcGlobal // tslint:disable-line diff --git a/test/index.js b/test/index.js index 7717452..40b9fb9 100644 --- a/test/index.js +++ b/test/index.js @@ -392,5 +392,9 @@ function test (jsonrpc) { tman.it('jsonrpc.parseJsonRpcString', function() { assert.strictEqual(jsonrpc.parse, jsonrpc.parseJsonRpcString) }) + + tman.it('jsonrpc exposed as global', function() { + assert.strictEqual(!!global.jsonrpc, true) + }) }) } diff --git a/tsconfig.build.json b/tsconfig.build.json index 131509a..bff4947 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -3,10 +3,11 @@ "compilerOptions": { "target": "es5", "module": "UMD", + "allowUmdGlobalAccess": true, "outDir": "./", "importHelpers": false, "noEmitHelpers": false, - "lib": ["es5"] + "lib": ["es5", "DOM"] }, "include": [ "jsonrpc.ts" diff --git a/tsconfig.json b/tsconfig.json index bfe602b..bb0a797 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,7 +9,8 @@ "node_modules/@types" ], "lib": [ - "es2018" + "es2018", + "dom" ], "sourceMap": true, "declaration": true, diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..d9d9194 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,362 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" + integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/highlight@^7.0.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@types/node@^12.11.1": + version "12.11.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.7.tgz#57682a9771a3f7b09c2497f28129a0462966524a" + integrity sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +arg@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.1.tgz#485f8e7c390ce4c5f78257dbea80d4be11feda4c" + integrity sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +chalk@^2.0.0, chalk@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +commander@^2.12.1, commander@^2.19.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +diff@^4.0.1, diff@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" + integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== + +doctrine@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" + integrity sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM= + dependencies: + esutils "^1.1.6" + isarray "0.0.1" + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esutils@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" + integrity sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +glob@^7.1.1, glob@~7.1.3: + version "7.1.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0" + integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +make-error@^1.1.1: + version "1.3.5" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" + integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +resolve@^1.3.2: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== + dependencies: + path-parse "^1.0.6" + +semver@^5.3.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +source-map-support@^0.5.6: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +thunks@~4.9.4: + version "4.9.5" + resolved "https://registry.yarnpkg.com/thunks/-/thunks-4.9.5.tgz#fc764983de4de7230a2f300cfe2dc77092bc38f4" + integrity sha512-L0s0QzX1x0fcsP52TQs42t3CGX/z6lw0Ktz0ciex47OUhog5K3AsfH3mQ4JTLBYbnsNBhaIUcVMrY8sR+0Lo6w== + +tman@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/tman/-/tman-1.9.0.tgz#f985acdf4a71779df27569b5552278ad23c0c95c" + integrity sha512-u6PlJFoeIAJQoFdnsYi9bR8fi6AHE++dvOIsHjmct5M41+s+9LdAK/NqNy+0zKvAsFsMVUX2FnITIEoS7xb3Vw== + dependencies: + commander "^2.19.0" + diff "~4.0.1" + glob "~7.1.3" + supports-color "^6.1.0" + thunks "~4.9.4" + +ts-node@^8.4.1: + version "8.4.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.4.1.tgz#270b0dba16e8723c9fa4f9b4775d3810fd994b4f" + integrity sha512-5LpRN+mTiCs7lI5EtbXmF/HfMeCjzt7DH9CZwtkr6SywStrNQC723wG+aOWFiLNn7zT3kD/RnFqi3ZUfr4l5Qw== + dependencies: + arg "^4.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.6" + yn "^3.0.0" + +tslib@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" + integrity sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ== + +tslib@^1.8.0, tslib@^1.8.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + +tslint-eslint-rules@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-5.4.0.tgz#e488cc9181bf193fe5cd7bfca213a7695f1737b5" + integrity sha512-WlSXE+J2vY/VPgIcqQuijMQiel+UtmXS+4nvK4ZzlDiqBfXse8FAvkNnTcYhnQyOTW5KFM+uRRGXxYhFpuBc6w== + dependencies: + doctrine "0.7.2" + tslib "1.9.0" + tsutils "^3.0.0" + +tslint@^5.20.0: + version "5.20.0" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.0.tgz#fac93bfa79568a5a24e7be9cdde5e02b02d00ec1" + integrity sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g== + dependencies: + "@babel/code-frame" "^7.0.0" + builtin-modules "^1.1.1" + chalk "^2.3.0" + commander "^2.12.1" + diff "^4.0.1" + glob "^7.1.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + mkdirp "^0.5.1" + resolve "^1.3.2" + semver "^5.3.0" + tslib "^1.8.0" + tsutils "^2.29.0" + +tsutils@^2.29.0: + version "2.29.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" + integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== + dependencies: + tslib "^1.8.1" + +tsutils@^3.0.0: + version "3.17.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== + dependencies: + tslib "^1.8.1" + +typescript@^3.6.4: + version "3.6.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d" + integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +yn@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From 1f8e38cb321fb70a1e3da28405539c4b58b73a3b Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Mon, 28 Oct 2019 23:42:47 +0300 Subject: [PATCH 02/10] fix: repack with microbundle --- .gitignore | 11 +- jsonrpc.js | 415 +----- jsonrpc.js.map | 2 +- jsonrpc.mjs | 2 + jsonrpc.mjs.map | 1 + jsonrpc.umd.js | 2 + jsonrpc.umd.js.map | 1 + package.json | 18 +- tsconfig.json | 5 +- yarn.lock | 3486 ++++++++++++++++++++++++++++++++++++++++++-- 10 files changed, 3381 insertions(+), 562 deletions(-) create mode 100644 jsonrpc.mjs create mode 100644 jsonrpc.mjs.map create mode 100644 jsonrpc.umd.js create mode 100644 jsonrpc.umd.js.map diff --git a/.gitignore b/.gitignore index 60f7cd5..08161e2 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,13 @@ test.js npm-debug.log .DS_Store -.esm-cache \ No newline at end of file +.esm-cache + +# Typescript +*.tsbuildinfo +.tsbuildinfo +buildcache +.buildcache +.rts2_cache_cjs +.rts2_cache_es +.rts2_cache_umd diff --git a/jsonrpc.js b/jsonrpc.js index bcad001..7429a2e 100644 --- a/jsonrpc.js +++ b/jsonrpc.js @@ -1,413 +1,2 @@ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -(function (factory) { - if (typeof module === "object" && typeof module.exports === "object") { - var v = factory(require, exports); - if (v !== undefined) module.exports = v; - } - else if (typeof define === "function" && define.amd) { - define(["require", "exports"], factory); - } -})(function (require, exports) { - // **Github:** https://github.com/teambition/jsonrpc-lite - // - // http://www.jsonrpc.org/specification - // **License:** MIT - 'use strict'; - Object.defineProperty(exports, "__esModule", { value: true }); - var hasOwnProperty = Object.prototype.hasOwnProperty; - var isInteger = typeof Number.isSafeInteger === 'function' - ? Number.isSafeInteger // ECMAScript 2015 - : function (num) { - return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991; - }; - var JsonRpc = /** @class */ (function () { - function JsonRpc() { - this.jsonrpc = '2.0'; - } - JsonRpc.prototype.serialize = function () { - return JSON.stringify(this); - }; - JsonRpc.VERSION = '2.0'; - return JsonRpc; - }()); - exports.JsonRpc = JsonRpc; - var RequestObject = /** @class */ (function (_super) { - __extends(RequestObject, _super); - function RequestObject(id, method, params) { - var _this = _super.call(this) || this; - _this.id = id; - _this.method = method; - if (params !== undefined) { - _this.params = params; - } - return _this; - } - return RequestObject; - }(JsonRpc)); - exports.RequestObject = RequestObject; - var NotificationObject = /** @class */ (function (_super) { - __extends(NotificationObject, _super); - function NotificationObject(method, params) { - var _this = _super.call(this) || this; - _this.method = method; - if (params !== undefined) { - _this.params = params; - } - return _this; - } - return NotificationObject; - }(JsonRpc)); - exports.NotificationObject = NotificationObject; - var SuccessObject = /** @class */ (function (_super) { - __extends(SuccessObject, _super); - function SuccessObject(id, result) { - var _this = _super.call(this) || this; - _this.id = id; - _this.result = result; - return _this; - } - return SuccessObject; - }(JsonRpc)); - exports.SuccessObject = SuccessObject; - var ErrorObject = /** @class */ (function (_super) { - __extends(ErrorObject, _super); - // tslint:disable-next-line:no-shadowed-variable - function ErrorObject(id, error) { - var _this = _super.call(this) || this; - _this.id = id; - _this.error = error; - _this.id = id; - _this.error = error; - return _this; - } - return ErrorObject; - }(JsonRpc)); - exports.ErrorObject = ErrorObject; - var JsonRpcParsed = /** @class */ (function () { - function JsonRpcParsed(payload, type) { - this.payload = payload; - this.type = type; - this.payload = payload; - this.type = type; - } - return JsonRpcParsed; - }()); - exports.JsonRpcParsed = JsonRpcParsed; - /** - * JsonRpcError Class - * - * @param {String} message - * @param {Integer} code - * @return {String} name: optional - * @api public - */ - var JsonRpcError = /** @class */ (function () { - function JsonRpcError(message, code, data) { - this.message = message; - this.code = isInteger(code) ? code : 0; - if (data != null) { - this.data = data; - } - } - JsonRpcError.invalidRequest = function (data) { - return new JsonRpcError('Invalid request', -32600, data); - }; - JsonRpcError.methodNotFound = function (data) { - return new JsonRpcError('Method not found', -32601, data); - }; - JsonRpcError.invalidParams = function (data) { - return new JsonRpcError('Invalid params', -32602, data); - }; - JsonRpcError.internalError = function (data) { - return new JsonRpcError('Internal error', -32603, data); - }; - JsonRpcError.parseError = function (data) { - return new JsonRpcError('Parse error', -32700, data); - }; - return JsonRpcError; - }()); - exports.JsonRpcError = JsonRpcError; - /** - * Creates a JSON-RPC 2.0 request object - * - * @param {String|Integer} id - * @param {String} method - * @param {Object|Array} [params]: optional - * @return {Object} JsonRpc object - * @api public - */ - function request(id, method, params) { - var object = new RequestObject(id, method, params); - validateMessage(object, true); - return object; - } - exports.request = request; - /** - * Creates a JSON-RPC 2.0 notification object - * - * @param {String} method - * @param {Object|Array} [params]: optional - * @return {Object} JsonRpc object - * @api public - */ - function notification(method, params) { - var object = new NotificationObject(method, params); - validateMessage(object, true); - return object; - } - exports.notification = notification; - /** - * Creates a JSON-RPC 2.0 success response object - * - * @param {String|Integer} id - * @param {Mixed} result - * @return {Object} JsonRpc object - * @api public - */ - function success(id, result) { - var object = new SuccessObject(id, result); - validateMessage(object, true); - return object; - } - exports.success = success; - /** - * Creates a JSON-RPC 2.0 error response object - * - * @param {String|Integer} id - * @param {Object} JsonRpcError error - * @return {Object} JsonRpc object - * @api public - */ - function error(id, err) { - var object = new ErrorObject(id, err); - validateMessage(object, true); - return object; - } - exports.error = error; - function parse(message) { - if (!isString(message)) { - return new JsonRpcParsed(JsonRpcError.invalidRequest(message), "invalid" /* invalid */); - } - var jsonrpcObj; - try { - jsonrpcObj = JSON.parse(message); - } - catch (err) { - return new JsonRpcParsed(JsonRpcError.parseError(message), "invalid" /* invalid */); - } - return parseJsonRpcObject(jsonrpcObj); - } - exports.parse = parse; - /** - * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it. - * If successful, determine what objects are inside (response, notification, - * success, error, or invalid), and return their types and properly formatted objects. - * - * @param {Object|Array} jsonrpcObj - * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`: - * - * { - * type: - * payload: - * } - * - * @api public - */ - function parseJsonRpcObject(jsonrpcObj) { - if (!Array.isArray(jsonrpcObj)) { - return parseObject(jsonrpcObj); - } - if (jsonrpcObj.length === 0) { - return new JsonRpcParsed(JsonRpcError.invalidRequest(jsonrpcObj), "invalid" /* invalid */); - } - var parsedObjectArray = []; - for (var i = 0, len = jsonrpcObj.length; i < len; i++) { - parsedObjectArray[i] = parseObject(jsonrpcObj[i]); - } - return parsedObjectArray; - } - exports.parseJsonRpcObject = parseJsonRpcObject; - /** - * Alias for `parse` method. - * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON. - * @api public - */ - exports.parseJsonRpcString = parse; - /** - * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON. - * If successful, determine what object is it (response, notification, - * success, error, or invalid), and return it's type and properly formatted object. - * - * @param {Object} obj - * @return {Object} an `JsonRpcParsed` object with `type` and `payload`: - * - * { - * type: - * payload: - * } - * - * @api public - */ - function parseObject(obj) { - var err = null; - var payload = null; - var payloadType = "invalid" /* invalid */; - if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) { - err = JsonRpcError.invalidRequest(obj); - payloadType = "invalid" /* invalid */; - } - else if (!hasOwnProperty.call(obj, 'id')) { - var tmp = obj; - payload = new NotificationObject(tmp.method, tmp.params); - err = validateMessage(payload); - payloadType = "notification" /* notification */; - } - else if (hasOwnProperty.call(obj, 'method')) { - var tmp = obj; - payload = new RequestObject(tmp.id, tmp.method, tmp.params); - err = validateMessage(payload); - payloadType = "request" /* request */; - } - else if (hasOwnProperty.call(obj, 'result')) { - var tmp = obj; - payload = new SuccessObject(tmp.id, tmp.result); - err = validateMessage(payload); - payloadType = "success" /* success */; - } - else if (hasOwnProperty.call(obj, 'error')) { - var tmp = obj; - payloadType = "error" /* error */; - if (tmp.error == null) { - err = JsonRpcError.internalError(tmp); - } - else { - var errorObj = new JsonRpcError(tmp.error.message, tmp.error.code, tmp.error.data); - if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) { - err = JsonRpcError.internalError(tmp); - } - else { - payload = new ErrorObject(tmp.id, errorObj); - err = validateMessage(payload); - } - } - } - if (err == null && payload != null) { - return new JsonRpcParsed(payload, payloadType); - } - return new JsonRpcParsed(err != null ? err : JsonRpcError.invalidRequest(obj), "invalid" /* invalid */); - } - exports.parseObject = parseObject; - // if error, return error, else return null - function validateMessage(obj, throwIt) { - var err = null; - if (obj instanceof RequestObject) { - err = checkId(obj.id); - if (err == null) { - err = checkMethod(obj.method); - } - if (err == null) { - err = checkParams(obj.params); - } - } - else if (obj instanceof NotificationObject) { - err = checkMethod(obj.method); - if (err == null) { - err = checkParams(obj.params); - } - } - else if (obj instanceof SuccessObject) { - err = checkId(obj.id); - if (err == null) { - err = checkResult(obj.result); - } - } - else if (obj instanceof ErrorObject) { - err = checkId(obj.id, true); - if (err == null) { - err = checkError(obj.error); - } - } - if (throwIt && err != null) { - throw err; - } - return err; - } - function checkId(id, maybeNull) { - if (maybeNull && id === null) { - return null; - } - return isString(id) || isInteger(id) - ? null - : JsonRpcError.internalError('"id" must be provided, a string or an integer.'); - } - function checkMethod(method) { - return isString(method) ? null : JsonRpcError.invalidRequest(method); - } - function checkResult(result) { - return result === undefined - ? JsonRpcError.internalError('Result must exist for success Response objects') - : null; - } - function checkParams(params) { - if (params === undefined) { - return null; - } - if (Array.isArray(params) || isObject(params)) { - // ensure params can be stringify - try { - JSON.stringify(params); - return null; - } - catch (err) { - return JsonRpcError.parseError(params); - } - } - return JsonRpcError.invalidParams(params); - } - function checkError(err) { - if (!(err instanceof JsonRpcError)) { - return JsonRpcError.internalError('Error must be an instance of JsonRpcError'); - } - if (!isInteger(err.code)) { - return JsonRpcError.internalError('Invalid error code. It must be an integer.'); - } - if (!isString(err.message)) { - return JsonRpcError.internalError('Message must exist or must be a string.'); - } - return null; - } - function isString(obj) { - return obj !== '' && typeof obj === 'string'; - } - function isObject(obj) { - return obj != null && typeof obj === 'object' && !Array.isArray(obj); - } - var jsonRpcGlobal = { - JsonRpc: JsonRpc, - JsonRpcError: JsonRpcError, - request: request, - notification: notification, - success: success, - error: error, - parse: parse, - parseObject: parseObject, - parseJsonRpcObject: parseJsonRpcObject, - parseJsonRpcString: exports.parseJsonRpcString, - }; - exports.default = jsonRpcGlobal; - exports.jsonrpc = jsonRpcGlobal; - (global || window).jsonrpc = jsonRpcGlobal; // tslint:disable-line -}); -//# sourceMappingURL=jsonrpc.js.map \ No newline at end of file +var r=Object.prototype.hasOwnProperty,e="function"==typeof Number.isSafeInteger?Number.isSafeInteger:function(r){return"number"==typeof r&&isFinite(r)&&r===Math.floor(r)&&Math.abs(r)<=9007199254740991},t=function(){this.jsonrpc="2.0"};t.prototype.serialize=function(){return JSON.stringify(this)},t.VERSION="2.0";var n=function(r){function e(e,t,n){r.call(this),this.id=e,this.method=t,void 0!==n&&(this.params=n)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),o=function(r){function e(e,t){r.call(this),this.method=e,void 0!==t&&(this.params=t)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),i=function(r){function e(e,t){r.call(this),this.id=e,this.result=t}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),s=function(r){function e(e,t){r.call(this),this.id=e,this.error=t,this.id=e,this.error=t}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),a=function(r,e){this.payload=r,this.type=e,this.payload=r,this.type=e},u=function(r,t,n){this.message=r,this.code=e(t)?t:0,null!=n&&(this.data=n)};function c(r,e,t){var o=new n(r,e,t);return y(o,!0),o}function l(r,e){var t=new o(r,e);return y(t,!0),t}function p(r,e){var t=new i(r,e);return y(t,!0),t}function f(r,e){var t=new s(r,e);return y(t,!0),t}function d(r){if(!g(r))return new a(u.invalidRequest(r),"invalid");var e;try{e=JSON.parse(r)}catch(e){return new a(u.parseError(r),"invalid")}return h(e)}function h(r){if(!Array.isArray(r))return m(r);if(0===r.length)return new a(u.invalidRequest(r),"invalid");for(var e=[],t=0,n=r.length;t boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nconst jsonRpcGlobal = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonRpcGlobal\nexport const jsonrpc: typeof jsonRpcGlobal = jsonRpcGlobal\n\ndeclare global {\n const jsonrpc: typeof jsonRpcGlobal\n\n interface Window { jsonrpc: typeof jsonRpcGlobal }\n}\n\n((global || window) as any).jsonrpc = jsonRpcGlobal // tslint:disable-line\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams","jsonRpcGlobal","global","window"],"mappings":"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"} \ No newline at end of file diff --git a/jsonrpc.mjs b/jsonrpc.mjs new file mode 100644 index 0000000..7dcc83f --- /dev/null +++ b/jsonrpc.mjs @@ -0,0 +1,2 @@ +var r=Object.prototype.hasOwnProperty,n="function"==typeof Number.isSafeInteger?Number.isSafeInteger:function(r){return"number"==typeof r&&isFinite(r)&&r===Math.floor(r)&&Math.abs(r)<=9007199254740991},t=function(){this.jsonrpc="2.0"};t.prototype.serialize=function(){return JSON.stringify(this)},t.VERSION="2.0";var e=function(r){function n(n,t,e){r.call(this),this.id=n,this.method=t,void 0!==e&&(this.params=e)}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),o=function(r){function n(n,t){r.call(this),this.method=n,void 0!==t&&(this.params=t)}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),i=function(r){function n(n,t){r.call(this),this.id=n,this.result=t}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),s=function(r){function n(n,t){r.call(this),this.id=n,this.error=t,this.id=n,this.error=t}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),a=function(r,n){this.payload=r,this.type=n,this.payload=r,this.type=n},u=function(r,t,e){this.message=r,this.code=n(t)?t:0,null!=e&&(this.data=e)};function l(r,n,t){var o=new e(r,n,t);return y(o,!0),o}function c(r,n){var t=new o(r,n);return y(t,!0),t}function f(r,n){var t=new i(r,n);return y(t,!0),t}function p(r,n){var t=new s(r,n);return y(t,!0),t}function d(r){if(!E(r))return new a(u.invalidRequest(r),"invalid");var n;try{n=JSON.parse(r)}catch(n){return new a(u.parseError(r),"invalid")}return h(n)}function h(r){if(!Array.isArray(r))return m(r);if(0===r.length)return new a(u.invalidRequest(r),"invalid");for(var n=[],t=0,e=r.length;t boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nconst jsonRpcGlobal = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonRpcGlobal\nexport const jsonrpc: typeof jsonRpcGlobal = jsonRpcGlobal\n\ndeclare global {\n const jsonrpc: typeof jsonRpcGlobal\n\n interface Window { jsonrpc: typeof jsonRpcGlobal }\n}\n\n((global || window) as any).jsonrpc = jsonRpcGlobal // tslint:disable-line\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams","jsonRpcGlobal","global","window"],"mappings":"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"} \ No newline at end of file diff --git a/jsonrpc.umd.js b/jsonrpc.umd.js new file mode 100644 index 0000000..9f3aec7 --- /dev/null +++ b/jsonrpc.umd.js @@ -0,0 +1,2 @@ +!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(r.jsonrpcLite={})}(this,function(r){var e=Object.prototype.hasOwnProperty,n="function"==typeof Number.isSafeInteger?Number.isSafeInteger:function(r){return"number"==typeof r&&isFinite(r)&&r===Math.floor(r)&&Math.abs(r)<=9007199254740991},t=function(){this.jsonrpc="2.0"};t.prototype.serialize=function(){return JSON.stringify(this)},t.VERSION="2.0";var o=function(r){function e(e,n,t){r.call(this),this.id=e,this.method=n,void 0!==t&&(this.params=t)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),i=function(r){function e(e,n){r.call(this),this.method=e,void 0!==n&&(this.params=n)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),s=function(r){function e(e,n){r.call(this),this.id=e,this.result=n}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),a=function(r){function e(e,n){r.call(this),this.id=e,this.error=n,this.id=e,this.error=n}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),u=function(r,e){this.payload=r,this.type=e,this.payload=r,this.type=e},c=function(r,e,t){this.message=r,this.code=n(e)?e:0,null!=t&&(this.data=t)};function l(r,e,n){var t=new o(r,e,n);return b(t,!0),t}function f(r,e){var n=new i(r,e);return b(n,!0),n}function p(r,e){var n=new s(r,e);return b(n,!0),n}function d(r,e){var n=new a(r,e);return b(n,!0),n}function h(r){if(!g(r))return new u(c.invalidRequest(r),"invalid");var e;try{e=JSON.parse(r)}catch(e){return new u(c.parseError(r),"invalid")}return v(e)}function v(r){if(!Array.isArray(r))return y(r);if(0===r.length)return new u(c.invalidRequest(r),"invalid");for(var e=[],n=0,t=r.length;n boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nconst jsonRpcGlobal = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonRpcGlobal\nexport const jsonrpc: typeof jsonRpcGlobal = jsonRpcGlobal\n\ndeclare global {\n const jsonrpc: typeof jsonRpcGlobal\n\n interface Window { jsonrpc: typeof jsonRpcGlobal }\n}\n\n((global || window) as any).jsonrpc = jsonRpcGlobal // tslint:disable-line\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams","jsonRpcGlobal","global","window"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 9c59d5b..c54904b 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,15 @@ ], "license": "MIT", "version": "2.1.0", + "source": "src/main/ts/index.ts", "main": "jsonrpc.js", + "module": "jsonrpc.mjs", + "unpkg": "jsonrpc.umd.js", + "browser": "jsonrpc.umd.js", "types": "jsonrpc.d.ts", + "typescript": { + "definition": "jsonrpc.d.ts" + }, "repository": { "type": "git", "url": "git@github.com:teambition/jsonrpc-lite.git" @@ -25,6 +32,7 @@ "dependencies": {}, "devDependencies": { "@types/node": "^12.11.1", + "microbundle": "^0.11.0", "tman": "^1.9.0", "ts-node": "^8.4.1", "tslint": "^5.20.0", @@ -32,7 +40,9 @@ "typescript": "^3.6.4" }, "scripts": { - "build": "tsc -p tsconfig.build.json", + "build:tsc": "tsc -p tsconfig.build.json", + "build:rollup": "microbundle jsonrpc.ts", + "build": "yarn build:rollup", "lint": "tslint -p tsconfig.json -t stylish jsonrpc.ts", "test": "npm run lint && tman" }, @@ -41,6 +51,10 @@ "jsonrpc.js", "jsonrpc.js.map", "jsonrpc.ts", - "jsonrpc.d.ts" + "jsonrpc.d.ts", + "jsonrpc.umd.js", + "jsonrpc.umd.js.map", + "jsonrpc.mjs", + "jsonrpc.mjs.map" ] } diff --git a/tsconfig.json b/tsconfig.json index bb0a797..a60d765 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,6 @@ "compileOnSave": false, "compilerOptions": { "target": "es2018", - "module": "commonjs", "moduleResolution": "node", "outDir": "./build", "typeRoots": [ @@ -14,10 +13,10 @@ ], "sourceMap": true, "declaration": true, - "importHelpers": true, + "importHelpers": false, + "noEmitHelpers": false, "newLine": "LF", "skipLibCheck": true, - "noEmitHelpers": true, "noImplicitReturns": false, "strict": true, "strictNullChecks": true, diff --git a/yarn.lock b/yarn.lock index d9d9194..e09a578 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,123 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== dependencies: "@babel/highlight" "^7.0.0" +"@babel/core@^7.2.2": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.4.tgz#6ebd9fe00925f6c3e177bb726a188b5f578088ff" + integrity sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.4" + "@babel/helpers" "^7.6.2" + "@babel/parser" "^7.6.4" + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.3" + "@babel/types" "^7.6.3" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.6.3", "@babel/generator@^7.6.4": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.4.tgz#a4f8437287bf9671b07f483b76e3bb731bc97671" + integrity sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w== + dependencies: + "@babel/types" "^7.6.3" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + +"@babel/helper-create-class-features-plugin@^7.2.1": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz#769711acca889be371e9bc2eb68641d55218021f" + integrity sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-member-expression-to-functions" "^7.5.5" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.5.5" + "@babel/helper-split-export-declaration" "^7.4.4" + +"@babel/helper-function-name@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" + integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== + dependencies: + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-get-function-arity@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" + integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-member-expression-to-functions@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" + integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== + dependencies: + "@babel/types" "^7.5.5" + +"@babel/helper-module-imports@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" + integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-optimise-call-expression@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" + integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-plugin-utils@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== + +"@babel/helper-replace-supers@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" + integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.5.5" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" + +"@babel/helper-split-export-declaration@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" + integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== + dependencies: + "@babel/types" "^7.4.4" + +"@babel/helpers@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz#681ffe489ea4dcc55f23ce469e58e59c1c045153" + integrity sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA== + dependencies: + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.2" + "@babel/types" "^7.6.0" + "@babel/highlight@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" @@ -18,11 +128,124 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@types/node@^12.11.1": +"@babel/parser@^7.6.0", "@babel/parser@^7.6.3", "@babel/parser@^7.6.4": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz#cb9b36a7482110282d5cb6dd424ec9262b473d81" + integrity sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A== + +"@babel/plugin-proposal-class-properties@7.2.1": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.1.tgz#c734a53e0a1ec40fe5c22ee5069d26da3b187d05" + integrity sha512-/4FKFChkQ2Jgb8lBDsvFX496YTi7UWTetVgS8oJUpX1e/DlaoeEK57At27ug8Hu2zI2g8bzkJ+8k9qrHZRPGPA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.2.1" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-jsx@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" + integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/polyfill@^7.0.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.6.0.tgz#6d89203f8b6cd323e8d946e47774ea35dc0619cc" + integrity sha512-q5BZJI0n/B10VaQQvln1IlDK3BTBJFbADx7tv+oXDPIDZuTo37H5Adb9jhlXm/fEN4Y7/64qD9mnrJJG7rmaTw== + dependencies: + core-js "^2.6.5" + regenerator-runtime "^0.13.2" + +"@babel/template@^7.1.0", "@babel/template@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" + integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.6.0" + "@babel/types" "^7.6.0" + +"@babel/traverse@^7.5.5", "@babel/traverse@^7.6.2", "@babel/traverse@^7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.3.tgz#66d7dba146b086703c0fb10dd588b7364cec47f9" + integrity sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.3" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/parser" "^7.6.3" + "@babel/types" "^7.6.3" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/types@^7.0.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0", "@babel/types@^7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz#3f07d96f854f98e2fbd45c64b0cb942d11e8ba09" + integrity sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA== + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/node@*", "@types/node@^12.11.1": version "12.11.7" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.7.tgz#57682a9771a3f7b09c2497f28129a0462966524a" integrity sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA== +"@types/q@^1.5.1": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" + integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== + +"@types/resolve@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" + integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== + dependencies: + "@types/node" "*" + +acorn-dynamic-import@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" + integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== + +acorn-jsx@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" + integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== + +acorn@^6.1.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" + integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== + +alphanum-sort@^1.0.0, alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -30,6 +253,19 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + arg@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.1.tgz#485f8e7c390ce4c5f78257dbea80d4be11feda4c" @@ -42,11 +278,90 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= + +asyncro@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" + integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== + +autoprefixer@^6.3.1: + version "6.7.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + integrity sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ= + dependencies: + browserslist "^1.7.6" + caniuse-db "^1.0.30000634" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.16" + postcss-value-parser "^3.2.3" + +autoprefixer@^9.0.0: + version "9.7.0" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.0.tgz#905ec19e50f04545fe9ff131182cc9ab25246901" + integrity sha512-j2IRvaCfrUxIiZun9ba4mhJ2omhw4OY88/yVzLO+lHhGBumAAK72PgM6gkbSN8iregPOn1ZlxGkmZh2CQ7X4AQ== + dependencies: + browserslist "^4.7.2" + caniuse-lite "^1.0.30001004" + chalk "^2.4.2" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.19" + postcss-value-parser "^4.0.2" + +babel-plugin-transform-async-to-promises@^0.8.3: + version "0.8.15" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-promises/-/babel-plugin-transform-async-to-promises-0.8.15.tgz#13b6d8ef13676b4e3c576d3600b85344bb1ba346" + integrity sha512-fDXP68ZqcinZO2WCiimCL9zhGjGXOnn3D33zvbh+yheZ/qOrNVVDDIBtAaM3Faz8TRvQzHiRKsu3hfrBAhEncQ== + +babylon@^6.15.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +balanced-match@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + integrity sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg= + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + +bl@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.0.tgz#3611ec00579fd18561754360b21e9f784500ff88" + integrity sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A== + dependencies: + readable-stream "^3.0.1" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -55,186 +370,2773 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +brotli-size@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/brotli-size/-/brotli-size-0.0.3.tgz#1d3855b38f182591a6f69da1516131676e5f62f2" + integrity sha512-bBIdd8uUGxKGldAVykxOqPegl+HlIm4FpXJamwWw5x77WCE8jO7AhXFE1YXOhOB28gS+2pTQete0FqRE6U5hQQ== + dependencies: + duplexer "^0.1.1" + iltorb "^2.0.5" + +browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: + version "1.7.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" + integrity sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk= + dependencies: + caniuse-db "^1.0.30000639" + electron-to-chromium "^1.2.7" + +browserslist@^4.0.0, browserslist@^4.7.2: + version "4.7.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.2.tgz#1bb984531a476b5d389cedecb195b2cd69fb1348" + integrity sha512-uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw== + dependencies: + caniuse-lite "^1.0.30001004" + electron-to-chromium "^1.3.295" + node-releases "^1.1.38" + +buble@^0.19.8: + version "0.19.8" + resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.8.tgz#d642f0081afab66dccd897d7b6360d94030b9d3d" + integrity sha512-IoGZzrUTY5fKXVkgGHw3QeXFMUNBFv+9l8a4QJKG1JhG3nCMHTdEX1DCOg8568E2Q9qvAQIiSokv6Jsgx8p2cA== + dependencies: + acorn "^6.1.1" + acorn-dynamic-import "^4.0.0" + acorn-jsx "^5.0.1" + chalk "^2.4.2" + magic-string "^0.25.3" + minimist "^1.2.0" + os-homedir "^2.0.0" + regexpu-core "^4.5.4" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +builtin-modules@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" + integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-api@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + integrity sha1-tTTnxzTE+B7F++isoq0kNUuWLGw= + dependencies: + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30001005" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30001005.tgz#a61131ed16f519fbef25612e36dced8e69635455" + integrity sha512-MSRfm2N6FRDSpAJ00ipCuFe0CNink5JJOFzl4S7fLSBJdowhGq3uMxzkWGTjvvReo1PuWfK5YYJydJJ+9mJebw== + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001004: + version "1.0.30001005" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001005.tgz#823054210be638c725521edcb869435dae46728d" + integrity sha512-g78miZm1Z5njjYR216a5812oPiLgV1ssndgGxITHWUopmjUrCswMisA0a2kSB7a0vZRox6JOKhM51+efmYN8Mg== + +chalk@^1.0.0, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chownr@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" + integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== + +clap@^1.0.9: + version "1.2.3" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" + integrity sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA== + dependencies: + chalk "^1.1.3" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +coa@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" + integrity sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0= + dependencies: + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE= + dependencies: + color-name "^1.0.0" + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^0.11.0: + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + integrity sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q= + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +color@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +colormin@^1.0.5: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + integrity sha1-6i90IKcrlogaOKrlnsEkpvcpgTM= + dependencies: + color "^0.11.0" + css-color-names "0.0.4" + has "^1.0.1" + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= + +commander@^2.12.1, commander@^2.19.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-with-sourcemaps@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== + dependencies: + source-map "^0.6.1" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +convert-source-map@^1.1.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== + dependencies: + safe-buffer "~5.1.1" + +core-js@^2.6.5: + version "2.6.10" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" + integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" + integrity sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A== + dependencies: + is-directory "^0.3.1" + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.1.0" + os-homedir "^1.0.1" + parse-json "^2.2.0" + require-from-string "^1.1.0" + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-modules-loader-core@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16" + integrity sha1-WQhmgpShvs0mGuCkziGwtVHyHRY= + dependencies: + icss-replace-symbols "1.1.0" + postcss "6.0.1" + postcss-modules-extract-imports "1.1.0" + postcss-modules-local-by-default "1.2.0" + postcss-modules-scope "1.1.0" + postcss-modules-values "1.3.0" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" + integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ== + dependencies: + boolbase "^1.0.0" + css-what "^2.1.2" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-selector-tokenizer@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" + integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + +css-tree@1.0.0-alpha.29: + version "1.0.0-alpha.29" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" + integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== + dependencies: + mdn-data "~1.1.0" + source-map "^0.5.3" + +css-tree@1.0.0-alpha.33: + version "1.0.0-alpha.33" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz#970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e" + integrity sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w== + dependencies: + mdn-data "2.0.4" + source-map "^0.5.3" + +css-unit-converter@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" + integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= + +css-what@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + +cssesc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + +cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.2" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@^3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + integrity sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg= + dependencies: + autoprefixer "^6.3.1" + decamelize "^1.1.2" + defined "^1.0.0" + has "^1.0.1" + object-assign "^4.0.1" + postcss "^5.0.14" + postcss-calc "^5.2.0" + postcss-colormin "^2.1.8" + postcss-convert-values "^2.3.4" + postcss-discard-comments "^2.0.4" + postcss-discard-duplicates "^2.0.1" + postcss-discard-empty "^2.0.1" + postcss-discard-overridden "^0.1.1" + postcss-discard-unused "^2.2.1" + postcss-filter-plugins "^2.0.0" + postcss-merge-idents "^2.1.5" + postcss-merge-longhand "^2.0.1" + postcss-merge-rules "^2.0.3" + postcss-minify-font-values "^1.0.2" + postcss-minify-gradients "^1.0.1" + postcss-minify-params "^1.0.4" + postcss-minify-selectors "^2.0.4" + postcss-normalize-charset "^1.1.0" + postcss-normalize-url "^3.0.7" + postcss-ordered-values "^2.1.0" + postcss-reduce-idents "^2.2.2" + postcss-reduce-initial "^1.0.0" + postcss-reduce-transforms "^1.0.3" + postcss-svgo "^2.1.1" + postcss-unique-selectors "^2.0.2" + postcss-value-parser "^3.2.3" + postcss-zindex "^2.0.1" + +cssnano@^4.1.7: + version "4.1.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.7" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" + integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== + dependencies: + css-tree "1.0.0-alpha.29" + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + integrity sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U= + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + +debug@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decompress-response@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" + integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== + dependencies: + mimic-response "^2.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +diff@^4.0.1, diff@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" + integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== + +doctrine@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" + integrity sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM= + dependencies: + esutils "^1.1.6" + isarray "0.0.1" + +dom-serializer@0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz#13650c850daffea35d8b626a4cfc4d3a17643fdb" + integrity sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domelementtype@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + dependencies: + is-obj "^1.0.0" + +duplexer@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.295: + version "1.3.296" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.296.tgz#a1d4322d742317945285d3ba88966561b67f3ac8" + integrity sha512-s5hv+TSJSVRsxH190De66YHb50pBGTweT9XGWYu/LMR20KX6TsjFzObo36CjVAzM+PUeeKSBRtm/mISlCzeojQ== + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" + integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.12.0, es-abstract@^1.5.1: + version "1.16.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" + integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.0" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-inspect "^1.6.0" + object-keys "^1.1.1" + string.prototype.trimleft "^2.1.0" + string.prototype.trimright "^2.1.0" + +es-to-primitive@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-promisify@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-6.0.2.tgz#525c23725b8510f5f1f2feb5a1fbad93a93e29b4" + integrity sha512-eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estree-walker@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" + integrity sha1-va/oCVOD2EFNXcLs9MkXO225QS4= + +estree-walker@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" + integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== + +estree-walker@^0.6.0, estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + +esutils@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" + integrity sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= + dependencies: + fill-range "^2.1.0" + +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= + dependencies: + is-extglob "^1.0.0" + +fastparse@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" + integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + +figures@^1.0.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= + +filesize@^3.5.11: + version "3.6.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +flatten@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= + +flow-remove-types@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/flow-remove-types/-/flow-remove-types-1.2.3.tgz#6131aefc7da43364bb8b479758c9dec7735d1a18" + integrity sha512-ypq/U3V+t9atYiOuSJd40tekCra03EHKoRsiK/wXGrsZimuum0kdwVY7Yv0HTaoXgHW1WiayomYd+Q3kkvPl9Q== + dependencies: + babylon "^6.15.0" + vlq "^0.2.1" + +for-in@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" + integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +generic-names@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-1.0.3.tgz#2d786a121aee508876796939e8e3bff836c20917" + integrity sha1-LXhqEhruUIh2eWk56OO/+DbCCRc= + dependencies: + loader-utils "^0.2.16" + +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= + dependencies: + is-glob "^2.0.0" + +glob@^7.1.1, glob@~7.1.3: + version "7.1.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0" + integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globalyzer@^0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.4.tgz#bc8e273afe1ac7c24eea8def5b802340c5cc534f" + integrity sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA== + +globrex@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== + +gzip-size@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" + integrity sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA= + dependencies: + duplexer "^0.1.1" + +gzip-size@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has@^1.0.0, has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + +icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= + +iltorb@^2.0.5: + version "2.4.4" + resolved "https://registry.yarnpkg.com/iltorb/-/iltorb-2.4.4.tgz#7ec303bbbd8c0cd4d44a847eb6c6d8490f9c7433" + integrity sha512-7Qk6O7TK3rSWVRVRkPehcNTSN+P2i7MsG9pWmw6iVw/W6NcoNj0rFKOuBDM6fbZV6NNGuUW3JBRem6Ozn4KXhg== + dependencies: + detect-libc "^1.0.3" + nan "^2.14.0" + npmlog "^4.1.2" + prebuild-install "^5.3.2" + which-pm-runs "^1.0.0" + +import-cwd@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= + dependencies: + is-extglob "^1.0.0" + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-svg@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + integrity sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk= + dependencies: + html-comment-regex "^1.1.0" + +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +jest-worker@^23.2.0: + version "23.2.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" + integrity sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk= + dependencies: + merge-stream "^1.0.1" + +js-base64@^2.1.9: + version "2.5.1" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" + integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1, js-yaml@^3.4.3: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A= + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" + integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== + dependencies: + minimist "^1.2.0" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= + +lodash.foreach@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" + integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.sumby@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.sumby/-/lodash.sumby-4.6.0.tgz#7d87737ddb216da2f7e5e7cd2dd9c403a7887346" + integrity sha1-fYdzfdshbaL35efNLdnEA6eIc0Y= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.17.13: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + +magic-string@^0.22.4: + version "0.22.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + integrity sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== + dependencies: + vlq "^0.2.2" + +magic-string@^0.25.2, magic-string@^0.25.3: + version "0.25.4" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.4.tgz#325b8a0a79fc423db109b77fd5a19183b7ba5143" + integrity sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw== + dependencies: + sourcemap-codec "^1.4.4" + +make-error@^1.1.1: + version "1.3.5" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" + integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + +math-expression-evaluator@^1.2.14: + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw= + +math-random@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" + integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== + +maxmin@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-2.1.0.tgz#4d3b220903d95eee7eb7ac7fa864e72dc09a3166" + integrity sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY= + dependencies: + chalk "^1.0.0" + figures "^1.0.1" + gzip-size "^3.0.0" + pretty-bytes "^3.0.0" + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +mdn-data@~1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" + integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== + +merge-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= + dependencies: + readable-stream "^2.0.1" + +microbundle@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/microbundle/-/microbundle-0.11.0.tgz#266bcf4210192698c23fe3bf3581ab81d31a14d0" + integrity sha512-Lt2f8OhC2y2uKyJ5zA8lEEiDsIAbk6yllBuoAWLIdYVIXYqOdN9mO3DI7VW7x/fw87gdnCLIJdVtpP6kaI99LA== + dependencies: + "@babel/core" "^7.2.2" + "@babel/plugin-proposal-class-properties" "7.2.1" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@babel/polyfill" "^7.0.0" + asyncro "^3.0.0" + autoprefixer "^9.0.0" + babel-plugin-transform-async-to-promises "^0.8.3" + brotli-size "^0.0.3" + camelcase "^5.0.0" + chalk "^2.4.0" + cssnano "^4.1.7" + es6-promisify "^6.0.1" + gzip-size "^5.0.0" + pretty-bytes "^5.1.0" + rollup "^0.67.3" + rollup-plugin-alias "^1.5.1" + rollup-plugin-babel "^4.1.0-0" + rollup-plugin-buble "^0.19.4" + rollup-plugin-bundle-size "^1.0.1" + rollup-plugin-commonjs "^9.0.0" + rollup-plugin-es3 "^1.1.0" + rollup-plugin-flow "^1.1.1" + rollup-plugin-json "^3.1.0" + rollup-plugin-node-resolve "^4.0.0" + rollup-plugin-postcss "^1.6.1" + rollup-plugin-preserve-shebang "^0.1.6" + rollup-plugin-sizes "^0.4.2" + rollup-plugin-terser "^3.0.0" + rollup-plugin-typescript2 "^0.19.0" + sade "^1.4.0" + tiny-glob "^0.2.6" + tslib "^1.9.0" + typescript ">=2.8.3" + +micromatch@^2.3.11: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mimic-response@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.0.0.tgz#996a51c60adf12cb8a87d7fb8ef24c2f3d5ebb46" + integrity sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ== + +minimatch@^3.0.2, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + +mkdirp@^0.5.1, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +module-details-from-path@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" + integrity sha1-EUyUlnPiqKNenTV4hSeqN7Z52is= + +mri@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a" + integrity sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w== + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nan@^2.14.0: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + +napi-build-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.1.tgz#1381a0f92c39d66bf19852e7873432fc2123e508" + integrity sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA== + +node-abi@^2.7.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.12.0.tgz#40e9cfabdda1837863fa825e7dfa0b15686adf6f" + integrity sha512-VhPBXCIcvmo/5K8HPmnWJyyhvgKxnHTUMXR/XwGHV68+wrgkzST4UmQrY/XszSWA5dtnXpNp528zkcyJ/pzVcw== + dependencies: + semver "^5.4.1" + +node-releases@^1.1.38: + version "1.1.39" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.39.tgz#c1011f30343aff5b633153b10ff691d278d08e8d" + integrity sha512-8MRC/ErwNCHOlAFycy9OPca46fQYUjbJRDcZTHVWIGXIjYLM73k70vv3WkYutVnM4cCo4hE0MqBVVZjP6vjISA== + dependencies: + semver "^6.3.0" + +noop-logger@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" + integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= + +normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@^1.4.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +npmlog@^4.0.1, npmlog@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-inspect@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" + integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.values@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" + integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.12.0" + function-bind "^1.1.1" + has "^1.0.3" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-homedir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-2.0.0.tgz#a0c76bb001a8392a503cbd46e7e650b3423a923c" + integrity sha512-saRNz0DSC5C/I++gFIaJTXoFJMRwiP5zHar5vV3xQ2TkgEw6hDCcU5F272JjUylpiVgBrZNQHnfjkLabTfb92Q== + +p-queue@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" + integrity sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng== + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.5, path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +postcss-calc@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + integrity sha1-d7rnypKK2FcW4v2kLyYb98HWW14= + dependencies: + postcss "^5.0.2" + postcss-message-helpers "^2.0.0" + reduce-css-calc "^1.2.6" + +postcss-calc@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" + integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== + dependencies: + css-unit-converter "^1.1.1" + postcss "^7.0.5" + postcss-selector-parser "^5.0.0-rc.4" + postcss-value-parser "^3.3.1" + +postcss-colormin@^2.1.8: + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + integrity sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks= + dependencies: + colormin "^1.0.5" + postcss "^5.0.13" + postcss-value-parser "^3.2.3" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^2.3.4: + version "2.6.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + integrity sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0= + dependencies: + postcss "^5.0.11" + postcss-value-parser "^3.1.2" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + integrity sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0= + dependencies: + postcss "^5.0.14" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + integrity sha1-uavye4isGIFYpesSq8riAmO5GTI= + dependencies: + postcss "^5.0.4" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + integrity sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU= + dependencies: + postcss "^5.0.14" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + integrity sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg= + dependencies: + postcss "^5.0.16" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + +postcss-discard-unused@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + integrity sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM= + dependencies: + postcss "^5.0.14" + uniqs "^2.0.0" + +postcss-filter-plugins@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec" + integrity sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ== + dependencies: + postcss "^5.0.4" + +postcss-load-config@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" + integrity sha1-U56a/J3chiASHr+djDZz4M5Q0oo= + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + postcss-load-options "^1.2.0" + postcss-load-plugins "^2.3.0" + +postcss-load-options@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" + integrity sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw= + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + +postcss-load-plugins@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" + integrity sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI= + dependencies: + cosmiconfig "^2.1.1" + object-assign "^4.1.0" + +postcss-merge-idents@^2.1.5: + version "2.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + integrity sha1-TFUwMTwI4dWzu/PSu8dH4njuonA= + dependencies: + has "^1.0.1" + postcss "^5.0.10" + postcss-value-parser "^3.1.1" + +postcss-merge-longhand@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + integrity sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg= + dependencies: + postcss "^5.0.4" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + integrity sha1-0d9d+qexrMO+VT8OnhDofGG19yE= + dependencies: + browserslist "^1.5.2" + caniuse-api "^1.5.2" + postcss "^5.0.4" + postcss-selector-parser "^2.2.2" + vendors "^1.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-message-helpers@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + integrity sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4= + +postcss-minify-font-values@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + integrity sha1-S1jttWZB66fIR0qzUmyv17vey2k= + dependencies: + object-assign "^4.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + integrity sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE= + dependencies: + postcss "^5.0.12" + postcss-value-parser "^3.3.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^1.0.4: + version "1.2.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + integrity sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM= + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.2" + postcss-value-parser "^3.0.2" + uniqs "^2.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^2.0.4: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + integrity sha1-ssapjAByz5G5MtGkllCBFDEXNb8= + dependencies: + alphanum-sort "^1.0.2" + has "^1.0.1" + postcss "^5.0.14" + postcss-selector-parser "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb" + integrity sha1-thTJcgvmgW6u41+zpfqh26agXds= + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-values@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-modules@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-1.4.1.tgz#8aa35bd3461db67e27377a7ce770d77b654a84ef" + integrity sha512-btTrbK+Xc3NBuYF8TPBjCMRSp5h6NoQ1iVZ6WiDQENIze6KIYCSf0+UFQuV3yJ7gRHA+4AAtF8i2jRvUpbBMMg== + dependencies: + css-modules-loader-core "^1.1.0" + generic-names "^1.0.3" + lodash.camelcase "^4.3.0" + postcss "^7.0.1" + string-hash "^1.1.1" + +postcss-normalize-charset@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + integrity sha1-757nEhLX/nWceO0WL2HtYrXLk/E= + dependencies: + postcss "^5.0.5" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + integrity sha1-EI90s/L82viRov+j6kWSJ5/HgiI= + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^1.4.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + integrity sha1-7sbCpntsQSqNsgQud/6NpD+VwR0= + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.1" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-idents@^2.2.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + integrity sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM= + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-reduce-initial@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + integrity sha1-aPgGlfBF0IJjqHmtJA343WT2ROo= + dependencies: + postcss "^5.0.4" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + integrity sha1-/3b02CEkN7McKYpC0uFEQCV3GuE= + dependencies: + has "^1.0.1" + postcss "^5.0.8" + postcss-value-parser "^3.0.1" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A= + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" + integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= + dependencies: + dot-prop "^4.1.1" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + dependencies: + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^2.1.1: + version "2.1.6" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + integrity sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0= + dependencies: + is-svg "^2.0.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + svgo "^0.7.0" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== + dependencies: + is-svg "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + integrity sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0= + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0, postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" + integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== + +postcss-zindex@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + integrity sha1-0hCd3AVbka9n/EyzsCWUZjnSryI= + dependencies: + has "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" + integrity sha1-AA29H47vIXqjaLmiEsX8QLKo8/I= + dependencies: + chalk "^1.1.3" + source-map "^0.5.6" + supports-color "^3.2.3" + +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.16: + version "5.2.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" + integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg== + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" + +postcss@^6.0.1, postcss@^6.0.21: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.19, postcss@^7.0.5: + version "7.0.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" + integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prebuild-install@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.2.tgz#6392e9541ac0b879ef0f22b3d65037417eb2035e" + integrity sha512-INDfXzTPnhT+WYQemqnAXlP7SvfiFMopMozSgXCZ+RDLb279gKfIuLk4o7PgEawLp3WrMgIYGBpkxpraROHsSA== + dependencies: + detect-libc "^1.0.3" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.0" + mkdirp "^0.5.1" + napi-build-utils "^1.0.1" + node-abi "^2.7.0" + noop-logger "^0.1.1" + npmlog "^4.0.1" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^3.0.3" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + which-pm-runs "^1.0.0" + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= + +pretty-bytes@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-3.0.1.tgz#27d0008d778063a0b4811bb35c79f1bd5d5fbccf" + integrity sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8= + dependencies: + number-is-nan "^1.0.0" + +pretty-bytes@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" + integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise.series@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" + integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +randomatic@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" + integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@^2.0.1, readable-stream@^2.0.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.1, readable-stream@^3.1.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +reduce-css-calc@^1.2.6: + version "1.3.0" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + integrity sha1-dHyRTgSWFKTJz7umKYca0dKSdxY= + dependencies: + balanced-match "^0.4.2" + math-expression-evaluator "^1.2.14" + reduce-function-call "^1.0.1" + +reduce-function-call@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.3.tgz#60350f7fb252c0a67eb10fd4694d16909971300f" + integrity sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ== + dependencies: + balanced-match "^1.0.0" + +regenerate-unicode-properties@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" + integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.2.1, regenerate@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + +regenerator-runtime@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" + integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== + dependencies: + is-equal-shallow "^0.1.3" + +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regexpu-core@^4.5.4: + version "4.6.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" + integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.1.0" + regjsgen "^0.5.0" + regjsparser "^0.6.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.1.0" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= +regjsgen@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" + integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== -chalk@^2.0.0, chalk@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" + jsesc "~0.5.0" -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== +regjsparser@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" + integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== dependencies: - color-name "1.1.3" + jsesc "~0.5.0" -color-name@1.1.3: +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== -commander@^2.12.1, commander@^2.19.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + integrity sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg= -diff@^4.0.1, diff@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" - integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== +reserved-words@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" + integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= -doctrine@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" - integrity sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM= +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== dependencies: - esutils "^1.1.6" - isarray "0.0.1" + path-parse "^1.0.5" -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== + dependencies: + path-parse "^1.0.6" -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= -esutils@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" - integrity sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U= +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +rollup-plugin-alias@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-alias/-/rollup-plugin-alias-1.5.2.tgz#f15a1cc8ee0debf74ab5c2bb68a944a66b568411" + integrity sha512-ODeZXhTxpD48sfcYLAFc1BGrsXKDj7o1CSNH3uYbdK3o0NxyMmaQPTNgW+ko+am92DLC8QSTe4kyxTuEkI5S5w== + dependencies: + slash "^3.0.0" -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= +rollup-plugin-babel@^4.1.0-0: + version "4.3.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz#7eb5ac16d9b5831c3fd5d97e8df77ba25c72a2aa" + integrity sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + rollup-pluginutils "^2.8.1" -glob@^7.1.1, glob@~7.1.3: - version "7.1.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0" - integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ== +rollup-plugin-buble@^0.19.4: + version "0.19.8" + resolved "https://registry.yarnpkg.com/rollup-plugin-buble/-/rollup-plugin-buble-0.19.8.tgz#f9232e2bb62a7573d04f9705c1bd6f02c2a02c6a" + integrity sha512-8J4zPk2DQdk3rxeZvxgzhHh/rm5nJkjwgcsUYisCQg1QbT5yagW+hehYEW7ZNns/NVbDCTv4JQ7h4fC8qKGOKw== dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" + buble "^0.19.8" + rollup-pluginutils "^2.3.3" -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +rollup-plugin-bundle-size@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-bundle-size/-/rollup-plugin-bundle-size-1.0.3.tgz#d245cd988486b4040279f9fd33f357f61673e90f" + integrity sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ== + dependencies: + chalk "^1.1.3" + maxmin "^2.1.0" -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= +rollup-plugin-commonjs@^9.0.0: + version "9.3.4" + resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.3.4.tgz#2b3dddbbbded83d45c36ff101cdd29e924fd23bc" + integrity sha512-DTZOvRoiVIHHLFBCL4pFxOaJt8pagxsVldEXBOn6wl3/V21wVaj17HFfyzTsQUuou3sZL3lEJZVWKPFblJfI6w== dependencies: - once "^1.3.0" - wrappy "1" + estree-walker "^0.6.0" + magic-string "^0.25.2" + resolve "^1.10.0" + rollup-pluginutils "^2.6.0" -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +rollup-plugin-es3@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-es3/-/rollup-plugin-es3-1.1.0.tgz#f866f91b4db839e5b475d8e4a7b9d4c77ecade14" + integrity sha512-jTMqQgMZ/tkjRW4scf4ln5c0OiTSi+Lx/IEyFd41ldgGoLvvg9AQxmVOl93+KaoyB7XRYToYjiHDvO40NPF/fA== + dependencies: + magic-string "^0.22.4" -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= +rollup-plugin-flow@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-flow/-/rollup-plugin-flow-1.1.1.tgz#6ce568f1dd559666b77ab76b4bae251407528db6" + integrity sha1-bOVo8d1Vlma3erdrS64lFAdSjbY= + dependencies: + flow-remove-types "^1.1.0" + rollup-pluginutils "^1.5.1" -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +rollup-plugin-json@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-json/-/rollup-plugin-json-3.1.0.tgz#7c1daf60c46bc21021ea016bd00863561a03321b" + integrity sha512-BlYk5VspvGpjz7lAwArVzBXR60JK+4EKtPkCHouAWg39obk9S61hZYJDBfMK+oitPdoe11i69TlxKlMQNFC/Uw== + dependencies: + rollup-pluginutils "^2.3.1" -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== +rollup-plugin-node-resolve@^4.0.0: + version "4.2.4" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.2.4.tgz#7d370f8d6fd3031006a0032c38262dd9be3c6250" + integrity sha512-t/64I6l7fZ9BxqD3XlX4ZeO6+5RLKyfpwE2CiPNUKa+GocPlQhf/C208ou8y3AwtNsc6bjSk/8/6y/YAyxCIvw== dependencies: - argparse "^1.0.7" - esprima "^4.0.0" + "@types/resolve" "0.0.8" + builtin-modules "^3.1.0" + is-module "^1.0.0" + resolve "^1.10.0" -make-error@^1.1.1: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== +rollup-plugin-postcss@^1.6.1: + version "1.6.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-1.6.3.tgz#18256ba66f29ecd9d42a68f4ef136b92b939ddb8" + integrity sha512-se1qftVETua9ZGViud4A4gbgEQenjYnLPvjh3kTqbBZU+f0mQ9YvJptIuzPhEk5kZAHZhkwIkk2jk+byrn1XPA== + dependencies: + chalk "^2.0.0" + concat-with-sourcemaps "^1.0.5" + cssnano "^3.10.0" + fs-extra "^5.0.0" + import-cwd "^2.1.0" + p-queue "^2.4.2" + pify "^3.0.0" + postcss "^6.0.21" + postcss-load-config "^1.2.0" + postcss-modules "^1.1.0" + promise.series "^0.2.0" + reserved-words "^0.1.2" + resolve "^1.5.0" + rollup-pluginutils "^2.0.1" + style-inject "^0.3.0" -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== +rollup-plugin-preserve-shebang@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/rollup-plugin-preserve-shebang/-/rollup-plugin-preserve-shebang-0.1.6.tgz#8cfc4c555d4ca87b9fbb7712869158db0e080d4a" + integrity sha512-b+psdlXZOjmlnKmL6/YAkR8PR15VPcUNXdT35urBRJ8jE6UxHyb4HXeeN3qRZJbMJJaX1eRP72XwH6IvGFh5Jw== dependencies: - brace-expansion "^1.1.7" + magic-string "^0.22.4" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= +rollup-plugin-sizes@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-sizes/-/rollup-plugin-sizes-0.4.2.tgz#1d97ecda2667a43afbb19d801e2476f80f67d12f" + integrity sha512-6VsnWb4aBPcW++3IBMNPo4NLSheoaXh+itXk1OcaolLhYemoQFb7A9hVNocwa0j2BctdmPNFcP7UJ3g///VVaA== + dependencies: + filesize "^3.5.11" + lodash.foreach "^4.5.0" + lodash.sumby "^4.6.0" + module-details-from-path "^1.0.3" -mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= +rollup-plugin-terser@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-3.0.0.tgz#045bd7cf625ee1affcfe6971dab6fffe6fb48c65" + integrity sha512-Ed9zRD7OoCBnh0XGlEAJle5TCUsFXMLClwKzZWnS1zbNO4MelHjfCSdFZxCAdH70M40nhZ1nRrY2GZQJhSMcjA== dependencies: - minimist "0.0.8" + "@babel/code-frame" "^7.0.0" + jest-worker "^23.2.0" + serialize-javascript "^1.5.0" + terser "^3.8.2" -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= +rollup-plugin-typescript2@^0.19.0: + version "0.19.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.19.3.tgz#713063233461765f030a2baa2640905c2656164f" + integrity sha512-lsRqfBCZhMl/tq9AT5YnQvzQWzXtnx3EQYFcHD72gul7nyyoOrzx5yCEH20smpw58v6UkHHZz03FbdLEPoHWjA== dependencies: - wrappy "1" + fs-extra "7.0.1" + resolve "1.8.1" + rollup-pluginutils "2.3.3" + tslib "1.9.3" -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= +rollup-pluginutils@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz#3aad9b1eb3e7fe8262820818840bf091e5ae6794" + integrity sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA== + dependencies: + estree-walker "^0.5.2" + micromatch "^2.3.11" -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +rollup-pluginutils@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" + integrity sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg= + dependencies: + estree-walker "^0.2.1" + minimatch "^3.0.2" -resolve@^1.3.2: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== +rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.3.1, rollup-pluginutils@^2.3.3, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.8.1: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== dependencies: - path-parse "^1.0.6" + estree-walker "^0.6.1" + +rollup@^0.67.3: + version "0.67.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.67.4.tgz#8ed6b0993337f84ec8a0387f824fa6c197e833ec" + integrity sha512-AVuP73mkb4BBMUmksQ3Jw0jTrBTU1i7rLiUYjFxLZGb3xiFmtVEg40oByphkZAsiL0bJC3hRAJUQos/e5EBd+w== + dependencies: + "@types/estree" "0.0.39" + "@types/node" "*" + +sade@^1.4.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.6.1.tgz#aba16655e998b2b68beb9f13938af010f42eddd2" + integrity sha512-USHm9quYNmJwFwhOnEuJohdnBhUOKV1mhL0koHSJMLJaesRX0nuDuzbWmtUBbUmXkwTalLtUBzDlEnU940BiQA== + dependencies: + mri "^1.1.0" + +safe-buffer@^5.0.1, safe-buffer@~5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== -semver@^5.3.0: +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +sax@~1.2.1, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +semver@^5.3.0, semver@^5.4.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +serialize-javascript@^1.5.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" + integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +simple-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" + integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= + +simple-get@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" + integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== + dependencies: + decompress-response "^4.2.0" + once "^1.3.1" + simple-concat "^1.0.0" + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + source-map-support@^0.5.6: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" @@ -243,17 +3145,142 @@ source-map-support@^0.5.6: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0: +source-map-support@~0.5.10: + version "0.5.15" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.15.tgz#20fe16f16e74644e21a396c78c841fa66e35df6c" + integrity sha512-wYF5aX1J0+V51BDT3Om7uXNn0ct2FWiV4bvwiGVefxkm+1S1o5jsecE5lb2U28DDblzxzxeIDbTVpXHI9D/9hA== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +sourcemap-codec@^1.4.4: + version "1.4.6" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz#e30a74f0402bad09807640d39e971090a08ce1e9" + integrity sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -supports-color@^5.3.0: +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-hash@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string.prototype.trimleft@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" + integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" + integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +style-inject@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" + integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0, supports-color@^5.4.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -267,11 +3294,86 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + integrity sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U= + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + +svgo@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313" + integrity sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.33" + csso "^3.5.1" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +tar-fs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad" + integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA== + dependencies: + chownr "^1.1.1" + mkdirp "^0.5.1" + pump "^3.0.0" + tar-stream "^2.0.0" + +tar-stream@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.0.tgz#d1aaa3661f05b38b5acc9b7020efdca5179a2cc3" + integrity sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw== + dependencies: + bl "^3.0.0" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +terser@^3.8.2: + version "3.17.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" + integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ== + dependencies: + commander "^2.19.0" + source-map "~0.6.1" + source-map-support "~0.5.10" + thunks@~4.9.4: version "4.9.5" resolved "https://registry.yarnpkg.com/thunks/-/thunks-4.9.5.tgz#fc764983de4de7230a2f300cfe2dc77092bc38f4" integrity sha512-L0s0QzX1x0fcsP52TQs42t3CGX/z6lw0Ktz0ciex47OUhog5K3AsfH3mQ4JTLBYbnsNBhaIUcVMrY8sR+0Lo6w== +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tiny-glob@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.6.tgz#9e056e169d9788fe8a734dfa1ff02e9b92ed7eda" + integrity sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw== + dependencies: + globalyzer "^0.1.0" + globrex "^0.1.1" + tman@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/tman/-/tman-1.9.0.tgz#f985acdf4a71779df27569b5552278ad23c0c95c" @@ -283,6 +3385,11 @@ tman@^1.9.0: supports-color "^6.1.0" thunks "~4.9.4" +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + ts-node@^8.4.1: version "8.4.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.4.1.tgz#270b0dba16e8723c9fa4f9b4775d3810fd994b4f" @@ -299,7 +3406,12 @@ tslib@1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" integrity sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ== -tslib@^1.8.0, tslib@^1.8.1: +tslib@1.9.3: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== + +tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== @@ -346,11 +3458,101 @@ tsutils@^3.0.0: dependencies: tslib "^1.8.1" -typescript@^3.6.4: +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +typescript@>=2.8.3, typescript@^3.6.4: version "3.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d" integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg== +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" + integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" + integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +vendors@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0" + integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw== + +vlq@^0.2.1, vlq@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== + +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + integrity sha1-+HfVv2SMl+WqVC+twW1qJZucEaE= + +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" From b1ba01d45ab1ca4eb5d14b4a8ad6b9552a5663dd Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Tue, 29 Oct 2019 00:38:36 +0300 Subject: [PATCH 03/10] build: tweak build script closes #15 --- jsonrpc.d.ts | 11 ++--------- jsonrpc.js | 2 +- jsonrpc.js.map | 2 +- jsonrpc.mjs | 2 +- jsonrpc.mjs.map | 2 +- jsonrpc.ts | 13 ++----------- jsonrpc.umd.js | 2 +- jsonrpc.umd.js.map | 2 +- package.json | 5 +++-- test/index.js | 8 +++----- yarn.lock | 5 +++++ 11 files changed, 21 insertions(+), 33 deletions(-) diff --git a/jsonrpc.d.ts b/jsonrpc.d.ts index ab4a006..f2a08ac 100644 --- a/jsonrpc.d.ts +++ b/jsonrpc.d.ts @@ -187,7 +187,7 @@ export declare const parseJsonRpcString: typeof parse; * @api public */ export declare function parseObject(obj: any): IParsedObject; -declare const jsonRpcGlobal: { +export declare const jsonrpc: { JsonRpc: typeof JsonRpc; JsonRpcError: typeof JsonRpcError; request: typeof request; @@ -199,11 +199,4 @@ declare const jsonRpcGlobal: { parseJsonRpcObject: typeof parseJsonRpcObject; parseJsonRpcString: typeof parse; }; -export default jsonRpcGlobal; -export declare const jsonrpc: typeof jsonRpcGlobal; -declare global { - const jsonrpc: typeof jsonRpcGlobal; - interface Window { - jsonrpc: typeof jsonRpcGlobal; - } -} +export default jsonrpc; diff --git a/jsonrpc.js b/jsonrpc.js index 7429a2e..3d60eab 100644 --- a/jsonrpc.js +++ b/jsonrpc.js @@ -1,2 +1,2 @@ -var r=Object.prototype.hasOwnProperty,e="function"==typeof Number.isSafeInteger?Number.isSafeInteger:function(r){return"number"==typeof r&&isFinite(r)&&r===Math.floor(r)&&Math.abs(r)<=9007199254740991},t=function(){this.jsonrpc="2.0"};t.prototype.serialize=function(){return JSON.stringify(this)},t.VERSION="2.0";var n=function(r){function e(e,t,n){r.call(this),this.id=e,this.method=t,void 0!==n&&(this.params=n)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),o=function(r){function e(e,t){r.call(this),this.method=e,void 0!==t&&(this.params=t)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),i=function(r){function e(e,t){r.call(this),this.id=e,this.result=t}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),s=function(r){function e(e,t){r.call(this),this.id=e,this.error=t,this.id=e,this.error=t}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),a=function(r,e){this.payload=r,this.type=e,this.payload=r,this.type=e},u=function(r,t,n){this.message=r,this.code=e(t)?t:0,null!=n&&(this.data=n)};function c(r,e,t){var o=new n(r,e,t);return y(o,!0),o}function l(r,e){var t=new o(r,e);return y(t,!0),t}function p(r,e){var t=new i(r,e);return y(t,!0),t}function f(r,e){var t=new s(r,e);return y(t,!0),t}function d(r){if(!g(r))return new a(u.invalidRequest(r),"invalid");var e;try{e=JSON.parse(r)}catch(e){return new a(u.parseError(r),"invalid")}return h(e)}function h(r){if(!Array.isArray(r))return m(r);if(0===r.length)return new a(u.invalidRequest(r),"invalid");for(var e=[],t=0,n=r.length;t boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nconst jsonRpcGlobal = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonRpcGlobal\nexport const jsonrpc: typeof jsonRpcGlobal = jsonRpcGlobal\n\ndeclare global {\n const jsonrpc: typeof jsonRpcGlobal\n\n interface Window { jsonrpc: typeof jsonRpcGlobal }\n}\n\n((global || window) as any).jsonrpc = jsonRpcGlobal // tslint:disable-line\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams","jsonRpcGlobal","global","window"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"jsonrpc.js","sources":["jsonrpc.ts"],"sourcesContent":["// **Github:** https://github.com/teambition/jsonrpc-lite\n//\n// http://www.jsonrpc.org/specification\n// **License:** MIT\n'use strict'\n\nexport type ID = string | number\nexport type Defined = string | number | boolean | object | null\nexport type RpcParams = object | Defined[]\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst isInteger: (num: number) => boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport const jsonrpc = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonrpc\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams"],"mappings":"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"} \ No newline at end of file diff --git a/jsonrpc.mjs b/jsonrpc.mjs index 7dcc83f..49035c9 100644 --- a/jsonrpc.mjs +++ b/jsonrpc.mjs @@ -1,2 +1,2 @@ -var r=Object.prototype.hasOwnProperty,n="function"==typeof Number.isSafeInteger?Number.isSafeInteger:function(r){return"number"==typeof r&&isFinite(r)&&r===Math.floor(r)&&Math.abs(r)<=9007199254740991},t=function(){this.jsonrpc="2.0"};t.prototype.serialize=function(){return JSON.stringify(this)},t.VERSION="2.0";var e=function(r){function n(n,t,e){r.call(this),this.id=n,this.method=t,void 0!==e&&(this.params=e)}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),o=function(r){function n(n,t){r.call(this),this.method=n,void 0!==t&&(this.params=t)}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),i=function(r){function n(n,t){r.call(this),this.id=n,this.result=t}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),s=function(r){function n(n,t){r.call(this),this.id=n,this.error=t,this.id=n,this.error=t}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),a=function(r,n){this.payload=r,this.type=n,this.payload=r,this.type=n},u=function(r,t,e){this.message=r,this.code=n(t)?t:0,null!=e&&(this.data=e)};function l(r,n,t){var o=new e(r,n,t);return y(o,!0),o}function c(r,n){var t=new o(r,n);return y(t,!0),t}function f(r,n){var t=new i(r,n);return y(t,!0),t}function p(r,n){var t=new s(r,n);return y(t,!0),t}function d(r){if(!E(r))return new a(u.invalidRequest(r),"invalid");var n;try{n=JSON.parse(r)}catch(n){return new a(u.parseError(r),"invalid")}return h(n)}function h(r){if(!Array.isArray(r))return m(r);if(0===r.length)return new a(u.invalidRequest(r),"invalid");for(var n=[],t=0,e=r.length;t boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nconst jsonRpcGlobal = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonRpcGlobal\nexport const jsonrpc: typeof jsonRpcGlobal = jsonRpcGlobal\n\ndeclare global {\n const jsonrpc: typeof jsonRpcGlobal\n\n interface Window { jsonrpc: typeof jsonRpcGlobal }\n}\n\n((global || window) as any).jsonrpc = jsonRpcGlobal // tslint:disable-line\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams","jsonRpcGlobal","global","window"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"jsonrpc.mjs","sources":["jsonrpc.ts"],"sourcesContent":["// **Github:** https://github.com/teambition/jsonrpc-lite\n//\n// http://www.jsonrpc.org/specification\n// **License:** MIT\n'use strict'\n\nexport type ID = string | number\nexport type Defined = string | number | boolean | object | null\nexport type RpcParams = object | Defined[]\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst isInteger: (num: number) => boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport const jsonrpc = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonrpc\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams"],"mappings":"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"} \ No newline at end of file diff --git a/jsonrpc.ts b/jsonrpc.ts index dba9304..ab175c0 100644 --- a/jsonrpc.ts +++ b/jsonrpc.ts @@ -481,7 +481,7 @@ function isObject (obj: any): boolean { return obj != null && typeof obj === 'object' && !Array.isArray(obj) } -const jsonRpcGlobal = { +export const jsonrpc = { JsonRpc, JsonRpcError, request, @@ -494,13 +494,4 @@ const jsonRpcGlobal = { parseJsonRpcString, } -export default jsonRpcGlobal -export const jsonrpc: typeof jsonRpcGlobal = jsonRpcGlobal - -declare global { - const jsonrpc: typeof jsonRpcGlobal - - interface Window { jsonrpc: typeof jsonRpcGlobal } -} - -((global || window) as any).jsonrpc = jsonRpcGlobal // tslint:disable-line +export default jsonrpc diff --git a/jsonrpc.umd.js b/jsonrpc.umd.js index 9f3aec7..60e691f 100644 --- a/jsonrpc.umd.js +++ b/jsonrpc.umd.js @@ -1,2 +1,2 @@ -!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(r.jsonrpcLite={})}(this,function(r){var e=Object.prototype.hasOwnProperty,n="function"==typeof Number.isSafeInteger?Number.isSafeInteger:function(r){return"number"==typeof r&&isFinite(r)&&r===Math.floor(r)&&Math.abs(r)<=9007199254740991},t=function(){this.jsonrpc="2.0"};t.prototype.serialize=function(){return JSON.stringify(this)},t.VERSION="2.0";var o=function(r){function e(e,n,t){r.call(this),this.id=e,this.method=n,void 0!==t&&(this.params=t)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),i=function(r){function e(e,n){r.call(this),this.method=e,void 0!==n&&(this.params=n)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),s=function(r){function e(e,n){r.call(this),this.id=e,this.result=n}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),a=function(r){function e(e,n){r.call(this),this.id=e,this.error=n,this.id=e,this.error=n}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),u=function(r,e){this.payload=r,this.type=e,this.payload=r,this.type=e},c=function(r,e,t){this.message=r,this.code=n(e)?e:0,null!=t&&(this.data=t)};function l(r,e,n){var t=new o(r,e,n);return b(t,!0),t}function f(r,e){var n=new i(r,e);return b(n,!0),n}function p(r,e){var n=new s(r,e);return b(n,!0),n}function d(r,e){var n=new a(r,e);return b(n,!0),n}function h(r){if(!g(r))return new u(c.invalidRequest(r),"invalid");var e;try{e=JSON.parse(r)}catch(e){return new u(c.parseError(r),"invalid")}return v(e)}function v(r){if(!Array.isArray(r))return y(r);if(0===r.length)return new u(c.invalidRequest(r),"invalid");for(var e=[],n=0,t=r.length;n boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nconst jsonRpcGlobal = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonRpcGlobal\nexport const jsonrpc: typeof jsonRpcGlobal = jsonRpcGlobal\n\ndeclare global {\n const jsonrpc: typeof jsonRpcGlobal\n\n interface Window { jsonrpc: typeof jsonRpcGlobal }\n}\n\n((global || window) as any).jsonrpc = jsonRpcGlobal // tslint:disable-line\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams","jsonRpcGlobal","global","window"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"jsonrpc.umd.js","sources":["jsonrpc.ts"],"sourcesContent":["// **Github:** https://github.com/teambition/jsonrpc-lite\n//\n// http://www.jsonrpc.org/specification\n// **License:** MIT\n'use strict'\n\nexport type ID = string | number\nexport type Defined = string | number | boolean | object | null\nexport type RpcParams = object | Defined[]\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst isInteger: (num: number) => boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport const jsonrpc = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonrpc\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index c54904b..8e5b522 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "dependencies": {}, "devDependencies": { "@types/node": "^12.11.1", + "esm": "^3.2.25", "microbundle": "^0.11.0", "tman": "^1.9.0", "ts-node": "^8.4.1", @@ -41,8 +42,8 @@ }, "scripts": { "build:tsc": "tsc -p tsconfig.build.json", - "build:rollup": "microbundle jsonrpc.ts", - "build": "yarn build:rollup", + "build:microbundle": "microbundle jsonrpc.ts --name jsonrpc --strict", + "build": "yarn build:microbundle", "lint": "tslint -p tsconfig.json -t stylish jsonrpc.ts", "test": "npm run lint && tman" }, diff --git a/test/index.js b/test/index.js index 40b9fb9..a9798c9 100644 --- a/test/index.js +++ b/test/index.js @@ -3,7 +3,9 @@ const assert = require('assert') const tman = require('tman') -test(require('../jsonrpc')) +test(require('../jsonrpc.js')) +test(require('../jsonrpc.umd')) +test(require('esm')(module)('../jsonrpc.mjs')) require('ts-node/register') test(require('../jsonrpc.ts').default) @@ -392,9 +394,5 @@ function test (jsonrpc) { tman.it('jsonrpc.parseJsonRpcString', function() { assert.strictEqual(jsonrpc.parse, jsonrpc.parseJsonRpcString) }) - - tman.it('jsonrpc exposed as global', function() { - assert.strictEqual(!!global.jsonrpc, true) - }) }) } diff --git a/yarn.lock b/yarn.lock index e09a578..2525aba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1037,6 +1037,11 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" From ce07285b369053c3ed53cb29f55e0c3399c19f71 Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Tue, 29 Oct 2019 09:49:49 +0300 Subject: [PATCH 04/10] ci(travis): remove node_js v6 build, add 12, 13 versions instead --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a25b5c0..3b571ee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ language: node_js node_js: - - "6" - "8" - "10" + - "12" + - "13" sudo: false cache: directories: From fcfcac58cb217adf3d74f3a1e0fb4a5c57ce8e12 Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Wed, 30 Oct 2019 09:10:03 +0300 Subject: [PATCH 05/10] ci: handle node_js v6 --- .gitignore | 3 +++ .travis.yml | 14 +++++++++++++- package.json | 6 +++--- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 08161e2..2b73834 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,9 @@ npm-debug.log .DS_Store .esm-cache +# Bundle +target + # Typescript *.tsbuildinfo .tsbuildinfo diff --git a/.travis.yml b/.travis.yml index 3b571ee..10ca214 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,22 @@ language: node_js +sudo: false + node_js: + - "6" - "8" - "10" - "12" - "13" -sudo: false + cache: directories: - node_modules + +install: + - 'if [ "${TRAVIS_NODE_VERSION}" = "6" ] ; then nvm use 8 ; fi ;' + - yarn install + - yarn build + - 'if [ "${TRAVIS_NODE_VERSION}" = "6" ] ; then nvm use "${TRAVIS_NODE_VERSION}" && node --version ; fi ;' + +script: + - yarn test diff --git a/package.json b/package.json index 8e5b522..8efbee8 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ ], "license": "MIT", "version": "2.1.0", - "source": "src/main/ts/index.ts", + "source": "jsonrpc.ts", "main": "jsonrpc.js", "module": "jsonrpc.mjs", "unpkg": "jsonrpc.umd.js", @@ -42,10 +42,10 @@ }, "scripts": { "build:tsc": "tsc -p tsconfig.build.json", - "build:microbundle": "microbundle jsonrpc.ts --name jsonrpc --strict", + "build:microbundle": "microbundle build jsonrpc.ts --name jsonrpc --strict", "build": "yarn build:microbundle", "lint": "tslint -p tsconfig.json -t stylish jsonrpc.ts", - "test": "npm run lint && tman" + "test": "yarn lint && tman" }, "files": [ "README.md", From 35496cc7099c83e0423708449c3f829bc199a6bd Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Mon, 18 Nov 2019 13:32:08 +0300 Subject: [PATCH 06/10] build: replace microbundle with tsc scripts --- .travis.yml | 2 - browser.js | 26 + jsonrpc.d.ts | 202 --- jsonrpc.js | 2 - jsonrpc.js.map | 1 - jsonrpc.mjs | 2 - jsonrpc.mjs.map | 1 - jsonrpc.ts | 24 +- jsonrpc.umd.js | 2 - jsonrpc.umd.js.map | 1 - package-lock.json | 25 + package.json | 32 +- test/index.js | 10 +- tsconfig.build.json | 3 +- tsconfig.json | 1 + yarn-error.log | 93 ++ yarn.lock | 3535 +++---------------------------------------- 17 files changed, 362 insertions(+), 3600 deletions(-) create mode 100644 browser.js delete mode 100644 jsonrpc.d.ts delete mode 100644 jsonrpc.js delete mode 100644 jsonrpc.js.map delete mode 100644 jsonrpc.mjs delete mode 100644 jsonrpc.mjs.map delete mode 100644 jsonrpc.umd.js delete mode 100644 jsonrpc.umd.js.map create mode 100644 yarn-error.log diff --git a/.travis.yml b/.travis.yml index 10ca214..63bf6d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,10 +13,8 @@ cache: - node_modules install: - - 'if [ "${TRAVIS_NODE_VERSION}" = "6" ] ; then nvm use 8 ; fi ;' - yarn install - yarn build - - 'if [ "${TRAVIS_NODE_VERSION}" = "6" ] ; then nvm use "${TRAVIS_NODE_VERSION}" && node --version ; fi ;' script: - yarn test diff --git a/browser.js b/browser.js new file mode 100644 index 0000000..cbce7d6 --- /dev/null +++ b/browser.js @@ -0,0 +1,26 @@ +// Browser AMD Polyfill +(function (cxt) { + const window = cxt.window + if (typeof window !== 'undefined') { + if (window.define) { + return + } + window.define = function(name, required, moduleFn) { + if (typeof name !== 'string') { + return window.define('anonymous' + Math.random(), name, required) + } + var modules = window.define.modules + var require = function() { throw new Error("AMD require not supported!")} + var exports = modules[name] = {} + var resolved = [require, exports] + for (var i = 2; i < required.length; i++) { + var m = modules[required[i]] + if (!m) throw new Error("AMD module `" + required[i] + "` not found!") + resolved.push(m) + } + moduleFn.apply(null, resolved) + } + window.define.modules = {} + window.define.amd = true + } +})(this) diff --git a/jsonrpc.d.ts b/jsonrpc.d.ts deleted file mode 100644 index f2a08ac..0000000 --- a/jsonrpc.d.ts +++ /dev/null @@ -1,202 +0,0 @@ -export declare type ID = string | number; -export declare type Defined = string | number | boolean | object | null; -export declare type RpcParams = object | Defined[]; -/** - * JsonRpc Class - * - * @return {Object} JsonRpc object - * @api public - */ -export interface IJsonRpcType { - readonly jsonrpc: string; -} -export declare class JsonRpc implements IJsonRpcType { - static VERSION: string; - readonly jsonrpc: string; - constructor(); - serialize(): string; -} -export declare class RequestObject extends JsonRpc { - id: ID; - method: string; - params?: RpcParams; - constructor(id: ID, method: string, params?: RpcParams); -} -export declare class NotificationObject extends JsonRpc { - method: string; - params?: RpcParams; - constructor(method: string, params?: RpcParams); -} -export declare class SuccessObject extends JsonRpc { - id: ID; - result: Defined; - constructor(id: ID, result: Defined); -} -export declare class ErrorObject extends JsonRpc { - id: ID; - error: JsonRpcError; - constructor(id: ID, error: JsonRpcError); -} -/** - * JsonRpcParsed Class - * - * @param {JsonRpc|JsonRpcError} payload - * @param {type: } type - * @api public - */ -export declare const enum RpcStatusType { - request = "request", - notification = "notification", - success = "success", - error = "error", - invalid = "invalid" -} -export declare class JsonRpcParsed { - payload: JsonRpc | JsonRpcError; - type: RpcStatusType; - constructor(payload: JsonRpc | JsonRpcError, type: RpcStatusType); -} -/** - * JsonRpcError Class - * - * @param {String} message - * @param {Integer} code - * @return {String} name: optional - * @api public - */ -export declare class JsonRpcError { - static invalidRequest: (data: any) => JsonRpcError; - static methodNotFound: (data: any) => JsonRpcError; - static invalidParams: (data: any) => JsonRpcError; - static internalError: (data: any) => JsonRpcError; - static parseError: (data: any) => JsonRpcError; - message: string; - code: number; - data?: any; - constructor(message: string, code: number, data?: any); -} -/** - * Creates a JSON-RPC 2.0 request object - * - * @param {String|Integer} id - * @param {String} method - * @param {Object|Array} [params]: optional - * @return {Object} JsonRpc object - * @api public - */ -export declare function request(id: ID, method: string, params?: RpcParams): RequestObject; -/** - * Creates a JSON-RPC 2.0 notification object - * - * @param {String} method - * @param {Object|Array} [params]: optional - * @return {Object} JsonRpc object - * @api public - */ -export declare function notification(method: string, params?: RpcParams): NotificationObject; -/** - * Creates a JSON-RPC 2.0 success response object - * - * @param {String|Integer} id - * @param {Mixed} result - * @return {Object} JsonRpc object - * @api public - */ -export declare function success(id: ID, result: Defined): SuccessObject; -/** - * Creates a JSON-RPC 2.0 error response object - * - * @param {String|Integer} id - * @param {Object} JsonRpcError error - * @return {Object} JsonRpc object - * @api public - */ -export declare function error(id: ID, err: JsonRpcError): ErrorObject; -export interface IParsedObjectSuccess { - type: RpcStatusType.success; - payload: SuccessObject; -} -export interface IParsedObjectNotification { - type: RpcStatusType.notification; - payload: NotificationObject; -} -export interface IParsedObjectRequest { - type: RpcStatusType.request; - payload: RequestObject; -} -export interface IParsedObjectError { - type: RpcStatusType.error; - payload: ErrorObject; -} -export interface IParsedObjectInvalid { - type: RpcStatusType.invalid; - payload: JsonRpcError; -} -/** - * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON. - * If successful, determine what object is it (response, notification, - * success, error, or invalid), and return it's type and properly formatted object. - * - * @param {String} msg - * @return {Object|Array} an array, or an object of this format: - * - * { - * type: - * payload: - * } - * - * @api public - */ -export declare type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification | IParsedObjectRequest | IParsedObjectError | IParsedObjectInvalid; -export declare function parse(message: string): IParsedObject | IParsedObject[]; -/** - * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it. - * If successful, determine what objects are inside (response, notification, - * success, error, or invalid), and return their types and properly formatted objects. - * - * @param {Object|Array} jsonrpcObj - * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`: - * - * { - * type: - * payload: - * } - * - * @api public - */ -export declare function parseJsonRpcObject(jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[]; -/** - * Alias for `parse` method. - * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON. - * @api public - */ -export declare const parseJsonRpcString: typeof parse; -/** - * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON. - * If successful, determine what object is it (response, notification, - * success, error, or invalid), and return it's type and properly formatted object. - * - * @param {Object} obj - * @return {Object} an `JsonRpcParsed` object with `type` and `payload`: - * - * { - * type: - * payload: - * } - * - * @api public - */ -export declare function parseObject(obj: any): IParsedObject; -export declare const jsonrpc: { - JsonRpc: typeof JsonRpc; - JsonRpcError: typeof JsonRpcError; - request: typeof request; - notification: typeof notification; - success: typeof success; - error: typeof error; - parse: typeof parse; - parseObject: typeof parseObject; - parseJsonRpcObject: typeof parseJsonRpcObject; - parseJsonRpcString: typeof parse; -}; -export default jsonrpc; diff --git a/jsonrpc.js b/jsonrpc.js deleted file mode 100644 index 3d60eab..0000000 --- a/jsonrpc.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";var r=Object.prototype.hasOwnProperty,e="function"==typeof Number.isSafeInteger?Number.isSafeInteger:function(r){return"number"==typeof r&&isFinite(r)&&r===Math.floor(r)&&Math.abs(r)<=9007199254740991},t=function(){this.jsonrpc="2.0"};t.prototype.serialize=function(){return JSON.stringify(this)},t.VERSION="2.0";var n=function(r){function e(e,t,n){r.call(this),this.id=e,this.method=t,void 0!==n&&(this.params=n)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),o=function(r){function e(e,t){r.call(this),this.method=e,void 0!==t&&(this.params=t)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),i=function(r){function e(e,t){r.call(this),this.id=e,this.result=t}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),s=function(r){function e(e,t){r.call(this),this.id=e,this.error=t,this.id=e,this.error=t}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),a=function(r,e){this.payload=r,this.type=e,this.payload=r,this.type=e},u=function(r,t,n){this.message=r,this.code=e(t)?t:0,null!=n&&(this.data=n)};function c(r,e,t){var o=new n(r,e,t);return y(o,!0),o}function l(r,e){var t=new o(r,e);return y(t,!0),t}function p(r,e){var t=new i(r,e);return y(t,!0),t}function f(r,e){var t=new s(r,e);return y(t,!0),t}function d(r){if(!g(r))return new a(u.invalidRequest(r),"invalid");var e;try{e=JSON.parse(r)}catch(e){return new a(u.parseError(r),"invalid")}return h(e)}function h(r){if(!Array.isArray(r))return m(r);if(0===r.length)return new a(u.invalidRequest(r),"invalid");for(var e=[],t=0,n=r.length;t boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport const jsonrpc = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonrpc\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams"],"mappings":"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"} \ No newline at end of file diff --git a/jsonrpc.mjs b/jsonrpc.mjs deleted file mode 100644 index 49035c9..0000000 --- a/jsonrpc.mjs +++ /dev/null @@ -1,2 +0,0 @@ -var r=Object.prototype.hasOwnProperty,n="function"==typeof Number.isSafeInteger?Number.isSafeInteger:function(r){return"number"==typeof r&&isFinite(r)&&r===Math.floor(r)&&Math.abs(r)<=9007199254740991},t=function(){this.jsonrpc="2.0"};t.prototype.serialize=function(){return JSON.stringify(this)},t.VERSION="2.0";var e=function(r){function n(n,t,e){r.call(this),this.id=n,this.method=t,void 0!==e&&(this.params=e)}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),i=function(r){function n(n,t){r.call(this),this.method=n,void 0!==t&&(this.params=t)}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),o=function(r){function n(n,t){r.call(this),this.id=n,this.result=t}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),s=function(r){function n(n,t){r.call(this),this.id=n,this.error=t,this.id=n,this.error=t}return r&&(n.__proto__=r),(n.prototype=Object.create(r&&r.prototype)).constructor=n,n}(t),a=function(r,n){this.payload=r,this.type=n,this.payload=r,this.type=n},u=function(r,t,e){this.message=r,this.code=n(t)?t:0,null!=e&&(this.data=e)};function l(r,n,t){var i=new e(r,n,t);return y(i,!0),i}function c(r,n){var t=new i(r,n);return y(t,!0),t}function f(r,n){var t=new o(r,n);return y(t,!0),t}function p(r,n){var t=new s(r,n);return y(t,!0),t}function d(r){if(!E(r))return new a(u.invalidRequest(r),"invalid");var n;try{n=JSON.parse(r)}catch(n){return new a(u.parseError(r),"invalid")}return h(n)}function h(r){if(!Array.isArray(r))return m(r);if(0===r.length)return new a(u.invalidRequest(r),"invalid");for(var n=[],t=0,e=r.length;t boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport const jsonrpc = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonrpc\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams"],"mappings":"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"} \ No newline at end of file diff --git a/jsonrpc.ts b/jsonrpc.ts index ab175c0..6e55c17 100644 --- a/jsonrpc.ts +++ b/jsonrpc.ts @@ -481,7 +481,7 @@ function isObject (obj: any): boolean { return obj != null && typeof obj === 'object' && !Array.isArray(obj) } -export const jsonrpc = { +const jsonRpcGlobal = { JsonRpc, JsonRpcError, request, @@ -494,4 +494,24 @@ export const jsonrpc = { parseJsonRpcString, } -export default jsonrpc +export default jsonRpcGlobal +export const jsonrpc: typeof jsonRpcGlobal = jsonRpcGlobal + +function getGlobalThis (): any { + if (typeof globalThis !== 'undefined') { return globalThis } + if (typeof self !== 'undefined') { return self } + if (typeof window !== 'undefined') { return window } + if (typeof global !== 'undefined') { return global } + // @ts-ignore + if (typeof this !== 'undefined') { return this } + + throw new Error('Unable to locate global `this`') +} + +declare global { + const jsonrpc: typeof jsonRpcGlobal + + interface Window { jsonrpc: typeof jsonRpcGlobal } +} + +getGlobalThis().jsonrpc = jsonRpcGlobal diff --git a/jsonrpc.umd.js b/jsonrpc.umd.js deleted file mode 100644 index 60e691f..0000000 --- a/jsonrpc.umd.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(r.jsonrpc={})}(this,function(r){"use strict";var e=Object.prototype.hasOwnProperty,n="function"==typeof Number.isSafeInteger?Number.isSafeInteger:function(r){return"number"==typeof r&&isFinite(r)&&r===Math.floor(r)&&Math.abs(r)<=9007199254740991},t=function(){this.jsonrpc="2.0"};t.prototype.serialize=function(){return JSON.stringify(this)},t.VERSION="2.0";var o=function(r){function e(e,n,t){r.call(this),this.id=e,this.method=n,void 0!==t&&(this.params=t)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),i=function(r){function e(e,n){r.call(this),this.method=e,void 0!==n&&(this.params=n)}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),s=function(r){function e(e,n){r.call(this),this.id=e,this.result=n}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),a=function(r){function e(e,n){r.call(this),this.id=e,this.error=n,this.id=e,this.error=n}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e}(t),u=function(r,e){this.payload=r,this.type=e,this.payload=r,this.type=e},c=function(r,e,t){this.message=r,this.code=n(e)?e:0,null!=t&&(this.data=t)};function l(r,e,n){var t=new o(r,e,n);return b(t,!0),t}function f(r,e){var n=new i(r,e);return b(n,!0),n}function p(r,e){var n=new s(r,e);return b(n,!0),n}function d(r,e){var n=new a(r,e);return b(n,!0),n}function h(r){if(!g(r))return new u(c.invalidRequest(r),"invalid");var e;try{e=JSON.parse(r)}catch(e){return new u(c.parseError(r),"invalid")}return v(e)}function v(r){if(!Array.isArray(r))return y(r);if(0===r.length)return new u(c.invalidRequest(r),"invalid");for(var e=[],n=0,t=r.length;n boolean = typeof Number.isSafeInteger === 'function'\n ? Number.isSafeInteger // ECMAScript 2015\n : function (num) {\n return typeof num === 'number' && isFinite(num) && num === Math.floor(num) && Math.abs(num) <= 9007199254740991\n }\n\n/**\n * JsonRpc Class\n *\n * @return {Object} JsonRpc object\n * @api public\n */\nexport interface IJsonRpcType {\n readonly jsonrpc: string\n}\n\nexport class JsonRpc implements IJsonRpcType {\n static VERSION: string = '2.0'\n readonly jsonrpc: string\n\n constructor () {\n this.jsonrpc = '2.0'\n }\n\n serialize () {\n return JSON.stringify(this)\n }\n\n}\n\nexport class RequestObject extends JsonRpc {\n public id: ID\n public method: string\n public params?: RpcParams\n constructor (id: ID, method: string, params?: RpcParams) {\n super()\n this.id = id\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class NotificationObject extends JsonRpc {\n public method: string\n public params?: RpcParams\n constructor (method: string, params?: RpcParams) {\n super()\n this.method = method\n if (params !== undefined ) {\n this.params = params\n }\n }\n}\n\nexport class SuccessObject extends JsonRpc {\n public id: ID\n public result: Defined\n constructor (id: ID, result: Defined) {\n super()\n this.id = id\n this.result = result\n }\n}\n\nexport class ErrorObject extends JsonRpc {\n // tslint:disable-next-line:no-shadowed-variable\n constructor (public id: ID, public error: JsonRpcError) {\n super()\n this.id = id\n this.error = error\n }\n}\n\n/**\n * JsonRpcParsed Class\n *\n * @param {JsonRpc|JsonRpcError} payload\n * @param {type: } type\n * @api public\n */\nexport const enum RpcStatusType {\n request = 'request',\n notification = 'notification',\n success = 'success',\n error = 'error',\n invalid = 'invalid',\n}\n\nexport class JsonRpcParsed {\n constructor (\n public payload: JsonRpc | JsonRpcError,\n public type: RpcStatusType,\n ) {\n this.payload = payload\n this.type = type\n }\n}\n\n/**\n * JsonRpcError Class\n *\n * @param {String} message\n * @param {Integer} code\n * @return {String} name: optional\n * @api public\n */\nexport class JsonRpcError {\n static invalidRequest = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid request', -32600, data)\n }\n\n static methodNotFound = function (data: any): JsonRpcError {\n return new JsonRpcError('Method not found', -32601, data)\n }\n\n static invalidParams = function (data: any): JsonRpcError {\n return new JsonRpcError('Invalid params', -32602, data)\n }\n\n static internalError = function (data: any): JsonRpcError {\n return new JsonRpcError('Internal error', -32603, data)\n }\n\n static parseError = function (data: any): JsonRpcError {\n return new JsonRpcError('Parse error', -32700, data)\n }\n\n public message: string\n public code: number\n public data?: any\n constructor (message: string, code: number, data?: any) {\n this.message = message\n this.code = isInteger(code) ? code : 0\n if (data != null ) {\n this.data = data\n }\n }\n}\n\n/**\n * Creates a JSON-RPC 2.0 request object\n *\n * @param {String|Integer} id\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function request (\n id: ID,\n method: string,\n params?: RpcParams,\n): RequestObject {\n const object = new RequestObject(id, method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 notification object\n *\n * @param {String} method\n * @param {Object|Array} [params]: optional\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function notification (\n method: string,\n params?: RpcParams,\n): NotificationObject {\n const object = new NotificationObject(method, params)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 success response object\n *\n * @param {String|Integer} id\n * @param {Mixed} result\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function success (id: ID, result: Defined): SuccessObject {\n const object = new SuccessObject(id, result)\n validateMessage(object, true)\n return object\n}\n\n/**\n * Creates a JSON-RPC 2.0 error response object\n *\n * @param {String|Integer} id\n * @param {Object} JsonRpcError error\n * @return {Object} JsonRpc object\n * @api public\n */\nexport function error (id: ID, err: JsonRpcError): ErrorObject {\n const object = new ErrorObject(id, err)\n validateMessage(object, true)\n return object\n}\n\nexport interface IParsedObjectSuccess {\n type: RpcStatusType.success,\n payload: SuccessObject\n}\n\nexport interface IParsedObjectNotification {\n type: RpcStatusType.notification,\n payload: NotificationObject\n}\n\nexport interface IParsedObjectRequest {\n type: RpcStatusType.request,\n payload: RequestObject\n}\n\nexport interface IParsedObjectError {\n type: RpcStatusType.error,\n payload: ErrorObject\n}\n\nexport interface IParsedObjectInvalid {\n type: RpcStatusType.invalid,\n payload: JsonRpcError\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {String} msg\n * @return {Object|Array} an array, or an object of this format:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport type IParsedObject = IParsedObjectSuccess | IParsedObjectNotification |\n IParsedObjectRequest | IParsedObjectError| IParsedObjectInvalid;\n\nexport function parse (\n message: string,\n): IParsedObject | IParsedObject[] {\n if (!isString(message)) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n let jsonrpcObj: JsonRpc | JsonRpc[]\n try {\n jsonrpcObj = JSON.parse(message)\n } catch (err) {\n return new JsonRpcParsed(\n JsonRpcError.parseError(message),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n return parseJsonRpcObject(jsonrpcObj)\n}\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) or batch (Object[]) and tries to parse it.\n * If successful, determine what objects are inside (response, notification,\n * success, error, or invalid), and return their types and properly formatted objects.\n *\n * @param {Object|Array} jsonrpcObj\n * @return {Object|Array} a single object or an array of `JsonRpcParsed` objects with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseJsonRpcObject (jsonrpcObj: JsonRpc | JsonRpc[]): IParsedObject | IParsedObject[] {\n if (!Array.isArray(jsonrpcObj)) {\n return parseObject(jsonrpcObj)\n }\n\n if (jsonrpcObj.length === 0) {\n return new JsonRpcParsed(\n JsonRpcError.invalidRequest(jsonrpcObj),\n RpcStatusType.invalid,\n ) as IParsedObject\n }\n\n const parsedObjectArray: IParsedObject[] = []\n for (let i = 0, len = jsonrpcObj.length; i < len; i++) {\n parsedObjectArray[i] = parseObject(jsonrpcObj[i])\n }\n\n return parsedObjectArray\n}\n\n/**\n * Alias for `parse` method.\n * Takes a JSON-RPC 2.0 payload (String) and tries to parse it into a JSON.\n * @api public\n */\nexport const parseJsonRpcString = parse\n\n/**\n * Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON.\n * If successful, determine what object is it (response, notification,\n * success, error, or invalid), and return it's type and properly formatted object.\n *\n * @param {Object} obj\n * @return {Object} an `JsonRpcParsed` object with `type` and `payload`:\n *\n * {\n * type: \n * payload: \n * }\n *\n * @api public\n */\nexport function parseObject (obj: any): IParsedObject {\n let err: JsonRpcError | null = null\n let payload: JsonRpc | JsonRpcError | null = null\n let payloadType: RpcStatusType = RpcStatusType.invalid\n\n if (obj == null || obj.jsonrpc !== JsonRpc.VERSION) {\n err = JsonRpcError.invalidRequest(obj)\n payloadType = RpcStatusType.invalid\n } else if (!hasOwnProperty.call(obj, 'id')) {\n const tmp = obj as NotificationObject\n payload = new NotificationObject(tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.notification\n } else if (hasOwnProperty.call(obj, 'method')) {\n const tmp = obj as RequestObject\n payload = new RequestObject(tmp.id, tmp.method, tmp.params)\n err = validateMessage(payload)\n payloadType = RpcStatusType.request\n } else if (hasOwnProperty.call(obj, 'result')) {\n const tmp = obj as SuccessObject\n payload = new SuccessObject(tmp.id, tmp.result)\n err = validateMessage(payload)\n payloadType = RpcStatusType.success\n } else if (hasOwnProperty.call(obj, 'error')) {\n const tmp = obj as ErrorObject\n payloadType = RpcStatusType.error\n if (tmp.error == null) {\n err = JsonRpcError.internalError(tmp)\n } else {\n const errorObj = new JsonRpcError(\n tmp.error.message,\n tmp.error.code,\n tmp.error.data,\n )\n if (errorObj.message !== tmp.error.message || errorObj.code !== tmp.error.code) {\n err = JsonRpcError.internalError(tmp)\n } else {\n payload = new ErrorObject(tmp.id, errorObj)\n err = validateMessage(payload)\n }\n }\n }\n\n if (err == null && payload != null) {\n return new JsonRpcParsed(payload, payloadType) as IParsedObject\n }\n return new JsonRpcParsed(\n err != null ? err : JsonRpcError.invalidRequest(obj),\n RpcStatusType.invalid,\n ) as IParsedObject\n}\n\n// if error, return error, else return null\nfunction validateMessage (obj: JsonRpc, throwIt?: boolean): JsonRpcError | null {\n let err: JsonRpcError | null = null\n if (obj instanceof RequestObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkMethod(obj.method)\n }\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof NotificationObject) {\n err = checkMethod(obj.method)\n if (err == null) {\n err = checkParams(obj.params)\n }\n } else if (obj instanceof SuccessObject) {\n err = checkId(obj.id)\n if (err == null) {\n err = checkResult(obj.result)\n }\n } else if (obj instanceof ErrorObject) {\n err = checkId(obj.id, true)\n if (err == null) {\n err = checkError(obj.error as JsonRpcError)\n }\n }\n if (throwIt && err != null) {\n throw err\n }\n return err\n}\n\nfunction checkId (id: ID, maybeNull?: boolean): JsonRpcError | null {\n if (maybeNull && id === null) {\n return null\n }\n return isString(id) || isInteger(id as number)\n ? null\n : JsonRpcError.internalError('\"id\" must be provided, a string or an integer.')\n}\n\nfunction checkMethod (method: string): JsonRpcError | null {\n return isString(method) ? null : JsonRpcError.invalidRequest(method)\n}\n\nfunction checkResult (result: Defined): JsonRpcError | null {\n return result === undefined\n ? JsonRpcError.internalError('Result must exist for success Response objects')\n : null\n}\n\nfunction checkParams (params?: RpcParams): JsonRpcError | null {\n if (params === undefined) {\n return null\n }\n if (Array.isArray(params) || isObject(params)) {\n // ensure params can be stringify\n try {\n JSON.stringify(params)\n return null\n } catch (err) {\n return JsonRpcError.parseError(params)\n }\n }\n return JsonRpcError.invalidParams(params)\n}\n\nfunction checkError (err: JsonRpcError): JsonRpcError | null {\n if (!(err instanceof JsonRpcError)) {\n return JsonRpcError.internalError('Error must be an instance of JsonRpcError')\n }\n\n if (!isInteger(err.code)) {\n return JsonRpcError.internalError('Invalid error code. It must be an integer.')\n }\n\n if (!isString(err.message)) {\n return JsonRpcError.internalError('Message must exist or must be a string.')\n }\n\n return null\n}\n\nfunction isString (obj: any): boolean {\n return obj !== '' && typeof obj === 'string'\n}\n\nfunction isObject (obj: any): boolean {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport const jsonrpc = {\n JsonRpc,\n JsonRpcError,\n request,\n notification,\n success,\n error,\n parse,\n parseObject,\n parseJsonRpcObject,\n parseJsonRpcString,\n}\n\nexport default jsonrpc\n"],"names":["const","hasOwnProperty","Object","prototype","isInteger","Number","isSafeInteger","num","isFinite","Math","floor","abs","JsonRpc","constructor","jsonrpc","serialize","JSON","stringify","this","RequestObject","id","method","params","undefined","NotificationObject","SuccessObject","result","ErrorObject","error","JsonRpcParsed","payload","type","JsonRpcError","message","code","data","request","object","validateMessage","notification","success","err","parse","isString","invalidRequest","jsonrpcObj","parseError","parseJsonRpcObject","Array","isArray","parseObject","length","parsedObjectArray","i","len","parseJsonRpcString","obj","payloadType","VERSION","call","tmp","internalError","errorObj","throwIt","checkId","checkMethod","checkParams","checkError","maybeNull","invalidParams"],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c73aeda..0a9dcd3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -161,6 +161,12 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true + }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -334,6 +340,25 @@ "has-flag": "^3.0.0" } }, + "terser": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.4.0.tgz", + "integrity": "sha512-oDG16n2WKm27JO8h4y/w3iqBGAOSCtq7k8dRmrn4Wf9NouL0b2WpMHGChFGZq4nFAQy1FsNJrVQHfurXOSTmOA==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, "thunks": { "version": "4.9.4", "resolved": "https://registry.npmjs.org/thunks/-/thunks-4.9.4.tgz", diff --git a/package.json b/package.json index 8efbee8..2896916 100644 --- a/package.json +++ b/package.json @@ -7,13 +7,13 @@ "license": "MIT", "version": "2.1.0", "source": "jsonrpc.ts", - "main": "jsonrpc.js", - "module": "jsonrpc.mjs", - "unpkg": "jsonrpc.umd.js", - "browser": "jsonrpc.umd.js", - "types": "jsonrpc.d.ts", + "main": "target/es5/jsonrpc.js", + "module": "target/mjs/jsonrpc.mjs", + "unpkg": "target/umd/jsonrpc.js", + "browser": "target/umd/jsonrpc.js", + "types": "target/es5/jsonrpc.d.ts", "typescript": { - "definition": "jsonrpc.d.ts" + "definition": "target/es5/jsonrpc.d.ts" }, "repository": { "type": "git", @@ -33,7 +33,7 @@ "devDependencies": { "@types/node": "^12.11.1", "esm": "^3.2.25", - "microbundle": "^0.11.0", + "terser": "^4.4.0", "tman": "^1.9.0", "ts-node": "^8.4.1", "tslint": "^5.20.0", @@ -41,21 +41,19 @@ "typescript": "^3.6.4" }, "scripts": { - "build:tsc": "tsc -p tsconfig.build.json", - "build:microbundle": "microbundle build jsonrpc.ts --name jsonrpc --strict", - "build": "yarn build:microbundle", + "build:umd": "tsc -p tsconfig.build.json --module UMD --target ES5 --outDir ./target/umd", + "polyfill": "cat browser.js target/umd/jsonrpc.js | sponge target/umd/jsonrpc.js", + "build:mjs": "tsc -p tsconfig.build.json --module es2015 --target ES6 --outDir ./target/mjs", + "build:es5": "tsc -p tsconfig.build.json --module CommonJS --target ES5 --outDir ./target/es5", + "build": "yarn build:es5 && yarn build:mjs && yarn build:umd && yarn polyfill && yarn compact && yarn namefix", + "compact": "for f in $(find target -name '*.js'); do short=${f%.js}; terser -c -m --source-map -o $short.js -- $f; done", + "namefix": "find target/mjs -name '*.js*' -exec bash -c ' mv $0 ${0/.js/.mjs}' {} \\;", "lint": "tslint -p tsconfig.json -t stylish jsonrpc.ts", "test": "yarn lint && tman" }, "files": [ "README.md", - "jsonrpc.js", - "jsonrpc.js.map", "jsonrpc.ts", - "jsonrpc.d.ts", - "jsonrpc.umd.js", - "jsonrpc.umd.js.map", - "jsonrpc.mjs", - "jsonrpc.mjs.map" + "target" ] } diff --git a/test/index.js b/test/index.js index a9798c9..680ff1c 100644 --- a/test/index.js +++ b/test/index.js @@ -3,9 +3,9 @@ const assert = require('assert') const tman = require('tman') -test(require('../jsonrpc.js')) -test(require('../jsonrpc.umd')) -test(require('esm')(module)('../jsonrpc.mjs')) +test(require('../target/es5/jsonrpc.js')) +test(require('../target/umd/jsonrpc.js')) +test(require('esm')(module)('../target/mjs/jsonrpc.mjs')) require('ts-node/register') test(require('../jsonrpc.ts').default) @@ -394,5 +394,9 @@ function test (jsonrpc) { tman.it('jsonrpc.parseJsonRpcString', function() { assert.strictEqual(jsonrpc.parse, jsonrpc.parseJsonRpcString) }) + + tman.it('jsonrpc exposed as global', function() { + assert.strictEqual(!!global.jsonrpc, true) + }) }) } diff --git a/tsconfig.build.json b/tsconfig.build.json index bff4947..f46e4b6 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -2,7 +2,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "target": "es5", - "module": "UMD", + "module": "CommonJs", "allowUmdGlobalAccess": true, "outDir": "./", "importHelpers": false, @@ -15,6 +15,7 @@ "exclude": [ "node_modules", "build", + "target", "test" ] } diff --git a/tsconfig.json b/tsconfig.json index a60d765..f6958eb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -31,6 +31,7 @@ "exclude": [ "node_modules", "build", + "target", "test" ] } diff --git a/yarn-error.log b/yarn-error.log new file mode 100644 index 0000000..289550b --- /dev/null +++ b/yarn-error.log @@ -0,0 +1,93 @@ +Arguments: + /usr/local/bin/node /usr/local/bin/yarn add @types/global global + +PATH: + /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/antongolub/projects/jsonrpc-lite/node_modules/.bin + +Yarn version: + 1.17.3 + +Node version: + 12.6.0 + +Platform: + darwin x64 + +Trace: + Error: https://registry.yarnpkg.com/@types%2fglobal: Not found + at Request.params.callback [as _callback] (/usr/local/lib/node_modules/yarn/lib/cli.js:66830:18) + at Request.self.callback (/usr/local/lib/node_modules/yarn/lib/cli.js:140464:22) + at Request.emit (events.js:203:13) + at Request. (/usr/local/lib/node_modules/yarn/lib/cli.js:141436:10) + at Request.emit (events.js:203:13) + at IncomingMessage. (/usr/local/lib/node_modules/yarn/lib/cli.js:141358:12) + at Object.onceWrapper (events.js:291:20) + at IncomingMessage.emit (events.js:208:15) + at endReadableNT (_stream_readable.js:1154:12) + at processTicksAndRejections (internal/process/task_queues.js:77:11) + +npm manifest: + { + "name": "jsonrpc-lite", + "description": "Parse and Serialize JSON-RPC2 messages in node.js or browser.", + "authors": [ + "Yan Qing " + ], + "license": "MIT", + "version": "2.1.0", + "source": "jsonrpc.ts", + "main": "target/es5/jsonrpc.js", + "module": "target/mjs/jsonrpc.mjs", + "unpkg": "target/umd/jsonrpc.js", + "browser": "target/umd/jsonrpc.js", + "types": "target/es5/jsonrpc.d.ts", + "typescript": { + "definition": "target/es5/jsonrpc.d.ts" + }, + "repository": { + "type": "git", + "url": "git@github.com:teambition/jsonrpc-lite.git" + }, + "homepage": "https://github.com/teambition/jsonrpc-lite", + "keywords": [ + "json", + "jsonrpc", + "json-rpc", + "jsonrpc2", + "serialize", + "parse", + "message" + ], + "dependencies": {}, + "devDependencies": { + "@types/node": "^12.11.1", + "esm": "^3.2.25", + "terser": "^4.4.0", + "tman": "^1.9.0", + "ts-node": "^8.4.1", + "tslint": "^5.20.0", + "tslint-eslint-rules": "^5.4.0", + "typescript": "^3.6.4" + }, + "scripts": { + "build:umd": "tsc -p tsconfig.build.json --module UMD --target ES5 --outDir ./target/umd", + "polyfill": "cat browser.js target/umd/jsonrpc.js | sponge target/umd/jsonrpc.js", + "build:mjs": "tsc -p tsconfig.build.json --module es2015 --target ES6 --outDir ./target/mjs", + "build:es5": "tsc -p tsconfig.build.json --module CommonJS --target ES5 --outDir ./target/es5", + "build": "yarn build:es5 && yarn build:mjs && yarn build:umd && yarn polyfill && yarn compact", + "compact": "for f in $(find target -name '*.js'); do short=${f%.js}; terser -c -m --source-map -o $short.js -- $f; done", + "lint": "tslint -p tsconfig.json -t stylish jsonrpc.ts", + "test": "yarn lint && tman" + }, + "files": [ + "README.md", + "jsonrpc.ts", + "target" + ] + } + +yarn manifest: + No manifest + +Lockfile: + No lockfile diff --git a/yarn.lock b/yarn.lock index 2525aba..59e6fbd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,123 +2,13 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": +"@babel/code-frame@^7.0.0": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@^7.2.2": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.4.tgz#6ebd9fe00925f6c3e177bb726a188b5f578088ff" - integrity sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.4" - "@babel/helpers" "^7.6.2" - "@babel/parser" "^7.6.4" - "@babel/template" "^7.6.0" - "@babel/traverse" "^7.6.3" - "@babel/types" "^7.6.3" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.6.3", "@babel/generator@^7.6.4": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.4.tgz#a4f8437287bf9671b07f483b76e3bb731bc97671" - integrity sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w== - dependencies: - "@babel/types" "^7.6.3" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/helper-create-class-features-plugin@^7.2.1": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz#769711acca889be371e9bc2eb68641d55218021f" - integrity sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" - -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-member-expression-to-functions@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" - integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== - dependencies: - "@babel/types" "^7.5.5" - -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-optimise-call-expression@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== - -"@babel/helper-replace-supers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" - integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helpers@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz#681ffe489ea4dcc55f23ce469e58e59c1c045153" - integrity sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA== - dependencies: - "@babel/template" "^7.6.0" - "@babel/traverse" "^7.6.2" - "@babel/types" "^7.6.0" - "@babel/highlight@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" @@ -128,123 +18,10 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.6.0", "@babel/parser@^7.6.3", "@babel/parser@^7.6.4": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz#cb9b36a7482110282d5cb6dd424ec9262b473d81" - integrity sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A== - -"@babel/plugin-proposal-class-properties@7.2.1": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.1.tgz#c734a53e0a1ec40fe5c22ee5069d26da3b187d05" - integrity sha512-/4FKFChkQ2Jgb8lBDsvFX496YTi7UWTetVgS8oJUpX1e/DlaoeEK57At27ug8Hu2zI2g8bzkJ+8k9qrHZRPGPA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.2.1" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-jsx@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/polyfill@^7.0.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.6.0.tgz#6d89203f8b6cd323e8d946e47774ea35dc0619cc" - integrity sha512-q5BZJI0n/B10VaQQvln1IlDK3BTBJFbADx7tv+oXDPIDZuTo37H5Adb9jhlXm/fEN4Y7/64qD9mnrJJG7rmaTw== - dependencies: - core-js "^2.6.5" - regenerator-runtime "^0.13.2" - -"@babel/template@^7.1.0", "@babel/template@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" - integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.6.0" - "@babel/types" "^7.6.0" - -"@babel/traverse@^7.5.5", "@babel/traverse@^7.6.2", "@babel/traverse@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.3.tgz#66d7dba146b086703c0fb10dd588b7364cec47f9" - integrity sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.3" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.6.3" - "@babel/types" "^7.6.3" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.0.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0", "@babel/types@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz#3f07d96f854f98e2fbd45c64b0cb942d11e8ba09" - integrity sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/node@*", "@types/node@^12.11.1": - version "12.11.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.7.tgz#57682a9771a3f7b09c2497f28129a0462966524a" - integrity sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA== - -"@types/q@^1.5.1": - version "1.5.2" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" - integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== - -"@types/resolve@0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== - dependencies: - "@types/node" "*" - -acorn-dynamic-import@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== - -acorn-jsx@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" - integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== - -acorn@^6.1.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" - integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== - -alphanum-sort@^1.0.0, alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= +"@types/node@^12.11.1": + version "12.12.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.8.tgz#dab418655af39ce2fa99286a0bed21ef8072ac9d" + integrity sha512-XLla8N+iyfjvsa0KKV+BP/iGSoTmwxsu5Ci5sM33z9TjohF72DEz95iNvD6pPmemvbQgxAv/909G73gUn8QR7w== ansi-styles@^3.2.1: version "3.2.1" @@ -253,19 +30,6 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - arg@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.1.tgz#485f8e7c390ce4c5f78257dbea80d4be11feda4c" @@ -278,3014 +42,223 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= - dependencies: - arr-flatten "^1.0.1" - -arr-flatten@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= - -asyncro@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" - integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== - -autoprefixer@^6.3.1: - version "6.7.7" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" - integrity sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ= - dependencies: - browserslist "^1.7.6" - caniuse-db "^1.0.30000634" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^5.2.16" - postcss-value-parser "^3.2.3" - -autoprefixer@^9.0.0: - version "9.7.0" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.0.tgz#905ec19e50f04545fe9ff131182cc9ab25246901" - integrity sha512-j2IRvaCfrUxIiZun9ba4mhJ2omhw4OY88/yVzLO+lHhGBumAAK72PgM6gkbSN8iregPOn1ZlxGkmZh2CQ7X4AQ== - dependencies: - browserslist "^4.7.2" - caniuse-lite "^1.0.30001004" - chalk "^2.4.2" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.19" - postcss-value-parser "^4.0.2" - -babel-plugin-transform-async-to-promises@^0.8.3: - version "0.8.15" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-promises/-/babel-plugin-transform-async-to-promises-0.8.15.tgz#13b6d8ef13676b4e3c576d3600b85344bb1ba346" - integrity sha512-fDXP68ZqcinZO2WCiimCL9zhGjGXOnn3D33zvbh+yheZ/qOrNVVDDIBtAaM3Faz8TRvQzHiRKsu3hfrBAhEncQ== - -babylon@^6.15.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -balanced-match@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" - integrity sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg= - balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== - -bl@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.0.tgz#3611ec00579fd18561754360b21e9f784500ff88" - integrity sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A== - dependencies: - readable-stream "^3.0.1" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -brotli-size@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/brotli-size/-/brotli-size-0.0.3.tgz#1d3855b38f182591a6f69da1516131676e5f62f2" - integrity sha512-bBIdd8uUGxKGldAVykxOqPegl+HlIm4FpXJamwWw5x77WCE8jO7AhXFE1YXOhOB28gS+2pTQete0FqRE6U5hQQ== - dependencies: - duplexer "^0.1.1" - iltorb "^2.0.5" - -browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: - version "1.7.7" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" - integrity sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk= - dependencies: - caniuse-db "^1.0.30000639" - electron-to-chromium "^1.2.7" - -browserslist@^4.0.0, browserslist@^4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.2.tgz#1bb984531a476b5d389cedecb195b2cd69fb1348" - integrity sha512-uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw== - dependencies: - caniuse-lite "^1.0.30001004" - electron-to-chromium "^1.3.295" - node-releases "^1.1.38" - -buble@^0.19.8: - version "0.19.8" - resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.8.tgz#d642f0081afab66dccd897d7b6360d94030b9d3d" - integrity sha512-IoGZzrUTY5fKXVkgGHw3QeXFMUNBFv+9l8a4QJKG1JhG3nCMHTdEX1DCOg8568E2Q9qvAQIiSokv6Jsgx8p2cA== - dependencies: - acorn "^6.1.1" - acorn-dynamic-import "^4.0.0" - acorn-jsx "^5.0.1" - chalk "^2.4.2" - magic-string "^0.25.3" - minimist "^1.2.0" - os-homedir "^2.0.0" - regexpu-core "^4.5.4" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - -builtin-modules@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" - integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -caniuse-api@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" - integrity sha1-tTTnxzTE+B7F++isoq0kNUuWLGw= - dependencies: - browserslist "^1.3.6" - caniuse-db "^1.0.30000529" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30001005" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30001005.tgz#a61131ed16f519fbef25612e36dced8e69635455" - integrity sha512-MSRfm2N6FRDSpAJ00ipCuFe0CNink5JJOFzl4S7fLSBJdowhGq3uMxzkWGTjvvReo1PuWfK5YYJydJJ+9mJebw== - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001004: - version "1.0.30001005" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001005.tgz#823054210be638c725521edcb869435dae46728d" - integrity sha512-g78miZm1Z5njjYR216a5812oPiLgV1ssndgGxITHWUopmjUrCswMisA0a2kSB7a0vZRox6JOKhM51+efmYN8Mg== - -chalk@^1.0.0, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chownr@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" - integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== - -clap@^1.0.9: - version "1.2.3" - resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" - integrity sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA== - dependencies: - chalk "^1.1.3" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -coa@~1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" - integrity sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0= - dependencies: - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" - integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE= - dependencies: - color-name "^1.0.0" - -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^0.11.0: - version "0.11.4" - resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" - integrity sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q= - dependencies: - clone "^1.0.2" - color-convert "^1.3.0" - color-string "^0.3.0" - -color@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" - integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -colormin@^1.0.5: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" - integrity sha1-6i90IKcrlogaOKrlnsEkpvcpgTM= - dependencies: - color "^0.11.0" - css-color-names "0.0.4" - has "^1.0.1" - -colors@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" - integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= - -commander@^2.12.1, commander@^2.19.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-with-sourcemaps@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" - integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== - dependencies: - source-map "^0.6.1" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -convert-source-map@^1.1.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - -core-js@^2.6.5: - version "2.6.10" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" - integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" - integrity sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A== - dependencies: - is-directory "^0.3.1" - js-yaml "^3.4.3" - minimist "^1.2.0" - object-assign "^4.1.0" - os-homedir "^1.0.1" - parse-json "^2.2.0" - require-from-string "^1.1.0" - -cosmiconfig@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-modules-loader-core@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16" - integrity sha1-WQhmgpShvs0mGuCkziGwtVHyHRY= - dependencies: - icss-replace-symbols "1.1.0" - postcss "6.0.1" - postcss-modules-extract-imports "1.1.0" - postcss-modules-local-by-default "1.2.0" - postcss-modules-scope "1.1.0" - postcss-modules-values "1.3.0" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" - integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ== - dependencies: - boolbase "^1.0.0" - css-what "^2.1.2" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-selector-tokenizer@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" - integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - -css-tree@1.0.0-alpha.29: - version "1.0.0-alpha.29" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" - integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== - dependencies: - mdn-data "~1.1.0" - source-map "^0.5.3" - -css-tree@1.0.0-alpha.33: - version "1.0.0-alpha.33" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz#970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e" - integrity sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w== - dependencies: - mdn-data "2.0.4" - source-map "^0.5.3" - -css-unit-converter@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" - integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= - -css-what@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - -cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.2" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== - -cssnano@^3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" - integrity sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg= - dependencies: - autoprefixer "^6.3.1" - decamelize "^1.1.2" - defined "^1.0.0" - has "^1.0.1" - object-assign "^4.0.1" - postcss "^5.0.14" - postcss-calc "^5.2.0" - postcss-colormin "^2.1.8" - postcss-convert-values "^2.3.4" - postcss-discard-comments "^2.0.4" - postcss-discard-duplicates "^2.0.1" - postcss-discard-empty "^2.0.1" - postcss-discard-overridden "^0.1.1" - postcss-discard-unused "^2.2.1" - postcss-filter-plugins "^2.0.0" - postcss-merge-idents "^2.1.5" - postcss-merge-longhand "^2.0.1" - postcss-merge-rules "^2.0.3" - postcss-minify-font-values "^1.0.2" - postcss-minify-gradients "^1.0.1" - postcss-minify-params "^1.0.4" - postcss-minify-selectors "^2.0.4" - postcss-normalize-charset "^1.1.0" - postcss-normalize-url "^3.0.7" - postcss-ordered-values "^2.1.0" - postcss-reduce-idents "^2.2.2" - postcss-reduce-initial "^1.0.0" - postcss-reduce-transforms "^1.0.3" - postcss-svgo "^2.1.1" - postcss-unique-selectors "^2.0.2" - postcss-value-parser "^3.2.3" - postcss-zindex "^2.0.1" - -cssnano@^4.1.7: - version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" - integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== - dependencies: - css-tree "1.0.0-alpha.29" - -csso@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" - integrity sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U= - dependencies: - clap "^1.0.9" - source-map "^0.5.3" - -debug@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decompress-response@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" - integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== - dependencies: - mimic-response "^2.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -diff@^4.0.1, diff@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" - integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== - -doctrine@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" - integrity sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM= - dependencies: - esutils "^1.1.6" - isarray "0.0.1" - -dom-serializer@0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz#13650c850daffea35d8b626a4cfc4d3a17643fdb" - integrity sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -domelementtype@1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" - integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== - -domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -dot-prop@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== - dependencies: - is-obj "^1.0.0" - -duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= - -electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.295: - version "1.3.296" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.296.tgz#a1d4322d742317945285d3ba88966561b67f3ac8" - integrity sha512-s5hv+TSJSVRsxH190De66YHb50pBGTweT9XGWYu/LMR20KX6TsjFzObo36CjVAzM+PUeeKSBRtm/mISlCzeojQ== - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" - integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.12.0, es-abstract@^1.5.1: - version "1.16.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" - integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.0" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-inspect "^1.6.0" - object-keys "^1.1.1" - string.prototype.trimleft "^2.1.0" - string.prototype.trimright "^2.1.0" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-promisify@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-6.0.2.tgz#525c23725b8510f5f1f2feb5a1fbad93a93e29b4" - integrity sha512-eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -esm@^3.2.25: - version "3.2.25" - resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" - integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== - -esprima@^2.6.0: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estree-walker@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" - integrity sha1-va/oCVOD2EFNXcLs9MkXO225QS4= - -estree-walker@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" - integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== - -estree-walker@^0.6.0, estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - -esutils@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" - integrity sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U= - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= - dependencies: - fill-range "^2.1.0" - -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= - dependencies: - is-extglob "^1.0.0" - -fastparse@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== - -figures@^1.0.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= - -filesize@^3.5.11: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - -fill-range@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" - integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^3.0.0" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -flatten@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" - integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= - -flow-remove-types@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/flow-remove-types/-/flow-remove-types-1.2.3.tgz#6131aefc7da43364bb8b479758c9dec7735d1a18" - integrity sha512-ypq/U3V+t9atYiOuSJd40tekCra03EHKoRsiK/wXGrsZimuum0kdwVY7Yv0HTaoXgHW1WiayomYd+Q3kkvPl9Q== - dependencies: - babylon "^6.15.0" - vlq "^0.2.1" - -for-in@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" - integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -generic-names@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-1.0.3.tgz#2d786a121aee508876796939e8e3bff836c20917" - integrity sha1-LXhqEhruUIh2eWk56OO/+DbCCRc= - dependencies: - loader-utils "^0.2.16" - -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" - integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= - dependencies: - is-glob "^2.0.0" - -glob@^7.1.1, glob@~7.1.3: - version "7.1.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0" - integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globalyzer@^0.1.0: - version "0.1.4" - resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.4.tgz#bc8e273afe1ac7c24eea8def5b802340c5cc534f" - integrity sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA== - -globrex@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - -graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -gzip-size@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" - integrity sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA= - dependencies: - duplexer "^0.1.1" - -gzip-size@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has@^1.0.0, has@^1.0.1, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - -icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - -iltorb@^2.0.5: - version "2.4.4" - resolved "https://registry.yarnpkg.com/iltorb/-/iltorb-2.4.4.tgz#7ec303bbbd8c0cd4d44a847eb6c6d8490f9c7433" - integrity sha512-7Qk6O7TK3rSWVRVRkPehcNTSN+P2i7MsG9pWmw6iVw/W6NcoNj0rFKOuBDM6fbZV6NNGuUW3JBRem6Ozn4KXhg== - dependencies: - detect-libc "^1.0.3" - nan "^2.14.0" - npmlog "^4.1.2" - prebuild-install "^5.3.2" - which-pm-runs "^1.0.0" - -import-cwd@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= - dependencies: - is-extglob "^1.0.0" - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - dependencies: - has "^1.0.1" - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-svg@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" - integrity sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk= - dependencies: - html-comment-regex "^1.1.0" - -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== - dependencies: - html-comment-regex "^1.1.0" - -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -jest-worker@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" - integrity sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk= - dependencies: - merge-stream "^1.0.1" - -js-base64@^2.1.9: - version "2.5.1" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" - integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1, js-yaml@^3.4.3: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@~3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" - integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A= - dependencies: - argparse "^1.0.7" - esprima "^2.6.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - -json5@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" - integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== - dependencies: - minimist "^1.2.0" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== - -loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= - -lodash.foreach@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" - integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.sumby@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.sumby/-/lodash.sumby-4.6.0.tgz#7d87737ddb216da2f7e5e7cd2dd9c403a7887346" - integrity sha1-fYdzfdshbaL35efNLdnEA6eIc0Y= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.17.13: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -magic-string@^0.22.4: - version "0.22.5" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" - integrity sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== - dependencies: - vlq "^0.2.2" - -magic-string@^0.25.2, magic-string@^0.25.3: - version "0.25.4" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.4.tgz#325b8a0a79fc423db109b77fd5a19183b7ba5143" - integrity sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw== - dependencies: - sourcemap-codec "^1.4.4" - -make-error@^1.1.1: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== - -math-expression-evaluator@^1.2.14: - version "1.2.17" - resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" - integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw= - -math-random@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" - integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== - -maxmin@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-2.1.0.tgz#4d3b220903d95eee7eb7ac7fa864e72dc09a3166" - integrity sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY= - dependencies: - chalk "^1.0.0" - figures "^1.0.1" - gzip-size "^3.0.0" - pretty-bytes "^3.0.0" - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -mdn-data@~1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" - integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== - -merge-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= - dependencies: - readable-stream "^2.0.1" - -microbundle@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/microbundle/-/microbundle-0.11.0.tgz#266bcf4210192698c23fe3bf3581ab81d31a14d0" - integrity sha512-Lt2f8OhC2y2uKyJ5zA8lEEiDsIAbk6yllBuoAWLIdYVIXYqOdN9mO3DI7VW7x/fw87gdnCLIJdVtpP6kaI99LA== - dependencies: - "@babel/core" "^7.2.2" - "@babel/plugin-proposal-class-properties" "7.2.1" - "@babel/plugin-syntax-jsx" "^7.2.0" - "@babel/polyfill" "^7.0.0" - asyncro "^3.0.0" - autoprefixer "^9.0.0" - babel-plugin-transform-async-to-promises "^0.8.3" - brotli-size "^0.0.3" - camelcase "^5.0.0" - chalk "^2.4.0" - cssnano "^4.1.7" - es6-promisify "^6.0.1" - gzip-size "^5.0.0" - pretty-bytes "^5.1.0" - rollup "^0.67.3" - rollup-plugin-alias "^1.5.1" - rollup-plugin-babel "^4.1.0-0" - rollup-plugin-buble "^0.19.4" - rollup-plugin-bundle-size "^1.0.1" - rollup-plugin-commonjs "^9.0.0" - rollup-plugin-es3 "^1.1.0" - rollup-plugin-flow "^1.1.1" - rollup-plugin-json "^3.1.0" - rollup-plugin-node-resolve "^4.0.0" - rollup-plugin-postcss "^1.6.1" - rollup-plugin-preserve-shebang "^0.1.6" - rollup-plugin-sizes "^0.4.2" - rollup-plugin-terser "^3.0.0" - rollup-plugin-typescript2 "^0.19.0" - sade "^1.4.0" - tiny-glob "^0.2.6" - tslib "^1.9.0" - typescript ">=2.8.3" - -micromatch@^2.3.11: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -mimic-response@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.0.0.tgz#996a51c60adf12cb8a87d7fb8ef24c2f3d5ebb46" - integrity sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ== - -minimatch@^3.0.2, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -mkdirp@^0.5.1, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -module-details-from-path@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" - integrity sha1-EUyUlnPiqKNenTV4hSeqN7Z52is= - -mri@^1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a" - integrity sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w== - -ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -nan@^2.14.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== - -napi-build-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.1.tgz#1381a0f92c39d66bf19852e7873432fc2123e508" - integrity sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA== - -node-abi@^2.7.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.12.0.tgz#40e9cfabdda1837863fa825e7dfa0b15686adf6f" - integrity sha512-VhPBXCIcvmo/5K8HPmnWJyyhvgKxnHTUMXR/XwGHV68+wrgkzST4UmQrY/XszSWA5dtnXpNp528zkcyJ/pzVcw== - dependencies: - semver "^5.4.1" - -node-releases@^1.1.38: - version "1.1.39" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.39.tgz#c1011f30343aff5b633153b10ff691d278d08e8d" - integrity sha512-8MRC/ErwNCHOlAFycy9OPca46fQYUjbJRDcZTHVWIGXIjYLM73k70vv3WkYutVnM4cCo4hE0MqBVVZjP6vjISA== - dependencies: - semver "^6.3.0" - -noop-logger@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" - integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= - -normalize-path@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-url@^1.4.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -npmlog@^4.0.1, npmlog@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-inspect@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -object.values@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has "^1.0.3" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-homedir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-2.0.0.tgz#a0c76bb001a8392a503cbd46e7e650b3423a923c" - integrity sha512-saRNz0DSC5C/I++gFIaJTXoFJMRwiP5zHar5vV3xQ2TkgEw6hDCcU5F272JjUylpiVgBrZNQHnfjkLabTfb92Q== - -p-queue@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" - integrity sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng== - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-parse@^1.0.5, path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -postcss-calc@^5.2.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" - integrity sha1-d7rnypKK2FcW4v2kLyYb98HWW14= - dependencies: - postcss "^5.0.2" - postcss-message-helpers "^2.0.0" - reduce-css-calc "^1.2.6" - -postcss-calc@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" - integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== - dependencies: - css-unit-converter "^1.1.1" - postcss "^7.0.5" - postcss-selector-parser "^5.0.0-rc.4" - postcss-value-parser "^3.3.1" - -postcss-colormin@^2.1.8: - version "2.2.2" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" - integrity sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks= - dependencies: - colormin "^1.0.5" - postcss "^5.0.13" - postcss-value-parser "^3.2.3" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^2.3.4: - version "2.6.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" - integrity sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0= - dependencies: - postcss "^5.0.11" - postcss-value-parser "^3.1.2" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-discard-comments@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" - integrity sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0= - dependencies: - postcss "^5.0.14" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" - integrity sha1-uavye4isGIFYpesSq8riAmO5GTI= - dependencies: - postcss "^5.0.4" - -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" - integrity sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU= - dependencies: - postcss "^5.0.14" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" - integrity sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg= - dependencies: - postcss "^5.0.16" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== - dependencies: - postcss "^7.0.0" - -postcss-discard-unused@^2.2.1: - version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" - integrity sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM= - dependencies: - postcss "^5.0.14" - uniqs "^2.0.0" - -postcss-filter-plugins@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec" - integrity sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ== - dependencies: - postcss "^5.0.4" - -postcss-load-config@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" - integrity sha1-U56a/J3chiASHr+djDZz4M5Q0oo= - dependencies: - cosmiconfig "^2.1.0" - object-assign "^4.1.0" - postcss-load-options "^1.2.0" - postcss-load-plugins "^2.3.0" - -postcss-load-options@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" - integrity sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw= - dependencies: - cosmiconfig "^2.1.0" - object-assign "^4.1.0" - -postcss-load-plugins@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" - integrity sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI= - dependencies: - cosmiconfig "^2.1.1" - object-assign "^4.1.0" - -postcss-merge-idents@^2.1.5: - version "2.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" - integrity sha1-TFUwMTwI4dWzu/PSu8dH4njuonA= - dependencies: - has "^1.0.1" - postcss "^5.0.10" - postcss-value-parser "^3.1.1" - -postcss-merge-longhand@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" - integrity sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg= - dependencies: - postcss "^5.0.4" - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^2.0.3: - version "2.1.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" - integrity sha1-0d9d+qexrMO+VT8OnhDofGG19yE= - dependencies: - browserslist "^1.5.2" - caniuse-api "^1.5.2" - postcss "^5.0.4" - postcss-selector-parser "^2.2.2" - vendors "^1.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - -postcss-message-helpers@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" - integrity sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4= - -postcss-minify-font-values@^1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" - integrity sha1-S1jttWZB66fIR0qzUmyv17vey2k= - dependencies: - object-assign "^4.0.1" - postcss "^5.0.4" - postcss-value-parser "^3.0.2" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" - integrity sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE= - dependencies: - postcss "^5.0.12" - postcss-value-parser "^3.3.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^1.0.4: - version "1.2.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" - integrity sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM= - dependencies: - alphanum-sort "^1.0.1" - postcss "^5.0.2" - postcss-value-parser "^3.0.2" - uniqs "^2.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^2.0.4: - version "2.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" - integrity sha1-ssapjAByz5G5MtGkllCBFDEXNb8= - dependencies: - alphanum-sort "^1.0.2" - has "^1.0.1" - postcss "^5.0.14" - postcss-selector-parser "^2.0.0" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb" - integrity sha1-thTJcgvmgW6u41+zpfqh26agXds= - dependencies: - postcss "^6.0.1" - -postcss-modules-local-by-default@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" - integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-scope@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" - integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-values@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" - integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^6.0.1" - -postcss-modules@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-1.4.1.tgz#8aa35bd3461db67e27377a7ce770d77b654a84ef" - integrity sha512-btTrbK+Xc3NBuYF8TPBjCMRSp5h6NoQ1iVZ6WiDQENIze6KIYCSf0+UFQuV3yJ7gRHA+4AAtF8i2jRvUpbBMMg== - dependencies: - css-modules-loader-core "^1.1.0" - generic-names "^1.0.3" - lodash.camelcase "^4.3.0" - postcss "^7.0.1" - string-hash "^1.1.1" - -postcss-normalize-charset@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" - integrity sha1-757nEhLX/nWceO0WL2HtYrXLk/E= - dependencies: - postcss "^5.0.5" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^3.0.7: - version "3.0.8" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" - integrity sha1-EI90s/L82viRov+j6kWSJ5/HgiI= - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^1.4.0" - postcss "^5.0.14" - postcss-value-parser "^3.2.3" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-ordered-values@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" - integrity sha1-7sbCpntsQSqNsgQud/6NpD+VwR0= - dependencies: - postcss "^5.0.4" - postcss-value-parser "^3.0.1" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-reduce-idents@^2.2.2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" - integrity sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM= - dependencies: - postcss "^5.0.4" - postcss-value-parser "^3.0.2" - -postcss-reduce-initial@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" - integrity sha1-aPgGlfBF0IJjqHmtJA343WT2ROo= - dependencies: - postcss "^5.0.4" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" - integrity sha1-/3b02CEkN7McKYpC0uFEQCV3GuE= - dependencies: - has "^1.0.1" - postcss "^5.0.8" - postcss-value-parser "^3.0.1" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" - integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A= - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" - integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= - dependencies: - dot-prop "^4.1.1" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-svgo@^2.1.1: - version "2.1.6" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" - integrity sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0= - dependencies: - is-svg "^2.0.0" - postcss "^5.0.14" - postcss-value-parser "^3.2.3" - svgo "^0.7.0" - -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== - dependencies: - is-svg "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-unique-selectors@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" - integrity sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0= - dependencies: - alphanum-sort "^1.0.1" - postcss "^5.0.4" - uniqs "^2.0.0" - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.0, postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" - integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== - -postcss-zindex@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" - integrity sha1-0hCd3AVbka9n/EyzsCWUZjnSryI= - dependencies: - has "^1.0.1" - postcss "^5.0.4" - uniqs "^2.0.0" - -postcss@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" - integrity sha1-AA29H47vIXqjaLmiEsX8QLKo8/I= - dependencies: - chalk "^1.1.3" - source-map "^0.5.6" - supports-color "^3.2.3" - -postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.16: - version "5.2.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" - integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg== - dependencies: - chalk "^1.1.3" - js-base64 "^2.1.9" - source-map "^0.5.6" - supports-color "^3.2.3" - -postcss@^6.0.1, postcss@^6.0.21: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.19, postcss@^7.0.5: - version "7.0.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" - integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -prebuild-install@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.2.tgz#6392e9541ac0b879ef0f22b3d65037417eb2035e" - integrity sha512-INDfXzTPnhT+WYQemqnAXlP7SvfiFMopMozSgXCZ+RDLb279gKfIuLk4o7PgEawLp3WrMgIYGBpkxpraROHsSA== - dependencies: - detect-libc "^1.0.3" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.0" - mkdirp "^0.5.1" - napi-build-utils "^1.0.1" - node-abi "^2.7.0" - noop-logger "^0.1.1" - npmlog "^4.0.1" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^3.0.3" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" - which-pm-runs "^1.0.0" - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= - -pretty-bytes@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-3.0.1.tgz#27d0008d778063a0b4811bb35c79f1bd5d5fbccf" - integrity sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8= - dependencies: - number-is-nan "^1.0.0" - -pretty-bytes@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" - integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -promise.series@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" - integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -randomatic@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" - integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== - dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -readable-stream@^2.0.1, readable-stream@^2.0.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.1, readable-stream@^3.1.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" - integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -reduce-css-calc@^1.2.6: - version "1.3.0" - resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" - integrity sha1-dHyRTgSWFKTJz7umKYca0dKSdxY= - dependencies: - balanced-match "^0.4.2" - math-expression-evaluator "^1.2.14" - reduce-function-call "^1.0.1" - -reduce-function-call@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.3.tgz#60350f7fb252c0a67eb10fd4694d16909971300f" - integrity sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ== - dependencies: - balanced-match "^1.0.0" - -regenerate-unicode-properties@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" - integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.2.1, regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" - integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== - dependencies: - is-equal-shallow "^0.1.3" - -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regexpu-core@^4.5.4: - version "4.6.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" - integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.1.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.1.0" + balanced-match "^1.0.0" + concat-map "0.0.1" -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -regjsgen@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" - integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= +chalk@^2.0.0, chalk@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: - jsesc "~0.5.0" + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" -regjsparser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: - jsesc "~0.5.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + color-name "1.1.3" -repeat-element@^1.1.2: +color-name@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -require-from-string@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" - integrity sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg= + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -reserved-words@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" - integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= +commander@^2.12.1, commander@^2.19.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -resolve@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" - integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== - dependencies: - path-parse "^1.0.5" +diff@^4.0.1, diff@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" + integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== -resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== +doctrine@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" + integrity sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM= dependencies: - path-parse "^1.0.6" + esutils "^1.1.6" + isarray "0.0.1" -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== -rollup-plugin-alias@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-alias/-/rollup-plugin-alias-1.5.2.tgz#f15a1cc8ee0debf74ab5c2bb68a944a66b568411" - integrity sha512-ODeZXhTxpD48sfcYLAFc1BGrsXKDj7o1CSNH3uYbdK3o0NxyMmaQPTNgW+ko+am92DLC8QSTe4kyxTuEkI5S5w== - dependencies: - slash "^3.0.0" +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -rollup-plugin-babel@^4.1.0-0: - version "4.3.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz#7eb5ac16d9b5831c3fd5d97e8df77ba25c72a2aa" - integrity sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - rollup-pluginutils "^2.8.1" +esutils@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" + integrity sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U= -rollup-plugin-buble@^0.19.4: - version "0.19.8" - resolved "https://registry.yarnpkg.com/rollup-plugin-buble/-/rollup-plugin-buble-0.19.8.tgz#f9232e2bb62a7573d04f9705c1bd6f02c2a02c6a" - integrity sha512-8J4zPk2DQdk3rxeZvxgzhHh/rm5nJkjwgcsUYisCQg1QbT5yagW+hehYEW7ZNns/NVbDCTv4JQ7h4fC8qKGOKw== - dependencies: - buble "^0.19.8" - rollup-pluginutils "^2.3.3" +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -rollup-plugin-bundle-size@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-bundle-size/-/rollup-plugin-bundle-size-1.0.3.tgz#d245cd988486b4040279f9fd33f357f61673e90f" - integrity sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ== - dependencies: - chalk "^1.1.3" - maxmin "^2.1.0" +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -rollup-plugin-commonjs@^9.0.0: - version "9.3.4" - resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.3.4.tgz#2b3dddbbbded83d45c36ff101cdd29e924fd23bc" - integrity sha512-DTZOvRoiVIHHLFBCL4pFxOaJt8pagxsVldEXBOn6wl3/V21wVaj17HFfyzTsQUuou3sZL3lEJZVWKPFblJfI6w== +glob@^7.1.1, glob@~7.1.3: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: - estree-walker "^0.6.0" - magic-string "^0.25.2" - resolve "^1.10.0" - rollup-pluginutils "^2.6.0" + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" -rollup-plugin-es3@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-es3/-/rollup-plugin-es3-1.1.0.tgz#f866f91b4db839e5b475d8e4a7b9d4c77ecade14" - integrity sha512-jTMqQgMZ/tkjRW4scf4ln5c0OiTSi+Lx/IEyFd41ldgGoLvvg9AQxmVOl93+KaoyB7XRYToYjiHDvO40NPF/fA== - dependencies: - magic-string "^0.22.4" +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -rollup-plugin-flow@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-flow/-/rollup-plugin-flow-1.1.1.tgz#6ce568f1dd559666b77ab76b4bae251407528db6" - integrity sha1-bOVo8d1Vlma3erdrS64lFAdSjbY= +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: - flow-remove-types "^1.1.0" - rollup-pluginutils "^1.5.1" + once "^1.3.0" + wrappy "1" -rollup-plugin-json@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-json/-/rollup-plugin-json-3.1.0.tgz#7c1daf60c46bc21021ea016bd00863561a03321b" - integrity sha512-BlYk5VspvGpjz7lAwArVzBXR60JK+4EKtPkCHouAWg39obk9S61hZYJDBfMK+oitPdoe11i69TlxKlMQNFC/Uw== - dependencies: - rollup-pluginutils "^2.3.1" +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -rollup-plugin-node-resolve@^4.0.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.2.4.tgz#7d370f8d6fd3031006a0032c38262dd9be3c6250" - integrity sha512-t/64I6l7fZ9BxqD3XlX4ZeO6+5RLKyfpwE2CiPNUKa+GocPlQhf/C208ou8y3AwtNsc6bjSk/8/6y/YAyxCIvw== - dependencies: - "@types/resolve" "0.0.8" - builtin-modules "^3.1.0" - is-module "^1.0.0" - resolve "^1.10.0" +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= -rollup-plugin-postcss@^1.6.1: - version "1.6.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-1.6.3.tgz#18256ba66f29ecd9d42a68f4ef136b92b939ddb8" - integrity sha512-se1qftVETua9ZGViud4A4gbgEQenjYnLPvjh3kTqbBZU+f0mQ9YvJptIuzPhEk5kZAHZhkwIkk2jk+byrn1XPA== - dependencies: - chalk "^2.0.0" - concat-with-sourcemaps "^1.0.5" - cssnano "^3.10.0" - fs-extra "^5.0.0" - import-cwd "^2.1.0" - p-queue "^2.4.2" - pify "^3.0.0" - postcss "^6.0.21" - postcss-load-config "^1.2.0" - postcss-modules "^1.1.0" - promise.series "^0.2.0" - reserved-words "^0.1.2" - resolve "^1.5.0" - rollup-pluginutils "^2.0.1" - style-inject "^0.3.0" +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -rollup-plugin-preserve-shebang@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/rollup-plugin-preserve-shebang/-/rollup-plugin-preserve-shebang-0.1.6.tgz#8cfc4c555d4ca87b9fbb7712869158db0e080d4a" - integrity sha512-b+psdlXZOjmlnKmL6/YAkR8PR15VPcUNXdT35urBRJ8jE6UxHyb4HXeeN3qRZJbMJJaX1eRP72XwH6IvGFh5Jw== +js-yaml@^3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== dependencies: - magic-string "^0.22.4" + argparse "^1.0.7" + esprima "^4.0.0" -rollup-plugin-sizes@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-sizes/-/rollup-plugin-sizes-0.4.2.tgz#1d97ecda2667a43afbb19d801e2476f80f67d12f" - integrity sha512-6VsnWb4aBPcW++3IBMNPo4NLSheoaXh+itXk1OcaolLhYemoQFb7A9hVNocwa0j2BctdmPNFcP7UJ3g///VVaA== - dependencies: - filesize "^3.5.11" - lodash.foreach "^4.5.0" - lodash.sumby "^4.6.0" - module-details-from-path "^1.0.3" +make-error@^1.1.1: + version "1.3.5" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" + integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== -rollup-plugin-terser@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-3.0.0.tgz#045bd7cf625ee1affcfe6971dab6fffe6fb48c65" - integrity sha512-Ed9zRD7OoCBnh0XGlEAJle5TCUsFXMLClwKzZWnS1zbNO4MelHjfCSdFZxCAdH70M40nhZ1nRrY2GZQJhSMcjA== +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: - "@babel/code-frame" "^7.0.0" - jest-worker "^23.2.0" - serialize-javascript "^1.5.0" - terser "^3.8.2" + brace-expansion "^1.1.7" -rollup-plugin-typescript2@^0.19.0: - version "0.19.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.19.3.tgz#713063233461765f030a2baa2640905c2656164f" - integrity sha512-lsRqfBCZhMl/tq9AT5YnQvzQWzXtnx3EQYFcHD72gul7nyyoOrzx5yCEH20smpw58v6UkHHZz03FbdLEPoHWjA== - dependencies: - fs-extra "7.0.1" - resolve "1.8.1" - rollup-pluginutils "2.3.3" - tslib "1.9.3" +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -rollup-pluginutils@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz#3aad9b1eb3e7fe8262820818840bf091e5ae6794" - integrity sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA== +mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: - estree-walker "^0.5.2" - micromatch "^2.3.11" + minimist "0.0.8" -rollup-pluginutils@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" - integrity sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg= +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: - estree-walker "^0.2.1" - minimatch "^3.0.2" + wrappy "1" -rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.3.1, rollup-pluginutils@^2.3.3, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.8.1: - version "2.8.2" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== - dependencies: - estree-walker "^0.6.1" +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -rollup@^0.67.3: - version "0.67.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.67.4.tgz#8ed6b0993337f84ec8a0387f824fa6c197e833ec" - integrity sha512-AVuP73mkb4BBMUmksQ3Jw0jTrBTU1i7rLiUYjFxLZGb3xiFmtVEg40oByphkZAsiL0bJC3hRAJUQos/e5EBd+w== - dependencies: - "@types/estree" "0.0.39" - "@types/node" "*" +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== -sade@^1.4.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.6.1.tgz#aba16655e998b2b68beb9f13938af010f42eddd2" - integrity sha512-USHm9quYNmJwFwhOnEuJohdnBhUOKV1mhL0koHSJMLJaesRX0nuDuzbWmtUBbUmXkwTalLtUBzDlEnU940BiQA== +resolve@^1.3.2: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== dependencies: - mri "^1.1.0" - -safe-buffer@^5.0.1, safe-buffer@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -sax@~1.2.1, sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + path-parse "^1.0.6" -semver@^5.3.0, semver@^5.4.1: +semver@^5.3.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -serialize-javascript@^1.5.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" - integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== - -set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -simple-concat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" - integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= - -simple-get@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" - integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== - dependencies: - decompress-response "^4.2.0" - once "^1.3.1" - simple-concat "^1.0.0" - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -source-map-support@^0.5.6: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@~0.5.10: - version "0.5.15" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.15.tgz#20fe16f16e74644e21a396c78c841fa66e35df6c" - integrity sha512-wYF5aX1J0+V51BDT3Om7uXNn0ct2FWiV4bvwiGVefxkm+1S1o5jsecE5lb2U28DDblzxzxeIDbTVpXHI9D/9hA== +source-map-support@^0.5.6, source-map-support@~0.5.12: + version "0.5.16" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" + integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -sourcemap-codec@^1.4.4: - version "1.4.6" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz#e30a74f0402bad09807640d39e971090a08ce1e9" - integrity sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg== - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -string-hash@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" - integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2": - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string.prototype.trimleft@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" - integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== - dependencies: - define-properties "^1.1.3" - function-bind "^1.1.1" - -string.prototype.trimright@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" - integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== - dependencies: - define-properties "^1.1.3" - function-bind "^1.1.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -style-inject@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" - integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= - dependencies: - has-flag "^1.0.0" - -supports-color@^5.3.0, supports-color@^5.4.0: +supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -3299,86 +272,20 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -svgo@^0.7.0: - version "0.7.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" - integrity sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U= - dependencies: - coa "~1.0.1" - colors "~1.1.2" - csso "~2.3.1" - js-yaml "~3.7.0" - mkdirp "~0.5.1" - sax "~1.2.1" - whet.extend "~0.9.9" - -svgo@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313" - integrity sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.33" - csso "^3.5.1" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -tar-fs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad" - integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA== +terser@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.4.0.tgz#22c46b4817cf4c9565434bfe6ad47336af259ac3" + integrity sha512-oDG16n2WKm27JO8h4y/w3iqBGAOSCtq7k8dRmrn4Wf9NouL0b2WpMHGChFGZq4nFAQy1FsNJrVQHfurXOSTmOA== dependencies: - chownr "^1.1.1" - mkdirp "^0.5.1" - pump "^3.0.0" - tar-stream "^2.0.0" - -tar-stream@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.0.tgz#d1aaa3661f05b38b5acc9b7020efdca5179a2cc3" - integrity sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw== - dependencies: - bl "^3.0.0" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -terser@^3.8.2: - version "3.17.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" - integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ== - dependencies: - commander "^2.19.0" + commander "^2.20.0" source-map "~0.6.1" - source-map-support "~0.5.10" + source-map-support "~0.5.12" thunks@~4.9.4: version "4.9.5" resolved "https://registry.yarnpkg.com/thunks/-/thunks-4.9.5.tgz#fc764983de4de7230a2f300cfe2dc77092bc38f4" integrity sha512-L0s0QzX1x0fcsP52TQs42t3CGX/z6lw0Ktz0ciex47OUhog5K3AsfH3mQ4JTLBYbnsNBhaIUcVMrY8sR+0Lo6w== -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - -tiny-glob@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.6.tgz#9e056e169d9788fe8a734dfa1ff02e9b92ed7eda" - integrity sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw== - dependencies: - globalyzer "^0.1.0" - globrex "^0.1.1" - tman@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/tman/-/tman-1.9.0.tgz#f985acdf4a71779df27569b5552278ad23c0c95c" @@ -3390,15 +297,10 @@ tman@^1.9.0: supports-color "^6.1.0" thunks "~4.9.4" -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - ts-node@^8.4.1: - version "8.4.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.4.1.tgz#270b0dba16e8723c9fa4f9b4775d3810fd994b4f" - integrity sha512-5LpRN+mTiCs7lI5EtbXmF/HfMeCjzt7DH9CZwtkr6SywStrNQC723wG+aOWFiLNn7zT3kD/RnFqi3ZUfr4l5Qw== + version "8.5.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.5.2.tgz#434f6c893bafe501a30b32ac94ee36809ba2adce" + integrity sha512-W1DK/a6BGoV/D4x/SXXm6TSQx6q3blECUzd5TN+j56YEMX3yPVMpHsICLedUw3DvGF3aTQ8hfdR9AKMaHjIi+A== dependencies: arg "^4.1.0" diff "^4.0.1" @@ -3411,12 +313,7 @@ tslib@1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" integrity sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ== -tslib@1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== - -tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.8.0, tslib@^1.8.1: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== @@ -3431,9 +328,9 @@ tslint-eslint-rules@^5.4.0: tsutils "^3.0.0" tslint@^5.20.0: - version "5.20.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.0.tgz#fac93bfa79568a5a24e7be9cdde5e02b02d00ec1" - integrity sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g== + version "5.20.1" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" + integrity sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg== dependencies: "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" @@ -3463,100 +360,10 @@ tsutils@^3.0.0: dependencies: tslib "^1.8.1" -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -typescript@>=2.8.3, typescript@^3.6.4: - version "3.6.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d" - integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg== - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" - integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -vendors@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0" - integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw== - -vlq@^0.2.1, vlq@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" - integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== - -whet.extend@~0.9.9: - version "0.9.9" - resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" - integrity sha1-+HfVv2SMl+WqVC+twW1qJZucEaE= - -which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" +typescript@^3.6.4: + version "3.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.2.tgz#27e489b95fa5909445e9fef5ee48d81697ad18fb" + integrity sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ== wrappy@1: version "1.0.2" From 117721a92fb74d431ba898e1938d4ef77c099ecc Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Mon, 18 Nov 2019 13:41:45 +0300 Subject: [PATCH 07/10] build: use umd as default --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 2896916..2b4c20d 100644 --- a/package.json +++ b/package.json @@ -7,13 +7,13 @@ "license": "MIT", "version": "2.1.0", "source": "jsonrpc.ts", - "main": "target/es5/jsonrpc.js", + "main": "target/umd/jsonrpc.js", "module": "target/mjs/jsonrpc.mjs", "unpkg": "target/umd/jsonrpc.js", "browser": "target/umd/jsonrpc.js", - "types": "target/es5/jsonrpc.d.ts", + "types": "target/umd/jsonrpc.d.ts", "typescript": { - "definition": "target/es5/jsonrpc.d.ts" + "definition": "target/umd/jsonrpc.d.ts" }, "repository": { "type": "git", From edea968d1a106363dde9df5c544d92b41233201e Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Mon, 18 Nov 2019 13:46:19 +0300 Subject: [PATCH 08/10] ci: add moreutils (sponge) --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 63bf6d4..32b76bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,9 @@ cache: directories: - node_modules +before_install: + - sudo apt-get install moreutils + install: - yarn install - yarn build From 5918b1fee332d21cc91b6d49d852fdbec59c50df Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Mon, 18 Nov 2019 15:59:39 +0300 Subject: [PATCH 09/10] chore: remove yarn artifacts --- .gitignore | 4 + yarn-error.log | 93 ------------ yarn.lock | 376 ------------------------------------------------- 3 files changed, 4 insertions(+), 469 deletions(-) delete mode 100644 yarn-error.log delete mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore index 2b73834..9d080a7 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,7 @@ buildcache .rts2_cache_cjs .rts2_cache_es .rts2_cache_umd + +# Yarn +yarn.lock +yarn-error.log diff --git a/yarn-error.log b/yarn-error.log deleted file mode 100644 index 289550b..0000000 --- a/yarn-error.log +++ /dev/null @@ -1,93 +0,0 @@ -Arguments: - /usr/local/bin/node /usr/local/bin/yarn add @types/global global - -PATH: - /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/antongolub/projects/jsonrpc-lite/node_modules/.bin - -Yarn version: - 1.17.3 - -Node version: - 12.6.0 - -Platform: - darwin x64 - -Trace: - Error: https://registry.yarnpkg.com/@types%2fglobal: Not found - at Request.params.callback [as _callback] (/usr/local/lib/node_modules/yarn/lib/cli.js:66830:18) - at Request.self.callback (/usr/local/lib/node_modules/yarn/lib/cli.js:140464:22) - at Request.emit (events.js:203:13) - at Request. (/usr/local/lib/node_modules/yarn/lib/cli.js:141436:10) - at Request.emit (events.js:203:13) - at IncomingMessage. (/usr/local/lib/node_modules/yarn/lib/cli.js:141358:12) - at Object.onceWrapper (events.js:291:20) - at IncomingMessage.emit (events.js:208:15) - at endReadableNT (_stream_readable.js:1154:12) - at processTicksAndRejections (internal/process/task_queues.js:77:11) - -npm manifest: - { - "name": "jsonrpc-lite", - "description": "Parse and Serialize JSON-RPC2 messages in node.js or browser.", - "authors": [ - "Yan Qing " - ], - "license": "MIT", - "version": "2.1.0", - "source": "jsonrpc.ts", - "main": "target/es5/jsonrpc.js", - "module": "target/mjs/jsonrpc.mjs", - "unpkg": "target/umd/jsonrpc.js", - "browser": "target/umd/jsonrpc.js", - "types": "target/es5/jsonrpc.d.ts", - "typescript": { - "definition": "target/es5/jsonrpc.d.ts" - }, - "repository": { - "type": "git", - "url": "git@github.com:teambition/jsonrpc-lite.git" - }, - "homepage": "https://github.com/teambition/jsonrpc-lite", - "keywords": [ - "json", - "jsonrpc", - "json-rpc", - "jsonrpc2", - "serialize", - "parse", - "message" - ], - "dependencies": {}, - "devDependencies": { - "@types/node": "^12.11.1", - "esm": "^3.2.25", - "terser": "^4.4.0", - "tman": "^1.9.0", - "ts-node": "^8.4.1", - "tslint": "^5.20.0", - "tslint-eslint-rules": "^5.4.0", - "typescript": "^3.6.4" - }, - "scripts": { - "build:umd": "tsc -p tsconfig.build.json --module UMD --target ES5 --outDir ./target/umd", - "polyfill": "cat browser.js target/umd/jsonrpc.js | sponge target/umd/jsonrpc.js", - "build:mjs": "tsc -p tsconfig.build.json --module es2015 --target ES6 --outDir ./target/mjs", - "build:es5": "tsc -p tsconfig.build.json --module CommonJS --target ES5 --outDir ./target/es5", - "build": "yarn build:es5 && yarn build:mjs && yarn build:umd && yarn polyfill && yarn compact", - "compact": "for f in $(find target -name '*.js'); do short=${f%.js}; terser -c -m --source-map -o $short.js -- $f; done", - "lint": "tslint -p tsconfig.json -t stylish jsonrpc.ts", - "test": "yarn lint && tman" - }, - "files": [ - "README.md", - "jsonrpc.ts", - "target" - ] - } - -yarn manifest: - No manifest - -Lockfile: - No lockfile diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 59e6fbd..0000000 --- a/yarn.lock +++ /dev/null @@ -1,376 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@types/node@^12.11.1": - version "12.12.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.8.tgz#dab418655af39ce2fa99286a0bed21ef8072ac9d" - integrity sha512-XLla8N+iyfjvsa0KKV+BP/iGSoTmwxsu5Ci5sM33z9TjohF72DEz95iNvD6pPmemvbQgxAv/909G73gUn8QR7w== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -arg@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.1.tgz#485f8e7c390ce4c5f78257dbea80d4be11feda4c" - integrity sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - -chalk@^2.0.0, chalk@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -commander@^2.12.1, commander@^2.19.0, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -diff@^4.0.1, diff@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" - integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== - -doctrine@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" - integrity sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM= - dependencies: - esutils "^1.1.6" - isarray "0.0.1" - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -esm@^3.2.25: - version "3.2.25" - resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" - integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esutils@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" - integrity sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U= - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -glob@^7.1.1, glob@~7.1.3: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -make-error@^1.1.1: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -resolve@^1.3.2: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== - dependencies: - path-parse "^1.0.6" - -semver@^5.3.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -terser@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.4.0.tgz#22c46b4817cf4c9565434bfe6ad47336af259ac3" - integrity sha512-oDG16n2WKm27JO8h4y/w3iqBGAOSCtq7k8dRmrn4Wf9NouL0b2WpMHGChFGZq4nFAQy1FsNJrVQHfurXOSTmOA== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -thunks@~4.9.4: - version "4.9.5" - resolved "https://registry.yarnpkg.com/thunks/-/thunks-4.9.5.tgz#fc764983de4de7230a2f300cfe2dc77092bc38f4" - integrity sha512-L0s0QzX1x0fcsP52TQs42t3CGX/z6lw0Ktz0ciex47OUhog5K3AsfH3mQ4JTLBYbnsNBhaIUcVMrY8sR+0Lo6w== - -tman@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/tman/-/tman-1.9.0.tgz#f985acdf4a71779df27569b5552278ad23c0c95c" - integrity sha512-u6PlJFoeIAJQoFdnsYi9bR8fi6AHE++dvOIsHjmct5M41+s+9LdAK/NqNy+0zKvAsFsMVUX2FnITIEoS7xb3Vw== - dependencies: - commander "^2.19.0" - diff "~4.0.1" - glob "~7.1.3" - supports-color "^6.1.0" - thunks "~4.9.4" - -ts-node@^8.4.1: - version "8.5.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.5.2.tgz#434f6c893bafe501a30b32ac94ee36809ba2adce" - integrity sha512-W1DK/a6BGoV/D4x/SXXm6TSQx6q3blECUzd5TN+j56YEMX3yPVMpHsICLedUw3DvGF3aTQ8hfdR9AKMaHjIi+A== - dependencies: - arg "^4.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.6" - yn "^3.0.0" - -tslib@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" - integrity sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ== - -tslib@^1.8.0, tslib@^1.8.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== - -tslint-eslint-rules@^5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-5.4.0.tgz#e488cc9181bf193fe5cd7bfca213a7695f1737b5" - integrity sha512-WlSXE+J2vY/VPgIcqQuijMQiel+UtmXS+4nvK4ZzlDiqBfXse8FAvkNnTcYhnQyOTW5KFM+uRRGXxYhFpuBc6w== - dependencies: - doctrine "0.7.2" - tslib "1.9.0" - tsutils "^3.0.0" - -tslint@^5.20.0: - version "5.20.1" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" - integrity sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg== - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.1" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.8.0" - tsutils "^2.29.0" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== - dependencies: - tslib "^1.8.1" - -tsutils@^3.0.0: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== - dependencies: - tslib "^1.8.1" - -typescript@^3.6.4: - version "3.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.2.tgz#27e489b95fa5909445e9fef5ee48d81697ad18fb" - integrity sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ== - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -yn@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From 221f67c901eac170cd25db4aa16b615a2c57f4e8 Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Mon, 18 Nov 2019 18:30:28 +0300 Subject: [PATCH 10/10] docs(example): fix bundle path --- example/jsonrpc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/jsonrpc.js b/example/jsonrpc.js index b8a8257..428a9c9 100644 --- a/example/jsonrpc.js +++ b/example/jsonrpc.js @@ -1,6 +1,6 @@ "use strict"; -const jsonrpc = require('../jsonrpc'); +const jsonrpc = require('../target/umd/jsonrpc'); const requestObj = jsonrpc.request('123', 'update', {list: [1, 2, 3]}); const notificationObj = jsonrpc.notification('update', {list: [1, 2, 3]})