You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by wa...@apache.org on 2020/10/28 01:01:57 UTC
[incubator-echarts-bot] 02/32: feat: 🎸 close issue, comment, add labels
This is an automated email from the ASF dual-hosted git repository.
wangzx pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-echarts-bot.git
commit c2db0ff40e4a97bf80381477e4038ed91f008c12
Author: Ovilia <zw...@gmail.com>
AuthorDate: Tue Nov 20 14:00:21 2018 +0800
feat: 🎸 close issue, comment, add labels
---
README.md | 15 +-
index.js | 47 ++
jest.config.js | 8 -
package-lock.json | 847 ++++++++++++----------------------
package.json | 43 +-
src/index.ts | 15 -
src/issue.js | 157 +++++++
test/fixtures/issues.opened.mine.json | 237 ++++++++++
test/index.test.js | 46 ++
test/index.test.ts | 52 ---
travis.yml | 6 +
tsconfig.json | 25 -
12 files changed, 805 insertions(+), 693 deletions(-)
diff --git a/README.md b/README.md
index 7fdaca7..85124c5 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# echarts-robot
-> A GitHub App built with [Probot](https://github.com/probot/probot) that ECharts Robot
+A robot for ECharts issues.
## Setup
@@ -8,19 +8,6 @@
# Install dependencies
npm install
-# Run typescript
-npm run build
-
# Run the bot
npm start
```
-
-## Contributing
-
-If you have suggestions for how echarts-robot could be improved, or want to report a bug, open an issue! We'd love all and any contributions.
-
-For more, check out the [Contributing Guide](CONTRIBUTING.md).
-
-## License
-
-[Apache 2.0](LICENSE) © 2018 Ovilia <me...@zhangwenli.com>
diff --git a/index.js b/index.js
new file mode 100644
index 0000000..0d42caa
--- /dev/null
+++ b/index.js
@@ -0,0 +1,47 @@
+const Issue = require('./src/issue');
+
+module.exports = app => {
+ app.on(['issues.opened', 'issues.edited'], async context => {
+ const issue = new Issue(context);
+
+ if (!issue.isUsingTemplate()) {
+ // Close issue
+ const comment = context.github.issues.createComment(context.issue({
+ body: issue.response
+ }));
+
+ const close = context.github.issues.edit(context.issue({
+ state: 'closed'
+ }));
+
+ return Promise.all([comment, close]);
+ }
+ else {
+ const addLabels = issue.tags.length
+ ? context.github.issues.addLabels(context.issue({
+ labels: issue.tags
+ }))
+ : Promise.resolve();
+
+ const removeLabels = issue.isMeetAllRequires()
+ ? context.github.issues.deleteLabel(context.issue({
+ name: 'waiting-for-author'
+ }))
+ : context.github.issues.deleteLabel(context.issue({
+ name: 'waiting-for-help'
+ }));
+ removeLabels.catch(err => {
+ // Ignore error caused by not existing.
+ if (err.message !== 'Not Found') {
+ throw(err);
+ }
+ });
+
+ const comment = context.github.issues.createComment(context.issue({
+ body: issue.response
+ }));
+
+ return Promise.all([addLabels, removeLabels, comment]);
+ }
+ });
+}
diff --git a/jest.config.js b/jest.config.js
deleted file mode 100644
index 0edf48c..0000000
--- a/jest.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-module.exports = {
- roots: ['<rootDir>/src/', '<rootDir>/test/'],
- transform: {
- '^.+\\.tsx?$': 'ts-jest'
- },
- testRegex: '(/__tests__/.*|\\.(test|spec))\\.[tj]sx?$',
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
-}
diff --git a/package-lock.json b/package-lock.json
index 6854b11..7310a08 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -46,16 +46,6 @@
"node-fetch": "^2.1.1",
"universal-user-agent": "^2.0.0",
"url-template": "^2.0.8"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "requires": {
- "ms": "^2.1.1"
- }
- }
}
},
"@octokit/webhooks": {
@@ -65,27 +55,18 @@
"requires": {
"buffer-equal-constant-time": "^1.0.1",
"debug": "^4.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
+ "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
}
},
- "@types/jest": {
- "version": "23.3.9",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.9.tgz",
- "integrity": "sha512-wNMwXSUcwyYajtbayfPp55tSayuDVU6PfY5gzvRSj80UvxdXEJOVPnUVajaOp7NgXLm+1e2ZDLULmpsU9vDvQw==",
- "dev": true
- },
- "@types/nock": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/@types/nock/-/nock-9.3.0.tgz",
- "integrity": "sha512-ZHf/X8rTQ5Tb1rHjxIJYqm55uO265agE3G7NoSXVa2ep+EcJXgB2fsme+zBvK7MhrxTwkC/xkB6THyv50u0MGw==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/node": {
- "version": "10.12.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.5.tgz",
- "integrity": "sha512-GzdHjq3t3eGLMv92Al90Iq+EoLL+86mPfQhuglbBFO7HiLdC/rkt+zrzJJumAiBF6nsrBWhou22rPW663AAyFw=="
- },
"@types/supports-color": {
"version": "5.3.0",
"resolved": "http://registry.npmjs.org/@types/supports-color/-/supports-color-5.3.0.tgz",
@@ -154,9 +135,9 @@
}
},
"acorn-walk": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.0.tgz",
- "integrity": "sha512-ugTb7Lq7u4GfWSqqpwE0bGyoBZNMTok/zDBXxfEG0QM50jNlGhIWjRC1pPN7bvV1anhF+bs+/gNcRw+o55Evbg==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz",
+ "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==",
"dev": true
},
"agent-base": {
@@ -590,21 +571,6 @@
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
- }
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
"array-unique": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
@@ -645,7 +611,8 @@
"assertion-error": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw=="
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "dev": true
},
"assign-symbols": {
"version": "1.0.0",
@@ -832,13 +799,13 @@
}
},
"babel-jest": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz",
- "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==",
+ "version": "22.4.4",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-22.4.4.tgz",
+ "integrity": "sha512-A9NB6/lZhYyypR9ATryOSDcqBaqNdzq4U+CN+/wcMsLcmKkPxQEoTKLajGfd3IkxNyVBT8NewUK2nWyGbSzHEQ==",
"dev": true,
"requires": {
- "babel-plugin-istanbul": "^4.1.6",
- "babel-preset-jest": "^23.2.0"
+ "babel-plugin-istanbul": "^4.1.5",
+ "babel-preset-jest": "^22.4.4"
}
},
"babel-messages": {
@@ -863,9 +830,9 @@
}
},
"babel-plugin-jest-hoist": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz",
- "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=",
+ "version": "22.4.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz",
+ "integrity": "sha512-DUvGfYaAIlkdnygVIEl0O4Av69NtuQWcrjMOv6DODPuhuGLDnbsARz3AwiiI/EkIMMlxQDUcrZ9yoyJvTNjcVQ==",
"dev": true
},
"babel-plugin-syntax-object-rest-spread": {
@@ -875,12 +842,12 @@
"dev": true
},
"babel-preset-jest": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz",
- "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=",
+ "version": "22.4.4",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz",
+ "integrity": "sha512-+dxMtOFwnSYWfum0NaEc0O03oSdwBsjx4tMSChRDPGwu/4wSY6Q6ANW3wkjKpJzzguaovRs/DODcT4hbSN8yiA==",
"dev": true,
"requires": {
- "babel-plugin-jest-hoist": "^23.2.0",
+ "babel-plugin-jest-hoist": "^22.4.4",
"babel-plugin-syntax-object-rest-spread": "^6.13.0"
}
},
@@ -897,6 +864,23 @@
"lodash": "^4.17.4",
"mkdirp": "^0.5.1",
"source-map-support": "^0.4.15"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.5.6"
+ }
+ }
}
},
"babel-runtime": {
@@ -1178,15 +1162,6 @@
}
}
},
- "bs-logger": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz",
- "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
- "dev": true,
- "requires": {
- "fast-json-stable-stringify": "2.x"
- }
- },
"bser": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
@@ -1350,6 +1325,7 @@
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
"integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
+ "dev": true,
"requires": {
"assertion-error": "^1.1.0",
"check-error": "^1.0.2",
@@ -1378,7 +1354,8 @@
"check-error": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
- "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII="
+ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
+ "dev": true
},
"chokidar": {
"version": "2.0.4",
@@ -1828,9 +1805,9 @@
}
},
"debug": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
- "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"requires": {
"ms": "^2.1.1"
}
@@ -1856,6 +1833,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
"integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
+ "dev": true,
"requires": {
"type-detect": "^4.0.0"
}
@@ -1863,7 +1841,8 @@
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
- "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+ "dev": true
},
"deep-extend": {
"version": "0.6.0",
@@ -1997,20 +1976,6 @@
}
}
},
- "del": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
- "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
- "dev": true,
- "requires": {
- "globby": "^6.1.0",
- "is-path-cwd": "^1.0.0",
- "is-path-in-cwd": "^1.0.0",
- "p-map": "^1.1.1",
- "pify": "^3.0.0",
- "rimraf": "^2.2.8"
- }
- },
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -2602,15 +2567,6 @@
"integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=",
"dev": true
},
- "eslint-plugin-typescript": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-typescript/-/eslint-plugin-typescript-0.12.0.tgz",
- "integrity": "sha512-2+DNE8nTvdNkhem/FBJXLPSeMDOZL68vHHNfTbM+PBc5iAuwBe8xLSQubwKxABqSZDwUHg+mwGmv5c2NlImi0Q==",
- "dev": true,
- "requires": {
- "requireindex": "~1.1.0"
- }
- },
"espree": {
"version": "3.5.4",
"resolved": "http://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
@@ -2751,17 +2707,17 @@
}
},
"expect": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz",
- "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/expect/-/expect-22.4.3.tgz",
+ "integrity": "sha512-XcNXEPehqn8b/jm8FYotdX0YrXn36qp4HWlrVT4ktwQas1l1LPxiVWncYnnL2eyMtKAmVIaG0XAp0QlrqJaxaA==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.0",
- "jest-diff": "^23.6.0",
- "jest-get-type": "^22.1.0",
- "jest-matcher-utils": "^23.6.0",
- "jest-message-util": "^23.4.0",
- "jest-regex-util": "^23.3.0"
+ "jest-diff": "^22.4.3",
+ "jest-get-type": "^22.4.3",
+ "jest-matcher-utils": "^22.4.3",
+ "jest-message-util": "^22.4.3",
+ "jest-regex-util": "^22.4.3"
}
},
"express": {
@@ -2999,15 +2955,40 @@
}
},
"flat-cache": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.2.tgz",
- "integrity": "sha512-KByBY8c98sLUAGpnmjEdWTrtrLZRtZdwds+kAL/ciFXTCb7AZgqKsAnVnYFQj1hxepwO8JKN/8AsRWwLq+RK0A==",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
+ "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
"dev": true,
"requires": {
"circular-json": "^0.3.1",
- "del": "^3.0.0",
"graceful-fs": "^4.1.2",
+ "rimraf": "~2.6.2",
"write": "^0.2.1"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.0.5"
+ }
+ }
}
},
"flatmap-stream": {
@@ -3652,7 +3633,8 @@
"get-func-name": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
- "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE="
+ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
+ "dev": true
},
"get-stdin": {
"version": "5.0.1",
@@ -3685,6 +3667,7 @@
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
+ "optional": true,
"requires": {
"inflight": "^1.0.4",
"inherits": "2",
@@ -3727,41 +3710,6 @@
"integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
"dev": true
},
- "globby": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- }
- }
- },
"got": {
"version": "6.7.1",
"resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz",
@@ -3995,16 +3943,6 @@
"requires": {
"agent-base": "^4.1.0",
"debug": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "requires": {
- "ms": "^2.1.1"
- }
- }
}
},
"iconv-lite": {
@@ -4384,21 +4322,6 @@
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
"dev": true
},
- "is-path-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
- "dev": true
- },
- "is-path-in-cwd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
- "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
- "dev": true,
- "requires": {
- "is-path-inside": "^1.0.0"
- }
- },
"is-path-inside": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
@@ -4632,15 +4555,6 @@
"source-map": "^0.5.3"
},
"dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
"glob": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
@@ -4682,13 +4596,13 @@
}
},
"jest": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz",
- "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==",
+ "version": "22.4.4",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-22.4.4.tgz",
+ "integrity": "sha512-eBhhW8OS/UuX3HxgzNBSVEVhSuRDh39Z1kdYkQVWna+scpgsrD7vSeBI7tmEvsguPDMnfJodW28YBnhv/BzSew==",
"dev": true,
"requires": {
"import-local": "^1.0.0",
- "jest-cli": "^23.6.0"
+ "jest-cli": "^22.4.4"
},
"dependencies": {
"cliui": {
@@ -4717,9 +4631,9 @@
}
},
"jest-cli": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.6.0.tgz",
- "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==",
+ "version": "22.4.4",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-22.4.4.tgz",
+ "integrity": "sha512-I9dsgkeyjVEEZj9wrGrqlH+8OlNob9Iptyl+6L5+ToOLJmHm4JwOPatin1b2Bzp5R5YRQJ+oiedx7o1H7wJzhA==",
"dev": true,
"requires": {
"ansi-escapes": "^3.0.0",
@@ -4729,35 +4643,33 @@
"graceful-fs": "^4.1.11",
"import-local": "^1.0.0",
"is-ci": "^1.0.10",
- "istanbul-api": "^1.3.1",
- "istanbul-lib-coverage": "^1.2.0",
- "istanbul-lib-instrument": "^1.10.1",
- "istanbul-lib-source-maps": "^1.2.4",
- "jest-changed-files": "^23.4.2",
- "jest-config": "^23.6.0",
- "jest-environment-jsdom": "^23.4.0",
+ "istanbul-api": "^1.1.14",
+ "istanbul-lib-coverage": "^1.1.1",
+ "istanbul-lib-instrument": "^1.8.0",
+ "istanbul-lib-source-maps": "^1.2.1",
+ "jest-changed-files": "^22.2.0",
+ "jest-config": "^22.4.4",
+ "jest-environment-jsdom": "^22.4.1",
"jest-get-type": "^22.1.0",
- "jest-haste-map": "^23.6.0",
- "jest-message-util": "^23.4.0",
- "jest-regex-util": "^23.3.0",
- "jest-resolve-dependencies": "^23.6.0",
- "jest-runner": "^23.6.0",
- "jest-runtime": "^23.6.0",
- "jest-snapshot": "^23.6.0",
- "jest-util": "^23.4.0",
- "jest-validate": "^23.6.0",
- "jest-watcher": "^23.4.0",
- "jest-worker": "^23.2.0",
+ "jest-haste-map": "^22.4.2",
+ "jest-message-util": "^22.4.0",
+ "jest-regex-util": "^22.1.0",
+ "jest-resolve-dependencies": "^22.1.0",
+ "jest-runner": "^22.4.4",
+ "jest-runtime": "^22.4.4",
+ "jest-snapshot": "^22.4.0",
+ "jest-util": "^22.4.1",
+ "jest-validate": "^22.4.4",
+ "jest-worker": "^22.2.2",
"micromatch": "^2.3.11",
"node-notifier": "^5.2.1",
- "prompts": "^0.1.9",
"realpath-native": "^1.0.0",
"rimraf": "^2.5.4",
"slash": "^1.0.0",
"string-length": "^2.0.0",
"strip-ansi": "^4.0.0",
"which": "^1.2.12",
- "yargs": "^11.0.0"
+ "yargs": "^10.0.3"
}
},
"rimraf": {
@@ -4770,9 +4682,9 @@
}
},
"yargs": {
- "version": "11.1.0",
- "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz",
- "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==",
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz",
+ "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==",
"dev": true,
"requires": {
"cliui": "^4.0.0",
@@ -4786,40 +4698,37 @@
"string-width": "^2.0.0",
"which-module": "^2.0.0",
"y18n": "^3.2.1",
- "yargs-parser": "^9.0.2"
+ "yargs-parser": "^8.1.0"
}
}
}
},
"jest-changed-files": {
- "version": "23.4.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.4.2.tgz",
- "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-changed-files/-/jest-changed-files-22.4.3.tgz",
+ "integrity": "sha512-83Dh0w1aSkUNFhy5d2dvqWxi/y6weDwVVLU6vmK0cV9VpRxPzhTeGimbsbRDSnEoszhF937M4sDLLeS7Cu/Tmw==",
"dev": true,
"requires": {
"throat": "^4.0.0"
}
},
"jest-config": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.6.0.tgz",
- "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==",
+ "version": "22.4.4",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-22.4.4.tgz",
+ "integrity": "sha512-9CKfo1GC4zrXSoMLcNeDvQBfgtqGTB1uP8iDIZ97oB26RCUb886KkKWhVcpyxVDOUxbhN+uzcBCeFe7w+Iem4A==",
"dev": true,
"requires": {
- "babel-core": "^6.0.0",
- "babel-jest": "^23.6.0",
"chalk": "^2.0.1",
"glob": "^7.1.1",
- "jest-environment-jsdom": "^23.4.0",
- "jest-environment-node": "^23.4.0",
+ "jest-environment-jsdom": "^22.4.1",
+ "jest-environment-node": "^22.4.1",
"jest-get-type": "^22.1.0",
- "jest-jasmine2": "^23.6.0",
- "jest-regex-util": "^23.3.0",
- "jest-resolve": "^23.6.0",
- "jest-util": "^23.4.0",
- "jest-validate": "^23.6.0",
- "micromatch": "^2.3.11",
- "pretty-format": "^23.6.0"
+ "jest-jasmine2": "^22.4.4",
+ "jest-regex-util": "^22.1.0",
+ "jest-resolve": "^22.4.2",
+ "jest-util": "^22.4.1",
+ "jest-validate": "^22.4.4",
+ "pretty-format": "^22.4.0"
},
"dependencies": {
"glob": {
@@ -4839,55 +4748,45 @@
}
},
"jest-diff": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz",
- "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz",
+ "integrity": "sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA==",
"dev": true,
"requires": {
"chalk": "^2.0.1",
"diff": "^3.2.0",
- "jest-get-type": "^22.1.0",
- "pretty-format": "^23.6.0"
+ "jest-get-type": "^22.4.3",
+ "pretty-format": "^22.4.3"
}
},
"jest-docblock": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz",
- "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-docblock/-/jest-docblock-22.4.3.tgz",
+ "integrity": "sha512-uPKBEAw7YrEMcXueMKZXn/rbMxBiSv48fSqy3uEnmgOlQhSX+lthBqHb1fKWNVmFqAp9E/RsSdBfiV31LbzaOg==",
"dev": true,
"requires": {
"detect-newline": "^2.1.0"
}
},
- "jest-each": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.6.0.tgz",
- "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==",
- "dev": true,
- "requires": {
- "chalk": "^2.0.1",
- "pretty-format": "^23.6.0"
- }
- },
"jest-environment-jsdom": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz",
- "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz",
+ "integrity": "sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w==",
"dev": true,
"requires": {
- "jest-mock": "^23.2.0",
- "jest-util": "^23.4.0",
+ "jest-mock": "^22.4.3",
+ "jest-util": "^22.4.3",
"jsdom": "^11.5.1"
}
},
"jest-environment-node": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.4.0.tgz",
- "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-environment-node/-/jest-environment-node-22.4.3.tgz",
+ "integrity": "sha512-reZl8XF6t/lMEuPWwo9OLfttyC26A5AMgDyEQ6DBgZuyfyeNUzYT8BFo6uxCCP/Av/b7eb9fTi3sIHFPBzmlRA==",
"dev": true,
"requires": {
- "jest-mock": "^23.2.0",
- "jest-util": "^23.4.0"
+ "jest-mock": "^22.4.3",
+ "jest-util": "^22.4.3"
}
},
"jest-get-type": {
@@ -4897,65 +4796,63 @@
"dev": true
},
"jest-haste-map": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz",
- "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.4.3.tgz",
+ "integrity": "sha512-4Q9fjzuPVwnaqGKDpIsCSoTSnG3cteyk2oNVjBX12HHOaF1oxql+uUiqZb5Ndu7g/vTZfdNwwy4WwYogLh29DQ==",
"dev": true,
"requires": {
"fb-watchman": "^2.0.0",
"graceful-fs": "^4.1.11",
- "invariant": "^2.2.4",
- "jest-docblock": "^23.2.0",
- "jest-serializer": "^23.0.1",
- "jest-worker": "^23.2.0",
+ "jest-docblock": "^22.4.3",
+ "jest-serializer": "^22.4.3",
+ "jest-worker": "^22.4.3",
"micromatch": "^2.3.11",
"sane": "^2.0.0"
}
},
"jest-jasmine2": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz",
- "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==",
+ "version": "22.4.4",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz",
+ "integrity": "sha512-nK3vdUl50MuH7vj/8at7EQVjPGWCi3d5+6aCi7Gxy/XMWdOdbH1qtO/LjKbqD8+8dUAEH+BVVh7HkjpCWC1CSw==",
"dev": true,
"requires": {
- "babel-traverse": "^6.0.0",
"chalk": "^2.0.1",
"co": "^4.6.0",
- "expect": "^23.6.0",
+ "expect": "^22.4.0",
+ "graceful-fs": "^4.1.11",
"is-generator-fn": "^1.0.0",
- "jest-diff": "^23.6.0",
- "jest-each": "^23.6.0",
- "jest-matcher-utils": "^23.6.0",
- "jest-message-util": "^23.4.0",
- "jest-snapshot": "^23.6.0",
- "jest-util": "^23.4.0",
- "pretty-format": "^23.6.0"
+ "jest-diff": "^22.4.0",
+ "jest-matcher-utils": "^22.4.0",
+ "jest-message-util": "^22.4.0",
+ "jest-snapshot": "^22.4.0",
+ "jest-util": "^22.4.1",
+ "source-map-support": "^0.5.0"
}
},
"jest-leak-detector": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz",
- "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz",
+ "integrity": "sha512-NZpR/Ls7+ndO57LuXROdgCGz2RmUdC541tTImL9bdUtU3WadgFGm0yV+Ok4Fuia/1rLAn5KaJ+i76L6e3zGJYQ==",
"dev": true,
"requires": {
- "pretty-format": "^23.6.0"
+ "pretty-format": "^22.4.3"
}
},
"jest-matcher-utils": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz",
- "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz",
+ "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==",
"dev": true,
"requires": {
"chalk": "^2.0.1",
- "jest-get-type": "^22.1.0",
- "pretty-format": "^23.6.0"
+ "jest-get-type": "^22.4.3",
+ "pretty-format": "^22.4.3"
}
},
"jest-message-util": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz",
- "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz",
+ "integrity": "sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0-beta.35",
@@ -4966,104 +4863,81 @@
}
},
"jest-mock": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz",
- "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz",
+ "integrity": "sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q==",
"dev": true
},
"jest-regex-util": {
- "version": "23.3.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.3.0.tgz",
- "integrity": "sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-regex-util/-/jest-regex-util-22.4.3.tgz",
+ "integrity": "sha512-LFg1gWr3QinIjb8j833bq7jtQopiwdAs67OGfkPrvy7uNUbVMfTXXcOKXJaeY5GgjobELkKvKENqq1xrUectWg==",
"dev": true
},
"jest-resolve": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz",
- "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-resolve/-/jest-resolve-22.4.3.tgz",
+ "integrity": "sha512-u3BkD/MQBmwrOJDzDIaxpyqTxYH+XqAXzVJP51gt29H8jpj3QgKof5GGO2uPGKGeA1yTMlpbMs1gIQ6U4vcRhw==",
"dev": true,
"requires": {
- "browser-resolve": "^1.11.3",
- "chalk": "^2.0.1",
- "realpath-native": "^1.0.0"
+ "browser-resolve": "^1.11.2",
+ "chalk": "^2.0.1"
}
},
"jest-resolve-dependencies": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz",
- "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz",
+ "integrity": "sha512-06czCMVToSN8F2U4EvgSB1Bv/56gc7MpCftZ9z9fBgUQM7dzHGCMBsyfVA6dZTx8v0FDcnALf7hupeQxaBCvpA==",
"dev": true,
"requires": {
- "jest-regex-util": "^23.3.0",
- "jest-snapshot": "^23.6.0"
+ "jest-regex-util": "^22.4.3"
}
},
"jest-runner": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.6.0.tgz",
- "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==",
+ "version": "22.4.4",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-22.4.4.tgz",
+ "integrity": "sha512-5S/OpB51igQW9xnkM5Tgd/7ZjiAuIoiJAVtvVTBcEBiXBIFzWM3BAMPBM19FX68gRV0KWyFuGKj0EY3M3aceeQ==",
"dev": true,
"requires": {
"exit": "^0.1.2",
- "graceful-fs": "^4.1.11",
- "jest-config": "^23.6.0",
- "jest-docblock": "^23.2.0",
- "jest-haste-map": "^23.6.0",
- "jest-jasmine2": "^23.6.0",
- "jest-leak-detector": "^23.6.0",
- "jest-message-util": "^23.4.0",
- "jest-runtime": "^23.6.0",
- "jest-util": "^23.4.0",
- "jest-worker": "^23.2.0",
- "source-map-support": "^0.5.6",
+ "jest-config": "^22.4.4",
+ "jest-docblock": "^22.4.0",
+ "jest-haste-map": "^22.4.2",
+ "jest-jasmine2": "^22.4.4",
+ "jest-leak-detector": "^22.4.0",
+ "jest-message-util": "^22.4.0",
+ "jest-runtime": "^22.4.4",
+ "jest-util": "^22.4.1",
+ "jest-worker": "^22.2.2",
"throat": "^4.0.0"
- },
- "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
- },
- "source-map-support": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz",
- "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- }
}
},
"jest-runtime": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.6.0.tgz",
- "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==",
+ "version": "22.4.4",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-22.4.4.tgz",
+ "integrity": "sha512-WRTj9m///npte1YjuphCYX7GRY/c2YvJImU9t7qOwFcqHr4YMzmX6evP/3Sehz5DKW2Vi8ONYPCFWe36JVXxfw==",
"dev": true,
"requires": {
"babel-core": "^6.0.0",
- "babel-plugin-istanbul": "^4.1.6",
+ "babel-jest": "^22.4.4",
+ "babel-plugin-istanbul": "^4.1.5",
"chalk": "^2.0.1",
"convert-source-map": "^1.4.0",
"exit": "^0.1.2",
- "fast-json-stable-stringify": "^2.0.0",
"graceful-fs": "^4.1.11",
- "jest-config": "^23.6.0",
- "jest-haste-map": "^23.6.0",
- "jest-message-util": "^23.4.0",
- "jest-regex-util": "^23.3.0",
- "jest-resolve": "^23.6.0",
- "jest-snapshot": "^23.6.0",
- "jest-util": "^23.4.0",
- "jest-validate": "^23.6.0",
+ "jest-config": "^22.4.4",
+ "jest-haste-map": "^22.4.2",
+ "jest-regex-util": "^22.1.0",
+ "jest-resolve": "^22.4.2",
+ "jest-util": "^22.4.1",
+ "jest-validate": "^22.4.4",
+ "json-stable-stringify": "^1.0.1",
"micromatch": "^2.3.11",
"realpath-native": "^1.0.0",
"slash": "^1.0.0",
"strip-bom": "3.0.0",
"write-file-atomic": "^2.1.0",
- "yargs": "^11.0.0"
+ "yargs": "^10.0.3"
},
"dependencies": {
"cliui": {
@@ -5078,9 +4952,9 @@
}
},
"yargs": {
- "version": "11.1.0",
- "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz",
- "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==",
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz",
+ "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==",
"dev": true,
"requires": {
"cliui": "^4.0.0",
@@ -5094,48 +4968,43 @@
"string-width": "^2.0.0",
"which-module": "^2.0.0",
"y18n": "^3.2.1",
- "yargs-parser": "^9.0.2"
+ "yargs-parser": "^8.1.0"
}
}
}
},
"jest-serializer": {
- "version": "23.0.1",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz",
- "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-serializer/-/jest-serializer-22.4.3.tgz",
+ "integrity": "sha512-uPaUAppx4VUfJ0QDerpNdF43F68eqKWCzzhUlKNDsUPhjOon7ZehR4C809GCqh765FoMRtTVUVnGvIoskkYHiw==",
"dev": true
},
"jest-snapshot": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.6.0.tgz",
- "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.3.tgz",
+ "integrity": "sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ==",
"dev": true,
"requires": {
- "babel-types": "^6.0.0",
"chalk": "^2.0.1",
- "jest-diff": "^23.6.0",
- "jest-matcher-utils": "^23.6.0",
- "jest-message-util": "^23.4.0",
- "jest-resolve": "^23.6.0",
+ "jest-diff": "^22.4.3",
+ "jest-matcher-utils": "^22.4.3",
"mkdirp": "^0.5.1",
"natural-compare": "^1.4.0",
- "pretty-format": "^23.6.0",
- "semver": "^5.5.0"
+ "pretty-format": "^22.4.3"
}
},
"jest-util": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz",
- "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz",
+ "integrity": "sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ==",
"dev": true,
"requires": {
"callsites": "^2.0.0",
"chalk": "^2.0.1",
"graceful-fs": "^4.1.11",
"is-ci": "^1.0.10",
- "jest-message-util": "^23.4.0",
+ "jest-message-util": "^22.4.3",
"mkdirp": "^0.5.1",
- "slash": "^1.0.0",
"source-map": "^0.6.0"
},
"dependencies": {
@@ -5148,32 +5017,22 @@
}
},
"jest-validate": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.6.0.tgz",
- "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==",
+ "version": "22.4.4",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-22.4.4.tgz",
+ "integrity": "sha512-dmlf4CIZRGvkaVg3fa0uetepcua44DHtktHm6rcoNVtYlpwe6fEJRkMFsaUVcFHLzbuBJ2cPw9Gl9TKfnzMVwg==",
"dev": true,
"requires": {
"chalk": "^2.0.1",
+ "jest-config": "^22.4.4",
"jest-get-type": "^22.1.0",
"leven": "^2.1.0",
- "pretty-format": "^23.6.0"
- }
- },
- "jest-watcher": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.4.0.tgz",
- "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=",
- "dev": true,
- "requires": {
- "ansi-escapes": "^3.0.0",
- "chalk": "^2.0.1",
- "string-length": "^2.0.0"
+ "pretty-format": "^22.4.0"
}
},
"jest-worker": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz",
- "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/jest-worker/-/jest-worker-22.4.3.tgz",
+ "integrity": "sha512-B1ucW4fI8qVAuZmicFxI1R3kr2fNeYJyvIQ1rKcuLYnenFV5K5aMbxFj6J0i00Ju83S8jP2d7Dz14+AvbIHRYQ==",
"dev": true,
"requires": {
"merge-stream": "^1.0.1"
@@ -5269,7 +5128,8 @@
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
},
"json5": {
"version": "0.5.1",
@@ -5290,9 +5150,9 @@
"dev": true
},
"jsonwebtoken": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.3.0.tgz",
- "integrity": "sha512-oge/hvlmeJCH+iIz1DwcO7vKPkNGJHhgkspk8OH3VKlw+mbi42WtD4ig1+VXRln765vxptAv+xT26Fd3cteqag==",
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.4.0.tgz",
+ "integrity": "sha512-coyXjRTCy0pw5WYBpMvWOMN+Kjaik2MwTUIq9cna/W7NpO9E+iYbumZONAz3hcr+tXFJECoQVrtmIoC3Oz0gvg==",
"requires": {
"jws": "^3.1.5",
"lodash.includes": "^4.3.0",
@@ -5350,12 +5210,6 @@
"is-buffer": "^1.1.5"
}
},
- "kleur": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz",
- "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==",
- "dev": true
- },
"latest-version": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
@@ -5485,12 +5339,6 @@
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"dev": true
},
- "lodash.unescape": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz",
- "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=",
- "dev": true
- },
"longest": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
@@ -5534,12 +5382,6 @@
"pify": "^3.0.0"
}
},
- "make-error": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
- "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
- "dev": true
- },
"makeerror": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
@@ -5842,6 +5684,7 @@
"version": "10.0.2",
"resolved": "https://registry.npmjs.org/nock/-/nock-10.0.2.tgz",
"integrity": "sha512-uWrdlRzG28SXM5yqYsUHfYBRqljF8P6aTRDh6Y5kTgs/Q4GB59QWlpiegmDHQouvmX/rDyKkC/nk+k4nA+QPNw==",
+ "dev": true,
"requires": {
"chai": "^4.1.2",
"debug": "^4.1.0",
@@ -5852,12 +5695,23 @@
"propagate": "^1.0.0",
"qs": "^6.5.1",
"semver": "^5.5.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
+ "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
}
},
"node-fetch": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.1.tgz",
- "integrity": "sha512-ObXBpNCD3A/vYQiQtEWl7DuqjAXjfptYFuGHLdPl5U19/6kJuZV+8uMHLrkj3wJrJoyfg4nhgyFixZdaZoAiEQ=="
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz",
+ "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA=="
},
"node-int64": {
"version": "0.4.0",
@@ -5893,17 +5747,6 @@
"touch": "^3.1.0",
"undefsafe": "^2.0.2",
"update-notifier": "^2.3.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
}
},
"nopt": {
@@ -6192,12 +6035,6 @@
"p-limit": "^1.1.0"
}
},
- "p-map": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
- "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
- "dev": true
- },
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
@@ -6313,7 +6150,8 @@
"pathval": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
- "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA="
+ "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
+ "dev": true
},
"pause-stream": {
"version": "0.0.11",
@@ -6454,9 +6292,9 @@
"dev": true
},
"pretty-format": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz",
- "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==",
+ "version": "22.4.3",
+ "resolved": "http://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
+ "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==",
"dev": true,
"requires": {
"ansi-regex": "^3.0.0",
@@ -6526,20 +6364,11 @@
"resolved": "https://registry.npmjs.org/promise-events/-/promise-events-0.1.4.tgz",
"integrity": "sha1-PIj66X5EjaaPf88Z1O4wjW5DLVs="
},
- "prompts": {
- "version": "0.1.14",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz",
- "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==",
- "dev": true,
- "requires": {
- "kleur": "^2.0.1",
- "sisteransi": "^0.1.1"
- }
- },
"propagate": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/propagate/-/propagate-1.0.0.tgz",
- "integrity": "sha1-AMLa7t2iDofjeCs0Stuhzd1q1wk="
+ "integrity": "sha1-AMLa7t2iDofjeCs0Stuhzd1q1wk=",
+ "dev": true
},
"proxy-addr": {
"version": "2.0.4",
@@ -7255,12 +7084,6 @@
}
}
},
- "requireindex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz",
- "integrity": "sha1-5UBLgVV+91225JxacgBIk/4D4WI=",
- "dev": true
- },
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -7325,6 +7148,7 @@
"version": "2.4.5",
"resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
"integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=",
+ "optional": true,
"requires": {
"glob": "^6.0.1"
}
@@ -7849,12 +7673,6 @@
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
- "sisteransi": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-0.1.1.tgz",
- "integrity": "sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==",
- "dev": true
- },
"slash": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
@@ -8031,18 +7849,19 @@
}
},
"source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "version": "0.5.9",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz",
+ "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==",
"dev": true,
"requires": {
- "source-map": "^0.5.6"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
},
"dependencies": {
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
@@ -8131,9 +7950,9 @@
"integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA="
},
"stack-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz",
- "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
+ "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
"dev": true
},
"standard": {
@@ -8294,17 +8113,6 @@
"mime": "^1.4.1",
"qs": "^6.5.1",
"readable-stream": "^2.3.5"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
}
},
"supports-color": {
@@ -8522,54 +8330,6 @@
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
- "ts-jest": {
- "version": "23.10.4",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-23.10.4.tgz",
- "integrity": "sha512-oV/wBwGUS7olSk/9yWMiSIJWbz5xO4zhftnY3gwv6s4SMg6WHF1m8XZNBvQOKQRiTAexZ9754Z13dxBq3Zgssw==",
- "dev": true,
- "requires": {
- "bs-logger": "0.x",
- "buffer-from": "1.x",
- "fast-json-stable-stringify": "2.x",
- "json5": "2.x",
- "make-error": "1.x",
- "mkdirp": "0.x",
- "semver": "^5.5",
- "yargs-parser": "10.x"
- },
- "dependencies": {
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
- "dev": true
- },
- "json5": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
- "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- },
- "yargs-parser": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
- "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
- "dev": true,
- "requires": {
- "camelcase": "^4.1.0"
- }
- }
- }
- },
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
@@ -8597,7 +8357,8 @@
"type-detect": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g=="
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true
},
"type-is": {
"version": "1.6.16",
@@ -8614,30 +8375,6 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
- "typescript": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
- "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==",
- "dev": true
- },
- "typescript-eslint-parser": {
- "version": "18.0.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-18.0.0.tgz",
- "integrity": "sha512-Pn/A/Cw9ysiXSX5U1xjBmPQlxtWGV2o7jDNiH/u7KgBO2yC/y37wNFl2ogSrGZBQFuglLzGq0Xl0Bt31Jv44oA==",
- "dev": true,
- "requires": {
- "lodash.unescape": "4.0.1",
- "semver": "5.5.0"
- },
- "dependencies": {
- "semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
- "dev": true
- }
- }
- },
"uglify-js": {
"version": "2.8.29",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
@@ -9194,9 +8931,9 @@
}
},
"yargs-parser": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
- "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz",
+ "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==",
"dev": true,
"requires": {
"camelcase": "^4.1.0"
diff --git a/package.json b/package.json
index a2f4c58..0ceb77e 100644
--- a/package.json
+++ b/package.json
@@ -2,51 +2,46 @@
"name": "echarts-robot",
"version": "1.0.0",
"description": "ECharts Robot",
- "author": "Ovilia <me...@zhangwenli.com>",
- "license": "ISC",
- "repository": "https://github.com//echarts-robot.git",
- "homepage": "https://github.com//echarts-robot",
- "bugs": "https://github.com//echarts-robot/issues",
+ "author": "Ovilia <me...@zhangwenli.com> (https://github.com/settings/apps/echarts-robot-dev)",
+ "license": "Apache 2.0",
+ "repository": "https://github.com/Ovilia/echarts-robot",
+ "homepage": "https://github.com/Ovilia/echarts-robot",
+ "bugs": "https://github.com/Ovilia/echarts-robot/issues",
"keywords": [
"probot",
"github",
"probot-app"
],
"scripts": {
- "build": "tsc -p tsconfig.json",
- "dev": "nodemon --exec \"npm start\"",
- "start": "probot run ./lib/index.js",
- "lint": "standard **/*.ts --fix",
- "test": "jest && standard **/*.ts",
+ "dev": "nodemon",
+ "start": "probot run ./index.js",
+ "lint": "standard --fix",
+ "test": "jest && standard",
"test:watch": "jest --watch --notify --notifyMode=change --coverage"
},
"dependencies": {
- "nock": "^10.0.0",
- "@types/nock": "^9.3.0",
"probot": "^7.2.0"
},
"devDependencies": {
- "@types/jest": "^23.1.5",
- "@types/node": "^10.5.2",
- "eslint-plugin-typescript": "^0.12.0",
- "jest": "^23.4.0",
+ "jest": "^22.4.3",
+ "nock": "^10.0.0",
"nodemon": "^1.17.2",
"smee-client": "^1.0.2",
- "standard": "^10.0.3",
- "ts-jest": "^23.0.0",
- "typescript": "^2.9.2",
- "typescript-eslint-parser": "^18.0.0"
+ "standard": "^10.0.3"
},
"engines": {
"node": ">= 8.3.0"
},
"standard": {
- "parser": "typescript-eslint-parser",
"env": [
"jest"
- ],
- "plugins": [
- "typescript"
+ ]
+ },
+ "nodemonConfig": {
+ "exec": "npm start",
+ "watch": [
+ ".env",
+ "."
]
},
"jest": {
diff --git a/src/index.ts b/src/index.ts
deleted file mode 100644
index b0c5368..0000000
--- a/src/index.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Application } from 'probot' // eslint-disable-line no-unused-vars
-
-export = (app: Application) => {
- app.on('issues.opened', async context => {
- const issueComment = context.issue({
- body: 'Thanks for opening this issue!'
- });
- await context.github.issues.createComment(issueComment)
- });
- // For more information on building apps:
- // https://probot.github.io/docs/
-
- // To get your app running against GitHub, see:
- // https://probot.github.io/docs/development/
-}
diff --git a/src/issue.js b/src/issue.js
new file mode 100644
index 0000000..a8be8f8
--- /dev/null
+++ b/src/issue.js
@@ -0,0 +1,157 @@
+class Issue {
+ constructor(context) {
+ this.context = context;
+ this.issue = context.payload.issue;
+ this.body = this.issue.body;
+
+ if (this.isUsingTemplate()) {
+ this.init();
+ }
+ else {
+ this.response = `💔 Oops... Please follow the issue template to ask questions.
+ I'm going to close this issue, and please create a new issue and DO NOT DELETE ISSUE TEMPLATE.`;
+ }
+ }
+
+ init() {
+ this.isInEnglish = this._matches('I am using English in this issue');
+
+ this.issueType = 'others';
+ if (this._matches('I have a question to ask about')) {
+ this.issueType = 'support';
+ }
+ else if (this._matches('I have a bug to report')) {
+ this.issueType = 'bug';
+ }
+ else if (this._matches('I have a feature to request')) {
+ this.issueType = 'new-feature';
+ }
+ else if (this._matches('I have a feature to enhance')) {
+ this.issueType = 'enhancement';
+ }
+ else if (this._matches('There\'s something wrong with the documents')) {
+ this.issueType = 'doc';
+ }
+
+ this.requiredReadDoc = this._matches('I have read the document');
+ this.requiredSearch = this._matches('I have searched for similar issues');
+ this.requiredLatest = this._matches('I have tried with the latest version');
+ this.requiredIssueType = this._matches('issue type');
+ this.requiredDesc = this._matches('one sentence description in issue details');
+ this.requiredDemo = this._matches('demo if this is bug report')
+ || this.issueType !== 'bug' && this.issueType !== 'support';
+ this.requiredVersion = this._matches('ECharts version');
+
+ this._computeResponse();
+ this._computeTags();
+ }
+
+ isUsingTemplate() {
+ return this.body.indexOf('I have read the document') > -1;
+ }
+
+ isMeetAllRequires() {
+ return this.requiredReadDoc && this.requiredSearch && this.requiredLatest
+ && this.requiredIssueType && this.requiredDesc
+ && this.requiredDemo && this.requiredVersion;
+ }
+
+ _computeResponse() {
+ let response = '';
+
+ if (this.isMeetAllRequires()) {
+ switch(this.context.payload.action) {
+ case 'opened':
+ response = 'Hi! We\'ve received your issue and the expected respond time is within one day for weekdays. Have a nice day! 🍵';
+ break;
+ case 'edited':
+ response = 'Thanks for editing. Please wait for the community to reply. 🍻'
+ }
+ }
+ else {
+ response += 'Thanks for editing, but something doesn\'t seem to be right:\n❗️ **[Error]** Please ';
+
+ if (!this.requiredReadDoc) {
+ response += 'read the [doc](https://echarts.apache.org/option.html) and [examples](https://ecomfe.github.io/echarts-examples/public/index.html)';
+ }
+ else if (!this.requiredSearch) {
+ response += '**search issue list**';
+ }
+ else if (!this.requiredLatest) {
+ response += 'try with the **lastest version** of ECharts';
+ }
+ else if (!this.requiredIssueType) {
+ response += 'provide with **issue type**';
+ }
+ else if (!this.requiredDesc) {
+ response += 'provide with **issue description**';
+ }
+ else if (!this.requiredDemo) {
+ response += 'provide with a **demo** (place N/A for demo if your problem does not need one and check the tick of demo)';
+ }
+ else if (!this.requiredVersion) {
+ response += 'provide with ECharts **version**';
+ }
+
+ response += ' first, and make sure everything is checked in the `REQUIRED FIELDS`.\nYou may edit this issue and I will check it again. 😃';
+ }
+
+ this.response = response;
+ }
+
+ _computeTags() {
+ this.tags = [];
+
+ if (this.isMeetAllRequires()) {
+ this.tags.push('waiting-for-help');
+ }
+ else {
+ this.tags.push('waiting-for-author');
+ }
+
+ if (this.isInEnglish) {
+ this.tags.push('en');
+ }
+
+ if (this.issueType !== 'others') {
+ this.tags.push(this.issueType);
+ }
+
+ const topics = this._getTopics();
+ for (let i = 0; i < topics.length; ++i) {
+ this.tags.push(topics[i]);
+ }
+ }
+
+ _getTopics() {
+ if (this.topics) {
+ return this.topics;
+ }
+ else {
+ this.topics = [];
+ }
+
+ const labels = {
+ 'Legend': 'legend',
+ 'Tooltip': 'tooltip',
+ 'Event': 'event',
+ 'Performance': 'performance',
+ 'SVG': 'SVG',
+ 'Map': 'map',
+ 'ECharts GL': 'gl',
+ 'Third-party': 'third-party'
+ };
+ for (let label in labels) {
+ if (this._matches(label)) {
+ this.topics.push(labels[label]);
+ }
+ }
+ return this.topics;
+ }
+
+ _matches(text) {
+ return this.body.indexOf('- [x] ' + text) > -1;
+ }
+}
+
+module.exports = Issue;
diff --git a/test/fixtures/issues.opened.mine.json b/test/fixtures/issues.opened.mine.json
new file mode 100644
index 0000000..976f2b6
--- /dev/null
+++ b/test/fixtures/issues.opened.mine.json
@@ -0,0 +1,237 @@
+{
+ "name":"issues",
+ "id":"836c5da0-e8b2-11e8-8d07-6968c406240b",
+ "payload":{
+ "action":"opened",
+ "issue":{
+ "url":"https://api.github.com/repos/Ovilia/echarts-robot-test/issues/10",
+ "repository_url":"https://api.github.com/repos/Ovilia/echarts-robot-test",
+ "labels_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/issues/10/labels{/name}",
+ "comments_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/issues/10/comments",
+ "events_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/issues/10/events",
+ "html_url":"https://github.com/Ovilia/echarts-robot-test/issues/10",
+ "id":381055099,
+ "node_id":"MDU6SXNzdWUzODEwNTUwOTk=",
+ "number":10,
+ "title":"10",
+ "user":{
+ "login":"Ovilia",
+ "id":779050,
+ "node_id":"MDQ6VXNlcjc3OTA1MA==",
+ "avatar_url":"https://avatars3.githubusercontent.com/u/779050?v=4",
+ "gravatar_id":"",
+ "url":"https://api.github.com/users/Ovilia",
+ "html_url":"https://github.com/Ovilia",
+ "followers_url":"https://api.github.com/users/Ovilia/followers",
+ "following_url":"https://api.github.com/users/Ovilia/following{/other_user}",
+ "gists_url":"https://api.github.com/users/Ovilia/gists{/gist_id}",
+ "starred_url":"https://api.github.com/users/Ovilia/starred{/owner}{/repo}",
+ "subscriptions_url":"https://api.github.com/users/Ovilia/subscriptions",
+ "organizations_url":"https://api.github.com/users/Ovilia/orgs",
+ "repos_url":"https://api.github.com/users/Ovilia/repos",
+ "events_url":"https://api.github.com/users/Ovilia/events{/privacy}",
+ "received_events_url":"https://api.github.com/users/Ovilia/received_events",
+ "type":"User",
+ "site_admin":false
+ },
+ "labels":[
+
+ ],
+ "state":"open",
+ "locked":false,
+ "assignee":null,
+ "assignees":[
+
+ ],
+ "milestone":null,
+ "comments":0,
+ "created_at":"2018-11-15T08:43:23Z",
+ "updated_at":"2018-11-15T08:43:23Z",
+ "closed_at":null,
+ "author_association":"OWNER",
+ "body":"<!--\r\nThanks for choosing ECharts!\r\n感谢使用 ECharts!\r\n\r\nIt's highly recommended to use English in issues, to help others having the same problem in the future.\r\n加入 Apache 开源基金会后,我们有了更多国外的用户。为了方便社区用户,强烈建议在 issue 中使用英文。\r\n\r\nPlease check the following questions to let our bot help.\r\n-->\r\n\r\n<!-- To check the option, add x in [], e.g.: [x] I am using English in this issue. -->\r\n\r\n- [ ] I am using English in this issue.\r\n\r\n\r\n## General Questions\r\n\r [...]
+ },
+ "repository":{
+ "id":157645139,
+ "node_id":"MDEwOlJlcG9zaXRvcnkxNTc2NDUxMzk=",
+ "name":"echarts-robot-test",
+ "full_name":"Ovilia/echarts-robot-test",
+ "private":true,
+ "owner":{
+ "login":"Ovilia",
+ "id":779050,
+ "node_id":"MDQ6VXNlcjc3OTA1MA==",
+ "avatar_url":"https://avatars3.githubusercontent.com/u/779050?v=4",
+ "gravatar_id":"",
+ "url":"https://api.github.com/users/Ovilia",
+ "html_url":"https://github.com/Ovilia",
+ "followers_url":"https://api.github.com/users/Ovilia/followers",
+ "following_url":"https://api.github.com/users/Ovilia/following{/other_user}",
+ "gists_url":"https://api.github.com/users/Ovilia/gists{/gist_id}",
+ "starred_url":"https://api.github.com/users/Ovilia/starred{/owner}{/repo}",
+ "subscriptions_url":"https://api.github.com/users/Ovilia/subscriptions",
+ "organizations_url":"https://api.github.com/users/Ovilia/orgs",
+ "repos_url":"https://api.github.com/users/Ovilia/repos",
+ "events_url":"https://api.github.com/users/Ovilia/events{/privacy}",
+ "received_events_url":"https://api.github.com/users/Ovilia/received_events",
+ "type":"User",
+ "site_admin":false
+ },
+ "html_url":"https://github.com/Ovilia/echarts-robot-test",
+ "description":null,
+ "fork":false,
+ "url":"https://api.github.com/repos/Ovilia/echarts-robot-test",
+ "forks_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/forks",
+ "keys_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/keys{/key_id}",
+ "collaborators_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/collaborators{/collaborator}",
+ "teams_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/teams",
+ "hooks_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/hooks",
+ "issue_events_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/issues/events{/number}",
+ "events_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/events",
+ "assignees_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/assignees{/user}",
+ "branches_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/branches{/branch}",
+ "tags_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/tags",
+ "blobs_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/git/blobs{/sha}",
+ "git_tags_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/git/tags{/sha}",
+ "git_refs_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/git/refs{/sha}",
+ "trees_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/git/trees{/sha}",
+ "statuses_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/statuses/{sha}",
+ "languages_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/languages",
+ "stargazers_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/stargazers",
+ "contributors_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/contributors",
+ "subscribers_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/subscribers",
+ "subscription_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/subscription",
+ "commits_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/commits{/sha}",
+ "git_commits_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/git/commits{/sha}",
+ "comments_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/comments{/number}",
+ "issue_comment_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/issues/comments{/number}",
+ "contents_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/contents/{+path}",
+ "compare_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/compare/{base}...{head}",
+ "merges_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/merges",
+ "archive_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/{archive_format}{/ref}",
+ "downloads_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/downloads",
+ "issues_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/issues{/number}",
+ "pulls_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/pulls{/number}",
+ "milestones_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/milestones{/number}",
+ "notifications_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/notifications{?since,all,participating}",
+ "labels_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/labels{/name}",
+ "releases_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/releases{/id}",
+ "deployments_url":"https://api.github.com/repos/Ovilia/echarts-robot-test/deployments",
+ "created_at":"2018-11-15T03:13:05Z",
+ "updated_at":"2018-11-15T07:57:58Z",
+ "pushed_at":"2018-11-15T07:57:57Z",
+ "git_url":"git://github.com/Ovilia/echarts-robot-test.git",
+ "ssh_url":"git@github.com:Ovilia/echarts-robot-test.git",
+ "clone_url":"https://github.com/Ovilia/echarts-robot-test.git",
+ "svn_url":"https://github.com/Ovilia/echarts-robot-test",
+ "homepage":null,
+ "size":0,
+ "stargazers_count":0,
+ "watchers_count":0,
+ "language":null,
+ "has_issues":true,
+ "has_projects":true,
+ "has_downloads":true,
+ "has_wiki":true,
+ "has_pages":false,
+ "forks_count":0,
+ "mirror_url":null,
+ "archived":false,
+ "open_issues_count":10,
+ "license":null,
+ "forks":0,
+ "open_issues":10,
+ "watchers":0,
+ "default_branch":"master"
+ },
+ "sender":{
+ "login":"Ovilia",
+ "id":779050,
+ "node_id":"MDQ6VXNlcjc3OTA1MA==",
+ "avatar_url":"https://avatars3.githubusercontent.com/u/779050?v=4",
+ "gravatar_id":"",
+ "url":"https://api.github.com/users/Ovilia",
+ "html_url":"https://github.com/Ovilia",
+ "followers_url":"https://api.github.com/users/Ovilia/followers",
+ "following_url":"https://api.github.com/users/Ovilia/following{/other_user}",
+ "gists_url":"https://api.github.com/users/Ovilia/gists{/gist_id}",
+ "starred_url":"https://api.github.com/users/Ovilia/starred{/owner}{/repo}",
+ "subscriptions_url":"https://api.github.com/users/Ovilia/subscriptions",
+ "organizations_url":"https://api.github.com/users/Ovilia/orgs",
+ "repos_url":"https://api.github.com/users/Ovilia/repos",
+ "events_url":"https://api.github.com/users/Ovilia/events{/privacy}",
+ "received_events_url":"https://api.github.com/users/Ovilia/received_events",
+ "type":"User",
+ "site_admin":false
+ },
+ "installation":{
+ "id":455221,
+ "node_id":"MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uNDU1MjIx"
+ }
+ },
+ "github":{
+ "activity":{
+
+ },
+ "apps":{
+
+ },
+ "authorization":{
+
+ },
+ "checks":{
+
+ },
+ "emojis":{
+
+ },
+ "enterprise":{
+
+ },
+ "gists":{
+
+ },
+ "gitdata":{
+
+ },
+ "integrations":{
+
+ },
+ "issues":{
+
+ },
+ "meta":{
+
+ },
+ "migrations":{
+
+ },
+ "misc":{
+
+ },
+ "orgs":{
+
+ },
+ "projects":{
+
+ },
+ "pullRequests":{
+
+ },
+ "reactions":{
+
+ },
+ "repos":{
+
+ },
+ "search":{
+
+ },
+ "teams":{
+
+ },
+ "users":{
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/index.test.js b/test/index.test.js
new file mode 100644
index 0000000..027d624
--- /dev/null
+++ b/test/index.test.js
@@ -0,0 +1,46 @@
+const nock = require('nock')
+// Requiring our app implementation
+const myProbotApp = require('..')
+const { Probot } = require('probot')
+// Requiring our fixtures
+const payload = require('./fixtures/issues.opened')
+const issueCreatedBody = { body: 'Thanks for opening this issue!' }
+
+nock.disableNetConnect()
+
+describe('My Probot app', () => {
+ let probot
+
+ beforeEach(() => {
+ probot = new Probot({})
+ // Load our app into probot
+ const app = probot.load(myProbotApp)
+
+ // just return a test token
+ app.app = () => 'test'
+ })
+
+ test('creates a comment when an issue is opened', async () => {
+ // Test that we correctly return a test token
+ nock('https://api.github.com')
+ .post('/app/installations/2/access_tokens')
+ .reply(200, { token: 'test' })
+
+ // Test that a comment is posted
+ nock('https://api.github.com')
+ .post('/repos/hiimbex/testing-things/issues/1/comments', (body) => {
+ expect(body).toMatchObject(issueCreatedBody)
+ return true
+ })
+ .reply(200)
+
+ // Receive a webhook event
+ await probot.receive({ name: 'issues', payload })
+ })
+})
+
+// For more information about testing with Jest see:
+// https://facebook.github.io/jest/
+
+// For more information about testing with Nock see:
+// https://github.com/nock/nock
diff --git a/test/index.test.ts b/test/index.test.ts
deleted file mode 100644
index 247f39a..0000000
--- a/test/index.test.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-// You can import your modules
-// import index from '../src/index'
-
-import nock from 'nock'
-// Requiring our app implementation
-import myProbotApp from '../src'
-import { Probot } from 'probot'
-// Requiring our fixtures
-import payload from './fixtures/issues.opened.json'
-const issueCreatedBody = { body: 'Thanks for opening this issue!' }
-
-nock.disableNetConnect()
-
-describe('My Probot app', () => {
- let probot: any
-
- beforeEach(() => {
- probot = new Probot({ id: 123, cert: 'test' })
- // Load our app into probot
- const app = probot.load(myProbotApp)
-
- // just return a test token
- app.app = () => 'test'
- })
-
- test('creates a comment when an issue is opened', async () => {
- // Test that we correctly return a test token
- nock('https://api.github.com')
- .post('/app/installations/2/access_tokens')
- .reply(200, { token: 'test' })
-
- // Test that a comment is posted
- nock('https://api.github.com')
- .post('/repos/hiimbex/testing-things/issues/1/comments', (body: any) => {
- expect(body).toMatchObject(issueCreatedBody)
- return true
- })
- .reply(200)
-
- // Receive a webhook event
- await probot.receive({ name: 'issues', payload })
- })
-})
-
-// For more information about testing with Jest see:
-// https://facebook.github.io/jest/
-
-// For more information about using TypeScript in your tests, Jest recommends:
-// https://github.com/kulshekhar/ts-jest
-
-// For more information about testing with Nock see:
-// https://github.com/nock/nock
diff --git a/travis.yml b/travis.yml
new file mode 100644
index 0000000..71156fd
--- /dev/null
+++ b/travis.yml
@@ -0,0 +1,6 @@
+sudo: false
+language: node_js
+node_js:
+ - "8.3"
+notifications:
+ disabled: true
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index 56369ea..0000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "compilerOptions": {
- "allowJs": false,
- "lib": ["es2015", "es2017"],
- "module": "commonjs",
- "moduleResolution": "node",
- "target": "es5",
- "noImplicitReturns": true,
- "noFallthroughCasesInSwitch": true,
- "noUnusedLocals": false,
- "pretty": true,
- "strict": true,
- "sourceMap": true,
- "outDir": "./lib",
- "skipLibCheck": true,
- "noImplicitAny": true,
- "esModuleInterop": true,
- "declaration": true,
- "resolveJsonModule": true
- },
- "include": [
- "src/**/*"
- ],
- "compileOnSave": false
-}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org