diff --git a/package-lock.json b/package-lock.json index a00541e..0833d73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -130,9 +130,18 @@ "dev": true }, "@types/yargs": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-11.0.0.tgz", - "integrity": "sha512-vFql3tOxs6clgh+WVoLW3nOkNGCdeKsMU6mQZkOerJpV/CR9Xc1c1lZ+kYU+hNSobrQIOcNovWfPFDJIhcG5Pw==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.0.tgz", + "integrity": "sha512-hY0o+kcz9M6kH32NUeb6VURghqMuCVkiUx+8Btsqhj4Hhov/hVGUx9DmBJeIkzlp1uAQK4wngQBCjqWdUUkFyA==", + "dev": true, + "requires": { + "@types/yargs-parser": "13.0.0" + } + }, + "@types/yargs-parser": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.0.0.tgz", + "integrity": "sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw==", "dev": true }, "abbrev": { @@ -580,7 +589,8 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true }, "caseless": { "version": "0.12.0", @@ -809,6 +819,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, "requires": { "lru-cache": "4.1.3", "shebang-command": "1.2.0", @@ -866,8 +877,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "deep-eql": { "version": "3.0.1", @@ -976,14 +986,12 @@ "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, "requires": { "once": "1.4.0" } @@ -1206,6 +1214,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, "requires": { "cross-spawn": "5.1.0", "get-stream": "3.0.0", @@ -1446,7 +1455,8 @@ "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true }, "get-func-name": { "version": "2.0.0", @@ -1463,7 +1473,8 @@ "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true }, "getpass": { "version": "0.1.7", @@ -1836,7 +1847,8 @@ "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true }, "is-arrayish": { "version": "0.2.1", @@ -2011,6 +2023,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, "requires": { "invert-kv": "1.0.0" } @@ -2138,6 +2151,7 @@ "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, "requires": { "pseudomap": "1.0.2", "yallist": "2.1.2" @@ -2149,10 +2163,19 @@ "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", "dev": true }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "1.0.0" + } + }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, "requires": { "mimic-fn": "1.2.0" } @@ -2181,7 +2204,8 @@ "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true }, "minimatch": { "version": "3.0.4", @@ -2428,8 +2452,7 @@ "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "nise": { "version": "1.4.10", @@ -2568,7 +2591,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1.0.2" } @@ -2612,6 +2634,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, "requires": { "execa": "0.7.0", "lcid": "1.0.0", @@ -2634,11 +2657,21 @@ "os-tmpdir": "1.0.2" } }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -2845,7 +2878,8 @@ "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true }, "psl": { "version": "1.1.29", @@ -2857,7 +2891,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "requires": { "end-of-stream": "1.4.1", "once": "1.4.0" @@ -2996,7 +3029,8 @@ "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true }, "resolve": { "version": "1.7.1", @@ -3081,8 +3115,7 @@ "semver": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" }, "semver-compare": { "version": "1.0.0", @@ -3712,8 +3745,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "1.0.3", @@ -3736,46 +3768,70 @@ "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", "dev": true }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==" - }, "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true }, "yargs": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", - "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", + "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", "requires": { "cliui": "4.1.0", - "decamelize": "2.0.0", "find-up": "3.0.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", + "get-caller-file": "2.0.5", + "os-locale": "3.1.0", "require-directory": "2.1.1", - "require-main-filename": "1.0.1", + "require-main-filename": "2.0.0", "set-blocking": "2.0.0", - "string-width": "2.1.1", + "string-width": "3.1.0", "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "10.1.0" + "y18n": "4.0.0", + "yargs-parser": "13.0.0" }, "dependencies": { - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "requires": { - "xregexp": "4.0.0" + "nice-try": "1.0.5", + "path-key": "2.0.1", + "semver": "5.7.0", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "6.0.5", + "get-stream": "4.1.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "find-up": { @@ -3786,6 +3842,32 @@ "locate-path": "3.0.0" } }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "2.0.0" + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -3795,12 +3877,37 @@ "path-exists": "3.0.0" } }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "0.1.3", + "mimic-fn": "2.1.0", + "p-is-promise": "2.1.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "1.0.0", + "lcid": "2.0.0", + "mem": "4.3.0" + } + }, "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", "requires": { - "p-try": "2.0.0" + "p-try": "2.2.0" } }, "p-locate": { @@ -3808,20 +3915,49 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "requires": { - "p-limit": "2.0.0" + "p-limit": "2.2.0" } }, "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "require-main-filename": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "7.0.3", + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "5.2.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "4.1.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", + "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", "requires": { - "camelcase": "4.1.0" + "camelcase": "5.3.1", + "decamelize": "1.2.0" } } } diff --git a/package.json b/package.json index dc9a79a..b199622 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ ], "dependencies": { "circular-json": "^0.5.9", - "debug": "4.1.1", - "yargs": "12.0.1" + "debug": "^4.1.1", + "yargs": "^13.2.2" }, "repository": { "type": "git", @@ -68,7 +68,7 @@ "@types/debug": "^4.1.4", "@types/mocha": "^5.2.1", "@types/node": "^10.1.3", - "@types/yargs": "^11.0.0", + "@types/yargs": "^13.0.0", "babel-plugin-transform-react-jsx": "^6.24.1", "babel-register": "^6.26.0", "chai": "^4.2.0", diff --git a/src/bin/cli.ts b/src/bin/cli.ts index 8a8ff58..5a3dccd 100755 --- a/src/bin/cli.ts +++ b/src/bin/cli.ts @@ -97,16 +97,19 @@ const argv = yargs alias: 't', number: true, }) + .option('timeouts', { + boolean: true, + }) .parse(process.argv); // --async-only -applyAsyncOnly(mocha, argv.asyncOnly); +applyAsyncOnly(mocha, argv['async-only']); // --bail applyBail(mocha, argv.bail); // --check-leaks -applyCheckLeaks(mocha, argv.checkLeaks); +applyCheckLeaks(mocha, argv['check-leaks']); // --compilers const { compilers, extensions } = applyCompilers(argv.compilers); @@ -125,13 +128,13 @@ applyForbidOnly(mocha, argv.forbidOnly); applyForbidPending(mocha, argv.forbidPending); // --full-trace -applyFullTrace(mocha, argv.fullTrace); +applyFullTrace(mocha, argv['full-trace']); // --grep option applyGrepPattern(mocha, argv.grep); // --max-parallel -applyMaxParallel(mocha, argv.maxParallel); +applyMaxParallel(mocha, argv['max-parallel']); // --no-timeouts applyNoTimeouts(mocha, argv.timeouts); @@ -141,8 +144,8 @@ const requires = applyRequires(argv.require); mocha.addRequiresForSubprocess(requires); // --reporter-options -const reporterOptions = argv.reporterOptions !== undefined - ? applyReporterOptions(argv.reporterOptions) +const reporterOptions = argv['reporter-options'] !== undefined + ? applyReporterOptions(argv['reporter-options']) : {}; // --reporter @@ -158,7 +161,7 @@ applySlow(mocha, argv.slow); applyTimeout(mocha, argv.timeout); // find files -const files = getFilesList(argv._.slice(2), extensions, argv.recursive); +const files = getFilesList(argv._.slice(2), extensions, argv.recursive || false); if (!files.length) { // tslint:disable-next-line:no-console diff --git a/src/bin/options/async-only.ts b/src/bin/options/async-only.ts index efcf2b1..76119d1 100644 --- a/src/bin/options/async-only.ts +++ b/src/bin/options/async-only.ts @@ -1,6 +1,6 @@ import * as Mocha from 'mocha'; -export default function applyAsyncOnly(mocha: Mocha, asyncOnly: boolean) { +export default function applyAsyncOnly(mocha: Mocha, asyncOnly?: boolean) { if (asyncOnly) { mocha.asyncOnly(); } diff --git a/src/bin/options/bail.ts b/src/bin/options/bail.ts index a6173f3..8d2a8fa 100644 --- a/src/bin/options/bail.ts +++ b/src/bin/options/bail.ts @@ -1,5 +1,5 @@ import * as Mocha from 'mocha'; -export default function applyBail(mocha: Mocha, bail: boolean) { - mocha.suite.bail(bail); +export default function applyBail(mocha: Mocha, bail?: boolean) { + mocha.suite.bail(bail || false); } diff --git a/src/bin/options/check-leaks.ts b/src/bin/options/check-leaks.ts index f801ff7..4f811fb 100644 --- a/src/bin/options/check-leaks.ts +++ b/src/bin/options/check-leaks.ts @@ -1,6 +1,6 @@ import * as Mocha from 'mocha'; -export default function applyCheckLeaks(mocha: Mocha, checkLeaks: boolean) { +export default function applyCheckLeaks(mocha: Mocha, checkLeaks?: boolean) { if (checkLeaks) { mocha.checkLeaks(); } diff --git a/src/bin/options/exit.ts b/src/bin/options/exit.ts index 1ab8732..3b52d2a 100644 --- a/src/bin/options/exit.ts +++ b/src/bin/options/exit.ts @@ -1,6 +1,6 @@ import Mocha from '../../main/mocha'; -export default function applyExit(mocha: Mocha, exitMode: boolean) { +export default function applyExit(mocha: Mocha, exitMode?: boolean) { if (exitMode) { mocha.enableExitMode(); } diff --git a/src/bin/options/forbid-only.ts b/src/bin/options/forbid-only.ts index c0ec8b9..70d5b29 100644 --- a/src/bin/options/forbid-only.ts +++ b/src/bin/options/forbid-only.ts @@ -1,6 +1,6 @@ import * as Mocha from 'mocha'; -export default function applyForbidOnly(mocha: Mocha, forbidOnly: boolean) { +export default function applyForbidOnly(mocha: Mocha, forbidOnly?: boolean) { if (forbidOnly) { mocha.forbidOnly(); } diff --git a/src/bin/options/forbid-pending.ts b/src/bin/options/forbid-pending.ts index f4206db..504dfd5 100644 --- a/src/bin/options/forbid-pending.ts +++ b/src/bin/options/forbid-pending.ts @@ -1,6 +1,6 @@ import * as Mocha from 'mocha'; -export default function applyForbidPending(mocha: Mocha, forbidPending: boolean) { +export default function applyForbidPending(mocha: Mocha, forbidPending?: boolean) { if (forbidPending) { mocha.forbidPending(); } diff --git a/src/bin/options/full-trace.ts b/src/bin/options/full-trace.ts index f335209..1551eea 100644 --- a/src/bin/options/full-trace.ts +++ b/src/bin/options/full-trace.ts @@ -1,6 +1,6 @@ import * as Mocha from 'mocha'; -export default function applyFullTrace(mocha: Mocha, fullTrace: boolean) { +export default function applyFullTrace(mocha: Mocha, fullTrace?: boolean) { if (fullTrace) { mocha.fullTrace(); } diff --git a/src/bin/options/retries.ts b/src/bin/options/retries.ts index 9403609..7326909 100644 --- a/src/bin/options/retries.ts +++ b/src/bin/options/retries.ts @@ -1,6 +1,6 @@ import * as Mocha from 'mocha'; -export default function applyRetries(mocha: Mocha, retries: number) { +export default function applyRetries(mocha: Mocha, retries?: number) { if (retries) { mocha.suite.retries(retries); } diff --git a/src/bin/options/slow.ts b/src/bin/options/slow.ts index a7724d0..2dda588 100644 --- a/src/bin/options/slow.ts +++ b/src/bin/options/slow.ts @@ -1,6 +1,6 @@ import * as Mocha from 'mocha'; -export default function applySlow(mocha: Mocha, slow: number) { +export default function applySlow(mocha: Mocha, slow?: number) { if (slow) { mocha.suite.slow(slow); } diff --git a/src/subprocess/runner.ts b/src/subprocess/runner.ts index c361c17..5627028 100755 --- a/src/subprocess/runner.ts +++ b/src/subprocess/runner.ts @@ -47,6 +47,10 @@ const argv = yargs boolean: true, }) .number('slow') + .option('test', { + demandOption: true, + string: true, + }) .option('require', { array: true, default: [], @@ -256,7 +260,7 @@ applyRequires(argv.require); applyTimeouts(mocha, argv.timeout); // --full-trace -applyFullTrace(mocha, argv.fullTrace); +applyFullTrace(mocha, argv['full-trace']); // apply main process root suite properties for (const option of SUITE_OWN_OPTIONS) { diff --git a/src/util.ts b/src/util.ts index 8d3c99c..c266453 100644 --- a/src/util.ts +++ b/src/util.ts @@ -62,7 +62,7 @@ export function applyCompilers(compilers: any): ICLICompilers { return output; } -export function applyDelay(mocha: Mocha, delay: boolean) { +export function applyDelay(mocha: Mocha, delay?: boolean) { if (delay) { mocha.delay(); } @@ -74,13 +74,13 @@ export function applyGrepPattern(mocha: Mocha, stringPattern?: string) { } } -export function applyNoTimeouts(mocha: Mocha, allowTimeouts: boolean) { +export function applyNoTimeouts(mocha: Mocha, allowTimeouts?: boolean) { if (allowTimeouts === false) { mocha.enableTimeouts(false); } } -export function applyTimeouts(mocha: Mocha, timeout: number) { +export function applyTimeouts(mocha: Mocha, timeout?: number) { if (timeout) { mocha.suite.timeout(timeout); }