diff --git a/.lintstagedrc.json b/.lintstagedrc.json
index 7fb40aa7b..933d5ad87 100644
--- a/.lintstagedrc.json
+++ b/.lintstagedrc.json
@@ -1,3 +1,6 @@
{
- "*.ts": ["tslint --project . --fix", "git add"]
+ "linters": {
+ "*.ts": ["tslint --project . --fix", "git add"]
+ },
+ "ignore": ["test/**/*.ts"]
}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 187764097..1c85fa9ac 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,6 +1,7 @@
{
- "typescript.tsdk": "./node_modules/typescript/lib",
- "editor.rulers": [
- 120
- ]
-}
+ "typescript.tsdk": "./node_modules/typescript/lib",
+ "editor.rulers": [
+ 120
+ ],
+ "editor.tabSize": 2,
+}
\ No newline at end of file
diff --git a/docs/_posts/2018-03-14-v4.0.1.md b/docs/_posts/2018-03-14-v4.0.1.md
new file mode 100644
index 000000000..b44be9b7c
--- /dev/null
+++ b/docs/_posts/2018-03-14-v4.0.1.md
@@ -0,0 +1,12 @@
+---
+layout: changelog
+---
+
+- Fixes crash in projects where `"name"` or `"version"` were not defined in the `package.json` file (#478) - thanks @wilhelmklopp @clavin @aoberoi
+- Fixes `IncomingWebhook.send()` to parse the response as text instead of JSON (#477) - thanks @aoberoi
+- Allows `IncomingWebhook` to be initialized without defaults (#479) - thanks @aoberoi
+- Allows `WebClient` to be initialized without a `token` in TypeScript (#482) - thanks @aoberoi
+- Allows unspecificed arguments to be used with `WebClient` method aliases and `apiCall()` (#484) - thanks @clavin
+- Exports method argument types as top level exports in the type declarations (#483) - thanks @aoberoi
+- Fixes inaccurate property type for `as_user` in `ChatPostMessageArguments` (#475) - thanks @harveyr
+- Improves the `OAuthAccessArguments` and `OAuthTokenArguments` types (#481) - thanks @aoberoi
diff --git a/docs/_reference/WebClient.md b/docs/_reference/WebClient.md
index bb44e3d47..895606048 100644
--- a/docs/_reference/WebClient.md
+++ b/docs/_reference/WebClient.md
@@ -8,8 +8,8 @@ A client for Slack's Web API
This client provides an alias for each [Web API method](https://api.slack.com/methods). Each method is
a convenience wrapper for calling the [WebClient#apiCall](WebClient#apiCall) method using the method name as the first parameter.
-**Kind**: static class of [@slack/client
](#module_@slack/client)
-**Extends**: EventEmitter
+**Kind**: static class of [@slack/client
](#module_@slack/client)
+**Extends**: EventEmitter
**Properties**
| Name | Type | Description |
@@ -17,6 +17,7 @@ a convenience wrapper for calling the [WebClient#apiCall](WebClient#apiCall) met
| [token] | string
| Authentication and authorization token for accessing Slack Web API (usually begins with `xoxp`, `xoxb`, or `xoxa`) |
| [slackApiUrl] | string
| The base URL for reaching Slack's Web API. Consider changing this value for testing purposes. |
+
* [.WebClient](#module_@slack/client.WebClient) ⇐ EventEmitter
* [.apiCall(method, options)](#module_@slack/client.WebClient+apiCall) ⇒ [Promise.<WebAPICallResult>
](#module_@slack/client.WebAPICallResult)
* [.apiCall(method, options, callback)](#module_@slack/client.WebClient+apiCall)
@@ -27,7 +28,7 @@ a convenience wrapper for calling the [WebClient#apiCall](WebClient#apiCall) met
### webClient.apiCall(method, options) ⇒ [Promise.<WebAPICallResult>
](#module_@slack/client.WebAPICallResult)
Generic method for calling a Web API method
-**Kind**: instance method of [WebClient
](#module_@slack/client.WebClient)
+**Kind**: instance method of [WebClient
](#module_@slack/client.WebClient)
| Param | Type | Description |
| --- | --- | --- |
@@ -37,22 +38,22 @@ Generic method for calling a Web API method
### webClient.apiCall(method, options, callback)
-**Kind**: instance method of [WebClient
](#module_@slack/client.WebClient)
+**Kind**: instance method of [WebClient
](#module_@slack/client.WebClient)
| Param | Type |
| --- | --- |
-| method | string
|
-| options | [WebAPICallOptions
](#module_@slack/client.WebAPICallOptions) |
-| callback | [WebAPIResultCallback
](#module_@slack/client.WebAPIResultCallback) |
+| method | string
|
+| options | [WebAPICallOptions
](#module_@slack/client.WebAPICallOptions) |
+| callback | [WebAPIResultCallback
](#module_@slack/client.WebAPIResultCallback) |
### webClient.apiCall(method, options, callback)
-**Kind**: instance method of [WebClient
](#module_@slack/client.WebClient)
+**Kind**: instance method of [WebClient
](#module_@slack/client.WebClient)
| Param | Type |
| --- | --- |
-| method | string
|
-| options | [WebAPICallOptions
](#module_@slack/client.WebAPICallOptions) |
-| callback | [WebAPIResultCallback
](#module_@slack/client.WebAPIResultCallback) |
+| method | string
|
+| options | [WebAPICallOptions
](#module_@slack/client.WebAPICallOptions) |
+| callback | [WebAPIResultCallback
](#module_@slack/client.WebAPIResultCallback) |
diff --git a/package-lock.json b/package-lock.json
index d2ddb0287..9327ccfd3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,14 +1,45 @@
{
"name": "@slack/client",
- "version": "4.0.0-beta.1",
+ "version": "4.0.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+ "@fimbul/bifrost": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@fimbul/bifrost/-/bifrost-0.4.0.tgz",
+ "integrity": "sha512-s4YVtL0xXdEZCu9p6F+mhNTnR8N29jGrTNSMceYLunprbbQm5dHgEZ5rtJ7LZ3nELiis2ogwkMreRsm6aRrKsw==",
+ "dev": true,
+ "requires": {
+ "@fimbul/ymir": "0.4.0",
+ "get-caller-file": "1.0.2",
+ "tslib": "1.9.0"
+ }
+ },
+ "@fimbul/ymir": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@fimbul/ymir/-/ymir-0.4.0.tgz",
+ "integrity": "sha512-qY+jYvoHqRmImS6TjQzsjun8ETPsDj1v+tdgR41edMWX5wsdant4qikabg3dASZ3Yr+kv3ja2Z7QoDGcj+5otQ==",
+ "dev": true,
+ "requires": {
+ "inversify": "4.11.1",
+ "reflect-metadata": "0.1.12",
+ "tslib": "1.9.0"
+ }
+ },
"@sindresorhus/is": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz",
"integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow=="
},
+ "@sinonjs/formatio": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
+ "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==",
+ "dev": true,
+ "requires": {
+ "samsam": "1.3.0"
+ }
+ },
"@types/chai": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.2.tgz",
@@ -30,7 +61,7 @@
"resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz",
"integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==",
"requires": {
- "@types/node": "9.4.1"
+ "@types/node": "9.4.7"
}
},
"@types/got": {
@@ -38,7 +69,7 @@
"resolved": "https://registry.npmjs.org/@types/got/-/got-7.1.7.tgz",
"integrity": "sha512-quhlNPGIkaRyO4PnEuP9pEkUPktjfrvPESENGOhiEzgOUNbunETSQXY5bkZY+Bb/J9V5p/f50Rh1eDklD4Z2FQ==",
"requires": {
- "@types/node": "9.4.1"
+ "@types/node": "9.4.7"
}
},
"@types/is-stream": {
@@ -46,7 +77,7 @@
"resolved": "https://registry.npmjs.org/@types/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha512-jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg==",
"requires": {
- "@types/node": "9.4.1"
+ "@types/node": "9.4.7"
}
},
"@types/loglevel": {
@@ -61,9 +92,9 @@
"dev": true
},
"@types/node": {
- "version": "9.4.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-9.4.1.tgz",
- "integrity": "sha512-9ESUxmXt1Isc1xKfDBZ7tpULyTPY5ZCywcfvQTXoLUqP+n4D+MBH+0n75hdzrcmfCc3eWByOi27+GLmMuAvcUA=="
+ "version": "9.4.7",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-9.4.7.tgz",
+ "integrity": "sha512-4Ba90mWNx8ddbafuyGGwjkZMigi+AWfYLSDCpovwsE63ia8w93r3oJ8PIAQc3y8U+XHcnMOHPIzNe3o438Ywcw=="
},
"@types/p-cancelable": {
"version": "0.3.0",
@@ -111,7 +142,7 @@
"integrity": "sha512-J56Wn8j7ovzmlrkUSPXnVRH+YXUCGoVokiB49QIjz+yq0234guOrBvF/HHrqrJjnY4p5oq+q6xAxT/7An6SeWQ==",
"requires": {
"@types/events": "1.2.0",
- "@types/node": "9.4.1"
+ "@types/node": "9.4.7"
}
},
"ajv": {
@@ -157,16 +188,19 @@
"dev": true
},
"ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"any-observable": {
"version": "0.2.0",
@@ -181,9 +215,9 @@
"dev": true
},
"argparse": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
- "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"requires": {
"sprintf-js": "1.0.3"
@@ -275,6 +309,33 @@
"chalk": "1.1.3",
"esutils": "2.0.2",
"js-tokens": "3.0.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
}
},
"babylon": {
@@ -324,9 +385,9 @@
}
},
"brace-expansion": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
- "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
"balanced-match": "1.0.0",
@@ -334,9 +395,9 @@
}
},
"browser-stdout": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
- "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
"dev": true
},
"builtin-modules": {
@@ -353,6 +414,32 @@
"requires": {
"dicer": "0.2.5",
"readable-stream": "1.1.14"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
}
},
"cache-point": {
@@ -393,6 +480,12 @@
"integrity": "sha512-71q2IKUS1PAZ95t9lgMsLYoAtYuOrTol1jQLGkuI/8wOLtBvneFdpVqSvT0X4LxD6IDALhwNSEnRPVY/DNUyAg==",
"dev": true
},
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
"catharsis": {
"version": "0.8.9",
"resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz",
@@ -428,16 +521,14 @@
}
},
"chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
+ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
"dev": true,
"requires": {
- "ansi-styles": "2.2.1",
+ "ansi-styles": "3.2.1",
"escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
+ "supports-color": "5.3.0"
}
},
"check-error": {
@@ -447,9 +538,9 @@
"dev": true
},
"ci-info": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz",
- "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz",
+ "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==",
"dev": true
},
"cli-cursor": {
@@ -527,88 +618,6 @@
"argv": "0.0.2",
"request": "2.81.0",
"urlgrey": "0.4.4"
- },
- "dependencies": {
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
- },
- "har-validator": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
- "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
- "dev": true,
- "requires": {
- "ajv": "4.11.8",
- "har-schema": "1.0.5"
- }
- },
- "qs": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
- "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
- "dev": true
- },
- "request": {
- "version": "2.81.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
- "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
- "dev": true,
- "requires": {
- "aws-sign2": "0.6.0",
- "aws4": "1.6.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.5",
- "extend": "3.0.1",
- "forever-agent": "0.6.1",
- "form-data": "2.1.4",
- "har-validator": "4.2.1",
- "hawk": "3.1.3",
- "http-signature": "1.1.1",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.17",
- "oauth-sign": "0.8.2",
- "performance-now": "0.2.0",
- "qs": "6.4.0",
- "safe-buffer": "5.1.1",
- "stringstream": "0.0.5",
- "tough-cookie": "2.3.3",
- "tunnel-agent": "0.6.0",
- "uuid": "3.2.1"
- },
- "dependencies": {
- "form-data": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
- "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
- "dev": true,
- "requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.5",
- "mime-types": "2.1.17"
- }
- }
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "5.1.1"
- }
- },
- "uuid": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
- "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==",
- "dev": true
- }
}
},
"collect-all": {
@@ -637,9 +646,9 @@
"dev": true
},
"combined-stream": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
- "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"requires": {
"delayed-stream": "1.0.0"
}
@@ -678,14 +687,14 @@
"requires": {
"ansi-escape-sequences": "4.0.0",
"array-back": "2.0.0",
- "table-layout": "0.4.2",
+ "table-layout": "0.4.3",
"typical": "2.6.1"
}
},
"commander": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.0.tgz",
- "integrity": "sha512-okPpdvdJr6mUGi2XzupC+irQxzwGLVaBzacFC14hjLv8NColXEsxsU+QaeuSSXpQUak5g2K0vQ7WjA1e8svczg==",
+ "version": "2.15.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.0.tgz",
+ "integrity": "sha512-7B1ilBwtYSbetCgTY1NJFg+gVpestg0fdA1MhC1Vs4ssyfSXnCAjFr+QcQM9/RedXC0EaUx1sG8Smgw2VfgKEg==",
"dev": true
},
"common-sequence": {
@@ -729,7 +738,7 @@
"dev": true,
"requires": {
"is-directory": "0.3.1",
- "js-yaml": "3.10.0",
+ "js-yaml": "3.11.0",
"parse-json": "4.0.0",
"require-from-string": "2.0.1"
}
@@ -740,7 +749,7 @@
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
"dev": true,
"requires": {
- "lru-cache": "4.1.1",
+ "lru-cache": "4.1.2",
"shebang-command": "1.2.0",
"which": "1.3.0"
}
@@ -778,9 +787,9 @@
"dev": true
},
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
"ms": "2.0.0"
@@ -863,12 +872,38 @@
"requires": {
"readable-stream": "1.1.14",
"streamsearch": "0.1.2"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
}
},
"diff": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz",
- "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
"dev": true
},
"dmd": {
@@ -892,21 +927,12 @@
}
},
"doctrine": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz",
- "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dev": true,
"requires": {
- "esutils": "1.1.6",
- "isarray": "0.0.1"
- },
- "dependencies": {
- "esutils": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz",
- "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=",
- "dev": true
- }
+ "esutils": "2.0.2"
}
},
"duplexer3": {
@@ -986,9 +1012,9 @@
"dev": true
},
"eventemitter3": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.0.0.tgz",
- "integrity": "sha512-62TxCtz4m2LRaOERVEvLJJ4A6rsg8lC9Xm+FLg2y/1fB/v4ZZ9JCOn+/Ppl5KkH6sRih6bhix724PVanmXYZJQ=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.0.1.tgz",
+ "integrity": "sha512-QOCPu979MMWX9XNlfRZoin+Wm+bK1SP7vv3NGUniYwuSJK/+cPA10blMaeRgzg31RvoSFk6FsCDVa4vNryBTGA=="
},
"execa": {
"version": "0.8.0",
@@ -1076,22 +1102,13 @@
"dev": true
},
"form-data": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz",
- "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
+ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"requires": {
"asynckit": "0.4.0",
- "combined-stream": "1.0.5",
- "mime-types": "2.1.17"
- }
- },
- "formatio": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz",
- "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=",
- "dev": true,
- "requires": {
- "samsam": "1.3.0"
+ "combined-stream": "1.0.6",
+ "mime-types": "2.1.18"
}
},
"from2": {
@@ -1100,36 +1117,7 @@
"integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
"requires": {
"inherits": "2.0.3",
- "readable-stream": "2.3.3"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
- "requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "safe-buffer": "5.1.1",
- "string_decoder": "1.0.3",
- "util-deprecate": "1.0.2"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
- "requires": {
- "safe-buffer": "5.1.1"
- }
- }
+ "readable-stream": "2.3.5"
}
},
"fs-extra": {
@@ -1170,6 +1158,12 @@
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
+ "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=",
+ "dev": true
+ },
"get-func-name": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
@@ -1219,9 +1213,9 @@
}
},
"got": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/got/-/got-8.0.3.tgz",
- "integrity": "sha512-U9GopEw0RLE8c3rbMmQ5/LtM2pLMopRxV7cVh6pNcX6ITLsH/iweqEn6GqoFxoGJHRbNZFvpFJ/knc+RITL6lg==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-8.3.0.tgz",
+ "integrity": "sha512-kBNy/S2CGwrYgDSec5KTWGKUvupwkkTVAjIsVFF2shXO13xpZdFP4d4kxa//CLX2tN/rV0aYwK8vY6UKWGn2vQ==",
"requires": {
"@sindresorhus/is": "0.7.0",
"cacheable-request": "2.1.4",
@@ -1233,13 +1227,20 @@
"isurl": "1.0.0",
"lowercase-keys": "1.0.0",
"mimic-response": "1.0.0",
- "p-cancelable": "0.3.0",
+ "p-cancelable": "0.4.0",
"p-timeout": "2.0.1",
"pify": "3.0.0",
"safe-buffer": "5.1.1",
"timed-out": "4.0.1",
"url-parse-lax": "3.0.0",
"url-to-options": "1.0.1"
+ },
+ "dependencies": {
+ "p-cancelable": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.0.tgz",
+ "integrity": "sha512-/AodqPe1y/GYbhSlnMjxukLGQfQIgsmjSy2CXCNB96kg4ozKvmlovuHEKICToOO/yS3LLWgrWI1dFtFfrePS1g=="
+ }
}
},
"graceful-fs": {
@@ -1264,17 +1265,6 @@
"optimist": "0.6.1",
"source-map": "0.4.4",
"uglify-js": "2.8.29"
- },
- "dependencies": {
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "requires": {
- "amdefine": "1.0.1"
- }
- }
}
},
"har-schema": {
@@ -1283,6 +1273,16 @@
"integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
"dev": true
},
+ "har-validator": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "dev": true,
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ }
+ },
"has": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
@@ -1298,25 +1298,33 @@
"dev": true,
"requires": {
"ansi-regex": "2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ }
}
},
"has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"has-symbol-support-x": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz",
- "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA=="
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
+ "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw=="
},
"has-to-string-tag-x": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
"integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
"requires": {
- "has-symbol-support-x": "1.4.1"
+ "has-symbol-support-x": "1.4.2"
}
},
"hawk": {
@@ -1365,7 +1373,7 @@
"requires": {
"assert-plus": "0.2.0",
"jsprim": "1.4.1",
- "sshpk": "1.13.1"
+ "sshpk": "1.14.1"
}
},
"husky": {
@@ -1418,6 +1426,12 @@
"p-is-promise": "1.1.0"
}
},
+ "inversify": {
+ "version": "4.11.1",
+ "resolved": "https://registry.npmjs.org/inversify/-/inversify-4.11.1.tgz",
+ "integrity": "sha512-9bs/36crPdTSOCcoomHMb96s+B8W0+2c9dHFP/Srv9ZQaPnUvsMgzmMHfgVECqfHVUIW+M5S7SYOjoig8khWuQ==",
+ "dev": true
+ },
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -1441,7 +1455,7 @@
"integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==",
"dev": true,
"requires": {
- "ci-info": "1.1.2"
+ "ci-info": "1.1.3"
}
},
"is-date-object": {
@@ -1555,10 +1569,9 @@
"dev": true
},
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"isexe": {
"version": "2.0.0",
@@ -1593,41 +1606,10 @@
"integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==",
"dev": true,
"requires": {
- "chalk": "2.3.0",
+ "chalk": "2.3.2",
"jest-get-type": "21.2.0",
"leven": "2.1.0",
"pretty-format": "21.2.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.1"
- }
- },
- "chalk": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
- "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "4.5.0"
- }
- },
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "2.0.0"
- }
- }
}
},
"js-tokens": {
@@ -1637,12 +1619,12 @@
"dev": true
},
"js-yaml": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
+ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
"dev": true,
"requires": {
- "argparse": "1.0.9",
+ "argparse": "1.0.10",
"esprima": "4.0.0"
}
},
@@ -1841,14 +1823,14 @@
"dev": true
},
"lint-staged": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-6.1.0.tgz",
- "integrity": "sha512-RMB6BUd2bEKaPnj06F7j8RRB8OHM+UP4fQS2LT8lF+X9BjSaezw1oVB5hc4elLhYvzlFCkhAaatzYz+x53YHgw==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-6.1.1.tgz",
+ "integrity": "sha512-M/7bwLdXbeG7ZNLcasGeLMBDg60/w6obj3KOtINwJyxAxb53XGY0yH5FSZlWklEzuVbTtqtIfAajh6jYIN90AA==",
"dev": true,
"requires": {
"app-root-path": "2.0.1",
- "chalk": "2.3.0",
- "commander": "2.14.0",
+ "chalk": "2.3.2",
+ "commander": "2.15.0",
"cosmiconfig": "4.0.0",
"debug": "3.1.0",
"dedent": "0.7.0",
@@ -1864,48 +1846,8 @@
"p-map": "1.2.0",
"path-is-inside": "1.0.2",
"pify": "3.0.0",
- "staged-git-files": "0.0.4",
+ "staged-git-files": "1.0.0",
"stringify-object": "3.2.2"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.1"
- }
- },
- "chalk": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
- "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "4.5.0"
- }
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "2.0.0"
- }
- }
}
},
"listr": {
@@ -1928,22 +1870,47 @@
"log-update": "1.0.2",
"ora": "0.2.3",
"p-map": "1.2.0",
- "rxjs": "5.5.6",
+ "rxjs": "5.5.7",
"stream-to-observable": "0.2.0",
"strip-ansi": "3.0.1"
},
"dependencies": {
- "log-symbols": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
- "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
- "dev": true,
- "requires": {
- "chalk": "1.1.3"
- }
- }
- }
- },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
"listr-silent-renderer": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz",
@@ -1966,6 +1933,25 @@
"strip-ansi": "3.0.1"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
"indent-string": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
@@ -1980,6 +1966,12 @@
"requires": {
"chalk": "1.1.3"
}
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
}
}
},
@@ -1993,6 +1985,33 @@
"cli-cursor": "1.0.2",
"date-fns": "1.29.0",
"figures": "1.7.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
}
},
"lodash": {
@@ -2037,38 +2056,7 @@
"integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
"dev": true,
"requires": {
- "chalk": "2.3.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.1"
- }
- },
- "chalk": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
- "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "4.5.0"
- }
- },
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "2.0.0"
- }
- }
+ "chalk": "2.3.2"
}
},
"log-update": {
@@ -2104,9 +2092,9 @@
"integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY="
},
"lru-cache": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz",
+ "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==",
"dev": true,
"requires": {
"pseudomap": "1.0.2",
@@ -2114,9 +2102,9 @@
}
},
"make-error": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.3.tgz",
- "integrity": "sha512-j3dZCri3cCd23wgPqK/0/KvTN8R+W6fXDqQe8BNLbTpONjbA8SPaRr+q0BQq9bx3Q/+g68/gDIh9FW3by702Tg==",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz",
+ "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==",
"dev": true
},
"marked": {
@@ -2126,16 +2114,16 @@
"dev": true
},
"mime-db": {
- "version": "1.30.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
- "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
+ "version": "1.33.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+ "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
},
"mime-types": {
- "version": "2.1.17",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
- "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
+ "version": "2.1.18",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"requires": {
- "mime-db": "1.30.0"
+ "mime-db": "1.33.0"
}
},
"mimic-response": {
@@ -2149,13 +2137,13 @@
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
- "brace-expansion": "1.1.8"
+ "brace-expansion": "1.1.11"
}
},
"minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
"dev": true
},
"mkdirp": {
@@ -2165,6 +2153,14 @@
"dev": true,
"requires": {
"minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ }
}
},
"mkdirp2": {
@@ -2174,15 +2170,15 @@
"dev": true
},
"mocha": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.0.0.tgz",
- "integrity": "sha512-ukB2dF+u4aeJjc6IGtPNnJXfeby5d4ZqySlIBT0OEyva/DrMjVm5HkQxKnHDLKEfEQBsEnwTg9HHhtPHJdTd8w==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.0.4.tgz",
+ "integrity": "sha512-nMOpAPFosU1B4Ix1jdhx5e3q7XO55ic5a8cgYvW27CequcEY+BabS0kUVL1Cw1V5PuVHZWeNRWFLmEPexo79VA==",
"dev": true,
"requires": {
- "browser-stdout": "1.3.0",
+ "browser-stdout": "1.3.1",
"commander": "2.11.0",
"debug": "3.1.0",
- "diff": "3.3.1",
+ "diff": "3.5.0",
"escape-string-regexp": "1.0.5",
"glob": "7.1.2",
"growl": "1.10.3",
@@ -2197,14 +2193,11 @@
"integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
"dev": true
},
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
},
"supports-color": {
"version": "4.4.0",
@@ -2224,88 +2217,40 @@
"dev": true
},
"nise": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/nise/-/nise-1.2.2.tgz",
- "integrity": "sha512-rvxf+PSZeCKtP0DgmwMmNf1G3I6X1r4WHiP2H88PlIkOkt7mGqufdokjS8caoHBgZzVx0ee/5ytGcGHbZaUw8w==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/nise/-/nise-1.3.0.tgz",
+ "integrity": "sha512-U+Krdzhsw4losPP/Rij5UGTLQgS9gaWmXdRIbZQIQWVsUGDBo+N0m9mrY9CCEnmwssgswwydxLJUZtFfouC0gA==",
"dev": true,
"requires": {
- "formatio": "1.2.0",
+ "@sinonjs/formatio": "2.0.0",
"just-extend": "1.1.27",
- "lolex": "1.6.0",
+ "lolex": "2.3.2",
"path-to-regexp": "1.7.0",
"text-encoding": "0.6.4"
- },
- "dependencies": {
- "lolex": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz",
- "integrity": "sha1-OpoCg0UqR9dDnnJzG54H1zhuSfY=",
- "dev": true
- }
}
},
"nock": {
- "version": "9.1.6",
- "resolved": "https://registry.npmjs.org/nock/-/nock-9.1.6.tgz",
- "integrity": "sha512-DuKF+1W/FnMO6MXIGgCIWcM95bETjBbmFdR4v7dAj1zH9a9XhOjAa//PuWh98XIXxcZt7wdiv0JlO0AA0e2kqQ==",
+ "version": "9.2.3",
+ "resolved": "https://registry.npmjs.org/nock/-/nock-9.2.3.tgz",
+ "integrity": "sha512-4XYNSJDJ/PvNoH+cCRWcGOOFsq3jtZdNTRIlPIBA7CopGWJO56m5OaPEjjJ3WddxNYfe5HL9sQQAtMt8oyR9AA==",
"dev": true,
"requires": {
- "chai": "3.5.0",
- "debug": "2.6.9",
+ "chai": "4.1.2",
+ "debug": "3.1.0",
"deep-equal": "1.0.1",
"json-stringify-safe": "5.0.1",
"lodash": "4.17.5",
"mkdirp": "0.5.1",
- "propagate": "0.4.0",
+ "propagate": "1.0.0",
"qs": "6.5.1",
"semver": "5.5.0"
},
"dependencies": {
- "chai": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
- "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=",
- "dev": true,
- "requires": {
- "assertion-error": "1.1.0",
- "deep-eql": "0.1.3",
- "type-detect": "1.0.0"
- }
- },
- "deep-eql": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
- "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
- "dev": true,
- "requires": {
- "type-detect": "0.1.1"
- },
- "dependencies": {
- "type-detect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
- "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
- "dev": true
- }
- }
- },
"qs": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
"integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
"dev": true
- },
- "semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
- "dev": true
- },
- "type-detect": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
- "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=",
- "dev": true
}
}
},
@@ -2321,7 +2266,7 @@
"integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
"requires": {
"prepend-http": "2.0.0",
- "query-string": "5.1.0",
+ "query-string": "5.1.1",
"sort-keys": "2.0.0"
}
},
@@ -2349,7 +2294,7 @@
"integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=",
"dev": true,
"requires": {
- "commander": "2.14.0",
+ "commander": "2.15.0",
"npm-path": "2.0.4",
"which": "1.3.0"
}
@@ -2361,9 +2306,9 @@
"dev": true
},
"nyc": {
- "version": "11.4.1",
- "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz",
- "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==",
+ "version": "11.6.0",
+ "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.6.0.tgz",
+ "integrity": "sha512-ZaXCh0wmbk2aSBH2B5hZGGvK2s9aM8DIm2rVY+BG3Fx8tUS+bpJSswUVZqOD1YfCmnYRFSqgYJSr7UeeUcW0jg==",
"dev": true,
"requires": {
"archy": "1.0.0",
@@ -2376,29 +2321,28 @@
"find-up": "2.1.0",
"foreground-child": "1.5.6",
"glob": "7.1.2",
- "istanbul-lib-coverage": "1.1.1",
+ "istanbul-lib-coverage": "1.2.0",
"istanbul-lib-hook": "1.1.0",
- "istanbul-lib-instrument": "1.9.1",
- "istanbul-lib-report": "1.1.2",
- "istanbul-lib-source-maps": "1.2.2",
- "istanbul-reports": "1.1.3",
+ "istanbul-lib-instrument": "1.10.1",
+ "istanbul-lib-report": "1.1.3",
+ "istanbul-lib-source-maps": "1.2.3",
+ "istanbul-reports": "1.3.0",
"md5-hex": "1.3.0",
- "merge-source-map": "1.0.4",
+ "merge-source-map": "1.1.0",
"micromatch": "2.3.11",
"mkdirp": "0.5.1",
"resolve-from": "2.0.0",
"rimraf": "2.6.2",
"signal-exit": "3.0.2",
"spawn-wrap": "1.4.2",
- "test-exclude": "4.1.1",
- "yargs": "10.0.3",
- "yargs-parser": "8.0.0"
+ "test-exclude": "4.2.1",
+ "yargs": "11.1.0",
+ "yargs-parser": "8.1.0"
},
"dependencies": {
"align-text": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "bundled": true,
"dev": true,
"requires": {
"kind-of": "3.2.2",
@@ -2408,26 +2352,22 @@
},
"amdefine": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "bundled": true,
"dev": true
},
"ansi-regex": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "bundled": true,
"dev": true
},
"ansi-styles": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "bundled": true,
"dev": true
},
"append-transform": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
- "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
+ "bundled": true,
"dev": true,
"requires": {
"default-require-extensions": "1.0.0"
@@ -2435,14 +2375,12 @@
},
"archy": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+ "bundled": true,
"dev": true
},
"arr-diff": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "bundled": true,
"dev": true,
"requires": {
"arr-flatten": "1.1.0"
@@ -2450,32 +2388,42 @@
},
"arr-flatten": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "bundled": true,
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "bundled": true,
"dev": true
},
"array-unique": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "bundled": true,
"dev": true
},
"arrify": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "bundled": true,
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "bundled": true,
"dev": true
},
"async": {
"version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "bundled": true,
+ "dev": true
+ },
+ "atob": {
+ "version": "2.0.3",
+ "bundled": true,
"dev": true
},
"babel-code-frame": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "bundled": true,
"dev": true,
"requires": {
"chalk": "1.1.3",
@@ -2484,9 +2432,8 @@
}
},
"babel-generator": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz",
- "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=",
+ "version": "6.26.1",
+ "bundled": true,
"dev": true,
"requires": {
"babel-messages": "6.23.0",
@@ -2494,15 +2441,14 @@
"babel-types": "6.26.0",
"detect-indent": "4.0.0",
"jsesc": "1.3.0",
- "lodash": "4.17.4",
+ "lodash": "4.17.5",
"source-map": "0.5.7",
"trim-right": "1.0.1"
}
},
"babel-messages": {
"version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "bundled": true,
"dev": true,
"requires": {
"babel-runtime": "6.26.0"
@@ -2510,8 +2456,7 @@
},
"babel-runtime": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "bundled": true,
"dev": true,
"requires": {
"core-js": "2.5.3",
@@ -2520,21 +2465,19 @@
},
"babel-template": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+ "bundled": true,
"dev": true,
"requires": {
"babel-runtime": "6.26.0",
"babel-traverse": "6.26.0",
"babel-types": "6.26.0",
"babylon": "6.18.0",
- "lodash": "4.17.4"
+ "lodash": "4.17.5"
}
},
"babel-traverse": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "bundled": true,
"dev": true,
"requires": {
"babel-code-frame": "6.26.0",
@@ -2544,38 +2487,63 @@
"babylon": "6.18.0",
"debug": "2.6.9",
"globals": "9.18.0",
- "invariant": "2.2.2",
- "lodash": "4.17.4"
+ "invariant": "2.2.3",
+ "lodash": "4.17.5"
}
},
"babel-types": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "bundled": true,
"dev": true,
"requires": {
"babel-runtime": "6.26.0",
"esutils": "2.0.2",
- "lodash": "4.17.4",
+ "lodash": "4.17.5",
"to-fast-properties": "1.0.3"
}
},
"babylon": {
"version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "bundled": true,
"dev": true
},
"balanced-match": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "bundled": true,
"dev": true
},
+ "base": {
+ "version": "0.11.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cache-base": "1.0.1",
+ "class-utils": "0.3.6",
+ "component-emitter": "1.2.1",
+ "define-property": "1.0.0",
+ "isobject": "3.0.1",
+ "mixin-deep": "1.3.1",
+ "pascalcase": "0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"brace-expansion": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
- "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "version": "1.1.11",
+ "bundled": true,
"dev": true,
"requires": {
"balanced-match": "1.0.0",
@@ -2584,8 +2552,7 @@
},
"braces": {
"version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "bundled": true,
"dev": true,
"requires": {
"expand-range": "1.8.2",
@@ -2595,14 +2562,35 @@
},
"builtin-modules": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "bundled": true,
"dev": true
},
+ "cache-base": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "collection-visit": "1.0.0",
+ "component-emitter": "1.2.1",
+ "get-value": "2.0.6",
+ "has-value": "1.0.0",
+ "isobject": "3.0.1",
+ "set-value": "2.0.0",
+ "to-object-path": "0.3.0",
+ "union-value": "1.0.0",
+ "unset-value": "1.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"caching-transform": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz",
- "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=",
+ "bundled": true,
"dev": true,
"requires": {
"md5-hex": "1.3.0",
@@ -2612,15 +2600,13 @@
},
"camelcase": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "bundled": true,
"dev": true,
"optional": true
},
"center-align": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "bundled": true,
"dev": true,
"optional": true,
"requires": {
@@ -2630,8 +2616,7 @@
},
"chalk": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "bundled": true,
"dev": true,
"requires": {
"ansi-styles": "2.2.1",
@@ -2641,10 +2626,86 @@
"supports-color": "2.0.0"
}
},
+ "class-utils": {
+ "version": "0.3.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "arr-union": "3.1.0",
+ "define-property": "0.2.5",
+ "isobject": "3.0.1",
+ "static-extend": "0.1.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"cliui": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "bundled": true,
"dev": true,
"optional": true,
"requires": {
@@ -2655,8 +2716,7 @@
"dependencies": {
"wordwrap": {
"version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "bundled": true,
"dev": true,
"optional": true
}
@@ -2664,48 +2724,60 @@
},
"code-point-at": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "bundled": true,
"dev": true
},
+ "collection-visit": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "map-visit": "1.0.0",
+ "object-visit": "1.0.1"
+ }
+ },
"commondir": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "bundled": true,
+ "dev": true
+ },
+ "component-emitter": {
+ "version": "1.2.1",
+ "bundled": true,
"dev": true
},
"concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "bundled": true,
"dev": true
},
"convert-source-map": {
"version": "1.5.1",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
+ "bundled": true,
+ "dev": true
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "bundled": true,
"dev": true
},
"core-js": {
"version": "2.5.3",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
- "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=",
+ "bundled": true,
"dev": true
},
"cross-spawn": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
- "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
+ "bundled": true,
"dev": true,
"requires": {
- "lru-cache": "4.1.1",
+ "lru-cache": "4.1.2",
"which": "1.3.0"
}
},
"debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "bundled": true,
"dev": true,
"requires": {
"ms": "2.0.0"
@@ -2713,29 +2785,46 @@
},
"debug-log": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz",
- "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=",
+ "bundled": true,
"dev": true
},
"decamelize": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "bundled": true,
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "bundled": true,
"dev": true
},
"default-require-extensions": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
- "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
+ "bundled": true,
"dev": true,
"requires": {
"strip-bom": "2.0.0"
}
},
- "detect-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
- "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "define-property": {
+ "version": "2.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2",
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "bundled": true,
"dev": true,
"requires": {
"repeating": "2.0.1"
@@ -2743,8 +2832,7 @@
},
"error-ex": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
- "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "bundled": true,
"dev": true,
"requires": {
"is-arrayish": "0.2.1"
@@ -2752,20 +2840,17 @@
},
"escape-string-regexp": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "bundled": true,
"dev": true
},
"esutils": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "bundled": true,
"dev": true
},
"execa": {
"version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "bundled": true,
"dev": true,
"requires": {
"cross-spawn": "5.1.0",
@@ -2779,11 +2864,10 @@
"dependencies": {
"cross-spawn": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "bundled": true,
"dev": true,
"requires": {
- "lru-cache": "4.1.1",
+ "lru-cache": "4.1.2",
"shebang-command": "1.2.0",
"which": "1.3.0"
}
@@ -2792,8 +2876,7 @@
},
"expand-brackets": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "bundled": true,
"dev": true,
"requires": {
"is-posix-bracket": "0.1.1"
@@ -2801,17 +2884,34 @@
},
"expand-range": {
"version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "bundled": true,
"dev": true,
"requires": {
"fill-range": "2.2.3"
}
},
+ "extend-shallow": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "assign-symbols": "1.0.0",
+ "is-extendable": "1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
+ }
+ }
+ },
"extglob": {
"version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "bundled": true,
"dev": true,
"requires": {
"is-extglob": "1.0.0"
@@ -2819,14 +2919,12 @@
},
"filename-regex": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "bundled": true,
"dev": true
},
"fill-range": {
"version": "2.2.3",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
- "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "bundled": true,
"dev": true,
"requires": {
"is-number": "2.1.0",
@@ -2838,8 +2936,7 @@
},
"find-cache-dir": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
- "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
+ "bundled": true,
"dev": true,
"requires": {
"commondir": "1.0.1",
@@ -2849,8 +2946,7 @@
},
"find-up": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "bundled": true,
"dev": true,
"requires": {
"locate-path": "2.0.0"
@@ -2858,14 +2954,12 @@
},
"for-in": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "bundled": true,
"dev": true
},
"for-own": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "bundled": true,
"dev": true,
"requires": {
"for-in": "1.0.2"
@@ -2873,36 +2967,44 @@
},
"foreground-child": {
"version": "1.5.6",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz",
- "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=",
+ "bundled": true,
"dev": true,
"requires": {
"cross-spawn": "4.0.2",
"signal-exit": "3.0.2"
}
},
+ "fragment-cache": {
+ "version": "0.2.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "map-cache": "0.2.2"
+ }
+ },
"fs.realpath": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "bundled": true,
"dev": true
},
"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=",
+ "bundled": true,
"dev": true
},
"get-stream": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "bundled": true,
+ "dev": true
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "bundled": true,
"dev": true
},
"glob": {
"version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "bundled": true,
"dev": true,
"requires": {
"fs.realpath": "1.0.0",
@@ -2915,8 +3017,7 @@
},
"glob-base": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "bundled": true,
"dev": true,
"requires": {
"glob-parent": "2.0.0",
@@ -2925,8 +3026,7 @@
},
"glob-parent": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "bundled": true,
"dev": true,
"requires": {
"is-glob": "2.0.1"
@@ -2934,20 +3034,17 @@
},
"globals": {
"version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "bundled": true,
"dev": true
},
"graceful-fs": {
"version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "bundled": true,
"dev": true
},
"handlebars": {
"version": "4.0.11",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
- "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
+ "bundled": true,
"dev": true,
"requires": {
"async": "1.5.2",
@@ -2958,8 +3055,7 @@
"dependencies": {
"source-map": {
"version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "bundled": true,
"dev": true,
"requires": {
"amdefine": "1.0.1"
@@ -2969,8 +3065,7 @@
},
"has-ansi": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "bundled": true,
"dev": true,
"requires": {
"ansi-regex": "2.1.1"
@@ -2978,26 +3073,76 @@
},
"has-flag": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "bundled": true,
"dev": true
},
+ "has-value": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "get-value": "2.0.6",
+ "has-values": "1.0.0",
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
"hosted-git-info": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
- "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
+ "version": "2.6.0",
+ "bundled": true,
"dev": true
},
"imurmurhash": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "bundled": true,
"dev": true
},
"inflight": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "bundled": true,
"dev": true,
"requires": {
"once": "1.4.0",
@@ -3006,14 +3151,12 @@
},
"inherits": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "bundled": true,
"dev": true
},
"invariant": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
- "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "version": "2.2.3",
+ "bundled": true,
"dev": true,
"requires": {
"loose-envify": "1.3.1"
@@ -3021,41 +3164,82 @@
},
"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=",
+ "bundled": true,
"dev": true
},
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "6.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"is-arrayish": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "bundled": true,
"dev": true
},
"is-buffer": {
"version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "bundled": true,
"dev": true
},
"is-builtin-module": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "bundled": true,
"dev": true,
"requires": {
"builtin-modules": "1.1.1"
}
},
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "6.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "1.0.0",
+ "is-data-descriptor": "1.0.0",
+ "kind-of": "6.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "6.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"is-dotfile": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
- "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "bundled": true,
"dev": true
},
"is-equal-shallow": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "bundled": true,
"dev": true,
"requires": {
"is-primitive": "2.0.0"
@@ -3063,38 +3247,30 @@
},
"is-extendable": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "bundled": true,
"dev": true
},
"is-extglob": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "bundled": true,
"dev": true
},
"is-finite": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "bundled": true,
"dev": true,
"requires": {
"number-is-nan": "1.0.1"
}
},
"is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "1.0.1"
- }
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
},
"is-glob": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "bundled": true,
"dev": true,
"requires": {
"is-extglob": "1.0.0"
@@ -3102,95 +3278,118 @@
},
"is-number": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "bundled": true,
"dev": true,
"requires": {
"kind-of": "3.2.2"
}
},
+ "is-odd": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-number": "4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"is-posix-bracket": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "bundled": true,
"dev": true
},
"is-primitive": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "bundled": true,
"dev": true
},
"is-stream": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "bundled": true,
"dev": true
},
"is-utf8": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "bundled": true,
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "bundled": true,
"dev": true
},
"isarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "bundled": true,
"dev": true
},
"isexe": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "bundled": true,
"dev": true
},
"isobject": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "bundled": true,
"dev": true,
"requires": {
"isarray": "1.0.0"
}
},
"istanbul-lib-coverage": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz",
- "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==",
+ "version": "1.2.0",
+ "bundled": true,
"dev": true
},
"istanbul-lib-hook": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz",
- "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==",
+ "bundled": true,
"dev": true,
"requires": {
"append-transform": "0.4.0"
}
},
"istanbul-lib-instrument": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz",
- "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==",
+ "version": "1.10.1",
+ "bundled": true,
"dev": true,
"requires": {
- "babel-generator": "6.26.0",
+ "babel-generator": "6.26.1",
"babel-template": "6.26.0",
"babel-traverse": "6.26.0",
"babel-types": "6.26.0",
"babylon": "6.18.0",
- "istanbul-lib-coverage": "1.1.1",
- "semver": "5.4.1"
+ "istanbul-lib-coverage": "1.2.0",
+ "semver": "5.5.0"
}
},
"istanbul-lib-report": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz",
- "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==",
+ "version": "1.1.3",
+ "bundled": true,
"dev": true,
"requires": {
- "istanbul-lib-coverage": "1.1.1",
+ "istanbul-lib-coverage": "1.2.0",
"mkdirp": "0.5.1",
"path-parse": "1.0.5",
"supports-color": "3.2.3"
@@ -3198,8 +3397,7 @@
"dependencies": {
"supports-color": {
"version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "bundled": true,
"dev": true,
"requires": {
"has-flag": "1.0.0"
@@ -3208,13 +3406,12 @@
}
},
"istanbul-lib-source-maps": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz",
- "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==",
+ "version": "1.2.3",
+ "bundled": true,
"dev": true,
"requires": {
"debug": "3.1.0",
- "istanbul-lib-coverage": "1.1.1",
+ "istanbul-lib-coverage": "1.2.0",
"mkdirp": "0.5.1",
"rimraf": "2.6.2",
"source-map": "0.5.7"
@@ -3222,8 +3419,7 @@
"dependencies": {
"debug": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "bundled": true,
"dev": true,
"requires": {
"ms": "2.0.0"
@@ -3232,9 +3428,8 @@
}
},
"istanbul-reports": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz",
- "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==",
+ "version": "1.3.0",
+ "bundled": true,
"dev": true,
"requires": {
"handlebars": "4.0.11"
@@ -3242,20 +3437,17 @@
},
"js-tokens": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+ "bundled": true,
"dev": true
},
"jsesc": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "bundled": true,
"dev": true
},
"kind-of": {
"version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "bundled": true,
"dev": true,
"requires": {
"is-buffer": "1.1.6"
@@ -3263,15 +3455,13 @@
},
"lazy-cache": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "bundled": true,
"dev": true,
"optional": true
},
"lcid": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "bundled": true,
"dev": true,
"requires": {
"invert-kv": "1.0.0"
@@ -3279,8 +3469,7 @@
},
"load-json-file": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "bundled": true,
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
@@ -3292,8 +3481,7 @@
},
"locate-path": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "bundled": true,
"dev": true,
"requires": {
"p-locate": "2.0.0",
@@ -3302,47 +3490,54 @@
"dependencies": {
"path-exists": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "bundled": true,
"dev": true
}
}
},
"lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "version": "4.17.5",
+ "bundled": true,
"dev": true
},
"longest": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "bundled": true,
"dev": true
},
"loose-envify": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
- "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "bundled": true,
"dev": true,
"requires": {
"js-tokens": "3.0.2"
}
},
"lru-cache": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+ "version": "4.1.2",
+ "bundled": true,
"dev": true,
"requires": {
"pseudomap": "1.0.2",
"yallist": "2.1.2"
}
},
+ "map-cache": {
+ "version": "0.2.2",
+ "bundled": true,
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "object-visit": "1.0.1"
+ }
+ },
"md5-hex": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz",
- "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=",
+ "bundled": true,
"dev": true,
"requires": {
"md5-o-matic": "0.1.1"
@@ -3350,32 +3545,35 @@
},
"md5-o-matic": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz",
- "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=",
+ "bundled": true,
"dev": true
},
"mem": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
- "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "bundled": true,
"dev": true,
"requires": {
- "mimic-fn": "1.1.0"
+ "mimic-fn": "1.2.0"
}
},
"merge-source-map": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
- "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=",
+ "version": "1.1.0",
+ "bundled": true,
"dev": true,
"requires": {
- "source-map": "0.5.7"
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "bundled": true,
+ "dev": true
+ }
}
},
"micromatch": {
"version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "bundled": true,
"dev": true,
"requires": {
"arr-diff": "2.0.0",
@@ -3394,30 +3592,45 @@
}
},
"mimic-fn": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
- "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=",
+ "version": "1.2.0",
+ "bundled": true,
"dev": true
},
"minimatch": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "bundled": true,
"dev": true,
"requires": {
- "brace-expansion": "1.1.8"
+ "brace-expansion": "1.1.11"
}
},
"minimist": {
"version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "bundled": true,
"dev": true
},
+ "mixin-deep": {
+ "version": "1.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "for-in": "1.0.2",
+ "is-extendable": "1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
+ }
+ }
+ },
"mkdirp": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "bundled": true,
"dev": true,
"requires": {
"minimist": "0.0.8"
@@ -3425,26 +3638,59 @@
},
"ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "bundled": true,
"dev": true
},
+ "nanomatch": {
+ "version": "1.2.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "fragment-cache": "0.2.1",
+ "is-odd": "2.0.0",
+ "is-windows": "1.0.2",
+ "kind-of": "6.0.2",
+ "object.pick": "1.3.0",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "bundled": true,
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"normalize-package-data": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "bundled": true,
"dev": true,
"requires": {
- "hosted-git-info": "2.5.0",
+ "hosted-git-info": "2.6.0",
"is-builtin-module": "1.0.0",
- "semver": "5.4.1",
- "validate-npm-package-license": "3.0.1"
+ "semver": "5.5.0",
+ "validate-npm-package-license": "3.0.3"
}
},
"normalize-path": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "bundled": true,
"dev": true,
"requires": {
"remove-trailing-separator": "1.1.0"
@@ -3452,8 +3698,7 @@
},
"npm-run-path": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "bundled": true,
"dev": true,
"requires": {
"path-key": "2.0.1"
@@ -3461,30 +3706,109 @@
},
"number-is-nan": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "bundled": true,
"dev": true
},
"object-assign": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "bundled": true,
"dev": true
},
+ "object-copy": {
+ "version": "0.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "0.1.1",
+ "define-property": "0.2.5",
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"object.omit": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "bundled": true,
"dev": true,
"requires": {
"for-own": "0.1.5",
"is-extendable": "0.1.1"
}
},
+ "object.pick": {
+ "version": "1.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"once": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "bundled": true,
"dev": true,
"requires": {
"wrappy": "1.0.2"
@@ -3492,8 +3816,7 @@
},
"optimist": {
"version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "bundled": true,
"dev": true,
"requires": {
"minimist": "0.0.8",
@@ -3502,14 +3825,12 @@
},
"os-homedir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "bundled": true,
"dev": true
},
"os-locale": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "bundled": true,
"dev": true,
"requires": {
"execa": "0.7.0",
@@ -3519,29 +3840,33 @@
},
"p-finally": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "bundled": true,
"dev": true
},
"p-limit": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz",
- "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=",
- "dev": true
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "p-try": "1.0.0"
+ }
},
"p-locate": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "bundled": true,
"dev": true,
"requires": {
- "p-limit": "1.1.0"
+ "p-limit": "1.2.0"
}
},
+ "p-try": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
"parse-glob": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "bundled": true,
"dev": true,
"requires": {
"glob-base": "0.3.0",
@@ -3552,17 +3877,20 @@
},
"parse-json": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "bundled": true,
"dev": true,
"requires": {
"error-ex": "1.3.1"
}
},
+ "pascalcase": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true
+ },
"path-exists": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "bundled": true,
"dev": true,
"requires": {
"pinkie-promise": "2.0.1"
@@ -3570,26 +3898,22 @@
},
"path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "bundled": true,
"dev": true
},
"path-key": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "bundled": true,
"dev": true
},
"path-parse": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
- "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "bundled": true,
"dev": true
},
"path-type": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "bundled": true,
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
@@ -3599,20 +3923,17 @@
},
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "bundled": true,
"dev": true
},
"pinkie": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "bundled": true,
"dev": true
},
"pinkie-promise": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "bundled": true,
"dev": true,
"requires": {
"pinkie": "2.0.4"
@@ -3620,8 +3941,7 @@
},
"pkg-dir": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
- "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+ "bundled": true,
"dev": true,
"requires": {
"find-up": "1.1.2"
@@ -3629,8 +3949,7 @@
"dependencies": {
"find-up": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "bundled": true,
"dev": true,
"requires": {
"path-exists": "2.1.0",
@@ -3639,22 +3958,24 @@
}
}
},
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true
+ },
"preserve": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "bundled": true,
"dev": true
},
"pseudomap": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "bundled": true,
"dev": true
},
"randomatic": {
"version": "1.1.7",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
- "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
+ "bundled": true,
"dev": true,
"requires": {
"is-number": "3.0.0",
@@ -3663,8 +3984,7 @@
"dependencies": {
"is-number": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "bundled": true,
"dev": true,
"requires": {
"kind-of": "3.2.2"
@@ -3672,8 +3992,7 @@
"dependencies": {
"kind-of": {
"version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "bundled": true,
"dev": true,
"requires": {
"is-buffer": "1.1.6"
@@ -3683,8 +4002,7 @@
},
"kind-of": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "bundled": true,
"dev": true,
"requires": {
"is-buffer": "1.1.6"
@@ -3694,8 +4012,7 @@
},
"read-pkg": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "bundled": true,
"dev": true,
"requires": {
"load-json-file": "1.1.0",
@@ -3705,8 +4022,7 @@
},
"read-pkg-up": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "bundled": true,
"dev": true,
"requires": {
"find-up": "1.1.2",
@@ -3715,8 +4031,7 @@
"dependencies": {
"find-up": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "bundled": true,
"dev": true,
"requires": {
"path-exists": "2.1.0",
@@ -3727,41 +4042,44 @@
},
"regenerator-runtime": {
"version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "bundled": true,
"dev": true
},
"regex-cache": {
"version": "0.4.4",
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
- "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "bundled": true,
"dev": true,
"requires": {
"is-equal-shallow": "0.1.3"
}
},
+ "regex-not": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "extend-shallow": "3.0.2",
+ "safe-regex": "1.1.0"
+ }
+ },
"remove-trailing-separator": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "bundled": true,
"dev": true
},
"repeat-element": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
- "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "bundled": true,
"dev": true
},
"repeat-string": {
"version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "bundled": true,
"dev": true
},
"repeating": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "bundled": true,
"dev": true,
"requires": {
"is-finite": "1.0.2"
@@ -3769,26 +4087,32 @@
},
"require-directory": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "bundled": true,
"dev": true
},
"require-main-filename": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "bundled": true,
"dev": true
},
"resolve-from": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
- "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=",
+ "bundled": true,
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "bundled": true,
+ "dev": true
+ },
+ "ret": {
+ "version": "0.1.15",
+ "bundled": true,
"dev": true
},
"right-align": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "bundled": true,
"dev": true,
"optional": true,
"requires": {
@@ -3797,29 +4121,54 @@
},
"rimraf": {
"version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "bundled": true,
"dev": true,
"requires": {
"glob": "7.1.2"
}
},
- "semver": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
- "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
- "dev": true
+ "safe-regex": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ret": "0.1.15"
+ }
+ },
+ "semver": {
+ "version": "5.5.0",
+ "bundled": true,
+ "dev": true
},
"set-blocking": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "bundled": true,
"dev": true
},
+ "set-value": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-extendable": "0.1.1",
+ "is-plain-object": "2.0.4",
+ "split-string": "3.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
+ }
+ },
"shebang-command": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "bundled": true,
"dev": true,
"requires": {
"shebang-regex": "1.0.0"
@@ -3827,32 +4176,161 @@
},
"shebang-regex": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "bundled": true,
"dev": true
},
"signal-exit": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "bundled": true,
"dev": true
},
"slide": {
"version": "1.1.6",
- "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
- "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
+ "bundled": true,
"dev": true
},
+ "snapdragon": {
+ "version": "0.8.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "base": "0.11.2",
+ "debug": "2.6.9",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "map-cache": "0.2.2",
+ "source-map": "0.5.7",
+ "source-map-resolve": "0.5.1",
+ "use": "3.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "define-property": "1.0.0",
+ "isobject": "3.0.1",
+ "snapdragon-util": "3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
"source-map": {
"version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "bundled": true,
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "atob": "2.0.3",
+ "decode-uri-component": "0.2.0",
+ "resolve-url": "0.2.1",
+ "source-map-url": "0.4.0",
+ "urix": "0.1.0"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "bundled": true,
"dev": true
},
"spawn-wrap": {
"version": "1.4.2",
- "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz",
- "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==",
+ "bundled": true,
"dev": true,
"requires": {
"foreground-child": "1.5.6",
@@ -3864,30 +4342,114 @@
}
},
"spdx-correct": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
- "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "version": "3.0.0",
+ "bundled": true,
"dev": true,
"requires": {
- "spdx-license-ids": "1.2.2"
+ "spdx-expression-parse": "3.0.0",
+ "spdx-license-ids": "3.0.0"
}
},
- "spdx-expression-parse": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
- "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
+ "spdx-exceptions": {
+ "version": "2.1.0",
+ "bundled": true,
"dev": true
},
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "2.1.0",
+ "spdx-license-ids": "3.0.0"
+ }
+ },
"spdx-license-ids": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
- "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
+ "version": "3.0.0",
+ "bundled": true,
"dev": true
},
+ "split-string": {
+ "version": "3.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "extend-shallow": "3.0.2"
+ }
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "define-property": "0.2.5",
+ "object-copy": "0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"string-width": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "bundled": true,
"dev": true,
"requires": {
"is-fullwidth-code-point": "2.0.0",
@@ -3896,20 +4458,12 @@
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "bundled": true,
"dev": true
},
"strip-ansi": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "bundled": true,
"dev": true,
"requires": {
"ansi-regex": "3.0.0"
@@ -3919,8 +4473,7 @@
},
"strip-ansi": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "bundled": true,
"dev": true,
"requires": {
"ansi-regex": "2.1.1"
@@ -3928,8 +4481,7 @@
},
"strip-bom": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "bundled": true,
"dev": true,
"requires": {
"is-utf8": "0.2.1"
@@ -3937,45 +4489,311 @@
},
"strip-eof": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "bundled": true,
"dev": true
},
"supports-color": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "bundled": true,
"dev": true
},
"test-exclude": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz",
- "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==",
+ "version": "4.2.1",
+ "bundled": true,
"dev": true,
"requires": {
"arrify": "1.0.1",
- "micromatch": "2.3.11",
+ "micromatch": "3.1.9",
"object-assign": "4.1.1",
"read-pkg-up": "1.0.1",
"require-main-filename": "1.0.1"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "bundled": true,
+ "dev": true
+ },
+ "braces": {
+ "version": "2.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0",
+ "array-unique": "0.3.2",
+ "define-property": "1.0.0",
+ "extend-shallow": "2.0.1",
+ "fill-range": "4.0.0",
+ "isobject": "3.0.1",
+ "kind-of": "6.0.2",
+ "repeat-element": "1.1.2",
+ "snapdragon": "0.8.2",
+ "snapdragon-node": "2.1.1",
+ "split-string": "3.1.0",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "posix-character-classes": "0.1.1",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "array-unique": "0.3.2",
+ "define-property": "1.0.0",
+ "expand-brackets": "2.1.4",
+ "extend-shallow": "2.0.1",
+ "fragment-cache": "0.2.1",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1",
+ "to-regex-range": "2.1.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "micromatch": {
+ "version": "3.1.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "braces": "2.3.1",
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "extglob": "2.0.4",
+ "fragment-cache": "0.2.1",
+ "kind-of": "6.0.2",
+ "nanomatch": "1.2.9",
+ "object.pick": "1.3.0",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ }
+ }
}
},
"to-fast-properties": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "bundled": true,
"dev": true
},
+ "to-object-path": {
+ "version": "0.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "regex-not": "1.0.2",
+ "safe-regex": "1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ }
+ }
+ },
"trim-right": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "bundled": true,
"dev": true
},
"uglify-js": {
"version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "bundled": true,
"dev": true,
"optional": true,
"requires": {
@@ -3986,8 +4804,7 @@
"dependencies": {
"yargs": {
"version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "bundled": true,
"dev": true,
"optional": true,
"requires": {
@@ -4001,25 +4818,115 @@
},
"uglify-to-browserify": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "bundled": true,
"dev": true,
"optional": true
},
+ "union-value": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "arr-union": "3.1.0",
+ "get-value": "2.0.6",
+ "is-extendable": "0.1.1",
+ "set-value": "0.4.3"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ },
+ "set-value": {
+ "version": "0.4.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-extendable": "0.1.1",
+ "is-plain-object": "2.0.4",
+ "to-object-path": "0.3.0"
+ }
+ }
+ }
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "has-value": "0.3.1",
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "get-value": "2.0.6",
+ "has-values": "0.1.4",
+ "isobject": "2.1.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "use": {
+ "version": "3.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "6.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
"validate-npm-package-license": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
- "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+ "version": "3.0.3",
+ "bundled": true,
"dev": true,
"requires": {
- "spdx-correct": "1.0.2",
- "spdx-expression-parse": "1.0.4"
+ "spdx-correct": "3.0.0",
+ "spdx-expression-parse": "3.0.0"
}
},
"which": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
- "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+ "bundled": true,
"dev": true,
"requires": {
"isexe": "2.0.0"
@@ -4027,37 +4934,40 @@
},
"which-module": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "bundled": true,
"dev": true
},
"window-size": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "bundled": true,
"dev": true,
"optional": true
},
"wordwrap": {
"version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+ "bundled": true,
"dev": true
},
"wrap-ansi": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "bundled": true,
"dev": true,
"requires": {
"string-width": "1.0.2",
"strip-ansi": "3.0.1"
},
"dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
"string-width": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "bundled": true,
"dev": true,
"requires": {
"code-point-at": "1.1.0",
@@ -4069,14 +4979,12 @@
},
"wrappy": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "bundled": true,
"dev": true
},
"write-file-atomic": {
"version": "1.3.4",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz",
- "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
+ "bundled": true,
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
@@ -4086,23 +4994,20 @@
},
"y18n": {
"version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "bundled": true,
"dev": true
},
"yallist": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "bundled": true,
"dev": true
},
"yargs": {
- "version": "10.0.3",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz",
- "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==",
+ "version": "11.1.0",
+ "bundled": true,
"dev": true,
"requires": {
- "cliui": "3.2.0",
+ "cliui": "4.0.0",
"decamelize": "1.2.0",
"find-up": "2.1.0",
"get-caller-file": "1.0.2",
@@ -4113,39 +5018,50 @@
"string-width": "2.1.1",
"which-module": "2.0.0",
"y18n": "3.2.1",
- "yargs-parser": "8.0.0"
+ "yargs-parser": "9.0.2"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "bundled": true,
+ "dev": true
+ },
"cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "version": "4.0.0",
+ "bundled": true,
"dev": true,
"requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
"wrap-ansi": "2.1.0"
- },
- "dependencies": {
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
- }
- }
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "9.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
}
}
}
},
"yargs-parser": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz",
- "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=",
+ "version": "8.1.0",
+ "bundled": true,
"dev": true,
"requires": {
"camelcase": "4.1.0"
@@ -4153,8 +5069,7 @@
"dependencies": {
"camelcase": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "bundled": true,
"dev": true
}
}
@@ -4241,7 +5156,7 @@
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
"requires": {
- "minimist": "0.0.8",
+ "minimist": "0.0.10",
"wordwrap": "0.0.3"
}
},
@@ -4255,6 +5170,33 @@
"cli-cursor": "1.0.2",
"cli-spinners": "0.1.2",
"object-assign": "4.1.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
}
},
"p-cancelable": {
@@ -4284,9 +5226,9 @@
"dev": true
},
"p-queue": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-2.3.0.tgz",
- "integrity": "sha1-ZdVecbwVAPxBMSLamK5Ff/inwDg="
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-2.3.1.tgz",
+ "integrity": "sha512-MJGD2eVNHhtCsGLBDsfNzhBDlWxBFb5BvVXhJFbmlXH76Llo792ylwqEYJguLo+BnxZpos/Qw9dq0voyQRD3pg=="
},
"p-retry": {
"version": "1.0.0",
@@ -4351,6 +5293,14 @@
"dev": true,
"requires": {
"isarray": "0.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ }
}
},
"pathval": {
@@ -4370,11 +5320,6 @@
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
},
- "pjson": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/pjson/-/pjson-1.0.9.tgz",
- "integrity": "sha512-4hRJH3YzkUpOlShRzhyxAmThSNnAaIlWZCAb27hd0pVUAXNUAHAO7XZbsPPvsCYwBFEScTmCCL6DGE8NyZ8BdQ=="
- },
"prepend-http": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
@@ -4387,35 +5332,18 @@
"dev": true,
"requires": {
"ansi-regex": "3.0.0",
- "ansi-styles": "3.2.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.1"
- }
- }
+ "ansi-styles": "3.2.1"
}
},
"process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
},
"propagate": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/propagate/-/propagate-0.4.0.tgz",
- "integrity": "sha1-8/zKCm/gZzanulcpZgaWF8EwtIE=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/propagate/-/propagate-1.0.0.tgz",
+ "integrity": "sha1-AMLa7t2iDofjeCs0Stuhzd1q1wk=",
"dev": true
},
"pseudomap": {
@@ -4430,10 +5358,16 @@
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
},
+ "qs": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+ "dev": true
+ },
"query-string": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.0.tgz",
- "integrity": "sha512-F3DkxxlY0AqD/rwe4YAwjRE2HjOkKW7TxsuteyrS/Jbwrxw887PqYBL4sWUJ9D/V1hmFns0SCD6FDyvlwo9RCQ==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
+ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
"requires": {
"decode-uri-component": "0.2.0",
"object-assign": "4.1.1",
@@ -4441,15 +5375,17 @@
}
},
"readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
+ "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.0.3",
+ "util-deprecate": "1.0.2"
}
},
"rechoir": {
@@ -4533,6 +5469,12 @@
}
}
},
+ "reflect-metadata": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.12.tgz",
+ "integrity": "sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A==",
+ "dev": true
+ },
"repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
@@ -4548,6 +5490,49 @@
"is-finite": "1.0.2"
}
},
+ "request": {
+ "version": "2.81.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.6",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.18",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.4.0",
+ "safe-buffer": "5.1.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.4",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.2.1"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "dev": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.6",
+ "mime-types": "2.1.18"
+ }
+ }
+ }
+ },
"require-from-string": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.1.tgz",
@@ -4614,9 +5599,9 @@
}
},
"rxjs": {
- "version": "5.5.6",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz",
- "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==",
+ "version": "5.5.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.7.tgz",
+ "integrity": "sha512-Hxo2ac8gRQjwjtKgukMIwBRbq5+KAeEV5hXM4obYBOAghev41bDQWgFH4svYiU9UnQ5kNww2LgfyBdevCd2HXA==",
"dev": true,
"requires": {
"symbol-observable": "1.0.1"
@@ -4641,6 +5626,12 @@
"integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
"dev": true
},
+ "semver": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+ "dev": true
+ },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -4693,29 +5684,18 @@
"dev": true
},
"sinon": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.2.2.tgz",
- "integrity": "sha512-BEa593xl+IkIc94nKo0O0LauQC/gQy8Gyv4DkzPwF/9DweC5phr1y+42zibCpn9abfkdHxt9r8AhD0R6u9DE/Q==",
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.4.5.tgz",
+ "integrity": "sha512-vsg06IyB4gM5ry1qq13cQQk2U5ZqbL40ygDRNklYx2kokZktakyfinPDJP00WY0WjizRg2p0yhKLuTsCRpwCUA==",
"dev": true,
"requires": {
- "diff": "3.3.1",
- "formatio": "1.2.0",
+ "@sinonjs/formatio": "2.0.0",
+ "diff": "3.5.0",
"lodash.get": "4.4.2",
"lolex": "2.3.2",
- "nise": "1.2.2",
- "supports-color": "5.1.0",
+ "nise": "1.3.0",
+ "supports-color": "5.3.0",
"type-detect": "4.0.8"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz",
- "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==",
- "dev": true,
- "requires": {
- "has-flag": "2.0.0"
- }
- }
}
},
"slice-ansi": {
@@ -4764,10 +5744,13 @@
}
},
"source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
},
"source-map-support": {
"version": "0.5.3",
@@ -4776,6 +5759,14 @@
"dev": true,
"requires": {
"source-map": "0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -4785,9 +5776,9 @@
"dev": true
},
"sshpk": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
- "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
+ "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
"dev": true,
"requires": {
"asn1": "0.2.3",
@@ -4809,9 +5800,9 @@
}
},
"staged-git-files": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/staged-git-files/-/staged-git-files-0.0.4.tgz",
- "integrity": "sha1-15fhtVHKemOd7AI33G60u5vhfTU=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/staged-git-files/-/staged-git-files-1.0.0.tgz",
+ "integrity": "sha1-zbhHg3wfzFLAioctSIPMCHdmioA=",
"dev": true
},
"stream-connect": {
@@ -4872,10 +5863,12 @@
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
},
"stringify-object": {
"version": "3.2.2",
@@ -4901,6 +5894,14 @@
"dev": true,
"requires": {
"ansi-regex": "2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ }
}
},
"strip-bom": {
@@ -4928,10 +5929,13 @@
"dev": true
},
"supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz",
+ "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
},
"symbol-observable": {
"version": "0.2.4",
@@ -4940,9 +5944,9 @@
"dev": true
},
"table-layout": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.2.tgz",
- "integrity": "sha512-tygyl5+eSHj4chpq5Zfy6cpc7MOUBClAW9ozghFH7hg9bAUzShOYn+/vUzTRkKOSLJWKfgYtP2tAU2c0oAD8eg==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.3.tgz",
+ "integrity": "sha512-MIhflPM38ejKrFwWwC3P9x3eHvMo5G5AmNo29Qtz2HpBl5KD2GCcmOErjgNtUQLv/qaqVDagfJY3rJLPDvEgLg==",
"dev": true,
"requires": {
"array-back": "2.0.0",
@@ -4986,9 +5990,9 @@
"integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
},
"tough-cookie": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
- "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
+ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
"dev": true,
"requires": {
"punycode": "1.4.1"
@@ -5005,52 +6009,6 @@
"doctrine": "2.1.0",
"fs-extra-p": "4.5.2",
"source-map-support": "0.5.3"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.1"
- }
- },
- "chalk": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
- "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.3.0"
- }
- },
- "doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "requires": {
- "esutils": "2.0.2"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "supports-color": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz",
- "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
}
},
"ts-node": {
@@ -5060,51 +6018,22 @@
"dev": true,
"requires": {
"arrify": "1.0.1",
- "chalk": "2.3.0",
- "diff": "3.3.1",
- "make-error": "1.3.3",
+ "chalk": "2.3.2",
+ "diff": "3.5.0",
+ "make-error": "1.3.4",
"minimist": "1.2.0",
"mkdirp": "0.5.1",
"source-map-support": "0.5.3",
"tsconfig": "7.0.0",
- "v8flags": "3.0.1",
+ "v8flags": "3.0.2",
"yn": "2.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.1"
- }
- },
- "chalk": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
- "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "4.5.0"
- }
- },
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
- },
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "2.0.0"
- }
}
}
},
@@ -5134,74 +6063,38 @@
"requires": {
"babel-code-frame": "6.26.0",
"builtin-modules": "1.1.1",
- "chalk": "2.3.0",
- "commander": "2.14.0",
- "diff": "3.3.1",
+ "chalk": "2.3.2",
+ "commander": "2.15.0",
+ "diff": "3.5.0",
"glob": "7.1.2",
- "js-yaml": "3.10.0",
+ "js-yaml": "3.11.0",
"minimatch": "3.0.4",
"resolve": "1.5.0",
"semver": "5.5.0",
"tslib": "1.9.0",
- "tsutils": "2.21.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.1"
- }
- },
- "chalk": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
- "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "4.5.0"
- }
- },
- "semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
- "dev": true
- },
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "2.0.0"
- }
- }
+ "tsutils": "2.22.2"
}
},
"tslint-config-airbnb": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/tslint-config-airbnb/-/tslint-config-airbnb-5.5.0.tgz",
- "integrity": "sha1-aGsZVgZF7rRKZmLclKY86TU9WJ4=",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/tslint-config-airbnb/-/tslint-config-airbnb-5.7.0.tgz",
+ "integrity": "sha1-Cf8EsN1Zl2X0S0QlAERY0I/LLEA=",
"dev": true,
"requires": {
- "tslint-consistent-codestyle": "1.11.1",
+ "tslint-consistent-codestyle": "1.12.0",
"tslint-eslint-rules": "4.1.1",
- "tslint-microsoft-contrib": "5.0.2"
+ "tslint-microsoft-contrib": "5.0.3"
}
},
"tslint-consistent-codestyle": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/tslint-consistent-codestyle/-/tslint-consistent-codestyle-1.11.1.tgz",
- "integrity": "sha512-wLu+Ct8x4mBmVkuhEiNAnUBkxchMV2Le0ikBsST5HnKbGlm3K4RSpXCBSI1VtJDk748W2I5hDzgsInawLdnxwQ==",
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/tslint-consistent-codestyle/-/tslint-consistent-codestyle-1.12.0.tgz",
+ "integrity": "sha512-/nubJhAjGx+QiZkuiMUWEHqNmrCtuc4Hw29fel/hFDMeNBkTBPuiBpi0wUtHJ26aKPUX44PCp8iduc/p3QxESw==",
"dev": true,
"requires": {
+ "@fimbul/bifrost": "0.4.0",
"tslib": "1.9.0",
- "tsutils": "2.21.0"
+ "tsutils": "2.22.2"
}
},
"tslint-eslint-rules": {
@@ -5215,6 +6108,28 @@
"tsutils": "1.9.1"
},
"dependencies": {
+ "doctrine": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz",
+ "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=",
+ "dev": true,
+ "requires": {
+ "esutils": "1.1.6",
+ "isarray": "0.0.1"
+ }
+ },
+ "esutils": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz",
+ "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
"tsutils": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-1.9.1.tgz",
@@ -5224,23 +6139,32 @@
}
},
"tslint-microsoft-contrib": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/tslint-microsoft-contrib/-/tslint-microsoft-contrib-5.0.2.tgz",
- "integrity": "sha1-7MKnl/d3oS8AZpRM7AyBqefFnuk=",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/tslint-microsoft-contrib/-/tslint-microsoft-contrib-5.0.3.tgz",
+ "integrity": "sha512-5AnfTGlfpUzpRHLmoojPBKFTTmbjnwgdaTHMdllausa4GBPya5u36i9ddrTX4PhetGZvd4JUYIpAmgHqVnsctg==",
"dev": true,
"requires": {
- "tsutils": "2.21.0"
+ "tsutils": "2.22.2"
}
},
"tsutils": {
- "version": "2.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.21.0.tgz",
- "integrity": "sha512-zlOHTYtTwvTiKxUyAU8wiKzPpAgwZrGjb7AY18VUlxuCgBiTMVorIl5HjrCT8V64Hm34RI1BZITJMVQpBLMxVg==",
+ "version": "2.22.2",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.22.2.tgz",
+ "integrity": "sha512-u06FUSulCJ+Y8a2ftuqZN6kIGqdP2yJjUPEngXqmdPND4UQfb04igcotH+dw+IFr417yP6muCLE8/5/Qlfnx0w==",
"dev": true,
"requires": {
"tslib": "1.9.0"
}
},
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
@@ -5255,9 +6179,9 @@
"dev": true
},
"typescript": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.1.tgz",
- "integrity": "sha512-bqB1yS6o9TNA9ZC/MJxM0FZzPnZdtHj0xWK/IZ5khzVqdpGul/R/EIiHRgFXlwTD7PSIaYVnGKq1QgMCu2mnqw==",
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz",
+ "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==",
"dev": true
},
"typical": {
@@ -5266,6 +6190,15 @@
"integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=",
"dev": true
},
+ "typings-tester": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/typings-tester/-/typings-tester-0.3.1.tgz",
+ "integrity": "sha512-KvsNMCKtPK87zn6xAVM+EAYBKt8UqfaajdtZv6GylHtmdfhjC4vRXXqfxO46lFeOgm7dfc8carJDjdd0wunNBw==",
+ "dev": true,
+ "requires": {
+ "commander": "2.15.0"
+ }
+ },
"uglify-js": {
"version": "2.8.29",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
@@ -5352,10 +6285,16 @@
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
+ "uuid": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
+ "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==",
+ "dev": true
+ },
"v8flags": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.1.tgz",
- "integrity": "sha1-3Oj8N5wX2fLJ6e142JzgAFKxt2s=",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.2.tgz",
+ "integrity": "sha512-6sgSKoFw1UpUPd3cFdF7QGnrH6tDeBgW1F3v9gy8gLY0mlbiBXq8soy8aQpY6xeeCjH5K+JvC62Acp7gtl7wWA==",
"dev": true,
"requires": {
"homedir-polyfill": "1.0.1"
@@ -5465,4 +6404,4 @@
"dev": true
}
}
-}
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index 4dde80cdc..acfa48109 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@slack/client",
- "version": "4.0.0",
+ "version": "4.0.1",
"description": "Slack Developer Kit - official clients for the Web API, RTM API, and Incoming Webhooks",
"author": "Slack Technologies, Inc.",
"license": "MIT",
@@ -30,8 +30,9 @@
"precommit": "lint-staged",
"prepush": "npm run build",
"lint": "tslint --project .",
- "test": "npm run test:spec",
+ "test": "npm run build && npm run test:spec && npm run test:integration",
"test:spec": "nyc mocha --opts src/mocha.opts src/*.spec.js src/**/*.spec.js",
+ "test:integration": "mocha --opts test/mocha.opts test/typescript/test.ts",
"coverage": "codecov",
"build": "npm run build:clean && tsc",
"build:clean": "shx rm -rf ./dist ./coverage ./.nyc_output",
@@ -63,7 +64,6 @@
"p-cancelable": "^0.3.0",
"p-queue": "^2.3.0",
"p-retry": "^1.0.0",
- "pjson": "^1.0.9",
"retry": "^0.10.1",
"url-join": "^4.0.0",
"ws": "^4.1.0"
@@ -90,6 +90,7 @@
"ts-node": "^4.1.0",
"tslint": "^5.9.1",
"tslint-config-airbnb": "^5.5.0",
- "typescript": "^2.7.1"
+ "typescript": "^2.7.1",
+ "typings-tester": "^0.3.1"
}
}
diff --git a/src/KeepAlive.ts b/src/KeepAlive.ts
index b77cc8b15..6d7390818 100644
--- a/src/KeepAlive.ts
+++ b/src/KeepAlive.ts
@@ -1,8 +1,8 @@
import { RTMClient, ErrorCode } from './';
import EventEmitter = require('eventemitter3'); // tslint:disable-line:import-name no-require-imports
-import * as pjson from 'pjson';
import { LogLevel, Logger, LoggingFunc, getLogger, loggerFromLoggingFunc } from './logger';
import { errorWithCode } from './errors';
+const pkg = require('../package.json'); // tslint:disable-line:no-require-imports no-var-requires
export interface KeepAliveOptions {
logger?: LoggingFunc;
@@ -50,7 +50,7 @@ export class KeepAlive extends EventEmitter {
/**
* The name used to prefix all logging generated from this object
*/
- private static loggerName = `${pjson.name}:KeepAlive`;
+ private static loggerName = `${pkg.name}:KeepAlive`;
/**
* This object's logger instance
diff --git a/src/RTMClient.ts b/src/RTMClient.ts
index def4faed3..088ab4a63 100644
--- a/src/RTMClient.ts
+++ b/src/RTMClient.ts
@@ -1,5 +1,4 @@
import { Agent } from 'http';
-import * as pjson from 'pjson';
import objectValues = require('object.values'); // tslint:disable-line:import-name no-require-imports
import EventEmitter = require('eventemitter3'); // tslint:disable-line:import-name no-require-imports
import WebSocket = require('ws'); // tslint:disable-line:import-name no-require-imports
@@ -13,6 +12,7 @@ import { WebClient, WebAPICallResult, WebAPICallError, ErrorCode, CodedError } f
import * as methods from './methods'; // tslint:disable-line:import-name
import { errorWithCode } from './errors';
import { callbackify, TLSOptions } from './util';
+const pkg = require('../package.json'); // tslint:disable-line:no-require-imports no-var-requires
/**
* An RTMClient allows programs to communicate with the {@link https://api.slack.com/rtm|Slack Platform's RTM API}.
@@ -272,7 +272,7 @@ export class RTMClient extends EventEmitter {
/**
* The name used to prefix all logging generated from this object
*/
- private static loggerName = `${pjson.name}:RTMClient`;
+ private static loggerName = `${pkg.name}:RTMClient`;
/**
diff --git a/src/WebClient.spec.js b/src/WebClient.spec.js
index fc2e56860..9ca3c34a5 100644
--- a/src/WebClient.spec.js
+++ b/src/WebClient.spec.js
@@ -23,6 +23,11 @@ describe('WebClient', function () {
assert.equal(client.token, token);
assert.equal(client.slackApiUrl, 'https://slack.com/api/')
});
+
+ it('should build a client without a token', function () {
+ const client = new WebClient();
+ assert.instanceOf(client, WebClient);
+ });
});
describe('has an option to change the log output severity', function () {
@@ -64,12 +69,12 @@ describe('WebClient', function () {
});
});
- describe('apiCall()', function() {
+ describe('apiCall()', function () {
beforeEach(function () {
this.client = new WebClient(token, { retryConfig: fastRetriesForTest });
});
- describe('when making a successful call', function() {
+ describe('when making a successful call', function () {
beforeEach(function () {
this.scope = nock('https://slack.com')
.post(/api/)
@@ -149,9 +154,9 @@ describe('WebClient', function () {
hum: false,
},
})
- .then(() => {
- scope.done();
- });
+ .then(() => {
+ scope.done();
+ });
});
it.skip('should remove undefined or null values from API arguments');
@@ -201,34 +206,31 @@ describe('WebClient', function () {
// intentially vague about the method name
return this.client.apiCall('upload', {
- file: imageBuffer,
- filename: 'train.png',
- })
+ file: imageBuffer,
+ filename: 'train.jpg',
+ })
.then((parts) => {
assert.lengthOf(parts.files, 1);
const file = parts.files[0];
- // TODO: understand why this assertion is failing. already employed the buffer metadata workaround, should
- // look into the details about whether that workaround is still required, or why else the `source.on` is not
- // defined error would occur, or if Slack just doesn't need a filename for the part
- // assert.include(file, { fieldname: 'file', filename: 'train.jpg' });
- // NOTE: it seems the file and its filename are emitted as a field in addition to the token, not sure if
- // this was happening in the old implementation.
+ // options were not provided to the form builder
assert.include(file, { fieldname: 'file' });
});
});
// Reactivate this test once we find out if the workaround in the test case before is necessary
- it.skip('should log a warning when file is a Buffer and there is no filename', function () {
+ it('should log a warning when file is a Buffer and there is no filename', function () {
const imageBuffer = fs.readFileSync(path.resolve('test', 'fixtures', 'train.jpg'));
- this.capture = new CaptureStdout();
- this.capture.startCapture();
+ const output = [];
+ const stub = function (level, message) {
+ output.push([level, message]);
+ }
+ const debuggingClient = new WebClient(token, { logLevel: LogLevel.WARN, logger: stub });
// intentially vague about the method name
- return this.client.apiCall('upload', {
- file: imageBuffer,
- })
+ return debuggingClient.apiCall('upload', {
+ file: imageBuffer,
+ })
.then(() => {
- const output = this.capture.getCapturedText();
assert.isNotEmpty(output);
const anyLogLineIsLevelWarn = output.reduce((acc, line) => {
return acc || (line.indexOf('warn') !== -1)
@@ -241,19 +243,19 @@ describe('WebClient', function () {
const imageStream = fs.createReadStream(path.resolve('test', 'fixtures', 'train.jpg'));
return this.client.apiCall('upload', {
- file: imageStream,
- })
+ file: imageStream,
+ })
.then((parts) => {
assert.lengthOf(parts.files, 1);
const file = parts.files[0];
- // TODO: understand why this assertion is failing. already employed the buffer metadata workaround, should
+ // TODO: understand why this assertion was failing. already employed the buffer metadata workaround, should
// look into the details about whether that workaround is still required, or why else the `source.on` is not
// defined error would occur, or if Slack just doesn't need a filename for the part
- // assert.include(file, { fieldname: 'file', filename: 'train.jpg' });
+ assert.include(file, { fieldname: 'file', filename: 'train.jpg' });
// NOTE: it seems the file and its filename are emitted as a field in addition to the token, not sure if
// this was happening in the old implementation.
- assert.include(file, { fieldname: 'file' });
+ // assert.include(file, { fieldname: 'file' });
});
});
@@ -265,20 +267,20 @@ describe('WebClient', function () {
describe('metadata in the user agent', function () {
it('should set the user agent to contain package metadata', function () {
const scope = nock('https://slack.com', {
- reqheaders: {
- 'User-Agent': (value) => {
- const metadata = parseUserAgentIntoMetadata(value)
- // NOTE: this assert isn't that strong and doesn't say anything about the values. at this time, there
- // isn't a good way to test this without dupicating the logic of the code under test.
- assert.containsAllKeys(metadata, ['node', '@slack:client']);
- // NOTE: there's an assumption that if there's any keys besides these left at all, its the platform part
- delete metadata.node;
- delete metadata['@slack:client'];
- assert.isNotEmpty(metadata);
- return true;
- },
+ reqheaders: {
+ 'User-Agent': (value) => {
+ const metadata = parseUserAgentIntoMetadata(value)
+ // NOTE: this assert isn't that strong and doesn't say anything about the values. at this time, there
+ // isn't a good way to test this without dupicating the logic of the code under test.
+ assert.containsAllKeys(metadata, ['node', '@slack:client']);
+ // NOTE: there's an assumption that if there's any keys besides these left at all, its the platform part
+ delete metadata.node;
+ delete metadata['@slack:client'];
+ assert.isNotEmpty(metadata);
+ return true;
},
- })
+ },
+ })
.post(/api/)
.reply(200, { ok: true });
return this.client.apiCall('method')
@@ -291,14 +293,14 @@ describe('WebClient', function () {
const [name, version] = ['appmedataname', 'appmetadataversion'];
addAppMetadata({ name, version });
const scope = nock('https://slack.com', {
- reqheaders: {
- 'User-Agent': (value) => {
- const metadata = parseUserAgentIntoMetadata(value)
- assert.propertyVal(metadata, name, version);
- return true;
- },
+ reqheaders: {
+ 'User-Agent': (value) => {
+ const metadata = parseUserAgentIntoMetadata(value)
+ assert.propertyVal(metadata, name, version);
+ return true;
},
- })
+ },
+ })
.post(/api/)
.reply(200, { ok: true });
// NOTE: appMetaData is only evalued on client construction, so we cannot use the client already created
@@ -311,6 +313,21 @@ describe('WebClient', function () {
});
});
+ describe('apiCall() - without a token', function () {
+ const client = new WebClient(undefined, { retryConfig: fastRetriesForTest });
+
+ const scope = nock('https://slack.com')
+ // NOTE: this could create false negatives if the serialization order changes (it shouldn't matter)
+ .post(/api/, 'foo=stringval')
+ .reply(200, { ok: true });
+
+ const r = client.apiCall('method', { foo: 'stringval' });
+ assert(isPromise(r));
+ return r.then(result => {
+ scope.done();
+ });
+ });
+
describe('named method aliases (facets)', function () {
beforeEach(function () {
this.client = new WebClient(token, { retryConfig: fastRetriesForTest });
@@ -331,7 +348,7 @@ describe('WebClient', function () {
});
})
- describe('has option to change slackApiUrl', function() {
+ describe('has option to change slackApiUrl', function () {
it('should send requests to an alternative URL', function () {
const alternativeUrl = 'http://12.34.56.78/api/';
const scope = nock(alternativeUrl)
@@ -344,7 +361,7 @@ describe('WebClient', function () {
describe('has an option to set a custom HTTP agent', function () {
// not confident how to test this. one idea is to use sinon to intercept method calls on the agent.
- it.skip('should send a request using the custom agent', function() {
+ it.skip('should send a request using the custom agent', function () {
const agent = new Agent();
const client = new WebClient(token, { agent });
return client.apiCall('method');
@@ -390,7 +407,7 @@ describe('WebClient', function () {
// verify that any requests after maxRequestConcurrency were delayed by the responseDelay
const queuedResponses = responses.slice(3);
const minDiff = concurrentResponses[concurrentResponses.length - 1].diff + responseDelay;
- queuedResponses.forEach(r => assert.isAbove(r.diff, minDiff));
+ queuedResponses.forEach(r => assert.isAtLeast(r.diff, minDiff));
});
});
@@ -403,13 +420,13 @@ describe('WebClient', function () {
assert.lengthOf(responses, 2);
// verify that maxRequestConcurrency requets were all sent concurrently
- const concurrentResponses = responses.slice(0, 1); // the first 3 responses
+ const concurrentResponses = responses.slice(0, 1); // the first response
concurrentResponses.forEach(r => assert.isBelow(r.diff, responseDelay));
// verify that any requests after maxRequestConcurrency were delayed by the responseDelay
- const queuedResponses = responses.slice(1);
+ const queuedResponses = responses.slice(1);// the second response
const minDiff = concurrentResponses[concurrentResponses.length - 1].diff + responseDelay;
- queuedResponses.forEach(r => assert.isAbove(r.diff, minDiff));
+ queuedResponses.forEach(r => { assert.isAtLeast(r.diff, minDiff) });
});
});
diff --git a/src/WebClient.ts b/src/WebClient.ts
index d27acc4e6..130b9283d 100644
--- a/src/WebClient.ts
+++ b/src/WebClient.ts
@@ -1,6 +1,5 @@
import { Readable } from 'stream';
import objectEntries = require('object.entries'); // tslint:disable-line:no-require-imports
-import * as pjson from 'pjson';
import urlJoin = require('url-join'); // tslint:disable-line:no-require-imports
import isStream = require('is-stream'); // tslint:disable-line:no-require-imports
import EventEmitter = require('eventemitter3'); // tslint:disable-line:import-name no-require-imports
@@ -15,6 +14,7 @@ import { CodedError, errorWithCode, ErrorCode } from './errors';
import { LogLevel, Logger, LoggingFunc, getLogger, loggerFromLoggingFunc } from './logger';
import retryPolicies, { RetryOptions } from './retry-policies';
import Method, * as methods from './methods'; // tslint:disable-line:import-name
+const pkg = require('../package.json'); // tslint:disable-line:no-require-imports no-var-requires
/**
* A client for Slack's Web API
@@ -26,7 +26,7 @@ export class WebClient extends EventEmitter {
/**
* Authentication and authorization token for accessing Slack Web API (usually begins with `xoxp`, `xoxb`, or `xoxa`)
*/
- public readonly token: string;
+ public readonly token?: string;
/**
* The base URL for reaching Slack's Web API. Consider changing this value for testing purposes.
@@ -58,7 +58,7 @@ export class WebClient extends EventEmitter {
/**
* The name used to prefix all logging generated from this object
*/
- private static loggerName = `${pjson.name}:WebClient`;
+ private static loggerName = `${pkg.name}:WebClient`;
/**
* This object's logger instance
@@ -73,7 +73,7 @@ export class WebClient extends EventEmitter {
/**
* @param token - An API token to authenticate/authorize with Slack (usually start with `xoxp`, `xoxb`, or `xoxa`)
*/
- constructor(token: string, {
+ constructor(token?: string, {
slackApiUrl = 'https://slack.com/api/',
logger = undefined,
logLevel = LogLevel.INFO,
@@ -517,25 +517,23 @@ export class WebClient extends EventEmitter {
//
// This could also be resolved by making the above condition a type guard for FilesUploadArguments. Let's expore
// this solution when all the arguments in `./methods.ts` are more fully defined.
+
// @ts-ignore
- // if (Buffer.isBuffer((options as WebAPICallOptions).file)) {
- // if (!('filename' in options)) {
- // this.logger.warn('`file` option is a Buffer, but there is no `filename` option. this upload will likely ' +
- // 'fail. add the `filename` option to fix.');
- // }
+ if (Buffer.isBuffer((options as WebAPICallOptions).file)) {
+ if (!('filename' in options)) {
+ this.logger.warn('`file` option is a Buffer, but there is no `filename` option. this upload will likely ' +
+ 'fail. add the `filename` option to fix.');
+ }
// Buffers are sometimes not handled well by the underlying `form-data` package. Adding extra metadata resolves
// that issue. See: https://github.com/slackapi/node-slack-sdk/issues/307#issuecomment-289231737
- // @ts-ignore
- // options.file = {
- // // @ts-ignore
- // value: options.file,
- // options: {
- // // @ts-ignore
- // filename: options.filename,
- // },
- // };
- // }
+ options['file'] = {
+ value: options['file'],
+ options: {
+ filename: options['filename'],
+ },
+ };
+ }
}
const flattened = objectEntries(options)
@@ -555,6 +553,10 @@ export class WebClient extends EventEmitter {
// a body with binary data should be serialized as multipart/form-data
if (containsBinaryData) {
return flattened.reduce((form, [key, value]) => {
+ if (key === 'file' && value.value) {
+ form.append(key, value.value, value.options);
+ return form;
+ }
form.append(key, value);
return form;
}, new FormData());
@@ -658,7 +660,7 @@ interface FormCanBeURLEncoded {
[key: string]: string | number | boolean;
}
-interface BodyCanBeFormMultipart extends Readable {}
+interface BodyCanBeFormMultipart extends Readable { }
/**
* Determines whether a request body object should be treated as FormData-encodable (Content-Type=multipart/form-data).
diff --git a/src/index.ts b/src/index.ts
index 7e31d9b6d..7cfc5f582 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -32,6 +32,8 @@ export {
WebAPIResultCallback,
} from './WebClient';
+export * from './methods';
+
export {
RTMClient,
RTMClientOptions,
diff --git a/src/methods.ts b/src/methods.ts
index a3a37d4c2..636ff8d21 100644
--- a/src/methods.ts
+++ b/src/methods.ts
@@ -329,8 +329,19 @@ export type MPIMRepliesArguments = TokenOverridable & {};
/*
* `oauth.*`
*/
-export type OAuthAccessArguments = TokenOverridable & {};
-export type OAuthTokenArguments = TokenOverridable & {};
+export type OAuthAccessArguments = {
+ client_id: string;
+ client_secret: string;
+ code: string;
+ redirect_uri?: string;
+};
+export type OAuthTokenArguments = {
+ client_id: string;
+ client_secret: string;
+ code: string;
+ redirect_uri?: string;
+ single_channel?: '0' | '1';
+};
/*
* `pins.*`
diff --git a/src/util.ts b/src/util.ts
index 1ead7f65b..878ffcf8e 100644
--- a/src/util.ts
+++ b/src/util.ts
@@ -1,8 +1,8 @@
import * as util from 'util';
import * as os from 'os';
-import * as pjson from 'pjson';
import { Agent } from 'http';
import objectEntries = require('object.entries'); // tslint:disable-line:no-require-imports
+const pkg = require('../package.json'); // tslint:disable-line:no-require-imports no-var-requires
/**
* For when you need a function that does nothing
@@ -17,7 +17,7 @@ function replaceSlashes(s: string): string {
return s.replace('/', ':');
}
-const baseUserAgent = `${replaceSlashes(pjson.name)}/${pjson.version} ` +
+const baseUserAgent = `${replaceSlashes(pkg.name)}/${pkg.version} ` +
`node/${process.version.replace('v', '')} ` +
`${os.platform()}/${os.release()}`;
diff --git a/support/jsdoc/@slack-client-dist-methods.js b/support/jsdoc/@slack-client-dist-methods.js
index 7f3cdcf2f..81a422971 100644
--- a/support/jsdoc/@slack-client-dist-methods.js
+++ b/support/jsdoc/@slack-client-dist-methods.js
@@ -2,6 +2,12 @@
* @module @slack/client/dist/methods
*/
+/**
+ * @interface module:@slack/client/dist/methods.AuxiliaryArguments
+ */
+export class AuxiliaryArguments {
+}
+
/**
* @interface module:@slack/client/dist/methods.CursorPaginationEnabled
* @property {number} [limit]
diff --git a/support/jsdoc/@slack-client.js b/support/jsdoc/@slack-client.js
index 7650a60a2..eded26636 100644
--- a/support/jsdoc/@slack-client.js
+++ b/support/jsdoc/@slack-client.js
@@ -1,4 +1,4 @@
-/**
+/**
* @module @slack/client
*/
@@ -133,12 +133,12 @@ export class RTMClient {
* Generic method for sending an outgoing message of an arbitrary type. This method guards the higher-level methods
* from concern of which state the client is in, because it places all messages into a queue. The tasks on the queue
* will buffer until the client is in a state where they can be sent.
- *
+ *
* If the awaitReply parameter is set to true, then the returned Promise is resolved with the platform's
* acknowledgement response. Not all message types will result in an acknowledgement response, so use this carefully.
* This promise may be rejected with an error containing code=RTMNoReplyReceivedError if the client disconnects or
* reconnects before recieving the acknowledgement response.
- *
+ *
* If the awaitReply parameter is set to false, then the returned Promise is resolved as soon as the message is sent
* from the websocket.
* @param {"undefined"} awaitReply whether to wait for an acknowledgement response from the platform before resolving the returned
@@ -337,210 +337,12 @@ export class WebAPIResultCallback {
/**
* A client for Slack's Web API
- *
+ *
* This client provides an alias for each {@link https://api.slack.com/methods|Web API method}. Each method is
* a convenience wrapper for calling the {@link WebClient#apiCall} method using the method name as the first parameter.
* @extends EventEmitter
* @property {string} [token] Authentication and authorization token for accessing Slack Web API (usually begins with `xoxp`, `xoxb`, or `xoxa`)
* @property {string} [slackApiUrl] The base URL for reaching Slack's Web API. Consider changing this value for testing purposes.
- * @property {module:@slack/client/dist/WebClient.__object} [api={
- test: (this.apiCall.bind(this, 'api.test')) as Method,
- }] api method family
- * @property {module:@slack/client/dist/WebClient.__object} [apps={
- permissions: {
- info: (this.apiCall.bind(this, 'apps.permissions.info')) as Method,
- request: (this.apiCall.bind(this, 'apps.permissions.request')) as Method,
- },
- }] apps method family
- * @property {module:@slack/client/dist/WebClient.__object} [auth={
- revoke: (this.apiCall.bind(this, 'auth.revoke')) as Method,
- test: (this.apiCall.bind(this, 'auth.test')) as Method,
- }] auth method family
- * @property {module:@slack/client/dist/WebClient.__object} [bots={
- info: (this.apiCall.bind(this, 'bots.info')) as Method,
- }] bots method family
- * @property {module:@slack/client/dist/WebClient.__object} [channels={
- archive: (this.apiCall.bind(this, 'channels.archive')) as Method,
- create: (this.apiCall.bind(this, 'channels.create')) as Method,
- history: (this.apiCall.bind(this, 'channels.history')) as Method,
- info: (this.apiCall.bind(this, 'channels.info')) as Method,
- invite: (this.apiCall.bind(this, 'channels.invite')) as Method,
- join: (this.apiCall.bind(this, 'channels.join')) as Method,
- kick: (this.apiCall.bind(this, 'channels.kick')) as Method,
- leave: (this.apiCall.bind(this, 'channels.leave')) as Method,
- list: (this.apiCall.bind(this, 'channels.list')) as Method,
- mark: (this.apiCall.bind(this, 'channels.mark')) as Method,
- rename: (this.apiCall.bind(this, 'channels.rename')) as Method,
- replies: (this.apiCall.bind(this, 'channels.replies')) as Method,
- setPurpose: (this.apiCall.bind(this, 'channels.setPurpose')) as Method,
- setTopic: (this.apiCall.bind(this, 'channels.setTopic')) as Method,
- unarchive: (this.apiCall.bind(this, 'channels.unarchive')) as Method,
- }] channels method family
- * @property {module:@slack/client/dist/WebClient.__object} [chat={
- delete: (this.apiCall.bind(this, 'chat.delete')) as Method,
- getPermalink: (this.apiCall.bind(this, 'chat.getPermalink')) as Method,
- meMessage: (this.apiCall.bind(this, 'chat.meMessage')) as Method,
- postEphemeral: (this.apiCall.bind(this, 'chat.postEphemeral')) as Method,
- postMessage: (this.apiCall.bind(this, 'chat.postMessage')) as Method,
- unfurl: (this.apiCall.bind(this, 'chat.unfurl')) as Method,
- update: (this.apiCall.bind(this, 'chat.update')) as Method,
- }] chat method family
- * @property {module:@slack/client/dist/WebClient.__object} [conversations={
- archive: (this.apiCall.bind(this, 'conversations.archive')) as Method,
- close: (this.apiCall.bind(this, 'conversations.close')) as Method,
- create: (this.apiCall.bind(this, 'conversations.create')) as Method,
- history: (this.apiCall.bind(this, 'conversations.history')) as Method,
- info: (this.apiCall.bind(this, 'conversations.info')) as Method,
- invite: (this.apiCall.bind(this, 'conversations.invite')) as Method,
- join: (this.apiCall.bind(this, 'conversations.join')) as Method,
- kick: (this.apiCall.bind(this, 'conversations.kick')) as Method,
- leave: (this.apiCall.bind(this, 'conversations.leave')) as Method,
- list: (this.apiCall.bind(this, 'conversations.list')) as Method,
- members: (this.apiCall.bind(this, 'conversations.members')) as Method,
- open: (this.apiCall.bind(this, 'conversations.open')) as Method,
- rename: (this.apiCall.bind(this, 'conversations.rename')) as Method,
- replies: (this.apiCall.bind(this, 'conversations.replies')) as Method,
- setPurpose:
- (this.apiCall.bind(this, 'conversations.setPurpose')) as Method,
- setTopic: (this.apiCall.bind(this, 'conversations.setTopic')) as Method,
- unarchive: (this.apiCall.bind(this, 'conversations.unarchive')) as Method,
- }] conversations method family
- * @property {module:@slack/client/dist/WebClient.__object} [dialog={
- open: (this.apiCall.bind(this, 'dialog.open')) as Method,
- }] dialog method family
- * @property {module:@slack/client/dist/WebClient.__object} [dnd={
- endDnd: (this.apiCall.bind(this, 'dnd.endDnd')) as Method,
- endSnooze: (this.apiCall.bind(this, 'dnd.endSnooze')) as Method,
- info: (this.apiCall.bind(this, 'dnd.info')) as Method,
- setSnooze: (this.apiCall.bind(this, 'dnd.setSnooze')) as Method,
- teamInfo: (this.apiCall.bind(this, 'dnd.teamInfo')) as Method,
- }] dnd method family
- * @property {module:@slack/client/dist/WebClient.__object} [emoji={
- list: (this.apiCall.bind(this, 'emoji.list')) as Method,
- }] emoji method family
- * @property {module:@slack/client/dist/WebClient.__object} [files={
- delete: (this.apiCall.bind(this, 'files.delete')) as Method,
- info: (this.apiCall.bind(this, 'files.info')) as Method,
- list: (this.apiCall.bind(this, 'files.list')) as Method,
- revokePublicURL:
- (this.apiCall.bind(this, 'files.revokePublicURL')) as Method,
- sharedPublicURL:
- (this.apiCall.bind(this, 'files.sharedPublicURL')) as Method,
- upload: (this.apiCall.bind(this, 'files.upload')) as Method,
- comments: {
- add: (this.apiCall.bind(this, 'files.comments.add')) as Method,
- delete: (this.apiCall.bind(this, 'files.comments.delete')) as Method,
- edit: (this.apiCall.bind(this, 'files.comments.edit')) as Method,
- },
- }] files method family
- * @property {module:@slack/client/dist/WebClient.__object} [groups={
- archive: (this.apiCall.bind(this, 'groups.archive')) as Method,
- create: (this.apiCall.bind(this, 'groups.create')) as Method,
- createChild: (this.apiCall.bind(this, 'groups.createChild')) as Method,
- history: (this.apiCall.bind(this, 'groups.history')) as Method,
- info: (this.apiCall.bind(this, 'groups.info')) as Method,
- invite: (this.apiCall.bind(this, 'groups.invite')) as Method,
- kick: (this.apiCall.bind(this, 'groups.kick')) as Method,
- leave: (this.apiCall.bind(this, 'groups.leave')) as Method,
- list: (this.apiCall.bind(this, 'groups.list')) as Method,
- mark: (this.apiCall.bind(this, 'groups.mark')) as Method,
- open: (this.apiCall.bind(this, 'groups.open')) as Method,
- rename: (this.apiCall.bind(this, 'groups.rename')) as Method,
- replies: (this.apiCall.bind(this, 'groups.replies')) as Method,
- setPurpose: (this.apiCall.bind(this, 'groups.setPurpose')) as Method,
- setTopic: (this.apiCall.bind(this, 'groups.setTopic')) as Method,
- unarchive: (this.apiCall.bind(this, 'groups.unarchive')) as Method,
- }] groups method family
- * @property {module:@slack/client/dist/WebClient.__object} [im={
- close: (this.apiCall.bind(this, 'im.close')) as Method,
- history: (this.apiCall.bind(this, 'im.history')) as Method,
- list: (this.apiCall.bind(this, 'im.list')) as Method,
- mark: (this.apiCall.bind(this, 'im.mark')) as Method,
- open: (this.apiCall.bind(this, 'im.open')) as Method,
- replies: (this.apiCall.bind(this, 'im.replies')) as Method,
- }] im method family
- * @property {module:@slack/client/dist/WebClient.__object} [migration={
- exchange: (this.apiCall.bind(this, 'migration.exchange')) as Method,
- }] migration method family
- * @property {module:@slack/client/dist/WebClient.__object} [mpim={
- close: (this.apiCall.bind(this, 'mpim.close')) as Method,
- history: (this.apiCall.bind(this, 'mpim.history')) as Method,
- list: (this.apiCall.bind(this, 'mpim.list')) as Method,
- mark: (this.apiCall.bind(this, 'mpim.mark')) as Method,
- open: (this.apiCall.bind(this, 'mpim.open')) as Method,
- replies: (this.apiCall.bind(this, 'mpim.replies')) as Method,
- }] mpim method family
- * @property {module:@slack/client/dist/WebClient.__object} [oauth={
- access: (this.apiCall.bind(this, 'oauth.access')) as Method,
- token: (this.apiCall.bind(this, 'oauth.token')) as Method,
- }] oauth method family
- * @property {module:@slack/client/dist/WebClient.__object} [pins={
- add: (this.apiCall.bind(this, 'pins.add')) as Method,
- list: (this.apiCall.bind(this, 'pins.list')) as Method,
- remove: (this.apiCall.bind(this, 'pins.remove')) as Method,
- }] pins method family
- * @property {module:@slack/client/dist/WebClient.__object} [reactions={
- add: (this.apiCall.bind(this, 'reactions.add')) as Method,
- get: (this.apiCall.bind(this, 'reactions.get')) as Method,
- list: (this.apiCall.bind(this, 'reactions.list')) as Method,
- remove: (this.apiCall.bind(this, 'reactions.remove')) as Method,
- }] reactions method family
- * @property {module:@slack/client/dist/WebClient.__object} [reminders={
- add: (this.apiCall.bind(this, 'reminders.add')) as Method,
- complete: (this.apiCall.bind(this, 'reminders.complete')) as Method,
- delete: (this.apiCall.bind(this, 'reminders.delete')) as Method,
- info: (this.apiCall.bind(this, 'reminders.info')) as Method,
- list: (this.apiCall.bind(this, 'reminders.list')) as Method,
- }] reminders method family
- * @property {module:@slack/client/dist/WebClient.__object} [rtm={
- connect: (this.apiCall.bind(this, 'rtm.connect')) as Method,
- start: (this.apiCall.bind(this, 'rtm.start')) as Method,
- }] rtm method family
- * @property {module:@slack/client/dist/WebClient.__object} [search={
- all: (this.apiCall.bind(this, 'search.all')) as Method,
- files: (this.apiCall.bind(this, 'search.files')) as Method,
- messages: (this.apiCall.bind(this, 'search.messages')) as Method,
- }] search method family
- * @property {module:@slack/client/dist/WebClient.__object} [stars={
- add: (this.apiCall.bind(this, 'stars.add')) as Method,
- list: (this.apiCall.bind(this, 'stars.list')) as Method,
- remove: (this.apiCall.bind(this, 'stars.remove')) as Method,
- }] stars method family
- * @property {module:@slack/client/dist/WebClient.__object} [team={
- accessLogs: (this.apiCall.bind(this, 'team.accessLogs')) as Method,
- billableInfo: (this.apiCall.bind(this, 'team.billableInfo')) as Method,
- info: (this.apiCall.bind(this, 'team.info')) as Method,
- integrationLogs: (this.apiCall.bind(this, 'team.integrationLogs')) as Method,
- profile: {
- get: (this.apiCall.bind(this, 'team.profile.get')) as Method,
- },
- }] team method family
- * @property {module:@slack/client/dist/WebClient.__object} [usergroups={
- create: (this.apiCall.bind(this, 'usergroups.create')) as Method,
- disable: (this.apiCall.bind(this, 'usergroups.disable')) as Method,
- enable: (this.apiCall.bind(this, 'usergroups.enable')) as Method,
- list: (this.apiCall.bind(this, 'usergroups.list')) as Method,
- update: (this.apiCall.bind(this, 'usergroups.update')) as Method,
- users: {
- list: (this.apiCall.bind(this, 'usergroups.users.list')) as Method,
- update: (this.apiCall.bind(this, 'usergroups.users.update')) as Method,
- },
- }] usergroups method family
- * @property {module:@slack/client/dist/WebClient.__object} [users={
- deletePhoto: (this.apiCall.bind(this, 'users.deletePhoto')) as Method,
- getPresence: (this.apiCall.bind(this, 'users.getPresence')) as Method,
- identity: (this.apiCall.bind(this, 'users.identity')) as Method,
- info: (this.apiCall.bind(this, 'users.info')) as Method,
- list: (this.apiCall.bind(this, 'users.list')) as Method,
- lookupByEmail: (this.apiCall.bind(this, 'users.lookupByEmail')) as Method,
- setActive: (this.apiCall.bind(this, 'users.setActive')) as Method,
- setPhoto: (this.apiCall.bind(this, 'users.setPhoto')) as Method,
- setPresence: (this.apiCall.bind(this, 'users.setPresence')) as Method,
- profile: {
- get: (this.apiCall.bind(this, 'users.profile.get')) as Method,
- set: (this.apiCall.bind(this, 'users.profile.set')) as Method,
- },
- }] users method family
*/
export class WebClient {
/**
diff --git a/test/mocha.opts b/test/mocha.opts
index 1e41a38af..3711a4423 100644
--- a/test/mocha.opts
+++ b/test/mocha.opts
@@ -1,3 +1,4 @@
--require ts-node/register
--require source-map-support/register
--recursive
+--timeout 10000
diff --git a/test/typescript/sources/method-argument-types.ts b/test/typescript/sources/method-argument-types.ts
new file mode 100644
index 000000000..33a493c68
--- /dev/null
+++ b/test/typescript/sources/method-argument-types.ts
@@ -0,0 +1,28 @@
+import { WebClient, ChatPostMessageArguments } from '../../../dist';
+
+const web = new WebClient('TOKEN');
+
+// calling a method directly with arbitrary arguments should work
+web.chat.postMessage({
+ channel: 'CHANNEL',
+ text: 'TEXT',
+ key: 'VALUE',
+});
+
+// calling a method directly with underspecified arguments should not work
+// typings:expect-error
+web.chat.postMessage({
+ channel: 'CHANNEL',
+});
+
+// assigning an object with a specific type that includes arbitrary arguments should not work
+const message: ChatPostMessageArguments = {
+ text: 'TEXT',
+ channel: 'CHANNEL',
+ // typings:expect-error
+ key: 'VALUE',
+};
+
+// this is just here to avoid the following error:
+// 'message' is declared but its value is never read.
+console.log(message);
diff --git a/test/typescript/sources/webclient-no-token.ts b/test/typescript/sources/webclient-no-token.ts
new file mode 100644
index 000000000..0ec273911
--- /dev/null
+++ b/test/typescript/sources/webclient-no-token.ts
@@ -0,0 +1,11 @@
+
+import { WebClient } from '../../../dist';
+
+const web = new WebClient();
+
+web.oauth.access({
+ client_id: 'CLIENT_ID',
+ client_secret: 'CLIENT_SECRET',
+ code: 'CODE',
+ redirect_uri: 'REDIRECT_URI',
+});
diff --git a/test/typescript/test.ts b/test/typescript/test.ts
new file mode 100644
index 000000000..de174327c
--- /dev/null
+++ b/test/typescript/test.ts
@@ -0,0 +1,13 @@
+import 'mocha';
+import { check, checkDirectory } from 'typings-tester';
+
+describe('typescript typings tests', () => {
+ it('should allow WebClient to work without a token', () => {
+ check([`${__dirname}/sources/webclient-no-token.ts`], `${__dirname}/tsconfig-strict.json`);
+ });
+
+ it('should export method argument types and enforce strictness in the right ways', () => {
+ check([`${__dirname}/sources/method-argument-types.ts`], `${__dirname}/tsconfig-strict.json`);
+ });
+});
+
diff --git a/test/typescript/tsconfig-strict.json b/test/typescript/tsconfig-strict.json
new file mode 100644
index 000000000..000aa5b96
--- /dev/null
+++ b/test/typescript/tsconfig-strict.json
@@ -0,0 +1,13 @@
+{
+ "compilerOptions": {
+ "target": "es2017",
+ "module": "commonjs",
+ "sourceMap": true,
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "moduleResolution": "node"
+ }
+}